In many situations of communication a speaker need not to worry about the possible ambiguity of what she is saying because she can assume that the hearer will be able to disambiguate the utterance by means of contextual information or would otherwise ask for clarification. But in some situations it is necessary to avoid the risk of generating ambiguous utterances that could lead to misunderstanding by the hearer, e.g., during the process of writing text, where no interaction is possible, or when utterances refer to actions that have to be performed directly or in some specific dialog situations (e.g. having an interview with a company).
The need to generate un-ambiguous utterances is also relevant for the development of natural language generation systems. For example in the case of an intelligent help-system that supports the use of an operating system , asking an inexperienced user to `Remove the folder with the system tools' could have tremendous effects on the system itself.
If one assumes a modular division of the natural language generation task between two stages of the language production process - deciding what to say (conceptual level) and deciding how to say it (grammatical level) - it is not realistic to expect that the conceptual component will be able to specify the input for the grammatical component such that ambiguous utterances can be avoided.
If it were possible to specify the input in such a way, then this would mean that the conceptual component has to provide all information needed by the grammatical component to make decisions about lexical and syntactic choices. Hence, the conceptual component would need detailed information about the language to use. But this would blur the distinction between the grammatical and the conceptual level, because this would imply that both components share the grammar (see also , , ).
In order to maintain a modular design additional mechanisms are necessary to perform some monitoring of the generator's output. Several authors argue for such additional mechanisms . For example,  pointed out that ``speakers monitor what they are saying and how they are saying it''. In particular he shows that a speaker is also able to note that what she is saying involves a potential ambiguity for the hearer and can handle this problem by means of self-monitoring.
In this paper we describe an approach for self-monitoring which allows to generate un-ambiguous utterances in such situations where possible misunderstandings by the user have to be avoided. The proposed method is based on a very strict integration of parsing and generation. During self-monitoring a generated ambiguous utterance is parsed and the obtained alternative derivation trees are used as a `guide' for the `monitored' generation step. We will show that such an integrated approach makes only sense with reversible grammars. To our knowledge, there is at present no algorithm that solves the problem of generating un-ambiguous utterances by means of self-monitoring.