1. A method for building a language model configuration comprising the steps of: categorizing a natural language understanding (NLU) application to produce an application categorization having a plurality of categories; classifying a corpus of example expressions to produce a classified corpus by identifying at least one of the categories for each example expression of the example expressions; and operating at least one computer configured with a plurality of instructions that, when executed, cause the at least one computer to train at least one statistical language model using said classified corpus by: building from the classified corpus a first language model configuration comprising a first statistical language model; evaluating an interpretation accuracy of the first language model configuration using test data; determining whether the evaluated interpretation accuracy of the first language model configuration is less than a desired accuracy; when it is determined that the evaluated interpretation accuracy of the first language model configuration is at least the desired accuracy, then adopting the first language model configuration; and when it is determined that the evaluated interpretation accuracy of the first language model configuration is less than the desired accuracy, then: sub-dividing the application categorization into a plurality of sub-categories; and building a second language model configuration comprising a plurality of statistical language models corresponding to the plurality of sub-categories.