Amigo
Semantic Nets
Matthew Huntbach, Dept of Computer Science, Queen Mary and Westfield College, London, UK E1 4NS. Email: mmh@dcs.qmw.ac.uk. Notes may be used with the permission of the author.
Notes on Semantic Nets and Frames
Semantic networks are an alternative to predicate logic as a form of knowledge representation. The idea is that we can store our knowledgein the form of a graph, with nodes representing objects in the world, and arcs representing relationships between those objects. For example, the following:
Fur
has
Mammal
is_a
Mat
sat_on is_a
Cat
like
Animal
Cream
is_a is_a
Tom
is_coloured caught is_owned_by
Bird
Ginger
John
is intended to represent the data: Tom is a cat. Tom caught a bird. Tom is owned byJohn. Tom is ginger in colour. Cats like cream. The cat sat on the mat. A cat is a mammal. A bird is an animal. All mammals are animals. Mammals have fur. It is argued that this form of representation is closer to the way humans structure knowledge by building mental links between things than the predicate logic we considered earlier. Note in particular how all the information about a particularobject is concentrated on the node representing that object, rather than scattered around several clauses in logic. There is, however, some confusion here which stems from the imprecise nature of semantic nets. A particular problem is that we haven’t distinguished between nodes representing classes of things, and nodes representing individual objects. So, for example, the node labelled Cat representsboth the single (nameless) cat who sat on the mat, and the whole class of cats to which Tom belongs, AI 1 Notes on semantic nets and frames 1996. Page 1
which are mammals and which like cream. The is_a link has two different meanings – it can mean that one object is an individual item from a class, for example Tom is a member of the class of cats, or that one class is a subset of another, forexample, the class of cats is a subset of the class of mammals. This confusion does not occur in logic, where the use of quantifiers, names and predicates makes it clear what we mean so: Tom is a cat is represented by Cat(Tom) The cat sat on the mat is represented by ∃x∃y(Cat(x)∧Mat(y)∧SatOn(x,y)) A cat is a mammal is represented by ∀x(Cat(X)→Mammal(x)) We can clean up the representation bydistinguishing between nodes representing individual or instances, and nodes representing classes. The is_a link will only be used to show an individual belonging to a class. The link representing one class being a subset of another will be labelled a_kind_of, or ako for short. The names instance and subclass are often used in the place of is_a and ako, but we will use these terms with a slightlydifferent meaning in the section on Frames below. Note also the modification which causes the link labelled is_owned_by to be reversed in direction. This is in order to avoid links representing passive relationships. In general a passive sentence can be replaced by an active one, so “Tom is owned by John” becomes “John owns Tom”. In general the rule which converts passive to active in English convertssentences of the form “X is Yed by Z” to “Z Ys X”. This is just an example (though often used for illustration) of the much more general principle of looking beyond the immediate surface structure of a sentence to find its d e e p structure. The revised semantic net is:
Cat1 Fur
is_a
Mats
sat_on is_a
have
Mammals
ako
Mat1
ako
Animals Cats
like ako
Cream
is_a
Birds Tomis_coloured caught owns
Bird1
is_a
Ginger
John
Note that where we had an unnamed member of some class, we have had to introduce a node with an invented name to represent a particular member of the class. This is a process similar to t h e Skolemisation we considered previously as a way of dealing with existential quantifiers. For example, “Tom caught a bird” would be represented...
Regístrate para leer el documento completo.