1. A method for use in accordance with a dialog system, the dialog system comprising a processor, the method comprising the steps of: generating by the processor of the dialog system at least one language model, the at least one language model being conditioned on a state of dialog associated with the dialog system; and storing the at least one language model for subsequent use in accordance with a speech recognizer associated with the dialog system; wherein the step of generating the at least one language model conditioned on a state of dialog associated with the dialog system further comprises the processor of the dialog system performing the steps of: dividing training data which is labeled by state into different state sets depending on the state to which the training data belongs; and building a separate language model for each of the state sets; wherein at least a given state corresponds to an internal state of a natural language understanding portion of the dialog system; wherein at least a given state corresponds to a prompt that the dialog system presents to a user; wherein at least a given separate language model is interpolated with a base model obtained from available training data for a domain of the dialog system; wherein the method further comprises the step of clustering together two or more state sets to reduce the number of states for which a separate language model is built; and wherein a decision to cluster two states is based on a distance measure computed between respective word distributions associated with the two states wherein each separate language model is built using a modified Kneser-Ney smoothing technique.