When we looked at the Eliza program in the last chapter we saw that its apparently impressive performance was extremely limited. In this chapter we shall describe an important way to make AI programs more flexible and more `mind-like', by giving them ways of representing knowledge of the world about which they converse, or in which they operate.
In order to see the importance of stored knowledge, think again about the Automated Tourist Guide project. Our aim is to simulate a human advisor who has to deal with a wide variety of enquiries of different forms -- for example,
How do I get from here to Knightsbridge Station?When is the Changing of the Guards next due to take place?
How do I book a river cruise on the Thames?
Is it possible to visit the top of Telecom Tower?
What station is Big Ben nearest to?
How much should I pay to take a taxi to Heathrow?
Is the Tate Gallery open on Sundays?
Where would you recommend me to go to hear a symphony concert?
If you were employed as a tourist enquiries adviser, you would need to have
access to a large amount of information. Some of this would be
stored in reference books, some in maps, some in tables, and so on.
But a lot of it would be stored `in your head'. The knowledge in
your head would be of various kinds. For example, one could
distinguish between factual and practical knowledge: between
`knowledge that ...', and `knowledge
how
...'.
Items of factual knowledge might be that Buckingham Palace is where the Changing of the Guards takes place, or that the Haymarket is near Piccadilly Circus. Practical knowledge would include how to get information from a map or reference book, or how to help a tourist find accommodation for the night. (In the AI context a similar distinction is made between declarative and procedural kinds of knowledge or, more correctly, between declarative and procedural ways of representing knowledge. There has been considerable debate within the artificial intelligence community over which of the two is most useful and efficient.) These two kinds of knowledge are not completely distinct. For instance, if I am asked the way to Knightsbridge Station from Victoria, I can express this both in terms of knowledge how (``Take the Victoria Line to Green Park and then change to the Piccadilly line'') or in terms of knowledge that (``Knightsbridge is on the Piccadilly line, and the interchange station is Green Park'').
The representation of knowledge is central to artificial intelligence. One of the ways in which people working in AI try to distinguish their kinds of system from more conventional computer programs is by appealing to a distinction between processing information and processing knowledge. Indeed, the term knowledge-based systems is often used in place of artificial intelligence to denote that particular field of research.
Different AI systems incorporate and deploy knowledge for many different purposes. They use knowledge of syntax and meanings in order to understand sentences. They use knowledge to cut down on useless or time-consuming search when solving problems. They have detailed knowledge of specific areas of expertise in order to function as expert systems, and they employ general knowledge of various sorts in order to apply such specialized expertise in flexible and sensible ways. Some AI systems have knowledge about knowledge -- for instance, a knowledge of how to acquire more knowledge, either by drawing inferences from the knowledge they already possess or by acquiring fresh knowledge through questioning the human user or through perception. A few have knowledge about the scope and limits of their own knowledge, and that of other knowers. AI systems acquire, store, and manipulate representations of knowledge, and indeed, not merely knowledge (in the sense of propositions or abilities which a given system can take as given or as beyond challenge), but also beliefs, conjectures, presumptions, rough-and-ready rules of thumb, and so on. Examples of some of these types of knowledge will be given in the rest of this chapter.