On-line connected handwritten word recognition by a probabilistic method
First Claim
1. Handwriting recognition apparatus, comprising:
- handwriting transducer means having an output providing temporally-ordered stroke coordinate information generated by a writer while writing, in a cursive manner, a word that includes at least one letter;
a pre-processor, comprising,a splicer having an input coupled to said output of said handwriting transducer means for partitioning the temporally ordered stroke coordinate information into a plurality of frames, each frame containing at least a portion of a stroke; and
a frame shape recognizer coupled to an output of said Splicer for assigning to each frame a probability that the portion of a stroke that is contained within a frame fj is a part of a letter belonging to an alphabet ai ;
said handwriting apparatus further comprising a word recognizer having an input coupled to an output of said pre-processor and an output for outputting a most probable word that was written by the writer, said word recognizer comprising,a vocabulary model stored within said handwriting recognition apparatus and containing a plurality of words, each of the words including at least one character, said vocabulary model being organized as a data structure having a root node, a plurality of intermediate nodes each representing a letter of the alphabet ai belonging to at least one word, and a plurality of leaf nodes each representing a terminal letter of a word; and
a decoder processor having a first input coupled to an output of said pre-processor and a second input coupled to an output of said vocabulary model, said decoder processor including means for processing, in turn, each of said frames in cooperation with said vocabulary model to determine a most probable letter-frame alignment and for identifying a most probable word written by the writer to be output from said word recognizer.
1 Assignment
0 Petitions
Accused Products
Abstract
Methods and apparatus are disclosed for recognizing handwritten words in response to an input signal from a handwriting transducer. The method includes the steps of: (a) partitioning the input signal into N frames; and (b) processing words from a vocabulary model to determine, for each processed word, a probability that the word represents a written word that is conveyed by the input signal. The determined probability is a function of N letter-frame alignment probabilities and also a probability based on a grouping of the N frames into L groups, where L is a number of letters in the word. A further step (c) identifies a word having a highest determined probability as being a most-likely word that is conveyed by the input signal. The determined probability is also a function of (a) a probability based on a frequency of occurrence of words and portions of words within a selected language model; and (b) when processing a frame other than the Nth frame, a number of frames that remain to be processed. In one embodiment of the invention all words in the vocabulary model are searched in parallel, thereby significantly reducing the recognition time. The use of a beam search technique is illustrated to perform the parallel search. Also, this invention teaches the use of hashing to increase the speed of the beam search technique.
-
Citations
36 Claims
-
1. Handwriting recognition apparatus, comprising:
-
handwriting transducer means having an output providing temporally-ordered stroke coordinate information generated by a writer while writing, in a cursive manner, a word that includes at least one letter; a pre-processor, comprising, a splicer having an input coupled to said output of said handwriting transducer means for partitioning the temporally ordered stroke coordinate information into a plurality of frames, each frame containing at least a portion of a stroke; and a frame shape recognizer coupled to an output of said Splicer for assigning to each frame a probability that the portion of a stroke that is contained within a frame fj is a part of a letter belonging to an alphabet ai ; said handwriting apparatus further comprising a word recognizer having an input coupled to an output of said pre-processor and an output for outputting a most probable word that was written by the writer, said word recognizer comprising, a vocabulary model stored within said handwriting recognition apparatus and containing a plurality of words, each of the words including at least one character, said vocabulary model being organized as a data structure having a root node, a plurality of intermediate nodes each representing a letter of the alphabet ai belonging to at least one word, and a plurality of leaf nodes each representing a terminal letter of a word; and a decoder processor having a first input coupled to an output of said pre-processor and a second input coupled to an output of said vocabulary model, said decoder processor including means for processing, in turn, each of said frames in cooperation with said vocabulary model to determine a most probable letter-frame alignment and for identifying a most probable word written by the writer to be output from said word recognizer. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A method for operating a handwriting recognition apparatus, comprising the steps of:
-
outputting temporally ordered stroke coordinate information generated by a writer while writing, in a cursive manner, a word that includes at least one character; operating a handwriting recognition pre-processor in response to outputted stroke coordinate information by the steps of, operating a splicer to perform a step of partitioning the outputted temporally ordered stroke coordinate information into a plurality of frames, each frame containing at least a portion of a stroke; and operating a frame shape recognizer to perform a step of assigning to each frame a probability that the portion of a stroke that is contained within a frame fj is a part of a letter belonging to an alphabet ai ; the method further comprising a step of operating a word recognizer for outputting a most probable word that was written by the writer by the steps of, performing an initial step of storing a vocabulary model as a data structure within a memory of the handwriting recognition apparatus, the data structure being organized to have a root node, a plurality of intermediate nodes each representing a letter of the alphabet ai belonging to at least one word, and a plurality of leaf nodes each representing a terminal letter of a word; and operating a decoder processor to process, in turn, each of the frames in cooperation with information retrieved from the vocabulary model to determine a most probable letter-frame alignment for identifying a most probable word written by the writer for output from the word recognizer. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18)
-
-
19. A method for recognizing handwriting that includes cursively written words, comprising the steps of:
-
storing a vocabulary model organized as a trie data structure having a root node, a plurality of intermediate nodes each representing a letter of an alphabet ai belonging to at least one word, and a plurality of leaf nodes each representing a terminal letter of a word; outputting to a data processor, from a handwriting transducer, temporally ordered stroke coordinate information generated by a writer while cursively writing a word that includes at least one letter; partitioning, with the data processor, the outputted temporally ordered stroke coordinate information into a plurality of frames, each frame containing at least a portion of a stroke; operating the data processor to determine a probability that the portion of a stroke that is contained within a frame fj is a part of a letter belonging to the alphabet ai ; and operating the data processor to access the stored vocabulary model to process, in parallel, a plurality of the nodes of the vocabulary model with, in turn, each of the frames to identify a most probable word written by the writer.
-
-
20. A method for recognizing handwriting that includes cursively written words, comprising the steps of:
-
storing a vocabulary model organized as a trie data structure having a root node, a plurality of intermediate nodes each representing a letter of an alphabet ai belonging to at least one word, and a plurality of leaf nodes each representing a terminal letter of a word; outputting to a data processor, from a handwriting transducer, temporally ordered stroke coordinate information generated by a writer while cursively writing a word that includes at least one letter; partitioning, with the data processor, the outputted temporally ordered stroke coordinate information into a plurality of frames, each frame containing at least a portion of a stroke; operating the data processor to determine a probability that the portion of a stroke that is contained within a frame fj is a part of a letter belonging to the alphabet ai ; and operating the data processor to access the stored vocabulary model to process, with a beam search technique, the nodes of the vocabulary model with, in turn, each of the frames to identify a most probable word written by the writer. - View Dependent Claims (21, 22, 23, 24, 25)
-
-
26. A method for recognizing handwritten words in response to an input signal from a handwriting transducer, comprising the steps of:
-
performing an initial step of preparing models for each letter that may be included within a word belonging to a vocabulary of words; storing the prepared letter models; operating a data processor to perform the steps of, partitioning the input signal into a plurality of frames, each frame including at least one portion of a handwritten stroke; determining for each frame a likelihood that the portion of the stroke contained therein is a portion of a letter belonging to a predetermined letter set; based on the prepared letter models, (1) choosing one word from a vocabulary at a time; (2) for a word chosen from the vocabulary, and in accordance with the likelihoods determined for each frame, finding a most-likely letter and frame alignment and a likelihood score that indicates a probability that the input signal was generated in response to a writing that corresponds to the chosen word; (3) repeating steps 1 and 2 for all words in the vocabulary; and for a letter and frame alignment that gives the best likelihood score, identifying the corresponding word from the vocabulary as being a most-likely word that corresponds to the input signal.
-
-
27. A method for recognizing handwritten words in response to an input signal from a handwriting transducer, comprising the steps of:
-
performing an initial step of preparing models for each letter that may be included within a word belonging to a vocabulary of words; storing the prepared letter models; operating a data processor to perform the steps of, partitioning the input signal into a plurality of frames, each frame including at least one portion of a handwritten stroke; determining for each frame a likelihood that the portion of the stroke contained therein is a portion of a letter belonging to a predetermined letter set; based on the prepared letter models, processing in parallel all words from a vocabulary to determine, for each word in the vocabulary, and in accordance with the likelihoods determined for each frame, a most-likely letter and frame alignment and a likelihood score that indicates a probability that the input signal was generated in response to a writing that corresponds to the word in the vocabulary; and for a letter and frame alignment that gives the best likelihood score, identifying the associated word from the vocabulary as being a most-likely word that corresponds to the input signal.
-
-
28. A method for recognizing handwritten words in response to an input signal from a handwriting transducer, comprising the steps of:
-
partitioning the input signal into N frames; operating a data processor to determine for each of the N frames a probability that the portion of the input signal contained therein is a portion of a letter belonging to a predetermined letter set;
accessing a vocabulary model with the data processor to retrieve a word therefrom;processing the retrieved word to determine a probability that the word represents a written word that is conveyed by the input signal, the determined probability being a function of N letter-frame alignment probabilities and also being a function of a probability based on a grouping of the N frames into L groups, where L is a number of letters in the word being processed; and identifying a word having a highest determined probability as being a most-likely word that is conveyed by the input signal. - View Dependent Claims (29, 30, 31, 32)
-
-
33. Apparatus for recognizing handwritten words in response to an input signal from a handwriting transducer means, comprising:
-
a splicer for partitioning the input signal into N frames; a frame shape recognizer coupled to an output of said splicer for assigning to each of said N frames a probability that the portion of a stroke that is contained within a frame fj is a part of a letter belonging to an alphabet ai ; a vocabulary model that is coupled to a data processor for being accessed thereby; said data processor including means for processing words read from said vocabulary model to determine, for each processed word, a probability that the word represents a written word that is conveyed by the input signal, the determined probability being a function of N letter-frame alignment probabilities and also a probability based on a grouping of the N frames into L groups, where L is a number of letters in the word; and means for identifying a word having a highest determined probability as being a most-likely word that is conveyed by the input signal.
-
-
34. A method for recognizing handwritten words in response to an input signal from a handwriting transducer, comprising the steps of:
-
receiving an input signal from a handwriting transducer, the input signal including temporally ordered stroke coordinate information; and operating a data processor to perform the steps of, partitioning the input signal into N frames; assigning to each of said N frames a probability that a portion of the input signal that is contained within a frame fj is a part of a letter belonging to an alphabet ai ; accessing a vocabulary model that stores a plurality of words; processing words read from the vocabulary model in accordance with a beam search technique to determine, for each processed word, a probability that the word represents a written word that is conveyed by the input signal; and identifying a word having a highest determined probability as being a most-likely word that is conveyed by the input signal;
whereinthe step of processing maintains a stack for storing a plurality of the determined probabilities;
whereinthe step of processing further maintains a hash table having entries, each of the entries storing an individual one of the plurality of determined probabilities; and
whereinthe step of processing includes a step of accessing an entry within the hash table to compare a currently determined probability against a determined probability that is stored within the entry of the hash table. - View Dependent Claims (35, 36)
-
Specification