Modern Conversational AIs focus on providing a "smooth" conversation - sophisticated pattern-matching algorithms make machine-generated sentences sound congenial and, well, human. More interesting, however, is how Artificial Intelligences like Jabberwacky "learn" new vocabulary.
Our project focuses on this kind of machine learning - a simple example of how a computer can associate meaning with the words of a sentence. Although what exactly constitutes an "intellect" is a matter of philosophy, the ability to learn blurs the line between appearing intelligent and being intelligent
Imagine trying to teach someone the definition of a word they didn't know. How could you tell them what it meant? There are really only two ways:
- You could physically show it to them - if they don't know what a "tree" is, take them to one.
- You could describe it to them - although they would have to be pretty slow, even for a fictitious character in a mental exercise, to not know what a "tree" is you could describe it to them using words they did know.
Now, imagine this person is a not really a person at all, but a computer. Imagine that you were so possesed as to enlighten this computer, to show it a whole new world of
biology. Which method would you pick? Any machine, personal computers amongst them, lack the cognitive mind for method #1; I could lead my Windows box to a tree, but I would look pretty silly defying a soulless automaton to comprehend. Simply put, there is no way to "show" a computer anything.
This leaves method #2. On the surface, this seems equally impossible - how do you describe a word to a computer in terms of other words, when a computer knows no words to begin with? You can tell a person that a tree is like some object x, y, or z because they already know what these things are. Remember, however, that our problem is that a computer knows absolutely nothing. Can you say "a tree is a plant" to someone who doesn't know what a plant is, or "a plant is a green, leafy thing" to a person who knows nothing of colors and has never heard of leaves? Can you describe anything at all to a machine that lacks even the simplest nucleus to start from?
Short answer: yes, if you cheat a little.
The "cheat" is simple: a computer need not know what a "plant" is to know that a tree is one. Does the computer know what a tree is? Or a plant? No, but it knows that whatever they are, this "tree" is an example of this "plant" thing. It's like telling the computer just trust me on this one.
Now, repeat this a few more times. Tell it that a "plant" "grows" in the "ground." Tell it about certain types of trees, that a "maple" is a tree, that trees have "leaves," that some trees grow "fruit."
At the end of this process, our computer will still not know what a tree is. Nor will it know what ground is. But, it knows that a tree grows in the ground - and that's enough for most purposes.
Our AI would never know what anything actually is - but with enough circular definitions, it could come imperceptibly close.
Our project is implementing a basic version of a circularly-defined vocabulary, where a word's "meaning" is simply its relationship to other words.
This vocabulary is represented by an "Indexed Web" (actually a form of a graph), an aggregate of a multitude of individual "word" nodes linked to other nodes by their associations. A tree is a plant; in our structure, the tree node would have an "always is" link to the "plant" node. Trees have bark, necessitating an "always have" link to the "bark" node, and a tree "can have" (but doesn't have to have) "fruit".
Words are stored with their spelling, a hint of their usage type ("bark" the verb vs. "bark" the noun), and any number of the following types of links:
- Always Is - by definition, every instance of p will be a q.
- Can Be - some instances of p are also a q, but q-hood is not necessary to be a p.
- Always Has - by definition, every instance of p will "have" or somehow possess a q.
- Can Have - some instances of p also have a q, but q possession is not necessary to be a p.
- Always Does - by definition, every instance of p does some action q.
- Can Do - some instances of p do some action q, but not necessarily all.
- Other links can easily be added as necessary for the AI using our structure.
The "intelligence" of an AI using our structure comes from its ability to draw conclusions through simple list traversal. It can examine our graph structure and find that:
- A tree always is a plant
- A plant always does to grow
and conclude that (despite the awkward phrasing) that a tree grows. It teaches vocabulary in terms of "if p then q."