In May of 2019 I wrote a blog post on Knowledge Graphs vs Knowledge Maps. Since then, I have been working on a couple of initiatives which uses knowledge graph technology. This blog post provides more on Knowledge Graphs and how I am currently utilizing this technology.
Let’s begin by describing the concepts that lead to building a knowledge graph. These consist of a Knowledge Model, and an Ontology.
A knowledge model is a set of knowledge of various types, facts, concepts, procedures, principles, skills, structured by the type of links representing the relationship among them. An ontology represents knowledge in a similar way and is considered a type of knowledge model. Knowledge modeling has emerged as one of the major achievements from the field of artificial intelligence.
Ontologies are explicit formal specifications of the terms in the domain and relations among them. An ontology defines a common vocabulary for researchers who need to share information in a domain. It includes machine-interpretable definitions of basic concepts in the domain and the relationships between/among them. Ontologies serve as the basis for Knowledge Graphs and the foundation of gathering insights from data in which knowledge graphs provide. Essentially Knowledge Graphs can be extracted from ontologies.
Ontologies provides four (4) major uses:
- A shared common understanding of the structure of information among people
- An enabler to reuse domain knowledge and make domain assumptions explicit
- A way to analyze domain knowledge (especially through the use of knowledge graphs)
- A way to institute semantic search through ontological structures
Ontologies provides the declarative specification of the terms, which serves as the mechanism to analyze domain knowledge. The formal analysis of terms is extremely valuable when reusing existing ontologies and extending them.
A Knowledge Graph (K-Graph) as it turns out is described in many ways. It has its roots as imbedded intelligence within a Google Search. This intelligence exposes the “thing” you searched for and their relationship between other similar or related “things”. A more general description of a Knowledge Graph comes from “Towards a Definition of Knowledge Graphs” (http://ceur-ws.org/Vol-1695/paper4.pdf), which states “A knowledge graph acquires and integrates information into an ontology and applies a reasoner to derive new knowledge”.
Constructing the Knowledge Graph
A K-Graph is essentially a data structure that allows you to contextualize entities and organize those correlations between entities or multiple type of entities. A sample process of constructing a knowledge graph consists of Collecting and analyzing your data, Data Extraction & Integration, Data Linking & Enrichment, Storage, Querying & Inferencing, Search and Visualization. An excellent tutorial on K-Graphs can be found at Metaphacts: Getting Started with Knowledge Graphs (http://knowledgegraph.info/).
Knowledge Graph Applications: Some of the applications of a Knowledge Graphs include: semantic search, automated fraud detection, intelligent chatbots, advanced drug discovery, dynamic risk analysis, content-based recommendation engines and knowledge management systems.
While Knowledge Graphs are focused on graphically representing relationships between entities; a Knowledge Graph is focused on data (structured, semi-structured and unstructured). Knowledge Graphs are essential to improving search and adding intelligence to applications and systems (i.e., chatbots, content-based systems and KM Systems).