1. A computer-implemented method for performing voice recognition, at least in part, using a language model incorporating a plurality of words and a plurality of n-grams, each of the plurality of n-grams formed by two or more of the plurality of words and defining a probability of occurrence of each word in the respective n-gram given the occurrence of one of the two or more of the plurality of words forming the respective n-gram, the method comprising: receiving a first text comprising a sequence of one or more words from a first participant in a text-based conversation with a second participant via at least one first user device; receiving a voice response provided by the second participant in the text-based conversation in response to the first text; selecting at least one of the plurality of n-grams from the language model that includes at least one word in the first text; and automatically recognizing at least a portion of the voice response to provide a second text, at least in part, by using the at least one selected n-gram; maintaining a history of recognized words and received texts in the text-based conversation; and maintaining an identifier representing a change in speaker from the first or the second participant to the other.