next up previous
Next: The implementation of Up: The binding roots of Previous: Knowledge retrieval

The proposal of Cyc

So the question is, what would it take a system to ``understand'' the meanings of symbols in the sense described above? What would we have to do in order to get ZOOKEEPER to answer obvious questions about ``flying'' and ``laying eggs''?

It won't do to patch the system with a specific rule every time we come across another question. There are too many questions one can come up with. It is impractical to assume a system that carries the answers to every possible question it can face. Imagine a calculator that had to store the answers for all possible operations in its ROM. It wouldn't be cost effective, size effective, plus, within its life time only a tiny percent of it would get used.

So, presumably, intelligent systems carry a relatively small portion of ``what they know'' in their memory (which I will call the core), and then have some mechanisms to extend this core to the full radius of their knowledge. Here, then, I define ``knowing'' to be either explicitly having some fact in the memory, or being able to infer it so efficiently that we cannot distinguish it from the facts we have in our memory. I claim that, most of the time when I ask you obvious questions like the above, you just feel like you ``know'' the answers, and can't always tell whether you are pulling them out of the memory or subconsciously inferring them with lightning speed.

Then the two problems to be solved are (1) What is going to be carried around in your memory, and (2) How will you reach from this core to the full circle of ``what you know.'' Different approaches to representation are indeed distinguished by the different answers they give to these questions.

Cyc's proposal is a straightforward one. We realize that the system does not understand some concept like ``LaysEggs''. We conclude that in order to understand such a concept, the system has to understand lower level concepts like ``lays'' and ``eggs''. To understand ``lays'', it probably needs to know about containers, and inside/outside relationships. To understand ``eggs'', it needs to know something about living things, the concept of crust vs interior, fragility, and objects in general. Going down like this, we define every concept in terms of the lower level ones. We explicitly assign a symbol to every concept, and connect these symbols via various relationships. So, if a question cannot be answered by a direct match in our knowledge base, i.e. if it is not in our core knowledge, then we can deduce the answer by walking down the chain of relationships to more primitive concepts.



next up previous
Next: The implementation of Up: The binding roots of Previous: Knowledge retrieval



Deniz Yuret
Tue Apr 1 21:26:01 EST 1997