1. A method for text auto-correction, the method comprising: receiving an input text string on an electronic text input interface device, the input text string comprising N words and a categorical topic; generating a subsequent text string comprising a plurality of N−1 subsequent words forming a subsequent phrase within the categorical topic by determining probabilities that the N−1 subsequent words follow the N words in the input test string; generating a preceding text string comprising a plurality of N−1 preceding words forming a preceding phrase for the input text string within the categorical topic by determining probabilities that the N−1 preceding words following precede the N words in the input test string; creating a corrected text string by inserting the preceding phrase before the input text string and appending the subsequent phrase after the input text string; and displaying the corrected text string on the electronic text input interface device.
1. A method for text auto-correction, the method comprising: receiving an input text string on an electronic text input interface device, the input text string comprising N words and a categorical topic; generating a subsequent text string comprising a plurality of N−1 subsequent words forming a subsequent phrase within the categorical topic by determining probabilities that the N−1 subsequent words follow the N words in the input test string; generating a preceding text string comprising a plurality of N−1 preceding words forming a preceding phrase for the input text string within the categorical topic by determining probabilities that the N−1 preceding words following precede the N words in the input test string; creating a corrected text string by inserting the preceding phrase before the input text string and appending the subsequent phrase after the input text string; and displaying the corrected text string on the electronic text input interface device. 6. The method of claim 1 , wherein the method further comprises locating the input text string in a state graph comprising a plurality of states and a plurality of transitions between pairs of states, each state comprising a given text string and each transition comprising a probability that text strings in a given pair of states associated with that transition comprise a sequence of text strings.