textfiles/programming/AI/ai199002.txt

2132 lines
103 KiB
Plaintext
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

Research Report XXXXXXXXXX
Artificial Intelligence Programs
The University of Georgia
Athens, Georgia 30602
Available by ftp from
aisun1.ai.uga.edu
(128.192.12.9)
Series editor:
Michael Covington
mcovingt@aisun1.ai.uga.edu
1
Handling Constrained Clauses in
Discourse Representation Theory
William H. Smith
Piedmont College
Demorest, GA 30535
Artificial Intelligence Research Group
The University of Georgia
Athens, GA 30602
August 8, 1990
Introduction
This report describes a Prolog program that transforms a
natural language input into a knowledge base of Prolog clauses.
The key element of the program is its ability to handle
constrained clauses--embedded clauses whose truth evaluation is
different from that of independent clauses. Consider sentence
(0.1.a):
(0.1.a) Bob, who is a farmer, believes that Carol
regrets that she kissed Ted.
(b) Bob is a farmer.
(c) Carol regrets that she kissed Ted.
(d) Carol kissed Ted.
Clauses (0.1.b,c,d) are embedded in (0.1.a). (0.1.b) is not
constrained; it is subject to the same truth evaluation that
(0.1.a) is. (0.1.c) and (0.1.d) are constrained. (0.1.a)
reports what Bob believes, but Bob may be wrong, so the truth of
(0.1.a) should not depend on the truth value of (0.1.c). As we
shall see in Section 3 of this report, (0.1.d) should be
subjected to truth evaluation; the difference between (0.1.c) and
(0.1.d) is determined by the difference between the constrainers
believe and regret.
The theoretical basis of this program is an extension of
Discourse Representation Theory (Kamp 1981). Kamp proposed
Discourse Representation Theory (DRT) as a bridge between the
output of a syntactic parse and model theoretic semantics, a
bridge that would combine "a definition of truth with a
systematic account of semantic representations." (277) The DRT
algorithm produces a representation that can be used to determine
the truth conditions of a discourse. Subsequent research has
2
extended the original theory and has implemented it in computer
programs.
Section 1 of this report presents a description of the
theoretical framework of DRT, a description that will further
clarify what is meant by 'constrained clause' and 'truth
contribution.' Section 2 examines suggested extensions to DRT
that enable it to handle a wider range of sentences. Section 3
presents the linguistic theory underlying the difference between
(0.1.c) and (0.1.d).
In the remaining sections the report shifts its focus from
theory to implementation. Section 4 describes the Prolog program
of which this is an extension, and Section 5 describes the
extensions to that program. Section 6 evaluates the success of
the program and suggests other extensions that are needed.
1. DISCOURSE REPRESENTATION THEORY
A model consists of two sets: a set of entities (the
universe) and a set of properties of those entities and relations
that hold among them. DRT seeks to provide a representation for
discourse that will be suitable for truth evaluation in a model.
DRT takes as input the output of a syntactic parse (e.g. the
Logical Form of Government and Binding Theory) and produces a
representation whose structure parallels that of the model.
The central notion of DRT is the Discourse Representation
Structure (DRS). A DRS K is a pair <U,C>, where U is a set of
reference markers (the universe) and C is a set of conditions
(properties, relations, or complex conditions--negation,
disjunction, or implication). The initial DRS, K0, contains none
of the information in the discourse. As the discourse is
processed, the DRS construction algorithm, taking the output of a
syntactic parse as its input, produces a sequence of K' as it
incorporates new material from the discourse into K. For
example:
(1.1) Bob saw a woman.
K:<U:{R1, R2},
C:{Bob(R1),
woman(R2)
saw(R1, R2) }>
At any point in the construction, the current DRS may be
evaluated for truth in the model. Discourse truth in model
theoretic semantics is determined by a mapping from a
representation of the discourse (in DRT, a DRS) to the model, a
mapping that preserves the properties and relationships expressed
in the discourse. A discourse is held to be true in a model if
there is a mapping such that the set of referenced items (the
discourse referents in DRT) maps to a subset of the universe of
3
the model and each property or relation expressed by the
discourse (the set of conditions in DRT) is true of the
corresponding entities in the model. (For ease of exposition, I
refer to the truth evaluation of a clause or discourse; it is in
fact the DRS that is evaluated.)
In DRT, each proper noun and each indefinite noun phrase
(NP) in the input is taken to have existential quantification.
(In a DRS, quantifiers are implicit; with exceptions to be noted
shortly, all discourse referents are understood as being
existentially quantified.) Thus, when the construction algorithm
encounters a proper noun or indefinite NP, a new discourse
referent is added to U (R1 and R2 in (1.1)). Each definite NP
(including each pronoun) in the discourse must be coreferential
with a discourse referent. Antecedent assignment is accomplished
by finding an item in U that agrees with the anaphoric expression
(for pronouns, an entity that agrees in gender and number). (It
should be noted that the fragment of natural language that can be
handled by current versions of DRT is quite limited, excluding
plural and generic NPs.) Thus, (1.2) shows an extension of
(1.1).
(1.2) He kissed her.
K:<U,
C := C + {kissed(R1, R2) }>
As in Pascal, := is an assignment operator and + indicates
union of sets. Thus, the third line of (1.2) means that the new
C is the union of the old C and the set {kissed(R1, R2)}.
The basic theory would add R3, R4 to U, and then set them
equal to R1, R2, respectively. A later "clean-up" operation
would eliminate these redundant discourse referents by equating
coreferential discourse referents. In the implementation to be
described here, resolution of anaphoric relations is accomplished
during the syntactic parse, so the redundancy does not occur.
If U contains two or more possible antecedents, the
conflict is resolved by selecting the most recent one.
Consequently, U must be ordered, contrary to Kamp (1981) in which
U is a set, and must be re-ordered each time an entity is
referenced (see, for example, Goodman 1988).
Kamp (1985) describes the DRS construction algorithm as "a
set of rules that operate, in a roughly top-down manner, on the
nodes of the parse tree," (2) converting those nodes into the
conditions of C and, when appropriate, introducing new discourse
referents into U. The basic version of DRT is directed toward
the role of NP nodes in the discourse--their relationship to U.
The special value of DRT is its ability to handle in-
definite NPs that should not introduce new discourse referents.
Consider the following extension of (1.2):
4
(1.3.a) She did not wear a ring.
We must extend the algorithm, because as described so far it
would produce something like (1.3.b):
(1.3.b) K:<U := U + {R3},
C := C + {ring(R3),
not wear(R2, R3) }>
The truth contribution of (1.3.a) to the truth of the discourse
will depend on the existence in the model of a ring that she did
not wear. But that is not what (1.3.a) means; (1.3.a) is true in
the model only if there is no ring in the model such that she
wore it. That is, (1.3.c) must be false:
(1.3.c) She wore a ring.
Thus, the truth evaluation of a negative clause demands a special
representation.
Kamp's solution is to add to C a sub-DRS for (1.3.a):
(1.3.d) K:<U, C := C + {not(K1,
K1:<U1: {R3},
C1: {ring(R3),
wear(R2, R3) }> ) }>
Discourse referents in U are visible to conditions in C1, but
those in U1 are not visible to C. Since the sub-DRS is
controlled by negation, its truth contribution is the opposite of
the truth value of K1; that is, if K1 can be satisfactorily
mapped to the model, the discourse is false.
I shall speak of clauses such as (1.3.c) in (1.3.a) as
'constrained clauses' because their truth contributions to the
DRS in which they are embedded are constrained, in this case by
negation. (This definition of 'constrained clause' may seem to
be at odds with that offered in the introduction, since (1.3.c)
is not, in traditional terms, an embedded clause. Some
syntacticians, however, treat negation as a 'higher predicate'
whose argument is the embedded clause to be negated. (e.g.
McCawley 1988)).
Other constrained clauses handled by Kamp's original
theory are those in disjunctions, implications, and universally
quantified NPs. In each case, the constrained clauses are
represented by sub-DRSs. The truth contribution of a disjunction
is 'true' if one of the disjuncts evaluates to true; that of an
implication is 'true' provided that in any mapping in which the
antecedent is true the consequent is true also.
An important feature of DRT is that it treats sentences
containing universally quantified NPs as implications. The
information within the universally quantified NP restricts the
5
set of entities in the universe to which the NP can refer, and
the remainder of the sentence is the scope of the quantifier.
For example, the scope of the subject NP is the VP, and the scope
of the direct object is the verb. Kamp treats the information in
the universally quantified NP as the antecedent of an implication
whose consequent is the information in the scope of that NP.
Thus, (1.4.a) is represented as (1.4.b).
(1.4.a) Every sad man loves a pretty woman.
(b) K:<U:{},
C:{K1 ==> K2,
K1: <U1:{R1},
C1:{man(R1),
sad(R1) }>
K2: <U2:{R2},
C2:{woman(R2),
pretty(R2),
loves(R1, R2) }> }>
The effects of sentence connectives as constrainers is
uncomplicated, as they are taken directly from formal logic. The
treatment of other constrainers is more complex, as will be seen
when extensions to the basic theory are considered.
2. EXTENSIONS TO THE BASIC THEORY
Events and Propositions
The basic theory is confined to a very limited subset of
natural language. In particular, it is limited to singular, non-
generic NPs, to anaphoric reference (i.e. the referent is present
in the discourse), and to sentences whose main verbs do not take
propositions (i.e. DRSs) as arguments. Reducing the first two
limitations requires a full theory of reference that must take
into account grammar, pragmatics, and knowledge of the real
world, and is beyond the scope of this study. Here we are
concerned with reducing the third limitation.
Guenthner et al. (1986) extend the basic theory by adding
two new types of discourse referent: event markers and time
markers. These researchers also include meaning rules in the DRS
construction algorithm that assign an event marker to each verb
and to each noun that refers to an action (e.g. accident). Each
time reference (i.e. time of day or extent of duration) is
assigned to a time marker. Events are temporally ordered with
respect to each other and to time references: an event may
precede or overlap another event or time, it may be given an
argument expressing its duration, or it may be a subset of
another event. The addition of event markers makes it possible
for predicates to take DRSs as arguments. Guenthner et al.
(1986) do not include any examples of such a use of event
markers, but Guenthner (1987) does. In that article he also
6
makes a notational distinction between events, which advance the
time of discourse, and situations, which do not.
Spencer-Smith (1987) does not use event markers, but adds
a different type of discourse referent, a proposition marker.
This extension makes it possible to include embedded predicates,
such as infinitival complements and beliefs, in the DRS:
(2.1) Carol wants to kiss a rich man.
K:<U: {R1, P1
C: {Carol(R1), want(R1, P1),
P1: <U: {R2},
C: {rich(R2),
man(R2),
kiss(R1, R2) }> }>
The embedded DRS of (2.1) is an example of a constrained clause,
in this case constrained by want. (2.1) may evaluate to true
even if no such R2 exists in the model. (Note that this reading
gives narrow scope to rich man; Carol does not know which rich
man she wants to kiss.)
Beliefs
Kamp (1985) also explored the representation of beliefs.
His treatment requires two further additions to DRT: internal and
external anchors. Anchors are used to connect discourse
referents to entities in the world. External anchors are ordered
pairs, <Entity, Marker>, that associate the two as they actually
are, while internal anchors are DRS-like structures that
associate items as a subject believes they are. The use of
anchors makes it possible to represent propositions that are in
fact contradictory but are not so in the subject's belief system
because his internal anchors differ from the external anchors:
7
(2.2) Bob believes that Hesperus is pretty and
Phosphorus is not pretty.
External Anchors: <R1,Bob>,
<R2, Venus>,
<R3, Venus>
Internal Anchors:
L: <U: {R2, R3},
C: {evening_star(R2),
morning_star(R3)}>
K: <U: {R1, P1},
C: {Bob(R1),
believes(R1, P1),
P1: <U: {R2, R3},
C: {pretty(R2),
<20>K1,
K1: <C1: {pretty(R3)}> }> }>
The extension of DRT with internal and external anchors
give the theory considerable power, but is far from giving it the
power necessary to represent adequately the full range of
meanings of natural language. It does not, for example, specify
whose internal anchor is to be invoked. Asher (1986) combined
the concepts of proposition markers and of anchors in order to
handle the problem, again with considerable modification to DRT
and the DRS construction algorithm.
Asher dealt with the problem of Pierre, who, as a child in
Paris, saw Londres--London--in a picture book, and who, as an
adult, lives in a London slum. It is now reported that
(2.3) Pierre believes that Londres is pretty and London
is not pretty.
Sentences like (2.2) and (2.3) have been a serious problem for
traditional logic, which holds that the set of true sentences is
closed under substitution of coreferential terms (SC), such as
Londres and London. The belief cannot be added to the toplevel
DRS because under SC it is contradictory in the model and its
truth value is false, although it is actually a true report of
Pierre's belief. The belief must somehow be constrained in a
sub-DRS whose truth is evaluated according to Pierre's cognitive
state. But the belief remains contradictory in a simple sub-DRS
such as that used for (2.2).
Asher made use of a proposition marker that refers to a
sub-DRS rather than an entity, one that represents the content of
the complement of believes. This sub-DRS, a 'delineated DRS', is
more complex than those of the basic theory. It is augmented
with DRS-like structure representing the cognitive state of the
believer--entities and properties that are not explicit in the
discourse but must be true in the possible world in which the
belief is true. This internal anchor may contain a condition
8
that distinguishes between two referents that are coreferential
in the model, as in Pierre's case, or vice versa. In addition,
Asher argues that SC does not hold in natural language; two NPs
that are coreferential but different in form convey different
information and are not substitutable.
In Smith (1989), I applied DRT, the basic theory augmented
by the extensions suggested above, to a narrative that had been
normed at sixth-grade comprehensibility in order to detect
further extensions to DRT that would be necessary in order to
represent adequately a natural language discourse. That study
suggested the need for additional mechanisms for handling the
truth contributions of constrained clauses; mechanisms that deal
with the influence of the constrainer on the constrained clause
and mechanisms that determine whether, on the basis of subsequent
information, a constrained clause should be elevated to the
toplevel. These topics are the focus of this study, and will be
considered in the next section.
3. THE TRUTH-CONTRIBUTIONS OF CONSTRAINED CLAUSES
Clearly, beliefs are constrained clauses; their truth
evaluation is constrained by believe to a method such as that
described by Asher. However, while Asher's procedure answers a
number of problems when truth is considered from the standpoint
of philosophical logic, it is rather awkward when truth is
considered from the point of view of information retrieval. For
an information retrieval system, truth may simply be the ability,
given (2.3), to answer such questions as (3):
(3.1.a) What does Pierre believe?
(b) Does Pierre believe that London is pretty?
Although Pierre's belief is contradictory, the report of
that belief is not. Perhaps the user does not care that the
answer to (3.1.a) is contradictory (the user may even want to
know if it is contradictory); or that the answer to (3.1.b) is
one of two possible answers. Furthermore, the software necessary
to construct a possible world in which Pierre's belief is true
(if such a program can be constructed at all) comes at a
considerable cost in production time, program size, and run time,
and the world it describes might be even less acceptable than
Pierre's contradictory belief system. We turn now to a method by
which constrained clauses can be handled, from an information
retrieval point of view, by a much less elaborate method.
Truth Evaluation in an Information Retrieval System
From the information retrieval point of view, truth is
what the user claims to be true; input is taken to be true unless
it is constrained, as in (2.3) (unless, perhaps, it is
9
inconsistent with the knowledge base). However, constrained
clauses are not always blocked from toplevel truth evaluation. I
turn now to an examination of various constraining terms and
their effects on truth evaluation. This examination is limited
to constrained clauses whose truth value is available; that is,
the event or state reported has already occurred or failed to
occur. Consider the 'neutral' constrainer in (3.2):
(3.2.a) Ted said that Bob kissed Alice.
(b) Ted said, "Yecch!"
(c) She does not kiss yuppies.
(d) Ted was right.
(3.2.a) is true if Ted uttered the constrained clause (or
words to that effect), even if the user knows Ted to be a
pathological liar. Thus, the constrained clause should not be
evaluated for truth at all. The simplest representation of
(3.2.a) would assign a discourse referent to the constrained
clause in its surface form, without analysis, as is necessarily
the case for (3.2.b). However, there are at least four reasons
for representing the constrained clause as a sub-DRS, albeit a
DRS that is shielded from truth evaluation:
(3.3.a) The user might have applied SC to Ted's actual
utterance. If the system includes a facility for
calculating a confidence factor (i.e. How reliable is
Ted?), it will be necessary to analyze the
constrained clause in order to allow for SC in
checking for corroboration.
(b) (3.2.a) might be followed by (3.2.c). If the
constrained clause has not been analyzed, the
discourse referent for Alice will not be available
as an antecedent for she.
(c) If (3.2.a) is the first occurrence of either
proper NP, a discourse referent for that entity
should be added to the toplevel universe; that
entity is 'pragmatically presupposed' by the
proper NP (McCawley 1981). This addition can only
be made if the constrained clause is first
analyzed.
(d) If (3.2.a) is sometime later followed by (3.2.d),
provided by the user, the discourse referents and
conditions for the constrained clause should be
added to the toplevel DRS, and that addition
should be based on the context available at the
time of (3.2.a), excluding anything that might
have been added by intervening sentences. While the
necessary analysis could be carried out at the time
of (3.2.d), it would be much simpler if it were done
at the time of (3.2.a).
10
Types of Constrainers
The procedure described above, which blocks the truth
evaluation of the constrained clause, may, depending on the
requirements of the information retrieval system, be satisfactory
for a number of constrainers that report utterances or cognitive
states, including the following:
(3.4) SAY CLASS (OBJECT)
say suppose allege believe deem
assert assume charge fancy conclude
maintain intimate deny conjecture
(The list of constrainers in (3.4), as well as those lists that
follow, is taken largely from Kiparsky and Kiparsky (1970), as is
the analysis on which what follows is based.)
Note that if a sentence whose main verb is deny is later
confirmed, it is the negation of the constrained clause that must
be added to the toplevel DRS. The same would be true of (3.2.a)
followed by (3.2.d) with right replaced by wrong. Assuming this
fact to be self-evident, I shall not make special note of other
constrainers of this type.
The representation described above will allow an infor-
mation retrieval system to answer questions such as those in
(3.1). However, there remains an implementation problem to be
resolved. Should the system respond only when the constrainer in
the inquiry is identical to that in the original input, or should
it respond when one constrainer in (3.4) is replaced by another?
If the answer is the latter, which constrainers are
substitutable? The answer depends on the needs of the particular
system, and will not be examined further here.
A group of constrainers whose truth evaluation should be
treated in the same fashion is illustrated in (3.5):
(3.5) It seems that Bob kissed Alice.
Constrainers such as seem question or hedge on the truth of their
subjects, which are often extraposed, as in (3.5). Similar
constrainers are shown in (3.6):
(3.6) SAY CLASS (SUBJECT)
seems is likely is possible
appears is probable
Kiparsky and Kiparsky point out the fact that some of these
constrainers allow non-finite for-to clauses (e.g. 'for Bob to
kiss Carol') as their subjects, but do not allow poss-ing (e.g.
'Bob's kissing Carol') subjects. I shall return to this fact
shortly.
11
Many of the Say Class of constrainers have adverbial
forms:
(3.6.a) It is probable that Ted kissed Carol.
(b) Ted probably kissed Carol.
Although the two sentences in (3.6) are synonymous, the
constrained clause in (3.6.a) is dependent while the same clause
in (3.6.b) is independent. Nevertheless, synonymous clauses
should be treated in the same manner; that is, the constrained
clause should not be evaluated for truth in the toplevel DRS.
The group of constrainers shown in (3.7) is syntactically
identical to those in (3.6), but the truth contribution is quite
different.
(3.7) TRUE CLASS (SUBJECT)
true happens certain
chances sure
false turns out
These constrainers assert the truth (or falsity) of the
constrained clause. Thus, the constrained clause should not be
shielded from the truth evaluation of the toplevel DRS. The
simplest representation of a sentence containing one of these
constrainers would ignore the constrainer and add the
representation of the constrained clause to the toplevel DRS.
Such a representation would make it impossible to refer to the
constrained clause (cf. 3.2.d), but such reference seems
unlikely. If such references must be allowed, sentences
containing those constrainers can be handled in the manner of
(3.2.a) followed by (3.2.d).
Note that if one of the True Class of constrainers appears
in negated form, it is the negation of the constrained clause
that is added to the DRS. (However, the negation of certain is a
Say Class constrainer. The converse is true of possible.)
A fourth group of constrainers, although syntactically
identical to the Say and True Classes, makes a truth contribution
that is different from either.
(3.8) REGRET CLASS (SUBJECT)
surprising exciting amuses matters
significant relevant counts suffices
tragic odd bothers makes sense
These constrainers ('factives' for Kiparsky and Kiparsky)
semantically presuppose the truth of their complement clauses.
That is, the complement clause is held to be true, whether the
constrainer appears in positive or negative, declarative or
interrogative form. Therefore, the constrained clause should not
be shielded from toplevel truth evaluation. In addition, these
12
constrainers have semantic content of their own, unlike those in
the True Class. (e.g. The user may want to know what the signif-
icance is.) It is thus necessary to assign a discourse referent
to the constrained clause so that it can appear as an argument to
the constrainer. These considerations suggest that a clause
constrained by one of these terms should be represented twice,
once as an independent sentence and once in the manner of a
clause constrained by a Say Class constrainer.
The fifth group of constrainers functions syntactically
like the Say Class (Object), but makes a truth contribution like
that of the Regret Class (Subject).
(3.9) REGRET CLASS (OBJECT)
regret forget (about) be aware (of)
resent make clear bear in mind
deplore ignore take into
mind comprehend account/
care (about) grasp consideration
These verbs also have semantic content, so discourse referents
for the constrained clauses must be added to the toplevel DRS.
These verbs allow the fact that and poss-ing complements, but not
for-to complements (at least, not with presuppositional value).
Some (regret, forget) have presuppositional value under equi-NP
deletion, but others do not.
Kiparsky and Kiparsky note that the truth contribution of
a clause depends only on the immediate constrainer, no matter how
deeply it is embedded:
(3.10.a) Carol appears to believe that Bob regrets that he
kissed Alice.
(b) Bob kissed Alice.
Thus, (3.10.a) presupposes (3.10.b), because it is constrained by
regret, in spite of the fact that the intervening appear and
believe are Say Class constrainers.
The next class of constrainers is labeled 'indifferent' by
Kiparsky and Kiparsky because the truth of the constrained clause
may or may not be presupposed.
(3.11) SUSPECT CLASS (OBJECT)
suspect acknowledge announce emphasize
anticipate admit report remember
deduce
With poss-ing complements, these verbs are factives, Regret Class
constrainers. With finite and for-to complements, however, it is
unclear whether they are Say Class or True Class constrainers.
13
It may have been noted that there is no list of True Class
(Object) constrainers. This gap is particularly striking when
one considers that two of the verbs in (3.7), certain and sure,
can constrain object clauses.
(3.12.a) It was certain that Bob kissed Alice.
(b) Ted was certain that Bob kissed Alice.
(c) Ted was certain of Bob's kissing Alice.
(d) Bob kissed Alice.
(e) I am certain that Bob kissed Alice.
Sentence (3.12.a) asserts the user's belief that (3.12.d) is
true, but (3.12.b) only asserts Ted's belief; the user may know
Ted to be wrong. Sentence (3.12.c) is even worse; Ted may have
believed that (3.12.d) had already occurred, or that it was
potential. Thus, while these verbs are True Class (Subject)
constrainers, they are Say Class (Object) constrainers.
Almost paradoxically, this class shift holds even with a
first-person subject. Sentence (3.12.e) seems to assert what
(3.12.a) asserts, the user's belief that (3.12.d) is true in the
model. However, the user's choice of (3.12.e) rather than
(3.12.a) is a hedge on that assertion.
Another complex group of constrainers is that shown in
(3.13):
(3.13) KNOW CLASS (OBJECT)
know comprehend learn
see understand realize
When one of these verbs is used in a past tense, it is factive;
the truth of its constrained clause is presupposed, regardless of
the subject or the polarity (affirmative or negative). With a
third-person subject, the constrained clause is presupposed in
the present tense. (It is assumed here that the constrainer is
provided by the user and is not his ironic quotation of the
subject.)
It is when the verb has a first-person subject in a
present tense that the complexity arrives. In this case, the
verbs in (3.13) must be treated on an individual basis. To do
so, it will help to use the template in (3.14), where the blank
is to be filled in by a (possibly negated) constrainer.
(3.14) I __________ a. (that) Bob kissed Alice.
b. (of/about) Bob's kissing Alice.
c. (for) Bob (to) kiss Alice.
The constrainer know allows (3.14.a,b). In either case,
it is like certain: in the affirmative it is a True Class
constrainer, but in the negative it shifts to the Say Class. As
14
in the case of certain, the poss-ing complement is not
presupposed.
In (3.14.b), comprehend and understand presuppose their
complement clauses. The verb understand allows (3.14.a), but
only in the affirmative, in which case it is a Say Class
constrainer, with a meaning something like "Someone said that Bob
kissed Alice." The constrainer realize is acceptable only in
(3.14.a) and presupposes its complement clause; thus, if it is
negated, it denies its own presupposition and the sentence makes
no sense.
The simple present tense of learn does not work in (3.14)
except in special contexts (e.g. an actor referring to his role
as himself), and the present progressive requires that the
learning process be extended, so that what is learned is
(usually) not a simple fact. While in some special contexts the
constrained clause is presupposed, it is more practical to treat
first-person present tense learn as a Say Class constrainer. The
verb see is ambiguous between an act of perception and a state of
cognition. In the former case it allows (3.14.c) (without
prepositions) and is a True Class constrainer. In (3.14.a), see
reports a cognitive state; in the affirmative it acts as does
understand, but in the negative it is a Say Class constrainer.
This section has examined clauses whose truth contribu-
tions to a DRS are constrained by a certain group of predicates
(verbs and adjectives). It has found five classes of
constrainer, some with subclasses according to whether the
constrained clause is the subject (perhaps extraposed) or the
object of the predicate:
(3.15.a) SAY CLASS: The constrainer makes no claim about
the truth contribution of the constrained clause, so
that clause should be shielded from toplevel truth eval-
uation. However, the clause should be identified
by a discourse referent because it may later be
confirmed or contradicted.
(b) TRUE CLASS: The constrained clause is added to the
toplevel DRS because the constrainer asserts the truth
of its complement. (If the constrainer is negated, it
is the negation of the constrained clause that is
added.) Such clauses might not require discourse
referents, although no harm is done if referents are
assigned.
(c) REGRET CLASS: The constrainer presupposes the
truth of the complement clause, so that clause is added
to the toplevel DRS. This addition is independent of
the form of the matrix clause (i.e. affirmative-
negative, declarative-interrogative).
15
(d) SUSPECT CLASS: Presupposition depends on the
syntactic form of the constrained clause. poss-ing
complements are presupposed, but other complements are
unclear about presupposition and are to be treated as
those under Say Class constrainers.
(e) KNOW CLASS: The constrained clause is presupposed
unless the constrainer is first-person, present tense.
In the latter case, each verb requires its own
treatment.
It was noted that some True Class constrainers have
corresponding adverbs. Other adverbs can act as constrainers,
and their truth contributions must be examined. Modal
auxiliaries and verbs with similar semantic value (e.g. ought to,
want to) also require such analysis. Associated with the modal
class is the case of constrained clauses whose truth is not yet
known; should they be left unevaluated, or should they become
'demons' whose truth must eventually be evaluated? These
questions remain to be answered.
In the next section we examine a computer implementation
of DRT that is able to handle certain of the constrained clauses
described here.
4. AN IMPLEMENTATION OF DRT
In this section and the next we describe a computer
implementation of DRT. It takes as input a 'discourse' of one or
more English sentences, parses the input and constructs a DRS for
it, and then asserts the set of conditions in that DRS to a
Prolog knowledge base. The language it accepts includes both the
types of sentence described in Section 2 and a subset of those
described in Section 3. Specifically, it handles noun clause
complements of a selected group of Say, True, and Regret Class
Constrainers.
This implementation is an extension of From English to
Prolog via Discourse Representation Theory (Covington, Nute,
Schmitz, & Goodman, 1988; henceforth CNS&G). That program is "a
set of techniques for translating the discourse representation
structures of Kamp (1981) into semantically equivalent clauses in
a slightly extended form of Prolog. (1)" That program is in turn
an extension of An Implementation of Discourse Representation
Theory (Covington & Schmitz, 1988; henceforth C&S), "a program
that constructs discourse representation structures from ordinary
English input. (1)" It, in turn, is an extended version of the
program described in Johnson & Klein (1986). (The extension to
be described in Section 5 of this report is designated CONSTRAIN.
Note that the abbreviations C&S and CNS&G will be used to refer
both to the programs and to the documents describing them.)
16
Phrase Structure Rules
C&S is a top-down parser, written in definite clause
grammar (DCG) notation, for a phrase structure (PS) grammar. The
PS rules are augmented with a hold mechanism that allows the
parsing of certain empty categories, and with a feature structure
that allows syntactic and semantic information to be passed from
one node of the parse tree to another. Although Kamp employs a
top-down procedural algorithm, CNS&G view the PS-to-DRT mapping
as a static relation defined in terms of unification of feature
structures. (The CNS&G view follows that of Johnson & Klein
(1986) and is in the spirit of Zeevat (1989)).
The addition of a hold mechanism and a feature structure,
although necessary to give the program its power, can make the
description of the parser complicated; the reader who is only
concerned with the syntactic rules is likely to be confused by
the presence of the feature unification rules. To avoid that
confusion, this description will be presented in three passes.
The first pass will treat the parser as if it consisted of DCG
rules only, the second will add the hold mechanism to that
description, and the final pass will treat the feature structure.
Because of the interaction between the three, this neat
simplification is not entirely possible. For the first two
passes the reader must accept without explanation the fact that
the semantic features carry the DRS for the portion of the
discourse already processed.
C&S accepts discourses that conform to the PS rules shown
below. (Parentheses indicate optional elements; the parser
actually has separate rules for these possibilities. Words in
brackets are terminal symbols.)
(4.1) discourse --> statement, (discourse).
discourse --> question, (discourse).
statement --> sentence.
question --> [does], np, vp.
question --> [is], np, adj.
question --> [is], np, np.
sentence --> np, vp.
sentence --> np, [does, not], vp.
sentence --> np, [is], adj.
sentence --> np, [is, not], adj.
sentence --> np, [is], np.
sentence --> np, [is, not], np.
sentence --> [if], sentence, [then], sentence.
The PS rules for VP and Adj are straightforward, as is
shown in (4.2). (Form is a variable representing a terminal
symbol.)
17
(4.2.a) vp --> v, np.
(b) vp --> v.
(c) v --> [Form].
(d) adj --> [Form].
As we shall see below, syntactic features prevent (4.2.c) from
selecting a transitive verb for (4.2.b), or an intransitive for
(4.2.a).
While the rules for VP are essentially those of Chomsky
(1965), the NP rules make use of X-bar theory. NP is bar-3, and
numeric suffixes indicate the other bar levels. As is the case
for VP, syntactic features subcategorize Form for lexical
insertion--proper or common noun. (Pronoun is a notational
device; each gender of pronoun requires a separate rule. C&S is
not sensitive to pronoun case.)
(4.3.a) np --> n. (Proper noun)
(b) np --> [Pronoun].
(c) np --> []. (Empty category)
(d) np --> det, n2.
(e) n2 --> n1.
(f) n2 --> n1, relcl. (NP with relative clause)
(g) n1 --> n.
(h) n1 --> adj, n1.
(i) n --> [Form].
Rules (4.3.c) and (4.3.f) will be discussed with the hold
mechanism. Rule (4.3.b) searches the incoming DRS for the most
recent discourse referent that matches Pronoun in gender.
(Remember that this version of DRT does not handle plural NPs.)
Rule (4.3.h) is recursive, so n1 may contain any number of
adjectives.
In order to handle empty categories, C&S adds to each
phrasal rule two arguments, an input and an output hold list.
When rule (4.3.f) is applied, the discourse referent of n1 is
placed at the head of the input list and that list is passed to
relcl. When (4.3.c) is applied while processing relcl, the first
referent on the hold list is removed and assigned to the empty
category. This procedure insures that empty categories are
instantiated on a last-in-first-out basis. The rules for
discourse, statement and question require that the hold lists be
empty, since empty categories cannot be bound across sentence
boundaries.
Unification of Feature Structures
The C&S parser incorporates a unification based grammar
(Schieber 1986) that passes feature structures from one node of
the parse tree to another. Since features are passed by means of
unification, it is possible to pass a feature from one node to
18
another before it has been instantiated. For example, rule
(4.2.a) unifies the discourse referent of np with the second
argument of v before either (4.2.c) or (4.3) is applied.
The use of feature structures is facilitated by the use of
the GULP extension to Prolog (Covington 1987). GULP makes it
possible for the programmer to refer to features by name, rather
than by position in the feature structure. In consequence, a
parser written in GULP is much easier to read than is one written
in standard Prolog notation. The C&S parser uses syntactic
features that constrain the parse procedure and semantic features
that construct DRSs during the parse procedure.
The syntactic features employed by C&S are syn:index,
syn:class, syn:arg1 and, syn:arg2. syn:index is a unique integer
that is generated for each noun in the discourse; its value is
the discourse referent that is used to bind pronouns and empty
categories. syn:arg1 and syn:arg2 are also integers; they are
unified with the syn:index features of the nouns in a sentence
and become the arguments of its predicates. The syn:class
feature of a noun (proper or common) or verb (transitive or
intransitive) is a subcategorization that serves to constrain the
parse procedure, as was noted above.
The semantic features are sem:in, sem:out, sem:res:in,
sem:res:out, sem:scope:in, sem:scope:out. GULP makes it possible
to address an individual feature or a bundle of features; for
example, a variable may be bound to sem:res:in, to sem:res (both
in and out are bound), or to sem (all features are bound).
Features may be cross-unified, so that sem:res of one node may be
bound to sem of another node.
The value of a semantic feature is a list of one or more
structures of the form drs(U, Con), where U is a list of
discourse referents and Con is a list of conditions. The first
drs/2 on the list is the representation currently being
processed. Not all of the features are instantiated for every
node; in fact, most nodes use only the sem:in/out features. Each
parent node instantiates the sem:in of its daughter(s) to the DRS
for the portion of the discourse already processed. The daughter
then adds its own discourse referents to U and its conditions to
Con, and returns the expanded drs/2 as sem:out to its parent.
(The initial sem:in for a discourse is [drs([], [])].)
Consider, for example, (4.4), which gives the full form of
(4.2.d) along with the rules that it calls.
19
(4.4.a) adj(Adj) --> [Form],
{adjective_features(Form, Adj)}.
(b) adjective_features(Form,Adj):-
append(Semantics, Con, NewCon),
Adj = syn: (index:I) ::
sem: (in : [drs(U, Con)| Super] ::
out: [drs(U, NewCon)| Super]).
(c) adjective(big, lambda(I, [big(I)])).
The N1-rule that calls (4.4.a) unifies the syn features of
Adj with those of the noun that the adjective modifies. It also
unifies the sem:in feature of Adj with the appropriate feature of
that noun (which feature it is unified with depends on the
calling rule). The entire feature structure of Adj is then
passed to (4.4.b).
Rule (4.4.b) unifies I with the syn:index feature of the
modified noun and passes it to (4.4.c), which in turn unifies it
with the argument of Form, the adjective being processed. The
resulting structure is appended to Con, the condition list on the
input DRS, and the result, NewCon, is passed in the output DRS.
The sem:res and sem:scope features are needed in order to
handle universally quantified NPs. DRT treats a sentence with a
universally quantified NP as an implication. The antecedent, the
sem:res feature, consists of the information in the NP itself,
information that restricts the set to which the NP refers. The
consequent, the sem:scope feature, consists of the information in
the remainder of the sentence, the scope of the NP. Scope is
determined by the left-to-right ordering of NPs; the verb falls
within the scope of all NPs, and the object NP is within the
scope of the subject NP.
C&S follows Johnson & Klein (1986) in treating the
determiner as the key element in determining quantification.
Thus, the sem of a sentence is the sem of the subject NP, which
in turn is the sem of the determiner of that NP. Consider (4.5).
20
(4.5) det(Det) --> [every],
{ Det = sem:in:A,
Det = sem:res:in:[drs([],[])|A),
Det = sem:res:out:B,
Det = sem:scope:in:[drs([],[])|B],
Det = sem:scope:out:
[Scope,Res,drs(U,Con)|Super],
Det = sem:out:[drs(U,[ifthen(Res,Scope)|
Con])|Super] }.
Let us assume that (4.5) is called by an NP-rule that is
called directly by an S-rule (i.e. the NP in question is the
subject of the sentence), and let us trace the feature
unifications through the parse tree. At this point, the only
feature that has been instantiated is sem:in (A in rule (4.5)),
which contains the DRS for the preceding portion of the
discourse. The NP-rule unifies its entire sem feature with that
of Det, and the S-rule likewise unifies its sem feature with that
of NP. The S-rule also unifies the sem of VP with the sem:scope
of NP, from which it is passed to the sem:scope of Det. The NP-
rule also unifies the sem of N2 with sem:res of Det.
Rule (4.5) unifies A with sem:in, the incoming DRS list,
and conses to A a DRS with empty universe and condition lists.
The resulting list becomes sem:res:in, and therefore sem:in of
N2. The N2-rule fills those empty lists and returns them as B,
the sem:res:out of Det. (4.5) then prefixes an empty DRS to B,
producing the sem:scope:in of Det and NP, and the sem:in of VP.
The VP-rule fills the empty DRS and returns it as sem:scope:out
of NP and Det. (4.5) extracts from sem:scope:out the first three
DRSs: Scope, the now filled DRS from VP, Res, the now filled DRS
from N2, and the first DRS in A (the input DRS list), drs(U,
Con). Finally, Res and Scope are made arguments to the functor
ifthen, which is prefixed to Con. The result is the sem:out of
Det, NP, and S.
Rule (4.5) is more complicated than most of the C&S rules,
but all phrasal rules work in the same general fashion. The
reader is referred to C&S for complete specification of the
grammar; here we are concerned with the extensions to that
program necessary in order to handle constrained clauses.
Prologization of a DRS
CNS&G adds to C&S procedures that translate the DRS in the
sem:out feature of a discourse into Prolog clauses
(Prologization) and then assert/process those clauses. Again, we
are concerned primarily with those portions that must be modified
or extended for the present implementation. The reader is
referred to CNS&G for a complete specification of that program.
21
Before translating the set of conditions of the output DRS
into Prolog, two "clean-up" steps must be performed. The lexical
insertion rules of the parser provide two conditions for each
noun in the discourse: the property denoted by the noun and the
gender of the noun. The latter is needed only for anaphora
resolution and is discarded before that set is processed.
The second clean-up step involves unifying equated
discourse referents. The original C&S parser assigns to each
noun a unique integer, even in sentences such as (4.6):
(4.6) Pedro is a farmer.
The parser would then add a condition that equates the discourse
referent of Pedro with that of farmer. The parser in CNS&G is
modified to defer the assignment of integers to discourse
referents to the Prologization module. That delay makes it
possible to unify the discourse referents for (4.6) so that only
one integer is assigned to them. With that unification
accomplished, the universe of the DRS is no longer needed, and
Prologization converts the list of properties/relations in the
conditions into a list of Prolog clauses.
Prologization works its way through the list of conditions
and produces a new list that is suitable for asserting or
querying. If a condition is a simple property or relation, the
output of a lexical rule, it is simply added to the new list. If
the condition is query(DRS), DRS itself has to be cleaned up,
Prologized, and converted into a conjunction of clauses. If the
condition is ifthen(DRSA, DRSC), DRSA (the antecedent) and DRSC
(the consequent) must be cleaned up and Skolemized before they
can be Prologized and converted into conjunctions of goals.
Skolemization involves binding each uninstantiated variable in
DRSC that does not appear in DRSA to a list whose head is a
unique integer and whose tail is the universe of DRSA.
Skolemization insures that such variables have existential import
and narrow scope.
Processing Prologized Clauses
The output of Prologization is a list of clauses, each in
one of the following forms:
(4.7.a) Clause
(b) neg(Clause)
(c) (ClauseList1 ::- ClauseList2)
(d) query(Clause)
Processing (4.7.a) in the assert/query module is a simple matter
of asserting Clause. CNS&G does not support negation; (4.7.b) is
processed simply by noting that negation is not supported. The
symbol ::- in (4.7.c) is a functor corresponding roughly to :- in
22
Prolog; processing involves converting the list of clauses into a
conjunction of Prolog terms and asserting them. Similarly,
Clause in (4.7.d) is converted to a conjunction of Prolog terms
and called, and the result is reported to the user.
Actually, CNS&G does not assert or query anything; it
simply announces what it would do if it did. One of the first
extensions to that implementation made by CONSTRAIN is to make
the processing step work. In essence, this extension is a matter
of making the program do what the CNS&G program says it would
do. In the case of (4.7.b), Clause is not converted to a
conjunction of terms; it remains a list, the single argument to
neg.
This treatment of negation is rather cursory, but the
treatment of negation is not the focus of this study. CONSTRAIN
extends the C&S grammar to include disjunction, to which the
processing step pays similar lip service. This limitation is due
to the fact that a disjunction such as (4.8.a) is not a Horn
clause and cannot be represented directly in Prolog (although a
disjunction may appear in the body of a rule). (4.8.a) could be
represented as (4.8.b) and (4.8.c), but it would be unwise to do
so before the details of neg/1 are worked out.
(4.8.a) p OR q
(b) p ::- neg(q)
(c) q ::- neg(p)
(d) query(p)
Further extensions to the grammar require more significant
refinement of the assert/query module especially in the case of
questions; we shall return to these after examining the
extensions to the parser.
5. EXTENDING THE IMPLEMENTATION OF DRT
CONSTRAIN is divided, for ease of development, into eleven
modules:
(5.1) DRT_LOAD.GLP
DRT_UTIL.GLP
DRT_PS1.GLP
DRT_PS2.GLP
DRT_PS3.GLP
DRT_LEX.GLP
DRT_RED_GLP
DRT_PRO1.GLP
DRT_PRO2.GLP
DRT_TRY.GLP
DRT.TEST.GLP
23
DRT_LOAD loads the program. Files that include feature
structures make use of the GULP load/1 command, which converts
GULP feature notation into Prolog form. Those that do not use
feature structures are consulted because that procedure is
faster. DRT_LOAD also defines the goal loadred/0, which is used
to load the lexical redundancy rules in DRT_RED, a process that
must be repeated every time the knowledge base is cleared with
newkb/0. Placing all of the load commands in one file
facilitates relocating the program. If, for example, the program
is to be run from the A: drive, only DRT_LOAD need be edited.
DRT_UTIL contains general utility routines, such as list
manipulation procedures, and procedures for displaying a DRS in a
readable form.
DRT_PS1, DRT_PS2, and DRT_PS3 contain the phrase structure
rules. DRT_PS1 contains lexical insertion rules: rules that make
direct calls to the lexicon (DRT_LEX). DRT_PS3 contains rules
that deal with whole clauses (discourse, question, statement).
DRT_PS2 contains rules that rewrite intermediate structures.
DRT_LEX and DRT_RED contain the lexicon. The former
contains the lexicon proper, while DRT_RED contains lexical
redundancy rules, such as the rule that allows the program to
infer that Bob is a man.
DRT_PRO1 and DRT_PRO2 contain the rules that apply the DRS
output by the parser to a Prolog knowledge base. DRT_PRO1
contains the Prologization module that translates the conditions
of the DRS into Prolog clauses, and DRT_PRO2 contains the
assert/query module that asserts these clauses to the knowledge
base or calls them as queries to that knowledge base.
DRT_TRY and DRT_TEST contain the user interface. DRT_TRY
contains the rules that accept an input and send it to the
program for processing, while DRT_TEST contains a test suite that
calls DRT_TRY for processing.
Knowledge Representation
Most of the changes to C&S involve the addition of PS
rules to DRT_PS2 or DRT_PS3. These additions, of course, entail
concomitant modifications to the other modules. These
modifications, however, are based on a more fundamental
modification, a change in the form of knowledge representation in
DRT_LEX.
In Kamp's version of DRT, conditions are represented as
predicate-argument structures: Pred(Arg) or Pred(Arg1, Arg2).
Pred is the natural language word (noun, verb, or adjective), and
Arg is a discourse referent. C&S follows that representation,
with one modification: rather than being treated as predicates,
24
proper nouns are second arguments to the predicate named/2.
Thus, (5.2.a) is represented by the conditions in (5.2.b).
(5.2.a) Bob kisses Alice.
(b) [named(1, bob), named(2, alice), kiss(1, 2)]
This representation poses several problems for the design
goals of CONSTRAIN: First, with such a representation it is
awkward to distinguish between events and states. Although that
distinction plays a relatively minor role in this implementation,
it could play a major role in an extension that incorporates
Guenthner's (1987) proposals.
Second, as was noted in Section 3 of this report, some
constrainers behave differently depending on the tense of the
sentence, so it is necessary to include tense in the
representation. It would, of course, be possible to add an
argument for tense to the structure shown above, but such a
solution would be, at best, unesthetic.
Third, in order to query a knowledge base using the format
shown above, it is necessary to know the predicate in advance.
One can ask who Bob kisses, but one cannot ask what Bob does.
Finally, the use of redundancy rules is very awkward with this
format. Given (5.3.a), one would like to get an affirmative
response to
(5.3.b).
(5.3.a) Bob knows that Ted kissed Alice.
(b) Does Bob believe that Ted kissed Alice?
Using the knowledge representation in (5.2.b), it is necessary
to have a separate rule for each verb that entails believe.
In order to overcome these difficulties, this program
reifies natural language predicates so that they become arguments
to Prolog predicates. (This, in effect, is the reverse of Kamp
(1981), who uses proper nouns as predicates.) Thus, the
conditions in a DRS have one of the four forms in (5.4).
(5.4.a) named(Index, Name)
(b) isa(Noun, Index)
(c) event(Tense, Event, [Arg1|Rest])
(d) state(Tense, State, [Arg1|Rest])
Event is an action verb, while State is a stative verb or an
adjective. Representing the argument(s) to a natural language
predicate as a list makes it unnecessary to have separate rules
for addressing one- and two-place predicates.
Representations (5.4.a,b) are adequate for the current
implementation, which assumes that the name and/or class of an
entity does not change during the time covered by a discourse.
25
If the program is to cover greater periods of time, tense
arguments must be added to these predicates in order to account
for (5.5.a, b), for example.
(5.5.a) Bob was a boy.
(b) Bob is a man.
For affirmative statements, the addition of time reference
to the knowledge representation requires, at first glance, only a
simple modification of the lexical rules. That is, the C&S rule
in (5.6.a) need only be changed to that in (5.6.b) and an
additional rule be added for saw.
(5.6.a) transitive_verb(sees,
lambda(A1, A2, [see(A1,A2)]))
(b) transitive_verb(sees,
lambda(pres,A1, A2,
[event(pres, see, [A1,A2])])
For negatives and questions, however, tense is determined
by the form of the auxiliary, not that of the main verb. It is
necessary, therefore, to add a syntactic feature, syn:tense, to
the GULP feature structure in order to pass tense from the
clause-level rule to the lexical rules. Thus, for example, the
question rule of (4.1), repeated as (5.7.a), is modified to the
form of (5.7.b). (For clarity of exposition, hold arguments are
not shown, and only those feature unification rules that are
relevant to the present discussion are displayed.)
(5.7.a) question(Q) --> [does],np(NP),vp(VP).
(b) question(Q) --> {DO = syn:tense:Tense,
VP = syn:tense:Tense,
NP = syn:tense:Tense},
do(DO), np(NP), vp(VP).
(5.7.b) requires the addition of a lexical insertion rule for do
and lexical rules for do and does. The variable Tense is bound
in the do rule, and its value is passed, by way of VP, to the
lexical rule for the verb. Similar modifications are needed for
the PS rules that include the copula is, passing tense to the
subject complement.
(5.7.b) does not pass syn:tense only to VP; it also
unifies that feature with the corresponding feature in NP.
Although nouns do not have tense (at least, in the present
system, but see the discussion of isa/2 above), nouns may be
modified by attributive adjectives--states that require tense
arguments--which receive their tense from the matrix clause.
Thus, every clause-level rule must pass a tense feature to its
subject, and a VP rule must pass that feature to the direct
object.
26
Even within the limits noted above, the addition of time
reference to the knowledge representation introduces a further
difficulty: the frame problem. Given that a state obtained in
the past, does it continue into the present? For the human
processor of natural language, the frame problem is rarely a
problem. He knows which states can be assumed to be permanent
(in the absence of evidence to the contrary) and which can be
assumed to be momentary. For those states that fall in between,
he is able to assign a probable length of duration. This
assignment is based on real-world knowledge of the state and the
participants. Acquiring and programming such knowledge, however,
is a daunting problem for artificial intelligence. As is the
case for negation, CONSTRAIN adopts a simplistic approach: a
state that was true in the past remains true in the present
unless its negation in the present has been asserted. This
approach is encoded in a meaning postulate in the file DRT_RED:
(5.8) state(pres, Verb, Args) :-
state(past, Verb, Args),
not neg([state(pres, Verb, Args)])
Proper Nouns
A further extension that is independent of processing
constrained clauses is the treatment of proper nouns. Kamp
(1981) assigns a discourse referent to each proper noun, and then
equates those referents that are arguments to the same name;
thus, there can be only one individual for each name. CNS&G take
the opposite approach, allowing for more than one individual with
a particular name. Each proper noun is assigned a unique
integer, and there is no way to show that two instances of Bob
refer to the same individual.
CONSTRAIN takes a middle road. Within a discourse (a list
of words and punctuation marks), all instances of a proper noun
are assumed to refer to the same individual. The first rule for
a proper noun treats it as a pronoun, seeking a match in the
input universe. If a match is found, the new instance is
assigned the same discourse referent; otherwise a new discourse
referent is generated.
Between discourses that apply to the same knowledge base,
however, the program allows for the possibility that a new
instance of a name refers to a different individual. Before the
input string is sent to the parser, the rule preprocess/2 creates
a list of the proper nouns in the input, eliminates duplication,
and queries the user about each of the names that appears in the
knowledge base. If the user responds that this is the same (i.e.
last mentioned) or the previous individual of that name, the ap-
propriate named/2 and gender/2 propositions are placed in the
initial DRS, K0; otherwise the parser will generate a new
discourse referent for the name. To allow correct application of
27
this procedure, when the assert/query module of DRT_PRO2
encounters a named/2 clause it first retracts that clause, if it
is present in the knowledge base, and then adds it with asserta/1
to insure that it will be the next such clause to be accessed.
(Note that pronominal anaphora can only be resolved within
a discourse. In order to address a discourse referent in the
knowledge base, it is necessary to refer to that individual by
name.)
Answering a Query
A final modification to CNS&G that is necessary for the
handling of constrained clauses but also applies to other clauses
is an extension of the mechanism for querying the knowledge base.
A query in CNS&G can only ask a yes/no question: given (5.9.a),
one may query (5.9.b), but not (5.9.c,d).
(5.9.a) Bob kissed Carol.
(b) Did Bob kiss Carol?
(c) Who kissed Carol?
(d) Whom did Bob kiss?
The first problem is to find a place to put the answer.
The CNS&G program would handle questions by converting the list
of queried propositions to a conjunction in the Prologization
step and passing that conjunction to assert_or_process/1, That
predicate in turn calls test(Goal, Result) and prints Result.
test/2 uses the built-in predicate call/1 to test that
conjunction. Result is bound to 'yes' if the call succeeds and
'no' if it fails.
The first step in this extension to that program is to
expand the possibilities for Result. test(Goal, Result), after
displaying the goal that is being queried, calls test_list(Goal,
Result). If the latter call fails, Result is bound to
'INSUFFICIENT DATA'; otherwise it returns the value assigned by
test_list/2.
test_list/2 tries three methods for assigning a value to
Result. The first method is that of CNS&G, converting the list
of propositions to be queried into a conjunction and calling that
conjunction; if the call is successful, Result is bound to
'AFFIRMATIVE.' The next method checks the knowledge base for
neg(Goal); if that check succeeds, Result is bound to 'NEGATIVE.'
Thus, this implementation replaces Prolog's negation-as-failure
with true negation. However, this procedure is not complete; a
query will return 'NEGATIVE' only if an identical list of
propositions exists as an argument to neg. Consequently, the
response to (5.10.b) will be 'INSUFFICIENT DATA.'
28
(5.10.a) Bob did not kiss a woman.
named(p0, bob),
neg([isa(X, woman), event(past, kiss, [p0, X])])
(b) Did he kiss a pretty woman?
query([isa(Y, woman), state(past, pretty, [Y]),
event(past,kiss,[p0, Y]) ])
If neither of the above methods succeeds, test_list/2
enters a recursive loop that calls query(Goal, Result) on the
head of the list of queries and than calls
test_list/2 on the remainder of the list. This recursion is
necessary in order to handle wh-questions.
At first glance, the treatment of wh-questions might seem
a trivial matter. One need only leave the discourse referent for
the interrogative word unbound, so that query/2 will seek to
bind it. However, the CNS&G parser leaves the discourse
referents of all common nouns unbound until the clean-up step is
reached, at which point it is impossible to distinguish the
referents that should be bound from those that should remain
free. To overcome this difficulty, the CONSTRAIN parser unifies
the pertinent syn:arg with the atom wh. A query containing wh
will not unify with any clause in the knowledge base, so the
first two methods for test/2 will fail for such a clause. (Note
that the treatment of interrogative who/who is quite distinct
from that for relative who/whom, which unifies the syn:index of
the relative pronoun with that of its antecedent.) When query/2
encounters such a clause, it uses the built-in predicate set_of/3
on a copy of the clause with wh replaced by a variable. It then
uses get_id_list/2 to produce a list of names of those discourse
referents or, if they are not named, of their classes. Result is
then bound to that list.
The recursion on test_list terminates when one of three
conditions is met:
(5.11.a) The input list is empty and Result is bound.
(b) The input list is empty and Result is free (it is
neither 'NEGATIVE' nor a discourse referent).
Result is then bound to 'AFFIRMATIVE.'
(c) The input list can be satisfied by one of the
non-recursive methods. Result is then bound to
that Result.
Note that if Result is bound by query/2, test_list(Goal, Result)
cannot unify with the non-recursive methods.
29
Constrained Clauses: Say Class
The extensions to CNS&G described above provide the tools
necessary for the addition of constrained clauses to the language
handled by the extended program. The first step in adding such
clauses is the development of a representation of the embedded
clause, an implementation of the proposition markers used by
Spencer-Smith (1987) and Asher (1986). The representation chosen
is an additional knowledge base predicate, prop(Index, Clause).
This structure is created by the following PS rule:
(5.12) nouncl(NC, [], []) -->
{ NC = syn:index:Index,
NC = sem:in:A,
S = sem:in:[drs([],[])|A],
S = sem:out:[DRS,drs(U, Con)|Super],
NC = sem:scope:in:[drs([Index|U],
[prop(Index,DRS)|Con])|Super],
NC = sem:scope:out:DRSList,
NC = sem:out:NewDRSList },
[that], s(S, [], []),
{ add_to_topmost_drs(Index,
[prop(Index, DRS)],
DRSList, NewDRSList) }.
The hold lists in (5.12) must be empty in order to prevent
an empty category's referring to an element outside its governing
category. Like the rules for quantified NPs and negated
sentences, (5.12) first conses an empty DRS to the input DRS;
that DRS is filled in as S is processed, becoming DRS. The
remaining NC unification rules convert Index and DRS into a
prop/2 structure and create the output. After the DCG rule has
instantiated those bindings, the rule add_to_topmost_drs/4
elevates Index and the prop/2 structure to the toplevel DRS.
The nouncl rule is called by the rules VP --> V NC and
S --> it BE (not) Adj NC, which bind the syn:class feature of V
to 'mental.' The 'mental' feature contrasts with the features
'transitive' and 'intransitive,' in the case of verbs, and
'common,' in the case of adjectives. The syn:class feature in a
lexical insertion rule determines which lexical rule will be
called, and the distinction must be reflected in the lexicon.
These modifications allow the program to handle clauses
constrained by the Say Class of constrainers. Such clauses are
simply added to the DRS and are shielded from further truth
evaluation. Thus, the program at this point will properly handle
the discourse in (5.13). (Responses to queries are shown below
the queries.)
30
(5.13.a) Bob said that Ted kissed Alice.
(b) Did Bob say that Ted kissed Alice?
AFFIRMATIVE
(c) Who said that Ted kissed Alice?
bob
(d) Did Ted kiss Alice?
INSUFFICIENT DATA
(e) What did Bob say?
event(past, kiss, [ted, alice])
Regret Class Constrainers
In order to extend the set of constrainers that the
program handles to the Regret Class, the PS rule that calls the
nouncl-rule must call check_factive(NC, X) after the DCG rule
completes feature bindings. NC is the feature structure of the
constrained clause (actually, only the sem:out feature is used),
and X is that of the constrainer's category (verb or adjective).
check_factive/2 tests the constrainer with factive(Constrainer),
a redundancy rule in DRT_LEX. If the test succeeds,
add_to_topmost_drs/4 elevates the discourse referent(s) and
condition(s) of the constrained clause to the toplevel DRS and
the sem:out feature of X is bound to the result. If the test
fails, the sem:out feature of X is bound to that of NC.
Crucially, check_factive/2 makes no distinction between positive
and negative constrainers, although different rules are necessary
to handle the two structures.
Given this addition to the program, if say in (5.13) is
replaced by regret, the response to (5.13.c) is AFFIRMATIVE.
Thus, the program is able to handle Regret Class constrainers
properly. Since the Know Class differs from the Regret Class
only for first-person subjects, and since this parser does not
handle first-person NPs, the latter class is subsumed by the
former; in fact, three of the five factive constrainers included
in the program are effectively in the Know Class. The parser is
also limited to constrained clauses in the that S form, and
Suspect Class constrainers are factive only in the poss-ing form,
so that class is omitted from consideration.
Implicational relationships between know on the one hand
and think and believe on the other are captured in lexical
redundancy rules in DRT_RED. Another redundancy rule takes a
rather optimistic view of learning: that if someone has learned
something, he knows it. With these additions, the program will
handle the following discourse:
31
(5.14.a) Carol learned that Bob kissed Alice.
(b) Did Bob kiss Alice?
AFFIRMATIVE
(c) Does Carol know that Bob kissed Alice?
AFFIRMATIVE
(d) Does Carol believe that Bob kissed Alice?
AFFIRMATIVE
True Class Constrainers
As Kiparsky and Kiparsky (1970) note, the truth con-
tribution of a clause embedded under a factive verb depends only
on the immediate constrainer; depth of embedding is irrelevant.
It is for this reason that check_factive/2 can work in the
parser, even though depth of embedding is not available at the
time the rule is called. In fact, if the treatment of such
clauses were deferred, the constrainer might be buried in a list
(e.g. within prop/2) and not available for examination. That
independence does not hold for clauses constrained by True Class
constrainers. Such clauses are true only if the constrainer is
true (i.e. a toplevel assertion or the complement of a factive),
and the constrainer's truth value is not available when the con-
strainer is being parsed. Furthermore, the effect of a True
Class constrainer is dependent on its polarity, and that informa-
tion also may not be available when the constrainer is being
parsed. Thus, the treatment of complements of such constrainers
must be deferred to the processing step of the program.
CNS&G uses the predicate note/1 to assert the output of
the Prologization step to the knowledge base. That rule would
simply assert its argument. CONSTRAIN expands note/1
considerably so that it tests its argument before asserting it.
One modification that has gone unremarked is that note/1 first
attempts to retract the clause before asserting it, then uses
asserta/1 rather than assertz/1, as in CNS&G. These steps
eliminate duplication in the knowledge base and insure that the
most recently evoked clauses are at the head of the knowledge
base. It is the latter feature that allows proper nouns to be
identified across discourses. A further modification that is
made necessary by the addition of True Class constrainers is the
elimination of double negation; if the argument to neg/1 is
itself a neg/1, the argument of the inner negation is processed
and asserted.
The only clauses that reach note/1 for processing are
those that are not shielded from truth evaluation--initially,
toplevel assertions and conditions that have been raised to
toplevel by check_factive/2. Implications, including those
created from universally quantified NPs, have been converted into
32
proper Prolog rules and are subject to the constraints imposed by
the interpreter. Clauses that constitute the conditions of
negations and of embedded clauses remain in a list, an argument
to neg/1 or prop/1, and are not sent to note/1 on their own.
The representation of a True Class constrainer has the
form state(Tense, State, [X]), where State is the constrainer and
X is the discourse referent for the embedded prop/1. When note/1
encounters a clause of that form, it calls the disjunctive query
(true(State); certain(State)). These predicates, similar to
factive/1, identify those constrainers whose complements are to
be asserted to the knowledge base when the constrainer is
positive. If the call succeeds, prop(X, PropList) is called and
PropList is Skolemized and processed. The original argument to
note/1 is also asserted.
Processing PropList may bring a new True Class constrainer
to note/1. Thus, a clause embedded successively under True Class
constrainers will eventually come to note/1 to be asserted.
However, if a Say Class constrainer intervenes, the sequence will
be blocked. Thus, (5.15.c) will receive AFFIRMATIVE if (5.15.a)
has been entered, but INSUFFICIENT DATA if only (5.15.b) has been
entered.
(5.15.a) It is true that it is certain that Ted kissed Carol.
(b) It is true that it is possible that Ted kissed Carol.
(c) Did Ted kiss Carol?
Since PropList is a list of conditions, there is no
universe to provide the set of discourse referents to be
Skolemized, so set_of_args(PropList, Args) must be called to
collect those referents. Actually, this predicate was already
necessary. This program, like C&S, raises the discourse
referents of proper nouns to toplevel during parsing. CNS&G does
not do so, so these referents are available in the subordinate
universe when an implication is Skolemized. Thus, this program
must call set_of_args/2 before Skolemizing an implication.
note/1 follows a similar procedure in the case of
neg([state(Tense, State, [X])]). In this case, however, the
disjunctive query is (true(State); possible(State)); which
identifies those constrainers for which, when negated, the
negation of the complement should be asserted.
33
note/1 is also used to handle the discourse shown in
(5.16), the last of the extensions to CNS&G.
(5.16.a) Alice thinks that Ted kissed Carol.
(b) Alice is right.
(c) Did Ted kiss Carol?
AFFIRMATIVE
Because think is a Say Class constrainer, (5.16.c) will receive
INSUFFICIENT DATA if it only has (5.16.a) to work on. In order
to handle (5.16.b), it is necessary to find what she is right
about and process that proposition appropriately. The following
clause for note/1 accomplishes that.
(5.17) note(state(Tense, Truth, [X])):-
(Truth == right ; Truth == wrong),
(event(Tense, _, [X,P]) ;
state(Tense, _, [X,P])),
prop(P, Prop),
note_truth(Prop, Truth).
If Truth is bound to 'right' or 'wrong,' note/1 seeks an event or
state whose subject is X and whose complement is an embedded
clause. It then passes Prop and Truth to note_truth/2, which
asserts Prop or its negation, according to the value of Truth.
If the clause to be asserted already exists in the knowledge
base, note_truth/2 simply advises the user; if the opposite of
the clause exists there, it is retracted before the new clause is
asserted. This is a rather simple-minded treatment of belief re-
vision, but CONSTRAIN assumes that anything entered by the user
is true unless it is constrained.
6. CONCLUSION
This report has presented an extension of Discourse
Representation Theory that allows the representation of embedded
noun phrases whose truth evaluation demands special treatment
(constrained clauses), treatment that is determined by the
constrainer (verb or adjective) of the embedded noun phrase. It
has also described an implementation of DRT, CONSTRAIN, that
takes an English language input (which may contain such clauses)
and transforms it into a Prolog knowledge base that can be
queried. Both the theory and the implementation remain at the
experimental stage; both must be extended considerably before
they can be used as a natural language interface for practical
programs. In this section we consider some of the necessary
extensions.
The most needed extension to the implementation is a
proper treatment of negation. CONSTRAIN replaces the negation-
34
as-failure of Prolog with true negation, but in so doing it
trades one form of unsoundness for another. CONSTRAIN will
return NEGATIVE as the response to a query only if the knowledge
base contains a clause neg(Query) such that the elements in the
query exactly match those in Query. Thus, CONSTRAIN may return
INSUFFICIENT DATA to a query when the knowledge base contains
information that entails the response NEGATIVE.
With a more complete treatment of negation, proper
treatment of disjunction may be added. CONSTRAIN can parse a
disjunction and add it to the knowledge base, but it is unable to
use those disjunctions in order to infer conclusions. As was
noted in Section 4, a more complete treatment of negation will
make possible a more adequate treatment of disjunction.
Improved treatment of negation and disjunction are matters
of the DRT-to-Prolog portion of CONSTRAIN. An extension needed
at the other end of CONSTRAIN, the parser, is the ability to
handle other syntactic types of constrained clauses: poss-ing and
for-to complements. That extension is made difficult by the fact
that either construction may involve equi-NP deletion. Given
such an extension to the parser, it should be possible to add
other constrainers that take VP complements to the language
handled by CONSTRAIN.
Other needed additions to the parser are the facilities to
handle subordinating conjunctions and sentence adverbials (e.g.
probably, certainly). The former require a knowledge
representation that allows non-constrained clauses to be
addressed in a manner like those that are arguments to prop/2.
One possibility for such a representation is the event markers of
Guenthner (1987). Handling sentence adverbials is a relatively
simple but time-consuming matter. The machinery for DRS
construction already exists in CONSTRAIN, but it will be
necessary to add to each sentence rule a new version for each
possible adverbial position.
Extensions of the implementation will, of, course, be
required by extensions to the theory. The current version of DRT
is limited to a very small subset of natural language. Many
extensions to the theory are required before it can handle a
useful range of natural language. The most obviously needed
extensions are the ability to handle definite NPs and plural NPs.
Although definite NPs are usually anaphoric and thus could be
treated in the same fashion as pronouns, the head noun of a
definite NP is often not identical to that of its antecedent
(e.g. the two may be synonyms). Furthermore, definite NPs are
not infrequently exophoric or generic, and an implementation
would need to have some means of distinguishing between the
possibilities.
Another needed extension to the theory is a formalism for
specifying arguments that are not syntactically indicated (e.g.
35
sell requires, conceptually, a price, but that argument is not
syntactically obligatory). Handling this argument requires
default specifications and a means of determining whether the
default value applies.
These extensions, both to the implementation and to the
theory, probably require user interaction. The implementation
may need to query the user about the scope of negation, non-
anaphoric definite NPs, and default values. With these
extensions, DRT can provide a useful natural language interface
to a knowledge base.
WORKS CITED
Asher, N. 1986. Belief in discourse representation theory.
Journal of Philosophical Logic 15:127-89.
Chomsky, N. 1965. Aspects of the Theory of Syntax. Cambridge, MA:
MIT Press.
Covington, M. 1987. GULP 1.1: An extension of Prolog for
unification-based grammar. ACMC Research Report
01-0021, The University of Georgia, Athens.
Covington, M., D. Nute, N. Schmitz, and D. Goodman. 1988.
From English to Prolog via Discourse Representation
Theory. ACMC Research Report 01-0024, the University
of Georgia, Athens.
Covington, M. and N. Schmitz. 1988. An Implementation of
Discourse Representation Theory. ACMC Research Report
01-0023, The University of Georgia, Athens.
Goodman, D. 1988. An Implementation of and extension to
discourse representation theory: Translating natural
language to discourse representation structures to
Prolog clauses. Unpublished master's thesis, The
University of Georgia, Athens.
Guenthner, F. 1987. Linguistic meaning in discourse
representation theory. Synthese 73:569-98.
Guenthner, F., H. Lehman, and W. Schonfeld. 1986. A Theory for
the representation of knowledge. IBM Journal of Research
and Development 30:1.39-56.
Johnson, M., and Klein, E. 1986. Discourse, Anaphora, and
Parsing. CSLI Research Report 86-63,Stanford
University.
Kamp, H. 1981. A Theory of truth and semantic representation. In
36
J. Groendendijk, T. Janssen, and M. Stokhof (eds.) Formal
methods in the Study of Language, 277-322. University of
Amsterdam.
Kamp, H. 1985. Unpublished discourse representation theory project
description, University of Texas, Austin.
Kiparsky, P., and C. Kiparsky. 1971. Fact. In D.
Steinberg and L. Jakobovits (eds.), Semantics,
345-369. New York: Cambridge University Press.
McCawley, J. 1981. Everything that Linguists have Always Wanted
to know about Logic. Chicago: The University of Chicago
Press.
McCawley, J. 1988. The Syntactic Phenomena of English.
Chicago: The University of Chicago Press.
Shieber, S. 1986. An Introduction to Unification-based
Approaches to Grammar. CSLI Lecture Notes No. 4,
Stanford University.
Spencer-Smith, R. 1987. Semantics and discourse representation.
Mind and Language 2:1.1-26.
Smith, W. 1989. Problems in applying discourse representation
theory. Research Report AI-1989-04, The University of
Georgia, Athens.
Zeevat, H. 1989. A compositional approach to discourse
representation theory. Linguistics and Philosophy
12:95-131.