Method and system for providing word recommendations for text input
First Claim
Patent Images
1. A computer-implemented method, comprising:
- at a portable electronic device with a keyboard;
receiving a sequence of input characters from the keyboard, wherein the keyboard has a predefined layout with a plurality of keys, each respective key in the plurality of keys corresponding to a single respective character, each respective key in the predefined layout having one or more neighbor keys;
generating a set of strings from at least a subset of the sequence of input characters, the set of strings comprising permutations of respective input characters in the subset of the sequence and characters corresponding to neighbor keys of the keys corresponding to the respective input characters on the layout of the keyboard, wherein for each permutation;
a respective character at a respective position in the permutation is either a corresponding input character at a corresponding position in the sequence of input characters or a character corresponding to an adjacent, neighbor key of the key corresponding to the corresponding input character in the predefined layout; and
,after generating the set of strings;
identifying in a dictionary one or more candidate words, each candidate word having a string in the set of strings as a prefix;
scoring the candidate words;
selecting a subset of the candidate words based on predefined criteria; and
presenting the subset of the candidate words.
1 Assignment
0 Petitions
Accused Products
Abstract
Word recommendations are provided in response to text input. For a particular text input, possible word recommendations are identified based on the characters of the input and corresponding neighbor characters on a keyboard layout. The possible word recommendations are scored based on how closely they match the input word on a character-by-character basis, and a subset of the possible word recommendations are selected for presentation to the user.
130 Citations
15 Claims
-
1. A computer-implemented method, comprising:
at a portable electronic device with a keyboard; receiving a sequence of input characters from the keyboard, wherein the keyboard has a predefined layout with a plurality of keys, each respective key in the plurality of keys corresponding to a single respective character, each respective key in the predefined layout having one or more neighbor keys; generating a set of strings from at least a subset of the sequence of input characters, the set of strings comprising permutations of respective input characters in the subset of the sequence and characters corresponding to neighbor keys of the keys corresponding to the respective input characters on the layout of the keyboard, wherein for each permutation; a respective character at a respective position in the permutation is either a corresponding input character at a corresponding position in the sequence of input characters or a character corresponding to an adjacent, neighbor key of the key corresponding to the corresponding input character in the predefined layout; and
,after generating the set of strings; identifying in a dictionary one or more candidate words, each candidate word having a string in the set of strings as a prefix; scoring the candidate words; selecting a subset of the candidate words based on predefined criteria; and presenting the subset of the candidate words. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
13. A computer readable storage medium storing one or more programs, the one or more programs comprising instructions, which when executed by a portable electronic device with a keyboard, causes the portable electronic device to perform a method comprising:
-
receiving a sequence of input characters from the keyboard, wherein the keyboard has a predefined layout with a plurality of keys, each respective key in the plurality of keys corresponding to a single respective character, each respective key in the predefined layout having one or more neighbor keys; generating a set of strings from at least a subset of the sequence of input characters, the set of strings comprising permutations of respective input characters in the subset of the sequence and characters corresponding to neighbor keys of the keys corresponding to the respective input characters on the layout of the keyboard, wherein for each permutation; a respective character at a respective position in the permutation is either a corresponding input character at a corresponding position in the sequence of input characters or a character corresponding to an adjacent, neighbor key of the key corresponding to the corresponding input character in the predefined layout; and
,after generating the set of strings; identifying in a dictionary one or more candidate words, each candidate word having a string in the set of strings as a prefix; scoring the candidate words; selecting a subset of the candidate words based on predefined criteria; and presenting the subset of the candidate words.
-
-
14. A portable electronic device, comprising:
-
a display; a keyboard, the keyboard having a predefined layout with a plurality of keys, each respective key in the plurality of keys corresponding to a single respective character, each respective key in the predefined layout having one or more neighbor keys; one or more processors; memory; and one or more programs, wherein the one or more programs are stored in the memory and configured to be executed by the one or more processors, the one or more programs including; instructions for receiving a sequence of input characters from the keyboard; instructions for generating a set of strings from at least a subset of the sequence of input characters, the set of strings comprising permutations of respective input characters in the subset of the sequence and characters corresponding to neighbor keys of the keys corresponding to the respective input characters on the layout of the keyboard, wherein for each permutation; a respective character at a respective position in the permutation is either a corresponding input character at a corresponding position in the sequence of input characters or a character corresponding to an adjacent, neighbor key of the key corresponding to the corresponding input character in the predefined layout; and
,after generating the set of strings; instructions for identifying in a dictionary one or more candidate words, each candidate word having a string in the set of strings as a prefix; instructions for scoring the candidate words; instructions for selecting a subset of the candidate words based on predefined criteria; and instructions for presenting the subset of the candidate words.
-
-
15. A portable electronic device, comprising:
-
display means; input means, the input means having a predefined layout with a plurality of keys, each respective key in the plurality of keys corresponding to a single respective character, each respective key in the predefined layout having one or more neighbor characters; one or more processor means; memory means; and a program mechanism, wherein the program mechanism is stored in the memory means and configured to be executed by the one or more processors means, the program mechanism including; instructions for receiving a sequence of input characters from the input means; instructions for generating a set of strings from at least a subset of the sequence of input characters, the set of strings comprising permutations of respective input characters in the subset of the sequence and characters corresponding to neighbor keys of the keys corresponding to the respective input characters on the layout of the input means, wherein for each permutation; a respective character at a respective position in the permutation is either a corresponding input character at a corresponding position in the sequence of input characters or a character corresponding to an adjacent, neighbor key of the key corresponding to the corresponding input character in the predefined layout; and
,after generating the set of strings; instructions for identifying in a dictionary one or more candidate words, each candidate word having a string in the set of strings as a prefix; instructions for scoring the candidate words; instructions for selecting a subset of the candidate words based on predefined criteria; and instructions for presenting the subset of the candidate words.
-
Specification