21. A computer program product stored in one or more non-transitory storage media for controlling a processing mode of a data processing apparatus, the computer program product being executable by the data processing apparatus to cause the data processing apparatus to perform operations comprising: obtaining, from a client device of a user, a text message in a first language, the text message comprising at least one word; providing the text message to a machine translation system; obtaining a translation of the text message from the machine translation system; determining that the text message and the translation both comprise the at least one word in the first language and that the at least one word is correctly spelled; and performing one or more of the following: (a) determining Bayesian probabilities for neighboring words that appear before and after the at least one word and, when the Bayesian probabilities exceed a threshold value, adding the at least one word to a lexicon in a data store; and (b) performing k-means clustering to identify a cluster of words comprising synonyms and, when the cluster comprises the at least one word, adding the at least one word to the lexicon in the data store.
21. A computer program product stored in one or more non-transitory storage media for controlling a processing mode of a data processing apparatus, the computer program product being executable by the data processing apparatus to cause the data processing apparatus to perform operations comprising: obtaining, from a client device of a user, a text message in a first language, the text message comprising at least one word; providing the text message to a machine translation system; obtaining a translation of the text message from the machine translation system; determining that the text message and the translation both comprise the at least one word in the first language and that the at least one word is correctly spelled; and performing one or more of the following: (a) determining Bayesian probabilities for neighboring words that appear before and after the at least one word and, when the Bayesian probabilities exceed a threshold value, adding the at least one word to a lexicon in a data store; and (b) performing k-means clustering to identify a cluster of words comprising synonyms and, when the cluster comprises the at least one word, adding the at least one word to the lexicon in the data store. 28. The computer program product of claim 21 , wherein the Bayesian probabilities provide an indication of a likelihood that the neighboring words will appear before and after the at least one word in the text message.