garye@hp-ptp.HP.COM (Gary_Ericson) (10/28/89)
I've asked questions from time-to-time about handwriting recognition, and I thought I'd jump in here and do it one more time. In scanning through the research in this area (most of the references I've found are, unfortunately, fairly old), I've learned that there are two camps: trained systems and un-trained systems. (I'm thinking in terms of real-time handwriting recognition, not static recognition such as scanning a pre-printed page.) A trained system is one which learns the handwriting of a particular user by having the user write characters over and over. The system draws some conclusions from the similarities between different instances of the same letter and creates a description of that letter for the user. The user is required to write each letter (or symbol) repeatedly a certain number of times until the system is sufficiently trained. An un-trained system uses (typically AI) techniques to decipher the handwriting of (hopefully) any user by examining the character written. As I understand, the trained system, once it's trained, interprets characters faster than the un-trained system. But the un-trained system can be used immediately by anyone without going through the tedious training process. I'm wondering this: has anyone successfully put the two systems together? Here's my simplistic view of such a merging. - The user writes a character. - The system uses its AI techniques to determine that this character is the letter "A". - The system stores the strokes and other info for this character into its training database as the first training instance of "A". - Sometime later, the user enters another character which the system interprets as an "A", using its AI techniques. - The info for this gets stored as the second training instance of "A". - These instances of "A" continue to be stored until the system feels it is sufficiently trained on "A". - The user writes a character. - This time, the system compares the character against its database for "A" before trying its AI techniques. If it matches, then it knows it has an "A". If it doesn't, then it proceeds to interpret using the regular AI techniques. If a trained system is really faster, then it seems to me that the result of a system like this (if it were possible) would be that the system would respond slowly the first few times a particular character was encountered, but it would eventually get faster at interpreting as the system got trained. The system could be used immediately by a new user, although it would initially be slow, but after a period of use, it would begin to act with the speed of a trained system and the user wouldn't have had to go through the tedious training process. Question is, has anyone developed something like this? Gary Ericson - Hewlett-Packard, Workstation Systems Division phone: (408)746-5098 mailstop: 101N email: gary@hpdsla9.hp.com