15. The system of claim 9 , wherein the candidate replacement words of the candidate table include words that are common corrections to their corresponding subject words.
9. A system comprising: a computer including a processor; a tangible computer-readable medium; program modules comprising instructions executable by the processor to suggest replacement words for input words of an input string, the modules comprising: a candidate generator including an output of one or more candidate replacement words and corresponding candidate scores for one of the input words that match a subject word of a candidate table, wherein each candidate score is indicative of a probability that the input word should be replaced with the corresponding candidate replacement word; a contextual spelling engine receives the output of one or more candidate replacement words and produces a candidate replacement string for each candidate replacement word, each candidate replacement string comprising the candidate replacement word and the input words of the input string less the input word corresponding to the candidate replacement word; and a language model having an output of probability scores for each of the candidate replacement strings, the probability scores based on statistical data; wherein the contextual spelling engine calculates a final score for each of the candidate replacement words based on the candidate score for the candidate replacement word and the probability score for the candidate replacement string containing the candidate replacement word, and outputs one of the candidate replacement words based on the final scores.