20. A system, comprising: a data store to store a word corpus and a document corpus; and a processing engine stored in computer readable medium and comprising instructions executable by a processing device that upon such execution cause the processing device to: associate a word probability value with each word in the word corpus; determine a weight based on a type of the word corpus, the weight indicating a degree of reliability for updating an existing input method editor dictionary using the word corpus; determine candidate segmentations of each sentence of each document in the document corpus based on the word corpus, each candidate segmentation having one or more segments that define words forming the sentence; determine a segmentation probability value for each of the candidate segmentations; determine a weighted segmentation probability value for each segmentation probability value based on the weight; determine a soft-count value for each word based on the weighted segmentation probability values of the candidate segmentations in which the word appears and a number of occurrences of the word in the candidate segmentations in which the word appears; iteratively adjust the associated word probability value for each word in the word corpus based on the associated word probability values and the candidate segmentations; and update the existing input method editor dictionary by iteratively adding a plurality of words from the word corpus and their respective associated word probability values to the existing input method editor dictionary, wherein the plurality of words from the word corpus are words having the highest associated word probability values.
23. The system of claim 20 , wherein the processing device iteratively adjusts the associated word probability value for each word in the word corpus based on the soft-count value for the word is performed until (i) word probability values for a predetermined number of words have stabilized or (ii) a predetermined number of iterations have completed.