Inference In Text Understanding

The problem of deciding what was implied by a written text, of “reading between the lines’ ’ is the problem of inference. To extract proper inferences from a text requires a great deal of general knowledge on the part of the reader. Past approaches have often postulated an algorithm tuned to process a particular kind of knowledge structure (such as a script, or a plan). An alternative, unified approach is proposed. The algorithm recognizes six very general classes of inference, classes that are not dependent on individual knowledge structures, but instead rely on patterns of connectivity between concepts. The complexity has been effectively shifted from the algorithm to the knowledge base; new kinds of knowledge structures can be added without modifying the algorithm. The reader of a text is faced with a formidable task: recognizing the individual words of the text, deciding how they are structured into sentences, determining the explicit meaning of each sentence, and also making inferences about the likely implicit meaning of each sentence, and the implicit connections between sentences. An inference is defined to be any assertion which the reader comes to believe to be true as a result of reading the text, but which was not previously believed by the reader, and was not stated explicitly in the text. Note that inferences need not follow logically or necessarily from the text; the reader can jump to conclusions that seem likely but are not 100% certain. In the past, there have been a variety of programs that handled inferences at the sentential and inter-sentential level. However, there has been a tendency to create new algorithms every time a new knowledge structure is proposed. For example, from the Yale school we see one program, MARGIE, [Schank et al., 19731 that handled single-sentence inferences. Another program, SAM [Cullingford, 19781 was introduced to process stories referring to scripts, and yet another, PAM, [Wilensky, 19781 dealt with plan/goal interactions. But in going from one program to the next a new algorithm always replaced the old one; it was not possible to incorporate previous results except by re-implementing them in the new formalism. Even individual researchers have been prone to introduce a series of distinct systems. Thus, we see Charniak going from demon-based [Charniak, 19721 to frame-based This work was supported ia past by National Science Foundation grant IST-8208602 and by Defense Advanced Research Projects Agency contrad NWO39-84-C-0089. [Charniak, 19781 to marker-passer based [Charniak, 19863 systems. Granger has gone from a plan/goal based system [Granger, 19801 to a spreading activation model [Granger, Eiselt and Holbrook, 19841. Gne could say that the researchers gained experience, but the programs did not. Both these researchers ended up with systems that are similar to the one outlined here. I have implemented an inferencing algorithm in a program called FAUSTUS (Pact Activated Unified STory Understanding System). A preliminary version of this system was described in [Norvig, 19831, and a complete account is given in [Norvig, 19861. The program is designed to handle a variety of texts, and to handle new subject matter by adding new knowledge rather than by changing the algorithm or adding new inference rules. Thus, the algorithm must work at a very general level. The algorithm makes use of six inference classes which are described in terms of the primitives of this language. The algorithm itself can be broken into steps as follows: step 0: Clonstruct a kwwk ase defining general concepts like actions, locations, and physical objects, as well as specific concepts like bicycles and tax deductions. The same knowledge base is applied to all texts, whereas steps l-5 apply to an individual text. Step I: Construct a semantic representation of the next piece of the input text. Various conceptual analyzers (parsers) have been used for this, but the process will not be addressed in this paper. Occasionally the resulting representation is vague, and FAUSTUS resolves some ambiguities in the input using two kinds of non-marker-passing inferences. Step 2: Pass markers from each concept in the semantic representation of the input text to adjacent nodes, following along links in the semantic net. IMarkers start out with a given amount of marker energy, and are spread recursively through the network, spawning new markers with less energy, and stopping when the energy value hits zero. (Each of the primitive link types in KODIAK has an energy cost associated with it.) Each marker points back to the marker that spawned it, so we can always trace the marker path from a given marker back to the original concept that initiated marker passing. Step 3: Suggest Inferences based on marker collisions. When two or more markers are passed to the same concept, a marker collision is said to have occurred. Por each collision, From: AAAI-87 Proceedings. Copyright ©1987, AAAI (www.aaai.org). All rights reserved.