1. A method for interacting with a user using an automated dialog system, comprising: generating and storing via a processor communicative goals based on a single communication received from the user, the communicative goals being related to all information needed from the user; generating a plurality of sentence plans based on the communicative goals and on a dialog history database comprising previously gathered dialogs and a present dialog to yield a plurality of generated sentence plans, wherein each sentence plan of the plurality of generated sentence plans comprises an unordered set of elementary speech acts encoding the communicative goals, each speech act assigned a canonical lexico-structural representation, and wherein each sentence plan of the plurality of sentence plans is a viable and potentially usable prompt in response to the single communication received from the user; ranking, independent of the user, the plurality of generated sentence plans to yield ranked sentence plans; and outputting at least one of the ranked sentence plans to yield an output sentence plan, wherein each needed communicative goal of the communicative goals are addressed by the output sentence plan.