How to Define the Meaning of Words
How can computer understand the meaning of words?
The biggest problem in natural language processing is how to define the meaning of words.
The current mainstream AI employs the method of statistically analyzing a large quantity of text data, associating related words with it, and defining the word.
This method is simply managing the association between each word.
Hence, AI only understands the world by associations of words, mere symbols.
I don’t think this method truly allows AI to understand the meaning of words.
Then, how can computer understand the meaning of words?
With what sort of data structure, can it write the meaning of words and understand them as we humans do?
What ROBOmind-Project did to determine the data structure of words, was to lay out natural conversations and unnatural conversations, and come up with a data structure which will extract unnatural conversations.
I’m going to explain with some specific examples.
At the phase of semantic understanding of a sentence, the lowest level of the rules lies grammar.
For example, a sentence “I eat a meal” follows the rule that a noun comes after a verb.
As an article “a” does not directly connect to the verb, “I eat a” is a wrong sentence.
This error can be extracted by computer as long as it knows the grammar.
Now, what about “I eat a desk”.
This follows the same rule as above, a noun after a verb, but humans should know that this sentence is erroneous.
But, if computer only knows the grammar, it will not be able to extract the error.
The reason you find the sentence erroneous is because “a desk” is not something edible.
You know the rule that objects for the verb “eat” can only be “something edible”.
Then, what sort of data structure do we need for computer if we want it to extract such information?
That is, the concept of ”food”.
The word “dishes” belongs to the concept of “food” in such data structure.
Furthermore, under the concept of “dishes” lies concepts such as “noodles”, under them words such as “ramen” exist. This is the data structure of concepts.
A tree structure of concepts
The parent -child relationship is defined as following structure, under parent concepts there are child concept, and under them exist grandchild concepts.
ROBOmind-Project categorizes the highest level of concepts into “specific” and “abstract”.
For example, “building” and “animal” belong to the specific concept, and “time” and “date” belong to the abstract concept.
Why you feel wrong reading the sentence “there is a Tuesday on the desk” is because, there is a rule that stipulates that placement of objects can only be done among specific objects; it is against the rule to place “an abstract object” on to a desk “specific object”.
ROBOmind-Project defines concepts in the Tree structure of concepts. All words belong to some concepts.
Each concept has at least one parent concept, and some have multiple parent concept.
For example, the concept “school” belongs to “educational institution” under the abstract concept; and “building” under the specific concept.
Next, let’s think about “the leg of a desk”.
“The leg of a desk” sounds just fine, but when it becomes “the arm of a desk”, it starts to sound funny.
This is because a “desk” has “legs” but not “arms”.
Having said that, AI needs to have a data structure which stipulates object A has object B.
I call this relationship the relationship of Has-a.
Relationships such as a desk has legs, a car has an engine, and a school has stairs.
Here, let’s look back on the concept and the relationship of Has-a.
A building “school” has “stairs” but “a building” which belongs above “school” has stairs as well.
In this case, assigning “stairs” both to “school” and “building” is inefficient as the data is repetitive.
So, we are going to create a data structure which transfers the categorization to the lower level concepts such as “school” by simply assigning stairs to the higher concept “building”.
This data possession is the same as we humans.
Next, let’s think of two sentences “as I looked up in the field, I saw the sky” and “as I looked up in my room I saw the ceiling”.
Both sound just fine, right?
In these sentences, there are the sky and the ceiling that can be seen when looked up. In what sort of occasion can we see the sky or the ceiling?
To control this in computer, we have to manage a database which has every place associated with the sky or the ceiling: “the field-the sky”, “the room-the ceiling”, “the park-the sky” and “the classroom-the ceiling”.
With this method, we’d have to add a new data every time a new place comes up.
However, we humans do not go through such inefficient processes.
Then, how do humans determine which occasion has the sky or the ceiling?
Simply by recalling the place. If we recall us being in the room, there is the ceiling above; if we recall us being on the field, there is the sky above.
Hence, all we have to do is to identify the place as a three-dimensional space.
We don’t memorize whether there is the sky or the ceiling above for every single place.
How can we emulate this in computer？
３DCG modeling makes it possible.
By preparing a 3D model of your room, it will find the ceiling as it goes up.
That is how it finds the ceiling inside any room.
And as it finds the sky on a field, it will find the sky on any field.
Spatial data such as there is the ceiling or the sky above cannot be managed just a symbol “above‐the ceiling”, in order to understand the meaning of “above”.
To understand the meaning of “above”, it needs to understand the concept of a three-dimensional space.
In ROBOmind-Project, in order to make it understand three-dimensional space, we use ３D simulator.
It emulates the same space in humans’ terms using ３DCG, and it defines that “above” is a concept that is against the gravity.
By defining “above” like this, the meaning of “above” is beyond just a symbol – it connects to the real world, and it succeeds in emulating the same image humans think of inside the head on computer.
The Has-a relationship as I explained earlier, for a specific object like “a desk has
legs”, it needs to figure out the spatial concept of a three-dimensional space. So we use a 3D model to figure out the positions and the relationship of Has-a.
If we were to define “a desk” by words, “a desk” has “a top board” and “legs”, and there is “a top board” above “the legs”.
However, although this expression can reply to the question “what is above the legs?”, it cannot answer to the question “what is under the top board?”, a simple change of questions.
As the definition goes only as far as “the top board above the legs”, if we change the expression “under the top board”, it cannot comprehend the sentence anymore.
In ROBOmind-Project, by managing the meaning of words, concept, Has-a and ３D models in a data structure, we are able to emulate the same world in computer as humans have inside the head.
This is what makes it possible to have a natural communication with humans.