System and method for recognizing word patterns in a very large vocabulary based on a virtual keyboard layout
First Claim
1. A method of recognizing words, comprising:
- accepting a stroke as an input on a virtual keyboard coupled to a computer, the computer programmed to perform the steps of;
defining word patterns of a plurality of known words by a plurality of paths, wherein each path connects elements in the known word on the virtual keyboard, wherein the virtual keyboard comprises virtual keys, each virtual key representing a letter in a word without a temporary target letter being placed adjacent to a location of a stroke;
processing the stroke using a combination of a plurality of channels, each channel selectively measuring a different aspect of a similarity of the stroke to a plurality of possible paths on the virtual keyboard;
converting each different aspect of the stroke'"'"'s similarity to probability estimates;
a shape channel of the plurality of channels measuring a shape aspect of the stroke, and outputting a probability estimate;
a location channel of the plurality of channels measuring location aspect of the stroke, and outputting a probability estimate, wherein the location channel measures the location aspect of the stroke concurrently with the shape channel measuring the shape aspect of the stroke;
mathematically integrating, using Bayes'"'"' theorem, the probability estimates of the plurality of channels to produce integrated probability estimates of candidate words corresponding to the stroke; and
based on the integrated probability estimates of the candidate words, recognizing the stroke as a known word.
8 Assignments
0 Petitions
Accused Products
Abstract
A word pattern recognition system based on a virtual keyboard layout combines handwriting recognition with a virtual, graphical, or on-screen keyboard to provide a text input method with relative ease of use. The system allows the user to input text quickly with little or no visual attention from the user. The system supports a very large vocabulary of gesture templates in a lexicon, including practically all words needed for a particular user. In addition, the system utilizes various techniques and methods to achieve reliable recognition of a very large gesture vocabulary. Further, the system provides feedback and display methods to help the user effectively use and learn shorthand gestures for words. Word patterns are recognized independent of gesture scale and location. The present system uses language rules to recognize and connect suffixes with a preceding word, allowing users to break complex words into easily remembered segments.
-
Citations
39 Claims
-
1. A method of recognizing words, comprising:
-
accepting a stroke as an input on a virtual keyboard coupled to a computer, the computer programmed to perform the steps of; defining word patterns of a plurality of known words by a plurality of paths, wherein each path connects elements in the known word on the virtual keyboard, wherein the virtual keyboard comprises virtual keys, each virtual key representing a letter in a word without a temporary target letter being placed adjacent to a location of a stroke; processing the stroke using a combination of a plurality of channels, each channel selectively measuring a different aspect of a similarity of the stroke to a plurality of possible paths on the virtual keyboard; converting each different aspect of the stroke'"'"'s similarity to probability estimates; a shape channel of the plurality of channels measuring a shape aspect of the stroke, and outputting a probability estimate; a location channel of the plurality of channels measuring location aspect of the stroke, and outputting a probability estimate, wherein the location channel measures the location aspect of the stroke concurrently with the shape channel measuring the shape aspect of the stroke; mathematically integrating, using Bayes'"'"' theorem, the probability estimates of the plurality of channels to produce integrated probability estimates of candidate words corresponding to the stroke; and based on the integrated probability estimates of the candidate words, recognizing the stroke as a known word. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 21, 22, 30, 31, 32, 33, 34, 35, 36, 37, 38)
-
-
13. A shorthand symbol system for recognizing words, comprising:
-
a graphical keyboard layout for accepting a stroke as an input, wherein the keyboard layout contains a set of characters forming elements in the word without a temporary target element being placed adjacent to a current stroke location; a storage for storing word patterns of a plurality of paths, wherein each path connects a set of letters received from the graphical keyboard layout; a pattern recognition engine that recognizes a word pattern by processing the stroke using a combination of a plurality of channels, each channel selectively processing, in parallel, a different aspect of the stroke in relation to the plurality of the paths on the graphical keyboard layout and producing an output representing a probability estimate for a candidate word, one channel of the plurality of channels processing a location-based similarity probability estimate, another channel of the plurality of channels processing a shape-based similarity probability estimate, still another channel of the plurality of channels processing a path-based similarity probability estimate, and yet another channel of the plurality of channels processing a language context-based similarity probability estimate; and a computer for producing a probability estimate of a candidate word, wherein the computer produces the probability estimate of the candidate word by first serially applying the output of each channel of the plurality of channels alone and separately, and if a recognized word cannot be identified from the output of any one channel, then the computer mathematically integrates outputs of at least two channels of the plurality of channels to produce an integrated probability estimate of the candidate word. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20)
-
-
23. A method of recognizing words, comprising:
- using a computer to perform the steps of;
defining word patterns of a plurality of known words by a plurality of paths, wherein each path connects elements in the known word on a virtual keyboard, wherein the virtual keyboard comprises virtual keys, each virtual key representing a character, each character forming an element in a word; accepting a stroke as a candidate word inputted on the virtual keyboard; recognizing a word pattern by processing the stroke using a combination of a plurality of channels, each channel selectively processing a different aspect of the stroke, one channel of the plurality of channels determining a weighted location-based similarity probability estimate from a location-based similarity probability estimate; determining a time spent inputting the stroke; modifying the weighted location-based similarity probability estimate according to a path of the stroke on the virtual keyboard and the time spent inputting the stroke, to produce an output of the one channel, wherein modifying further comprises; calculating a total normative time of inputting the stroke for each word i, as follows;
where Dk,k+1 is a distance between the kth and the (k+1)th letters of word i on the keyboard;
W is a key width, n is a number of letters in the word; and
a and b are two constants in Fitts'"'"' law,calculating a total normative time of inputting the stroke for all words of a gesture production, as follows;
ta=Σ
tn(i)and if ta≦
tn(i), then a ratio tn(i)/ta is used to adjust distribution of the probability estimates so as to lower the weight of the location channel; andmathematically integrating outputs of the plurality of channels to produce an integrated probability estimate of the candidate word. - View Dependent Claims (24, 25, 26, 27, 28, 29, 39)
where y is a variable between 0 and 1, and where θ
is a weighting coefficient.
- using a computer to perform the steps of;
Specification