We have paid a great deal of attention to Eliza's limitations, for two reasons. The first is to show that appearances can be deceptive: programs that are actually very shallow can, for short periods, give the impression of a degree of insight which is not justified by their real nature and abilities. The second is to provide a jumping-off point for our study of the analysis of natural language and the representation of knowledge. The question naturally arises as to whether Eliza itself, or the pattern matching techniques we have developed, are themselves of any value. The answer is a qualified yes.
First, the pattern matching techniques can be applied in many contexts other than that of Eliza. You will find them used frequently in later chapters, as a general tool. For instance, in the program that uses search strategies to find routes in the London Underground, pattern matching is employed to find statements in a database which record the state of the search. Programmers in the main languages of artificial intelligence, such as LISP and POP-11, take pattern matching for granted as a tool the language supplies to them; they do not have to worry about the details themselves.
Second, techniques like Eliza's can make programs more accessible to people unaccustomed to using computers. A large database with information about London might be easier to use if questions could be entered in a variety of forms, and if the answers were phrased in familiar ways. Eliza, or something very like it, can help in giving this kind of flexibility. By recognizing keywords and patterns in the user's input, the program can free the user from the need to use some rigid formula to express a question. There are dangers, of course. The first is that the limitations of pattern matching systems mean that the program will occasionally interpret the input wrongly. Although it may be helpful in some circumstances to type information or questions freely, a rigid format has its merits. Perhaps an automated tourist guide gains, on balance, by sacrificing precision for `user-friendliness', but would the same be true for a medical database program being used to help a doctor make a diagnosis?
There is also the question of how much we want interaction with a computer to really resemble interaction with other people. An Eliza interface to a program may help to overcome nervousness in using an unfamiliar system, but it can, as Weizenbaum's ELIZA showed, also give some people the wrong impression about what kind of entity they are talking to. Do we want people to think that a program actually has sympathy with their problems? We will return to this important question in chapter 10. In the meantime Eliza has served its purpose as a jumping-off point.