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