Method and mechanism for providing partial results in full context handwriting recognition
First Claim
1. A method for recognizing a handwritten character previously input into a computer system when another character has been input into the system thereafter, comprising the steps of:
- receiving a plurality of current alternates corresponding to a latest handwritten character, each of the current alternates having information associated therewith corresponding to a probability, and after each latest handwritten character is received;
determining a cost from each of the current alternates to each of the previous alternates of a previously input handwritten character, the cost based on probability information of each previous alternate, probability information of each current alternate and a transition cost therebetween;
determining a lowest cost from each of the current alternates to one of the previous alternates, and,if the lowest cost of each of the current alternates is to a common previous alternate, recognizing the common previous alternate as a code point for the previous character.
2 Assignments
0 Petitions
Accused Products
Abstract
A method and mechanism for displaying partial results of full context handwriting recognition. As handwritten characters are entered into a system, a shape matcher associates the character with a plurality of alternate code points, with each alternate code point having probability information associated therewith. The alternate code points are placed at the end of a queue, and a cost is determined from each alternate code point to any immediately preceding alternate in the queue. The cost is based on the probability information of the alternates and a transition cost therebetween. Then, the lowest cost path back from each of the alternates at the end of the queue to an alternate at the beginning of the queue is determined. If each lowest cost path back converges to a common alternate in the queue, the common alternate and any previous alternates on the path back are recognized as the code points for each of the handwritten characters associated therewith. Because further context cannot affect change the value of these code points, the alternates corresponding to these code points are removed from the queue, and the code points appropriately displayed on a screen as recognized characters, to allow editing thereof. The ability to provide partial results with no loss of accuracy may be extended to include the case where the language model is an arbitrarily complex non-determinsitic state machine including the case where the state machine may be generated from a dictionary.
70 Citations
35 Claims
-
1. A method for recognizing a handwritten character previously input into a computer system when another character has been input into the system thereafter, comprising the steps of:
-
receiving a plurality of current alternates corresponding to a latest handwritten character, each of the current alternates having information associated therewith corresponding to a probability, and after each latest handwritten character is received; determining a cost from each of the current alternates to each of the previous alternates of a previously input handwritten character, the cost based on probability information of each previous alternate, probability information of each current alternate and a transition cost therebetween; determining a lowest cost from each of the current alternates to one of the previous alternates, and, if the lowest cost of each of the current alternates is to a common previous alternate, recognizing the common previous alternate as a code point for the previous character. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A mechanism for recognizing at least one handwritten character previously input into a computer system when another character has been input into the system thereafter, comprising:
-
means for receiving a set of a plurality of current alternates corresponding to a latest handwritten character, each of the current alternates having information associated therewith corresponding to a probability; and a recognition mechanism operating as each set of current alternates is received to attempt to recognize based on the information associated with the current alternates at least one character that has been previously input into the computer system, the recognition mechanism including; means for determining a cost from each of the current alternates to each of the previous alternates of a previously input handwritten character, the determination based on probability information of each previous alternate, probability information of each current alternate and a transition cost therebetween; means for determining a lowest cost from each of the current alternates to one of the previous alternates, means for detecting when the lowest cost of each of the current alternates is to a common previous alternate, and, means for recognizing the common previous alternate as a code point for the previous character when the lowest cost of each of the current alternates is to a common previous alternate. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. In a computer system, a method of recognizing at least one handwritten character entered into the system as subsequent handwritten characters are entered into the system, wherein each handwritten character is associated with a plurality of alternate code points therefor, with each alternate code point having probability information associated therewith, the method comprising the steps of, placing the alternate code points for each handwritten character entered at the end of a queue, and after each handwritten character is entered, determining a cost from each alternate in the queue to any immediately preceding alternate in the queue, the cost based on the probability information of the alternates and a transition cost therebetween, determining the lowest cost path back from each of the alternates at the end of the queue to an alternate at the beginning of the queue, and determining if each lowest cost path back converges at a common alternate in the queue, and if so, recognizing the common alternate and any alternates previous thereto on the path back as the code points for each of the handwritten characters associated therewith.
-
20. In a computer system, a method of recognizing at least one handwritten character entered into the system based on the context of a subsequent handwritten character entered into the system, comprising the steps of:
-
(a) receiving an entered handwritten character, and as each handwritten character is received; (b) passing the handwritten character to a shape matcher and receiving a plurality of alternates therefor from the shape matcher, each alternate having a cost associated therewith corresponding to the likelihood of matching the character; (c) identifying the received alternates as a set of currently active alternates; (d) appending the alternates to a queue; (e) determining if there is a previous set of alternates prior to the currently active alternates in the queue, and if not, returning to step (a); (f) determining the cost from each of the currently active alternates to each of the alternates in the previous set of alternates, the determination based on the cost of each previous alternate, the cost of each currently active alternate and a transition cost therebetween; (g) determining the lowest cost path from each of the currently active alternates to one of the previous alternates and associating a backpointer with each of the lowest cost paths; (h) if the backpointers of each of the current alternates point to a common previous alternate, recognizing the common previous alternate as a code point for the previous character, following backpointers on a path from the common previous alternate through any earlier alternates thereof until the beginning of the queue is reached, recognizing each earlier alternate on the path as a code point for each earlier character, and returning to step (a); and (i) if the backpointers of each of the current alternates do not point to a common previous alternate, re-identifying the set of currently alternates as the previous alternates having backpointers thereto, and returning to step (e).
-
-
21. A system for recognizing hand written characters input thereto, comprising:
-
a shape matcher, the shape matcher providing a plurality of alternates for each hand written character input, each of the plurality of alternates having probability information associated therewith; and a context analyzer interfaced with the shape matcher to analyze shape information associated with at least one prior character with reference to a selected character and shape information associated with at least one subsequent character with reference to the selected character to recognize at least one hand written character before an entire character string has been input, the context analyzer recognizing at least one handwritten character based on the probability information and transition costs between the alternates. - View Dependent Claims (22, 23, 24, 25, 26)
-
-
27. A system for recognizing and outputting code points corresponding to hand written characters input thereto, comprising:
-
a shape matcher for providing shape information for each hand written character input, the shape information including a plurality of alternates and probability information for each alternate; and a context analyzer connected to the shape matcher to analyze the shape information associated with a selected character and the shape information associated with at least one prior character relative to the selected character, the context analyzer recognizing at least one hand written character before an entire character string has been input by analyzing at least two paths back from at least two of the alternates of the selected character to at least one of the alternates of at least one prior character that has been previously input into the system to determine when the paths converge on a common alternate based on the probability information and transition costs between the alternates, and outputting a code point based on the common alternate. - View Dependent Claims (28, 29)
-
-
30. A computer-readable medium having computer-executable instructions for performing steps comprising:
-
maintaining a sequence of at least one set of alternates and any backpointers to the alternates in each set, each set of alternates corresponding to a previous handwritten character; receiving a new handwritten character as a current character, and as each current character is input into the system; (a) receiving a plurality of current alternates for the current handwritten character, each of the current alternates having information associated therewith corresponding to a probability; (b) determining a path cost from each of the current alternates to each of the alternates of a most-recent set in the sequence, each path cost based on the probability information of each current alternate, probability information of each alternate of the most-recent set, and a transition cost therebetween; (c) for each current alternate, determining which alternate of the most-recent set has a lowest path cost thereto, and providing a backpointer to that alternate; (d) selecting as a currently selected group each alternate of the most-recent set of alternates that has at least one backpointer thereto; (e) determining if the backpointers converge at a single alternate of the currently selected group, and if so, (i) recognizing the single alternate as a recognized code point; and (ii) determining if any sets precede the currently selected group in the sequence, and if so, for each preceding set, selecting the preceding set as the currently selected group, selecting as the single alternate the alternate having a backpointer from the alternate corresponding to the recognized code point, and repeating step (e)(i) until no sets precede the currently selected group; and if not; (iii) determining if any sets precede the currently selected group in the sequence, and if so, selecting the currently selected group as a formerly selected group, selecting as the currently selected group each alternate in the previous set of alternates that has at least one backpointer thereto from the formerly selected group, and returning to step (e). - View Dependent Claims (31, 32, 33, 34, 35)
-
Specification