Ontology, knowledge graphs and NLU: three pillars of one and the same system

Walid Saba, PhD
ONTOLOGIK
Published in
4 min readApr 10, 2021

Of course, every thing “isa” thing

The image above might, at first read, sound silly. You might be saying: of course “everything is a thing” — so what? All I’m saying is that “every x is an x” which is vacuously true, because it is an empty statement with no information content to speak of.

Well, maybe — so far. But the statements in the image above do say, ontologically, something that is not trivial. If relations (friendship), events (war), properties (darkness), activities (dancing), states (death), etc. are objects like like birds and dogs, then, like any other object, relations can in turn participate in relations, states can have properties (death is inevitable), events can in turn be part of other events, and even properties can in turn have properties (fame is desirable), etc. We’ll see shortly how all of this is related to knowledge graphs, ontology, and NLU and how the three are part of one project. First, consider the following:

(1) Olga is an elegant dancer. She has been doing that for 10 years.

What does ‘that’ in (1) refer to? Clearly, it is referring to Olga’s dancing (activity) — that Olga has been engaged in for several years. But the first part of (1) does not explicitly refer to any dancing activity. How could we refer to an object that does not exist? The answer is that (1) does refer, implicitly, to a dancing activity, since — ontologically speaking, there is no object of type dancer, there are only humans that we label by ‘dancer’ if they are often the agents of some activity we call dancing. So what actually exists is some activity we call ‘dancing’ and ‘dancer’ is just a label for the agent of that activity. Thus, the correct meaning representation of (1) is something like this (for simplicity we are ignoring modal and temporal aspects):

All we have are entities (green rectangles) and primitive relations. Activities, properties, etc. are also entities.

Thus every fact/piece of knowledge is a small knowledge graph between entities that are glued together by a set of primitive and universal relations. We say primitive and universal because every 4-year old, in every culture and from any background, has an understanding of these (cognitive) primitives regardless of their mother tongue: every child from any background understands the notion of an object having some property, and every child from any background understands the notion of an object being the agent of some activity, etc. These types are also in subsumption hierarchy. As another example, consider the following:

John is the agent of some knowing activity, and the object of his knowing is a proposition, namely that Sofia is the agent of some wanting activity where the object of her wanting the property fame. One way to re-state this small knowledge graph in natural language is: John knows that Sofia wants to be famous.

Again, all concepts (abstract or tangible) are entities and the only primitives connecting them (“glueing them”) together are what we call universal primitives that are available to any child regardless of their first language.

How is all of that Related to Knowledge Graphs?

Consider the knowledge KG1 and the piece of text Txt1 below that are supposed to represent the same information.

While the sub-knowledge graph KG1 does represent the information contained in the text Txt1, there are several problems in this knowledge graph representation. The most critical issue with KG1 are the relations and entities. For example, the same piece of information Txt1 can be represented using a different knowledge graph, and, worse yet, using different relations. For example, someone might chose “EstablishedIn” instead of “FormedIn” or “PlaceOfBirth” instead of “BornIn”, etc. This is a big problem in knowledge graph alignment, and current approaches rely on word embeddings to determine if the relations, entities, and/or types are similar or not. This does not scale.

Everything is a Thing, Again

The correct representation of Txt1 above is the knowledge graph below, where all properties, relations, events, etc. are also entities and where the only relations are primitive relations that are universally understood.

A number of textual variations can be generated from the graph above (and inversely, a number of textual variations will map to the above graph). Thus, using ontological types and universally cognitive primitives natural language and the semantically equivalent knowledge graph that represents the thoughts expressed in language become one and the same, and going from one to the other becomes more systematic, as should be.

Is that it?

Clearly there’s more to this story than discussed thus far. For example,

I will write follow-ups where I will express my thoughts re the above questions. In this post I just wanted to point out that knowledge graphs, (typed) ontologies, and natural language are all part of one system and that doing one wrong means you won’t get the others right, and vice versa.

___
ONTOLOGIK — Medium

--

--