File Information
File: 05-lr/acl_arc_1_sum/cleansed_text/xml_by_section/metho/92/h92-1061_metho.xml
Size: 20,844 bytes
Last Modified: 2025-10-06 14:13:06
<?xml version="1.0" standalone="yes"?> <Paper uid="H92-1061"> <Title>Fragment Processing in the DELPHI System</Title> <Section position="3" start_page="305" end_page="305" type="metho"> <SectionTitle> 2. THE FRAGMENT GENERATOR </SectionTitle> <Paragraph position="0"> The core DELPHI system consists of a unification-based grammar, an agenda-driven chart parser, a discourse component and a question-answering back-end. DELPHI's grammar roles incorporate semantic constraint and interpretation components by associating with each element of the fight-hand side a grammatical relation label which keys into an associated system of semantic rules. This feature means that any term which is inserted into the chart is guaranteed to be semantically well-formed and to be annotated with one or more semantic interpretations.</Paragraph> <Paragraph position="1"> The fragment generator generates a set of such semantically annotated fragments from the chart state left over after an unsuccessful parse. The algorithm for generating fragments from the chart extracts the most probable terms associated with longest sub-strings of the input, using probabilities associated with the producing rules \[2\].</Paragraph> <Paragraph position="2"> For example, the utterance: I want a flight uhh that arrives in Boston let's say at 3 pm to make the new VP: is conventionally unparseable due to the interpositions &quot;uhh&quot; and &quot;let's say&quot;. The Fragment Generator produces the following set of four fragments:</Paragraph> </Section> <Section position="4" start_page="305" end_page="306" type="metho"> <SectionTitle> 3. THE SYNTACTIC COMBINER </SectionTitle> <Paragraph position="0"/> <Section position="1" start_page="305" end_page="306" type="sub_section"> <SectionTitle> The Syntactic Combiner uses a special set of grammar rules, </SectionTitle> <Paragraph position="0"> called fragment rules, to combine these fragments into a single parse. These rules have the same form as rules of the regular DELPHI gammar and incorporate semantic constraints and interpretation rules in the same way. But the method for applying the fragment rules differs in that it allows them to combine constituents even when these constituents are separated by intervening portions of the input, or when they occur in a reversed order.</Paragraph> <Paragraph position="1"> Each fragment rule is adjunction oriented, in the following form:</Paragraph> <Paragraph position="3"> The following is an example, from which unification features have been omitted: VP -~ :head VP, :pp-comp PP This rule says that an existing Verb Phrase fragment and an existing Prepositional Phrase fragment can be combined together to make a new Verb Phrase with the original VP as head and the original PP as pp complement, provided they satisfy the semantic constraints associated with &quot;:head&quot; and &quot;:pp-comp&quot;.</Paragraph> <Paragraph position="4"> The central operation of the Syntactic Combiner is adjunction. The example rule licenses the Syntactic Combiner to &quot;adjoin&quot; one fragment tree into another--that is to replace a node of the first tree with a new node whose head daughter is the old node and whose other daughter is second tree. An example, using the rule above, would be the combination of the two fragments: VP\[arrives in Boston at 3 pm\] Note that the adjunction node does not have to be the top of the first fragment tree: it can be any non-terminal node, as in the following pair of fragments: The algorithm that applies these rules first scans right to left taking each successive fragment and looking for fragments to its left to adjoin the first fragment into. The search for an attachment point within a fragment is fight-to-left, bottom-up first, and deterministic.</Paragraph> <Paragraph position="5"> The reason for the directional priority is to enforce the preference of fragment rules that the sub-term of the adjunction be to the right of the head. The algorithm then reverses direction, attempting to adjoin any remaining fragments into other fragments on their right. It oscillates back and forth in this fashion until no more fragments can be combined. At the end of this process the largest fragment (possibly now containing other fxagments which it has absorbed) is returned as the reconstructed parse, subject to cnt-off restrictions which we discuss below. More than one fragment is returned in the case of multiple clausal fragments, and the discourse module is invoked to construct the interpretation of the whole.</Paragraph> <Paragraph position="6"> As a simple example, let us return to the example of the previous section: I want a flight uhh that arrives in Boston let's say at 3 pm which generates the fragments: S\[I want a flight\]</Paragraph> <Paragraph position="8"> The rules that enable combination of these fragments are: VP-~ :head VP, :pp-comp PP NP-~ :head NP, :tel-clause REL-S The first rule above licenses the attachment of &quot;at 3 pm&quot; to &quot;arrives&quot; inside the existing REL-S structure &quot;that arrives&quot; and the second the attachment of the combined REL-S structure to the NP &quot;a flight&quot; inside the clause &quot;I want a flight&quot;. After this combination, we are left with two fragments: a clause and an unanalyzable portion of the string. Since all grammar rules in DELPHI include a semantic interpretation component\[3,4\], a semantic interpretation of the clause is also available.</Paragraph> <Paragraph position="9"> The other fragment rules combine NPs and their various modifiers and VPs and their NP complements: ratio of the number of words included in the final reconstructed parse to the number of words of the original input to determine whether or not to accept the final analysis as plausible. The computation of this ratio is adjusted to ignore certain words that carry little meaning (&quot;does&quot; &quot;me&quot; &quot;could&quot; etc.) and to block intepretations which exclude other words which do tend to change the meaning (&quot;first&quot;, &quot;most&quot; etc.).</Paragraph> </Section> </Section> <Section position="5" start_page="306" end_page="309" type="metho"> <SectionTitle> 4. THE FRAME COMBINER </SectionTitle> <Paragraph position="0"/> <Section position="1" start_page="306" end_page="306" type="sub_section"> <SectionTitle> 4.1 Overview </SectionTitle> <Paragraph position="0"> The Frame Combiner seeks to combine together not fragments but the semantic interpretations of fragments, and does so based not on grammar rules but on pragmatic schemata which have various &quot;slots&quot; to fill. It works primarily with semantic intepretations of fragments at the NP and PP level.</Paragraph> <Paragraph position="1"> Its approach is similar in spirit to SRI's Template Matcher \[1\] but it differs from that work in a number of important ways.</Paragraph> <Paragraph position="2"> Most importantly, it is fully integrated with a conventional NLU system including grammar and parser. This makes it possible for it to work from recursive tree fragment structures instead of sub-strings of input. AS a result, the slot-filling process is not limited to simple phrases such as &quot;to BWI&quot; but can also handle more syntactically and semantically complex phrases such as &quot;to the airport closest to Washington DC&quot;. All the complex modifier structure internal to NPs which a conventional parser normally uncovers can be incorporated into slot-filling.</Paragraph> <Paragraph position="3"> Moreover, while the system does not use larger constituents such as VPs and clauses to frill slots directly, it does make use of a candidate NP or PP's occurence inside such a larger phrase to determine which slot the candidate should frill. This enables the Frame Combiner to cope with such cases as the PP &quot;before 3 pro&quot;, which means entirely different things, and therefore constraints entirely different slots, depending on whether it modifies the verb &quot;arrive&quot; or &quot;depart&quot;. A final difference is that the Frame Combiner attempts to determine the actual items of information that the user wants to have presented to him---that is, what slots in the frame are being asked about, as opposed to filled or constrained. This last has practical importance within the context of the ATIS task domain because it enables only what is asked about to be displayed to the user. Formerly it was sufficient simply to provide the entire extension of a suitably frame as the answer, but given the MIN/MAX scoring procedure, such a tactic is likely to result in numerous wrong answers.</Paragraph> <Paragraph position="4"> The basic operation of the Frame Combiner is to input a sequence of semantically annotated fragment trees and to output a logical form as a proposed interpretation of the utterance. As intermediate steps it generates alternative sets of attribute-value &quot;triples&quot; and filters these according to plansibility criteria before generating a final interpretation from the chosen set. We next describe each of these steps.</Paragraph> </Section> <Section position="2" start_page="306" end_page="307" type="sub_section"> <SectionTitle> 4.2 Representational Triples </SectionTitle> <Paragraph position="0"> As intermediate output, the frame combiner first produces a set of attribute-value triples with the following structure: <OPERATOR, ATTRIBUTE, VALUE> The ATIRIBUTE is a single or multi-valued function. The VALUE is an element or set of elements from this function's range. The OPERATOR is a binary relation over elements of the range. In the following example: <EQUAL, ORIGIN-CITY, BOSTON> The operator is the relation EQUAL. The attribute in this example is the function ORIGIN-CITY, whose domain is the class FLIGHT and whose range is the class CITY. The value in the example is the individual city BOSTON.</Paragraph> <Paragraph position="1"> Other typical operators are relations like TIME-BEFORE and GREATER-THAN. There is a special operator, HAS-PROPERTY, which is combined with a truth-valued (i.e. one-place predicate) attribute and the value TRUE for adjectival meanings like &quot;non-stop&quot;.</Paragraph> <Paragraph position="2"> Currently there are three classes which can serve as the domain of an attribute FLIGHT, FARE and GROUND-TRANSPORTATION. We refer to these as the &quot;core&quot; classes of the ATIS task. These core classes are associated, respectively, with the distinguished attributes FLIGHT-OF, FARE-OF and TRANS-OF, which we term the &quot;explicit&quot; attribute of the core class, Explicit attributes are neccesary to incorporate well-formed,parsed NP fragments whose semantic type is one of the core classes, such as &quot;the USAir flight from Boston to Denver&quot;, without having to break them up into their component modifiers. Explicit attributes are always combined with the EQUAL operator and an element of the domain, and effectively correspond to the identity function for the domain.</Paragraph> <Paragraph position="3"> An attribute-value triple can be formally viewed as a specification of a subset of the domain of the attribute of the triple. While they have a clear relationship to the notion of a template or frame, they are perhaps better thought of as disembodied &quot;slot-constraints&quot;. Note in particular that a set of such triples is a more flexible representation than a single template in that it can uniformly combine triples whose attributes have different domains. This is important when the question itself concerns more than domain--such as both FLIGHTs and FAREs.</Paragraph> </Section> <Section position="3" start_page="307" end_page="308" type="sub_section"> <SectionTitle> 4.3 Generating Triples </SectionTitle> <Paragraph position="0"> Triples are produced from fragment trees using a recursivedescent algorithm that applies a set of pattern rules that match against fragment trees and their attached semantic interpretations. Rules can produce disjunctions of triples in case of ambiguity. The rules primarily match against NP and PP constituents, associating the semantic intepretation of the NP constituents with the value element of a triple.</Paragraph> <Paragraph position="1"> The algorithm mainly recurses through other types of constituents, though it does note and pass down certain items of information associated with them, such as the head-predicate of a VP.</Paragraph> <Paragraph position="2"> Rules consist of a syntactic pattern component followed by optional extra constraints and an attribute assignment component. For example the rule:</Paragraph> <Paragraph position="4"> applies to PPs whose preposition is &quot;from&quot;. It requires that the NP object of the PP be of the semantic class CITY.</Paragraph> <Paragraph position="5"> It restricts either the ORIGIN-CITY or TRANS-TO-CITY attributes to be EQUAL to the semantics of the NP object.</Paragraph> <Paragraph position="6"> When applied to the fragment: \[PP from \[NP boston\]\] it generates the following two alternative triples: <EQUAL, ORIGIN-CITY, BOSTON> <EQUAL, TRANS-TO-CITY, BOSTON> corresponding to the two altematives possible in a situation where &quot;from Boston&quot; is uttered: either the user wants to fly from Boston to some different city or he wants to get from Boston to its airport.</Paragraph> <Paragraph position="7"> Rules have a slightly more complicated form when they involve an important feature of the Frame Combiner's triplegeneration process: its use of syntactic structure and context. For example, in the ATIS domain the PP &quot;at 3 pm&quot; means something very different when attached to a verb like &quot;arrive&quot;. This phenomenon tends to pose a problem for conventional non-integrated template matching system, as has been noted in earlier work \[1\].</Paragraph> <Paragraph position="8"> In the Frame Combiner this is handled by passing down the predicate representing a verb's meaning as an extra argument to the recursive descent algorithm. If a constituent was attached to a VP with a particular meaning, the slot-filling process knows this when it reaches the constituent. Slot-filling rules can be written in such a way as to behave differently depending on whether the constituent under consideration is in the context of a particular verbal predicate. For example, in order to deal with the above phenomenon, the following rule applies to PP fragments where the NP :OBJECT is of type TIME-OF-DAY, and :PREP is any preposition from which a temporal relation can be derived. This temporal relation restricts whatever slot is determined appropriate by the ATI'RIBUTES component of the rule: The A'VI'RIBUTES expression delivers zero or more attributes as a disjunction the specific attributes depending upon which of its evidence clauses is satisfied. CONTEXT evidence is the strongest. NON-LOCAL evidence is next, and it includes situations where a particular verb is merely present elsewhere in the input, without dominating the constituent. DEFAULT evidence is the assignment preferred whereas GENERAL evidence is all the assignments allowed.</Paragraph> </Section> <Section position="4" start_page="308" end_page="308" type="sub_section"> <SectionTitle> 4.4 Filtering Sets of Triples </SectionTitle> <Paragraph position="0"> When all fragments have been analyzed through recursive descent, the system takes the cartesian product of all disjunctive interpretations to obtain the set of all alternative sets of triples. These are then filtered to leave only the most plausible sets of triples.</Paragraph> <Paragraph position="1"> There are several criteria for plausibility. The most obvious is that two or more triples on the same attribute not specify contradictory values for the attribute. Another is that a set not contain any two triples with clashing attribute domains.</Paragraph> <Paragraph position="2"> For example, in the ATIS task one never sees queries that combine flights and ground transportation (even though such are certainly expressible, e.g. &quot;Show me USAir flights to airports that have limousine service&quot;). Thus FLIGHT and GROUND-TRANSPORTATION are clashing domains. On the other hand, queries concerning both flights and fares do frequently occur (&quot;Show flights to Boston and their fares&quot;) so FLIGHT and FARE are not clashing domains.</Paragraph> <Paragraph position="3"> Another criterion is that the set of triples have the commonly seen linguistic form for the domain. Thus, while &quot;the airport&quot; and &quot;the city&quot; are plausible fillers for TRANS-TO-AIRPORT and TRANS-TO-CITY in the GROUND-TRANSPORTATION domain they are much less plausible fillers for FLIGHT domain attributes, simply because proper noun fillers are fare more common for these.</Paragraph> <Paragraph position="4"> Criteria such as non-clashing domains are hard criteria, and therefore any triple set which violates them is discarded.</Paragraph> <Paragraph position="5"> Other criteria, like the plausiblity of linguistic domain, are softer, and the system merely prefers not to violate them.</Paragraph> <Paragraph position="6"> If there is more than one plausible set of triples, the Frame Combiner will, depending on switch setting, either give up or appeal to extrasentential discourse to resolve the ambiguity (much as the core DELPHI system will do).</Paragraph> </Section> <Section position="5" start_page="308" end_page="309" type="sub_section"> <SectionTitle> 4.5 Choosing the Information to Display </SectionTitle> <Paragraph position="0"> At each turn in dialogue, any system performing an informarion retrieval task, such as ATIS, is essentially required to display a set of objects. This holds for WH questions (&quot;which flights... &quot;), imperatives (&quot;show me&quot;), and existential yes-no questions (&quot;are there any flights...&quot;). On this perspective, the different sets of objects and relationships between them are one part of the meaning of the query, and are represented by the sets of triples. The other part of the meaning is the question of which of these sets to display.</Paragraph> <Paragraph position="1"> We refer to as the &quot;topic&quot; of the query.</Paragraph> <Paragraph position="2"> To choose one (or more) of the triples as the topic means to display its value set, as it relates to all other value sets of the other triples. Several different heuristics are used, and are ranked in priority. Each is tried in succession until a topic is chosen.</Paragraph> <Paragraph position="3"> Most obvious is whether the filler of the triple is a WH noun phrase. If it is, it definitely must be the topic.</Paragraph> <Paragraph position="4"> Next are any &quot;priority&quot; domains that are not normally used merely to constrain other sets. An example is GROUND-TRANSPORTATION--the typical ATIS user does not ask to see cities that have a particular type of ground transportation--the user wants to see the ground transportation itself.</Paragraph> <Paragraph position="5"> &quot;Unconstrained&quot; triples are another likely topic. A triple is &quot;unconstrained&quot; if its filler is a bare common nominal, such as &quot;airline&quot;, and its attribute is a total function. Since every FLIGHT has an AIRLINE, the user is most unlikely to be imposing the vacuous constraint that the flight is on some airline (even though this is again expressible). Rather, the user is much more likley to be interested in seeing the airline of the flight.</Paragraph> </Section> <Section position="6" start_page="309" end_page="309" type="sub_section"> <SectionTitle> 4.6 Generating the Final Interpretation </SectionTitle> <Paragraph position="0"> The Frame Combiner generates a final logical form from a chosen set of triples by first associating a variable with each triple filler (&quot;value&quot; slot) and a variable with each of the core classes present, in the set, whether through explicit attributes on the class or impficitly as the domain of another attributes. It generates a matrix formula in which all the attributes present are binary relations and the generated variables are the arguments to these binary relations. Quantificational structure, corresponding to the fillers of triples, is then generated. The quantifiers for topic triples are treated as though they were WH quantifiers, and appropriate display commands generated.</Paragraph> </Section> </Section> class="xml-element"></Paper>