Handheld electronic device with text disambiguation
First Claim
1. A method of disambiguating an input into a handheld electronic device of a type including an input apparatus, an output apparatus, and a processor apparatus, the processor apparatus including a processor and a memory having stored therein a 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 being associated with an associated frequency object, the memory including a first data source and a second data source, the first data source including a number of language objects of the plurality of language objects and a number of associated frequency objects of the plurality of frequency objects, the second data source including a number of language objects of the plurality of language objects and a number of associated frequency objects of the plurality of frequency objects, 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 into an input field;
generating a number of prefix objects corresponding with the ambiguous input;
determining that the input field is a special input field;
for each prefix object of at least a portion of the number of prefix objects, seeking in the first data source a corresponding language object that corresponds with the prefix object;
generating a primary result by, for each prefix object of at least a portion of the number of prefix objects, identifying in the first data source a language object corresponding with the prefix object, obtaining from the first data source an associated frequency object associated with the identified language object and having a frequency value, and associating the frequency value of the associated frequency object with the prefix object;
for at least a portion of the prefix objects of the primary result, generating a primary output set of the prefix objects sorted according to the frequency values associated therewith;
making a determination that the quantity of the prefix objects in the primary output set is less than a predetermined quantity;
responsive to said determination;
for each prefix object of at least a portion of the number of prefix objects, seeking in the second data source a corresponding language object that corresponds with the prefix object;
generating a secondary result by, for each prefix object of at least a portion of the number of prefix objects, identifying in the second data source a language object corresponding with the prefix object, obtaining from the second data source an associated frequency object associated with the identified language object and having a frequency value, and associating the frequency value of the associated frequency object with the prefix object;
for at least a portion of the prefix objects of the secondary result, generating a secondary output set of the prefix objects sorted according to the frequency values associated therewith;
outputting an output including at least a portion of the prefix objects of the primary output set and at least a portion of the prefix objects of the secondary output set; and
wherein the plurality of language objects include a plurality of word objects and a plurality of n-gram objects, substantially each n-gram object including at least a first character, and further comprising determining that the primary result and the secondary result include a quantity of prefix objects, determining that the quantity of prefix objects in the primary result and the secondary result is fewer than a predetermined quantity, and adding as an orphan prefix object to the output at a position corresponding with a relatively low frequency a prefix object of the number of prefix objects for which a corresponding word object was not identified.
5 Assignments
0 Petitions
Accused Products
Abstract
A handheld electronic device includes a reduced QWERTY keyboard and is enabled with disambiguation software. The device provides output in the form of a default output and a number of variants. The output is based largely upon the frequency, i.e., the likelihood that a user intended a particular output, but various features of the device provide additional variants that are not based solely on frequency and rather are provided by various logic structures resident on the device. The device enables editing during text entry and also provides a learning function that allows the disambiguation function to adapt to provide a customized experience for the user. The disambiguation function can be selectively disabled and an alternate keystroke interpretation system provided. Additionally, the device can facilitate the selection of variants by displaying a graphic of a special <NEXT> key of the keypad that enables a user to progressively select variants generally without changing the position of the user'"'"'s hands on the device. If a field into which text is being entered is determined to be a special input field, a disambiguated result can be sought first from a predetermined data source prior to seeking results from other data sources on the device.
302 Citations
7 Claims
-
1. A method of disambiguating an input into a handheld electronic device of a type including an input apparatus, an output apparatus, and a processor apparatus, the processor apparatus including a processor and a memory having stored therein a 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 being associated with an associated frequency object, the memory including a first data source and a second data source, the first data source including a number of language objects of the plurality of language objects and a number of associated frequency objects of the plurality of frequency objects, the second data source including a number of language objects of the plurality of language objects and a number of associated frequency objects of the plurality of frequency objects, 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 into an input field; generating a number of prefix objects corresponding with the ambiguous input; determining that the input field is a special input field; for each prefix object of at least a portion of the number of prefix objects, seeking in the first data source a corresponding language object that corresponds with the prefix object; generating a primary result by, for each prefix object of at least a portion of the number of prefix objects, identifying in the first data source a language object corresponding with the prefix object, obtaining from the first data source an associated frequency object associated with the identified language object and having a frequency value, and associating the frequency value of the associated frequency object with the prefix object; for at least a portion of the prefix objects of the primary result, generating a primary output set of the prefix objects sorted according to the frequency values associated therewith; making a determination that the quantity of the prefix objects in the primary output set is less than a predetermined quantity; responsive to said determination; for each prefix object of at least a portion of the number of prefix objects, seeking in the second data source a corresponding language object that corresponds with the prefix object; generating a secondary result by, for each prefix object of at least a portion of the number of prefix objects, identifying in the second data source a language object corresponding with the prefix object, obtaining from the second data source an associated frequency object associated with the identified language object and having a frequency value, and associating the frequency value of the associated frequency object with the prefix object; for at least a portion of the prefix objects of the secondary result, generating a secondary output set of the prefix objects sorted according to the frequency values associated therewith; outputting an output including at least a portion of the prefix objects of the primary output set and at least a portion of the prefix objects of the secondary output set; and wherein the plurality of language objects include a plurality of word objects and a plurality of n-gram objects, substantially each n-gram object including at least a first character, and further comprising determining that the primary result and the secondary result include a quantity of prefix objects, determining that the quantity of prefix objects in the primary result and the secondary result is fewer than a predetermined quantity, and adding as an orphan prefix object to the output at a position corresponding with a relatively low frequency a prefix object of the number of prefix objects for which a corresponding word object was not identified. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A method of disambiguating an input into a handheld electronic device of a type including an input apparatus, an output apparatus, and a processor apparatus, the processor apparatus including a processor and a memory having stored therein a 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 being associated with an associated frequency object, the memory including a plurality of data sources, each data source including a number of language objects of the plurality of language objects and a number of associated frequency objects of the plurality of frequency objects, the input apparatus including a plurality of input members, each of at least a portion of the input members having a plurality of characters assigned thereto, the method comprising:
-
detecting an ambiguous input into an input field; generating a number of prefix objects corresponding with the ambiguous input; determining that the input field is a special input field; responsive to said determining that the input field is a special input field, identifying a predetermined data source from the plurality of data sources for analysis substantially prior to analysis of the other data sources to obtain a proposed disambiguation result; for each prefix object of at least a portion of the number of prefix objects, seeking in the predetermined data source a corresponding language object that corresponds with the prefix object; generating a primary result by, for each prefix object of at least a portion of the number of prefix objects, identifying in the predetermined data source a language object corresponding with the prefix object, obtaining from the predetermined data source an associated frequency object associated with the identified language object and having a frequency value, and associating the frequency value of the associated frequency object with the prefix object; and for at least a portion of the prefix objects of the primary result, generating a primary output set of the prefix objects sorted according to the frequency values associated therewith; and outputting an output including at least a portion of the prefix objects of the primary output set; making a determination that the quantity of the prefix objects in the primary output set is less than a predetermined quantity; and responsive to said determination; for each prefix object of at least a portion of the number of prefix objects, seeking in the data sources other than the predetermined data source a corresponding language object that corresponds with the prefix object; generating a secondary result by, for each prefix object of at least a portion of the number of prefix objects, identifying in the data sources other than the predetermined data source a language object corresponding with the prefix object, obtaining from the data sources other than the predetermined data source an associated frequency object associated with the identified language object and having a frequency value, and associating the frequency value of the associated frequency object with the prefix object; for at least a portion of the prefix objects of the secondary result, generating a secondary output set of the prefix objects sorted according to the frequency values associated therewith; and outputting as the output at least a portion of the prefix objects of the secondary output set; and wherein the plurality of language objects include a plurality of word objects and a plurality of n-gram objects, substantially each n-gram object including at least a first character, and further comprising determining that the primary result and the secondary result include a quantity of prefix objects, determining that the quantity of prefix objects in the primary result and the secondary result is fewer than a predetermined quantity, and adding as an orphan prefix object to the output at a position corresponding with a relatively low frequency a prefix object of the number of prefix objects for which a corresponding word object of the plurality of word objects was not identified. - View Dependent Claims (7)
-
Specification