next up previous index
Next: Discussion Up: How to represent entities Previous: How to represent entities

Basic knowledge representation

       A knowledge representation system will allow concepts to be stored for the reasoner to make use of. My system begins with the ideas of standard semantic networks (see, e.g., [#!ai:quillian1!#], and [#!ai:minsky1!#]). In this formalism, concepts are represented as entities known as frames. Frames are related to one another, usually in terms of a supergroup-group-subgroup hierarchy. That is, dog is a frame representing the concept of ``dogginess.'' A dog is-a animal, which is another frame. A doberman is-a dog. A concept may have multiple children (some subtypes of dogs are doberman, retriever, and mutt), and a concept may have multiple parents (dogs are also pets). Additional information about the concepts are stored in the frames in entities known as slots. A typical dog, for example, barks and has four legs. The dog frame-concept should have slots capturing this information, perhaps a slot referring to communication which can be filled with the frame-concept of barking and another slot referring to number-of-legs which can be filled with the frame-concept of four. These concepts which are filling these slots are simply other frames which exist in the knowledge system.

All concepts which a theory needs to refer to can be represented in this frame-slot-filler style of notation. For example, see the robot concept in Figure 3. In this formalism, there are three entities in the knowledge system: frames, slots, and fillers. Frames are actual knowledge objects representing concepts. Fillers are just frames which are fulfilling a specific role in the memory system at a given time. The final entity, slots, tend to be simply names in most knowledge systems. For example, this is the case in the robot example just mentioned. The slots do not exist in the knowledge representation system. But, a reasoner certainly possesses knowledge about concepts like communication and number of legs. For example, communication is a social activity, involving two or more entities, a message, and some sort of medium. The number of legs concept is less obvious but could refer to the fact that certain objects in the world possess things called legs which are used to support them and (in some cases) for movement. The number of these that an object will possess will vary; different numbers lead to different conclusions a reasoner may wish to make about a particular object. Regardless, the number of legs has to be a number concept, whether definite (such as four) or indefinite (such as many).


  
Figure 3: Represented concept in frame notation
\begin{figure}
\begin{center}
\begin{tabular}
{\vert l l\vert}
\hline
\multicolu...
 ...} \\ :EXPLANATION & EXPLANATION-9 \\ \hline\end{tabular}\end{center}\end{figure}


  
Figure 4: Represented concept as a graph
\begin{figure}
\centerline{\ 
\psfig {figure=knowledge-graph.eps,height=5.25in}
}\end{figure}

  A knowledge system can therefore achieve more power by requiring that all entities (frames, slots, and fillers) within it refer to frames (i.e., concepts); it also eliminates the potential problem of having the humans who observe the system attribute too much ability to the reasoner by virtue of the slot names themselves (see [#!ai:mcdermott1!#]). Additionally, the knowledge system gains a new method of being presented to humans; since every entity is actually the same ``type,'' a graph formalism   can be used. The frames are nodes in a large, connected knowledge graph (see, for example, [#!knowledge:barsalou1!#,#!knowledge:sowa1!#,#!knowledge:wilensky1!#]). What would traditionally be represented as slots and fillers exist in this system as other nodes in the graph, connected to the original concept node via links. Figure 4 shows part of the same robot concept represented in this graph formalism. This flexible graph implementation has been used successfully by a number of other             systems, including AQUA ([#!read:ram1!#]), MOORE ([#!memory:ram-francis-1996!#]), and KODIAK ([#!knowledge:wilensky1!#]).

Since slots are now full conceptual entities within the knowledge system, there is no restriction on what information they may carry with them. In particular, a slot within my knowledge system contains information in addition to the conceptual filler. Each slot has the capability to contain information entities known as facets which carry additional knowledge. For example, many slots will have restrictions on what can be used to fill them. For example, the color-is slot of the example robot-12 can only be filled with a concept that is a color. The is kept in the frame representation through the restriction facet, which will contain a restriction directive, such as (:must-be color). Since the example shows an instance of robot with the slots containing fillers, I chose not to show the complete slot description. Later, when I show some generic concepts whose slots are not yet filled, I will indicate the restriction facets which exist on them. In addition to restrictions, a slot may also contain a default facet. The contents of this facet will be used as the value for the slot if no actual value is known. As these examples show, facets represent meta-level information which the system may need concerning the slots in any given concept.

The final aspect of my knowledge representation is that each concept has its slots grouped into one of three categories. First, each concept possesses a slot which refers to the   function of the entity which the concept is representing. This describes the current function; most concepts will be able to fill a number of functional roles. Second, the     primary attributes of a concept are those slots which describe features that determine how it achieves its function; together, these attributes provide an explanation of how the function is accomplished. Meanwhile the secondary attributes represent additional information; while this knowledge may be important, it does not directly contribute to the achievement of the current function. If the function of a concept is changed (for example, a reasoner stops viewing a horse as an animal and starts viewing it as a mode of transportation), it might be necessary to repartition the primary and secondary attributes. Similarly, by considering novel combinations of primary and secondary attributes, it is possible to hypothesize novel functions for a concept.


next up previous index
Next: Discussion Up: How to represent entities Previous: How to represent entities
Kenneth Moorman
11/4/1997