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.