1. A method of building a language model comprising: providing a first language model derived from a first corpus comprising a first set of data files, wherein each of the data files in the first set of data files is associated with a different set of text elements; providing a second language model derived from a second corpus different from the first corpus comprising a second set of data files, wherein i) each of the data files in the second set of data files is associated with a different set of text elements, ii) each of the data files in the first set of data files corresponds to a respective data file in the second set of data files, and iii) a data file in the first set of data files corresponds to a data file in the second set of data files if the data file in the first set of data files is associated with a similar set of text elements as is associated with the data file in the second set of data files; and merging, in parallel using a computer processor, respective data files in the first set of data files with corresponding data files in the second set of data files, thereby generating a combined language model by merging the first language model with the second language model.
12. The method of claim 1 , wherein: each data file comprises data about a plurality of n-grams; each n-gram comprises a current text element and a text element history, the text element history comprising text elements preceding the current text element of the n-gram; and the n-grams about which data is included in a given data file include those n-grams found in the corpus from which the given data file was derived that have one of the text elements associated with the given data file as a most recent text element in the histories of the respective n-grams.