Our approach is based on a strict integration of parsing and generation in that parsing is used to detect whether a produced utterance is ambiguous or not. The advantages of using comprehension mechanisms to facilitate monitoring are for example mentioned in . In his model parsing and generation are performed in an isolated way by means of two different grammars. The problem with this view is that generation of un-ambiguous paraphrases can be very inefficient, because the source of the ambiguous utterance is not used to guide the generation process.
To overcome this problem the basic idea of our approach is to operate with derivation trees obtained during the generation and parsing step. In short, the algorithm works as follows. Firstly, it is checked whether a produced utterance S of an input form LF is ambiguous, by parsing S. If during parsing e.g. two readings LF and LF are deduced LF is generated again along the parse trees obtained for S. Now an utterance S can be generated that has the same meaning but differs with respect to the ambiguity source of S.
In this way the derivation trees obtained during parsing of a previously generated utterances are used as a guide during monitored generation. Grammatical structures obtained during parsing are used directly to restrict the search space during generation. At this point it should be clear that the only way in order to be able to generate `along parsed structures' is to use reversible grammars. This ensures that every sentence produced by the generator can be parsed. Similarly, for every semantic structure computed by the parser, the generator delivers an utterance.