Completeness and Coherence



next up previous
Next: Quantifier Storage Up: Extensions Previous: Extensions

Completeness and Coherence

Wedekind [21] defines completeness and coherence of a generation algorithm as follows. Suppose a generator derives a string from a logical form , and the grammar assigns to the logical form . The generator is complete if always subsumes and coherent if always subsumes . The generator defined in Section 4.1 is not coherent or complete in this sense; it requires only that and be compatible, that is, unifiable.

If the logical-form language and semantic interpretation system provide a sound treatment of variable binding and scope, abstraction and application, completeness and coherence will be irrelevant because the logical form of any phrase will not contain free variables. However, neither semantic projections in LFG [6] nor definite-clause grammars provide the means for such a sound treatment: logical-form variables or missing arguments of predicates are both encoded as unbound variables (attributes with unspecified values in the LFG semantic projection) at the description level. Then completeness and coherence become important. For example, suppose a grammar associated the following strings and logical forms.

The generator of Section 4.1 would generate any of these sentences for the logical form eat(john, X) (because of its incoherence) and would generate `John ate' for the logical form eat(john, banana) (because of its incompleteness).

Coherence can be achieved by removing the confusion between object-level and metalevel variables mentioned above, that is, by treating logical-form variables as constants at the description level. In practice, this can be achieved by replacing each variable in the semantics from which we are generating by a new distinct constant (for instance with the numbervars predicate built into some implementations of Prolog). These new constants will not unify with any augmentations to the semantics. A suitable modification of our generator would be

This leaves us with the completeness problem. This problem arises when there are phrases whose semantics are not ground at the description level, but instead subsume the goal logical form or generation. For instance, in our hypothetical example, the string `John eats' will be generated for semantics eat(john, banana). The solution is to test at the end of the generation procedure whether the feature structure that is found is complete with respect to the original feature structure. However, because of the way in which top-down information is used, it is unclear what semantic information is derived by the rules themselves, and what semantic information is available because of unifications with the original semantics. For this reason so called ``shadow'' variables are added to the generator that represent the feature structure derived by the grammar itself. Furthermore a copy of the semantics of the original feature structure is made at the start of the generation process. Completeness is achieved by testing whether the semantics of the shadow is subsumed by the copy.



next up previous
Next: Quantifier Storage Up: Extensions Previous: Extensions



Gertjan van Noord
Thu Nov 24 18:39:44 MET 1994