BHHBfflflKHHHS»!Bfiv9 ova KHiMBni nfiSuneltnlnnl HHBi Ml wnmtimm WMZttWS PHSHfiiffilsi Mi ■to hWu. HNk ■If" w I IK Hf I ■BE mm g&WHui? &Kwm! ■■nBuniiiiir H>0 !?■ HHH HnlHInlnl LIBRARY OF THE UNIVERSITY OF ILLINOIS AT URBANA-CHAMPAIGN 3_&Cx>T wA .4^-bo4 top' 2. Digitized by the Internet Archive in 2013 http://archive.org/details/qasquestionanswe500pumf VC4) S0£> UIUCDCS-R-72-500 GOP.Z 7W+-IT1 QAS Question-Answering System by Marion Arthur Pumfrey February, 1972 DEPARTMENT OF COMPUTER SCIENCE UNIVERSITY OF ILLINOIS AT URBANA-CHAMPAIGN ■ URBANA, ILLINOIS THE ! Report No. UIUCDCS-R-72-500 QAS QUEST ION- ANSWERING SYSTEM hy Marion Arthur Pumfrey February 1972 Department of Computer Science University of Illinois at Urbana- Champaign Urbana, Illinois 6l801 This work was submitted in partial fulfillment of the requirements for the degree of Master of Science in Computer Science, February 1972. Ill ACKNOWLEDGMENT I wish to thank my advisor, Professor Sylvian R. Ray, for his guidance throughout the preparation of this thesis. I especially wish to thank my wife, Diana, and daugh- ters, Laura and Kimberly, for another year and a half leave of absence . iv TABLE OF CONTENTS Page 1. INTRODUCTION 1 2. DATA BASE MEMORY REPRESENTATION 3 2.1 Nodes 3 2.2 Relations 9 2.3 Linkage 11 2.4 Encoding Intelligence Into QAS Relations 13 3. ADDING ADDITIONAL DATA TO THE MEMORY NETWORK 18 3-1 Case Considerations 18 3.2 Algorithm 23 3.3 Identity Check 27 3.4 Example 32 4. QUESTION ANSWERING 44 4.1 Question Encoding 44 4.2 Questions With Explicitly Represented Answers 4 5 4.3 Questions Which Require Deduction 48 LIST OF REFERENCES 52 APPENDIX A. QAS RELATIONS 57 B. ORIGINAL TEXT BEFORE ENCODING INTO QAS FORMAT 60 Page C. SUBSENTENCES AND THEIR ENCODED FORM 6l D. MEMORY REPRESENTATION OP THE TEXT 65 E. ALGORITHM RESULTS WHEN APPLIED TO DATA OF APPENDIX C 69 F. QUESTIONS WITH EXPLICIT ANSWERS 74 G. QUESTIONS REQUIRING DEDUCTION TO ANSWER 75 VI LIST OF FIGURES Figure Page 1. Memory representation of "The formal govern- mental structure of NVN is distinct from that of the ruling Communist party." 6 2. Memory representation of "The formal govern- mental structure of NVN is distinct from that of the ruling Communist party." and "The ruling Communist party is known as the Lao Dong Party." 7 3. Memory representation of "the ruling Communist party" 8 4 . Memory representation of "the ruling Communist party" and "The Communist party is equivalent to the Lao Dong Party." 8 5. Memory representation of "The formal govern- mental structure of NVN is defined in the I960 Constitution." 14 6. Memory representation of "The governmental structure is distinct from the structure of the Communist party", and pointers to and from the QAS dictionary 15 7. Memory representation of three governmental concepts 21 8. Memory representation of six governmental concepts 22 9. Memory representation of three concepts in- volving government and five concepts involving party 2 3 10. Memory representation of eight concepts of party and three concepts of government 24 Vll Page 11. Memory representation of "The i960 constitution of NVN defines the formal governmental structure of NVN." 34 12. Memory representation of "ruling Communist party" 40 13. Memory representation of "ruling Communist party of NVN" 4l 14. Memory representation of "the structure of the ruling Communist party of NVN" 42 15. Memory representation of "The i960 Constitution of NVN defines the formal governmental structure of NVN which is distinct from the structure of the ruling Communist party of NVN. " 43 1. INTRODUCTION This study deals with the field of question-answering, QA, systems. I undertook the study to gain insight into the difficulties involved in creating and utilizing a QA system and into QA system capabilities once developed. In particular, the study deals with QA systems applied to the field of current political intelligence. I desired to answer the following questions: 1) Can machines or relatively untrained clerks easily encode unstructured intelligence informa- tion of a wide variety (political, social, economic, industrial, military, target, weather, terrain, weapons capability, etc.) into a form which can be processed by computer? 2) Can general computer QA routines process a wide variety of intelligence in- formation and store intelligence data in a consistent memory structure? and 3) Can computer inference or deductive capabili- ties be developed to the point where machines assist the intelli- gence analyst significantly? The trememdous volume of intelligence information col- lected today by various means (electronic, photographic, human sources, etc.), the extremely difficult task of properly screen- ing, evaluating, and analyzing this quantity of information, and the difficulty of estimating the intentions or capabilities of another power makes an affirmative answer to these three ques- tions highly desirable. Of ••-•', this study's scope is far too restricted to fully realize the three stated objectives. However, the study does give the desired insight into QA system design difficul- ties, utilization problems, and capabilities. The question answering system, called QAS , developed on the following pages is based on a semantic network and deals with political intelligence which is processed into a somewhat restrictive set of relations. Non-semantic network QA techni- ques are not discussed. Likewise, machine processing of natural language into a set of relations is extremely complex and is not discussed in this paper. However, trained intelligence clerks could easily and rapidly encode relatively general in- telligence information into these relations. These relations convey natural language concepts or meanings; but the relations are easier to process by computer than the corresponding natural language. Further computer processing involves: 1) determining if the information is already represented or partially repre- sented in the memory network, 2) adding the information to the memory network in a consistent manner when the information is not already represented, and 3) answering questions based on the information represented in the memory network. I develop an algorithm which accomplishes 1) and 2) and answers questions which have their answers "explicitly" repre- sented in the memory network. In addition, QAS furnishes a great deal of immediately related information which is available in the memory network with the answer to each question. However. QAS does not have a strong inferential or deductive capability at this time. 2. DATA BASE MEMORY REPRESENTATION QAS inputs intelligence information as a set of rela- tions between subjects and objects. QAS stores the set of relations in memory as a complex network of nodes (subjects and objects) and pointers (to subject or object nodes, to property lists, to dictionary entries, and to subnodes or supernodes). The following paragraphs describe the representation of intelli- gence data in this memory network. 2.1 Nodes Each node represents the meaning of a word, sentence, paragraph, or concept. There are two types of nodes — basic and complex. Basic nodes have no subset or relational pointers. The time node is one possible basic node. The time node speci- fies a time period and has the form (T,-T„) where T, or Tp can be Unk (unknown) and T„ can be P (present) which indicates that the time period extends up to the present. If not Unk or P, T, and T„ have the form (year, month, day, time) where the last three items are omitted when unknown. The time is expressed in GMT and is based on the 24 hour clock. For example, 197108171930 is 1930 hours GMT, 17 August 1971. The circled nodes in Figures 1, 2, 3> and 4 are examples of basic nodes. Complex nodes consist of a subset pointer, a set (possibly empty) of superset pointers, and a set of relational pointers to object nodes which modify or define the concept expressed in the 4 complex node. When QAS stores information, it may find that a concept is already partially represented in the memory network. To fully represent the concept, QAS must add one or more rela- tional pointer(s). When concept intersections of this nature occur, QAS 1) establishes a new node, 2) creates a subset pointer from the new node to the already represented concept, 3) adds a superset from the already stored concept to the new node, and 4) adds the required relational pointers to the modifying con- cepts. If the relational pointer is a symmetric relation or an active verbal relation, then QAS 1) establishes a second new node, 2) creates a subset pointer to the already stored modify- ing concept from the second new node, 3) adds a superset pointer from the already stored modifying concept to the second new node, 4) adds the converse relation or symmetric relation from the second new node to the first new node, and 5) adds the required relational pointer from the first new node to the second new node rather than to the already stored modifying concept. For example, QAS represents "The formal governmental structure of North Vietnam (NVN) is distinct from that of the ruling Communist party." as shown in Figure 1. When QAS adds "The ruling Commun- ist party is known as the Lao Dong Party." to the data base, we obtain the configuration of Figure 2. Node(P3) has a subset pointer to the intersecting concept "ruling Communist party" and the relational pointer, Equivalent, to Node(P5) which was created for the symmetric Equivalence relation to Node(P3). Node(P5) has a subset pointer to Node(P4) which was created by 5 the first procedure described above. The nodes in Figures 1 and 2 are depicted as words but actually consist of dictionary, subset, superset, and relational pointers in the memory net- work. Nil indicates the absence of subset and superset pointers. See Section 3 for a detailed explanation. Likewise, QAS may find that a concept is already repre- sented in memory which has more relational pointers than the con- dept it is processing. QAS then 1) constructs a new node with the set of relational pointers required to represent the inter- section of the two concepts, 2) erases the duplicated relational pointers from the stored concept node and the subset pointer from the stored concept to its subnode, 3) erases the superset pointer from the subnode of the stored concept to the stored concept node, 4) adds subset pointers from the new node to the original subnode of the stored concept and from the stored con- cept node to the new node, and 5) adds superset pointers from the subnode of the stored concept to the new node and from the new node to the stored concept node. For example, "the ruling Communist party" is represented in memory as shown in Figure 3« If QAS adds "The Communist party is equivalent to the Lao Dong Party." to the memory network then we have the memory configura- tion of Figure 4. First, QAS constructs Node(P2) to represent the intersection of the two concept--"communist party". Second, QAS erases the subset pointer from Node(Pl) to Node (P) and the Mod relational pointer from Node(Pl) to Node(C). Next, QAS erases the superset pointer from Node(Pl) to Node(P2). Next, QAS adds subset pointers from Node(Pl) to Node(P2) and from Node(P2) to Node(P). Finally, QAS adds superset pointers from Node(P) to Node(P2) and from Node(P2) to Node(Pl). See Section 3 for a detailed explanation. (S3)structure * Distinct ( S 2 )structure (S5)structure Distinct (PI) Figure 1. Memory representation of "The formal governmental structure of NVN is distinct from that of the ruling Communist party." (S3 )structure a Distinct 1 X (S2)structure (S5) structure JDfl ^ Distinct (SI) (S4) (G)government J (S5) Nil (Pl)party / P3)party Mod Mod ^ Equivalent (P3) ((P) party) (PI) (P*Q (P5)party Equivalent (P^)party (P3) Mod (P5) (P) Figure 2. Memory representation of "The formal governmental structure of NVN is distinct from that of the ruling Communist party." and "The ruling Communist party is known as the Lao Dong Party." (Pl)party (PI) Figure 3. Memory representation of "the ruling Communist party" (P3)party (Pl)party Equivalent ^r Mod (P3) (pi) f( p )p art y) (P2) (P4) (P) (P5) (P4)party (P3) Mod Figure 4. Memory representation of "the ruling Communist party" and "The Communist party is. equivalent to the Lao Dong Party." 2. 2 Relations Originally QAS utilized three types of relations — Unary, Binary, and Relational. Country(x), where x is the name of a country, is an example of a unary relation. Rela- tions 1-7 of Appendix A are the unary operations originally used in QAS. They are unnecessary and have been dropped from the system. There are three types of binary relations — Modifier, Normal, and Connective. Mod(x,y) is the only Modifier rela- tion and means that x is modified by y in the adjectival sense . Relations 9-22 of Appendix A are elements of one sub- set of the set of all possible Normal relations. A subset of these relations was used to encode the text of Appendix B. The following are examples of Normal relations: Ofl(x,y), Equivalent (x',y) , and Define(x,y). Ofl is used as a function word to indicate belonging or the possessive relationship. Equivalent means corresponding or virtually identical especially in effect or function. Define means to make distinct in out- line. The three examples demonstrate how prepositions, set relationships, and verbs are utilized as Normal relations. Each relation obtained from an active verb has a corresponding converse relation. For example, Define(x,y), x defines y, has the converse relation Def ine-l(y ,x ) , y is defined by x. Like- wise, each symmetric relation, R(x,y), has a corresponding re- lation R(y,x). The negation of Normal relations is also possible 10 and, for example is written as N-equivalent (x,y ) , x is not Equivalent to y. The set of Normal relations is large. However, the number of such relations can probably be held to a workable number when encoding information in any one field of interest, such as political intelligence, and when the encoder uses one relation where several relations serve equivalent or analogous functions. For example, Equivalent (x ,y) and Equal(x,y) are identical under many interpretations. In addition, reduction possibilities, such as Distinct (x,y) = N-equivalent (x,y) should be exploited fully. And(x-,,Xp) is an example of a Connective relation. The encoder utilizes Connective relations when the original text contains a single relation which acts on more than one subject. Connective relations require that QAS establish two relational pointers — one for each subject or object joined by the Connective relation. Relations 23 and 24 of Appendix A are examples of Connective relations. However, QAS allows only the "And" connective at this time. Relational relations have numerous possible forms. Essentially, relational relations capitalize on the symmetry or transitivity of relations when it exists. For example, Equivalents, y) implies Equivalent (y ,x) and Ofl(x,y) and Ofl(y,z) implies Ofl(x,z). Negation is another source of re- lational relations. Equivalent (x,y) = N-distinct (x,y ) is one possible example. In addition, less obvious relational rela- tions frequently become apparent while attempting to answer 11 questions in QAS. For example, the object of the preposition "of" used in the possessive sense is often used as an adjective with the same meaning. For instance, "the governmental system of North Vietnam (NVN)" can be written equivalently as "the system of government of NVN". Hence, Mod(x,y) = Ofl(x,y) is a possible relational relation in some contexts. Relations 25-27 of Appendix A are examples of relational relations. Relational relations are used in the question-answering phases of QAS. The answer to a question is the goal of the QA routines. When the goal cannot be directly satisfied all possible equivalent goals or subgoals are considered before QAS states that the answer is unknown. These equivalent goals or subgoals can be obtained in part from the relational relations 2. 3 Linkage QAS utilizes two primary types of pointers to establish its information network--internode and dictionary-to-memory or memory-to-dictionary pointers. QAS establishes at least one internode pointer for each relation in the input code unless QAS determines that the same subject, relation, and object are already represented in the memory network. See Paragraph 2.4 for a description of the input code. Each pointer is tagged to identify the type of relation it represents. QAS creates a single pointer for Mod(x,y) and for prepositionally derived relations. The pointer is from the subject x to the object or modifier y. QAS establishes two pointers for each symmetric relation — one from the relation's subject to its object and a second from the relation's object to its subject. Likewise, 12 QAS establishes two pointers for each relation derived from an active verb. One pointer, from the relation's subject to its object, represents the relation itself. A second pointer, from the relation's object to its subject, represents the relation's converse. In addition, a third pointer is associated with each of the latter two pointers for active verbal relations. This third pointer points to a property list which consists of four pointers — place, time, agency, purpose. These four pointers point to nodes which represent the following concepts respec- tively: 1) geographic location in which the event occurred, 2) time period over which the action was effected, 3) the method used to achieve the relation's result, and 4) the purpose for which the action was taken. In addition, these four pointers may be marked Nil (null), Unk (unknown), or NA (not applicable) if the required concept is not used, unknown to the coder, or not applicable to this relation. In addition, the subset- superset pointers disucssed in paragraph 2.1 are present. For example, "The formal governmental structure of NVN is defined in the i960 Constitution." has the memory represen- tation shown in Figure 5. The Mod relation is represented by a single pointer from the subject to the node which modifies the subject. The concept "structure", Node(Sl), is modified by the concepts "formal" and "government", Node(F) and Node(G) respec- tively. A single pointer from Node(S2) to Node(N) represents the prepositional relation 0F1 . The relation Define stems from an active verb and is therefore represented by two pointers in 13 memory. The filled in arrow from Node(C2) to Node(S3) depicts the relation itself while the open arrow from Node(S3) to Node(C2) represents the converse relation. The horizontal arrow depicts the property list pointer attached to the rela- tion Define. The property list is enclosed in parenthesis and contains pointers to the place concept, NVN - Node(N), and the time concept, i960 - present, Node(M). The agent and purpose pointers are marked unknown. In Figure 6, the two pointers are marked unknown. In Figure 6, the two pointers which represent the symmetric relation, Distinct, are depicted by a double ended arrow between Node(S2) and Node(S4). Double ended arrows represent subset-superset pointers as shown in Figures 1-10. The filled-in arrow represents the subset pointer, while the open arrow represents the superset pointer. Each word concept in memory has a pointer to it diction- ary definition. Each word meaning in the dictionary has a pointer to all the nodes utilizing a specific meaning of the word to represent a concept in memory. For example, Figure 6 shows the dictionary-to-memory and memory-to-dictionary pointers for "The governmental structure is distinct from the structure of the Communist party." 2 . H Encoding Intelligence Into QAS Relations I will describe the encoding procedure by working an example. The first sentence of the text is: "The formal govern- mental structure, as defined in the i960 Constitution, is distinct from that of the ruling Communist party, known as the Lao Dong m (C2)constitution (N)NVN (M)1960-P Define Nil Nil ,Unk,Unk) (CI) construction (S3)structure Mod ^Define-1 (C2) (C)constitution (Q)1960 (S2)structure (C2) Nil " * a Ofl (CI) (S3) (Sl)structure (N) Mod Mod (S2) (S)structure (F)form (G) government Nil Nil (SI) Figure 5. Memory representation of "The formal -governmental structure of NVN is defined in the i960 Constitution." Party, which is not mentioned specifically in the Constitution as an integral component of the governmental system." First, the encoder breaks this complex sentence down into several simple sentences which convey approximately the same meaning as the original sentence. In addition, the encoder adds known quanti- fiers such as name, place, and time during the subsentence con- struction process. The addition of these quantifiers facilitates the search for identical concepts when ■ adding data to the mem- ory network as described in Section 3. (S4 ) structure Distinct (S3)structure (S2 )structure Ofl *. Distinct (S4) (S) (Pl)party (SI )structure (S4) Mod k^-Mod 15 (P)party ( C) communist (S2 ) \ (S) structure A Nil (PI) (SI) (S3) (G)government Nil Dictionary structure (S, SI, S2, S3, S4) government (G) party (P, PI) communist (C) Figure 6. 'Memory representation of "The governmental structure is distinct from the structure of the Communist party", and pointers to and from the QAS dictionary For example, the encoder can re-write the original text sentence as the following subsentences which have the known quantifiers added. 1) The i960 Constitution of NVN defines the formal governmental structure of NVN. 2) The formal governmental structure of NVN is distinct from the structure of the ruling Communist party of NVN. 3) The ruling Communist party of NVN is 16 equivalent to the Lao Dong Party of NVN. and 4) The Lao Dong Party of NVN is not an integral component of the governmental system of NVN. The encoder codes the first subsentence as: Define/NVN, 19 6 0-P, Unk, Unk/ ( Of 1 (Mod (constitution, 19 60) ,NVN) ,0fl (Mod (struc- ture , And (form, government )), ,NVN) ) . Define is an active verb and therefore requires the property list, /place, time, agency, pur- pose/, which is enclosed in slashes. Utilizing the relations defined in Appendix A, the en- coder codes the latter three subsentences as: 2) N-equivalent ( Of 1 ( Mod (structure, And (form, government ) ) ,NVN) ,0fl( structure ,0fl (Mod(party, And(rule, communist )) ,NVN) )) , 3) Equivalent (Of l(Mod (party ,And(rule , communist ) ) ,NVN) ,0f 1 (Mod(party ,Lao Dong) ,NVN) ) , and 4) N-component (Of l(Mod(party ,Lao Dong) ,NVN) ,0f l(Mod(system, government ) ,NVN) ) . N-equivalent and Component are not active verbs and therefore do not require a property list. Sentence four is negated in agreement with the text's meaning. As yet, QAS does not provide a means to represent the adverbial modifier, in- tegral, on the relation, Component. Appendix C contains sub- sentences which have been constructed from the original text and the coded form of these subsentences. Appendix D contains a diagram of the memory network representing the original text. Trained intelligence clerks can easily encode a wide variety of intelligence information in the QAS format as des- cribed above. The set of relations will expand as the intelli- gence data becomes more diversified. However, the relation set can be held to a manageable size when working with a data base 17 which is oriented to any one type of intelligence information and when the encoder does not expand the relation set when an implemented relation can serve the same function as the newly discovered relation. 18 3. ADDING ADDITIONAL DATA TO THE MEMORY NETWORK There are three cases to consider when, developing an algorithm for adding additional intelligence data to the QAS memory network: 1) The memory network already exactly repre- sents the new concept. 2) The memory network already repre- sents a portion of the new concept and 3) The new concept is a subset of concepts which are already represented in the memory network. The following paragraphs explain these cases more fully and describe an algorithm which adds additional intelli- gence data to the memory network. 3 . 1 Case Considerations If the concepts expressed in the new intelligence data are the same as concepts already present in the QAS memory net- work, then QAS performs no further processing. Exactly means that each subject in the input code has no more or no less than the required relational pointer to its object in the memory net- work . QAS follows an identity check procedure to determine if a concept is already exactly represented. QAS performs the identity check by 1) finding the basic concepts within the nested concepts of the coded input, 2) looking the subjects of these basic concepts up in the QAS dictionary to find all candidate concepts which have these subjects in the memory network, 19 3) identifying, if possible, the stored candidate concepts which have the required relational pointers to the basic con- cepts' objects, and 4) recursively passing the addresses of these identified nodes to the next higher level of the nested input concept to see if the identified nodes have the required relational pointers to the required objects. For example an identity check on Equivalent (Of 1( counter- part ,0f 1( bureau, Of 1( Mod (commit tee , central) , Of 1( Mod (party , Lao Dong) ,NVN) ) ) ) ,Inl( And (ministry , commission) , Of 1( government ,NVN) ) ) requires that : 1. counterpart is related by Equivalent to ministry 2. counterpart 3. counterpart 4. ministry 5. commission 6. committee 7. committee 8. government 9. party 10. bureau Equivalent commission Ofl Inl Inl Mod Ofl Ofl Mod Ofl bureau government government central party NVN Lao Dong committee And finally, the identity check on the example above requires that the node representing the objects on the right must be the same as the identically named subjects on the left. For example, the node which represents government in lines four and five and the node which represents government in line eight must be the same . 20 As described in Section 2.1, case two processing in- cludes: 1) creating a new node with a subset pointer to the node which partially represents the new concept, 2) adding a superset pointer from the partially present concept node to the new node, and 3) adding the relational pointer (s) required to fully represent the new concept from the new node to the re- quired object node(s). Likewise, case three processing in- cludes: 1) creating a new node to replace the identified con- cept intersecting node, 2) adding the required intersecting relation(s) from the new node to the required object node(s), 3) erasing the intersecting relations from the identified con- cept intersecting node and replacing its subset pointer by a new subset pointer to the newly. created node, 4) creating a second new node with a subset pointer to the first new node if unrepresented relations exist, 5) adding the new concept's un- represented relation(s), if any, from the second new node to the required object(s), 6) replacing the superset pointer from the subnode of the identified concept intersecting node to the concept intersecting node with a superset pointer to the first new node, and 7) adding superset pointers from the first new node to the concept intersecting node and from the first new node to the second new node. QAS utilizes the identity check procedure to determine if the memory network already partially represents the new con- cept or if the new concept intersects concepts already repre- sented in the memory network. If the required relation is symmetric or an active verbial relation, then QAS follows the 21 identity check procedure to determine if the identified object node has the required symmetric or converse relation to the identified subject node. For example, if the memory network contains the con- cepts represented in Figure 7, then QAS takes the following actions while adding Equivalent (Of l(government ,NVN) , Mod(govern- ment , communist ) ) to the memory network. Figure 8 depicts the resultant memory representation. QAS eliminates Node(l) and Node(2) because they fail the first identity check requirements QAS, therefore, constructs a new node, Node (6), adds a subset pointer from Node(6) to Node(3)> and adds a superset pointer from Node(3) to Node(6). Since Node(2) partially satisfies the second identity check, QAS creates Node(5) 3 the required subset- superset pointers between Node(2) and Node(5), and the Mod re- lational pointer to Node(7) to represent "communist government. Next, QAS creates Node(4) and the required subset-superset pointers between Node(4) and Node(5). Finally, QAS adds the symmetric relations, Equivalent, between Node(4) and Node(6). (l)government Ofl USA Nil ( 2) government ( 3 ) government Ofl NVN Nil Figure 7- Memory representation of three governmental concepts 22 If the memory network contains the concepts represented in Figure 9, then QAS takes the following actions while adding Equivalent(Ofl(Mod(party , communist) ,NVN) ,Mod(party, Lao Dong) to the memory network. Figure 10 depicts the resultant memory representation. QAS 1) determines that "communist party of NVN is already present in the memory network, 2) creates Node(10) and the required subset-superset pointers between Node(10) and Node(3), 3) creates Node (12) to represent "Lao Dong", 4) creates Node(ll), the subset-superset pointers between Node(ll) and Node(0), and the Mod Relational pointer from Node (11) to Node(12), 5) creates Node(13) and the required subset-superset pointers between Node(13) and Node(ll), and 6) finally estab- lishes the Equivalent relational pointers between Node(13) and Node(10) . (l)government Ofl (3 )government Ofl (6 )government Equivalent A (4 ) government Equivalent (2 government USA NVN ( 5) government Nil Nil w . Mod I ( 7 ) communist Nil Figure 8. Memory representation of six governmental concepts 23 (9)party (l)party A 0fl L(Nil,Nil,Nil,Nil) ( 3 )party ( 8)government Ofl ^Control-1 (2)party Russia (9) ( 5 ) NVN (7 )government (9) Mod Nil Nil w^Ofl ( 0)party (1) ( 3 ) (4 ) communist ( 6)government ( 8 ) ( 5) Nil I (2) \ (7) Figure 9- Memory representation of three concepts involving government and five concepts involving party 3 . 2 Algorithm The following algorithm uses four parallel stacks which contain an address, relation, .subject, and object respectively. The address is S (subject stack), or (object stack), or P (terminal condition) . The techniques used to accomplish each step (if unclear) is explained more fully in the paragraphs following the algorithm. Step I (Initialize) A. Set address = P B. Set string = encoded concepts 24 (lO)party (9)party ol >PL(Nil,Nil,Nil,Nil) (l)party (3)part;y 8) government Control-1 (ll)party (10) (2)party Russia (9) (10)V ^ (5)NVN Mod ^ kMod Nil \ Nil (13) (O)party (1) (3) (4)communist (7 government (9) Nil ^r m Ofl (11) (2) (6)government (8) (5) (7) (12) Lao Donj Nil Figure 10. Memory representation of eight concepts of ^arty and three concepts of government Step II (Break up string and push onto stacks) A. Break string into relation, subject, and object B. Push address, relation, subject, and object onto the four parallel stacks Step III (Check for simple subject and object) (A simple sub- ject or object is a subject or object which does not have a relation prefix.) 25 A. If top of subject stack ^ simple subject 1. Set string = (complex) subject 2. Set top of subject stack = null 3. Set address = S 4. Go to Step II B. If top of object stack ^ simple object 1. Set string = (complex) object 2. Set top of object stack = null 3. Set address = 4. Go to Step II Step IV (Set up candidate list of required) (A candidate list is a list of pointers. QAS looks the subject or object up in the dictionary and copies all dictionary pointers to concepts utilizing this word into the candidate list. Hence, a candidate list is an n-tuple, (pointer 1, . . . , pointer n). The candidate list tends to be ordered from the simplest concepts to the most complex concepts. QAS must create the candidate list at this point rather than in Step I. New nodes are frequently added to the memory network in the remainder of the algorithm. Hence, any candidate list created in Step I would probably not contain all required candidates when the candidate list was finally manipulated by the algorithm. If QAS does not find a word during dictionary lookup, it adds the word to the dictionary and creates a node without any relational or subset-superset pointers to represent that word. A *subject or *object node represents lower level concepts that have already been processed by this algorithm. 26 A. If top of subject stack # to *subject 1. Replace subject with its candidate list B. If top of object stack t to *object 1. Replace object with its candidate list Step V (Form "and list" if required) . (The "and list" is a list of concepts enclosed in +'s. *pointer is normally the address of the concept node located — if the concept being pro- cessed is already in memory — or created by the identity check routine . ) A. If relation = And 1. Set ^pointer = *+ subject object + 2. Go to Step VII Step VI (Identity Check) A. Perform subject, relation, object identity check and create required concept node if concept is not already stored in memory. Step VII (Store *pointer, pop stacks, and check for task comple- tion) A. If top level of address stack = F 1. Stop B. Store ^pointer in the next lower stack level and at the address specified in the top level of the address stack C. Pop all four parallel stacks D. Go to Step III QAS must break each complex string into relation, subject, and object. The break up procedure is: 1) Scan right to the first "(". The word accumulated at this point is the relation. 27 2) Scan past the first "(". 3) Scan right to the first "," which is preceded by a character string balanced with respect to parenthesis. The balanced character string is the subject. 4) Scan past the first ",". 5) Scan right to the first ")" which is preceded by a character string balanced with respect to parenthesis. The second balanced character string is the object. Appendix D depicts the memory network that results after this algorithm acts of the data inputs of Appendix C. Appendix E shows the algorithm's results at each stage of processing the inputs of Appendix C. 3 . 3 Identity Check QAS must perform an identity check on each relation, sub- ject, and object in the coded input string. The identity check involves nine cases--a case for each pair in the cartesian pro- duct (*subject, candidate list subject, "and list" subject) (*object, candidate list object, "and list" object). In addition, the implementation of converse or object to subject symmetric relations requires special processing. Each of these ten cases are discussed in the following paragraphs. Case I, ^subject and *object. QAS precedes as follows: I. If *subject has the required relation to *object A. Set *pointer = *subject B. Stop II. If *subject has superset pointers A. If any supernode S has the required relation to *object 28 1. If supernode S has more than the required relations a. Create a new node with the required rela- tional pointer to *object (Creating a new node includes the addition of dictionary to new node and new node to dictionary pointers . ) b. Erase the required relational pointer to *object and subset pointer to *subject from supernode C c. Erase the superset pointer from *subject to supernode C d. Add subset pointers from new node to *subject and from supernode C to new node e. Add superset pointers from ^subject to new node and from new node to supernode C f. Set *pointer = new node g. Stop 2. Set *pointer = supernode C 3. Stop B. Create a new node with required relational pointer to *object C. Add subset pointer from new node to ^subject D. Add superset pointer from ^subject to new node E. Set *pointer = new node P. Stop III. Go to Step II. B. 29 Case II, *subject and candidate list object. QAS pre- cedes as follows: I. Set *object = basic candidate node II. Go to Step I, Case I Case III, *subject and "and list" object. Case III is actually the same as Cases I and II except that QAS searches for the required relational pointer from *subject to the *object selected for each element of the object "and list" and creates new nodes as described in Case I if the required relation to any of the *objects in the object "and list" is not present. Case IV, candidate list subject and *object. QAS pre- cedes as follows: I. Select a candidate subject C to be checked II. If the candidate node C has the required relational pointer to * ob j e c t . A. If subnode of candidate subject C has relational pointers date list 1. Delete candidate subject C from subject candi- 2. Go to Step III B. If candidate node C has more than the required rela- tion to *object 1. Construct a new node with the required relational pointer to *object 2. Erase the required relational pointer from candi- date node C 30 3. Create a superset pointer from the new node to candidate node C 4. Create a subset pointer from candidate node C to the new node 5. Erase original subset pointer from candidate node C to its original subnode D 6. Erase original superset pointer from original subnode D to candidate node C 7. Create a superset pointer from the original subnode D to the new node 8. Create a subset pointer from the new node to the original subnode D 9. Set ^pointer = new node 10. Stop C. Set *pointer = candidate node C D. Stop III. If there are more unchecked candidate subjects A. Go to Step I IV. Create a new node with the required relation to *object V. Create a subset pointer from the new node to the basic candidate node VI. Create a superset pointer from the basic candidate node to the new node VII. Set ^pointer = new node VEIL Stop Case V, candidate list subject and candidate list object. 31 QAS precedes as follows : I. Set *object = basic candidate node II. Go to Step I, Case IV Case VI, candidate list subject and "and Use" object. Case VI is actually the same as Cases IV and V except QAS searches for the required relational pointer from the selected candidate node to the *object selected for each element of the object "and list" and creates new nodes as described in Case IV if the required relation to any of the *objects in the object "and list" is not present. Cases VII, VIII, and IX "and list" subject and *object, candidate list object, or "and list" object. QAS precedes as follows : I. Set list = null II. Select an element of "and list" subject III. Perform *subject or candidate list subject to *object, candidate list object, or "and list" object identity check as required by the subject and object type involved IV. Set list = list *pointer V. If there are additional "and list" subject elements which have not been processed A. Go to Step II VI. Set ^pointer = *+list+ VII. Stop Case X, symmetric or converse relational pointers. QAS adds relational pointers to concept nodes during the identity check procedures discussed above. The addition of relational 32 pointers require' additional processing when the relations are symmetric or are derived from active verbs. Active verb rela- tional pointers require the addition of the converse relation, and symmetric relational pointers require double pointer imple- mentation (from subject to object and from object to subject). To insure that the subset-superset properties of the memory net- work are not destroyed by the addition of these converse or object to subject symmetric relations, QAS precedes as follows: I. Create a new node II. Add a subset pointer from the new node to the required object node III. Add a superset pointer from the required object node to the new node IV. Add the required converse or object to subject symmetric relation from new node to the required subject node V. Add the required relation from the required subject to the new node rather than the normally required object 3 • 4 Example Assume the memory network of Figure 11 as a starting point and let the coded input be N-equivalent(Of 1 (Mod (structure, And (form, government ) ) ,NVN) , Of 1( structure , Of l(Mod( party ,And( rule, communist) ) ,NVN)) ) . First, set address = F and string = the coded input above. Next, break string into: relation = N-equivalent subject = Ofl(Mod(structure,And(form, government)) ,NVN) object = Ofl(structure,Ofl(Mod(party,And(rule, communist)), NVN)) 33 The stacks are: Level 1 P N-equivalent Of 1 (Mod (structure, Ofl And (form, govern- (structure, ment)),NVN) Ofl (Mod ( party ,And( rule , commu- nist)), NVN)) The tope of the subject stack has a relation prefix and hence is not simple. Therefore, set string = Of l(Mod(structure , And ( form, government )) ,NVN) , top of subject stack = null, and address = S. Break string into: relation = Ofl subject = Mod(structure ,And(form, government ) ) object = NVN The stacks are: Level 2 S Ofl Mod (structure , NVN And ( f orm , govern- ment ) ) Level 1 F N-equi- Ofl(struc- valent ture,Ofl( Mod(party , And (rule , communist ) ) , NVN)) The top of the subject stack has a relation prefix and hence is not simple. Therefore, set string = Mod(structure , And(form, government)), top of subject stack = null, and address = S. 34 (A3)constitution Define 1 (F) (N)1960-P t t PL1( ' , I ,Unk,Unk) t t (A2)constitution (C3 )structure v\ (A3) (Al)constitution (F) (C2)structure (A3) (A2) (A)constitution (B)1960 (C3) Nil (Cl)structur< Mod Mod (Al) (C2) (C)structure (D)form (E)government (F)NVN Nil Nil Nil (CI) Figure 11. Memory representation of "The i960 constitution of NVN defines the formal governmental structure of NVN." Break string into: relation = Mod subject = structure object = And (from, government) The stacks are: Level 3 S Mod structure Level 2 S Ofl Level 1 F N-equivalent And (form , govern- ment ) NVN OflCstruc- ture,Ofl(Mod 35 (party ,And( rule , commu- nist )),NVN)) The top of the subject stack has no relation prefix and hence is simple; however, the top of the object stack is complex. Therefore, set string = And (form, government ) , top of object stack = null, and address = 0. Break string into: relation = And subject = form object = government The stacks are: Level H And form government Level 3 S Mod structure Level 2 S Ofl NVN Level 1 P N-equivalent Of 1( structure , Ofl(Mod(party , And (rule , commu- nist)) ,NVN)) The top level of the subject and object stacks are both simple The top level of the subject stack is not *'ed; therefore re- place "form" by the candidate list (D) since Node(D) is the basic node which represents the concept form. Likewise, re- place "government" by the candidate list (E). The relation is "And"; therefore set *pointer = *+(D)(E)+ and go to Step VII. 36 The stacks are: Level 3 S Mod structure *+(D)(E)+ Level 2 S Ofl NVN Level 1 F N-equlvalent Of Kstructure , Ofl (Mod (party, And (rule , commu- nist)) ,NVN)) The top level of the subject and object stacks are both simple. Since the top level of the subject stack is not *'ed, replace it with the candidate list (C,C1,C2,C3) . The top of the object stack is *'ed. The top of the relation stack is not "and"; hence QAS performs Case VI identity check, which is equivalent to Case V. Set *object = D and E for each of the object candi- date list in the object "and list" respectively and go to Step I, Case IV. Node (CI) has the required "Mod" relational pointer to both *objects, a subnode, Node(C), with no relational pointers, and no more than the required relational pointers. Therefore, QAS sets ^pointer = *C1 and returns to the algorithm. Store *C1 in the subject stack at level 2. The stacks are: Level 2 S Ofl *C1 NVN Of l(structure , Level 1 P N-equivalent — Of 1( structure, Of l(Mod(party, And (rule , communist) ) ,NVN)') The top of the subject and object stacks are both simple. The top of the subject stack is *'ed, but the top of the object stack is not. Hence, QAS replaces "NVN" with its candidate list (F). The relation is not "And". QAS, then performs a Case II identity check. Set *object = candidate object node F because it is the 37 basic candidate node. Go to Step I, Case I. Node(Cl) does not have the required "Ofl" relation, but Node (CI) does have a super- node, Node(C2), which has the required relation to Node(F). Node(C2) has no other relations. QAS , therefore, sets ^pointer = Node(C2). Store *C2 on the subject stack at level 1. The stacks are : Level 1 F N-equivalent *C2 Of 1( structure , Of l(Mod (party , And (rule , commu- nist)), NVN)) The top of the object stack is not simple, therefore, set string = Ofl(structure,Ofl(Mod(party ,And(rule, communist) ), NVN) ) , top of object stack = null, and address = 0). Break string into: relation = Ofl subject = structure object = Ofl(Mod(party ,And(rule , communist )) ,NVN) The stacks are: Level 2 Ofl structure Of l(Mod(party ,And (rule , communist ) ) , NVN) Level 1 F N-equivalent *C2 The top of the object stack is not simple; therefore, set string = Ofl(Mod(party,And(rule, communist )) ,NVN) , top of object stacks = null, and address = 0. Break string into: relation = Ofl subject = Mod (party , And (rule , communist ) ) object = NVN 38 The stacks are: Level 3 Ofl Mod(party ,And(rule, NVN communist ) ) Level 2 Ofl structure Level 1 F N-equivalent *C2 The top of the subject stack is not simple; therefore, set string = Mod(party ,And(rule , communist ) ) , top of subject stack = null, and address = S. Break string into: relation = Mod subject = party object = And ( rule , communist ) The stacks are: Level 4 S Mod party And (rule , com- ■ muni$t ) Level 3 Ofl NVN Level 2 Ofl structure Level 1 P N-equivalent *C2 The top of the object stack is not simple; therefore, set string = And (rule , communist ) , top of object stack = null, address = 0. Break string into: relation = And subject = rule object = communist The stacks are: Level 5 And rule communist Level 4 S Mod party 39 Level 3 Ofl NVN Level 2 Ofl structure Level 1 F N-equlvalent *C2 — The top of the subject and object stacks are both simple. How- ever, neither are *'ed or entered in the QAS dictionary. There- fore, QAS creates basic nodes, Node(H) and Node(I), and replaces "rule" and "communist' with (H) and (I) respectively. The rela- tion is "And"; therefore, QAS stores *+(H)(I)+ on level 4 of the object stack. The stacks are: Level 4 S Mod party *+(H)(I)+ Level 3 Ofl NVN Level 2 Ofl structure Level 1 P N-equivalent *C2 The top of the subject and object stacks are both simple. "Party" is not entered in the QAS dictionary; QAS therefore creates basic node, Node(G), and replaces "party" with the can- didate list (G). The top of the relation stack is not "And". QAS, then, performs the Case VI identity check. QAS sets *ob- ject = H and I for each of the candidate list in the object "and list" respectively and then goes to Step I, Case IV. Node(G) does not have the required "Mod" relation; therefore, QAS creates a new node, Node(Gl), with the required "Mod" relation to Node(H) and Node(I). QAS adds a subset pointer from Node(Gl) to Node(G) and a superset pointer from Node(G) to Node(Gl). Finally QAS sets *pointer = *G1. The union of Figures 11 and 12 represents the current memory network. Store *G1 on level (Gl)party I Mod Mod 40 (G)party (H)rule (I ) communist Nil .Nil (Gl) Figure 12. Memory representation of "ruling Communist party" three of subject stack. The stacks are: Level 3 Ofl *G1 NVN Level 2 Ofl structure Level 1 F N-equivalent *C2 The top of the subject and object stacks are both simple, but the top of the object stack is not *'ed. Hence, QAS replaces "NVN" with (F) . Since the top of the relation stack is not "And", QAS performs the Case II identity check, QAS sets *ob- ject = F because it is the basic candidate node and goes to Step I, Case I. Node(Gl) does not have the required "Ofl" re- lation and has no superset pointer. Hence, QAS creates a new node, Node(G2), with the "Ofl" relational pointer to Node(F), adds a subset pointer from Node(G2) to Node(Gl), adds a super- set pointer from Node(Gl) to Node(G2), and sets *pointer = *G2. The union of Figures 11 and 13 represents the current memory network. Store *G2 on level 2 of the object stack. The stacks are : Level 2 Ofl structure *G2 41 Level 1 F N-equivalent *C2 The top of the subject and object stacks are both simple, but the top of the subject stack is not *'ed. Therefore, QAS re- places "structure" with (C ,C1 ,C2 ,C3 ) . (G2)party (G)party (H)rule (I ) communist Nil Nil (Gl) Figure 13. Memory representation of "ruling Communist party of NVN" Since the top of the relation stack is not "And", QAS performs the Case IV identity check. QAS selects Node(C), Node(Cl), and Node(C3) as candidate subjects and rejects them because they do not have the required "Ofl" relational pointer. QAS selects Node(C2) which has the required relational pointer and rejects it because the object of the "Ofl" relation is not Node(G2). Hence, QAS creates a new node, Node(C4), with the required "Ofl 1 relational pointer to Node(G2), adds a subset pointer from Node(C4) to Node(C), and adds a superset pointer from Node(C) to Node(C4). Finally, QAS sets *pointer equal to *C4. The 42 union of Figures 11 and Ik represent the current memory network, (C4)structure Ofl on 1 \ (C) (G2)party Ofl (Gl)party (F) » w Mod Mod i\ (G2) (G)party (H)rule (I)communist Nil Nil (Gl) Figure Ik. Memory representation of "the structure of the ruling Communist party of NVN" Store *C4 on level one of the object stack. The stacks are: Level 1 F N-equivalent *C2 *Ck Node(C2) does not have the required "N-equivalent" relation. Therefore, QAS procedes as follows to add the symmetric "N- equivalent" relation: 1) creates Node(C5) and Node(C6) with the "N-equivalent" relational pointer to each other, 2) adds subset pointers from Node(C5) to Node(C2) and from Node(C6) to Node(C4), 3) adds superset pointers from Node(C2) to Node(C5) and from Node(C4) to Node(C6), and k) finally terminates the algorithm. Figure 15 depicts the final memory representation. 43 (A3) constitution Define (F) (N)1960-P i ->PL1( 1 t ,Unk,Unk) (A2) constitution (C3)structure (C5)structure Ofl >^Define-l A N-equivalent (A3) (Al)constitution (F)NVN (C2) structure (A3) (C6) Nil // Mod (A2) (A)constitution (B)1960 (C5) (C3) (Cl)structure (F) Mod (Al) (C2) (C)structure (D)form (E)government Nil Nil S? (C4) (CI) (C6)structure N-equivalent / (C4)structure (C5) Ofl (C6) (C) (G2)party Ofl / (Gl)party (F) Mod Mod (G2) (G)party (H)rule (I )communist Nil Nil (Gl) Figure 15. Memory representation of "The I960 Constitution of NVN defines the formal governmental structure of NVN which is distinct from the structure of the ruling Communist party of NVN." 44 4. QUESTION ANSWERING The encoder encodes questions for QAS in the same manner as he encodes intelligence data except that he prefixes a ques- tion specification list. QAS has two question ansering modes. The first mode answers questions which have answers explicitly represented in the memory network. The second mode answers questions which require deductions. The question specification list and both question answering modes are discussed in the paragraphs below. 4 . 1 Question Encoding The encoder encodes questions utilizing the procedure described for intelligence data in Section 2.4. In addition, the encoder prefixes a question specification list, ( ?-Pl#,#l,#2) The "?" causes QAS to set a flag and to modify its be- havior at the times specified in the following paragraphs. PL#, if present, indicates that the desired answer is found on the main relation's property list at position #. #1 specifies the response level desired. Level one is either 1) yes or no, or 2) (all modifiers on the subset chain of the response's subject, plus any submodifiers or Ofl rela- tions and their objects on these modifiers) response subject (all 0P1 relations on the subset chain of the response's sub- ject, plus any submodifiers or Ofl relations and their objects 45 on the objects and subset chains of these Ofl relations) res- ponse relation (all modifiers on the subset chain of the res- ponse's object, plus any submodif iers or Ofl relations and their objects on these modifiers) response object (all Ofl re- lations on the subset chain of the response's object, plus any submodifiers or Ofl relations and their objects on the objects and subset chains of these Ofl relations). N-level responses, for N greater than one, include any other relations and their objects on the subset chain of the (n-l)-level response, plus the modifiers and Ofl objects on the subset chains of these ob- jects. #00 causes QAS to respond at the highest level possible. For example, if Node(C3) and Node(E6) of Appendix D are the response's subject and object respectively, then the level one response is "i960 constitution define form government structure of NVN". QAS may find more than one node which represents the answer to a given question. #2 indicates the number of res- ponses desired. #00 causes QAS to respond with all possible answers. Appendices F and G contain examples of questions and their encoded form. 4 . 2 Questions With Explicitly Represented Answers QAS sets flags to indicate 1) question processing, 2) property list position of answer if applicable, 3) desired response level, and 4) desired number of responses, QAS then follows the algorithm (Section 3) for adding intelligence data to the memory network except for the following modifications. 46 When QAS encounters a question word or "N/A" simple subject or object, it treats it as a *subject or *object respectively and does not create a candidate list. When level one of the subject and object stacks contain ^subject and *object respectively, QAS performs as follows : I. If top of subject and object stacks = ^subject and *ob- ject respectively A. If *subject has required relation to *object 1. Print "Yes" B. If *subject has superset pointers 1. If supernode has required relation to *object a. Print "Yes" 2. If *object has superset pointers a. If supernode of *subject has required rela- tion to supernode of *object 1) Print "Yes" b. Print "No" 3. Print "No" C. Print "No" II. If top of subject and object stack = ^subject and *questioi word or *N/A respectively A. If *subject does not have required relation 1. If ^subject has superset pointers a. If supernode has the required relation 1) Subject of the desired response = supernode 47 2) If PL# tag is present a) Go to Step IV 3) Print desired response b. Deductive procedures are employed at this point. See Section 4.3- 2. Go to Step II. A. 1 .b. B. Subject of desired response = ^subject C. If PL# tag is present 1. Go to Step IV D. Print desired response II. If top of subject and object = *question word or *N/A and *object respectively A. If *object does not have required converse or sym- metric relation 1. If *object has superset pointers a. If supernode has the required converse or symmetric relation 1) Subject of the desired response = the node which is the object of the converse or symmetric relation on supernode 2) If PL# tag is present a) Go to Step IV 3) Print desired response b. Go to Step II.A.l.b. B. Subject of desired response = the node which is the object of the converse or symmetric relation on *object . 48 C. If PL# tag is present 1. Go to Step IV D. Print desired response IV. If PL1 A. Print desired response, plus "in", plus desired response for Node(position one pointer) V. If PL2 A. Print desired response, plus "during", plus desired response for Node(position two pointer) VI. If PL3 A. Print desired response, plus "by means of", plus desired response for Node(position three pointer) VII. If PL4 A. Print desired response, plus "for the purpose of", plus desired response for Node(position four pointer) Appendix F contains examples of questions with explicitly repre- sented answers, the encoded questions, and QAS responses to the questions . 4 . 3 Questions Which Require Deduction When QAS cannot find a node with the required pointer while operating in the question answering mode, QAS must employ deductive heuristics. For example, QAS must employ deductive heuristics at each point where it would normally create a new node in the algorithm of Section 3 and at the points specified in the procedure of Section k.2. 49 QAS prints a message which informs the user of the heuristic(s) used to obtain an answer. Deductive heuristics may lead to zero, one, or many anssers. QAS must keeo track of all such possible answers. At stack levels greater than one, the possible answers are answers to subquestions or sub- goals of the original question which may aid in determining the desired response. As QAS pops the stacks, some answers to higher level subgoals may be of no use in determining the ans- wers to the present level subgoal and are thusly discarded. The deductive heuristics include: If *subject does not have the required relation, but does have a subnode with the required relation to *object or *object is on the subset chain of the required relation accept relation(subnode , relation ' s object) as the desired concept. If *subject has the required relation, and *object is on the subset chain of the required relation, accept relation (^subject, relation's object) as the desired concept. If ^subject has required relation to one or more ele- ments of a object candidate list, accept relation( *sub ject , relation's object) as the desired concept. If candidate subject has required relational pointer to *object or *object is on the subset chain of the relation's object, accept relation(candidate sub ject , relation' s object) as the desired concept whether or not candidate subject has a subnode with relational pointers. 5Q If candidate subject has the required relational poin- ter to *object or *object is on the subset chain of the rela- tion's object, accept relation(candidate subject, relation's object) as the desired concept whether or not candidate subject has more relational pointers than the required relation. If candidate subject or *subject has the required re- lational pointer and ^object is the object of Ofl for some node on the subset chain of the required relation's object, accept relation(*subject or candidate subj ect , relation' s object) as the desired concept. If the required relational Mod or Ofl pointer is not present, check to see if Ofl or Mod is present respectively. If required relational pointer is present and transitive and *object is- not the object of the required relation, search for *object as the object node or on the subset chains of any node which can be reached by following the transitive relational pointer or subset pointers. If *object is found, accept rela- tion(subject , relation' s object) as the desired concept. If required relational pointer is not present, search for equivalent relational pointers. If *subject does not have the required relation, but does have an immediate supernode with the required relation to *object or *object is on the subset chain of the required rela- tion's object, accept relation(supernode , relation ' s object ) as the desired concept even if supernode has additional unrequired relational pointers. 51 Appendix G contains examples of questions which re- quire deduction to answer, the encoded questions, and QAS responses to the questions. 52 LIST OF REFERENCES 1. Alexander, B., "A question-Answering Program For Simple Kernel Sentences (QUE 2);" Technical Report No. NL-5, March 1971, DCS and Computer-Assisted Instruction Laboratory, Univ. of Texas, Austin, Texas, pp. 1-30. 2. Biss, K. 0., Chien, R. T., and Stahl, F. A., "A Data Structure for Cognitive Information Retrieval," Report R-493, October, 1970 , CSL, Univ. of Illinois, Urbana, Illinois. 3. Biss, K. 0., Chien, R. T; , and Stahl, F. A., "R2 - A Natural Language Question-Answering System," Report R-500, January, 1971, CSL, Univ. of Illinois, Urbana, Illinois . 4. Black, F. , "A Deductive Question-Answering System," Seman - tic Information Processing , M. Minsky (Ed.), MIT Press, Cambridge, Massachusetts, 1968, pp. 35^-^02. 5. Bobrow, D. G., "Natural Language Input For A Computer Problem-Solving System," Semantic Information Process - ing , M. Minsky (Ed.), MIT Press, Cambridge, Massa- chusetts, 1968, pp. 135-215. 6. Bobrow, D. G. "Problems In Natural Language Communication With Computers," Project No. 8668, Scientific Report No. 5, August, 1966, Bolt Beranck and Newman, Inc., 50 Moulton Street, Cambridge, Massachusetts. 7. Bobrow, D. G., Fraser, J. B. , and Quillian, R. M., "Auto- mated Language Processing," Annual Review of Information Science and Technology , C. A~ Cuadis (Ed . ) , Vol . 2, Interscience Publishers, New York, 1967, pp. 161-186. 8. Chang, Y., "The Implementation Of A Relational Document Retrieval System," Report R-489, September, 1970, CSL, Univ. of Illinois, Urbana, Illinois. 9. Chien, R. T., Ray, S. R. , and Stahl, F. A., "ISL - A New Programming Language For Information Retrieval," Report R-449, December, 1969, CSL, Univ. of Illinois, Urbana, Illinois. 53 10. Craig, J. A., Berezner, S. C, Carney, H. C, and Longyear, C. R. , "Deacon: Direct English Access And Control," Proceedings - Fall Joint Computer Conference, 1966 , Vol. 29, Spartan Books, New York, 1966, pp. 365-380. 11. Esser, N. M. Jr., "A Relational Structure For Document Retrieval In Coding Theory," Report R-469, May, 1970, CSL, Univ. of Illinois, Urbana, Illinois. 12. Fairthorne, R. A., Towards Information Retrieval , Butter- worths, London, 1961 • 13. Floyd, R. W., "On Syntactic Analysis And Operator Preced- ence," Scientific Report No. 1, September, 1962, Com- puter Associates, Inc., 44 Winn Street, Woburn, Massa- chusetts, pp. 1-31. 14. Green, B. G. Jr., Wolf, A. K., Chomsky, C, and Laughery, K., "Baseball: An Automatic Question Answerer," Com - puters and Thought , E. A. Feigenbaum and J. Feldman (Ed.), McGraw-Hill Book Co., New York, 1963, PP • 207- 216. 15. Hays, D. G., "Automatic Language - Data Processing," Computer Applications In The Behavioral Sciences , H. Borko (Ed.), Prentice-Hall, Inc., Englewood Cliffs , New Jersey, 1962, pp. 395-423- 16. Jansen, J. M. Jr., "Phrase Dictionary Construction Mehtods For The R2 Information Retrieval System," Report R-447, December, 1969, CSL, Univ. of Illinois, Urbana, Illinois. 17. Katz, J. J., "Analyticity And Contradiction In Natural Language," The Structure of Language , J. A. Fodor and J. J. Katz (Ed.), Prentice-Hall7 Inc., Englewood Cliffs, New Jersey, 1964, pp. 519-543. 18. Katz, J. J., Fodor, J. A., "The Structure Of A Semantic Theory," The Structure of Language , J. A. Fodor and J. J. Katz (Ed.), Prentice-Hall, Inc., Englewood Cliffs, New Jersey, pp. 479-518. 19. Kelley, K. C, Ray, S. R., and Stahl, F. A., "ISL - A String Manipulating Language," Report R-407, February, 1969, CSL, Univ. of Illinois, Urbana, Illinois. 20. Kent, Allen, Textbook On Mechanized Information Retrieval , Interscience Publishers, New York, 1966. 54 21. Lancaster, F. W. , Information Retrieval Systems , John Wiley and Sons, Inc., New York, 1968. 22. Lindsay, R. K. , "Inferential Memory As The Basis Of Machines Which Understand Natural Language," Computers and Thought , E. A. Feigenbaum and J. Feldman (Eds.) , McGraw-Hill Book Co., Inc., New York, 1963, pp. 217- 233. . 23. McCarthy, J., "Programs With Common Sense," Semantic In - formation Processing , M. Minsky (Ed.), MIT Press, Cambridge, Massachusetts, 1968, pp. 403-418. 24. Mills, R. G. , "Man - Machine Communication And Problem Solving," Annual Review of Information Science and Technology , Vol. 2, Interscience Publishers, New York, 1967, pp. 223-255. 25. Quillian, R. M. , "Semantic Memory, Report No. 2, Bolt Beranek and Newman, Cambridge, Massachusetts, 1966, pp. 1-222. 26. Quillian, R. M. , "The Teachable Language Comprehender : A Simulation Program And Theory Of Language," Report No. 10, Bolt Beranek and Newman, Cambridge, Massa- chusetts, 1969, PP- 1-60. 27- Raphael, B., "Sir: Semantic Information Retrieval," Semantic Information Processing , M. Minsky (Ed.), MIT Press, Cambridge, Massachusetts, 1968, pp. 33-134. 28. Richards, I. A., Basic English and Its Uses , W. W. Norton and Co., Inc. , 1943, New York. 29. Rosenbaum, P. S., and Blair, F., "Sepcification And Utiliza- tion Of A Transformational Grammar," Project 4641, Task 464102, October, 1966, International Business Machines Corporation, Thomas J. Watson Research Center, P. 0. Box 218, Yorktown Heights, New York. 30. Schultz, J. A., and Bielby, W. T. , "An Algorithm For The Syntactic Analysis In The R2 Information System," Report R-494, October, 1970, CSL, Univ. of Illinois, Urbana, Illinois. 31. Simmons, R. F., "Answering English Question By Computer: A Survey," Communications of the ACM , A. G. Oettinger (Ed.), Vol. b, No. 1, January, 1965, pp. 53-70. 55 32. Simmons, R. P., "Automated Language Processing," Annual Review of Information Science and Technology , C. A. Cuadia (Ed.), Vol. 1, Interscience Publishers, 1966, pp. 137-169- 33. Simmons, R. P., ."Natural Language Question - Answering Systems: 1969," Communications of The ACM , D. G. Bo- brow, (Ed.), Vol. 13, No. 1, January, 1970, pp. 15-30. 34. Simmons, R. P., "Synthex," Conversational Computers , W. D. Orr (Ed.), John Wiley and Sons, Inc., New York, 1968, pp. 121-127. 35. Simmons, R. P., "Syntex: Toward Computer Synthesis of Human Language Behavior," Computer Applications In The Behavioral Sciences , H. Borko (Ed. ) , Prentice-Hall, Inc., Englewood Cliffs, New Jersey, 1962, pp. 361-393- 36. Simmons, R. F., and Bruce, B. C, "Some Relations Between Predicate Calculus And Semantic Net Representations of Discourse," Technical Report No. NL-2, DCS, Univ. of Texas, Austin, Texas, June, 1971. 37- Simmons, R. P., Burger, J. E., and Long, R. E. , "An Approach Toward Answering English Questions From Text," Proceedings - 1966 Fall Joint Computer Conference , Vol. 29, Spartan Books, New York, 1966, pp. 357-363- 38. Simmons, R. P., Burger, J. F., and Schwarcz, R. M. , "A Computational Mode of Verbal Understanding," Proceed - ings of the AFIPS 1968 Fall Joint Computer Conference , Vol. 33, Part I, Thompson Book Co., Washington, D. C, 1968, pp. 441-456. 39- Simmons, R. F., Schwarcz, R. M. , and Burger, J. F., "A Deductive Question - Answerer For Natural Language Inference," Communication of the ACM , Vol. 13, No. 3, D. G. Bobrow (Ed.), March, 1970, pp. 167-183. 40. Shapiro, S. C, and Woodmansee, G. H. , "A Net Structure Based Relational Question Answer: Description and Examples," DCS, Univ. of Wisconsin, Madison, Wisconsin, PP. 325-346. 41. Smith, H. H. , Bernier, D. W. , et al., Area Handbook for North Vietnam , DA Pamphlet No. 550-57, U.S. Government Printing Office, June, 1967, Washington, D.C. 56 42. Thompson, F. B., "Deacon - Type Query Systems," Conversa - tional Computers , W. D. Orr (Ed.)* John Wiley and Sons, Inc., New York, 1968, pp. 128-134. 43. Thompson, P. B., "English For The Computer," Proc e edings - 1966 Fall Joint Computer Conference , Vol. 29, spartan Books, 1966, pp. 349-356. APPENDIX A QAS RELATIONS 57 Relations : Unary (1) Country(x) name of country x is a country (2) Name(x) name of person x is a name (3) Party(x) name of political party x is a party (H) Place(x) geographic location - x is a place place name (5) Time (x) written as year, month, x is a time day, time (24 hour clock, GMT) ex: 1971072919^5 or 19710729xxxx "x" implies not specified) (6) Purpose(x) an object or result aimed x is a purpose at (7) Agent(x) something that produces x is an agent or is capable of producing an effect, i.e., the pur- pose in (6) Binary (8) Mod(x,y) y is an adjective which x is modified by y modifies x (9) Define(x,y) to make distinct in out- x defines y line - active verb (10) Ofl(x,y) used as function word to x belongs to y indicate belonging or possessive relationship - transitive 58 (11) Distinct(x,y) distinguished from others - x is distinct symmetric from y (12) Equivalent (x,y) corresponding or virtually x is equivalent identical especially in to y effect or function - trans- itive - symmetric (13) Extends-to(x,y ) to span an interval of dis- x extends to y tance, space, or time - active verb (14) Component (x,y) a constituent part-trans- x is a component itive of y (15) N-component (x,y ) not a constituent part x is not a component of y (16) Supervise(x,y ) oversee - active verb - x supervises y transitive (17) Control(x,y) ■ to exercise restraining or x controls y directing influence over - to have power over - active verb *-■ transitive (18) Some(x,y) some x are y ■being one, a part, or an unspecified number of some- thing (as a class or group) named or implied - transi- tive, symmetric (when x and y are nouns ) (19) 0f2(x,y) x of y (20) Inl(x,y) x in y (21) Hold(x,y) x holds y •used as a function word to indicate a characteristic or distinctive quality or possession -used as a function word to indicate inclusion ■to have earned or been appointed, promoted, or elected to and now occupy (as an office) - active verb 59 (22) Counterpart (x,y) one remarkably similar x is a counterpart to another - one having of y the same function or char- acteristics as another - symmetric (23) And (x]_,x 2 ) used as a function word to X]_ and X2 show a conjunctive rela- tionship between xi and X2 (24) Or (xijXp) used as a function word to X]_ and X2 show a disjunctive rela- tionship between x^ and x 2 Relational Relations (25) Ofl(x,y) & Ofl(y,z)+Ofl(x,z) (26) Equivalent (x,y) =N-dis tine t(x,y) (27) Mod(x,y)=Ofl(x,y) 60 APPENDIX B ORIGINAL TEXT BEFORE ENCODING INTO QAS FORMAT The formal governmental structure, as defined in the i960 Constitution, is distinct from that of the ruling Communist party, known as the Lao Dong Party, which is not mentioned specifically in the Constitution as an integral component of the governmental system. Nevertheless, the formal machinery of government is supervised and controlled by the Party, par- ticularly when Party leader and government official are the same person. The government is controlled by the Party through an interlocking system of parallel hierarchies which extend down into the lowest territorial units. At the highest level, ranking members of the Party's Central Committee and Political Bureau (Politburo) hold key positions in the central government. Various functional departments or bureaus of the Central Com- mittee in turn control and supervise the operation of their counterparts in the government, usually called ministries and commissions. At the local level the Party's lower committees similarly control the activities of local government machinery. 61 APPENDIX C SUBSENTENCES AND THEIR ENCODED FORM Paragraph 1, Sentence 1 Subsentence 1 The I960 Constitution of NVN defines the formal gov- ernmental structure of NVN. Encoded as : Def ine/NVN, 19 60-P,Unk,Unk/( Of 1 (Mod (constitution, i960), NVN) ,Ofl(Mod(structure,And(form, government ) ) ,NVN) ) Subsentence 2 The formal governmental structure of NVN is distinct from the structure of the ruling Communist party of NVN. Encoded as : N-equivalent (Of 1( Mod (structure ,And( form, government ) ) , NVN) ,Ofl(structure,Ofl(Mod(party,And(rule, communist) ) ,NVN) ) ) Subsentence 3 The ruling Communist Party of NVN is equivalent to the Lao Dong Party of NVN. Encoded as: Equivalent (Of l(Mod(party , And(rule, communist ) ) ,NVN) ,Ofl (Mod(party,Lao Dong), NVN)) Subsentence 4 The Lao Dong Party of NVN is not an integral component of the governmental system of NVN. Encoded as: N-component (Of l(Mod(party ,Lao Dong) ,NVN) ,0f 1 (Mod (system, government )NVN) ) 62 Paragraph 1, Sentence 2 Subsentence 5 The Lao Dong Party of NVN controls the formal machinery of the government of NVN. Encoded as : Control/NVN,1960-P,Unk,Unk/(Ofl(Mod(party ,Lao Dong) ,NVN), Of l(Mod (machine , form) , Of l-( government , NVN) ) ) Subsentence 6 The Lao Dong Party of NVN supervises the formal machinery of the government of NVN.^ Encoded as : Supervise/NVN,1960-P,Unk,Unk/(Ofl(Mod(party ,Lao Dong) , NVN) ,0f 1 (Mod (machine, form) , Of 1( government ,NVN) ) ) Subsentence 7 Some leaders of the Lao Dong Party of NVN are government officials of NVN. Encoded as : Some(Ofl(leaders,Ofl(Mod(party,Lao Dong) , NVN) ) ,Ofl(Mod (of ficial, government ) ,NVN) ) Paragraph 2, Sentence 1 Subsentence 8 The Lao Dong Party of NVN controls the government of NVN through an interlocking system of parallel hierarchies. Encoded as : Control/NVN,1960-P, Of 2 (Mod (system, inter lock) , Mod (hierarchy parallel)) ,Unk/(Of l(Mod(party ,Lao Dong) , NVN) , Of 1( Government , NVN) ) As yet, QAS does not provide for Connective relations on relations . 63 Subseritence 9 The interlocking system of parallel hierarchies extends down into the lowest territorial units. Encoded as : Extend -to/NVN,1960-P, Unk, Unk/ (Of 2 (Mod (system, interlock) , Mod (hierarchy, parallel) ) , Mod (unit , and '(low, territory ) ) ) Paragraph 2, Sentence 2 Subsentence 10 Ranking members of the Central Committee and Politburo of the Lao Dong Party of NVN hold key positions in the central government of NVN. Encoded as: Hold/NVN , 19 60-P , Unk , Unk/ ( Of 1 ( Mod (member , rank ) , Of 1 ( And (Mod (commit tee, central) ,politburo.) , Of 1( Mod (party , Lao Dong) , NVN) ) ) ,Inl(Mod(position,key) , Of 1 (Mod (government , central) , NVN) ) ) Paragraph 2, Sentence 3 Subsentence 11 The functional departments of the Central Committee of the Lao Dong Party of NVN are equivalent to the bureaus of the Cnetral Committee of the Lao Dong Party of NVN. Encoded as : Equivalent (Of 1( Mod (department , function) , Of 1 (Mod (committee , central) ,0f l(Mod(party ,Lao Dong) ,NVN) ) ) ,0f l(bureau,Of l(Mod (committee ,central)0f l(Mod(party ,Lao Dong) ,NVN) ) ) ) Subsentence 12 The bureaus of the Central Committee of the Lao Dong Party of NVN Control the operation of their counterparts in the govern- ment of NVN. Encoded as : Control/NVN, 1960-P, Unk, Unk/ (Of 1 (bureau, Of 1 (Mod (committee, central) ,Ofl(Mod(party, Lao Dong) , NVN) ) ) ,0f l(operation,Inl(Of 1 (counterpart , Of 1( bureau, Of 1( Mod (commit tee, central) , Of 1 (Mod (party , Lao Dong ) , NVN ) ) ) ) , Of 1 ( government , NVN ) ) ) ) 64 Subsentence 13 The bureaus of the Central Committee of the Lao Dong Party of NVN supervise the operation of their counterparts in the government of NVN. Encoded as: Supervi se/NVN , 1960-P , Unk , Unk/ ( Of 1 (bureau , Of 1 (Mod (committee central) , Of 1 (Mod (party , Lao Dong) , NVN) ) ) ,0f l(operation,Inl(Of 1 (counterpart ,0f 1( bureau, Of 1( Mod (commit tee , central) ,0f 1( Mod (party , Lao Dong), NVN)))) , Of 1( government , NVN) )) ) Subsentence 14 The counterparts of the bureaus of the Central Committee of the Lao Dong Party of NVN in the government of NVN are called ministries and commissions . Encoded as : Equivalent (Of l(counterpart ,0f l(bureau,Of l(Mod(committee, central) ,0f 1( Mod (party , Lao Dong) ,NVN) ) ) ) ,Inl( And (ministry, corn- mis si on) , Of 1( government ,NVN) ) ) Paragraph 2, Sentence 4 Subsentence 15 The lower committees of the Lao Dong Party of NVN control the activities of local government machinery. Encoded as : Control/NVN, 1960-P, Unk, Unk/ ( Of 1 (Mod (committee, low), Of 1 (Mod(party ,Lao Dong) ,NVN) ) ,Ofl (activity ,Mod(machine,And(local government ) ) ) ) 65 , APPENDIX D MEMORY REPRESENTATION OP THE TEXT Relation Tag Relation Rl Mod R2 Define R3 Ofl R4 And R5 Component R6 Control R7 Supervise R8 Some R9 0f2 RIO Extend-to Rll Hold R12 Inl R13 Equivalent Dictionary 1. NVN(A) 2. 1960-P(B) 3- constitution^, CI, C2,C3) 4. 1960(D) 5- structured, El, E2,E3,E4,E5) 6. form(F) 7- government(G,Gl,G2,G3,G4) 8. rule(H) 9- communist (I) 10. party(J,Jl,J2,J3,J4,J5,J6,J7,J8,J9,J10) 11. Lao Dong(K) 12. system(L,Ll,L2,L3,L4,L5) 13. machine (M, Ml, M2,M3,M4,M5) 14. leader(N,Nl,N2) 15. official(0,01,02,03) 16. hierarchy(P,Pl) 17. parallel(Q) 18. interlock(R) 19- low(S) 20. territory(T) 21. unit(U,Ul,U2) 22. member(V,Vl,V2,V3) 23. rank(W) 24. committee(X,Xl,X2,X3,X4,X5) 25. central(Y) 66 26. politburo(Z,Zl) 27. position(AA,AAl,AA2,AA3) 28. key(BB) 29. department(CC,CCl,CC2,CC3) 30. function(DD) 31. bureau(EE,EEl,EE2,EE3,EE4) 32. counterpart(FF J FFl,FF2,FF3) 33. operation(GG,GGl,GG2,GG3) 34. ministry(HH,HHl,HH2) 35. commission(II ,111 ,112) 36. activity (JJ,JJ1 ,JJ2) 37. local(KK) Memory Network A(Dic( B(Dic( C(Dic( D(Dic( E(Dic( F(Dic( G(Dic( Cl(Dic C2(Dic El(Dic E2(Dic C3(Dic H(Dic( I(Dic( J(Dic( Jl(Dic J2(Dic E3(Dic E4(Dic E5(Dic K(Dic( J3(Dic j4(Dic J5(Dic J6(Dic L(Dic( Ll(Dic L2(Dic J7(Dic E6(Dic M(Dic( Ml(Dic Gl(Dic M2(Dic l),Sub(Nil) 2),Sub(Nil) 3),Sup(Nil) 4), Sub (Nil) 5),Sub(Nil) 6) ,Sub(Nil) 7) ,Sub(Nil) (3),Sub(C), (3),Sub(Cl) (5),Sub(E), (5),Sub(El) (3),Sub(C2) 8),Sub(Nil) 9) , Sub (Nil) 10) , Sub (Nil (10),Sub(J) (10) s Sub(Jl (5),Sub(E), (5),Sub(E3) (5) ,Sub(E2) 11) ,Sub(Nil (10),Sub(J) (10) ,Sub(J3 (10),Sub(J2 (10) ,Sub(J4 12) ,Sub(Nil (12) ,Sub(L) (12),Sub(Ll (10) ,Sub(j4 (5),Sub(E2) 13),Sub(Nil (13),Sub(M) (7),Sub(G), (13),Sub(Ml Sup (Nil)) Sup(Nil)) Sup(Cl)) Sup(Nil)) Sup(El,E3)) Sup(Nil)) ,Sup(Gl,G3)) Sup(C2),Rl(D)) ,Sup(C3),R3(A)) Sup(E2),Rl(F,G)) Sup(E5,E6),R3(A)) Sup(Nil),R2(E6-(A,B,Unk,Unk))) Sup (Nil)) Sup (Nil)) ,Sup(Jl,J3) Sup(J2),Rl(H,I)) / ,Sup(J5),R3(A)) Sup(E4),R3(J2)) Sup (Nil) ,N-R13(E5)) Sup(Nil),N-R13(E4)) ;Sup(Nil)) Sup(J4),Rl(K)) ,Sup(J6,J7,J8,J9,J10.),R3(A)) ,Sup(Nil),R13(J6)) ,Sup(Nil),R13(J5)) ,Sup(Ll,L3)) Sup(L2) ,R1(G)) ,Sup(Nil),R3(A)) ,Sup(Nil),N-R5(L2)) Sup(Nil),R2-l(C3-(A,B,Unk,Unk))) ,Sup(Ml,M5)) ,Sup(M2),Rl(F)) Sup(G2),R3(A)) Sup(M3,M4) ,R3(G1)) 67 j8(Dic M3(Dic J9(Dic M4(Dic N(Dic( 0(Dic( Nl(Dic 01(Dic 02(Dic N2(Dic 03(Dic P(Dic( Q(Dic( R(Dic( L3(Dic Pl(Dic L4(Dic J10(Di G2(Dic S(Dic( T(Dic( U(Dic( UlCDic L5(Dic U2(Dic V(Dic( W(Dic( X(Dic( Y(Dic( Z(Dic( AA(Dic BB(Dic Vl(Dic Xl(Dic X2(Dic Zl(Dic V2(Dic AAl(Di G3(Dic G4(Dic AA2(Di V3(Dic AA3(Di CC(Dic DD(Dic EE(Dic CCl(Di CC2(Di EEl(Di CC3(Di EE2(Di PF(Dic (1 (1 (1 (1 14 15 (14 (15 16) 17) 18) (12 (16 (12 c(l (7) 19) 20) 21) (21 (12 (21 22) 23) 24) 25) 26) (27 (28 (22 (24 (24 (26 (22 c(27 ,Unk,Unk))) B,Unk,Unk))) Unk,Unk))) ,B,Unk,Unk))) ,Sub(J4),Sup(Nil),R6(M3-(A,B :W,Sub(M2),Sup(Nil),R6-l(j8-A, 0,Sub(J4),Sup(Nil),R7(M4-(A,B, 3) ,Sub(M2),Sup(Nil),R7-l(J9-(A ) ,Sub(Nil) ,Sup(Nl)) jo) ,Sub(Nil),Sup(01) (l4),Sub(N),Sup(N2),R3(J4)) (15),Sub(0),Sup(02) ,R1(G)) (15),Sub(01),Sup(03),R3(A)) ln , Sub (Nl), Sup (Nil) ,R8(03)) , Sub (02), Sup (Nil) ,R8(N2)) Sub(Nil),Sup(Pl)) Sub(Nil),Sup(Nil)) Sub(Nil),Sup(Nil)) Sub(L) ,Sup(L4),Rl(R)) , ,Sub(P),Sup(Nil),Rl(Q)) ),Sub(L3),Sup(L5),R9(PD) 0) ,Sub(j4) , Sup (Nil) ,R6(G2-(A, Sub (Gl), Sup (Nil) ,R6-1(J10-(A Sub(Nil),Sup(Nil)) Sub(Nil),Sup(Nil)) Sub(Nil),Sup(Ul) ) ,Sub(U),Sup(U2),Rl(S,T)) ,Sub(L4),Sup(Nil),R10(U2-(A, ,Sub(Ul) ,Sup(Nil) ,R10-l(L5-( Sub(Nil),Sup(Vl)) Sub(Nil),Sup(Nil)) Sub(Nil),Sup(Xl,X3)) Sub (Nil), Sup (Nil)) Sub(Nil),Sup(Zl)) Sub(Nil),Sup(AAl)) Sub(Nil),Sup(Nil)) Sub(V),Sup(V2),Rl(W)) Sub(X),Sup(X2) ,R1(Y)) Sub (XI), Sup (Nil) ,R3(J4)) Sub(Z) , Sup (Nil) ,R3(J4)) ,Sub(Vl),Sup(V3),R3(X2,Zl)) c(27),Sub(AA),Sup(AA2),Rl(BB)) (7),Sub(G),Sup(G4),Rl(Y)) (7),Sub(G3),Sup(Nil),R3(A)) c(27),Sub(AAl) ,Sup(AA3),R12(G4)) Sub(V2) , Sup (Nil) ,Rll(AA3-(A,B,Unk,Unk) ) ) ,Sub(AA2) , Sup (Nil) ,Rll-l(V3-(A,B,Unk,Unk) ) ) B,L4,Unk))) ,B,L4,Unk))) B,Unk,Unk))) A,B,Unk,Unk))) (22 c(27 (29 (30 (31 c(29 c(29 c(31 c(29 c(31 (32) ~-l(V3- Sub (Nil) ,Sup(CCl)) Sub (Nil), Sup (Nil)) Sub(Nil),Sup(EEl)) ,Sub(CC) ,Sup(CC2) ,R1(DD)) ,Sub(CCl),Sup(CC3) ,R3(X2)) ,Sub(EE) ,Sup(EE2,EE3,EE4) ,R 3(X2)) ) ) 68 GG(Dic(33) PFl(Dic(32 PF2(Dic(32 GGl(Dic(33 EE3(Dic(31 GG2(Dic(33 EE4(Dic(31 GG3(Dic(33 HH(Dic(34) II(Dic(33) HHl(Dic(34 IIl(Dic(35 EP3(Dic(32 HH2(Dic(34 II2(Dic(35 JJ(Dic(36) KK(Dic(37) X3(Dic(24) X4(Dic(24) M5(Dic(13) JJl(Dic(36 X5(Dic(24) JJ2(Dic(36 Sub(Nil),Sup(GGl)) ,Sub(FF) ,Sup(PF2,PP3) ,R3(EE1) ) ,Sub(FFl),Sup(Nil),R12(Gl)) ,Sub (GG) ,Sup(GG2) ,R3(FF2) ) ,Sub(EEl) ,Sup(Nil),R6(GG2-(A,B,Unk,Unk))) ,Sub(GGl) ,Sup(Nil) ,R6-l(EE3-(A,B,Unk,Unk))) ,Sub(EEl) ,Sup(Nil) ,R7(GG4-(A,B,Unk,Unk))) ,Sub(GGl) ,Sup(Nil),R7-l(EE4-(A,B,Unk,Unk))) Sub(Nil) 3 Sup(HHl)) Sub(Nil) ,Sup(IIl)) ,Sub(HH) ,Sup(HH2) ,R12(G1)) , Sub (II), Sup (112) ,R12(G1)) ,Sub(FFl),Sup(Nil),R13(HH2,II2)) ,Sub(HHl),Sup(Nil),R13(PF3)) ,Sub(IIl),Sup(Nil),R13(FF3)) Sub(Nil),Sup(JJl)) Sub(Nil),Sup(Nil)) Sub,(X),Sup(X4),Rl(S)) Sub(X3),Sup(X5),R3(J4)) Sub(M) ,Sup(Nil),Rl(KK,G)) ,Sub(JJ),Sup(JJ2) ,R3(M5)) Sub (X4), Sup (Nil) ,R6(JJ2^(A,B,Unk,Unk) ) ) ,Sub(JJl),Sup(Nil),R6-l(X5-(A,B,Unk,Unk))) 69 APPENDIX E ALGORITHM RESULTS WHEN APPLIED TO DATA OF APPENDIX C Relation Tag Relation Rl Mod R2 Define R3 Ofl R4 And R5 Component R6 Control R7 Supervise R8 Some R9 Of2 RIO Extend-to Rll Hold R12 Inl R13 Equivalent Die tionary 1. NVN(A) 2. 1960~P(B) 3- constitution(C,Cl,C2,C3) 4. 1960(D) 5. structured, El, E2,E3,E4,E5) 6. form(P) 7- government (G,G1,G2,G3,G4) 8. rule(H) 9. communist (I ) 10. party(J,Jl,J2,J3,J4,J5,J6,J7,J8 ,J9,J10) 11. Lao Dong(K) 12. system(L,Ll,L2,L3,L4,L5) 13- machine (M, Ml, M2,M3,M4,M5) 14. leader(N,Nl,N2) 15- official(0,01,02,03) 16. hierarchy (P, PI) 17. parallel(Q) 18. interlock(R) 19- low(S) 20. territory (T) 21. unit(U,Ul,U2) 22. member(V,Vl,V2,V3) 23- rank(W) 24. committee(X,Xl,X2,X3,X4,X5) 25. central(Y) 70 26. politburo(Z,Zl) 27. posltion(AA,AAl,AA2,AA3) 28. key(BB) 29. department(CC,CCl,CC2,CC3) 30. function(DD) 31. bureau(EE,EEl,EE2,EE3,EE4) 32. couhterpart(FF,FFl,FF2,FF3) 33. operation(GG,GGl,GG2,GG3) 34. ministry(HH,HHl,HH2) 35. commissiondl, III, 112) 36. activity(JJ,JJl,JJ2) 37- local(KK) Subr.entence 1 R2/A,B,Unk,Unk/R3( Rl((C),(D)) ,(A)),R3(RK(E), R4((F),(G)) ) ) (A))) *C1 *+(F)(G)+ 1FC2 *E1 *E2 *C3 ' ' Subsentence 2 N-R13(R3(Rl((E-E2,E6), R4((F).(G)) ),(A)),R3((E-E2,E6),R3(RK(J), R4((H),(I)) ) t (A))) *+(F)(G) + ~ * (H)(1)* *EI . *J1 " *E2 »J2 «E3 *E5 Subsentence 3 R13(R3(RK(J-J2), R4((H) ? (I)) ),(A)),R3(R1((J-J2),(K)),(A))) *+(H)(I)+ *J3 *J1 *J4 *J2 *J5 Subsentence 4 N-R5(R3( R1((J-J6),(K)) ,(A)),R3( R1((L),(G)) ,(A))) *J3 »L1 *Jk *L2 *j7~ 71 C3 on PC Ph'I* on CM S * ^ IS- I hj in CD o £ PQ 00 ►"3 hj * CD O C cu -p £ CD 03 X) co I o PC s I s H PC co PC C5 I C5 CM S * K m o * C\J o * « 00 l"3 I 1-3 oc m C £> c CQ 00 •-3 * « h} h} h> CD O fl CD -P c CD co -O CO K OO K on « 00 K m hi * 1-3 * 00 I 00 b^ ON h> I hi PC m K \ C G? Ph H Ph K * K CD K O ^_^ C ON CD K -P rs c CQ CD #v CO < C\J £2 \ S fl VD * co K «H CO co rH K a* Ph 1 Ph rH Ph * K « c^ PC v « \ X c CFt D CD 4*i O C a £5 CD «s P 03 G *s CD < CO \ rH XJ h) 3 r-i * co PC LA 72 73 CD I a ^ « s I K s * •"3 on * « •-3 I 1-3 K on K on 1-3 CO CM X I X v_-- m H X K * v_^ on K * — f \ in ^ rH C D a) •s o ^ c C CD E> •P #* c PQ (D *S CO < ja \ 3 MD CO K X in X 74 APPENDIX P QUESTIONS WITH EXPLICIT ANSWERS What are some government officials of ^N? t* i -nqoTnefOfl (Mod (official, government ), NVN), what; Level one response: "Government official of NVN some leader of Lao Dong party of NVN." How is the government of NVN controlled? ^-^^•^SS^^^ 1 ^™ S^ control government oTNvNTy m e ear S o e f-an inLr^/sysLm of parallel hierarchy." The formal governmental structure of NVN is distinct from what? (?!l,l)Distinct (Of l (Mod (structure, And (form, government)), NVN) , Level one response: "Form government structure of NVN distinct structure of rule communist party of NVN. wbnt defines the formal governmental structure of NVN? (, 1 ilDe?ine(what,Ofl(Mod(structure,And(form, government)) NVN)) Level one response! "I960 constitution define form government structure of NVN." What does the I960 constitution define? ( «? i i ^DefinefModfconstitution, I960) , what ) i^iji^eixne^uu^ m- Q £n institution define form government Level one response: "19o0 constiLu^J-ori ueixnc j. & structure of NVN." -p +-v,^ to^ nnnff Parfv of NVN government official Are some leaders of the Lao Dong rari:y 01 iNVi \&~ ' . nfi (Mod (?,l,l)Some(Ofl(leader,Ofl(Mod(party,Lao Dong) ,NVN) ) ,0f l(Mod (of ficial, government) ,NVN) ) Level one response: "Yes" 75 APPENDIX G QUESTIONS REQUIRING DEDUCTION TO ANSWER Is the government of NVN controlled by the Lao Dong Party? (?,l,l)Control(Mod(party ,Lao Dong) ,Ofl (government , NVN) ) Level one response: "Yes" What does the Lao Dong Party control? (?, 1,2) Control (Mod (party, Lao Dong) ,what) Level one response one: "Lao Dong party of NVN control govern- ment of NVN." Level one response two: "Lao Dong party of NVN control form machinery of government of NVN." Is the Lao Dong Party a Communist party? (? ,1,1) Equivalent (Mod (party ,Lao Dong) ,Mod ( party , communist ) ) Level one response: "Yes" Are some of NVN's government officials Communist party leaders? ( ? , 1 , 1 ) Some ( Of 1 (Mod ( of f i cial , government ) , NVN ) , Mod ( leader , And (communist , party ) ) ) Level one response: "Yes" Is the formal governmental structure of NVN equivalent to the structure of the Communist party? (?, 1,1) Equivalent (Of 1( Mod (structure, And (form, government) ) ,NVN) , Of 1 (structure ,Mod( party , communist ) ) ) Level one response: "No" When was the governmental structure of NVN defined? (?-P12,l,l)Define(when,0fl(Mod(structure, government) ,NVN) ) Level one response: "i960 constitution define form government structure of NVN in 196O-P." What does the Lao Dong Party control? (?,l,l)Control(Mod(party ,Lao Dong), what) Level one response: "Lao Dong Party of NVN control form machinery of government of NVN." ' LIOGRAPHIC DATA \ ET " Itle and Subtitle 1. Report No. UIUCDCS-R-72-500 3. Recipient's Accession No. QAS Question-Answering System 5. Report Date Feb. 1972 6. uthor(s) Marion Arthur Pumfrey 8. Performing Organization Rept. No. erforming Organization Name and Address Department of Computer Science University of Illinois at Urbana- Champaign Urbana, Illinois 6l801 10. Projcc. /Task/Work Unit No. 11. Contract /Grant No. 2>ponsoring Organization Name and Address Department of Computer Science University of Illinois at Urbana-Champaign Urbana, Illinois 6l801 13. Type of Report & Period Covered M.S. Thesis 14. 5 supplementary Notes 6 Abstracts This thesis deals with artificial intelligence - specifically question-answering systems. A semantic net based question-answering system, QAS is developed. QAS inputs natural English sentences which have been preprocessed into simple kernel sentences and then encoded into a set of relations. QAS adds information to the memory network in a consistent manner when the information is not already repre- sented, or answers questions based on the information represented in the memory network. QAS utilizes two question-answering modes. The first mode processes questions with explicitly represented answers. The second mode processes questions which require the use of deductive heuristics. 7. ley Words and Document Analysis. 17a. Descriptors Quest ion- Answering Sentence Linguistic Encoding Network 'l Identif iers/Open-Ended Terms Natural Language Data Analysis /cCOSATI Field/Group 3. vail ability Statement Release unlimited 19. Security Class (This Report) UNCLASSIFIED 20. Security Class (This Page UNCLASSIFIED 21. No. of Pages 8l 22. Price J * NTIS-35 (10-70) USCOMM-DC 40329-P7I <\ ^ A* mi mw& EnHUHUB 9bM9 liMffiSIIS BBBHBHHr hb mm H ■ H MM— «« raiM M ■ SUSJ :tt>w HI 1 is H H H BtBBItWBHB! ; ■ H I uKft Mw MMm m ■ ■ m Hi HUH