CHAPTER 28
Combining Representations
28.1 The Problem of Complexity
We have developed a tentative method for representing objects and events which makes use of
explicit causal links, represents motivation in terms of goal and anti-goal states, roles, the
classification of objects (with inheritance) and properties represented in terms of perceptions.
Now it is deceptively easy to invent representational structures which seem to capture aspects of
meaning, but it is difficult to define such structures in a consistent way that is amenable to
manipulation by functions which can show that one structure is semantically equivalent to another,
or implies another. This is one of the main reasons why formal logics are often used for semantic
representation - they provide a readymade set of consistent structures and operations which can
be applied to them.
It is even more difficult, however, to devise representational structures which not only meet
these requirements but are such that we can seriously think of constructing them for use in a practical
system (i.e. with a large and varied vocabulary) in a realistic time scale. The representational
structures we have proposed here are no exception, and are likely to be extremely complex.
No one would lightly embark upon writing the explicit representation of the meaning of
the corpus of words required for a practical system, in all but a very limited context.
This is probably an inherent difficulty which cannot be avoided by changing the method of representation.
In this chapter we wish to describe in outline one possible approach to the problem.
28.2 The 'combine' Operator
In Chapter 8 we described a parsing algorithm which was based on ATNs.
At each node of an ATN the next section of input text was subjected to a three-part condition
test, e.g. for node zero of an ATN called 'parse' we might have:
if node_id=0 then
if (noun-phrase(text,0)->reml->outl)
and
(parse(reml,l)->rem2->out2)
and
(combine(outl.out2)->out3)
then
true; out3; rem2;
endif;
endif;
Here we begin by establishing that we are dealing with the parse ATN at node zero.
We then apply three tests. The frnt processes the input text list ('text') and checks
for a noun phrase. If it is successful it leaves three results true; semantic_output_structure; remainder.
Only two of these are removed from the
stack and assigned to the variables 'rem I' and 'out I '. The truth value remains on the stack and is
included in the composite (conjoined) condition test. The remainder is the remainder of the input text
after the leading 'noun phrase' has been bitten off. The semantic...output structure is some
structure created to
represent the meaning of the section of text which has been processed.
In Chapter 8 we did not analyse the content of this semantic-output_structure in detail because
we were concerned with the structure of the algorithm and with syntax. Here we want to consider
the nature of this semantic structure.
The second test is a recursive application of the parse function with the node parameter set at 'I'.
This represents the continuation of the ATN after the frnt arc has been traced. It also leaves three
results of the same type, including a semantic-OutpuLstructure (out2) which represents the meaning
of the remainder of the text list.
The third test is an attempt to combine these two semantic structures to produce a third, out3.
It leaves two results, the truth value indicating success or failure, and the semantic structure
which it has formed from out1 and out2.
Only if all three tests succeed has the ATN been successfully traced. The frnt two tests at each
node are concerned with syntactical structure. The third test at each node is concerned with the
semantic compatibility of the two structures stored in out 1 and out2.
In Chapter 20 we introduced the idea of storing a set of states, causal links, etc. inside a
structure which we called a 'rep-box'. Such a structure can be generalised to be any collection
of structures which together represent some unit of meaning. Such a structure could be stored
in a dictionary and associated with each of the words in the vocabulary of the system.
Since each word is considered to be the label for a concept, which is in turn considered
to be a generic structure, it follows
that each rep-box in the dictionary represents a generic structure. When a sentence is read,
each word in the sentence will be looked up in the dictionary and the appropriate rep-box
extracted and tagged on to the word stored in the input text list. Figure 28.1 illustrates this,
and what happens to these structures.

The key to the process lies in the way the 'combine' function processes two
rep-boxes to produce a third. The properties of each must be tested, and then
the new rep-box must be created from the existing properties of the other two.
Where properties clash, there must be a rule for selecting which of the existing
properties will be favoured, and where they are mutually contradictory the combination
process should fail. Where there is no clash the new rep-box will have the properties
of both of the other two.
The crucial point is that the new rep-box is indistinguishable in type and quality
from the others, and the combination process can be applied to it as to
any other. It should therefore be possible to combine these structures in pairs progressively,
until a single structure is created which represents the meaning of a sentence
(or a paragraph or a complete text).
28.3 Defining New Structures from Old
When two structures are combined we note that there are two different processes which can take place.
We can combine properties to produce a more detailed and specific representation (specialisation) or,
where there is a clash between incompatible properties (ofthe same general type), both could be replaced
by a third which was sufficiently general to permit both as specialisations. That is, the properties
could be combined to produce a generalisation of the original concepts.
We noted in section 23.4 that we could create semantic networks in which each node
represents a specialisation of its parent node and a generalisation of its descendant nodes.
Here we have a mechanism for creating such tree structures from known examples.
It would, for example, be possible to derIDe the concept animal as a generalisation
of the concepts dog and cat. Such a definition would, of course, exclude fish and
birds and many other types of animal, but of course it is always possible to refine
such a defmition later by generalising it with the definition offish, or with any other
concept we wish. This seems to be very much what happens with young children who learn a
concept such as animal from obvious and easily accessible examples such as their household
pets. Later, as they become more sophisticated, the concept is extended to include other
categories. It is, after all, merely a human convention that the term animal is not
restricted to just dogs and cats.
Herein lies a possible solution to the problem of excessive complexity
which we noted above. It should be possible to derIDe new concepts by combining
the defmitions of concepts already learned by both specialisation and generalisation
procedures. If a small vocabulary of words could be defined explicitly (and laboriously)
to cover, let us say, the total vocabulary of Basic English (about 600 words), then it
should be possible to define all subsequent words in English sentences constructed from
words already known. The concept to be tagged on to the new word would be the rep-box
created by the process of combination we have described above as the sentence is processed.