File Information
File: 05-lr/acl_arc_1_sum/cleansed_text/xml_by_section/metho/79/j79-1061_metho.xml
Size: 104,671 bytes
Last Modified: 2025-10-06 14:11:16
<?xml version="1.0" standalone="yes"?> <Paper uid="J79-1061"> <Title>American Jo&nsl of Computational Linguistics Microfiche 61 TOWARD A &quot;NATURAL&quot; LANGUAGE QUESTION-ANSWERING FACILITY</Title> <Section position="1" start_page="0" end_page="0" type="metho"> <SectionTitle> TOWARD A &quot;NATURAL&quot; LANGUAGE QUESTION-ANSWERING FACILITY BILL D. MAXWELL AND FRANCIS D. ~UGGLE </SectionTitle> <Paragraph position="0"> Associa tlon fpr Computational Linguistics This study describes the structure, implementation and potential of a simple computer program that understands and answers questions in a humanoid mannet. An emphasis bas been placed on the creation of an extendible memory structure--one capable of supposting conversation in normal, unrestricted ErIgli6h on a variety of topics. An attempt has also been made to find procedures that can easily and accurately determine the meaning of input text- A parser using a combination of syntax and semantics has been developed for understanding YES-NO questions, in particular, DO-type (DO, DID, DOES, etc.) questions. A third and major emphasis has been on the development of procedures to allow the program to converse, easily and &quot;naturally1' with a human. This general gaql has been met by developing procedures that generate answers to DO-questions in a manner similar to the way a person might answer them.</Paragraph> </Section> <Section position="2" start_page="0" end_page="0" type="metho"> <SectionTitle> TABLE OF CONTENTS 1. INTRODUCTION </SectionTitle> <Paragraph position="0"/> </Section> <Section position="3" start_page="0" end_page="0" type="metho"> <SectionTitle> 4.1 PARSINGSTRATEGY ............... 4.2 GMR .................... </SectionTitle> <Paragraph position="0"> 4.2.3 Pronouns. Ambiguity arid Undefined Work 4.3 PARSING ALGORITHM ...............</Paragraph> <Paragraph position="1"> 4.3.1 Preprocessing of the Input Text , ...</Paragraph> <Paragraph position="2"> 4.3.2 Determining Type of Input .......</Paragraph> <Paragraph position="3"> 4.3.3 Parsing a DO-Question or Statement ...</Paragraph> <Paragraph position="4"> . ......................... 5 1EYORY scARCHING .......................... 5.1 OVERVIEII ................ 5.2 TIIE IlEIIORY MATCH STRUCTURE .................. 5.2.1 General Structure ....... 5.2.2 Actor. Act and Object Comparison Results</Paragraph> </Section> <Section position="4" start_page="0" end_page="0" type="metho"> <SectionTitle> 7.1 RESULTS ................. </SectionTitle> <Paragraph position="0"/> </Section> <Section position="5" start_page="0" end_page="0" type="metho"> <SectionTitle> 1. INTRODUCTION </SectionTitle> <Paragraph position="0"> There are a number of extant computer programs which interact intelligently with human interrogators, but all do so in a way we characteriee as &quot;unnatural&quot;.</Paragraph> <Paragraph position="1"> By &quot;unnatural,&quot; we mean that they converse in a way significantly unlike two normal adult humans do. For example, Winograd's SHRBLU [19] seems child-like, and it shares with the woods' moonrocks system [20] the problem of being task-const rained. Weizenbaum's ELIZA [16] gives the appearance of being vague, evaslve and doubting. Colby's PARRY [s], of course, is variously paranoid. Finally, the CAI systems, such as carbonell's SCHOLAR [4] and Brown and Burton's SOPHIE [3], seem officiously pedantic. In contrast to those approaches, we wanted to construct a program able to carry on an in-lligent and &quot;natural&quot; dialogue with a human user.</Paragraph> <Paragraph position="2"> As an example of a &quot;natural&quot; and an &quot;unnatural&quot; dialogue, imagine two computer programs (CPs) conversing with a human (H) in which each CP already knows &quot;THE BOY O~JNS A BALL.&quot; One CP is &quot;natural&quot; (NCP); the other is &quot;unnatural&quot; (uCP) . (One may find fragments of responses from esisting programs in those responses we have labelled as &quot;UCP.&quot;) H: The ball is red.</Paragraph> <Paragraph position="3"> UCt: By 'the ball,' I assume you mean the ball the boy owns.</Paragraph> <Paragraph position="4"> NCP: b.K.</Paragraph> <Paragraph position="5"> H: Does the boy own a large, round ball? UCP: No. [or at best] I don't know.</Paragraph> <Paragraph position="6"> NCP: He owns a red one. It probably is round and may be large. H: The boy lives on Main Street.</Paragraph> <Paragraph position="7"> UCP:. By 'the boy', I assume you mean the one who owns the red ball. NCP: O.K.</Paragraph> <Paragraph position="8"> H: llhete does the boy play with his ball? UCP : I don' t krtow.</Paragraph> <Paragraph position="9"> NCP: I don't know, but I assume near his residence on Main Street. H: A house is on Main Street.</Paragraph> <Paragraph position="10"> UCP: O.K.</Paragraph> <Paragraph position="11"> NCP: Is it the house of the boy who owns the red ball? H: It was,expensive to construct.</Paragraph> <Paragraph position="12"> UCP: By 'it,' do youmean 1. the house 2. Main Street? NCP: 0.K.</Paragraph> <Paragraph position="13"> H: The ball broke a window.</Paragraph> <Paragraph position="14"> UCP: By 'the Ball, ' 1 assume you mean the red one the boy owns.</Paragraph> </Section> <Section position="6" start_page="0" end_page="0" type="metho"> <SectionTitle> BY 'a </SectionTitle> <Paragraph position="0"> window,' I assume ir is a part of the house in Main Street.</Paragraph> <Paragraph position="1"> NCP: DPd the boy throw the ball? H: Was the window expensive to repair? UCP: I don't know.</Paragraph> <Paragraph position="2"> NCP: Si~ce the house was expensive to construct, I assume that its windows are expensive to repair.</Paragraph> <Paragraph position="3"> From this short, simple dialogue some of the characteristics which distinguixh &quot;natural&quot; dialogue can be seen: &quot;natural&quot; language understanding processes are able to work with partial and overlapping information, are able to retain ambiguity until disambigation is needed, are able to perform &quot;short&quot; chains of deductions, are able to engage in common sense reasoning, and are able to pose reciprocal questions to the human to confirm expectations.</Paragraph> <Paragraph position="4"> Reasons for trying to instill a certain degree of &quot;humanness1' to computer proBrams should be obvious--to facilitate their acceptance, to extend their use, and to make them more pleasant to deal with. People will be much more willing ro work with a computer program if it gives the appearance of being humanoid itself, whether the kernel part of Che program concerns CAT, MIS, or whatever.</Paragraph> <Paragraph position="5"> - 7-We have developed a computer program called JIMMY3 which embodies some of the abave set of characteristics of a &quot;natural1' language processing system so as to demonstrate its feasibility, usefulness, and potential power. The implementation has necessarily been largely ad hoc, but as Lindsay [6] notes, this is not altogether bad. Mewell [7] proper1.y records that there is a tradeoff between generality and power. Like Lindsay, we deliberately eschew the general in favor of the specific. In the interests of replicability and extensibility, we also provide a reasonably complete description of the inards of JIMMY3.</Paragraph> <Section position="1" start_page="0" end_page="0" type="sub_section"> <SectionTitle> 1.1 MAJOR GOALS </SectionTitle> <Paragraph position="0"> The focus of this work has been on three problems: a) the development ~f a memory structure useful for engaging in a dialogue with a person, b) the development of procedures that can easily and accura-tely determine the meaning of input text, and c) the development of procedures for the generation of output.</Paragraph> <Paragraph position="1"> As contrasted with more conventional models for language understanding where input is decoded in terms of concepts and then mapped into memory, this model storcs surface structures more or less intact without any conversion. This approach simplifies both the input processing and output generation phases of the system. However, it does necessitate the use of complex memory matching procedures during the answer-producing phase-of understanding.</Paragraph> <Paragraph position="2"> For parsing, several ad hoc rules were developed for applxing a metric to measure &quot;meaningfulness.&quot; Using this procedure, several different interpretations of the input are examined. The one having the highest &quot;score,&quot; as determined by the metric, is selected as the proper meaning.</Paragraph> <Paragraph position="3"> Most memorymodels and undez'standing systems do not have elaborate .facilities for the creatibn of output that is interesting or stimulating to conversation. Output production by this program approaches solutions to three relafed problems: a) what information should be used in the 9esponse to a given input, b) how a response can be structured so certain parts are emphasized an$ c) how B Tesponse can be made tp appear natural in the sense of being like a similar remark a person might make.</Paragraph> </Section> </Section> <Section position="7" start_page="0" end_page="0" type="metho"> <SectionTitle> 1.2 SAMPLE DIALOGUE </SectionTitle> <Paragraph position="0"> To get a feeling for the types of responses the currentJy Implemented program CBn produce, the following short dialogue is presented.</Paragraph> <Paragraph position="1"> Note that with only the capability for answering W-questions implemeqted, a continuing dialogue is not very easy to obtain.</Paragraph> <Paragraph position="2"> Three explicit facts existed in remory at the time of this conversation. They were:</Paragraph> </Section> <Section position="8" start_page="0" end_page="0" type="metho"> <SectionTitle> BRANDT -JELL OWNS A RED BOOK. 2) BRANDT MAXWELL OWNS A BLUE BOOK. 3) JIMMY3 KNOWS BRANDT MAXWELL. </SectionTitle> <Paragraph position="0"> (this computer model has been dubbed JIMElY3) The dialogue is given in upper case with commentary in lower case. The j: and p: (identifying JZMMY3 and person) were added liere for clarity.</Paragraph> <Paragraph position="1"> j: HI. WHO ARE YOU? JIMMY3 must find out who it is talking with in orderr to translate the pronoun &quot;I&quot; to facilitate memory searching.</Paragraph> <Paragraph position="2"> p : BdANDT MAXWELL.</Paragraph> <Paragraph position="3"> OK.</Paragraph> <Paragraph position="4"> BR@DT@MAXWELL is rtcognized as a legitimate name. The @ in BRANDT@EWLL is used to indicate the combining of two or more words to form a Separate erttity. In the above example, the names BRANDT and WELL are recognized as first and last names, respectively, that, when appearing together, are interpreted as the full name, BRANDT@MAXWELL. W YOU KNOW MSNE? YES, YOU.</Paragraph> <Paragraph position="5"> Parsing is accomplished by matching input to templates consisting of (ACTOR ACT OBJECT) describing the different meaning senses for main verbs. This question is parsed using the (PERSON KNOW PERSON) definition of KNOW. On input, YOU is translated to JIEIMY3 (which has ISA PERSON as one of its properties).</Paragraph> <Paragraph position="6"> Memory is matched against the (JIMMY3 KNOW PERSON) pattern which yields the match (JIEIMY3 KNOWS BRANDT@MAxwELL)'. Output procedures then cdnvert the match into-the given response.</Paragraph> </Section> <Section position="9" start_page="0" end_page="0" type="metho"> <SectionTitle> DO YOU KNOW BILL MAXWELL? </SectionTitle> <Paragraph position="0"> NO.</Paragraph> <Paragraph position="1"> The search using (JIMMY3 KNOW BILLeMAXWELL) yields no match. Under other circumstances a failure of thjs type would produce an answer of &quot;I DON'T KNOW&quot;. However, the act KNOW is tagged so that &quot;NO&quot; is the proper response if a search of memory fails when the triple has KNOW as its act(main verb).</Paragraph> </Section> <Section position="10" start_page="0" end_page="0" type="metho"> <SectionTitle> DO YOU THINK? r DON'T MOW. </SectionTitle> <Paragraph position="0"> The input was correctly parsed as (PERSON THINK NIL) but the memory search found no matches. The current model has no facilities for introspection other than the examination of triples in memory that deal explicitly with JIMMY3.</Paragraph> </Section> <Section position="11" start_page="0" end_page="0" type="metho"> <SectionTitle> DO YOU KNOW ANYTHING9 I DON'T UNDERSTAND THE USE OF KNOW. </SectionTitle> <Paragraph position="0"> At the time this dialogue was produced, the only meaning of KNOW contained in memory was (PERSON KNOW PERSON).</Paragraph> <Paragraph position="1"> Therefore, the reasonable parse of (PERSON KNOW THING) was not found.</Paragraph> <Paragraph position="2"> p: DO I HAVE A BLUE ANI;EML BOOK? j: A BLUE BOOK BUT NOT AN ANIMAL BOOK: Some, but not all, of the modifiers on the input were matched by a triple in memory as indicated by the response. Since not all modifiers matchkd, the ansQer is not prefaced with YES.</Paragraph> <Paragraph position="3"> p:</Paragraph> </Section> <Section position="12" start_page="0" end_page="0" type="metho"> <SectionTitle> DOES NONE HAVE A RED THING? </SectionTitle> <Paragraph position="0"> j: YES. YOU OIJN A RED BOOK.</Paragraph> <Paragraph position="1"> liemory Ls searched using the (PERSON 1WVE TIIING) pattern which best matches (BRAEJDT@MAXWELL OWNS BOOK) . 9 comparing modifiers , (BRANDT@MAXWELL OWNS RED-BOOK) is selected over (BRANDT@MAXWELL orws BLUE-BOOK) .</Paragraph> <Paragraph position="2"> p: M I OWN A GREEN IjOOK? j : NO. YOU OWN A RED BOOK.</Paragraph> <Paragraph position="3"> Since GREEN arhd RED are mutually exclusive instances of COLOR, the answer is NO. (BRANDT@MAX\ELL OWN BLUE-BOOK) was also matched buQ fie triple with RED HOOK was used to produce the response since it was found first by the memory search routine. p: DO I HAVE AN QLD BOOK? j: YES. A RED ONE. I DON'T mow WHAT OLP MEANS. OLD is ignored sin= ~t is an unaefined word. Input is parsed as if it had been &quot;DO I HAVE AN BOOK?&quot; p:</Paragraph> </Section> <Section position="13" start_page="0" end_page="0" type="metho"> <SectionTitle> DOES BILL IfAXWELL O\N A WOK? </SectionTitle> <Paragraph position="0"> j: L DON'T KNOW.</Paragraph> <Paragraph position="1"> The fact (BILL@WJELL Oms BOOK) is not present in memory. Neither is any contradiction of that fact. p: BYEj: GOODBYE .</Paragraph> </Section> <Section position="14" start_page="0" end_page="0" type="metho"> <SectionTitle> 1.3 REVIEW </SectionTitle> <Paragraph position="0"> The research involving memory models can be divided into two basic approaches. First are models created for the exploraaon of theories of human memory and for the testing of linguistic. theories. In these systems, the other features of a complete language understanding system assume a background position since the main emphasis is the memory model itself. Models which fall into this class are the works of Quillian [ll], Anderson and Bower (11, and Norman, Rumelhart and the LNR research</Paragraph> <Section position="1" start_page="0" end_page="0" type="sub_section"> <SectionTitle> -11 - </SectionTitle> <Paragraph position="0"> group [lo].</Paragraph> <Paragraph position="1"> The second type of memory model is that developed as vart of a system which has splpe component other than memory as the major emphasis.</Paragraph> <Paragraph position="2"> These models include ~5nograd's blocks world L1-93, ~chank's Conceptml Dependency System C13, 143 and ~olby's Artif lcial Paranoia model [s].</Paragraph> <Paragraph position="3"> The memory model developed by this current research does not correspond to any xis sting model.</Paragraph> <Paragraph position="4"> It is not based nn case grammar in a strict sense, but stores informat5on in a form more closely related to surface Qtructures utilizing only three main components: actor, act and object. Although this development was influented to a limited extent by Anderson and Bower's model [I], it was shaped In actual design by the parser Osed by Wilks (gce below) which attempts to find meaning by searching for triples. Wilks' work was also influential in the development oP the parser.</Paragraph> </Section> </Section> <Section position="15" start_page="0" end_page="0" type="metho"> <SectionTitle> 1.3.2 LINGUISTIC PARSERS </SectionTitle> <Paragraph position="0"> In the area of linguistic parsers, there are currently four different methods betng used. They are: a) semantic triples, b) augmented transition networks, c) procedures and d) pat tern matching.</Paragraph> <Paragraph position="1"> These can be described most easily by examining specific examples of each.</Paragraph> <Paragraph position="2"> The parser developed by Yorick Wilks [17, 181 is based on identifying triples composed of an actor, an act and an object. Input is parsed by applying trial templates to the input and identifying candidates to fill the three slots in a template. The association of an input word with a template slot is made by consideratiom of the -12semantic relationship between the input word and the requirements of the slot, The closer the relationship, the better the match, and therefore, the better the parse. The choice between several potential parsings of an input string is detennined by a scheme for computing the qemantic density of the parse based on the dumber and types of matches that are obtainkd by filling the slots in the triple. Assuming English is a redundant language, tbe parse having the greatest density is the one which contains the most interconnections and, therefnre, is the one to be accepted as the correct parse.</Paragraph> <Paragraph position="3"> An important feature of Wilks' system is that syntactic properticis of words take a role secondary to that assumed by the semantic properties. Thus it is possible to determine t.he meaning of input which is ill-formed and grammatically ipcorrect.</Paragraph> <Paragraph position="4"> Augmented transition networks have been used for &me time as a method for parsing. The principal system utilizing this method is the NASA lunar rocks system developed by Woods [20]. The parser used by th LNR group [lo] is of similar design. While this technique is very flexible in allowing a large grammar to be consistently modelled, most implementations of it have been strictly syntactic. Little attempt has been made to incorporate semantic knowledge into the parsing. Without semantic knowledge, and using the strict grammatical rules embedded in the transition ne'tuorks, this approach is really very brittle. It is not capable of handling ungrammatical input with much success.</Paragraph> <Paragraph position="5"> -in-Clqsely related to the augmented transition network approach is the use of procedures to describe a gramar as exemplified hy Winograd's program [lg].</Paragraph> <Paragraph position="6"> This system is also predominately syntactic in nature. All information about the grammar is represented in terms of actual toutines whioh are invoked during parsing.</Paragraph> <Paragraph position="7"> The input analyzer used in Colby's Artificial Paranoia modbl. [5] is essentially a pattern matcher which uses a few tricks to normalize all input to short strings whibb it hopes to recognize. It is not really either syntactically or semanrlcally based but depends mostly on transformations to reduce input to simple, empirically derived, recognizable forms.</Paragraph> <Paragraph position="8"> The power of this approach lies in its ability tg accept even the most ungrammatical input and relate it tc sodething which is already known. Thus, there is a given context in which all input is interpreted-the context of what the model knows and wants to continue talking about.</Paragraph> </Section> <Section position="16" start_page="0" end_page="0" type="metho"> <SectionTitle> 1.3.3 OUTPUT GENERATION </SectionTitle> <Paragraph position="0"> Perhaps the work on output production which has most influenced the current program is the model by Colby [5]. As described in the previous section, input is recognized by reduction to simple identifiable patterns which can be matched to prestored strings in the program's memory. Also included in the memory are corresponding sets of strings which are to be used as output. Fixed responses are selected based on the current state of the program's self model; the state of its mgdel of the person and the previous conversation. This technique gives the appearance of a normal, humanlike dialogue. Thfs approach is successful because conversation is always di-rected-in one particular, very narrow, direction by the way input is understood. The context is fixed and must not deviate from a single</Paragraph> </Section> <Section position="17" start_page="0" end_page="0" type="metho"> <SectionTitle> 2. PROGM1 OVERVIEW </SectionTitle> <Paragraph position="0"/> <Section position="1" start_page="0" end_page="0" type="sub_section"> <SectionTitle> 2.1 PROGRAEi STRUCTURE </SectionTitle> <Paragraph position="0"> The logical structure for the program consists of cssentinlly four main sections executed in sequence with each step producing informntiou required by the following step. This design, with minor variation, is characteristic of many existing programs for language understanding.</Paragraph> <Paragraph position="1"> One no table exception has been the SPEECH UNDERSTANDING PIIOJKCT [8] which advocates the use of parallel nodules working si~nultnneously on rhe input, passing data freely between routines, until the desired end result is reached.</Paragraph> <Paragraph position="2"> The following algorithm describes how JIMEfY3 behaves q$ the mBst superficial level.</Paragraph> <Paragraph position="3"> DO until person is through talking: (1) . Request user input and translate English words into internal . codes (?EMORY node numbers).</Paragraph> <Paragraph position="4"> (2) . Parse input to create the &quot;best&quot; parse network(s). (3) . Match each parse network with structures in memory to produce . the &quot;best&quot; match(es) .</Paragraph> <Paragraph position="5"> .</Paragraph> <Paragraph position="6"> (4) . Produce a response based on the memory match(es).</Paragraph> <Paragraph position="8"> To make the processing of text more efficieht, English words and punctuation are translated in step (1) into node pointers. Undefined words are changed to null pointers.</Paragraph> <Paragraph position="9"> The parser then creates a parse network from which a network density is compu~ed. This density is a measure of how well the particular parse captures the meaning of the input. The parsing procedure is driven by heuristics to do a search of the most IikBly parse networks. In case of ambiguity, several parse networks can be passed to the !uemurymatch routine. If the input was a statement, the information given by the netpork is stored in short term membry (Sdi).</Paragraph> <Paragraph position="10"> If a question is asked, then the parse network is marched against event nodes in the memory structure to find potential answers.</Paragraph> <Paragraph position="11"> A match score id computed for each pattern match based on how well the three major components (ACTOR, ACT and OBJECT) and all minor components (single modifiers and prepositional phrase modification) match, Only the closest matches are retained for use by the output g&erat~r. Ambiguity in the parse, if it exists, is resolved here by the selection of the best match regardless of its generating parse network. The response Is generated by procedures operating on the memory matches. The value of the match score determines generally what the response content should be. The exact form of the response is determined by. theway the components of the input matched (or did not hatch) the malory pattern. After a form is decided on, the response is made grarnmaticalmiihen printed. Control is then returned to the input routine and the wNe sequence is ready to be repeated.</Paragraph> </Section> <Section position="2" start_page="0" end_page="0" type="sub_section"> <SectionTitle> 2.2 TI= RUNNING PROGRAM </SectionTitle> <Paragraph position="0"> The environment, the fime-sharing system on the Honeywell 66/60 running GCOS at the University of Kansas, in which this program was developed and is run dictated its form.. This machine poses several problems besides the lack of suitable languages, the most serious being the 25K word limit on the amount of memory an interactive program can obtain.</Paragraph> <Paragraph position="1"> Since there are no interactive strfng ar list processin2 languages available on the system, only FORTRAN came close to satisfying the requirements of a language in which a natural langpage system could be realistically implemented. What was wanted was a high level language with overlay capabilities, small but powerful I/o packages and the facility for independently compiled and tested subroutines with utilities for the maintenance of subroutine libraries.</Paragraph> <Paragraph position="2"> The program now running consists of over 130 subroutines written in a t~tal of about 13K lines of FORTRAN code. It runs in approximately 20K (36-bit) words of memory when segmented into 5 overlays. An unlinked version is approximately 37K words in size. The use of core by various parts of the program is given in Table 1.</Paragraph> <Paragraph position="3"> Responee time for the pragfam is goad considering the amount of overhead required because of memory constraints. Dialogue like that given earlier takes 2-3 seconds between the last character of input until the answer starts to Prjnt.</Paragraph> </Section> <Section position="3" start_page="0" end_page="0" type="sub_section"> <SectionTitle> 2.3 DATA FILES </SectionTitle> <Paragraph position="0"> Two data files, WORDLIST and MDIORY, are required by the program.</Paragraph> <Paragraph position="1"> The WORDLIST file contains the tat representation for all words* punctuation and system commands along with the keys for translating that text into memory node numbers.</Paragraph> <Paragraph position="2"> The MEliORY file is the collection of all memory nodes.</Paragraph> <Paragraph position="3"> To aid in the recreation and continual updating of these files, the data ~mtained in them is present in a text file which is maintained on-line using the time-sharing text editor. After changes to this primary file, are made, a program, separate from JIMMY3, translates the text code into the WORDLIST and 1lEMORY files. A second program can unload the WORDLIST and MEMORY files back to text whennecessary. Currently the text file contains a vocabulary of 387 entries (t~oltds, punctuation and commands), 22 ACT usages and 7 facts. This information is encoded in approximately 4000 lines of symbolic node representation. It, when loaded, creates a WORDLIST of 387 seoarate entries and a MMORY with approximately 800 memory nodes.</Paragraph> </Section> </Section> <Section position="18" start_page="0" end_page="0" type="metho"> <SectionTitle> 3. MEMORY STRUCTURE </SectionTitle> <Paragraph position="0"> The memory system for JIMMY3 is an aggregation of four components: WORDLIST, MEMORY, temporary structures and STM. With the exception of the WORDLIST, each part is a collection of one or more substructures consisting of nodes connected by relations.</Paragraph> <Paragraph position="1"> -18-</Paragraph> <Section position="1" start_page="0" end_page="0" type="sub_section"> <SectionTitle> 3.1 COEPONENTS </SectionTitle> <Paragraph position="0"> WORDLIST. The WORDLIST is an index into the tEMORY component end consists of representations for all units of input JIMMY3 is to recognize.</Paragraph> <Paragraph position="1"> Items not included in the WORIILIST are declared undefined by the input decoding routines. In addition to the exact text representation, a pointer to the corresponding node in MEMORY is given.</Paragraph> <Paragraph position="2"> MEMORY. This is the model's long term memory--essentially a collection of interrelated nodes.</Paragraph> <Paragraph position="3"> A node is the smallest packet of information in MISElORY that can Be referenced by a single pointer (either a WORDLIST pointer or a pointer from another node.) The information contained in a node may describe or modify a single word or symbol or may be a collection of relations connecting several nodes into a more complex structure.</Paragraph> <Paragraph position="4"> information stored in nodes describing single words is varied and includes such items as part of speech, inflectional variations and subset or superset names. Other types of data, for exampld, events and statements of fact, are formed by nodes that contain polnter structures relating other nodes in a predetermined fashion.</Paragraph> <Paragraph position="5"> TENPORARY STRUCTURES. There are three basic memory structures of a transient nature that can exist during the processing required to determine meaning and produce an answer. They are: a) the parse network, b) the memory match structure, and c) the output production list.</Paragraph> <Paragraph position="6"> A parse network is a small collection of nodes of the same format, and connected in the same fashion, as the nodes in MEMORY. Produced by the parser, it is used to represent the meaning of input text. This net-</Paragraph> <Paragraph position="8"> work cantains information about the major components of the input, i.e., what wards or phrases represent. the ACTOR, ACT and OBJECT; it also contains infovation abwY dl modifying words and phrases Found in the input.</Paragraph> <Paragraph position="9"> A memory match stzucture is produced by matching the parse network with MEMORY.</Paragraph> <Paragraph position="10"> It contains comparison data relating the corresponding components of the input (~arse hetwork) and a substructure in MEMORY. T~Q output production list is used during the examination of the memory match structures to accumulate the discrete components of the response to be made, i.e., the words and punctuation for the answer to the questf~n. Each element in this fist contains a pointer to a text representation for the word (or punctuation), its function and its relation to other words in the sentence. When the output list has been formed, it is passed to a print routine which writes the answer to the terminal.</Paragraph> <Paragraph position="11"> STM. STM is the short term memory component for the program. It is essentially a collection area for parse networks, memory match structures and output production lists generated for previous inputs and their responses.</Paragraph> </Section> <Section position="2" start_page="0" end_page="0" type="sub_section"> <SectionTitle> 3.2 RELATIONS </SectionTitle> <Paragraph position="0"> Among the attributes used to relate the different MEMORY and parse network nodes to each other are those for describing hierarchies and chains.</Paragraph> <Paragraph position="1"> HIERARCHY. Hierarchies are vertical structures formed by relating nodes to one another using the ISA attribute. Set (superset, subset) relations are implement& as hierarchies. A typical example would be -20the path through the nodes: BR,ANDT (ISA) BOY (ISA) PERSON which displays the relations among the three nodes.</Paragraph> <Paragraph position="2"> In a hierarchy, each node is connected only to a single node immediately before and after it. However, for any given hierarchy, it is possible that the node9 involved are connected to others both in and out of the hierarchy by connections independent of that particular hierarchy structure.</Paragraph> <Paragraph position="3"> Transitivity is a property of hierarchies as implemented by the program. Therefore, in the example slbove, the information, BRANDT (ISA) PERSON, is implicit dn the hierarchy. It should be pointed our that in the forward link between BRANDT and BOY, the connection is not one of set membership but rather one of subset as is the relation between BOY and PERSON. This is accomplished by the concept of GENERIC nodes even for specific instances of, say, people. Therefore, the BRANDT in the hierarchy is a GENERIC node which will, in turn, have under it an INSTANCE node of BRANDT which is related by set membership. The GENERIC BRANDT is a set of one element.</Paragraph> <Paragraph position="4"> CHAIN. The mechanism for constructing horizontal structures is the chain. As contrasted to the before link-after link structure of the hierarchy, the chain allows the creation of a linearly ordered set of nodes each relating to a common &quot;root&quot; node to which it iss attached. This allows the creation of sets of nodes related by a common property. For example, chains exist in MEMORY tying together all inflectional variations of a word. Another example of a chain is the list of color nodes: RED, BLUE and GREEN.</Paragraph> <Paragraph position="5"> A singly linked list exdsts through these nodes but in addition, each of the three points back to the node for COLOR--the node which points to the first color in the list.</Paragraph> <Paragraph position="6"> The more important links currently used to form chains are described next.</Paragraph> <Paragraph position="7"> DEFN. The DEFN link is used to tie together all nodes that represent different definitions for a word. Thus, for every symbol in the WORDLIST, there is a chain of nodes in MEMORY connected via the DEFN link.</Paragraph> <Paragraph position="9"> INST. A chain emanates from each definition of each word in MEMORY.</Paragraph> <Paragraph position="10"> These chains are created with the INST link and represent the set of all instances of the word given by the root node of the chain. -22-ISA. This link is used to generate hierarchies. Actually created is a chain with the property that every node in the chain is related by the ISA link to the root node. The root node can be a member of another ISA chain, thus giving a multilevel li~erarchy. Figure 1 shows part of the hierarchy for BWDT (IsA) BOY (ISA) PERSON.</Paragraph> <Paragraph position="11"> ACTOR. This is used to connect a set of ACTION nodes in which the root node is used as the ACTOR of a triple. For example, there would be a chain through the triples representing (BRANDT IUVE BOOK), (BRANDT LIKE MILK) and (BRANDT HAVE CAT).</Paragraph> <Paragraph position="12"> ACT. Used to form sets of ACTION nodes which contain the root node as the 4CT of a triple.</Paragraph> <Paragraph position="13"> OBJECT. Similar to the ACTOR and ACT links except it chains through ACTION nodes which. have the root node as the OBJECJ of a triple. MODIFY. This is used to specify a set of nodes which are modified by the root node. The type of this single word modification is partially determined by the part of speech of the root node and that of the modified node. It is further specified by the hierarchy of the root node and the node being modified, For example, RED may be used to modify BOOK. In terms of grammatical function, the parts of speech specify this as an adjective modifying a noun. However, examination of the hierarchies discloses that RED (ISA) COLOR which is a property that TIIINGk (BOOK (ISA) THING) can have.</Paragraph> <Paragraph position="14"> POS. This is the part of speech link.</Paragraph> <Paragraph position="15"> PREP. This link is used in a CONTEXT node to point to the preposition part of the prepositional phrase represented by the node.</Paragraph> <Paragraph position="17"> The CONTEXT node also contains the reference to a prepositional object.</Paragraph> <Paragraph position="18"> CNTXT, This is the link used to attach a CONTEXT node as a modifter of another node.</Paragraph> <Paragraph position="19"> The chain created by a CNTXT link represents all nodes modified by the same CONTEXT node.</Paragraph> <Paragraph position="20"> INFLEC.</Paragraph> <Paragraph position="21"> Most words in MEMORY belong to an INFLEC chain. This is a set of inflectional variations of the word. It brings together different forms which vary in tense, number, person, etc. The INnEC chain through &quot;I&quot; would join nodes for I. m., MY, and MINE. A similar chain through OWN would link nodes for OWN, OWNS, OWED and OWNING. ANTONYM. All antonyms of a word are chained together using this link.</Paragraph> <Paragraph position="22"> The words in the chain are not antonyms of each other. PARTS. This link is used in nodes to express the sub-part, superpart relationships.</Paragraph> </Section> <Section position="3" start_page="0" end_page="0" type="sub_section"> <SectionTitle> 3.3 SUBSTRUCTURES </SectionTitle> <Paragraph position="0"> Using the relations for constructing hierarchies and chains, various other, more complex, structures can be created. These are structures formed by the coincidence of several hierarchies or chains passing through a single node, Of all possible substructures, triples (ACTION nodes), CONTEXT nodes and SEMANTIC MODIFICATION nodes are of greatest importaae.</Paragraph> <Paragraph position="1"> TRIPLES. A triple (ACTION node) is a node through which passes three separate chains, one each for ACTOR, ACT, and OBJECT.</Paragraph> <Paragraph position="2"> These triples are used to specify events, facts and as semantic definitions for the ACTS ii.e., as ranges for acceptable candidates for ACTORS and OBJECTS.) The chains for ACTOR, ACT and OBJECT originate in nodes which represent those major components and continue through this node to where they merge in different combinYtions with still other chains to form more triples.</Paragraph> <Paragraph position="3"> Figure 2 show$ the relevant stsructure of a triple representing &quot;PERSON HAVE BOOKI~.</Paragraph> <Paragraph position="4"> CONTEXT NODES. A close relative of the triple is the context node.</Paragraph> <Paragraph position="5"> It too has chains passing through it determining its structure. However, it has only two chains: those for PREP and POBJ. These specify a preposition and its object. Nodes of this sort are used as modifiers of single nodes, triples and other context nodes.</Paragraph> <Paragraph position="6"> PERSON., . . .</Paragraph> <Paragraph position="7"> c3: . .</Paragraph> <Paragraph position="8"> &quot;-:-r-i ACTOH [ :. ... . .. . ..: I I lo nrxt triple u dnq l'1'.1?501\1 a s an ACTOI?.</Paragraph> <Paragraph position="9"> I-MVE. .. :,..</Paragraph> <Paragraph position="10"> ' YbI ACT[lo next trlplf? usin7 I-L$Vl: as an ACP.</Paragraph> <Paragraph position="11"> :'. . . . . . . . . .</Paragraph> <Paragraph position="12"> ro noxt triple u ,'in3 f3OOK a .c an 013J LC;-I .</Paragraph> <Paragraph position="13"> ,,y IlOOK.. . . . . .</Paragraph> <Paragraph position="14"> I.</Paragraph> <Paragraph position="15"> I *. .... 0. ...*</Paragraph> </Section> </Section> <Section position="19" start_page="0" end_page="0" type="metho"> <SectionTitle> SEMANTIC MODIFICATION NODES, </SectionTitle> <Paragraph position="0"> These nodes are not similar to triples or context nodes either in design or in function. However, they are one of the major substructures appearing in MEMORY so will be considered here briefly.</Paragraph> <Paragraph position="1"> These nodes or collections of nodes are the data strings which are used to drive the parser and in that capacityl will be described later. Essentially they contain ordered lists of semantic categories representing potential modification patterns for words, These lists are applied by the parser to determine semantically acceptable word strings in the input that can moaify other word strings. For example, a noun would have a list describing the types of adjectives that could modify it. Tor adjectives, there would be a list of potential adverb types. Each definition of every word in MEMORY that is to be recognized during parsing of input must have attached to it a semantic rnudification node. In cases where many words have the same node, the structure for semantic modification is implemented as a chain through-all words having the same modification requirements.</Paragraph> <Section position="1" start_page="0" end_page="0" type="sub_section"> <SectionTitle> 3.4 NODES </SectionTitle> <Paragraph position="0"> Nodes in MEMORY are represented as fixed-size blocks of contiguous disk or core locations and are the smallest units of MEMORY that can be referenced. null Each node is composed of links and variable length attributes which may be data or pointers to other nodes. All the space allocated to a node does not have to be used. In fact, most nodes use only part of their allocated space to contain attributes; the remainder is empty (zero). The current model uses a size of 8 words for its nodes. (This size was not determined ebnpirically as the optimum size but was, instead, selected because of disk hardware considerations,) The first word of every node in MEMORY is used for bookkeeping and, therefore, is not available for storing -26attributes. Contained in the first word is the node number itself, an indicator of &he kind of node plus a pointer that gives The next word of the node available for use as a 3 Lnk or variable length attribute.</Paragraph> <Paragraph position="1"> Whenever a single node has more attributes than it can conta-in, additional 8-word blocks are allocated as extensions of the original node, These extensions are connected in a chain to the original node by the CONT link and are transparent to all the program except for the most basic MEMORY manipulation routines.</Paragraph> <Paragraph position="2"> There are eight different kinds of nodes in memory, each with its own function. The Kinds are TYPE, SIMPLE GENERIC, ACTION GENERIC, CONTUT GENERIC, SIlPLE.INSTANCE, ACTION INSTANCE, CONTEXT INSTANCE and SEMANTIC MODIFICATION. Each ha@ a different purpose in the representation of information in MEMORY. Briefly, their purposes are as follows. The TYPE node is used as the reference point between the WORDLIST. and MEMORY. The three GENERIC nodes are used to specify syntactic and semantic information associated with words and substructures given by the INSTANCE nodes. The INSTANCE nodes are used to represent actual instances of words or facts.</Paragraph> <Paragraph position="3"> SEMANTIC MODIFICATION nodes are used to cdntain information required by the parser to help direct its selection of the modification patterns during parsing of the input. The other distinction made on node types is among SIMPLE, ACTION and CONTEXT. SIMPLE nodes reprebent single words, ACTION nodes are used to represent triples and CONTEXT nodes are used for preposf tional phrases.</Paragraph> <Paragraph position="4"> TYPE. The 'TYPE nodes in MEMORY are in a one-to-one correspondence with the entries in the WORDLIST and serve as the reference nodes for the WORDLIST pointers to MEMORY. Some attributes that may appear in a TYPE node are DEFN -27and POS.</Paragraph> <Paragraph position="5"> First to appear in a TYPE node is an attribute giving the text representation for the symbol. An): routines, sucb as the output production programs, can get the text representation for printing directly from the TYPE nodes. This text is repeated here since the symbol given ilP the WQRDLIST is in 6 character chunks linked together -- a form not suitable for printing. The second attribute always present is the DEFN link used to chain together all definitions of the symbol. Only words and punctuation will have non-null chains of definitions. For words, there is a SIMPLE GENERIC node in the DEFN rliilrn for each different word usage. For punctuation, there is a single SIMPLE GENERIC node chained to the TYPk node. System commands and set names have a null Set acr usages since information of a more detailed nature for them is not required; Figure 3 shows the relationship between TYPE nodes and the WORDLIST and between TYPE- nodes and SIMPLE GEIJERIZ nodes.</Paragraph> <Paragraph position="6"> Among tne optional attributes used in a TYPE node is the SYSSET link used to chain together all TYPE nodes which name items in the set, An example of the use of SYSSET is for part of speech. In the TYPE node for the symbol is the root for the chain througli the TYPE nodes for NOUN, PRONOUN, VERB, etc.</Paragraph> <Paragraph position="7"> The' POS link is present in the TYPE nodes for words that name the various grammatical properties (singular, nominal, etc.) and parts of speech (noun, etc.).</Paragraph> <Paragraph position="8"> functions of the TYPE node.</Paragraph> <Paragraph position="9"> SIMPLE GENEKIC. These nodes are used to represent the different usages for words, i.e., 40 serve mainly as a source for semantic and syntactic information about a word. A large variety of attributes can appear in a SIMPLE GENERIC node, such as DEFN, IRST, ISA, POS, SYSMOD, INFLEC, SYNONYM, ANTONYM, ACTOR, ACT, OBJECT, MGDIFY, and PARTS. Of these, only two are required. The DEFN link must be present to tie this usage of the word with its TYPE node and to continue the chain to the next usage, if any. Alsc~reauired is the part of peech link, POS.</Paragraph> <Paragraph position="10"> Of the other attributes that can appear, two of the more important: nnes are the INST and ISA links.</Paragraph> <Paragraph position="11"> The INST link is used to create the chain of specific instances of this word represented by SIMPLE INSTANCE nodes To create hierarchies within the set of SIMPLE GENERIC nodes, the ISA link is used.</Paragraph> <Paragraph position="12"> Although ach ISA link belongs to a chain, the presence of two ISA links -- one a root link, the other d $on lihk -- relates the current node to the ohe immediately above it and the ones below it.</Paragraph> <Paragraph position="13"> The ACTOR, ACT and OBJECT links in a SIMPLE GENERIC node point tc</Paragraph> </Section> </Section> <Section position="20" start_page="0" end_page="0" type="metho"> <SectionTitle> ACTION GENERIC nodes that use the node as an ACTOR, ACT or OBJECT, The </SectionTitle> <Paragraph position="0"> PREP and POBJ links, if present, point to CONTEXT GENERIC nodes that use this node as a prepositlop or a prepositional object. The INFLEC, MODIFY, PARTS, ANTONYM and SYNONYM links poidt to other SIMPLE GENERIC nodes that.</Paragraph> <Paragraph position="1"> are related to the current node in the specified manner.</Paragraph> <Paragraph position="2"> ACTION GENERIC. These nodes represent the triples bsed to give the meanings for ACTS. They ushally contain three mandatory links- those for the ACTOR, ACT and OBJECT chhins. However, for some ACTS, the OBJECT is either not required or is optional. As an example of an ACTION GENERIC node, consider the ACT &quot;know1*. In the curreht MEMORY, it has three triples attacbed to it giving the verb senses of (PERSON OWN THING), (PERSON OWN ANIILZL) and (PERSON OWN SLAVE).</Paragraph> <Paragraph position="3"> Only two other attributes are allowed in an ACTION GENEKIC node.</Paragraph> <Paragraph position="4"> These are the MODIFY and CNTXT links which are used to specify single word and prepositional phrase modification of the ACTION node. When these Gwo links appear in a GENENC node, they refer to the potential types of mddf ication that may occur? -30-CONTEXT GENERIC. Nodes of this kind always contain exactly three links: PREP, POW and CmT. Since this node is used to specify potential types of modification, the PREP and POBJ links are used to point to particular SIMPLE GENERIC nodes for the preposition and prepositional object. The CNTXT link is used to tie this CONTEXT node to the ACTIOK GENERIC node it modifies.</Paragraph> <Paragraph position="5"> SIMPLE INSTANCE. A SIMPLE INSTANCE node is present in MBIORY fop each distinct instance of each word that has been used anywhere na an ACTOR, ACT&, OBJECT, modifier, etc., in the. representation of information by ACTION INSTANCE and CONTEXT INSTANCE nodes, Tbre is only one mandatory link in the SIMPLE INSTANCE node, the INST link. However, there are usually several more selected from the set of ABTOR, ACT, OBJECT, PREP, POBJ, and MODIFY depending on the uses to which this articular instance has been put. In the case of all links except MODIFY, the link poi~ts to the ACTION INSTMCE or CONTEXT INSTANCE nodes where the current node is used. For MODIFY, however, it can show where this node modifies another or is modified by another depending on whether or not this is the root link.</Paragraph> <Paragraph position="6"> ACTION INSTANCE. All factual information within the systm. is represented by ACTION INSTANCE nodes. Fhese nodes are triples that bring together the relations between actual INSTANCES of ACTORS, ACTS and OBJECTS plus their modiffcatioq.</Paragraph> <Paragraph position="7"> CONTEXT INSTAN&. The modification of ACTION INSTANCE nodes by prepositional phrases is specified by the use of PREP, POBJ and CNTXT links in nodes of this kind.</Paragraph> <Paragraph position="8"> SEMANTIC MODIFICATION. The structural information necessary for the parser to determine correct forms of modification is given by variable length attributes that can occur in this kind. of node.</Paragraph> </Section> <Section position="21" start_page="0" end_page="11" type="metho"> <SectionTitle> 4. PARSER </SectionTitle> <Paragraph position="0"/> <Section position="1" start_page="0" end_page="0" type="sub_section"> <SectionTitle> 4.1 PARSING STRATEGY </SectionTitle> <Paragraph position="0"> The data structure used to drive the parser is the criple (ACTION GENERIC node) which specifies the semantics for the major components of the parse.</Paragraph> <Paragraph position="1"> By applying the triple as a template to the input, the ACTOR, ACT and OBJECT can be identified.</Paragraph> <Paragraph position="2"> As the input is parsed, its meaning is converted' into a parse network and a network &quot;score&quot; is calculated Usually there are several parse networks constructed from a single input representing different meanings of that input. The best parse is that one which has the highest score from its parse network A parse network is created from nodes similar in design and furrcbion to those present in MEMORY. Like the MEMORY structures, it is composed of INSTANCE nodes of all kinds: SIMPLE, ACTION and CONTEXT (see Figure 4). These nodes are connected to one another by the same kinds of attributes, e.g., the ACTION INSTANCE node has links to the ACTOR, ACT and OBJECT INSTANCE nodes, the SIMPLE INSTANCE nodes contain MODIFY and CNTXT links to other SIMPLE nodes or CONTEXT nodes, respectively, etc. Because the normal access paths to INSTANCE nodes using DEFN and INST links in TYPE and GENERIC nodes do not exist for temporary nodes, the nodes in a parse network are kept track of by a system of pointers as shown along the right $n Figure 4.</Paragraph> <Paragraph position="3"> The entire network is referenced by the pointer word in the upper right hand corner. 411 references in the temporary nodes of the parse nef-</Paragraph> <Paragraph position="5"> work to GENERIC nodes are by links which point to nodes that are part of MEMORY. This relates the input to specific parts of memory as well as provides the required syntactic and semantic properties of the input wordg for reference during other stages of parsing. When complete, the parse network is in a format identical to similar structures in MlMORY.</Paragraph> <Paragraph position="6"> This is very important later during the matching of input to MEMORY where compatibility between the two is necessary.</Paragraph> </Section> <Section position="2" start_page="0" end_page="0" type="sub_section"> <SectionTitle> 4.2 GRAMMAR </SectionTitle> <Paragraph position="0"> The parser has been developed to correctly handle restricted forms of W;questions and declarative sentences.</Paragraph> <Paragraph position="2"> adverbs acid determiners whichtgodify the item to their right.</Paragraph> <Paragraph position="3"> ::= one of a set of prepositions specified by an attribute ::= a noun from a particular semantic class as specified by an attribute : := essentially the same as <right modification, but ie used to modify verbs ::- an adverb from a set of particular words specified by an attribute or an adverb plus its cleft modification>.</Paragraph> <Paragraph position="4"> Table 2: Grammar for DO-questions and statements. The three components of <ACTOR>, <ACT> and <QBJECT> are identical for the DO-question and statement. The <DO> component is found only in DO-questions. The question mark and period are the only terminating punctuation symbols currently allowed. All of these components are expanded in Table 2 in a BNF-like format.</Paragraph> <Paragraph position="5"> Additional restrictions currently imposed upon the input are the following: 1. No relative clauses are allowed.</Paragraph> <Paragraph position="6"> 2.</Paragraph> <Paragraph position="7"> No compound units (subject, verb, etc.) are allowed. Elements in Table 2 enclosed in < > are non-terminal elements of the grammar. Such elements- enclosed in ( ) are optional. In the definition of <ACTOR> and <OBJECT>, the left and right modi-Eication is to the imediate left or right of the word being modified. In the case of <ACT>, however, the <adverb> and <context phrase> modification can occur anywhere in the sentence. Usually the single word modifiers are adjacent to the ACT but do not have to be. The <context phrase>s usually appear at the beginning of the sentence or somewhere after the ACT. In the case of the last five definitions in Table 2, i.e., cleft modification> through cadverb>, there are restrictions on the nodes which are applicable at that point in the parsing. Some examples of the types of modification allowed are: Semantics and syntax have been integrated throughout the parsing procedure so that both work together in the selection of appropriate words and phrases out of which the parse network is constructed. When matching an ACTION GENEP.IC node to the input, syntax is used first to identify nouns as potential ACTORS and OBJECTS. Then the semantic acceptability of each is verified by comparing the word with the semantic class specified by the trtple.</Paragraph> <Paragraph position="8"> Syntax is checked by a simple matching of the part of speech. Proper word order within a grammatical subunit IS maintained automaticall by the way the modification requirements are set up. A word is deemed semantically acceptable if it matches the semantic class listed as a requirement, or if a word upward in its hierarchy matches the semantic class. For example, suppose the candidate is BRANDT and the required semantic class la PERSON. In the hierarchy containing BRANDT we have BRANDT (ISA) BOY (ISA) PERSON. At that polnt there is a match on PERSON, so BRANDT would be semantically acceptable.</Paragraph> <Paragraph position="9"> -36- null The currently implemented version of the program provides for only very simple treatment of pronouns, On input, &quot;I&quot; pronouns (I, Me, MY, etc.) are translated to the name of the person talking. &quot;YOU&quot; pronouns are translated to JIMMY3. Similarly, on output, the person's name and JIMMY3 are translated back to &quot;YOU&quot; and &quot;I&quot;, respectively. Ambiguity ie not a problem in this model. If two parse networks have identical scores, ambiguity is resolved by the memory matching scheme. All networks are matched against lremory in the attempt to locate an answer. If several matches come out equally likely, they can all be reported. This simple-minded approach works well by relating the input to what the program knows.</Paragraph> <Paragraph position="10"> Throughout the program, undefined words in the input are ignored. However, their text representations are saved so they can be printed later to help explain, say, why the program was unable to interpret the input. As illustrated by one line of the sample conversatian in section 1, the response to &quot;DO I HAVE AN OLD BOOK?&quot; was &quot;YES. A RED ONE.</Paragraph> </Section> <Section position="3" start_page="0" end_page="11" type="sub_section"> <SectionTitle> 4.3 PARSING ALGORITHM </SectionTitle> <Paragraph position="0"> There are two operations performed on the Input text before it 1s actually parsed: a) preprocessing of the text In an effort to standardize&quot; it and b) the determination of the type of input recelved so the proper parsing technique can be selected.</Paragraph> <Paragraph position="1"> -37-</Paragraph> </Section> </Section> <Section position="22" start_page="11" end_page="11" type="metho"> <SectionTitle> PREPROCESSING OF THE: INPUT TEXT </SectionTitle> <Paragraph position="0"> The first operation perfonaed on the input is the translation of each defined component to its TYPE node pointer to MEMORY. Undefined input items are converted to null pointers.</Paragraph> <Paragraph position="1"> After the translation to TYPE node pointers, the input is checked for standard greetings or cliches that usually elicit a standard response. Examples are &quot;IIELLO. HOW ARE YOU?&quot;, &quot;HI&quot;, &quot;GOODBYE&quot;, etc.</Paragraph> <Paragraph position="2"> The second type of preprocessing is the attempted reductioh of words and phrases to simpler forms. This approach can be used for the reduction of slang, misspelled words, idioms, names, etc. Stoled in the TYPE nodes for input items that can be reduced are context strings in which an item can occur plus its replacement form.</Paragraph> <Paragraph position="3"> This part of the parsing algorithm 2s where the kznd of input, i.e., DO-question, IS-question, Wh-question, declarative statement, etc., is deter mined.</Paragraph> <Paragraph position="4"> Questions can be detected by the presence of the question mark at then end. Discrimination of questions into classes of YES-NO, or Whis determined almost completely by the first word of the question. The only questions not correctly classifled by this approach are those with inverted order, e.g., &quot;IiE ASKED A QUESTION, DIDN'T HE?&quot; and hypothetical questions, e.g. , &quot;IF I ASK A QUESTION. WHAT WILL YOUR ANSWER BE?&quot;. Any input that ends with a period and does not begln with a verb 18 classifled as a statement, Text that does not end with either a question mark or a perlod is xejected with a request that the person supply punctuation with his input. The DO-question and the statement are parsed in identical fashion after the DO-word which begins the question is stripped off and the final punctuation ia thrown away.</Paragraph> <Paragraph position="5"> An exhaustive approach to parsing has been selected for implementation rather that one designed to use prediction coupled with backup facilities. This decision was made partly on technical grounds--the inherent difficulty in implementing such a parser in FORTRAN. A more important consideration, though, was the attractiveness of working with the input as a whole using the matching of templates (GENERIC ACTION nodes) rather than parsing in a serial fashion whereby components are recognized in some left-to-right decoding process.</Paragraph> <Paragraph position="6"> The algorithm in Figure 5 describes how the parser works.</Paragraph> <Paragraph position="7"> DO for all possible combinations of usages of Lhe input words: . DO for all combinations of reasonable referents for all pronouns: . .</Paragraph> <Paragraph position="8"> . . DO for each verb in the input: ...</Paragraph> <Paragraph position="9"> . . . DO for all GENERIC ACTION nodes for that verb: .a*.</Paragraph> <Paragraph position="10"> . . . . Find suitable actor and object candidates.</Paragraph> <Paragraph position="11"> ....</Paragraph> <Paragraph position="12"> . . . . DO for all combinat~ons of actors and objects: .....</Paragraph> <Paragraph position="13"> . . . . . Create a parse network skeleton.</Paragraph> <Paragraph position="14"> . . . . . Add modification to the parse network.</Paragraph> <Paragraph position="15"> . . . . . Retam network if better than previous one.</Paragraph> <Paragraph position="17"> Essentially, the algorithm is set up to produce all possible parse networks using the known meanings of the words.</Paragraph> <Paragraph position="18"> Steps (7), (8), and 1&quot; are the heart of the parsing scheme.</Paragraph> <Paragraph position="19"> For each triple provided by step (6), a skeletson consisting of an ACTION INSTANCE node and three SIMPLE INSTANCE nodes is constructed as a temporary, data structure. The other words in the input are then attached to it according to the following modification scheme.</Paragraph> <Paragraph position="20"> 1. Apply left modification to the ACTOR, i.e., form a noun group that consiste of the ACTOR plus all its modification that lies to its immediate left. This includes all adjectives and determiners.</Paragraph> <Paragraph position="21"> 2. Apply left modification to the OBJECT. This process is identical to that used to get left modification of the ACTOR. 3. Find CONTEXT modification of the ACT. Prepositional phrases which modify the main verb are located. As prepositional objects are found, they have their left modification attached by a process identical to that used in steps 1 and 2 for the ACTOR and the OBJECT. Note that no right modification is attempted for objects of prepositions.</Paragraph> <Paragraph position="22"> 4.</Paragraph> <Paragraph position="23"> Find right modification (prepositional phrase) for the ACTOR. 5. Find right modification for the OBJECT.</Paragraph> <Paragraph position="24"> 6. Locate single word (adverb) modification of the ACT, This process works from right to left through all remaining unattached words of the input.</Paragraph> <Paragraph position="25"> As each modification is identified, nodes are attached to the grow ing parse network. Simple modification nodes are attached using the MODIFY attribute; phrase modif~cation is constructed using a CONTEXT substructure and attached with a CNTXT attribute.</Paragraph> <Paragraph position="26"> Upon completing the parsing, the score far the newly constructed parse network is colnpared with the score for the previous best network. The higher scoring one is retained to the next iteration. The scheme developed for scoring a parse network is as follows: 1. 4-3 is added for both the actor and the object when they are identified. A network with a null object would get only +3 for its actor.</Paragraph> <Paragraph position="27"> 2. Add $1 for each single word modifier.</Paragraph> <Paragraph position="28"> 3. Add +1 for each prepositional phrase. Note that this is just the preposition plus its object. Modification of the object scores additional points.</Paragraph> <Paragraph position="29"> 4. After the network is created, subtract +1 for each word of the input, including undefined words, that was not used in the creation of the network.</Paragraph> <Paragraph position="30"> Upon termination of the algorithm, there will be a &quot;best&quot; parse network which represents the meaning of the input. In case several networks had the same &quot;best&quot; score, then disambiguation of meaning is deferred, to be resolved according to the memory matching process described in sectlon 5. To detect and control the parsing of &quot;garbage1' Input, there is a threshold value for the parse network score that must be exceeded before the parse will be accepted. The current threshold value is zero. A parsing that does not exceed this value 1s rejected and leads to the response of To illustrate the way the parsing algorithm works, consider the questxon DOES BRANDT OWN A RED ANIMAL BOOK? After the DO-question form of the input is recognized, the DOES and the question mark are discarded leaving</Paragraph> </Section> <Section position="23" start_page="11" end_page="11" type="metho"> <SectionTitle> BRANDT OWN A RED ANIMAL BOOK </SectionTitle> <Paragraph position="0"> to be processed. In MEMORY, these words have the following usages: In this example, each word has only one usage so, in terms of the algorithm in Figure 3, the top level loop (1) will be iterated once. At step (2). there are no pronaun referents to resolve. For the verb &quot;OWN&quot;, there are two triplee that must be matched to the input.</Paragraph> <Paragraph position="1"> Usiy (PERSON OWN THING), in step (5) we compile a list containing BRANDT as its single entry to be used as an ACTOR candidate (BRANDT (ISA) PERSON). Similarly, the set of OBJECT candidates contains BOOK since BOOK (MA) THING. Now, in step (6), the only possible combination of ACTOR and OBJECT, (BRANDT OWN BOOK) is formed and passed to step (7) where the skeleton of this network is formed.</Paragraph> <Paragraph position="2"> In step (8) the procedure for adding modification is applxed.</Paragraph> <Paragraph position="3"> There is no left modification possible for BRAEIOT. llowever, for BOOK, there are three words, ANIMAL, RED and A, to ~ts left that have not been used in the parse so far. All are found to nlodify BOOK.</Paragraph> <Paragraph position="4"> The score for thls parse network is 9, 3 each for a semantfcally acceptable ACTOR and OBJECT plus one each for A, RED, and ANIMAL. There are no unused or undefined words m the input so nothing is subtracted. Now, consider what happens when a second meaning of OWN, (PERSON OWN ANIMAL), is used in steps (5) through (8). Again, the set of suitable ACTORS w~ll be the singleton, BRAPIDT.</Paragraph> <Paragraph position="5"> The set of su~table objects contains only ANIMAL. Therefore, the trlple, (PERSON OWN ANIMAL), matches (BRANDT OWN ANIMAL) and the node for ANIMAL allows A and RED as mod~fiers. However, there 1s no way to attach BOOK to the parse network. Th~s second parsing gets a score of 7 (ACMR = +3, OBJECT = +3, A= + 1, RED = +1, and BOOK = -1) .</Paragraph> <Paragraph position="6"> As a second example, consider the string:</Paragraph> </Section> <Section position="24" start_page="11" end_page="11" type="metho"> <SectionTitle> DID BRANJ)T WILL THE PROPERTY TO YOU? </SectionTitle> <Paragraph position="0"/> <Paragraph position="2"> One possible set of definitions (usages) of the words with WILL as a noun will not include any verbs. Therefore, that combination is rejected immediately in step (3) of the parsing algorithm. The other possible set contains WILL as a verb.</Paragraph> <Paragraph position="3"> Once that set of usages is declded on, the parslng 1s straight-forward in the manner slmilar to that used In the prevmus example. The malor difference In thls input is the existence of Lhe phrase &quot;TO JIMMY3 (as transformed from &quot;TO YOU&quot; in step (2)). Context modification for the ACT is searched for aefore right modification of the OBJECT so &quot;TO JIMMY3&quot; is properly attached to WILL In the parse, However, the node for PROPERTY did not contaln any patterns for right modiflcatl~n so that phrase could not have been attached to the OBJECT anyway. The complete parse for th~s input has a score of 8.</Paragraph> </Section> <Section position="25" start_page="11" end_page="11" type="metho"> <SectionTitle> 5. MEMORY SEARCHING 5.1 OVERVIEW </SectionTitle> <Paragraph position="0"> The strategy used in MEMORY searching is similar in one respect to the parsing procedure. Namely, during the search process a structure is constructed and a score is calculated to measure the degree of similarity between the question and the candidate answer. Kowever, unlike the exhaustive process used in obtaining a parse, the memory searching procedurt is rather Gelective and does not examine all, or even a large part, of For each match attempted between a parse network and an ACTION INSTANCE node in MEMORY, a complete, new memory match structure is generated. This structure has a static component of 8 registers plus anywhere from zero to four variable length, linked lists attached to it at various places -(see Figure 6). These linked lists are used for collecting information about word modification.</Paragraph> <Paragraph position="1"> Three of the registers, corresponding to the ACTOK, ACT and OBJECT comparison results, form the heart of the memory match structure. In each register is recorded the exact kind of match between input and MEMORY. Three values are contained for the ACT comparison results: a pointer to the SIMPLE GENERIC node in )EMORY for the ACT aiven in the parse network, a pointer to the list which has the comparison between the modifiers of input and of the METIORY structure, and an indicator pf the type of match. Five possible types of matches can occur for ACTs.</Paragraph> <Paragraph position="2"> 1. (+O) No match.</Paragraph> <Paragraph position="3"> 2. (+5) Exact match.</Paragraph> <Paragraph position="4"> 3. (+4) The input and MEMORY ACTs are synonyms.</Paragraph> <Paragraph position="5"> 4. (+4) The input and MEMORY ACTs are antonyms.</Paragraph> <Paragraph position="6"> 5.. (+0) The ACT was missing from either the input or the MEMORY node.</Paragraph> <Paragraph position="7"> The registers for ACTOR and OBJECT are identical. Like the ACT, they contain three items of information: a pointer to the SIMPLE GENERIC node for the ACTOR in the parse network, a pointer to the modifier list and the match type indicator. The match type indicator for the ACTOR is divided into three subunits. First, the number, singular or plural, of the ACTOR is given.</Paragraph> <Paragraph position="8"> Second, the type of reEerence t0 the input ACTOR is xecorded as either a apecific instance (i.e., it referred to a particular instance of the ACTOR) or as an indefinite reference (referred to a class of ACTORS rather than a specific one).</Paragraph> <Paragraph position="9"> Finally, there is the result of the match between input and MEMORY.</Paragraph> <Paragraph position="10"> 1. (+O) No match.</Paragraph> <Paragraph position="11"> 2. (+5) Exact match3. (+4) The input ACTOR is a member of the set named by the MEMORY ACTOR, i. e., input ACTOR (ISA) MEMORY ACTOR.</Paragraph> <Paragraph position="12"> 4. (+4) The input ACTOR is the name of a set f6r which the MEMORY ACTOR is a member, i. e. , MEMORY ACTOR (ISA) input ACTOR. 5.</Paragraph> <Paragraph position="13"> (+4) Input ACTOR matched a synonym of the MEMORY ACTOR6. (4-4) Input ACTOR matched an ACTOR of another node in MEMORY of the form A ACTOR^ BE ACTORZ&quot; where ACTOR1 matched, the input ACTOR and ACTOR2 matched the MEMORY ACTOR, or vice versa, i.e., input ACTOR BE x and x BE MEMORY ACTOR.</Paragraph> <Paragraph position="14"> 7. (+2) Did not find an instance of the input ACTOR in WORY but did find an instance of a member of the set the input ACTOR would belong to 3.f it had been in memory, i.e., the two relations of input ACTOR (ISA) x and MEMORY ACTOR (ISA) x both hold for some suitable cakegory x.</Paragraph> <Paragraph position="15"> 8.</Paragraph> <Paragraph position="16"> (-I-0) ACTOR missing from either input or MEMORY.</Paragraph> </Section> <Section position="26" start_page="11" end_page="11" type="metho"> <SectionTitle> 5.2.3 WORD MODIFICATION RESULTS </SectionTitle> <Paragraph position="0"> Registers of the match structure corresponding to the ACTION, ACTOR, ACT and OBJECT nodes can all have modifier lists attached.</Paragraph> <Paragraph position="1"> The word modification list is singly linked; each ifem on the list is given by two registers and represents a single modification, either single word or phrase. All words or phrases that modify, say, the ACTOR, will be on the satne list. However, if any of those words is modified by a -46word or phrase, then it will have a list attached containing all its modifiers. Thus, for any component of the input, word modification is really a tree of subltsts whose structure is determined by the input word relations. Six results of the match of modifiers are possible.</Paragraph> <Paragraph position="2"> 1. (+O) Was not compared because previous level modlficatlon did not match.</Paragraph> <Paragraph position="3"> 2. (+2) Exact match.</Paragraph> <Paragraph position="4"> 3. (+2) Exaqt match if inflections are ignored, e . g . , singular matching plural.</Paragraph> <Paragraph position="5"> 4. (+I) One of the two modification words is a member of the set named by the other, i.e., there is an ISA chain leading from one to the other.</Paragraph> <Paragraph position="6"> 5. (+I) The two words are both from a set of mutually exclusive elements, e.g., matching RED dth BLUE.</Paragraph> <Paragraph position="7"> 6. (+a) No match because the modifier appeared in only one of the two (input and MEMORY) plates.</Paragraph> <Paragraph position="8"> the first because of the slightly better ACT match even though the OWECT is closer in the first case. It serves to indicate some of the problems ghat are encountered by the procedure during matching.</Paragraph> <Paragraph position="9"> (1) DO for all parse networks: (2) . Compute maximum possible match score for this network. (3) . Don't search for this network if maximum is not good enough. (4) . Get list of synonyms and antonyms for parse network ACT. (5) . DO until a reasonable match has been obtained or until no more . . ACTORs can be found: . .</Paragraph> <Paragraph position="10"> (6) . . Select an ACTOR to match on.</Paragraph> <Paragraph position="11"> . .</Paragraph> <Paragraph position="12"> (7) . . DO for all INSTANCES of that ACTOR: .-* (8) . . . DO for all ACTION INSTANCES which have that ACTOR: Create the skeleton for a memory match structure.</Paragraph> <Paragraph position="13"> Compare modifiers of the ACTION INSTANCE nodes.</Paragraph> <Paragraph position="14"> Compare ACTORs and their modifiers .</Paragraph> <Paragraph position="15"> Compare ACTS and their modifiers .</Paragraph> <Paragraph position="16"> Compare OBJECTS and their modifiers.</Paragraph> <Paragraph position="17"> If no good OBJZCTS, then try alternates.</Paragraph> <Paragraph position="18"> Accumulate the total match score for the structure. Add structure to the list for that ACT6R INSTANCE.</Paragraph> <Paragraph position="20"> The algorithm used to search memory (see Fieure 7) examines a limited subset of all structures in MEMORY while trying to match the input. The search ie restricted to ACTION INSTANCE nodes in E-RY that have either the same or a closely related ACTOR. The object of the algorithm is to obtain a small set of the best matches of the parse network with an</Paragraph> </Section> <Section position="27" start_page="11" end_page="11" type="metho"> <SectionTitle> ACTION INSTANCE node in MEMORY. </SectionTitle> <Paragraph position="0"> To handle ambiguous input, i.e., multiple parse networks, the matching procedure must be repeated for each network passed on by the parser (see seep (1)). Unpromising networks are eliminated in steps (2) and (3).</Paragraph> <Paragraph position="1"> Synonym and antonym lists are compiled in step (4).</Paragraph> <Paragraph position="2"> The termination criteria for MEMORY searching is the discovery of a suitable match or the exhaustion of the set of suitable ACTORS used to direct the search. The adequacy of the match between input and MEMORY is the memory match score--the accumulation of many component scores which measure the silpilarity of corresponding parts of two structures. The term$nation criterion for a suitable match is based on the value of this score relative to the network's maximum possible score determined in step (2). The threshold foL a &quot;suitable1' match is currently set at 70 percent of the maximum )ossible score. The number 70 is not perfect in any sense but was selected in a trial-and-error fashion.</Paragraph> <Paragraph position="3"> The selection of actors to Control the range of the search procedure is designed to provide a reasonable set of nodes closely related to the input ACTOR.</Paragraph> <Paragraph position="4"> This selection procedure is used pnly when no ACTION INSTANCE nodes with the input ACTOR produce sufficiently good matches.</Paragraph> <Paragraph position="5"> -50-There are five alternate bethods, described below, for getting new ACTOR candidates. Not all of these five are always used, however. The ones to use and the order in which they are to be applied is determined by the mode and number of the input ACTOR.</Paragraph> <Paragraph position="6"> 1. Search memory of ACTION INSTANCE nodes of the form &quot;ACTOR1 BE ACTOR2&quot; where either ACTOR1 or ACTOR2 matches the input ACTOR exactly. Collect the unmatched members of all these nodes for use as new ACTOR candidates. For example, suppose the ACTOR, BRANDT, was not successful at generating a good match. Search for INSTANCES of (X BE BRANDT) and (BRANDT BE X) where X is in the same general hierarchy as BRANDT , e .g . , (BRANDT IS SECOND-GWER) . Now SECOND-GRADER can be used as a source for more ACTION IHSTANCE nodes to search. input ACTOR, i,e., search the other nodes in the ISA chain rooted in the node immediately above the input ACTOR in its hierarchy. For example, for an input ACTOR, BRANDT, we have BRANDT (ISA) BOY. Search the cliain which gives all subdets of BOY, but excludes BRANDT.</Paragraph> <Paragraph position="7"> For specific mode input ACTORs, the above procedures are executed in the order: 1, 2, 4, 5. Procedure 3 is not used for specific input ACTORs since its purpoce is to find specific instances for general references. For indefinite input ACTORs, the procedures are executed in the order: 1, 2, 3, 4. Probedure 5 is not used since it would lead to too diversified a set of potential candidates. For instance, consider PERSON as the input ACTOR. If we had PERSON (ISA) THING, and ANIMAL (ISA) THING, ACTORs could be selected that are only vaguely related to the input.</Paragraph> <Paragraph position="8"> This set of procedures can be executed twice. The first time, the input ACTOR is used as it appeared in the input. The second time, its number is changed, i.e., for 4 singular ACTOR, the second tinre through, a11 comparisons and searches would be performed for its plural.</Paragraph> <Paragraph position="9"> In order for this procedure to work, the mode of the input ACTOR must be known. This is deterained as follows: 1. An ACTOR is indefinite if a) it is an indefinite proqoun, b) it has modifiers but none is a definite determiner (the, this, these, that, tlxose) or c) it is plural and has no modifiers.</Paragraph> <Paragraph position="10"> 2. An ACTOR is specific if a) it is modified by a def iriite determiner or b) it is singular and has no modifiers.</Paragraph> <Paragraph position="11"> 6. PRODUCTION OF OUTPUT 6.1 OVERVIEW Problems to be solved before &quot;natural&quot; sounding output can be produced) are 1. what information should be used in the tesponse to a given input, 2. how should the response be structured so certain parts are ptoperly emphasized and 3. how can the response be made to appear natural in the sense of being like a similar remark a person might make? Clearly, there are many factors which play a part in how a person decides what to say at any tine during the course of a conversation. Such factors include the place of occurrence, the reason for the conversation, the roles assumed by the participants, the type of information passed and the motives of the partidpants. These factors have nbt been studied, indeed, have not even been exhaustively identified, during this research. What has been done, however, is the development of a few simple procedures that will generate reasonable sounding answers to DO-questions based on the results .of memory search.</Paragraph> <Section position="1" start_page="11" end_page="11" type="sub_section"> <SectionTitle> 6.2 THE OUTPUT PRODUCTION LIST </SectionTitle> <Paragraph position="0"> The only temporary structure created duriilg tile output phase is a simple doubly linked List of elements representing the words and punctuation of the answer to be printed (see Figure 8).</Paragraph> <Paragraph position="2"> As the output production routines analyze the relevant memory match structures, they produce the output; production list an element at a time.</Paragraph> <Paragraph position="3"> Each element of the list has the fullowin& two register format: llegister 1 - contains the forward and backward links to the other elements in tlhe list.</Paragraph> <Paragraph position="4"> Register 2 - contains a word function indicator (represented as [function] in Figure 6) and a MEMORY pointer to the GENERIC node for the word (given as GEN [ 1).</Paragraph> <Paragraph position="5"> The pointer can be used by the final print routines to trace back through the word's GENERIC node to its TYPE node to retrieve its text representation. The word function is an indicator to help out the routine that makes the output grammatical. Currently 10 different function codes which correspond very loosely to sentence parts are used.</Paragraph> <Paragraph position="6"> llodifier of object.</Paragraph> <Paragraph position="7"> llbdifier of prepositional object.</Paragraph> <Paragraph position="8"> Other (includes punctuation).</Paragraph> </Section> <Section position="2" start_page="11" end_page="11" type="sub_section"> <SectionTitle> 6.3 PRODUCTION IBTHOD </SectionTitle> <Paragraph position="0"> When the input is not understood or no answer has been found in memory, enough information should be returned so that the person knows why he did not receive the expected response.</Paragraph> <Paragraph position="1"> The procedure that is used to detect that situation and produce a response currently worm as follows: 2. If the input is parsed, but there was a poor, or no, memory match, then check the 'GENERIC node for the ACT to see if we respond with &quot;YES&quot;, &quot;EIO&quot;, &quot;I DON'T KNOW&quot; or some &quot;canned&quot; response. What is searched for is an attribute which is sometimes present in ACT nodes and is the answer to be given when no match is found with kCMORY. An example is the. ACT &quot;KNOW&quot;. If the program is asked &quot;DO YOU KNOW x?&quot; and x is not in MEtlORY, then the response will be &quot;NO.&quot; rather than &quot;I DON'T KNOW.</Paragraph> <Paragraph position="2"> If the input is parsed and there is a good memory match then the following steps wilt be executed.</Paragraph> <Paragraph position="3"> 3. Check the OBJECT. If there isnone and one is'required by this ACT then, if there are undefined words, print &quot;I DON'T UNDERSTAND THAT.&quot; plus the undefined words. If there are no undefined words, print &quot;I DON'T UNDERSTAND YOUR USE OF act.&quot; Substitute the current ACT in the output for &quot;act&quot; .</Paragraph> <Paragraph position="4"> 4. Check the ACTUK. If it is not directly related to the in- null put ACTOR but is a member of the same set Ci.e., ~r: was selected during the memory search for producing actors as given in section 5.2.3), print &quot;I DON'T KNOW.&quot; Iiowever, in this case, do not terminate the output production here. Pass the good memory match structure involving this actor on to the next procedure to be used to produce more output, As an example, the input &quot;DOES BILL IIAVE A BOOR?&quot; would generate the response &quot;I DON'T KNOW. BRAlJllT US A RED BOOK.&quot; 5. Check the ACT. If it does not match, print &quot;I DON'T KNOW.&quot; plus the undefined words, f f any.</Paragraph> </Section> </Section> <Section position="28" start_page="11" end_page="11" type="metho"> <SectionTitle> 6.3.2 DETERMINING MODE OF RESPONSE </SectionTitle> <Paragraph position="0"> The answer to a DO-question has an optional interjection of YES or NO which precedes the answer and is determined as follows: 1. Set the mode to YES unless the MEMORY ACTOR is a subset of the input ACTOR. In that case, the response slrould not have either YES or 'NO. This will occur when specific data are being used to answer a question of a general nature. For example, the input &quot;DO PEOPLE OWN TlIIIJGS?&quot; would be answered by &quot;RRANDT OlnqS A RED BOOK.&quot; The YES is omitted since tilc question I~as not been answered in general. Do not continue examination of the match for contradiction when this occurs.</Paragraph> <Paragraph position="1"> 2. Search the memory match structure looking for contradictory data that would change the mode from YES to NO. If thc input ACT matched an antonym, set the mode to NO.</Paragraph> <Paragraph position="2"> 3. Check the first level modifiers of the ACT. Look for contradiction, i.e., modifiers from the same set that are mutually exclusive. If any are found, reverse the setting of the mode. For example, the input &quot;DID LIRANDT PLAY OUTSIDE?&quot; which would match the MEMORY node, {'BRANDT PLAYED INSIDE.&quot; would have a negative mode since INSIDE and OUTSIDE are mutually exclusive.</Paragraph> <Paragraph position="3"> 4. Check the OBJECT for conflicting modifiers. Also change mode if the OBJECT is not directly related to the input OBJECT but is an element from the same set as the input OBJECT. This will be the case when matching objects such as GFEEN I300K with YELLOW BOOK or OLD BOOK with NEW BOOK.</Paragraph> <Paragraph position="4"> 5. Finally check all single word modifiers of the ACT that were present only in the input or IMblORY looking for negative modifiers. These would be words like NOT, NEVER, etc.</Paragraph> <Section position="1" start_page="11" end_page="11" type="sub_section"> <SectionTitle> 6.3.3 PRODUCING A NORMAL NiSWER </SectionTitle> <Paragraph position="0"> At the top level in this procedure is the decision of how much of the answer to print. The rules used are: a) if the answer is an exact match of the input with respect to the three. major components, don't print anything except for the YES or NO, b) if the answer is anexact match except for the OBJECT, then print only the ~BJECT or C) i.f the ACTOR or ACT does not match, then print the- whole MEMORY node given by the memory match structure.</Paragraph> <Paragraph position="1"> The list elements representing the output to be printed for the ACTOR or OBJECT are generated by the following procedure.</Paragraph> <Paragraph position="2"> 1.</Paragraph> <Paragraph position="3"> Add themneric node for the ACTOR (OBJECT) to the end of the output production list. Set its function type to SUBJECT (OBJECT).</Paragraph> <Paragraph position="4"> 2.</Paragraph> <Paragraph position="5"> Put the modifiers into tlie list inunediately in front of tile ADTOR (OBJECT). Use only modifiers that were present in the'blEMORY node or that rnatched between MEMORY and input. These modifiers are contained in the linked list attached to the memory match structure for the ACTOR (OBJECT).</Paragraph> <Paragraph position="6"> 3. Put an article before the modifiers, if required.</Paragraph> <Paragraph position="7"> 4. Add prepositional modification of the ACTOR (OBJECT) at the end of the list. Thi$ is accomplished by adding the preposition followed by the prepositional object. Then the modification on the preppsitional object is added be,tween the two.</Paragraph> <Paragraph position="8"> 5. If the ACTOR (OBJECT) is the same for both input and lfE3fORY but some Input-only modification exists, then add &quot;BUT NOT&quot; plus the input node and the input-only modifiers. An example of this is where &quot;A BLUE BOOK BUT NOT NU ANIMAL BOOK&quot; is given in response to &quot;DO I HAVE A BLUE ANIMAL BOOR?&quot;</Paragraph> </Section> </Section> <Section position="29" start_page="11" end_page="11" type="metho"> <SectionTitle> 6.3.4 EWCIBG OUTPUT GRhEalATICAL </SectionTitle> <Paragraph position="0"> The procedure used to fix up the output examines the elements of the output list and, using the word functions as specified in those elements and the properties given in the words' GENERIC nodes, attempts to apply the. four rules beluw: 1. JIbIMY3 and the person's name get translated to the pronouns &quot;I&quot; ind &quot;YOU&quot;. At this stage, the form of the pronoun may be wrong.</Paragraph> <Paragraph position="1"> 2. Get person ahd number of the pronouns to agree with the ACT (main verb). Change a pronoun to its possessive form if it is used as a modifier of another sentence element, 3. Set the proper verb tense.</Paragraph> <Paragraph position="2"> 4. Convert the objects in the sentence (main OBJECT and prepositional objects) to ob jecrive case.</Paragraph> <Paragraph position="3"> -56-A step in making the output grammatical that was giwn before was the generation of an article as a modifier. An indefinite article (A or AN) is always used; tlie one to be selected is given by the follow'fng rules : 1. uon't use an article if the word modified is a pronoun or a proper name.</Paragraph> <Paragraph position="4"> 2. Otherwise, select A or AN according to the first letter of the word it will precgde.</Paragraph> <Paragraph position="5"> Following the completion of this operation the output is printed. 7. DISCUSSION</Paragraph> <Section position="1" start_page="11" end_page="11" type="sub_section"> <SectionTitle> 7.1 1USITLTS </SectionTitle> <Paragraph position="0"> The objectives of this research, as restated from section 1, are the development of three components able to carry on a &quot;natural&quot; dialogue with humans: an extefidible memory model, procedures for determinine the meaning of the input and procedures to allow the model to converse &quot;naturally&quot; with a human.</Paragraph> <Paragraph position="1"> The current design of memory, although a start in the riglit direction, is far from complete. Thexe is mucll that cannot now be represented with the structures available. However, the design of memory is flexible.</Paragraph> <Paragraph position="2"> Extensions can be added to represent more complex surface structures via INSTANCE nodes and also to capture more of the underlying structure of the word meanings themselves in terms of GENERIC nodes.</Paragraph> <Paragraph position="3"> Other features that an extended memory model vill need are the capabilities for supporting more elaborate question answering, the probessing of imperatives and the integration of new information into the -5 7existing structures.</Paragraph> <Paragraph position="4"> We believe that the current design will allow such procedures to he developed.</Paragraph> <Paragraph position="5"> The parser now implemented does a reasonably good job -on the restricted input glven it. The basic parsing philosophy, i.e., the selection of one of several possible networks based on semantic density, is believed to be a sound way to approach the problem of determining meaning.</Paragraph> <Paragraph position="6"> The development of output generation procedures has just started. The currently implemented procedures are not general or powerful enough tb handle more than a few. specialized situations. Work is required in this area to first develop a large number of specific rules from which more general rules can be deduced.</Paragraph> <Paragraph position="7"> We have identified ten features which characterize &quot;natural&quot; language understanding processes. Specifically, they are the ability. to: (1) Work with partial inPS ormation (to make plausible inferences about missing information, e.g., default values from frames), (2) Work with overlapping and conflicting information (not to reject it out of hand, or seek only consistent information, or to assign all truth value F, but to sift through it to reject that which - based on experience or knowledge - is implausible or to temporarily suspend judgement), (3) Retain ambiguity until disambituation is absolutely called for, (4) Perform &quot;short&quot; chains of deductions, (5) Engage in common sense reasoning (i.e., there is knowledge of the properties of commonplace objects, events, etc .), (6) Pose questions in order to confirm expectations or to elicit more information about some subjact matter of personal interest, (71 Construct, modify and extract information from a model of the intentions, interests, skills* motiyations, etc., of the other party, -58(8) Interrogate and update a similar model of the attitudes, beliefs, abilities, goals, etc., of itself, (9) Be sensitive to the plausibility of information received (see Norman's &quot;Charles' Sickens&quot; problem, discussed later), (10) Be aware of the context in which the conversation is occurring (~lonnan's &quot;Empire State Building&quot; problem, discussed below, identifies one kind of con-text; the roles of the parties involved, e.g., parentchild, teacher-student, superior-subordinate; bureaucratic officialcliea, is a second context; other context types are no doubt resent), With JIEIMY3 we have only begun to address this list of attributes. In particular, JIElMY3 illustrates one approach to coping with items 12 and #3. Other prograpes pose avenues of attad for other items of the list (e.g., #I, 84, #5), but the extendability of tlmse programs to other features listed is questionable - as it is for JIMMY3. However, by grappling with what we consider to be the fundamental problem of designing the system from the start to be extendable, we believe JIlIMY3 can be grown to cope with other features on that list, and thus approach being a &quot;natural&quot; language understanding system.</Paragraph> </Section> </Section> <Section position="30" start_page="11" end_page="11" type="metho"> <SectionTitle> 7.1.2 DOES THE PROGRAM REALLY UNDERSTAND? </SectionTitle> <Paragraph position="0"> The answer to this questidn is plrbbably no. In the more restricted sense of, can the program relate the input to something it already knows, the answer is yes. All input surface structures are matched during the question answering phase to slrnilar structures in memory. However, given a single iiput in isolation, the program does not understand what it means.</Paragraph> <Paragraph position="1"> It has no definitions for individual words. It is true athat there are relationships between words via the chains and hierarchies but this is not enough. Knowing that BRANDT (158) PERSON does not help at all in understanding, if the model does not what a PERSON is, -59-</Paragraph> <Section position="1" start_page="11" end_page="11" type="sub_section"> <SectionTitle> 7.2 LIMITATIONS </SectionTitle> <Paragraph position="0"> A majority of the model's general limitations are the result of deficienciee in the memory structure.</Paragraph> <Paragraph position="1"> For instance, certain types af input cannbt be parsed because of inadequate structural building unit of membry .</Paragraph> </Section> </Section> <Section position="31" start_page="11" end_page="11" type="metho"> <SectionTitle> 7.2.1 MEMORY MODEL </SectionTitle> <Paragraph position="0"> If the current philosophy of what is to beastored in memory is mainrainmd, i.e., only surface structures are to be represented, then the most serious limitation is the inability to represent more kinds of strings of English. Nothing more complex than simple (ACTOR ACT OBJECT) facts r;au now be recorded. In genefal, thexe is no way of relating diffexent facts to show causation, result, presupposition, etc.</Paragraph> <Paragraph position="1"> If we look at memory as more than a place in which surface strings are stored, then there are many shortcomings. Nowhere in the current structure are words given deftnitions. As Por ACTs, the original design called for the building of hierarchies of ACTS in a manner similar to hierarchies of &quot;thin&$&quot;. Instead ACTS could be broken down to some basic primitives of action. Different ACT5 can then be compared, not by looking at their hlerarchies , but by comparing their common primitive actions.</Paragraph> <Paragraph position="2"> The single major limitation of the current parser is its inability to parse anything other than simple DO-questions and statements. This is not a theoretical shortcoming; it simply a question of implementation effort.</Paragraph> <Paragraph position="3"> Hodeuef, there are problems ,with fmparser Zrrespective of this major limitation. These problems are quite often related to deficiencies in the memory structure.</Paragraph> <Paragraph position="4"> The parser will currently fail if it does not find a semantically acceptable parse. In cases such as this, it should be allowed to find, instead~, a syntactically acceptable parse that would be marked as a semantic anomaly.</Paragraph> <Paragraph position="5"> Undefined words are now ignored. The ability to make reasonable predictions about the function and meaning of undefi~ed words would be desirable.</Paragraph> </Section> <Section position="32" start_page="11" end_page="11" type="metho"> <SectionTitle> 7.2.3 OUTPUT PRODUCTION </SectionTitle> <Paragraph position="0"> The most serious limitation in the production of output has been the lack of time to develop more extensive procedures. Examples of new rules that are not yet implemented that could be used to produce answers are the following: 1. Use more than one memory match structure to produce the answer. Curreptly only the best one is used. For example, the question &quot;DOES ANYONE HAVE A RED TOY?&quot; could be answered by combining the two memory matches, &quot;BRANDT IUVE RED BOOK&quot; and &quot;JENA HAVE RED BALL,&quot; to get &quot;YES. JENA HAS A RED BALL AND BRANDT HAS A RED BOOK,^^ 2. Several equally good memory matches could be combined to produce a single answer t~llich contains a compound actor or object. The question &quot;DOES BIUNDT HAVE A BOOK?&quot; matches two memory structures equally well. These two matches, &quot;BRANDT IlAVE, RED BOOK&quot; and &quot;BTLANDT HAVE BLUE BOOK,&quot; could be combined to form the response &quot;YES. HE 1US A RED ONE AND A BLUE ONE.&quot; Note that work also needs to be done with respect to pronoun substituti ~n (i. e., ONE for BOOK) befose the above response could be produced.</Paragraph> <Paragraph position="1"> 3. If the memory search fails and there was no actor in memory, this should be reported explicitly rather than saying &quot;I IXN'T KMW.&quot; For example, consider the question &quot;DOES RILL MAXWELL HAVE A SON?&quot; If BILL@MN(WI?LL is not present in MEMORY, report &quot;I DON'T KNOtJ BILL MAXJELL .I1 However, if the memory match procedures were successful in finding generic information such as &quot;bEN HAVE SONS&quot; then the phrase &quot;BUT IIE COULD HAVE A SON.&quot; could also be generated.</Paragraph> <Paragraph position="2"> -61-Other limitations are the inability to handle definite articles or to attach modifying clauses or phrases to help distinguisll parts of output.</Paragraph> <Paragraph position="3"> The production procedures allow only superficial treatment of the ACT.</Paragraph> <Paragraph position="4"> Typical of simple questions that currently cannot be answered is &quot;DOES BRANDT 11AV13 TWO BOOKS?''. There is no mechanism for counting or comparing occurrences of relevant facts in memory during the search process. nor of using them in the output production phase.</Paragraph> </Section> <Section position="33" start_page="11" end_page="11" type="metho"> <SectionTitle> 7.3 IGNORED PROBLEEIS 7.3.1 INTENTIONS AND MOTIVATIONS </SectionTitle> <Paragraph position="0"> The most serious problem is the lack of any modelling of intentions and motivations of the person talking with JIIIMY3 (or of JIM3 itself).</Paragraph> <Paragraph position="1"> In order for a dialog to be sustained for any length of time with a sense of continuity, models of the person and of JIIMY3 are requtred. Two psychological models should be maintained by the program to indicate 1) what the program thinks about itself and the person and 2) what the program thinks the person thinks about himself and the program. At all times during the conversation, information in the models will specify for both the person and the pragram what each a) vants to know, b) wants to tell, c) already knows, d) feels, e) believes, etc., with respect to the context of the conversatian up to that point. Also required will be information about the motives and physical and mental attributes and cwbilities of each participant from each point of view. Integration of these models into the workings of the parsing, memory searching and output -62production phases of the program will be a necessary step towards more complete natural language understanding, For example, to continue that hypothetical dialogue of section 1, one would like to be able to see sohe exchanges such as: H: Was the window expensive to repair? NCP: Why do you ask? H: Why do you want to know? NCP: I fear I may be responsible for the debt.</Paragraph> <Paragraph position="2"> H: I thought that might be the casq.</Paragraph> <Paragraph position="3"> NCP: You mean I do owe you money? H: No, it's just that I regret making you feel uncomfortable.</Paragraph> <Paragraph position="4"> NCP: Then why did you ask if the window was expensive to repair? H: To test your power of deduction.</Paragraph> <Paragraph position="5"> NCP: You really don't seem to understand me.</Paragraph> <Paragraph position="6"> Computer analysis of such complex interchanges is dependent upon the existence of psychological models of both parties. Successful realization is probably many years off.</Paragraph> </Section> <Section position="34" start_page="11" end_page="11" type="metho"> <SectionTitle> 7.3.2 NORMlU?&quot;S PROBLEMS </SectionTitle> <Paragraph position="0"> With respect to answering capabilities in language understanding understanding models, Norman [I)] has presented several basic problems that should be considered. These are illustrated as: 1) the telephone number problem, 2) the three drugstores p'roblem and 3) the Empire State Building problem.</Paragraph> <Paragraph position="1"> The first problem concerns the appropriate response to the question: &quot;What is Charles Dickens' phone number?&quot; The normal human response of &quot;That's a stupid question.&quot; or &quot;Phones weren't invented then. requires the action of a plausibility check on the question before an attempt is made to find an answer.</Paragraph> <Paragraph position="2"> -63-The three drugotor* problem considers ww the correct reaction should be to the statement: &quot;I went to three drugstores.&quot; This is really a problem of integraking current with past knowledge and of determining presuppositions to the new data.</Paragraph> <Paragraph position="3"> FOK instance, the program should note (or ask) Why, didn't the other two drugstores have what you were looking for? The~Empire State Building probfem refers to the context and scope of any particular question. The question, &quot;Where is the Empire State Building?&quot; requires different answers depending on the context of the conversation. To paraphrase Norman's response: If asked the question in Russia, the answer most likely would be &quot;In the United States.&quot;; if asked by an adult in Europe, &quot;In New York City.&quot;; if asked by someone in New York City, then &quot;On 34th Street.&quot; would be appropriate. From these examples, it is obvious that much more is involved in developing a language understanding system that answers questions &quot;naturally&quot; than just the ability to parse input correctly, look up an answer and report it. We hope we have more clearly identified some of the desirable characteristics, and we hope we have illustrated some progress toward the ultimate goal. If JIMMY3 allows other problems from our list to be addressed also, we shall feel fortunate, indeed.</Paragraph> </Section> class="xml-element"></Paper>