Knowledge Graph Distilled

Kasun Sanjeewa Perera
5 min readFeb 2, 2021

Many of us have used google to search something in our day to day life and find the search results that we get from google mostly match what we want. There is a funny saying, “the best place to hide a dead body is the second page of google search” because no one goes there. Implying that the first page of the search results is very relevant to our query. How does Google know what you are searching for? Furthermore when you search for something like “Keanu Reeves” how many of you have seen the summary panel (knowledge panel) appear on the right.

If you ever wonder how google is so great and finding you the right information and how does google present more information than you look for, it is because of Google’s own knowledge graph which comprises of billions of information points (nodes and edges). I will later explain what a knowledge graph comprises of. But before that let’s go back in history and see how knowledge graph evolved over time.

History of Knowledge Graph

The phrase “Knowledge Graph” was coined by Google in May 2012, when they introduced a knowledge panel as part of the search results. But the early version of the knowledge graph dates back to the 2000s when Prof Amit Sheth (with Taalee Inc) introduced World Model in their patent. This version of knowledge base is designed for commercial use and contains hundreds of millions of instances covering over 25 domains. Since then with the development of semantic web (also known as Web 2.0) similar type of knowledge bases evolved and today Google’s knowledge graph consists of 500 billion facts on 5 billion entities.

Knowledge graph is getting popular with multiple applications and now appears on Gartner’s hype cycle with 5–10 years as expected time to reach a plateau of productivity. This means that, in the next 5–10 years we can expect more companies to be building enterprise knowledge graphs and it will be a widely accepted technology when considering automation and service delivery.

Building blocks of knowledge graph

As with the other graphs, a knowledge graph also consists of nodes and edges. A node is a representation of a thing (known as entities) in our world, it can be a person, company, fruit, a movie etc. An edge connects two such entities with the relationship between them. An example of a relationship is, a person acts in a movie. This is how we see the world and mapping this world with such concepts is called an Ontology. We as humans are really good at building this mapping in our head through our interactions with the world. But for computers we have to provide this mapping. Since it is extremely hard to map everything that we see in the world, actual use cases are limited hence we have Financial Services Ontology, Health and Medicine Ontology etc.

<Person> →[:Acted in] → <Movie> is a mapping and can be part of a larger ontology. The actual knowledge graph build on this ontology can have thousands of real world instances of the mapping. Such examples are;

  1. <Keanu Reeves> → [:Acted in] →<The Matrix>
  2. <Keanu Reeves> → [:Acted in] → <Constantine>
  3. <Leonardo Dicaprio> → [:Acted in] → <Titanic>
  4. <Carrie-Anne Moss> → [:Acted in] → <The Matrix>

The benefits of knowledge graph

The key benefit of having a knowledge graph is, it is able to find new information that is not explicitly available but can be derived with the help of ontology and existing data on the knowledge graph. Let’s take the following example.

A part of the ontology;

  1. <person> — [:parent of] — <person>, <person> — [:siblings] — <person> , <person> — [:married] — <person>
  2. condition : if two persons share the same parent, then they are siblings
Before making the inference
After making the inference

With this ontology (including conditions) the new information can be inferred that Peter and Anna are siblings even though that information does not present in the data. Imagine that we have billions of nodes and a few hundred billions of edges between them and with the help of knowledge inference algorithms we are able to derive new information/insights. This is a powerful concept to find more relevant information, make better recommendations, build better engaging chat bots or even virtual assistants like Alexa, Siri etc.

Below is another example of new knowledge discovery with the help of knowledge graphs, where the computer system is able to automatically find suspicious business activities even if direct information is not available. The system is able to derive insights from the connections and conditions.

Discovery of suspicious business activity

If you are using Siri or Alexa, if you are using Netflix, if you are using alibaba/taobao/lazada then you are already using knowledge graphs.

--

--

Kasun Sanjeewa Perera

Scientist to Entrepreneur, 10 years in Academics in Asia, Middle East and Europe