1. A method of generating language models for speech recognition comprising: identifying a plurality of utterances in training data corresponding to speech; generating a frequency count of each utterance in the plurality of utterances; generating a high-frequency plurality of utterances from the plurality of utterances having a frequency that exceeds a predetermined frequency threshold; generating a low-frequency plurality of utterances from the plurality of utterances having a frequency that is below the predetermined frequency threshold; generating a grammar-based language model using the high-frequency plurality of utterances as training data; and generating a statistical language model using the low-frequency plurality of utterances as training data.