The derivation trees obtained during generation and parsing will be used for
guiding the monitored generation strategy in the following way:
Given a logical form the normal generator first produces only one string
(instead of all possible strings). Only if the overall system
specified as a primarily goal that the produced string should be unambiguous
(in order to avoid the risk of being misunderstood),
the monitored generation strategy
is activated. It first passes the produced string (say ) to the
parser. If the parser yields severals readings, the obtained parsed derivation
trees are now used for comparison with the generated derivation tree of
. This derivation tree is marked at that places, where in corresponding
places of the parsed derivation tree, different rules have been applied.
It is assumed that this indicates a source of structural ambiguity.
Therefore, the
semantics of the root node of such a marked subtree is revised
using a different rule from that of the original generated derivation tree.
This will eventually create a new string
. This `new' string is
then also revised, if it is still ambiguous.
If we want to make use of the representation of derivation trees as introduced
in chapter 3, section 3.3, we have to make sure
that we can retrieve for each node of a derivation tree its local semantics and
string. However, this is easily obtained by adding two new features SEM
and PHON to the derivation tree of grammar rules and lexical entries
whose values are just pointers to the values of the
corresponding features of the sign. For example, rule ( ) of the grammar
in appendix A is modified as follows:
The advantage of this kind of representation is that for each node of a derivation tree we know which part of the input (either semantics or string) is covered by the corresponding sub-derivation. Now, if a node has been marked as an ambiguous source, it is easy to call the normal generator for the marked node's semantic expression in order to produce an alternative string. The next paragraph describes how a marked derivation tree is obtained.