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.