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:

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:
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