1. A method of managing a dialog with a user, the method comprising: generating communicative goals based on a communication received from the user, the communicative goals being related to further information needed from the user in addition to information in the communication; generating a plurality of prompts, each prompt of the plurality of prompts being a viable and potentially usable prompt in response to the communication received from the user and generated in response to the communication from the user based on the communicative goals; ranking the plurality of prompts independent of the user; and outputting to the user an output prompt based on the ranking of the plurality of prompts.