1. A method of evaluating a sequence of characters received by one or more computing devices to determine the presence of a natural language word in the received sequence, the method comprising: finding a subsequence of alphabetical characters in the received sequence of characters, wherein the received sequence comprises both alphabetical and non-alphabetic characters, and wherein the subsequence corresponds to alphabetical characters occurring between the non-alphabetic characters in the received sequence; calculating a probability that the subsequence is a natural language word using a statistical model of a natural language; and determining if the subsequence is a natural language word based on the probability; wherein the finding, calculating, and determining steps are performed on the one or more computing devices.
1. A method of evaluating a sequence of characters received by one or more computing devices to determine the presence of a natural language word in the received sequence, the method comprising: finding a subsequence of alphabetical characters in the received sequence of characters, wherein the received sequence comprises both alphabetical and non-alphabetic characters, and wherein the subsequence corresponds to alphabetical characters occurring between the non-alphabetic characters in the received sequence; calculating a probability that the subsequence is a natural language word using a statistical model of a natural language; and determining if the subsequence is a natural language word based on the probability; wherein the finding, calculating, and determining steps are performed on the one or more computing devices. 13. The method of claim 1 , wherein the sequence of characters is provided by a user and determining if the subsequence is a natural language word is performed in real-time after each character is input.