American Journal of Computational Linguistics 
Microfiche 31 
A CASE-DRIVE14 PARSER 
FOR NATURAL LANGUAGE 
Brock H. Taylar and Richard S. Rosenberg 
Department of Computer Science 
UniversFty of BritLsh Columbka 
Vancouver, B. C., Canada V6T 1WS 
Copyr-i ght 1975 by the Association for Computational Linguistics 
This paper describes a system for analysing natural 
language basea on the concept of case. After a preliainary parse 
using an augmented transition network, the case routines attempt 
to find the appropriate verb meaning. These routines search for 
parts of the syntactic structure which best satisfy the 
requirements of the verb case frames and under back-up are able 
to weaken gradually the conditions far success. The resultinq 
structure is similar to the conceptual dependency networks of 
Schank, and is an attempt to represent as fully as possible the 
meaning of the input sentence. The spstea has been designed to 
be quite flexible and allows for the incorporation of domain 
specific knowledge. This knowledge has its effect both in the 
nature of the dictionary and in roaifications in the search 
routines, At present the syster incorporates procedures for 
resolvkng anaphoric references which depend on examining 
previous sentences. 
Table of Contents 
-I- - ----- 
Introduction 
Cases and Verbs 
2-1 & Partial List of Cases 
2.2 Determination of Cases 
2.3 Verb Specific Cases 
2.4 Verb Definitions 
A Detailed Example 
Other Examples 
Anaphoric Reference 
Conclusion 
Bibliography 
wl=u 
B C'ASE-DRIVEN PARSER FOR NATURAL LANGUAGE 
Brock H. Taylor and Richard S. Rosenberq 
It has been apparent for some time now that a linear 
approach to natural language processing consistrnq of soccessivcl 
syntactic, semantic, and retrieval or inference phases is 
inadequate. An important advance war; mad3 by Winograd[ 9.10 1 in 
integtating these phases into a system which utilizes the 
various kinds of linguistic knowledge at the appropriate trine. 
The approach described in this paper is somewhat less ambitious, 
but this is partly compensated for by its very flexible 
structure. In fact, it is useful to view this system as a 
skeleton which can be fleshed out to serve a vide varlety of 
purposes. 
Although called a parser, it is far more powerful thdn 
ttadit ional parser because it incorporates semantic knowledge to 
produce a representation of the inpu-t sentence which in as rich 
as possible in terms of the system's basic knowledge. Since the 
2 Contact R, S. Rosenberg for information on [ 8 1. 
detailed operation of the system viLl be described subsequently, 
we will now present the najor infxuences on this uork, some 
similar systems, and what ue believe the i~portant contributions 
to be. 
Beginning at the end, we decided to represent an input 
sentence with a structure which is very similar to the 
conceptual aependency networks of %hank[ 5,6 1. This does not 
imp11 agreement with the overall philosophy of Schank, but 
rather a recognition that an underlying representation should 
contain as much knowledge as possible, as it map be crucial for 
subsequent analysis. As will be seen, our representation, in 
addition to the basic syntactic relations, also reveals semantic 
relations not explicitly given in the input. sentence, This 
latter knowledge is derived f roa a conplex seaantic lexicon 
organize& around the concept of case as first formulated by 
Fillmore[3]. One point should be emphasized: Fillmore, as a 
linguist. was concerned uith foranIating a theory to explain 
data which a traxisfarmatioaal a~~roach seened unable to ao, AS 
such, he felt the need to worry about the number and nature of 
the cases necessary to treat the f ingaistic data adequately. 
Thrs is to be contrasted with our approach which is ta use an 
extended version of case in order to represent the meaning of a 
sentence as fqlly as possible. The basic difference is revealed 
in  illn no re's aescription of five or six cases, whereas our 
system uses, at present, twenty-four cases. 
Perhaps the tar. ncasetl is inappropriate here, but there is 
anough similarity with, and motivation from, Pillmore's vork 
that we decided to use the term. The most complex part of the 
lexicon is the verb with its associated case frame: actually an 
environaent of obligatory and optional cases associated with the 
verb. One basic problea of sentence analysis is to choose among 
alternate verb meanings for an appropriate aandidate, This 
selection process is governed, in patt, by attempting to satisfy 
the constraints imposed by the case frames associated with each 
verb meaning. But prior to activating the case-driven part of 
the system, a preliminary stage of analysis must be initiated. 
This is an almost purely syntactic phase carried out by a rather 
siaple augmented transition network (A , (Roods[ 11,12 1).   he 
AT1 has proven to be very useful in natural language processing 
mainly because of the ease of representing complicated and 
interrelated syntactic structures, 
For our purposes, the ATH is used to produce a very fast 
preliminary parse of the input sentence which indicates gross 
structural re la tions, Using this parse, the case-driven 
component seeks to select the appropriate verb meaning. It is 
importaat to note that if the Gase procedures fail on the first 
pass, condition@ for success are progressively weakened until 
the most suitable meaning is chosen. Although not a feature of 
the present system, it would be possible to re-enter the ATN 
phase in order to produce another parse if the case phase were 
unable to complete its task in a satisfactory manner. 
Ye would like to stress those aspects of the systea uhich 
aake it flexible and useful for a wide range of language 
processing applications. It is straightforward to incorporate 
different kinds of knowledge necessary for adequate processing. 
Puz exa~ple, the current syste~ has a procedure for resolving a 
fair range of anaphoric references for pronouns. If additional 
procedures are developed, they can also be incorporated into the 
system, and will exert their inffiuence by aodifyiag the search 
procedures for candidates which satisfy the reqaireaents of the 
case frane for verbs. another important feature is the facility 
within the dictionary entries of nouns for providing inf oreation 
about relevant properties, such as superset and subset. Thus a 
kind of semantic netuorh links nouns of the dictionary, and this 
knouleage is available to aid in the processing. 
The user can construct the dictionary appropriate for his 
purposes and can readily add necessary do~ain specific f eatares. 
This system is considerably more than just a front-end for a 
traditional linear language proaessor. ~t integrates syntactic 
and se~antic linguistic kflovledge in a particularly transparent 
and flexible mannet. 
There are other current language systems ubich are based on 
nations of case but which differ mainly in the uap. the processed 
sentence is represented, Ue might mention ~imaons[7], Martin[4], 
and Brace[ 1 1. 
The system is written in LISP/!lTS, and runs on an IBB 370- 
168 under the HTS operating system at the University of British 
Columbia. The code occupies 240K bytes, and the current 
dictionacy of 450 words occupies an additional 90R bytes. When 
the system is running the total space used is 470K bytes. In 
spite of its large size, it is relatively fast. For example, the 
total time taken to parse sentence (11) below, is -90 CPU 
seconds, executing interpretively. A con piled version of the 
progran uould run approximately 10 times faster. 
2. Cages and Verbs 
The question a£ how many cases we need to describe English 
is a contentious one, Pillaase[ 31 is vague on the issue, whereas 
Celce-lurcial2 ] claims that five cases will do. The purpose of 
this work is to capture as much of the meaning of a sentence as 
is possible, and to make it explicit in a formal structure. 
Case, then, is an explanation of the semantic function of a 
sentence part; theref ore a fairly large nonber of cases have 
been used, one for each of these "semantic f unctionsw. Ye are 
not adamant about our set of cases. The systea is flexible and 
structured enough, that the addition or deletion of cases is a 
simple operation. 
The system was originally designed with lartin1s[4] thirty- 
odd cases as its basis. There are currently twenty-four general 
cases implemented, plus numerous verb-specif ic cases. Some of 
Hartinas cases have been dropped completely, sone have simply 
not been i~plemeated pet, and several new cases have been added. 
For a complete list of these cases we refer you to 
TaylorC8 1. A feu will be listed here, and they will later be 
used to aid in the description of the systea. The underlined 
phrases represent the appropriate cases. 
Asen t 
io white says he has no friends. 
1 got wiped oat by S~P& ~hiKb~i&h~ LoaE mg- 
Be trained 9 handred m~g just to kill 
ae nllhorn Bhlld* 
1 washed u uetIj ds in the rain. 
fatb 
Ye started up moiaq~&jg. 
Through the qhg~g the wind is blowing. 
Flagged by by. abopt, along, up, down, around, across. 
gxc_hnaa 
I bought it uith a Ukle and I sold it for 3 a=. 
He wants to trade the game he plays for shelta, 
Flagged by with, for. 
I fought every man for &g until the night vas oven. 
I. sing this to up ccic&f.&s, I sing this for 
um!s 
Flagged by for, to, before, 
vd (A case of the Noon) 
.L 
Suzanns takes you down to her place near 242 gab. 
The uoaan in me is asking f~r revenge. 
The hand of youg be- is burdened down with roney. 
Flagged by of, fro., at, in, on, with, by, near. beside, before, 
after, along, up, down, dround, across, under. 
Enable 
I bad to kick poa down the stairs so could 
savour unemploppent once qqain. 
lie put her away so. Could get back to the war. 
Flagged by so. 
Topic 
It is time we began to laugh about it all agairi. 
Lets not talk of lovs chains. 
Sometiaes I find X get to thinking of the past. 
Flagged by of, about. 
2.2 Deterrinatia of Case 
Bast of the cases listed above are ass~ciated with the 
prepositions that flag them. This is, of course, a qross over- 
simplif %cation of the relationship between verbs. prepositions, 
and cases. A preposition which flags one case for one verb may 
very well flag another case for a different verb. 
(1) f walked about the roaa. 
(2) 1 talked abdut the room. 
For verbs of movement lfker "ualkt', naboutn flags the path 
case as in (I), but for verba of communication like '#talkv(, it 
usually flags the topis case as in (2). flartio[4] notes this, 
and proposes for each verb raaning to list all of the cases 
flagged by each preposition. This involves a great deal of 
repetition, however, since nost prepositions flag almost the 
same sat of cases for aost verbs. For this systen, therefore, we 
set up a master-table of all the cases flagged by each 
preposition, then for each verb, just the irregularities are 
noted. 
(3) The scandal was whispered about the room. 
Sentence (3) illustratas thztt mabout" can flag the path 
case for a coaaunication verb, so ue do not want to rule out the 
path case: we just want topic to be tried first. In (3) the 
topic slot vill already be filled by "the scandal*, so topic 
will be rejected, and the path case will be tridd neyt. 
This faregrounding of cases is specified in the dictionary. 
For instance, for the verbs talk, laugh, whls~er, etc., it is 
specified that the occurrence of the preposition "about" should 
trigger the topic case before the path case, 
There is another obvious way of determining case naaes for 
prepositional and noun phrases. Copsider the sentences: 
(4) Fred bought the car foe nary. 
(5) Fred bought the car for one dollar. 
The preposition *form flags many cases. In (4) it f laqs the 
beneficiary case, and in (5) it flags the exchange case. 
~ssociated with each case is a test which a phrase must pass to 
be accepted, In the beneficiary case the test is: 
(BUST-BE ABIHATE), indicating that the beneficiary has to be 
anisate, while the test for the exchange case is: (HOT (SaoULD- 
BE HUIA11 ABSTBACT)) , indicating that one does not usually 
exchange something for a person or soaething abstract. These 
tests corre~tly sort out the cases in sentences (4) and (5). 
In general, tests on cases are very- difficult to design 
adequately. What test wonld be appropriate for the topic case? 
Uhat could not be talked, Laughed, or coied about? Perhaps some 
complex verb and context dependent test co,uld be concocted, but 
one has not been designed for this system. The rest for the 
topic case is therefore ope which will always pass. One must 
therefore be careful when invoking the topic case, 
The exchange case has similat probleqs, Anythinq can bla 
exchanged for sonething. The weak test 
(NOT (SHOULD-BE HUMAN ABSTRACT)) 
is put in, which will at first fail if a human or an abstract 
noun is the candidate, but will pass if nothing else seems to 
fit either. This simple test runs into problems with certain 
sentences, 
(6) I paid the money for ny mother's release. 
(7) I paia the money for my nother. 
(8) I paid the money for the prostitute. 
It will initially force the exchange case to reject "for ~y 
mother's release" in (6) because it is abstract, but later on it 
will accept it since all of the other cases flagged by *for1@ 
will also reject it. Sentence (7) is ambiguous, but "mothern is 
alaost certainly in the beneficiary role here, so again the test 
vorks correctly bp rejecting the exchange ease. Sentence (8) is 
also amhiguous, but our interpretation would usually be that 
wprostitutew is in the exchange case here. The system will, 
however, assign it the beneficiary case as it did in (7). 
Additional work rust be done on case tests if this pacadign is 
to be useful, 
2.3 verb Specific Cases 
&any verbs have special constructs or cases which are not 
used with most other verbs. These irregularities are handled by 
writing special functions to find these cases. A few exaaples 
will ixlnstrate, 
The verb "to hew has eight ~eanings in this system. The 
thira neaning is rto hate the property. . ", as in sentence [9), 
(9) The house is red. 
This meaning 1s the one being used if an adjective phrase 
immediately follovs the verb. An adjective phrase in this 
position is therefore a special case of the verb "to bew, and 
there is a special function, ADJ-IIST, vhich Iooks for it. 
The sixth meaning of "to bem is "to be fro. . . m., as in 
sentence (1 0) . 
(10) The lady is from Onagadouqon. 
This could be interpreted as an example of the source case, 
which is the case that mfroam usually flags; but what the 
sentence really means is that the lady has been living in 
Ouagadougou. This is, therefore, not the source case, but 
another special case of nto hew. 
2-4 Verb Definitions 
The verb is treated as the focal point of the sentence, A 
verb can hare millnip rreanings, The system discovers which meaning 
is intended by looking at the rest of the sentence. In so doinq, 
it builds a structure representing a parse of. the sentence, 
As stated above, each verb has associated with it a case- 
frame, which is a set of cases of the verb: some obligatosg, 
some optianal, and sole conditionally optional. These cases are 
embedded In a form on tbe pxaperty list of the verb, Consider 
the verb "to order,* Its dictionary entry is as follows: 
(ORDER V 
S-ED 
PREP-CASE ( (9ITH PITE) ) 
V-ME&% 
(IF ( (AGEST (BUST-BE HU8bR) ) 
ac 
(OPT [GETR PASSIVE) 'SOIIEONE) 
(PATIEHT (RUST-BE &BIBATE) ) 
PA 
OBI' 
(TO-COBP (GETR PA) ) 
TOC 
OBL) 
(BUXLDQ ("<==>" ? w+u (m<--m OBDEB w+n)) AG TNS TOC) 
( (AGEBT (BUST-BE HUMAB) ) 
AG 
{OPT [GETB PASSSVE) SO8EOIE) 
(PATIENT (ABD (I(UST-BE THIUG) (NOT (HOST-BE BUIAP) ) ) 
PA 
OBL) 
(BUILDQ (*<==>" ? *+* (w<--n ORDER ?)) AG TES PA))) 
Under the indicator V-!!EBB there is a form beginning 
(XP [ (AGBlJT . . IF is a function which takes an even, but 
other~ise variable, nuaber of argaaents, each pair representinq 
a meaning of the verb. The first element of each pair is a set 
of cases to be looked for, and the second is the structure to be 
bailt if they are founa. It is in the first element of the pair 
that the complexity lies. Let us look at it more closely. 
The list of cases is. in fact, a list of triples. The first 
elaaent of the triple is a fora to be EVALed. It is usually 
looking for a case. but any form is admissible. The second 
element of the triple is an atom: a register name. If the first 
forn EVALs to a non-BIL value, the Value is put into this 
register. In aur erample, for instance, the first triple is: 
(A,GENT (MUST-BE EIUHAH) ) AG (OPT (GETR PASSIVE) "SOBEONE) 
The function of the Zirst form is to find the agent of the 
sentedce. If it succeeds, this agent is put ineo register AG. 
The third element of the triple indicates what to do on 
failure, If it is the atom "QBLA, this indicates that the casa 
was ~bligatory; so if it was not found, IP should fail on this 
meaning of the verb. If the atorn is "OPT", then the case is 
optional, the register is left empty, and IF continues with this 
meaning. The thira possibility is that this third eleaent is a 
forn, in which case it is EVALed. If it returns mOBLw. or 90PTm, 
then the result is as described above. If it returns anything 
else, then that is put into the register, and IF continues with 
this meaning of the verb, 
The third element of the first triple for "to order" is 
COPT (GETB PASSIVE) 'SOHEOZOE). OPT is a very siraple function 
uhich, if its first arguaent is non-MIL, returns its second 
arguaent. Otherwise it returhs "OBLn. (GETR PASSIVE) is true if 
the sentence is in the passive voice. The first triple can be 
read as follows: 
Look for an agent which lust be human. If you find one, put 
it in register &G. Otherwise, if the sentence is passive, nake 
SOLIEUHE the agent. Otherwise fail. 
The second triple is simpler. It merely says: If you find 
an animate patient, then put it in register PA, else fail. 
The third triple is equally simple: it is not looking for a 
case, but a to-conplement.1 If these three elements are found in 
the sentence, then the spstea will look no further, but assaae 
that it has found the correct leaning of the verb. It will EVAL 
the second f orr of the pair, in this case: 
(BU1LI)Q tm<==>" ? + (n<-," ORDER +)) TPS Toe) 
whicb builds the basic structure for the sentence. 
BUILDQ takes a variable number of argu~ents. The first is a 
kind of teaplate with slots in it. The rest of the arguaents 
fill the slots. The denotes a slot which is filled by the 
contents of a register. IOUA-PUT returns the structure of ths 
noun phrase associated with the noun in this register. The "?" 
is filled by the application of the function BOON-PUT to the 
contents of a register, Finally. the "#* (see Appendix) 
indicates chat a form is to be EVhLed, and the result put into 
1 An example of a to-coaple~ent is: Vred took the book 
g,ngpr 
m* 
the slot, The slots are filled in order by the second, third, 
etc, arguments, It should be noted that the form of BUILDQ has 
been strongly motivated by its use in Moodsq ATN [11]. 
So in this case: 
(E1OUN-PUT (GETR BG)) is put in for the ?, 
(GETB TEJS) in place of the first +, 
(GETR TOC) far the second +. 
where GETR Leturns the contents of a register, 
Programming details do not belong in a paper of this 
kind. 
A11 of the code is in Taylor[ 8 'j for those interested. In the 
following example, then, function names and excessive details 
will be, on the whole, left out. A detailed account of the basic 
algorithm and control structure will be given. Ue will look at a 
simple sentence. lore conplex structures such as relative and 
subordinate clauses are treated in nnch the sane way as their 
parent sentences, consider the sentence: 
(11) The Ban beside the window played the piano for Nary. 
as stated above, the first step in the process is a partial 
parse using an ATN. The structural description usually derived 
from this parse is incomplete. That is, no decisions are aade 
about what modifies what, what meaning of -the verb is being 
used, etc. The basic idea behind the ATN is to find the verb but 
while it is doing this, it seeas useful to chop the sentence up 
into its parts. There are problems with just hou this chopping 
should be done, but with most sentences it is straight£ oruard. 
The AT8 parse returned for sentence (11) will have the 
f ollaving for P: 
S 
WP MIL 
DET THE 
N HAW 
BUBBEB SG 
PP NIL BESIDE 
NP MIL 
DZT THE 
N YINDOY 
NUBBEB SG 
VP BIL 
TB S 
PAST 
VOICE ACTIVE 
v PLAY 
NP BIL 
DET THE 
N PIAPJO 
NUPlBEB SG 
PP NIL FOR 
NP NIL 
#Pa MARY 
It is on this preliminary parse that the program works, 
First, the main verb is found, and a function is invoked 
which controls the top-level back-up, This function EVALs the 
form on the property list of the verb under the indicator 
V-HEAN, This form for PLBY is a very long one, ana is given in 
the appendix. The forn in question is a call to IF. whose 
machanisn has been briefly described above, In this* instance IF 
has ten arguments, indicating that there are five meanings to 
the verb PLAY in the system. The first meaning is nto play a 
usical instsnlnent, " 
The first case looked Ear is the AGENT, This agent should 
be a musician, ana nost be human. This search is initiated by 
ElAling the first forn in the first triple of the first argument 
to IF: (AGENT (AND (SHOULD-BE HUSXCXAB) (BUST-BE HUMAN) ) ) AGENT 
is fairly complex, but basic all^ it looks for a component of the 
ATI parse (in future called the "p-parsev, for partial-parse) 
which is in an appropriate position to be an agent, and which 
passes the test (the argnhent to AGEHT,) By 'appropriate 
position' is want, for instance, that if the sentence is in the 
active voice, the agent is ~obablrr the first noun phrase in the 
sentence. 
For this situation, AGENT inrediately finds @?the manR as 
the obvious candidate, and it applies the test 
(AHD (SHOIILD-BE IltJSICIAB) (RUST-BE HUMAN) ) , HOW, unless 
something special has been put on the property list of HAN 
previously, the (SHOULD-BE BUSICIAN) part of the test will fail. 
(There are tua levels of tests in this syster: SHOULD-BE tests 
and NUST-BE tests. Tbis aechanisa is very use£ ul for forcing a 
verb like PLAY to look very hard for a musician to play an 
instrument -- but to accept any human if it fails at first. This 
is especially powerful for resolving anaphoric references). Thus 
AGEIT fails, which invokes the third eleaent of the AGENT 
triple: (OPT (GETB PASSIVE) 'SOIIEOIIE) . This may be read as: 
AGENT is optional if the sentence is in the passive voice, in 
which case pat SOlEOlE in as the agent; otherwise AGENT is 
obligatory. Since the sentence is not passive, AGENT is 
obligatory. As the AGEIT case was not found, this first neaninq 
of PLAY fajls, 
IF then goes on to the next pair of arguments. This pair is 
designed to pick up the meaning of PLAY as in nto play music-,g1 
Bote that the test on AGEHT is just like the previous one, vhich 
means failure here as well. The program moves on to the third 
meaniqg of to PLAY: "to play a sport," Here the test on AGENT is 
(AND (SHOULD-BE SPORTS-UAH) (HOST-BE HUBAIJ) ) . Once again, 
providing fl4H does not have SPORTS-flAl on its property list, 
this attempt fails. The prograa therefore goes onto the fourth 
meaning which is designed to pick up the ergative usage of "to 
playw as in HThe music played fran the room,fl Since the test for 
this meaning is (HOST-BE IUSIC). this neaninq will also fail. On 
to the fifth, and last, meaning, which is a sort of catch-all. 
It is the beaning of "to playn as in "to entertain oneself." 
Here the test on AGEMT is (flUST-BE AMIHATE). flThe mant1 passes 
this test, since UAl has the property ANIMATE. Since AGENT is 
the only case looked for, this meaning is taken to be the 
correct one, and the following structure is built by the call to 
BUILDQ: 
<==> 
N BAN 
IUUBER SG 
<-DEFINITE- TEE 
PISST 
<-- DO 
<-CBUSE- 
<==> 
N aB8 
NUMBER SG 
<-DEPIHITE- THE 
PRESENT 
< HAVE-PROP ERTE3TAINED 
IF has completed its job. It has found what it takes to be 
the correct meaning of the verb. Nou the re- of the sentence 
mast be processed. The seconil elenent of every top-level list in 
the p-parse is a flag vhich is initially NIL, but which is 
turned on when that part of the sentence is considered to be 
correctly dealt with. In our example, so far only two parts are 
flagged: the first noun phrase: "the %anw, and the verb phrase. 
The function which takes care of the rest of the sentence simply 
goes down the p-parse checking these flags. If it finds one 
which is MIL it works on that part of the sentence until it 
either succeeds, or fails -- causing back-up. 
For this example, then, the first phrase it comes upon 
needing work is the prepositional phrase: "beside the window". 
As rentioned above. there is a raster-table in the systen vhich 
aBS0Ciates each preposition with the cases it Bay flag. BESIDE 
flags the cases: LOCATIOI and DESCRIPTIVE. A11 of the cases but 
DESCRIPTXVE are cases of the verb. DESCRIPTIVE is a special case 
vhich is used for preposition phrases which modify noons. 
When the list of cases associated with a preposition is 
retrieved, there is a question as to uhich case to try first. 
For this there is a foregrounding routine, with several criteria 
for f oregrounding : 
First of all, in the dictionary definition of the verb, the 
user may specify that a certain preposition trigger a particular 
case program. Since there is no such specification for "to play" 
in the current dictionary, nothing hap pens here, Secondly, on 
the property list of each verb is kept a record of uhich 
prepositions flagged vhich cases in the previous sentehces. The 
cases associated with the preposition in question (if there are 
any) are foregtounded, so that they uill be tried first (the 
mst recent case first, etc.) Pinally, if DESCRIPTIVE is one of 
the cases in the list of cases for this preposition, and if a 
noun phrase or a prepositional phrase immediately' precedes the 
Jf 
phrase in question, and if the noun in that noun phrase or 
prepositional phrase is not a proper noun, then DESCRIPTIVE is 
put at the front of the list, and is thus tried first. 
This seemingly obscar~ rule for foregrounding the 
DESCRIPTIVE case is just a heuristic. If the tests associated 
with each case are good enough, it makes nb difference to the 
final outcome iE the foregrounding is done or not. In some 
instances, houever, if the DESCRIPTIVE case is not tried first, 
it will never be tried. In our exa~ple, for instance, it is the 
man who is beside the vindow (DESCRIPTIVE case) ; he did not play 
the piano beside the window (LOCAT'ION case). But it is perfectlp' 
feasible for him to have played it beside the, window (if we know 
nothing about the location of the piaao.) Therefore either of 
the cases will succeed. It is only the position of the 
prepositional phrase that indicates which case is correct. 
Continuing with our exaaple: the DESCRIPTIVE case is 
foregrounded. and so the descriptive case function, DESC, is 
invoked with the - phrase "beside the windova as its argument. 
Since the descriptive case almost always involves a 
prepositional phrase modifying the noun phrase or prepositional 
phrase im~ediately before it, DBSC first checks to see if 
"beside the viado@. is a possible descriptor of "the man. 
Since we do not have a data base to check to see if there 
is a man besiae a window, our check must be a general one. Host 
nouns have a size associated with them under the indicator 
OBJ-SIZE, This is a very crude breakdown of physical objects 
into eleven size categories. *The uorld@l is size 10 and "a pinM 
is size 0. (These sizes should be able to be changed by 
classifiers, adjectives, or modifying phrases. A toy elephant is 
probably not the sane size as an elephant. This feature is 
currently not implemented.) The check for "beside" is merely 
used to rule out things like *the pin beside CanadamW Because 
abstract nouns have no size inforaation, sentences like "Be had 
a thought beside the oceann are not ambiguous. In any event, 
"beside the window" is found to be a likely modifier of "the 
mann, and DESC succeeds, Since wbesidew is a locative 
preposition, DESC returns the structure: 
A forn is stacked which will put this structure into the 
main sentence structure if the rest of the sentence can be 
handled. Just where it is placed is determined by DESC, Since 
the prepositional phrase modifies "the man*, it will be put in 
as follows: 
J HAPJ 
BUMBEE SG 
<-DEFINITE- THE 
<-LOC- BESIDB 
% WIIDOV 
IlfHBER SG 
<-DEPLBITE- THE 
so the prepositional phrase "beside the vindow* is flagged as 
completed, and the next unflagged phrase, "the piano", is picked 
UP- 
Here we run into problems. lhere does "the piano* fit into 
the structure? Vhat does it modify? %hat is its case? There are 
relatively feu ways a noun phrase can be used at this point, It 
copla be an exaaple of the TIaE case, as in nI came home this 
morn..". bat flpianol fails the TXBE-test. It could be a 
classifier, bat the phrase follosing it would have to be a noun 
phrase for this to be the case. So failure has occurred. 
Scmethiag has gow wrong, IF must have chosen the wrong meaning 
of the tarb, The program must back up. 
A11 the parts of the sentence flagged as used are un- 
flagged, and back-up occurs into IF again, Here it is found that 
thete are no reaaings of the verb left to try. One of the 
ssaaZngs that wag rejected earlier most have been the correct 
one, So IF fails entirely. and the program enters the top-level 
back-ap rechanisn. 
There are two possible reasons failure has occurred: 
1) Either the progran did not look back far enough in an 
attempt to resolve an anaphoric reference, or 2) The tests were 
too severe, (ie: the SHOULD-BE tests caused failure when they 
should not have,) 
The anaphoric part of the system has not been explained 
pet, but as there were no pronouns in the sentence, the first 
reason can be ruled out. In order to ueaken the tests, a flag is 
set to shut off the SHOULD-BE tests, That is, all SHOULD-BE 
tests will succeed in future. The process begins again with IF, 
The beginning is the same, but this tine he first 
invocation of AGERT will succeed, because the test 
(AND (SHOULD-BE BUSZCIAIQ) (HUST-BE HUBAZII) ) succeeds, The 
structure it returns is put in the register AG, IF continues 
with the second triple of parameters, and the form (PATIENT 
(HOST-BE HOSICAL-IISTBTJMEIIT~ ) is EVALed. Bow, PAT1 ENT is very 
similar to 1GBBT: it looks in the appropriate place in the 
sentence for the! patient of the verb, It then applies its TEST 
to it, In an active sentence, such as our example, the candidate 
for PATIEIT is the first noun phrase after the verb, The pianon 
is found, and since it gasses the test (MUST-BE HUSICAL- 
IEJS'ERUBElrlT). PITIEWT returns "the pianom as the patient of the 
sentence. 
Once again it seems that the correct meaning of the verb 
has been found, therefore IF EVALs the BUILDQ associated with 
that seaninq. The folloving structure is built: 
<==> 
B BAN 
NUMBER SG 
<-DEFINITE- THE 
PAST 
<-- DO 
C-CIIUSE- 
<==> 
rJ PIEL100 
1PU&BEB SG 
<-DEFIBITE- THE 
PZlST 
<-- EB IT 
BP 
19 SOUND 
It aou remains to try to clean up the unflagged parts of 
the sentence. The first one, again, is "beside the windowm, and 
exactly the same thing is done as was done previously: it is 
decided that "beside the window" is a locative aescriptor of 
"the manm, and this decision is stacked for later action. 
The only other part of the sentence to be handled is "for 
l!Iaty.m 4s with nbesidem, the cases associated with "forw are 
returned f roa the CAS B-TABLE. They are: DURATION, BEHEPICIABY, 
EXCBAIIGE, and IBD-SUBJ. (IID-SIIBJ has not been iapletaented yet.) 
Assawing that tbare hare been no relevant previous sentences, 
the foregroanding of cases vill have no effect on this ordering. 
The DUBATIOH case is tried first. DURATION is a 
particularly simple case. Basically it checks to see that the 
noun phrase in the prepositional phrase has the property TIRE 
under the flag B-PROP, "flaryw fails this test, and DUBATION is 
rejected, 
The next case is BENEFICIARY. The only test for this case 
is that the noon phrase be animate. "naryn passes this test 
since it has the SUPERSET WOHBN and WOHAN has the N-PROP 
ABIBATE, Therefore BENEFICIARY succeeds and returns: 
&,<-BEHEPZCIABY- (NPR RABY) ) . Unlike "beside the uindov", this 
phrase is a case of the verb. Because all cases of the verb (but 
AGEIT and PATIENT) are considered to be essentially parallel 
uith respect to the verb, they are put into the structure at the 
saae level, that of the verb symbol fl<--w, and their order is 
arbitrary. A form is stacked to put the above structure into toe 
main sentence structure in the correct location. 
Bext the p-parse is checked for any unused phrases, None 
are found, and the program terminates by placing the two forms 
into the structure, which is returned as the nmeaninglg of thb 
sentence: 
<==> 
B BAN 
NUHBER SG 
<-DEFINITE- THE 
<-LOC- BESIDE 
B WINDOW 
QTUHBEB SG 
<-DEFINITE- THE 
PbST 
<-- DO 
<-CAUSE- 
<==> 
N PIAblO 
gU8BEEt SG 
<- DEPIRITE- THE 
PAST 
<-- EnXT 
NP 
L3 SOUPJD 
<-BEIIEPICIARY- 
PPB MARY 
A gloss of this structure night be: the man, uho has 
location mbeside the vindouw, in the past did something which 
caused the piano to emit sound. The beneficiary of his action 
4. 0th~ Examples 
A few examples of sentences handled by the systea are given 
here. Space constraints do not allow us to include parses, for 
all the sentences but the remainder are in Taylot[8]. 
The man vith the wife who is bigger than he goes to Vienna with 
a wonan who is saaller than he, 
PARSE: 
S 
NP MIL 
DET THE 
N BAN 
WUllBEB SE 
PP NIL YITH 
NP NIL 
DET THE 
N HIFE 
NUPlBER SG 
BEL NIL 
RELPBO WHO 
VP HTL 
TBS 
PRESENT 
VQICE ACTIVE 
V BE 
<-ADJ- HXL BIG 
COMP-SUP GOPIPARATI VE 
THAN-PH NIL 
IP HIL 
PRO HE 
VP MIL 
TIS 
PRf SENT 
VOICE ACTIVE 
v GO 
PP HIL TO 
> NP NIL 
> NPR VIENR& 
> PP %IIL UITH 
> NP HIL 
> DET A 
> N WOMAP 
> BUHBER SG 
> BEL NIL 
> RELP30 WE0 
> VP NIL 
> TtJS 
> PRESENT 
> VOICE ACTIVE 
> B BE 
> <-ADJ- HIL SEALL 
> COBP-SUP COMPlIIRhTIVE 
> THAN-PH NIL 
> HP NIL 
> PRO HE 
> BI HE I ASSUfiE YOU aEAN THE BAN 
> IS THAT CORRECT? 
* I! 
> <==> 
> Ii 8lIi 
> HUEIBE'II, SG 
> <-DEFINITE- THE 
> <-DESC- MITE 
> rt WIPE 
> NUFIBEB SG 
> <-DEPIBITE- THE 
> <==> 
> I4 WIPE 
> NUHBER SG 
> <-DEPIHITE- THE 
> PRESENT 
> <-- HAVE-PROP 
> BIG 
> <-COBPAR ED-TO- 
> N MAN 
> NUHBEB SG 
> <-DEFINITE- THE 
> 
> 
> 
> 
> 
> 
> 
PRESENT 
<-- BOVE 
<-SOURCE- SOMEPLACE 
<-DESTXZ4ATION- 
rJPB VIENNA 
<-CQ-AGENT- 
PJ EIOflAN 
NUMBER SG 
<-INDEFINITE- A 
<==> 
N WOMAN 
HUMBER SG 
<-INDBFINITE- A 
PEE SENT 
<-- HAVE-PRQP 
SHALL 
<-COMPARED-TO- 
N MAN 
NUMBER SG 
<-DEFINITE- THE 
Pred loved the 1 woman before he came to Canada, 
Many cases can appear as embedded sentences as well as 
prepositional phrases. Pronoun references within sentences 
can be resolved. 
Pred played Jack tennis. 
Sone verbs allow the co-agent case to appear in this form. 
The music played loudly from the small room. 
> PBRSE: 
> S 
> BIP MIL 
> DET THE 
> ti MUSIC 
BUflBER SG 
VP NIL 
TBS 
PAST 
VOICE ACTIVE 
V PLAT 
<-ADV- BIL LOUD 
PP NIL FROB 
NP PjIL 
DET THE 
H BOOB 
BUHBEB SG 
<-ADJ- SHALL 
<==> SOHEONE 
PAST 
<-- PLAY 
N MUSIC 
NUMBER SG 
<-DEFINITE- THE 
<-SOURCE- 
Ii R00H 
lUPlBER SG 
<-&DJ- SMALL 
<-DEFINITE- THE 
<-BDV- LOUD 
It is idiotic that Fred vent to India to play football. 
PARSE: 
s 
VP NIL 
PRO IT 
SUBJ 
OBJ 
RUHBER SG 
VP IIL 
THS 
PRESENT 
VOICE ACTIVE 
V BE 
<-ADJ- NIL IDIOTIC 
THAT-COHP NIL 
<==> 
NPB FRED 
PAST 
<- - HOVE 
<-SOUaCE- SOREPLACE 
<-DESTIl?ATION- 
NPB INDIA 
<-PURPOSE- 
<==> 
NPR FRED 
PR ES EMT 
<-- PLAY 
B FOOTBALL 
NUMBER SG 
<==> 
<z=> 
NPR FRED 
PAST 
<-- HOVE 
<- SOUBCE- SOMEPLACE 
<-DESTf RBTION- 
HPB INDIA 
<-PU RPOSE- 
<==> 
NPR FRED 
PRESERT 
<-=- PLAY 
N FOOTBALL 
%UMBER SG 
PRESENT 
<-- HaVE-PROP 
IDIOTIC 
There is a small. pen in that box, 
The "there ism construct is a special case of "to be," 
The house with the piano in it was given to Fred by his wife. 
PARSE: 
S 
NP IIL 
D'E'T THE 
N HOUSE 
auama SG 
PP NIL MITE 
WE' NIL 
DET THE 
bl PIANO 
BUPIBER SG 
PP BfL IN 
NP NIL 
PRO IT 
SUBJ 
OBJ 
IdU2JBER SG 
VP HIL 
TllS 
PAST 
VOICE PASSIVE 
V GIVE 
PP NIL TO 
VP MIL 
NPR FRED 
PP PIL BY 
NP NIL 
DET 
POSSPBO HIS 
bl UXPE 
NUHBER SG 
BY BIS I ASSfJEE YOU MEAB FRED 
IS THAT CORRECT? 
<==> 
24 WIPE 
BUl!lBER SG 
<-POSS-BY- FRED 
PAST 
<-- TRAHSFER 
XJ HOUSE 
NUMBER SG 
<-DEFINITE- THE 
<==> 
N HOUSE 
IDHBEB SG 
<-DEFINITE- THE 
PRESENT 
<- - COHTAIN 
N PIANO 
NULIBEB SG 
<-DEFINITE- THE 
> 
> 
> 
> 
> <-RECLPI EHT- 
> NPR FRED 
> <-SOURCE- 
> N RIFE 
> NUMBER SG 
> <- POSS-BY- FRED 
> 
> 
5. 4gaphoric References 
Anaphoric references are resolved in the case analysis part 
of the systea. As the system is developed around a specific 
aomain or data base, these routines will be modified to give 
them .ore power. Currently they work solely by looking at the 
previous sentences. 
Resolution of anaphoric references fits very well into a 
case system. Since a pronoan is only eacountered in a search for 
a particular case, this gives the anaphoric routines a great 
deal of infornation about what kind of referent to look for, 
Here we will give just a brief outline of a fairly intricate 
pr ocedare, 
When a pronoun is found in the sentence, it triggers a call 
to the function AI1PBOBfC. ABAPHORIC takes four arguments: 
1, A list of cases to look for, 
2,2 A test that the referent must pass, 
3. B number indicating hov far back in the history to 
look, 
Q. The pronoun referenced, 
The search is breadth first, in that the program tries very hard 
to find the referent in the earliest possible sentence. Fhe test 
is an arbitrary fosm. SBOULD-BE and RUST-BE elements of the test 
are shut off on failure as they are in the rest of the back-up 
procedure. 
Say, for instance, that the system is given the sentence: 
(12) He played the piano, 
The call to AGENT uould be the form: 
(AGENT (&HD (SHOULD-BE IlUSLCIAN) (BUST-BE HUHAN) ) ) . Since the 
obvious candidate for the agent is a pronoon, AHAPHORIC uould be 
invoked, Its TEST would be: 
(AID (SHOULD-BE BUSLCIAN) (RUST-BE HUHAH) 11, 
ANAPHOBIC would look back through the parses and p-parses of the 
recent sentences which are kept as global variables, ldoking for 
a noan phrase that ail1 pass this test, As it becomes aote and 
re desperate it will make the test less strict. Since %eta is 
the pronoun, ABAPEORIC is smart enough to insist that the 
referent be male. 
Host pronoun references within a sentence itself can also 
be resolved. For instance: 
($3) _I_C_ Fred went to London so he could visit the queen. 
(14) - Ja& took you up in airplane. 
Beferences to events ana places can also be handled: 
(15) 
It was anfostonate that the children were killed- 
[ 161 I went to Prance. Ftetl lives there. 
The resolution of locat ional references ("herea and thereu) is 
a difficult proble.. 811 treating stherern as a pronoun whose 
referent aast be a location, Wtherew Is handled fairly well by 
the system, 'Here" is mach more difficult, since its resolution 
is highly context dependent. 
another dPff icult problea is illustrated by sentence (17) , 
(I?) Harp. was aboard the Titanic when she sank. 
Phis sentence is aabigooas: Mary could hare sunk in a sviaminq 
pool while she was on the ~itanic, bat this is probably not the 
intanlied meaning. If wto sink" is defined with a test like 
(SHOULD-BE BOAT) 
m rfU pick up "Titanicn correctly. Its first 
u tZmiUdate is *larym, however; thus if the test does 
ra out, the qsteim will choose her as its initial 
Qm-fi;S~ 
This illnstrates a difficulty with the current system's 
anaphoric routines, The first candidate found which passes the 
test is chosen, rather than all of the candidates being looked 
at, and the most likely accepted, 
In sn~mary, then, what we have implemented is a powerful 
parser for English sentences. It eaploys case frames to discore2 
the intended meaning of the verb, then continues to use case in 
its analysis of the rest of the sentence. Each case has one ofr 
more tests associated with it, and each verb can add further 
tests to the cases in its case frames. These tests are gradually 
veakened on failure, giving the careful user complete control 
over the back-up. 
The system is carefully structured to allow easy extension 
or aodification. As more world knowledge is added to the systen, 
the tests on th& cases, and in the case frames can be made to 
enploy this knowledge, thus naking them aore selective. 
The structure building routines are coapletely general, 
allowing the user to retarn any strncture he desires within the 
constzaints of the general knowledge he puts into the systea. 
tie feel that this system illustrates the siaplicity, 
tlexibility, and expressive power of case in applications in 
zo~putational linguistics, 

References

1. Bruce, Bertram. Vase Systems for Natural Lahguage." 
Computer Science Departaent, Rut gers, CBfl-TT-31, 1974 

2. ~elce-lurcia, fl. nParadigns for Sentence Recognitionn, in 
System Developement Corp. Final Report No, HRT- 
15092/7907, 1972 

3, Fillmore, ~harles. "The Case for CaseM in Bac h and 
Harnts (eds.) , Universals &g Liqnisitic Theory. New York: 
Holt, Rinebart, and U'inston, 1968, 1-90. 

4. Hartin, Pilliam A, "Translation of English into flAPL Using 
Yinograd's Syntax, State Transition Networks, and a 
Semantic Case Grammarn Automatic Progranming Group 
Internal Hemo 11, HIT Project BAC, 1973 

5, Schank, 8, C. *Conceptual Dependancy: A Theory of Natural 
Language UnderstandingN Coqnitive Psycholoqp 3,4 (1972) 
552-631 

6. Schank R. C* 8 *Identification of Conceptualizations~ 
Underlying Natural Languagen in Schank and CoEbp(eds,), 
ConPntef aodels pf Thonqht and Lamuacre. San Pransico: 
w. H, Freeman 8 Co. 1973, 187-247 

7, Siaaons, B, F, t'Sernantic Networks: Their Computation and Use 
for Understanding Engl Lsh Sentencesn in schank and 
Colby 1973, 63-113 

8. Taylor, Brock fl. "B Case-Driven Parsern. unpublished Masters 
thesis, University of British Columbia, Vancouver, 1975 

9- Winograd, T. undeff~tandigg EgLd mguaqg, Neu York: 
Academic press, 1972 

10, Winograd, Terry "A Procedur a1 Bodel of Language 
Understaading" in Schank and Colby, 1973, 152-196 

11. Woods, Y, A, "Transition Metwork Grammars for Natural 
Language Analysis" gotam, Vol 13 (Oct, 1970) 591-606 

12, Woods, A Experimental Parsing System for Transition 
Network Gramnarsn, in Bustin (ed.) Utural Lanquaqe 
Pi:ocessipq Hew York: Algorithmics Press, 1973, "11-154 
