Patent ID: 7333085

Claim:
A method of disambiguating an input into a handheld electronic device, the handheld electronic device including an input apparatus, an output apparatus, and a memory having a plurality of objects stored therein, the plurality of objects including a plurality of language objects and a plurality of frequency objects, each of at least a portion of the language objects of the plurality of language objects being associated with an associated frequency object of the plurality of frequency objects, the plurality of language objects including a plurality of word objects and a plurality of n-gram objects, substantially each n-gram object of the plurality of n-gram objects including at least a first character, the input apparatus including a plurality of input members, each of at least a portion of the input members of the plurality of input members having a plurality of characters assigned thereto, the method comprising: detecting an ambiguous input including a number of input member actuations of a number of the input members of the plurality of input members, each of at least a portion of the input members of the number of input members including a number of characters assigned thereto, at least one of the input members of the number of input members having a plurality of characters assigned thereto; generating a number of prefix objects corresponding with the ambiguous input, each prefix object including a number of the characters of the number of the input members of the ambiguous input; generating a first result by, for each prefix object of at least a portion of the number of prefix objects, identifying a word object of the plurality of word objects, the identified word object corresponding with the prefix object, obtaining an associated frequency object of the plurality of frequency objects, the associated frequency object being associated with the identified word object and having a frequency value, and associating the frequency value of the associated frequency object with the prefix object; determining that the quantity of prefix objects in the first result is fewer than a predetermined number; responsive to said determining that the quantity of prefix objects in the first result is fewer than a predetermined number, providing a second result that includes a number of string objects, substantially each string object of the number of string objects being at least one of an orphan prefix object for which a corresponding word object of the plurality of word objects was not identified and an artificial variant object, substantially each string object of the number of string objects corresponding with at least a portion of the ambiguous input; outputting an output; outputting each of at least a portion of the prefix objects of the first result as at least a first portion of the output; and outputting each of at least a portion of the string objects of the second result as at least a second portion of the output.