Aug 16, 2016

Semantic Graphs: What They Are and Why You Should Care

According to Wikipedia, a semantic graph is "a network that represents semantic relationships between concepts...It is a directed or undirected graph consisting of vertices, which represent concepts, and edges, which represent semantic relations between concepts."


Let's try that again.

A semantic graph is the thing that allows Google to tell me when George Washington's birthday is. It's what allows Alexa to tell me how deep Lake Michigan is.

Still not getting it? Okay... let's start over.

Have you ever wondered how an intelligent agent, like Apple's Siri, can answer your questions about the world? (Bear with me and pretend the answer is yes). Behind all of the modern intelligent agents (Siri, M, Cortana, Now, Alexa, etc.) is a massive "semantic graph" representing the world's knowledge. The agents intelligently search their respective graph to come up with the answers to your questions.

Let's visualize this for a second. Imagine I ask my Amazon Echo at home how deep Lake Michigan is.

Step #1: I randomly shout out "Alexa, how deep is Lake Michigan?"

Step #2: Alexa uses voice-to-text processing to parse the noise I made into text.

Step #3: Alexa uses Natural Language Processing (NLP) to figure out what I want.

Step #4: Alexa searches its semantic graph for the answer to my question.

Step #5: Alexa uses Natural Language Generation (NLG) to construct a textual answer.

Step #6: Alexa uses text-to-voice processing to calmly blow my mind.

Essentially, semantic graphs are (massive) databases of information that are loosely structured in the way that humans think. They are more powerful than traditional hierarchical methods of storing information because they are far more flexible and allow for much higher degrees of interconnectedness.

Fun Fact

You will often hear semantic graphs referred to as "knowledge graphs". This is akin to calling a Puffs tissue a "kleenex". Knowledge Graph is the name of Google's master semantic graph. Other companies claiming to be building knowledge graphs are really building semantic graphs.

If you read the Wikipedia article linked in the first line, you'll also note that semantic graphs are often called "semantic networks" or "semantic nets".

Alright, so now you know what a semantic graph is (or are pretending to if you don't). But why should you care about them?

Semantic graphs are the key to Artificial General Intelligence
Quick reminder: AGI is human-level AI

As I mentioned before, semantic graphs are loosely structured on the way humans think (specifically: neural networks). Imagine you're thinking about Lake Michigan. It's much easier for your brain to switch to thinking about Lake Superior than it is to think about Descartes. That's because Lake Michigan is closer on the graph to Lake Superior than it is to Descartes. Appropriately designed intelligent agents can navigate semantic graphs in a similar manner: unsure of what noun the person you're chatting with is referring to when using a pronoun? Simply refer to your current location and tracks along the semantic graph.

Wider adoption and integration of semantic graphs into conversational agents could help address some of the top problems with those agents today: conversational memory, unclear subject, inability to go "off script". The problem many conversational agent developers face is that semantic graphs are absurdly time-intensive to build from scratch and there are no good openly available ones.

That's why I love companies like Graphiq, one of my firm's portfolio companies, which has developed the world's largest semantic graph. Graphiq, and the companies like them, are progressively structuring the entirety of humanity's knowledge into intelligent agent traversable databases that are going to fuel the AI of the future.

If you find this interesting, feel free to check out some of my other AI posts: