Logo

hello@affinsys.com
+971 50 1627569

DIFC Fintech Hive, Dubai, UAE

Unispace Business Center
EPIP Zone, Whitefield, Bangalore, India

Get in Touch

BankBuddy Blogs

Ontology Creation

Ontology Creation – Where do Knowledge Graphs come in?

By Sivaramakrishnan R Guruvayur
Chief Data & ML Scientist – BankBuddy.ai
Research scholar, Jain University

Introduction

In my previous blog, I introduced you to the concept of domain specific ontologies, their relevance and context. In this blog, I continue to build the story by briefly examining ontology creation. I start first with the revisiting the definition of an ontology and introducing ontology learning before progressing to ontology development and then to knowledge graphs. Finally, I try to put all these together to see the role played by knowledge graphs in the ontology story.

As you are now aware, the concept of ontologies is critical to achieve the goal of facilitating the sharing and reuse of knowledge. An ontology has been defined as a “formal, explicit specification of a shared conceptualisation.” It has also been described as an entity that defines “the basic terms and relations comprising the vocabulary of a topic area as well as the rules for combining terms and relations to define extensions to the vocabulary.”

Ontologies can be built manually by knowledge engineers and domain experts. However, since this can result in long and cumbersome stages of development, growing into a knowledge acquisition bottleneck, ontology learning has become an important area of research. Ontology learning signifies the group of approaches and tools utilized for developing an ontology from the basics, enhancing or modifying a present ontology in a semi-automatic manner through the use of numerous sources of information and knowledge. Figure 1 depicts a classification of methods to ontology learning from various perspectives.

classification-approaches-to-ontology-learning
Figure 1: Classification of approaches to ontology learning

Ontology Development

The lifecycle of ontology development has been considered differently by different researchers. For example, it has been submitted that the ontology learning process (Figure 2) was composed of: “ontology import, extraction, pruning, refinement, and evaluation.” This framework combines machine learning with knowledge acquisition.

classification-approaches-to-ontology-learning
Figure 2: Ontology learning process

On the other hand, other researchers have placed emphasis on the methods of extraction, taking four categories into account namely, “dictionary-based, text clustering, association rules, and knowledge base.” Further researchers have described an ontology-building process based on the “named cake model.” This model regards ontology building as an overlay, that is, where every layer parallels a task that permits the obtaining of an ontology element (Figure 3). Following a bottom-up approach, the layers are organized as terms, synonyms, concepts, concept hierarchy, relations, relation hierarchy, and rules.

ontology-learning-layers
Figure 3: Ontology Learning Layers

The approaches that can perform these tasks can be classified into four groups based on lexical-syntactic patterns, information extraction, machine learning, and co-occurrence analysis. Natural Language Processing (NLP) techniques are generally utilized to recognize appropriate terms and their associations. A processing phase is required by text, where tasks such as, 1) plain text extraction, 2) text splitting into sentences, 3) stopwords elimination, 4) sentence tagging, and 5) sentence parsing are used.

Knowledge Graphs

Knowledge graphs (KGs) are graph structured knowledge bases (KBs) that “store factual information in form of relationships between entities.” Numerous knowledge graphs have been developed in the recent past each containing several million nodes and several billion edges. Examples include, YAGO, DBpedia, Nell, Freebase, and the Google Knowledge Graph.

Information is modeled in knowledge graphs in the shape of entities and the associations among them. This type of representation of relational knowledge has been long utilized in logic and artificial intelligence, for instance, in semantic networks and frames. A more recent use has been in the Semantic Web community with the objective of generating a “web of data” that is machine-readable. However, this vision has not yet been completely achieved.

There seems to be an increased emphasis in knowledge graph research since 2012 as can be seen from the several descriptions and definitions of the concept (Table 1).

