[Next] [Up] [Previous]
Next: What Use Is Eliza? Up: Performance without Knowledge Previous: Choices in Eliza

What Eliza Lacks

We have already seen some of the situations the program cannot cope with. For instance, with moderately complex input its substitution rules generated ungrammatical output. The program became muddled over the word `want', which occurred with two different meanings in the input. Perhaps most important, there are many sentences that Eliza cannot match against its patterns, in which case the program either recalls an earlier sentence or produces a general chatty response with no real content. We have also seen, however, that Eliza is built up mainly from simple pattern matching rules: thus the program could be extended enormously just by adding more patterns and more responses. We could make the patterns more elaborate so that, perhaps by taking account of surrounding words, the two different meanings of `want' could be distinguished. We could have more complex substitution rules, each of which would help Eliza avoid falling into some grammatical trap. All this could be done without new computational tools and without changing the basic structure of the program.

These measures would undoubtedly improve the program's performance, at the expense of increasing its size and complexity. As the rules got more and more detailed and coped with more and more different cases, so the responses would become more appropriate. In terms of the `Imitation Game', extra rules could mean that it would take longer to distinguish Eliza from a human. Could this approach ever realize a program that showed real competence in the use of English? There is little doubt that the answer to this question is no.

The reasons are probably already clear to you. The first is that pattern matching provides no way for Eliza to represent or recognize the grammatical structure, or syntax, of a sentence. This means that the program has to have one pattern to match every possible way of saying something. Suppose we wanted Eliza not merely to respond to the keyword `computer', but also to take into account the human's attitude to computers. Then its patterns would also have to include words like `worry', `like', `hate', `not', `greatly', and so on, along with the word `computer'. But in order to respond to the following two sentences

Computers worry me very little.

and

I'm not worried much by computers.

the program would need two separate patterns. The meanings of these two sentences are almost identical, but the pattern matching approach treats them entirely separately. Even to give a reasonable coverage of the possible sentences expressing attitudes to computers, the number of patterns required would be tremendous. To cover a fair number of topics of conversation, the explosion of patterns would be unthinkable.

Analyzing the syntax of a sentence could go part of the way to solving this problem. If Eliza could work out how a sentence had been put together by the speaker, then that would be a step towards basing a response on the sentence's meaning rather than on its superficial appearance. The common ground in the two sentences above could be recognized more readily. Chapter 5 will show you something of how artificial intelligence programs tackle the problem of analyzing the structure of an English sentence.

There is a second limitation. We have noted that Eliza has no knowledge of anything it talks about. It has simply a set of responses (or response patterns into which part of the input can be inserted). Again, we can imagine extending this collection greatly, and again Eliza's performance would improve up to a point. But it is again easy to see that this improvement would have severe limits. If you say to another person ``Computers worry me,'' then that person will relate the sentence to what they already know about you, to what they already know about computers, and to what they know about the context in which you made the remark. They will infer, perhaps, that you are learning about computers, and that you would prefer not to be worried by them. However much it was elaborated, Eliza could do none of this. If you ponder the wealth of meaning you draw from almost any sentence you hear, you will see how much more there is to language than words and syntax.

A program needs to represent knowledge about the world if it is to communicate with people in a natural and useful way. Knowledge representation is a central theme in artificial intelligence, and we will introduce you to the analysis and representation of knowledge in chapter 3.


[Next] [Up] [Previous]
Next: What Use Is Eliza? Up: Performance without Knowledge Previous: Choices in Eliza

Cogsweb Project: luisgh@cogs.susx.ac.uk