<?xml version="1.0"?><!DOCTYPE article SYSTEM "/project/take/software/searchbench_offline_processing/paperxml_generator/aclextractor/src/python/../resource/dtd/paperxml.dtd"><article><header><firstpageheader><page local="1" global="468"/><title>Emergent Parsing and Generation with Generalized Chart</title><author surname="Koiti" givenname="HASIDA"><org  name="Electrotechnical Laboratory" country="Japan" city="Tsukuba"/></author></firstpageheader><frontmatter><p>Emergent Parsing and Generation with Generalized Chart</p><p><b>HASIDA Kôiti</b></p><p>Electrotechnical Laboratory 1-1-4 Umezono, Tiikuba, Ibaraki 305, Japan <i>E-mail: </i>hnsida@etl.go.jp</p></frontmatter><abstract>A new, flexible inference method for Horn logic pro­gram is proposed. It is also a drastic generalization of chart parsing, partial instantiation of clauses in a pro­gram roughly corresponding to arcs in a chart. Chart-like parsing and semantic-head-driven generation emerge from this method. With a parsimonious instantiation scheme for ambiguity packing, the parsing complexity reduces to that of standard chart-based algorithms. </abstract></header><body><section number="1" title="Introduction"><p>Language use involves very complex interactions among very diverse types of information, not only syntactic one but also semantic, pragmatic, and so forth. It is hence inappropriate to assume any specific algorithm for syntactic parsing or generation, which prescribes particular processing directions (such as left-to-right, top-down and bottom-up) and is biased for specific types of domain knowledge (such as a context-free-grammar). To account for the whole language use, we will have to put many such algorithms together, ending up with an intractably complicated model.</p><p>A better strategy is to postulate no specific algo­rithms for parsing or generation or any particular task, but instead a single uniform computational method from which emerge various types of computation in­cluding parsing and generation depending upon vari­ous computational contexts.</p><p>For example, Earlcy deduction (Pereira &amp; Warren, 1983) is a general procedure for dealing with Horn clauses which gives rise to Earley-like parsing when given a context-free grammar and a word string as the input. Shieber (1988) has generalized this method so as to adapt to sentence generation as well. Those methods fail to give rise to efficient computation for a wide variety of contexts, however, because they pre­scribe processing directions such as left-to-right for parsing and bottom-up for generation. They also lack a general way of efficient ambiguity packing unlimited to context-free grammars. Hasida (1994a) proposes a more general inference method for clausal form logic programs which accounts for efficient parsing and gen­eration as emergent phenomena. This method pre­scribes no fixed processing directions, and the way it packs ambiguity is not specific to context-free gram­mars. However, it is rather complicated and has greater computational complexity than standard algorithms do.</p><p>In this paper we propose another inference method for Horn logic programs based on Hasida (1994a), and show that efficient parsing and generation emerge from it. Like that of Hasida (1994a), this method is to­tally constraint-based in the sense that it presupposes no fixed directions of information flow, but it is more efficient owing to a parsimonious method of instanti­ation. In Section 2 wo define this inference method, which is a generalization of chart parsing, and may be also thought of as a connection method or a sort of program transformation. Section 3 illustrates how effi­cient parsing and generation emerge from this method without any procedural stipulation specific to the task and the domain knowledge (syntactic constraints). Sec­tion 4 introduces a parsimonious instantiation method for ambiguity packing. We will show that owing to this method the efficiency reaches that of the standard al­gorithms with regard to context-free parsing. Section 5 concludes the paper by touching upon further research directions.</p></section><section number="2" title="Partial Instantiation"><p>A constraint is represented in terms of a Horn clause program such as below.</p><p>(a) -p(A,B) -A=a(C).</p><p>(b) p(X,Y) -X=a(Y).</p><p>(c) p(U,W)-p(U,V)-p(V,W).</p><p>Names beginning with capital letters represent vari­ables, and the other names predicates and functors. The atomic' formulae following the minus sign are neg­ative (body) literals, and the others are positive (head) literals. A clause without a positive literal is called a top clause, whose negation represents a goal (top-level hypothesis), which corresponds to a query in Pro­log. For instance, top clause (a) in the above program is regarded as goal <b><i>3A, B,C{p(A, </i></b><b><i>13)</i></b><b><i> </i></b>A <b><i>A</i></b><b><i> </i></b>= a(C)}. In general, there may be several top clauses. The pur­pose of computation is to tell whether any goal is sat-isfiablc, and if so obtain an answer substitution for the terms (variables) in a satisfiable goal. We consider the minimal Herbrand models as usual. So the set of an­swer substitutions for A in the above program is (a(B), a(a(B)),a(a(a(B))),...}.</p><p>A graphical representation of this program is shown in Figure 1. Here each clause is the set of the literals enclosed in a dim closed curve. A link connecting ar­guments in a clause is the term (variable) filling in those arguments.<page local="2" global="469"/> (It is a hyperlink when there arc more than two arguments.) A transclausal link repre­sents the unifiability between two corresponding argu­ments of two unifiable literals. (Neglect the arrows for a while.)</p><figure caption="Figure 1: A graphical representation of a program."></figure><p>A hypothesis is a conjunction of atomic formulas and bindings. The premise of a clause (i.e., the con­junction of the atomic formulas and bindings which appear as negative literals) is a hypothesis. An ex­pansion for a hypothesis is a way of combining (in­stances of) clauses by resolutions so as to translate the hypothesis to another hypothesis involving bindings only. We will refer to an expansion by the sequence of clauses in the order of leftmost application of res­olution using their instances.<footnote anchor="1"/> In the above program, for example, expansion (c, b, b) translates the top-level hypothesis s(A,B) A A=a(C) to a hypothesis A=a(C) A C=a(B). An expansion of a clause is an expansion of its premise. We will simply say 'an expansion' to mean an expansion of the top-level hypothesis. A program represents a set of expansions, and the computation as discussed later is to transform it so as to ligure out cor­rect hypotheses while discarding the wrong expansions (those entailing wrong hypotheses).</p><p>We say that there is a dependency between two terms when those terms are unified in some expansion, and the sequence of terms (including them) mediating this unification is called the dependency path of this dependency. In Figure 1, for instance, the dependency between A and X is mediated by dependency path A X, A-U'X, A'U-U-X, and so on. There is a dependency be­tween C and B, among others, because; of the unifia­bility of the two -«=a(«)s, though this unifiability is not explicitly shown in Figure 1. We say a dependency between two terms is consistent when they are not bound by inconsistent bindings. All the dependencies in Figure 1 are consistent.</p><p>A solution of the program is an expansion in which every dependency is consistent. So the computation wo propose in this paper is to transform the given pro­gram in such a way that every dependency be consis­tent. To figure out dependencies, we use a symbolic operation called subsumption, and delete the parts of the program which contributes to wrong expansions only. For example, suppose there is an inconsistent dependency between terms <b><i>a </i></b>and <b><i>ß. </i></b>We create an instance; <b><i>ß'</i></b><b><i> </i></b>of <b><i>ß</i></b><b><i> </i></b>by subsumption operations to be dis­cussed shortly, so that every expansion containing an instance of <b><i>ß'</i></b><b><i> </i></b>contains an instance of a dependency path between <b><i>a </i></b>and <b><i>ß. </i></b>We can then delete the clause containing <b><i>ß'</i></b><b><i> </i></b>and probably some more parts of the program without affecting the declarative semantics of the program. Below we will define a computational procedure in such a way that the set of the possible expansions eventually represent the set of all the solu­tions.</p><footnote label="1">Hero we mention the order among the literals in a clause just for explanatory eonvenience. This order is not significant in the computation discussed later.</footnote><p>Subsumption operation is to create subsumption relationship. We regard each part (clause, atomic formula, term, etc.) of a program as the set of its instances, and say that a part £ of the program sub­sumes another part <i>ij </i>to mean that we <i>explicitly know </i>that £ <i>D ij. </i>We consider that a link is subsumed by <i>S </i>if and only if one of the terms it links is subsumed by <i>S. </i>We say term <i>S </i>is an origin of <i>ij </i>when <i>ij </i>is subsumed by <i>S. </i>In this paper we consider that every origin is a bound term (the term filling in the first argument of a binding). Let us say that two clauses (or two liter­als) are equivalent when they are of the same form and for each pair of corresponding terms the two terms have the same set of origins.</p><p>Subsumption relation restricts the possibility of ex­pansions so that if term <i>ij</i><i> </i>is subsumed by another term Ä, then every expansion containing an instance of /; must also contain an instance of <i>S. </i>Subsumption relation is useful to encode structure sharing among expansions. In subsumpfion-based approaches, a term may subsume several non-umfiable terms and thus the first term is shared among the latters. However, that is impossible in unification-based approaches, where different expansions cannot share the same instance of a term or a clause.</p><p>A partially instantiated clause is a clause; some of whose terms is subsumed by another term in possi­bly another clause. For instance, (1) a(Ä7.Z) -b(ÄT.ÄJ) -c(Ä7,Z).</p><p>is a partial instantiation of the following clause:</p><p>(2) a(X.Z) -b(X,Y) -c(Y,Z).</p><p>A represents a term subsumed by term A.<footnote anchor="2"/> Hereafter wo say just 'clause' to refer to both uninstantiated clauses and partially instantiated clauses.</p><p>A program consisting of such clauses is a gener­alization of a chart (Kay, 1980). A chart is a graph whose nodes denote positions between words in a sen­tence and whose arcs are regarded as context-free rules each instantiated partially with respect to at most two such positions. For instance, an active arc from node <b><i>i </i></b>to node <b><i>j </i></b>labelled with <b><i>[A —» • B </i></b>• C] is an instance of rule <b><i>A —&gt; BC </i></b>with both sides of <b><i>B </i></b>instantiated by positions <b><i>i </i></b>and <b><i>j. </i></b>This arc approximately corresponds to (l).'<footnote anchor="1"/></p><p><b>^This notation is problematic because it is unclear whether two occurrences of A in a clause denote the- same term. In this paper they always do.</b></p><footnote label="3">However, an arc in a chart does not precisely correspond to a partially instantiated clause derived from a program encoding</footnote><page local="3" global="470"/><p>A subsumption operation is to extend subsump­tion relation by possibly creating a partially instanti­ated clause. A subsumption operation is character­ized by the origin, the source, and the target. The origin (let it be <b><i>S) </i></b>is a bound term. The source <b><i>(a) </i></b>and the target (<b>t</b>) are arguments, <b><i>a </i></b>should already be subsumed by the origin, but <b>t </b>should not be so. They should be connected through a transclausal link A. Let the literal containing <b><i>a</i></b><b><i> </i></b>be <b><i>p.</i></b><b><i> </i></b>Also let the literal containing r be <b>7r, </b>and the clause containing them be &lt;]&gt;. There are two cases for subsumption, and in both cases <b><i>a </i></b>comes to be linked through A with an argument which is an instance of <b><i>r</i></b><b><i> </i></b>subsumed by <b><i>6.</i></b></p><p>In the first case of subsumption operation, which » we call unfolding, a partial instantiation 'I&gt;' of * is created. They arc equivalent except that the instance <b>t</b>' of <b>t </b>in $' is subsumed by &lt;5. After the unfolding, <b><i>n </i></b>is linked through A to the instance of <b><i>r </i></b>in &lt;!&gt;' instead of the original <b>t</b>, and accordingly <b><i>p </i></b>is linked to the instance of ir in &lt;!&gt;'. Let <b>t</b>" be <b>t </b>after the unfolding. Then <b>t</b>' U <b>t" = t, t</b>' D <b>t" = </b><b>0, </b>and <b><i>r'</i></b><b><i> </i></b>= r <b>n </b>rr hold. This implies <b><i>r'</i></b><b><i> </i></b><b>Ç </b><b><i>S</i></b><b><i> </i></b>and <b><i>r"</i></b><b><i> </i></b><b>n </b><b><i>a</i></b><b><i> </i></b><b><i>—</i></b><b><i> </i></b><b>0. </b>So <b><i>r"</i></b><b><i> </i></b>and <b><i>a</i></b><b><i> </i></b>are not unifiable.</p><p>For instance, the two subsumption operations indi­cated by the two arrows in Figure 1 are unfoldings. In either case, the origin and the source are both A. The target in the left is X and that in the right is U. We obtain the program in Figure 2 by these operations, where partial instantiation (bl) and (el) of (b) and (c) have been created, respectively.</p><figure caption="Figure 2: After subsumptions to X and U by A."></figure><p>In Figure 1, the subsumption operation through the (invisible) link connecting C and Y is not exe­cutable now, because the unification represented by this link presupposes the unification of A and X through the dependency paths A-X, A'U-X, A-U U X, and so on. That is, it is only when C subsumes an instance (let it be Y') of Y that subsumption from C to Y' is possible. (This subsumption is an unfolding without any copy,</p><p><b>a context-free grammar in a standard way. See Section &lt;1 for further discussion.</b></p><p>because then C automatically subsumes Y'.) Same for the subsumption in the opposite direction.</p><p>The second case of subsumption operation is called folding. It takes place when there; is already a literal <b><i>it<footnote anchor="1"/></i></b><b><i> </i></b>equivalent to <b><i>if </i></b>except that its argument r' cor­responding to <b>t </b>is subsumed by <b><i>6. </i></b>In this case, no new instance of clause is created, but instead link A is switched so that it links <b><i>a </i></b>with r' and accordingly <b><i>p </i></b>is linked with <b><i>n'.</i></b><b><i> </i></b>Let <b>t</b>" be <b>t </b>after the unfolding. Then r fi <b>t</b>' = I both before and after the folding, and <b><i>a </i></b><b>n </b><b>t </b>is subtracted from <b><i>r </i></b>and added to r' by the folding. Folding is triggered when there exists literal ir' as de­scribed above, and unfolding is executed otherwise. If there existed several such w's, folding takes place, cre­ating as many instances of A and connecting to those; tt<b>'s.</b></p><p>The two subsumption operations indicated in Fig­ure 2 are foldings. Actually, in the left, the p(«,») in (bl) and that in (b) are equivalent except that the first argument of the former is subsumed by A. Se) the link with the; arrow and the parallel accompanying link are switched up to p(«,«) in (bl). Similarly for the right subsuniption. Shown in Figure 3 is the result.</p><figure caption="Figure 3: After foldings."></figure><p>Ne&gt;te: that the; original program encodes a problem of partial parsing of a string beginning with "a" under the context-free grammar consisting e)f the following rules.</p><doubt alpha="55.6" length="9" tooSmall="False" monospace="0.0">P-*aP-&gt;PP</doubt><p>The; result in Figure 3 encodes the infinitely many pe&gt;s-sible: parses of this incomplete sentence. Note also that here; the subsumption from C to the instance; of Y in (bl) would be possible if C were bound. The; next sectiem contains relevant examples.</p><p>When a link is subsumed by two terms bound by two inconsistent bindings (such as «=a and «=b), thon that link is deleted, surrounding clauses possibly be;-ing deleted if some of their atomic formulas are linked with no atomic formula any more.</p><p>For the sake of simplicity, we mainly consider input-bound programs in this paper. We say a program is input-bound when every dependency path between bound terms connects a term in a top clause and one in a non-top clause. The program in Figure 1 and the ones for parsing and generation in the; following sec­tion are all input-bound programs. For input-bound programs, we have only to consider subsumptions by terms in top clauses:<page local="4" global="471"/> input-driven computation. Also, in input-driven computation for input-bound programs we do not have to worry about duplications of origins by subsumptions.</p><p>Both subsumption and deletion preserve; the declar­ative semantics of the program (the set of the solu­tions), though we skip a detailed proof due to the space limitation. So when they are not applicable any more, every expansion is a solution and vice versa. For input-bound programs, the input-driven computation always terminates within time polynomial as to the size of the program. This is because there are at most ?im par­tially instantiated clauses derived from a clause with m terms, where <b><i>n </i></b>is the size of the input (the number of bound terms in the top clause(s)), and accordingly there are polynomially many transclausal links. Ob­viously, partially instantiated clauses and new tran­sclausal links are each created in constant time. It is also clear that each folding terminates in polynomial time.</p></section><section number="3" title="Parsing and Generation"><p>Here we show that chart-like parsing and semantic-head-driven generation emerge from the above compu­tational method. We discuss examples of parsing and generation both on the basis of the following grammar.</p><doubt alpha="55.2" length="29" tooSmall="False" monospace="0.0">(3) s(Sem,X,Z)-np(SbjSem,X,Y)</doubt><p>-vp(Sem,SbjSem,Y,Z).</p><doubt alpha="61.9" length="21" tooSmall="False" monospace="0.0">(4)vp(Sem,SbjSem,X,Z)</doubt><p>-v(Sem,SbjSem,ObjSem,X,Y) -np(ObjSem,Y,Z).</p><p>(5) np(Sem,X,Y) -Sem=tom -X="Tom"(Y). (G) np(Sem,X,Y) -Sem=mary -X="Mary"(Y).</p><doubt alpha="57.1" length="21" tooSmall="False" monospace="0.0">(7)v(Sem,Agt,Pat,X,Y)</doubt><p>-Sem=love(Agt,Pat) -X=" loves" (Y).</p><p>Since we have already mentioned ambiguity packing in the previous section, below we do not explicitly deal with ambiguity but instead discuss just one sentence structure in both parsing and generation.</p><p>Let us first consider parsing of sentence 'Tom loves Mary'. The problem is encoded by the program in Figure 4. The input-driven computation proceeds as shown by the arrows, which represent subsumption op­erations taking place in the ordering indicated by the labelling numbers. A thick dependency path is pro­cessed by successive subsumptions with the same ori­gin. The only subsumption operations executable in the initial situation is the one numbered I and after that the one numbered 2, along the thick path between Ar, and X in (5). As the result of these unfoldings, we obtain the following clauses.</p><doubt alpha="50.0" length="32" tooSmall="False" monospace="0.0">(8)s(Sem,Ä0',Z)-np(SbjSem,A0',Y)</doubt><p>(9) np(Sem,A0,A1) -Sem=tom -Au = "Tom"(Ai).</p><p>Of course other partially instantiated clauses may be created here; from definition clauses of s e&gt;tlu;r than (3) and those of np other than (5), but we omit them here and concentrate on just one solution.</p><p>Now the copy of link with the arrow numbered 3 connected to (9) can mediate subsumption operations. So the subsumption operation indicated that arrow is triggered, though that does not duplicate (9) because Ai already subsumes the target. The result is already reflected in (9). The subsequent subsumption oper­ations numbered 4, 5, and C will yield the following clauses.</p><p>(1.0) s(Sem,Ä7,Z) -np(SbjSernÄ,,ÄT) -vp(Sem,SbjSem,Ai ,Z).</p><doubt alpha="50.0" length="26" tooSmall="False" monospace="0.0">(11) vp(Sem,SbjSem,Ä7,Z) _</doubt><p>-v(Sem,SbjSem,ObjSem,Ai,Y) -np(ObjSem,Y,Z).</p><doubt alpha="61.4" length="44" tooSmall="False" monospace="0.0">(12) v(Sem,Agt,Pat,ÄT,Ä7)_jSem=love(Agt,Pat)</doubt><p>-Ä7—' loves" (Ä7).</p><p>Now the subsumption operations by <b>Aj </b>are commenced, due te&gt; the; creation of (12). Accordingly, the; folle&gt;wing clauses are created, and the parsing is finished.</p><doubt alpha="53.1" length="32" tooSmall="False" monospace="0.0">(13) s(Sem,ÄÖ'.Ä7)-np(SbjSem^ÄT)</doubt><p>-vp(Sem,SbjSem,Ai ,A3).</p><doubt alpha="54.2" length="24" tooSmall="False" monospace="0.0">(14)vp(Sem,SbjSem,Ä7,A3)</doubt><p>-v(Sem,SbjSem,ObjSem<b>,Ai </b><b>,A2) </b>-np(ObjSem,Ä7,Ä7).</p><p>(15) np(Sem<b>,A2</b>,A.i) -Sem=mary -A2="Mary"(A3).</p><p>From the; earlier discussion, in the case e)f context-free parsing the; number of clauses created there; is <b><i>0(nM), </i></b>where <b><i>n </i></b>is the number e&gt;f the input wen-els and <b><i>M </i></b>the maximum number of the occurrences e&gt;f non-terminal symbols in a context-free rule. This is larger than the; space complexity e&gt;f the; standard pars­ing algorithms, but later we; will show how to improve the efficiency so as to be equivalent to the; standard algorithms.</p><p>Ne) particular order among the subsumption oper­ations is prescribed in the above computation, and so it is not ' inherently limited to top-down or bottom-up. Note also that the lefl-to-right processing order among the input words is derived from the definition strong link, rather than stipulated as in Earley deduc­tion, among others. We; can account for island-driven parsing as well, by allowing links between bindings te) trigger subsumptions more earlier.</p><p>Let us next take a look at sentence generation. Consider the; program shown in Figure; 5. Here the input is seiuautic structure love(tom,mary). Again the; computational process is indicated by the; numbered arrows. (&gt;' take's place after (3, but the order among 0, 7, and 6' is arbitrary as long as G should be; before 7. So the only possible subsumption operation in the beginning is the ones by Love, which go through the thick curve connecting Love and the X in (4). This creates the following clause, among others.</p><doubt alpha="64.0" length="25" tooSmall="False" monospace="0.0">(IG) v(Love,Tom,Mary,X,Y)</doubt><p>~Love=love(Tom,Mary) -X=" loves"(Y).</p><page local="5" global="472"/><doubt alpha="66.7" length="18" tooSmall="False" monospace="0.0">Figur«; 4: Parsing</doubt><p>Figure 5: Generation<page local="6" global="473"/></p><p>Now subsumption operations can go through the copies of the other two thick curves. So we are creating the following clauses, among others.</p><p>(17) s(L&lt;ïvï,X,Z) -np(îo~m',X,Y) -vp(ï^,T^m',Y,Z).</p><doubt alpha="59.5" length="42" tooSmall="False" monospace="0.0">(18)vp(Love,Töm,X,Z) -v(Love,Tom,Mary,X,Y)</doubt><p><b>-npCMaTy</b>.Y.Z).</p><p>(19) np(Töm,X,Y) -Töm=torn -X="Tom"(Y).</p><p>(20) np(Märy,X,Y) -Märy==mary -X=" Mary"(Y).</p><p>Note that this generation process amounts to a gen­eralization of semantic-head-driven generation (Shieber, van Noord, &amp; Moore, 1989). The order among the retrievals of semantic heads is the order of subsump­tion operations by different terms in the input seman­tic structure, just as with the processing order among words in the case of parsing.'<footnote anchor="1"/> Also as in the case of parsing, the computational complexity of such a gen­eration is polynomial with respect to the size of the input semantic structure, provided that the program is input-bound and the computation is input-driven. Although the above example deals with only a single sentence structure, in general ciuses ambiguity packing naturally takes place just as with parsing of ambiguous sentences.</p><p>Under the restriction that the program be input-bound, the grammar cannot employ feature structures prevalent in the current linguistic theories, and also must be semantically monotonie (Shieber et al., "1989)JThe proposed method can be generalized so as to re­move this restriction, though the details do not lit in the allowed space. This generalization makes it pos­sible to deal with feature structures and semantically non-monotonic grammars. Of course the computation is not any more generally guaranteed to terminate (be­cause Horn programs can encode Turing machines), but our method still has a better termination property than more simplistic ones such as Prolog interpreter or Earley deduction. For instance, endless expansion of left recursion or SUBCAT list, which would happen in simple top-down computations, is avoided owing to folding.</p></section><section number="4" title="Incremental Copy"><p>The parsing process discussed above is computation­ally more complex than chart parsing. Here we im­prove our method by introducing a more efficient scheme for ambiguity packing and thus reduce the parsing complexity to that of chart parsing, which is <b><i>0(n<footnote anchor="2"/>) </i></b>for space and 0(n<footnote anchor="3"/>) for time.</p><p>The present inefficiency is due to excessive multi­plication of clauses: much more partially instantiated clauses are created than arcs in a chart. So let us suppose that a subsumption operation does not dupli­cate a whole clause but only some part of it, so that a clause is copied incrementally, as shown in Figure (i. We assume that a subsumption to an argument of a</p><p><b>"JSo the semantic-lieael-etriven génération parallels better with left-to-right parsing than with syntactic-heael-driven parsing.</b></p><p><b>°The semantic monotonicity is practically same as the inpvit-boundness with regard to semantic structures.</b></p><p>literal copies the term filling in that argument, the lit­eral, and some other literals which mention that term, unless there have already been the terms and literals to be thus created. Subscript <b><i>i </i></b>of a literal indicates that it is created by the i-th subsumption operation.</p><p>We must ensure that this partial copying be se­mantically equivalent to the copying of whole clauses. That is a trivial business when there are just one or two literals in the original clause. The case where there are more than three literals reduces to the case where there are exactly three literals, by grouping several literals connected directly (through terms) and treat them as if they were one literal. So below let its consider the case where there are three; literals in a clause.</p><p>A non-trivial check must be done in such a case; as in the lower right of Figure C. Here you must copy -r<b>(«,«)2 </b>and -q(.,.)j but not -q(»,«), because -r<b>(«,»)2 </b>is compatible with -q(»,«)i but not with -q(.,.). We say that a set of literals are compatible when there is an instance of the clause which involves an instance of each of those literals. Also, two literals are said to be heterogeneous when they have different originals in the original uninstantiated (lause. (The; original of an original literal is itself.) In general, when a sub­sumption operation copies two heterogeneous, directly connected literals and creates two directly connected literals, the necessary and sufficient condition for this partial copy to 1»; semantically equivalent to the full-clause; ce&gt;py is obviously that the; former two literals be; compatible.</p><p>When two of the; original literals are iK)t connected directly with each other, twe&gt; heterogeneous literals which have; directly connected originals are; compat­ible iff theîy are; alse) directly connected; we; nee;el not consider two literals whose originals are not directly connected, because; one subsumption operation does ne&gt;t copy such literals at a time. When all of the three original literals are connected directly with each other, two heterogeneous literals are compatible iff the;y are; connected not only directly but also through another literal heterogeneous to both. In fact, -r<b>(«,«)2 </b>anel -q(»,«)i are connected both through term £ and through p<b>(«,«)2, </b>but -r(»,«)2 anel -q(«,«) are; not con­nected through any instance; of the original p(«,»).</p><p>In the; e-ase; of context-free parsing, 0(u<footnote anchor="2"/>) literals are; created, whe;re <b><i>n </i></b>is the number of words in the in­put string, provided that the origins of subsumptions are; the positions between the input words only, elue; to the input-driven computation. Since; there are; just a constant times more links than literals, the space com­plexity of context-free parsing hence becomes 0(n<footnote anchor="2"/>) in our method. The time e'.e&gt;mple:xity is 0(n<footnote anchor="3"/>), because there are <b><i>0(n) </i></b>different ways e&gt;f making each literal. Now the correspondence with chart parsing is more; ex-ae:t. An are: in the; chart corresponds te&gt; an instantiated literal. For instance, are: <b><i>[A </i></b><b><i>—»</i></b><b><i> • B • C] </i></b>from node <b><i>i </i></b>to node <b><i>j </i></b>corresponds to instantiated literal -b(A;,A.,), and <b><i>[A </i></b><b><i>—&gt;</i></b><b><i> </i></b><b><i>•</i></b><b><i> </i></b><b><i>B</i></b><b><i> </i></b><b><i>C</i></b><b><i> </i></b>•] from node <b><i>i</i></b><b><i> </i></b>to node j corresponds to <b><i>a(Ai,Aj). </i></b>For a context-free ride with more: than two symbols in the right-hand side, we can group sev­eral literals to erne fis mentioned above and reduce it to a rule: with just two symbols in the right-hand side:.</p><doubt alpha="0.0" length="3" tooSmall="False" monospace="0.0">4/3</doubt><page local="7" global="474"/><p><b>subsumption</b></p><figure caption="Figure C: Subsumptions"></figure></section><section number="5" title="Concluding Remarks"><p>We have proposed a flexible inference method for Horn logic programs. The computation based on it is a sort of program transformation, and chart parsing and semantic-head-driven generation are epiphenomena emer­gent thereof. The proposed method has nothing spe­cific to parsing, generation, context-free grammar, or the like. This indicates that there is no need for any special algorithms of parsing or generation, or perhaps any other aspect of natural language processing.</p><p>The idea reported above has already been partially implemented and applied to spoken language under­standing (Nagao, Hasida, <b><i>k </i></b>Miyata, 1993), and an account of how the roles of speaker and hearer may switch in the midst of a sentence (Hasida, Nagao, <b><i>k </i></b>Miyata, 1993). Although this line of work has incor­porated a notion of dynamics (Hasida, 1994b) as the declarative semantics to control context-sensitive com­putation, we arc planning to replace dynamics with probability. For input-bound programs together with input-driven computation, it is quite straightforward to define probabilistic semantics as a natural exten­sion of stochastic context-free grammars, among oth­ers, because all the body literals are probabilistically independent in that case. We would like to report soon on a general treatment of probabilistically dependent literals while preserving the efficient structure sharing, which will guarantee efficient computation and learn­ing.</p><p>Reference</p><p>Hasida, K., Nagao, K., <b><i>k </i></b>Miyata, T. (1993). Joint Utterance: Intrasentential Speaker/Hearer Switch as an Emergent Phenomenon. In Ba-jesy, R. (Ed.), <b><i>Proceedings of the. 13th Interna­tional Joint Conference on Artificial Intelligence </i></b>Chambéry.</p><p>with Incremental Copy</p><p>Ilasida, K. (1994a). Common Heuristics for Parsing, Generation, and Whatever .... In Str/.alkowski, T. (Ed.), <b><i>Reversible Grammar in Natural Lan­guage Processing. </i></b>Kluwer Academic Publisher, Dordrecht.</p><p>Hasida, K. (1994b). Dynamics of Symbol Systems. <b><i>New Generation Computing, 12('i). </i></b>to appear in May 1994.</p><p>Kay, M. (1980). Algorithm Schemata and Data Struc­tures in Syntactic Processing. Tech. rep., XE­ROX Palo Alto Research Center, Palo Alto, Cal­ifornia.</p><p>Nagao, K., Hasida, K„ <b><i>k </i></b>Miyata, T. (1993). Under­standing Spoken Natural Language with Omni­Directional Information Flow. In <b><i>Proceedings of the l'Jth International Joint Conference on Ar­tificial Intelligence.</i></b></p><p>Pereira, F. C. N„ <b><i>k </i></b>Warren, D. II. D. (1983). Parsing as Deduction. In <b><i>Proceedings of the 21sl Annual Meeting of ACL, </i></b>pp. 137 144.</p><p>Shieber, S. M. (1988). A Uniform Architecture for Parsing and Generation. In <b><i>Proceedings of the 12th International Conference on Computational Linguistics, </i></b>pp. 014-619.</p><p>Shieber, S. M., van Noord, G., <b><i>k </i></b>Moore, R. C. (1989). A Semantic-Head-Driven Generation Algorithm for Unification-Based Formalisms. In <b><i>Proceed­ings of the 27th Annual Meeting of the Associa­tion for Computational Linguistics, </i></b>pp. 7 17.</p></section></body></article>