I don’t know anything about conversational systems
For a long time I have been wondering how a conversational agent might work, and I wasn’t been able to figure it out.
The first thing I tried to do was figure out what a knowledge graph means, and I found out that the definition for it is not very clear. In particular, I could not understand the difference between knowledge base and knowledge graph. That’s why I decided to document my thoughts in this blog post, it will be a work in progress and I will keep updating them as required.
image from : https://secure.meetupstatic.com/
Google Knowledge Graph
The term knowledge graph is often used in relation to search engines such as google, perhaps the most influential factor in knowledge graph research was google knowledge graph. The article about knowledge graph published by google in 2012 defines knowledge graph as follows.
we’ve been working on an intelligent model — in geek-speak, a “graph” — that understands real-world entities and their relationships to one another: things, not strings.
The Knowledge Graph enables you to search for things, people or places that Google knows about — landmarks, celebrities, cities, sports teams, buildings, geographical features, movies, celestial objects, works of art and more — and instantly get information that’s relevant to your query. This is a critical first step towards building the next generation of search, which taps into the collective intelligence of the web and understands the world a bit more like people do.
This article doesn’t really mention the operation of google knowledge graph or its details. However, we know that the graph is supposed to take advantage of large public resources such as wikipedia and (possibly) our search history, which is a complex graph structure with 70 billions edges (ref: FY2016).
Definition of knowledge graph
Simply put, a knowledge Graph is a brain like structured database that stores facts ‘entities’ in a flexible and interactive way. An entity is an object or chunk of data that can move data into and out of a database. The knowledge graph contains facts (entities) about all things, such as people, work, and places and allows us to recognise and understand the relationships and attributes of each piece of information.
The advantage of using a graph is that when new data items (‘entities’) are added to the data pool, we can easily add them and follow the links to see the relationship between the domains. Another advantage is that graphs are one of the most flexible formal data structures, so external data can be relatively easily integrated using common tools and pipelines.
However, the knowledge graph is not just for search engines and can be useful to other companies as well.
Why is the knowledge graph important to companies?
Due to advancement of AI, search engines have become ‘smarter’, and the information derived from the ever-expanding knowledge graph has made it possible to answer user questions more specifically than ever before. These advancements have also changed consumer expectations, and the way people search for what they want. Nowadays people don’t just search by keywords alone but by using natural language phrases. In fact, conversion rates for natural language phrases are 2.5 times higher than for keywords alone (Ref: https://www.conductor.com/blog/2011/12/study-the-long-tail-of-search-why-the-fastest-path-to-more-traffic-might-not-be-where-you-are-looking/). As a results, companies are required to be able to respond to these change in customer search habits.
Let me give an example, if a family member is thinking about traveling to London and does a specific search for ‘popular hotels for families in London’. Answering this question is difficult because you need information about the entire organisation, such as rating (popular), main category (hotel), hotel location (London), and type (family friendly). Unless all of this specific information is stored in the knowledge graph as relevant facts (entities), you cannot answer these complex questions. In order to provide information ‘in a way’ to search engines, store all the company’s information in an interconnected manner, which means there is a need to build your own in-house knowledge graph.