CYC: Building HAL
Computer Science 438
Department of Computer Science
University of New Mexico
CYC is a very large, multi-contextual knowledge base and inference engine developed by Cycorp. The goal of the CYC project is to break the software brittleness bottleneck' once and for all . . . (1)
CYC is a massive knowledge base, containing multi-contextual information, and an inference engine. This knowledge base consists of, what CYC creators refer to as, a sea of assertions, instead of a more database like approach. The real difference is that each assertion is treated entirely independent of any other assertions that are in the knowledge base. (1) This allows each assertion to, very possibly, contradict another assertion, and so CYC can maintain the same sort of knowledge as a human, such as Dracula is a vampire, and there is no such thing as a vampire. (2) Though this knowledge base does not contain all types of knowledge, but only contains a specific type of knowledge, and in this way resembles an expert system. The type of knowledge that CYC is really an expert in though is a general type of knowledge known as common sense.
In the design of the CYC project it was quickly realized that the only way that a machine would ever be able to understand natural language, a human language, such as English, is to have common sense. This common sense, as Lenat describes, in HAL's Legacy: 2001's Computer as Dream and Reality', is crucial to the way humans communicate in writing and speaking. We often leave out certain facts, which through common sense can be inferred, but it is this that he claims often will break most other attempts at natural language interpretation. He argues that common sense is so ingrained in our every word and action that it would be impossible to understand the world in any meaningful sense without having knowledge of the common sense that defines human consensus reality.
The strength of this argument is immediately obvious to most people who have attempted to understand natural language processing, but for many others the argument is not immediately clear. Lenat uses the interaction of HAL (in the movie 2001), with the crew of the Discovery to show his point. The interactions he picks out are often where the words can be interpreted only by using the context in which they are in, and otherwise are quite ambiguous. An example of this is the scene where Dave has drawn a sketch of Dr. Hunter, and HAL asks Dave, Can you hold it a bit closer? For most people, the meaning of the phrase is immediately obvious, but Lenat points out that from the computer's perspective, it would be difficult to understand due to the massive context sensitivity of the statement. The lack of an object for the word closer for example was pointed out. Truly, what should Dave hold this sketch, the phrase also uses it, which as most computer scientists have come to find out, pronoun processing is also a hard problem, closer to? Should Dave hold the sketch closer to himself, so that HAL can compare the sketch to Dave, or should he hold it closer to the wall, so that the sketch is more salient versus a different background, or closer to HAL, because HAL does not have very good vision? When we try to take the phrase apart, it becomes not quite as easy as we first thought it to be. Though this is what the computer scientist must do, in order to understand the process well enough to instruct a computer in how to do it. Often this process is imperfect, and the best that can be done is to have the computer scientist cover most cases, and use a heuristic in order do this. This causes the program to fail whenever a case not covered is attempted to be processed, or to produce erroneous results.
The software brittleness bottleneck is a problem that has long occupied computer scientists, and stems from the fact that often times, if input is not within the input that the program is meant to handle, deviates from its expected input, it cannot handle the input. Different types of programs try to deal with this in different ways, and specifically, CYC deals with it by using inference to try to re-interpret the input in a manner that is consistent with what it expects. This inference mechanism is based upon using the common sense knowledge base to bind variables in a way that makes sense. (2) Should all else fail though, CYC will eventually give up and ask the user for help. (Cycorp, 1) This is another feature of the program which could be good and bad. When a person does not understand something, and does not understand it well enough to make even a good guess, what does the person do? Often times the person will simply either give up, or ask for help, so this is not an unreasonable thing for CYC to do.
One interesting thing about the CYC project is that Lenat compares it to the HAL9000 system from the movie 2001. He even goes so far as to describe how to build this fictional system. His steps are as follows:
1) Give the program millions of everyday terms, concepts, facts, and rules of thumb, which comprise human consensus reality, common sense.
2) Give this system the ability to communicate in a natural language, English, and use this ability to increase the ease with which the system may be provided with information from phase 1.
3) Allow it a method to gain knowledge on its own.
These steps, Lenat claims, are sufficient to build a system with HAL-like capabilities. He goes on to say that this is in fact what the CYC project is trying to build. He does mention the fact that the HAL system was not particularly nice, and had some major problems, but he dodged this point by saying that this was the most unbelievable part of the movie's portrayal of HAL. He argues that arrogance, and the drive to survive at all costs are human features, which do not translate into computers, not because they cannot be programmed to be arrogant, but instead because that is simply not the most efficient way to perform a task. He further argues that emotions would not even be part of such a program, because those too are inefficiencies in the human machine. This is how he argues that computers could not be like so many of the science fiction stories claim that they will become, because it is simply not the most efficient way to perform any task. Though, even though the CYC project is promising, is using a very promising model, and is already described as possessing remarkable abilities, not all people are so impressed with it.(2)
The CYC project was originally started by Lenat, by a company called MCC (Microelectronics and Computer Consortium) in Austin, Texas, in 1984. Here it was given 10 years to become what was promised by Lenat. After 1994, the CYC program was reported to be mature enough, developed enough, to become profitable, and so spun off to become Cycorp, and to market the current abilities of CYC. Though in 1994, an independent observer had a slightly different opinion. Vaughan, Pratt, a professor of Computer Science Theory, at Stanford University, had an experience that, while it was very impressive, from the standpoint of looking at CYC as a experiment in artificial intelligence, was not what he had been prompted to expect of CYC. From his visit it appeared that CYC was a bit unstable and hardly mature enough to perform outside of a very specific and limited range of behaviors. This would seem to contradict the opinion of CYC at the time. His list of questions which he expected to be able to ask CYC, but never got the opportunity is too long to quote here, but typical questions were:
If Tom is 3 inches taller than Dick, and Dick is 2 inches taller than Harry, how much taller is Tom than Harry? Can Tom be taller than himself? Can Tom be shorter than Dick?(4)
One would expect that a system with common sense would be able to answer such questions quite easily, though Vaughan's experience there did not indicate to him that it would be able to. He still remarks, at the end of his report, that his expectations were simply set too high, though this would beg the question, if those expectations were too high, what did the CYC project consider mature enough to spin off into the commercial applications company, Cycorp? Unfortunately we are not able to answer this question, as there appears to be conflicting data, though this question not being able to be answered is sufficient to wonder about how mature CYC was then, and in fact how far it has progressed to now. Cycorp, now claims that many commercial applications exist for CYC, and that it has Natural Language capabilities, though limited at present, so evidently it has progressed greatly from 1994.(1)
CYC is an impressive knowledge base, and has become quite impressive in its behavior, though considering the CYC project is kept under heavy proprietary secrecy, there is little more that can be done with it. The knowledge about the system while previously was greatly publicized, now is kept quiet and while there is much background information, it appears that even that background historical information is slightly tainted.(3) Unfortunately this does not bode well for CYC as a computational study, as it has become too commercial to provide anything to the academic environment, more than the knowledge that such a computer model is attainable, though the methods are not well explained, and this is done purposefully, to protect proprietary knowledge of the CYC system.
Though I have learned much from this exploration into the CYC project, the lack of concrete examples of the CYC system performing, and lack of current knowledge of the CYC system leads to much speculation and distrust of the people behind the CYC system. This distrust and speculation has inevitably colored the views of CYC which were explored, and to some extent has created tension with the academic community. Much of the information which I discovered on CYC showed this distrust and the information that I did find was not sufficient to get a very good impression of the current level at which CYC is at, at least not very much information that does not come from Cycorp, which due to an obvious conflict of interest, trying to market their product, has shown that at they were not entirely truthful at least once,(3) and therefore their current explanation might be just as exaggerated as it was then.
(3) Vaughan Pratt, CYC Report, (1994) http://boole.stanford.edu/cyc.html
(4) Vaughan Pratt, Problems from the CYC Review, (1994) http://boole.stanford.edu/cycprobs.html
Other related readings:
Cycorp, The CYC Knowledge Server, http://www.cyc.com/product2.html
The Robot Wisdom Pages, http://www.robotwisdom.com/home.html
Expert Systems and CYC, http://www.robotwisdom.com/ai/cyc.html
David Whitten, The unofficial, Unauthorized Cyc Frequently Asked Questions Information Sheet, (1995) http://www.robotwisdom.com/ai/cycfaq.html