Reasoning with Semantic Nets

Now, to return to our knowledge representation formalism, we shall look in detail at semantic nets and suggest why they should be of interest to us and then see how semantic nets have been used for representing word and sentence meanings and for simple inferencing. We shall then give a more detailed description of the formalism and, in the appendix to this chapter, show how to build them in Prolog and to use them in our Automated Tourist Guide. To begin with, why should we be interested in semantic nets?

In the first place, simple database queries are inadequate for doing inferencing. We can add items of knowledge to the database, and then refer to them by matching queries against the contents of the database, but we are merely asking the right questions to get the answers we want.

On the more positive side, there are three particularly good reasons for studying semantic nets in a course on AI. First, they are able to provide (with some caveats) an attractively simple representational format and inference mechanism.

Second, in one form or another semantic nets have been used in a large number of AI programs and are well documented in standard introductions to AI -- for example, Rich (1983) and Winston (1984). Associative Networks, edited by N.V. Findler (1979), though now fairly old, collects together a number of still relevant papers on semantic networks for the more adventurous reader.

Finally, this very proliferation of programs using semantic networks of one form or another has given rise to a number of important theoretical studies which critically and productively examine the semantics of the formalism, making it probably the best understood knowledge representation formalism in AI (even if one of the most carelessly used!). Particularly interesting (but, again, for the more adventurous reader) are "Only Connections: A Critique of Semantic Networks" (Johnson-Laird et al., 1984) and "What's in a Link: Foundations for Semantic Networks" (Woods, 1975), as well as two papers by Ronald Brachman: "On the Epistemological Status of Semantic Networks" (1979) and "What IS-A Is and Isn't: An Analysis of Taxonomic Links in Semantic Networks" (1983).

Before we look in detail at semantic networks, it will be useful to pave the way by sketching out a brief history, and by clarifying what is meant by the 'semantics' of semantic networks.