Ross Quillian's Semantic Memory System

Handbook of Artificial Intelligence, Vol. III, Section XI.E.1, pg. 36-41

In the late 1960's, Ross Quillian introduced semantic networks as a method of modelling the structure and storage of human knowledge in the shape of a graph. Quillian wanted his system to explore the meaning of English words by the relationships between them. In particular Quillian's system sought to compare words and express the results of those comparisons.

Quillian's Architecture:

• A Node (or point or vertex) represents a concept or word that the system "knows" about.
• An Arc (or edge) between nodes represents a relation between two concepts. Quillian (1969) originally had six categories of arcs:

1. Superclass/Subclass (the ISA relationship)
3. Conjunctive (logical AND)
4. Disjunctive (logical OR)
5. Unspecified binary predicate
6. Unspecified binary predicate

Later, Quillian and Collins (1972) added some other arc categories, including:

7. Proximity
8. Consequence
9. Precedence
10. Similarity

• A Plane is a definition composed of a concept (node) and its relations. This is essentially a frame or slot-and-filler architecture.

Searching the Semantic Network

To compare two concepts in the semantic network, Quillian's system used breadth first search as a mode of inference:
STEP 1:
Initialization:
• Let A and B represent the nodes to be compared.
• Label these nodes as patriarchs. Let all other nodes be unlabeled.
• Let D (for dad) be a mapping from each node to the node that added it to the queue. Initially, D(x) = NULL for all nodes x.
• Let Qa and Qb be queues (fifo), initially containing A and B, respectively.
STEP 2:
Search from Qa:
STEP 2.A:
Pop the next node from Qa into a variable x. If Qa is empty, no more relations exist, so terminate with failure.
STEP 2.B:
If some neighbor y of x has label b, then a relation between A and B has been found. Create a list describing this relation as follows:
STEP 2.B.i:
Set z := x.
STEP 2.B.ii:
Prepend z to the front of the list. If z == A, then skip to step 2.B.iii. Otherwise let z = D(z) and repeat step 2.B.ii.
STEP 2.B.iii:
Set z := y.
STEP 2.B.iv:
Append z to the end of the list. If z == B, then skip to step 2.B.v. Otherwise let z = D(z) and repeat step 2.B.iv.
STEP 2.B.v:
The list has been completed. If you wish to find more relations, continue to 2.C. Otherwise, terminate with success.
STEP 2.C:
Set D(y) := x for all unlabeled neighbors y of x. Label these neighbors a, and add them to Qa.
STEP 3:
Search from Qb:
STEP 3.A:
Pop the next node from Qb into a variable x. If Qb is empty, no more relations exist, so terminate with failure.
STEP 3.B:
If some neighbor y of x has label a, then a relation between A and B has been found. Create a list describing this relation as follows:
STEP 3.B.i:
Set z := x.
STEP 3.B.ii:
Append z to the end of the list. If z == B, then skip to step 3.B.iii. Otherwise let z = D(z) and repeat step 3.B.ii.
STEP 3.B.iii:
Set z := y.
STEP 3.B.iv:
Prepend z to the front of the list. If z == A, then skip to step 3.B.v. Otherwise let z = D(z) and repeat step 3.B.iv.
STEP 3.B.v:
The list has been completed. If you wish to find more relations, continue to 3.C. Otherwise, terminate with success.
STEP 3.C:
Set D(y) := x for all unlabeled neighbors y of x. Label these neighbors b, and add them to Qb. Return to step 2.

Empirical Results

Collins and Quillian, and others (Conrad 1972) offer empirical data that suggests this model mimics the reaction time for human verification of relations. For example, verification of the statement "Canaries can sing" is faster than that of the statement "Canaries have skin" for both humans and Quillian's model.

In Quillian's model, this time difference is easy to explain, as the following diagram suggests.

```      ________       _________
| Animal |---->| hasSkin |
|________|     |_________|
|
subclass
|
\|/
________       _________
|  Bird  |---->| canSing |
|________|     |_________|
|
subclass
|
\|/
________
| Canary |
|________|
```
Here canSing is an attribute of the node Bird, while hasSkin is an attribute of the node Animal. The attribute canSing is accessed first since Bird is closer to Canary (in terms of the standard definition of distance on a graph--the number of edges between nodes) than Animal is.

We leave it to the reader to decide what this suggests about the possibility of hierarchical structure in human memory.

Bibliography

• Cohen, P. R. and Feigenbaum, E. A., "Article XI.E.1: Quillian's Semantic Memory System", The Handbook of Artificial Intelligence Volume 3 , pg 36-41, 1982.
• Collins, A. M. and Quillian, M. R., "Retrieval Time From Semantic Memory", Journal of Verbal Learning and Verbal Behaviour , Volume 8, pg 240-247, 1969.
• Collins, A. M. and Quillian, M. R., "How to Make a Language User", in E. Tulving and W. Donaldson (eds.), Organization and Memory , 1972.
• Conrad, C., "Cognitive Economy in Semantic Memory", Journal of Experimental Psychology , Volume 92, pg 149-154, 1972.
• Quillian, M. R., "Semantic Memory", in M. Minsky (ed.), Semantic Information Processing ,1968.