Table 1: Selected knowledge graph definitions
Definition
“A knowledge graph (i) mainly describes real world entities and their interrelations, organized in a graph, (ii) defines possible classes and relations of entities in a schema, (iii) allows for potentially interrelating arbitrary entities with each other and (iv) covers various topical domains.”
“Knowledge graphs are large networks of entities, their semantic types, properties, and relationships between entities.”
“Knowledge graphs could be envisaged as a network of all kind things which are relevant to a specific domain or to an organization. They are not limited to abstract concepts and relations but can also contain instances of things like documents and datasets.”
“We define a Knowledge Graph as an RDF graph. An RDF graph consists of a set of RDF triples where each RDF triple (s, p, o) is an ordered set of the following RDF terms: a subject s ∈ U ∪ B, a predicate p ∈ U, and an object U ∪ B ∪ L. An RDF term is either a URI u ∈ U, a blank node b ∈ B, or a literal l ∈ L.”
“[…] systems exist, […], which use a variety of techniques to extract new knowledge, in the form of facts, from the web. These facts are interrelated, and hence, recently this extracted knowledge has been referred to as a knowledge graph.”

Putting two and two together: Linking Ontologies and Knowledge Graphs

Is a knowledge graph the same as an ontology? No, it is not!

There is some confusion whether knowledge graphs are synonymous with ontologies. This is primarily due to the interchangeable use of the terms knowledge graph and knowledge base. This results in the ambiguous belief that the terms knowledge graph and knowledge base are synonymous, which leads to confusion as knowledge base itself is used as a synonym for ontology. For example, the creators of both Knowledge Vault and Google’s Knowledge Graph have referred to these as large-scale knowledge bases. YAGO is a further example, which as its name indicates is an ontology, but is called a knowledge base and also a knowledge graph.

Likewise, employees of Yahoo do not clearly differentiate between knowledge graph, knowledge base, and ontology. They assert that their knowledge base is constructed by associating new entities, associations, and information with their general ontology. Thus, partial, variable, and probably incorrect information is transformed into a powerful, combined, established knowledge graph. This indicates that their awareness of a knowledge graph relates to the prepared knowledge base that is their ontology population (e.g., instances).

Then, what’s the connection between a knowledge graph and an ontology?

It has been submitted that a system that is knowledge-based utilizes artificial intelligence (AI) to resolve problems and is composed of two components: an inference engine and a knowledge base. In contrast, as stated before, an ontology is a “formal, explicit specification of a shared conceptualization” that is typified by high semantic expressiveness necessitated for enhanced complexity.

Ontological representations permit knowledge to be semantically modeled, and thus are typically utilized as knowledge bases in AI applications. Usage of an ontology as knowledge base assists validation of semantic associations and drawing of inferences from known facts. It has been emphasized explicitly that an ontology is not different from a knowledge base. Ontologies can comprise not only classes and properties but also instances.

In the case of knowledge graphs, size has been frequently mentioned as a critical feature. Consequently, a knowledge graph could be pronounced to be an extremely large ontology. Also, knowledge graphs are stated to be superior to ontologies as they offer extra features. Therefore, the dissimilarity between a knowledge graph and an ontology could be understood either as a question of quantity or of extensive needs. The second understanding results in the belief that a “knowledge graph is a knowledge-based system that contains a knowledge base and a reasoning engine.” Placing emphasis on present automatically created “knowledge graphs,” additional crucial features can be identified: “collection, extraction, and integration of information from external sources extends a pure knowledge-based system with the concept of integration systems.”

Figure 4 depicts the merging of these assumptions, which results in an abstract architecture for a knowledge graph. A knowledge graph can thus be defined as follows:

A knowledge graph acquires and integrates information into an ontology and applies a reasoner to derive new knowledge.

knowledge-graph-architecture
Figure 4: Knowledge Graph Architecture

This definition corresponds to the assumption regarding the superiority and complexity of a knowledge graph in contrast to a knowledge base (e.g., ontology) as it uses a reasoning engine to create new knowledge and assimilates single or multiple sources of information.

Summing it up..

In this blog, I continue to build the story on domain ontologies by briefly examining ontology creation. I started with the revisiting the definition of an ontology and introducing ontology learning before progressing to ontology development and then to knowledge graphs. Finally, I tried to put all these together to see the role played by knowledge graphs in the ontology story. Overall, it could be seen that knowledge graphs incorporate ontologies in their architecture and use them to assimilate information which can then be used for other purposes.
Until next time then…
To foster superior and automated customer interactions, get in touch with us at https://bankbuddy.ai/