-
Gebiet der
Erfindung
-
Die
vorliegende Erfindung gemäß Anspruch 1
bezieht sich auf eine diakritisch Verarbeitung für die Erkennung einer zwanglosen
Online-Handschrift durch Verwenden einer Vorwärtssuche.
-
Hintergrund
der Erfindung
-
Eine
Handschrift ist ein Prozess mit einer inhärenten zeitlichen Struktur;
sie umfasst einen Stift, der zur rechten Zeit entlang einer Trajektorie
geführt wird.
Eine solche zeitliche Information geht jedoch verloren, wenn ein
eingegebenes Script von einer Seite gescannt wird (das heißt, "Offline"-Erkennung), aber
eine zeitliche Information steht zur Verfügung, wenn das eingegebene
Script durch Verwenden eines Digitalisierungstabletts erfasst wird
(das heißt "Online"-Erkennung). Eine
Erkennung in dem Offline- Fall
ist schwierig, da es notwendig ist, sich mit überlappenden oder berührenden
Zeichen, unabsichtlichen Anhebungen des Stiftes und unterschiedlichen
Strichbreiten zu beschäftigen.
Solche Ereignisse ändern
manchmal das topologische Muster von Zeichen in dem eingegebenen
Script wesentlich. Diese Ereignisse haben jedoch wenig oder keinen
Einfluss auf das dynamische Muster der Bewegung bei dem Schreiben.
Als ein Ergebnis verwenden Online-Erkennungssysteme üblicherweise
zeitbasierte Darstellungsschemata.
-
Zeitbasierte
Darstellungen sind jedoch ebenso Gegenstand einer Quelle von Fehlinformationen. Zum
Beispiel kann der Buchstabe "E" durch Verwenden
mehrerer Stifttrajektorien geschrieben werden, wodurch zeitliche
Variationen erzeugt werden, die in seiner statischen Darstellung
nicht ersichtlich sind. Während
solche Trajektorienvariationen in isolierten Zeichen relativ groß sein können, geht
man davon aus, dass die Zahl von Variationen begrenzt ist, wenn normalerweise
zusammenhängend
("run-on text") geschrieben wird.
-
Eine
andere Schwierigkeit mit zeitbasierten Darstellungen besteht in
verzögerten
diakritischen Zeichen ("diacriticals"). Ein verzögertes diakritisches Zeichen
ist ein Stück
Tinte, das verwendet wird, um ein Zeichen zu vervollständigen,
das jedoch nicht unmittelbar nach dem letzten Teil dieses Zeichens
folgt. 1 stellt zum Beispiel ein Beispielbild für das Wort "city" dar, das kursiv
geschrieben ist, mit diakritischen Zeichen in der Reihenfolge, in
der der Körper,
der i-Punkt und das t-Kreuz des Wortes geschrieben wurden. Wie gezeigt,
wird das Wort "city" normalerweise mit
drei Tintenteilen geschrieben – der
erste Tintenteil macht den Hauptkörper des Wortes aus, der zweite Tintenteil
ist der Punkt auf dem "i" und der dritte Tintenteil
ist das Kreuz des "t". Verzögerte diakritische Zeichen
stellen ein Problem für
zeitlich angeordnete Darstellungen dar, weil nicht alle Belege für ein Zeichen
zusammenhängend
sein müssen.
-
Verzögerte diakritische
Zeichen führen
eine deutliche Komplexität
in die Konstruktion einer Online-Handschriftenerkennungsvorrichtungen
("handwriting recognizer") ein, weil ein Verarbeiten
der verzögerten
diakritischen Zeichen ein Umordnen der Zeitdomäneninformation erfordert. Wie
oben in 1 gezeigt, ist es bei dem Kursivschreiben üblich, den Körper eines "t", "j", oder "i" (und manchmal eines "x" oder "f")
zu schreiben, während
das Wort geschrieben wird, und dann zurückzukehren und wenn das Wort
vollständig
ist, den Buchstaben mit einem Punkt oder Kreuz zu versehen. Auslassungszeichen
können
auf eine ähnliche
Art und Weise ebenso am Ende des Wortes geschrieben werden. Eine
Schwierigkeit ergibt sich, weil die Erkennungsvorrichtung, wenn
sie einen dieser Zeichens erreicht, vorausschauen muss, um das später in dem
eingegebenen Script erscheinende Zeichen zu finden, das das Zeichen
vervollständigt.
-
Ein
Abtasten des eingegebenen Scripts über eine gewisse Entfernung
in die Zukunft, um mögliche diakritische
Zeichen zu identifizieren, Entfernen der möglichen diakritischen Zeichen
in einem Vorverarbeitungsschritt und Verknüpfen der möglichen diakritischen Zeichen
mit entsprechenden Zeichen, die vorher in dem Wort vorkamen, ist
ein bisher vorgeschlagenes Verfahren, um das Problem einer Verarbeitung
verzögerter
diakritischer Zeichen zu behandeln. Die Identifizierung und Entfernung
möglicher
diakritischer Zeichen kann als eine einleitende Operation durchgeführt wer den
(wie in L. Schomaker, "Using
stroke- oder characterbased self organizing maps in the recognition
of on-line, connected cursive script", Pattern Recognition, 26(3): 443–450, 1993, beschrieben),
aber dieser Ansatz ist fehleranfällig, weil
Zeichen, die keine diakritischen Zeichen sind, fälschlicherweise identifiziert
und entfernt werden können
und echte diakritische Zeichen übersehen und/oder
ausgelassen werden können.
-
Ein
weiteres Problem mit diesem Ansatz besteht darin, dass das Verfahren
schließlich
Tinte verwerfen kann, die für
eine Begriffserklärung
wertvoll ist (zum Beispiel zwischen einem kursiven "i" und einem kursiven "e" oder
zwischen einem kursiven "t" und einem kursiven "l").
-
Zu
versuchen, die diakritischen Zeichen bei einer besseren Position
neu einzufügen
(wie in C. C. Tappert, "A
Divide-And-Conquer Cursive Script Resognizer", Research Report, IBM Watson Research Center,
1988; und P. Morasso, L. Barberis, S. Pagliano und D. Vergano, "Recognition experiments
of cursive dynamic handwriting with self-organizing networks", Pattern Recognition,
26(3): 451–460,
1993, beschrieben) ist ein weiteres bisher vorgeschlagenes Verfahren,
um das Problem einer Verarbeitung von verzögerten diakritischen Zeichen
zu behandeln. Eine Schwierigkeit mit diesem Ansatz besteht darin, dass
es sehr oft nicht klar ist, an welcher Stelle des Wortes das diakritische
Zeichen verknüpft
werden soll; im Besonderen, weil diese diakritischen Zeichen üblicherweise
unachtsam angeordnet werden. Die nächste Stelle in dem Wort entspricht
möglicherweise
nicht dem vorgesehenen Standort des diakritischen Zeichens.
-
Zeitbasierte
Darstellungsschemata sehen eine unbekannte eingegebene Tinte als
eine Sequenz von Merkmalsvektoren, Y = y1,
y2, ..., yT. Jeder dieser
Vektoren stellt typischerweise geometrische Eigenschaften eines
kurzen zusammenhängenden Tintenfragmentes
(das heißt
eines Strichs) dar, wie in 2 gezeigt.
Ein Paaren eines jeden dieser Vektoren, yt,
mit einem Hinweis, ob jene Abschnitte der Tinte später durch
ein diakritisches Zeichen horizontal bedeckt werden oder nicht (wie
in M. Schenkel, I. Guyon und D. Henderson, "On-line cursive script recognition using
time-delay neural networks and hidden markov models", IEEE Conf. on Acoustics, Speech
and Signal Processing, Australia, 1994; und G. Seni, "Large Vocabulary
Recognition of On-Line Handwritten Cursive Words", IEEE Transactions on Pattern Analysis
and Machine Intelligence, 18(6), beschrieben) ist noch ein weiteres
bisher vorgeschlagenes Verfahren, um das Problem verzögerter diakritischer
Zeichen zu behandeln. Das Problem mit diesem Ansatz besteht darin,
dass er keine genaue Buchführung
der Tinte zulässt,
das heißt,
dieser Ansatz stellt nicht sicher, dass jedes Stück Tinte in der Eingabe genau
einmal verwendet wird.
-
Ein
Artikel mit dem Titel 'On-Line
Cursive Script Recognition: A User-Adaptive System for Word Identification' von Laurent Duneau
und Bernadette Dorizzi, in Pattern Recognition, Pergamon Press Inc., Band
29, Nr. 12, Seiten 1981–1994,
1. Dezember 1996, beschreibt eine Worterkennungstechnik, die den
Schreibstil eines beliebigen spezifischen Anwenders, direkt von
einem Satz aus wenigen Beispielen von Wörtern, durch Verwenden zweier
Lernverfahren automatisch lernt. Die Technik verbessert fortlaufend ihre
Funktionen auf eine anwendertransparente Art und Weise. Um Probleme
zu behandeln, die mit diakritischen Zeichen verknüpft sind,
werden die diakritischen Zeichen entfernt und die horizontale Position eines
jeden diakritischen Zeichens wird behalten.
-
Das
US-Patent Nr. 5,559,897 offenbart ein Verfahren zum Durchführen einer
Handschriftenerkennung aus graphischen Bildrohdaten, das zum Teil eine
Anwendung von stochastischen Modelliertechniken in Verbindung mit
einer Sprachmodellierung umfasst.
-
Somit
gibt es einen Bedarf an einem Verfahren und einer Vorrichtung, die
es erlauben, eine Zahl von verschiedenen Behandlungen möglicher
diakritischer Zeichen zu testen, um zu bestimmen, ob es besser ist,
ein gegebenes Stück
Tinte als ein diakritisches Zeichen zu behandeln oder nicht, und
die die zwei Ergebnisse durch eine Einstufung ("by score") direkt vergleichen und eine strenge
Buchhaltung der Tinte einhalten.
-
Kurze Beschreibung
der Zeichnungen
-
Es
wird nun eine bevorzugte Ausführungsform
der vorliegenden Erfindung nur beispielhaft mit Bezug auf die begleitenden
Zeichnungen beschrieben, in denen:
-
1 ein
Beispielbild eines kursiv geschriebenen Wortes mit diakritischen
Zeichen darstellt;
-
2 das
Beispielbild des Wortes in 1 geteilt
in eine Sequenz von Merkmalsvektoren darstellt;
-
3 ein
Blockdiagramm einer Systemarchitektur für eine Online-Erkennungsvorrichtung gemäß der bevorzugten
Ausführungsform
der vorliegenden Erfindung darstellt;
-
4 eine
entsprechende Liste von diakritischen Zeichen für das Beispielbild des Wortes
in 1 gemäß der bevorzugten
Ausführungsform
der vorliegenden Erfindung darstellt;
-
5 eine
Abbildung zwischen der Liste von diakritischen Zeichen und einem
Bit-Feld gemäß der bevorzugten
Ausführungsform
der vorliegenden Erfindung darstellt;
-
6 eine
typische Struktur einer Theorie gemäß der bevorzugten Ausführungsform
der vorliegenden Erfindung darstellt;
-
7 ein
spezifisches Beispiel gemäß der bevorzugten
Ausführungsform
der vorliegenden Erfindung darstellt;
-
8 einen
Suchbaum für
ein Verzeichnis für 7 gemäß der bevorzugten
Ausführungsform der
vorliegenden Erfindung darstellt; und
-
9 ein
allgemeines Blockdiagramm gemäß der bevorzugten
Ausführungsform
der vorliegenden Erfindung darstellt.
-
Ausführliche Beschreibung der bevorzugten
Ausführungsform
-
Hierin
wird ein Verfahren und eine Vorrichtung beschrieben, die es erlauben,
eine Zahl von verschiedenen Behandlungen möglicher diakritischer Zeichen
zu testen, um zu bestimmen, ob es besser ist, ein gegebenes Stück Tinte
als ein diakritisches Zeichen zu behandeln oder nicht, und die die
zwei Ergebnisse durch eine Einstufung direkt vergleichen und eine
strenge Buchführung
der Tinte einhalten. Die Verwendung einer Vorwärtssuche (wie in J. J. Odell,
V. Valtchev, P. C. Woodland, S. J. Young, "A one pass decoder design for large
vocabulary recognition".
Proc. Human Language Technology Workshop, Plainsboro, NJ, März 1994,
beschrieben) stellt der vorliegenden Erfindung einen natürlichen
Mechanismus zur Verfügung,
um alternative Behandlungen von diakritischen Zeichen und Zeichen,
die ein diakritisches Zeichen enthalten, zu berücksichtigen. Die bevorzugte
Ausführungsform
der vorliegenden Erfindung erzeugt Theorien, die verschiedene Behandlungen
von diakritischen Zeichen umfassen, und stuft sie ein, wodurch gewährleistet
wird, dass die normalen Wettbewerbsmechanismen der Vorwärtssuche bestimmen,
welche Theorien überleben,
um sich auszubreiten.
-
Außerdem berücksichtigt
die bevorzugte Ausführungsform
der vorliegenden Erfindung die in hypothetischen diakritischen Zeichen
enthaltene Tinte. Im Besonderen stellt die bevorzugte Ausführungsform
der vorliegenden Erfindung sicher, dass, wenn ein gegebenes Stück Tinte
als ein diakritisches Zeichen verwendet wird (zum Beispiel als der
Punkt auf einem "i"), das selbe gegebene
Stück Tinte
nicht später
noch einmal entweder als ein diakritisches Zeichen oder ein getrenntes
Zeichen verwendet wird. Die bevorzugte Ausführungsform der vorliegenden Erfindung
stellt weiterhin sicher, dass, wenn ein Stück Tinte nicht als ein diakritisches
Zeichen verwendet wird, das Stück
Tinte als ein anderes Zeichen verwendet werden muss, oder umgekehrt,
die Theorie muss dadurch bestraft werden, dass sie die Tinte nicht
verwendet.
-
Es
wird auf 3 Bezug genommen, darin wird
ein Blockdiagramm einer Systemarchitektur für eine Online-Erkennungsvorrichtung
gemäß der bevorzugten
Ausführungsform
der vorliegenden Erfindung dargestellt. Das System 10 umfasst
drei Module, ein Vorprozessormodul 12, ein Zeichennerkennungsmodul 20 und
ein Suchmodul 30. Das Vorprozessormodul 12 verfügt über einen
Eingang 14, um Tinte zu empfangen, einen ersten Ausgang 16,
um eine Sequenz von Merkmalsvektoren 17 auszugeben, und
einen zweiten Ausgang 18, um eine Liste von diakritischen
Zeichen 19 (oben ausführlich
beschrieben) auszugeben.
-
Das
Zeichenerkennungsmodul 20 ist an das Vorprozessormodul 12 gekoppelt.
Das Zeichenerkennungsmodul 20 verfügt über einen ersten Eingang 22,
um die Sequenz von Merkmalsvektoren 17 zu empfangen, einen
zweiten Eingang 24, um die Liste der diakritischen Zeichen 19 zu
empfangen, einen dritten Eingang 26, um eine Zeicheneinstufungsabfrage 37 (unten
ausführlich
beschrieben) zu empfangen, und einen Ausgang 28, um eine
Erkennungseinstufung 29 (unten ausführlich beschrieben) in Reaktion
auf die Zeicheneinstufungsabfrage 37 auszugeben.
-
Das
Suchmodul 30 ist an das Zeichenerkennungsmodul 20 und
das Vorprozessormodul 12 gekoppelt. Das Suchmodul 30 verfügt über einen
ersten Eingang 32, um eine Länge der Sequenz der Merkmalsvektoren 17 zu
empfangen, einen zweiten Eingang 34, um die Erkennungseinstufung 29 zu
empfangen, einen ersten Ausgang 36, um die Zeicheneinstufungsabfrage 37 auszugeben,
und einen zweiten Ausgang 38, um in Rangordnung gebrachte
Interpretationsstrings auszugeben. Außerdem ist mindestens eines
der folgenden Module an das Suchmodul 30 gekoppelt: ein
Wort- und Leitungssegmentierungslogikmodul 40, ein Verzeichnis 42 und
ein Sprachmodell 44.
-
Die
bevorzugte Ausführungsform
der vorliegenden Erfindung berücksichtigt
effizient und genau jedes mögliche
diakritische Zeichen in der Tinte. Ein effizientes und genaues Berücksichtigen
eines jeden diakritischen Zeichens in der Tinte wird zuerst durch Berücksichtigen
eines einzelnen Wortes eingeführt, das
vollständig
geschrieben wird, bevor eine Erkennung beginnt. Der erste Schritt
umfasst, dass das Vorprozessormodul 12 ähnliche diakritische Zeichen durch ein
Abtasten der Tinte identifiziert. Gute, in Frage kommende diakritische
Zeichen sind kurze, einfache Stücke
Tinte. Wie in 4 gezeigt, wird eine Liste dieser
diakritischen Zeichen 19 entsprechend dem Beispielbild
für das
Wort "city" in 1 und 2 gebildet.
Den Strich 13 beginnen und den Strich 13 beenden,
wobei 13 den Merkmalsvektor y13 darstellt, entspricht
dem Punkt des "i" in dem in 2 dargestellten
Wort "city". Den Strich 15 beginnen
und den Strich 15 beenden, wobei 15 den Merkmalsvektor
y15 darstellt, bezieht sich auf das Kreuz
des "t" in dem in 2 dargestellten
Wort "city".
-
Bei
der Erkennungszeit, wenn die Tinte mit der Suche durchlaufen ("traversed") wird, werden die Zeichen,
die diakritische Zeichen enthalten, dadurch verarbeitet, dass sie
zweimal eingestuft werden. Eine Variante des Zeichens, das diakritische
Zeichen enthält,
wird ohne ein Hinzufügen
eines diakritischen Zeichens eingestuft. Die andere Variante des
Zeichens, das diakritische Zeichen enthält, wird dadurch eingestuft,
dass ein am besten geeignetes diakritisches Zeichen aus der Liste
der diakritischen Zeichen ausgewählt
wird und die Tinte für
den Körper des
Zeichens zusammen mit der Tinte für das diakritische Zeichen
dem Zeichenerkennungsmodul 20 für eine Einstufung vorgelegt
wird.
-
Ein "Fuzzy"-Logikverfahren wird
verwendet, um das am besten geeignete diakritische Zeichen zu identifizieren.
Zum Beispiel entwickelt das Zeichenerkennungsmodul 20,
wenn das Zeichenerkennungsmodul 20 nach einem t-Kreuz sucht,
eine Einstufung für
jedes diakritische Zeichen in er Liste 19 durch Verwenden
einer gewichteten Summe von verschiedenen Messungen, die umfassen:
den Abstand des Mittelpunktes des diakritischen Zeichens von dem
Mittelpunkt des Zeichenkör pers,
das Ausmaß,
bis zu dem das diakritische Zeichen eine kurze, horizontale Linie
ist, die breiter als hoch ist, und so weiter (wie in G. Seni, "External Word Segmentation
of Off-line Handwritten Text Lines", Pattern Recognition, 27(1), Januar
1994, beschrieben). Das diakritische Zeichen, das am höchsten eingestuft
wird, ist das diakritische Zeichen, das verwendet wird, um an eine
Zeichenhypothese zur Einstufung angehängt wird.
-
Nachdem
das Zeichenerkennungsmodul 20 das Zeichen, das ein diakritisches
Zeichen enthält, auf
beide Weisen eingestuft hat (mit und ohne ein diakritisches Zeichen),
nimmt das Suchmodul 30 die am besten eingestufte Variante
und verwendet diese als die Einstufung für eine Zeichentheorie. In einer suchbasierten
Erkennungsvorrichtung besteht eine Theorie aus einer aktuellen Zeichenhypothese
sowie einer Aufzeichnung eines Zeichenstrings, der der aktuellen
Zeichenhypothese vorangeht. Jede Theorie codiert somit eine Interpretation
der gesamten bis zu einem Punkt durch die Suche verarbeiteten Tinte.
-
Um
die Verwendung (oder Nichtverwendung) eines diakritischen Zeichens
richtig zu berücksichtigen
und um diese Information vorwärts
zu tragen, da Theorien fortbestehen, um sich zu nachfolgenden Zeichen
auszubreiten, wird eine Datenstruktur (zum Beispiel ein 32-Bit Bitfeld) 50,
die über
eine Mehrzahl von Dateneinheiten verfügt, als ein Mittel zum Aufzeichnen
der diakritischen Zeichen, die vorher an dieser Stelle verwendet
worden sind, zu jeder Theorie hinzugefügt. 5 stellt
eine Abbildung zwischen der Liste der diakritischen Zeichen 19 und
dem Bitfeld 50 dar. Jedes Bit in dem Bitfeld entspricht
einem Eintrag in der Liste der diakritischen Zeichen 19. Die
Inhalte des Bitfeldes 50 werden in jede neue Theorie kopiert,
wenn sie durch Ausbreitung erzeugt wird, so dass jede Theorie weiß, welche
diakritischen Zeichen vorher durch die Theorien verwendet worden
sind, die ihr vorangingen.
-
6 ist
eine typische Struktur der Theorie in einer Vorwärtssuche, die erweitert wurde,
um auf diakritische Zeichen bezogene Felder zu umfassen. Diakritische
Zeichen starten (StartDiacs) ist das Bitfeld, das von der Elterntheorie übernommen
worden ist. Diakritische Zeichen (Diac) ist das Bitfeld der diakritischen
Zeichen, die durch das Modell dieser Theorie verwendet werden. Verwendete
diakritische Zeichen beenden (ExitUsedDiacs) ist ein logisches UND von
StartDiacs und Diac, das an Nachfolgetheorien weiterzugeben sind.
Die gestrichelten Felder, Score und Diac, werden berechnet, aber
in der Theorie nicht tatsächlich
gespeichert.
-
Es
wird nun in dem Beispiel fortgefahren, darin setzt das Zeichenerkennungsmodul 20 das
zweite Bit in dem Bitfeld, wenn das beste t-Kreuz bei der Eintragungszahl
Zwei in der Liste der diakritischen Zeichen 19 angeordnet
ist. Ein Einstellen des zweiten Bit in dem Bitfeld zeigt an, dass
die der Eintragungszahl Zwei entsprechende Tinte als ein diakritisches Zeichen
verwendet wird.
-
Das
oben beschriebene Buchhaltungsverfahren stellt eine extrem kompakte
Speicherung für vorher
verwendete diakritische Informationen zur Verfügung und es erlaubt dem System 10,
sehr effizient zu prüfen,
dass ein Stück
Tinte genau einmal verwendet wird. In dem Schritt, in dem das Zeichenerkennungsmodul 20 das
am besten geeignete diakritische Zeichen für ein gegebenes Zeichen identifiziert, kann
das Zeichenerkennungsmodul 20 es ablehnen, irgend ein diak ritisches
Zeichen zu verwenden, das vorher verwendet worden ist, einfach durch
Prüfen des
geeigneten Bits in dem Bitfeld, das der Theorie anhängt (wie
vorher dargelegt, ist dies eine binäre UND-Operation, was gewöhnlich eine
einzelne Taktzyklenanweisung ist). Genauso kann es das Zeichenerkennungsmodul 20 ablehnen,
ein Zeichen einzustufen (oder kann ihm eine sehr schlechte Einstufung
geben), der Tinte verwendet, die irgendein vorher verwendetes diakritisches
Zeichen überlappt.
-
Darüber hinaus
stellt die vorliegende Erfindung weiter sicher, dass, wenn ein Stück Tinte
nicht als ein diakritisches Zeichen verwendet wird, es als ein anderes
Zeichen verwendet werden muss, oder umgekehrt, die Theorie muss
dafür bestraft
werden, dass sie sie nicht verwendet. Wenn zum Beispiel das Zeichenerkennungsmodul 20 eine
Wortende (EOW)-Theorie
einstuft, kann es prüfen,
dass die gesamte nachfolgende Tinte als ein diakritisches Zeichen
verwendet worden ist. Dies ist häufig
der Fall, wenn diakritische Zeichen an dem Ende des Wortes geschrieben
werden – das
letzte Zeichen endet, aber es noch etwas Tinte in der ursprünglichen
Schreibfolge gibt, die im Verlauf eines Verarbeitens der verschiedenen
t's, i's, x's und Auslassungszeichen
in dem Körper
des Wortes verwendet worden sein sollte. Soweit die gesamte Tinte
vorher nicht verwendet worden ist, oder schlimmer, überhaupt
nicht in der Liste der diakritischen Zeichen 19 auftaucht,
betrachtet das Zeichenerkennungsmodul 20 die Theorie mit Argwohn
und bestraft die Theorie.
-
An
diesem Punkt ist eine effiziente und genaue Buchhaltung für jedes
diakritische Zeichen in dem Schreiben, durch Berücksichtigen eines einzelnen
Wortes, das vollständig
geschrieben wurde, bevor die Erkennung beginnt, gemäß der bevorzugten Ausführungsform
der vorliegenden Erfindung beschrieben worden. Die nachfolgende
Diskussion berücksichtigt
nun die Erkennung eines größeren Textstückes gemäß der bevorzugten
Ausführungsform der
vorliegenden Erfindung. Es wird ersichtlich, dass die Zahl der diakritischen
Zeichen in der Liste der diakritischen Zeichen 19 die Größe des Bitfeldes schließlich übersteigt,
wenn ein größeres Textstück erkannt
wird. Als ein Ergebnis wird ersichtlich, dass das System 10 gezwungen
sein wird, die Größe der Theoriestrukturen
zu erhöhen,
wenn das System 10 die verzögerten diakritischen Zeichen
genau berücksichtigen
soll, und die oben beschriebene Effizienz geht verloren. Das oben
beschriebene Verfahren macht es jedoch nicht erforderlich, dass
das System 10 die Größe der Struktur
erhöht,
um die verzögerten diakritischen
Zeichen genau zu berücksichtigen,
weil das oben beschriebene Verfahren einen Vorteil aus der zeitsynchronen
Art der Vorwärtssuche
zieht.
-
Da
es eine zeitsynchrone Art der Vorwärtssuche gibt, ignoriert das
System 10 die entsprechende Tinte, nachdem die Suche den
Punkt überschritten hat,
an dem das diakritische Zeichen tatsächlich geschrieben worden ist,
das heißt,
die Tinte muss entweder früher
als ein diakritisches Zeichen oder jüngst als Teil eines Zeichens
verwendet worden sein. In beiden Fällen wird die Tinte berücksichtigt
und das System braucht die Tinte nicht länger zu verfolgen.
-
Um
einen Vorteil aus der zeitsynchronen Art der Vorwärtssuche
zu ziehen und dem System 10 zu erlauben, Tinte in der Liste
der diakritischen Zeichen zu ignorieren, die schon berücksichtigt
worden ist, wird die Liste der diakritischen Zeichen 19 in
einen Ring umgewandelt, in dem die ältesten diakritischen Zeichen
ersetzt werden, nachdem der Suchpunkt über sie hinausgegangen ist.
Der einfachste Ansatz, um das Konzept des Umwandelns der Liste der
diakritischen Zeichen 19 in einen Ring zu implementieren,
besteht darin, die ersten zweiunddreißig diakritischen Zeichen (oder
welche Zahl von Bits auch immer das System in dem Bitfeld verwendet)
in Schreibreihenfolge durch ein Abtasten der Tinte zu finden und
dann die Abtastung zu stoppen. Da das Suchmodul 30 nach
der Tinte sucht, die einer Tinte entspricht, die diakritische Zeichen
in der Liste der diakritischen Zeichen 19 darstellt, wird
Tinte, die ein diakritisches Zeichen darstellt, durch Neustarten
der Abtastung, wo die Abtastung zuvor aufgehört hat, durch Tinte ersetzt,
die ein nächstes
mögliches
diakritisches Zeichen in Schreibreihenfolge darstellt.
-
Ein
Umwandeln der Liste der diakritischen Zeichen 19 in einen
Ring verleiht der vorliegenden Erfindung die Fähigkeit, jedes mögliche diakritische Zeichen
in dem Schreiben effizient und genau zu berücksichtigen, mit zwei Einschränkungen.
Die erste Einschränkung
besteht darin, dass diakritische Zeichen nach dem Zeichen geschrieben
werden müssen,
in dem sie erscheinen – andernfalls
kann das Vorprozessormodul 12 die diakritischen Zeichen nicht
verwerfen, nachdem der Suchpunkt über sie hinausgegangen ist,
weil die diakritischen Zeichen benötigt werden, um ein Zeichen
in der Zukunft zu vervollständigen.
In der Praxis schließt
dies ein Schreiben aus, bei dem ein t-Kreuz vor dem Wort geschrieben
wird und dann das Wort unter das t-Kreuz geschrieben wird, um es zu verknüpfen und
das Zeichen "t" zu vervollständigen.
Dies ist ein entarteter Fall und die Forschung auf dem Gebiet der
Handschriftenerkennung hat bisher niemanden beobachtet, der versucht
hat, auf diese Weise zu schreiben. Es ist wichtig zu beachten, das
die erste Beschränkung
nur für
vorgreifende diakritische Zeichen gilt. Es ist völlig akzeptabel das t-Kreuz
zuerst zu zeichnen und dann sofort den Körper des "t" zu
zeichnen. Ein Zeichnen des t-Kreuzes, das unmittelbar von dem Körper des "t" gefolgt wird, erhält noch den normalen Links-rechts-Fluss des
Schreibens und die Suche erzeugt automatisch eine Zeichenhypothese,
die die ganze relevante Tinte umfasst.
-
Die
zweite Beschränkung
ist genauso gering wie die erste Beschränkung. Der Schreiber muss alle Zeichen
in einem Wort durch Schreiben der entsprechenden diakritischen Zeichen
vervollständigen,
bevor er zu weit in seinem Schreiben vorangeht. Wenn der Schreiber
einen vollständigen
Satz schreibt, bevor er einen i-Punkt in dem ersten Wort setzt,
wird die Liste der diakritischen Zeichen 19 voll sein,
bevor der Punkt erreicht ist. Im Allgemeinen vervollständigen die
Leute jedes Wort wenn es geschrieben ist, bevor sie zu dem nächsten Wort
weitergehen. Es ist somit keine unangemessene Einschränkung eines
realen Systems, eine solche Beschränkung zu fordern.
-
Es
wird auf 3 zurück verwiesen, darin wird eine
vollständige
Analyse des Betriebs des Systems 10 allgemein beschrieben.
Das Vorprozessormodul 12 führt einige niedere Operationen
mit der Rohtinte aus, wie zum Beispiel Neuabtasten, Filtern, Glätten und
Größennormalisierung
(wie in W. Guerfali und R. Plamandon, "Normalizing and Restoring On-Line Handwriting", Pattern Recognition,
26(3); 419–431,
1993, beschrieben). Das Vorprozessormodul 12 segmentiert
die gereinigte und normalisierte Tinte in eine Sequenz der Merkmalsvektoren 17 (zum Beispiel
Y = y1, y2, ...,
yT) und identifiziert die möglichen
diakritischen Zeichen 19 (zum Beispiel D = d1, d2, ..., dnD). Die
Sequenz der Merkmalsvektoren Y 17 und die Liste der diakritischen
Zeichen D 19 werden dem Zeichenerkennungsmodul 20 zur
Verfügung
gestellt. Die Länge
der Sequenz der Merkmalsvektoren 17 wird dem Suchmodul 30 zugeführt, das
T Einstufungsausbreitungsschritte betreibt.
-
Bei
jedem Zeitschritt wird die beobachtete Eingabe y mit einem Satz
offener Theorien verglichen und eine Wahrscheinlichkeit der Theorie,
die die Eingabe erzeugt, wird in die aktuelle Einstufung der Theorie
multipliziert. Zu jeder Zeit ist eine Theorie ein Produkt von n
Wahrscheinlichkeiten, eine für
jeden Zeitschritt. Die Theorien werden direkt verglichen und eine
Teilmenge kann für
eine zukünftige Einstufung
ausgewählt
werden. Jede Theorie verfügt über die
Möglichkeit
sich auszubreiten, um einen Satz neuer Theorien zu erzeugen, die
mögliche
Vervollständigungen
von den Äußerungen
von dem aktuellen Zeitpunkt codieren. Durch eine sorgfältige Steuerung
der Rate einer neuen Theorieausbreitung und Zerstörung überholter
Theorien wird das exponentielle Wachstum des Suchraums gesteuert.
-
Wahrscheinlichkeiten
werden durch ein Senden der Zeicheneinstufungsabfragen 37 von
dem Suchmodul 30 an das Zeichenerkennungsmodul 20 erzeugt.
Diese Zeicheneinstufungsabfragen 37 spezifizieren das Zeichen,
das mit der besagten Theorie verknüpft ist, den Zeitschritt, wann
die Theorie erzeugt wurde, den aktuellen Zeitschritt und ein Bitfeld, mit
Bits, die gesetzt sind, um vorher verwendete diakritische Zeichen
anzuzeigen. Das Zeichenerkennungsmodul 20 reagiert mit
einer Erkennungseinstufung 29 und aktualisiert das diakritische
Bitfeld, wenn ein nicht verwendetes diak ritisches Zeichen durch die
gegebene Merkmalshypothese beansprucht wird. Am Ende der T Zeitschritte
gibt das Suchmodul 30 eine in Rangfolge gebrachte Liste
möglicher
Interpretationsstrings aus, die die eingegebene Tinte darstellt.
-
Um
weiter auszuführen,
stellen 7 und 8 ein spezifisches
Suchbeispiel mit diakritischen Zeichen dar. In diesem Beispiel ist
die eingegebene Tinte für
das Wort "it" in sechs Merkmalsvektoren
geteilt worden und zwei mögliche
diakritische Zeichen sind identifiziert worden, wie in 7 gezeigt.
Das Beispiel nimmt weiter ein Verzeichnis von nur zwei Wörtern an – nämlich "in" und "it". Dementsprechend beginnt
der Decodierprozess bei dem Zeitschritt Eins (t = 1) durch Erzeugen
einer Theorie für
das Zeichen "i". Eine Abfrage, diese
Zeichentheorie einzustufen, wird an das Zeichenerkennungsmodul 20 gesendet, das
eine Einstufung von 0,9 und eine Anzeige, das erste diakritische
Zeichen in der Liste der diakritischen Zeichen 19 verwendet
zu haben, zurücksendet.
-
Diese "i"-Theorie breitet sich dann in zwei Nachfolgetheorien
aus, einer für
das Zeichen "n" und einer für das Zeichen "t". Daher gibt es bei dem Zeitschritt
Zwei (t = 2) drei aktive Theorien. Es ist wichtig zu beachten, dass
die neu erzeugten Theorien ihr Bitfeld der verwendeten diakritischen
Zeichen sowie ihre Einstufung von der "i"-Theorie übernehmen.
Bei t = 2 hat die "i"-Theorie eine schlechte
Einstufung und somit wird die "i"-Theorie von einer
weiteren Berücksichtigung
ausgeschlossen.
-
Andererseits
verfügen
die "n"-Theorie und die "t"-Theorie über eine
halbwegs gute Einstufung und breiten sich somit in EOW-Theorien
aus. Am Ende von t = 2 zeigt das Diac-Bitfeld in der "t"-Theorie an,
dass das Zeichenerkennungs modul 20 das zweite mögliche diakritische
Zeichen aus der Liste der diakritischen Zeichen 19 verwendete.
Dieses diakritische Zeichen ist richtig, ist aber auch das einzige
zur Verfügung
stehende diakritische Zeichen, da das StartDiacs-Bitfeld der Theorie anzeigt, dass die
Eintragsnummer Eins vorher durch eine Elterntheorie verwendet wurde.
-
Bei
dem Zeitschritt Drei (t = 3) verfügen die "n"-Theorie und die "t"-Theorie über eine schlechte Einstufung
und werden daher deaktiviert; die EOW-Theorien verfügen über eine
gute Einstufung und bleiben weiterhin aktiv. Bei dem letzten Zeitschritt,
dem Zeitschritt Sechs (t = 6), verfügt die EOW-Theorie, die sich
auf das Wort "in" bezieht, über eine
schlechte Einstufung, weil sie für
eines der zwei möglichen
diakritischen Zeichen Tinte unberücksichtigt lässt. Die
EOW-Theorie, die sich auf das Wort "it" bezieht,
verfügt
jedoch über
eine gute Einstufung, weil die zwei diakritischen Zeichen vorher
bei früheren
Zeitschritten verwendet wurden.
-
9 stellt
ein allgemeines Blockdiagramm gemäß der bevorzugten Ausführungsform
der vorliegenden Erfindung dar. Das oben beschriebene System wird
vorzugsweise auf einem Speichermedium 52 gespeichert, auf
dem ein Satz von Anweisungen gespeichert ist, der, wenn er in einen
Mikroprozessor 54 geladen wird, den Mikroprozessor 54 veranlasst, einen
Tintenstrom einer handgeschriebenen Eingabe abzutasten, um mögliche diakritische
Zeichen zu identifizieren, eine Liste von diakritischen Zeichen
zu erzeugen, den Tintenstrom zu durchlaufen, einen möglicherweise
ein diakritisches Zeichen enthaltenden Zeichen zu verarbeiten, den
ein diakritisches Zeichen enthaltenden Zeichen mit einem ausgewählten diakritischen
Zeichen aus der Liste von diakriti schen Zeichen einzustufen, um
eine Einstufung zu erzeugen, die Einstufung für eine Theorie zu verwenden, wobei
die Theorie eine aktuelle Zeichenhypothese und eine Aufzeichnung
eines Zeichenstrings, der der aktuellen Zeichenhypothese vorausgeht,
ein Bitfeld der Theorie hinzuzufügen,
wobei jedes Bit in dem Bitfeld einem Eintrag in der Liste der diakritischen
Zeichen entspricht, und da eine neue Theorie durch Ausbreitung erzeugt
wird, die Inhalte des Bitfeldes in die neue Theorie zu kopieren,
wobei ein Bit in dem Bitfeld der Theorie entsprechend dem ausgewählten diakritischen
Zeichen gesetzt wird.
-
Alternativ
wird das oben beschriebene System auf einem Speichermedium 52 gespeichert,
auf dem ein Satz von Anweisungen gespeichert ist, der, wenn er in
einen Mikroprozessor 54 geladen wird, den Mikroprozessor 54 veranlasst,
einen Tintenstrom einer handgeschriebenen Eingabe abzutasten, um mögliche diakritische
Zeichen zu identifizieren, eine Liste von diakritischen Zeichen
zu erzeugen, den Tintenstrom zu durchlaufen, einen möglicherweise
ein diakritisches Zeichen enthaltenden Zeichen zu verarbeiten, den
ein diakritisches Zeichen enthaltenden Zeichen ohne ein diakritisches
Zeichen hinzuzufügen einzustufen,
um eine erste Einstufung für
eine erste Variante des möglicherweise
ein diakritisches Zeichen enthaltenden Zeichen zu erzeugen, den
ein diakritisches Zeichen enthaltenden Zeichen mit mindestens einem
aus der Liste der diakritischen Zeichen ausgewähltem diakritischen Zeichen
einzustufen, um mindestens eine zweite Einstufung für mindestens
eine zweite Variante des möglicherweise
ein diakritisches Zeichen enthaltenden Zeichens zu erzeugen, die
erste Einstufung mit der mindestens zweiten Einstufung zu vergleichen,
um eine Entschei dung zu treffen, welche Variante des möglicherweise
ein diakritisches Zeichen enthaltenden Zeichens eine höchste Einstufung
erzeugt, die höchste Einstufung
als eine Einstufung für
eine Theorie zu verwenden, wobei die Theorie eine aktuelle Zeichenhypothese
und eine Aufzeichnung eines Zeichenstrings, der der aktuellen Zeichenhypothese
vorangeht, umfasst, und die Entscheidung aufzuzeichnen.
-
Obwohl
die Erfindung in Verbindung mit einer seiner spezifischen Ausführungsform
beschrieben worden ist, kommen dem Fachmann auf dem Gebiet leicht
zusätzliche
Vorteile und Modifikationen in den Sinn. In ihren breiteren Aspekten
ist die Erfindung daher nicht auf die spezifischen Einzelheiten,
charakteristischen Vorrichtungen und veranschaulichenden Beispielen
beschränkt,
die gezeigt und erklärt
wurden. Verschiedene Änderungen,
Modifikationen und Variationen werden dem Fachmann auf dem Gebiet im
Lichte der vorangehenden Beschreibung in den Sinn kommen. Zum Beispiel
können
mehrere Alternativen, mit und ohne diakritische Zeichen, erzeugt und
unabhängig
vorwärts
ausgebreitet werden. Ein Erzeugen mehrerer Alternativen beseitigt
Beschneidungen und jede mögliche
Interpretation der Eingabe wird erzeugt. Somit ist klar, dass die
Erfindung durch die vorangehende Beschreibung nicht begrenzt wird, sondern
alle solche Änderungen,
Modifikationen und Variationen gemäß dem Umfang der angehängten Ansprüche einbezieht.