6. A non-transitory computer storage medium encoded with a computer program, the program comprising instructions that when executed by data processing apparatus cause the data processing apparatus to perform operations comprising: receiving Pinyin inputs; converting the Pinyin inputs to corresponding candidates, each of the corresponding candidates comprising one or more Hanzi characters; receiving rates of user selections for each of the corresponding candidates, the rates indicating how often users select each of the corresponding candidates; identifying, from the received rates, Pinyin inputs converted to candidates having low rates of user selection as non-selected Pinyin inputs; identifying, from the received rates, Pinyin inputs converted to candidates having higher rates of user selection than the non-selected Pinyin inputs, as intended Pinyin inputs; comparing the intended Pinyin inputs to the non-selected Pinyin inputs to identify one or more-non-selected Pinyin input and intended Pinyin input pairs; for each non-selected Pinyin input, determining a number of times that users did not select from the corresponding candidates and a number of times the non-selected Pinyin input was entered as input by users; and generating a proximity measurement for each-non-selected Pinyin input and intended Pinyin input pair based on a ratio of the number of times the corresponding candidates were not selected by users to the number of times the non-selected Pinyin input was entered as input by users.
10. The computer storage medium of claim 6 , wherein comparing the intended Pinyin inputs to the non-selected Pinyin inputs to identify one or more non-selected Pinyin input and intended Pinyin input pairs comprises: identifying a Pinyin input that is close in editing distance to an intended Pinyin input as the non-selected Pinyin input; and identifying the non-selected Pinyin input and the intended Pinyin input as the non-selected Pinyin input and intended Pinyin input pair.