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 with at least one processor a grammar-based language model using the high-frequency plurality of utterances as training data; storing the grammar based language model in a memory; generating with the at least one processor a statistical language model using the low-frequency plurality of utterances as training data; and storing the statistical language model in the memory.