DE69907513T2 - Handgeschriebene oder gesprochene wort-erkennung mit neuronalen netzwerken - Google Patents
Handgeschriebene oder gesprochene wort-erkennung mit neuronalen netzwerkenInfo
- Publication number
- DE69907513T2 DE69907513T2 DE69907513T DE69907513T DE69907513T2 DE 69907513 T2 DE69907513 T2 DE 69907513T2 DE 69907513 T DE69907513 T DE 69907513T DE 69907513 T DE69907513 T DE 69907513T DE 69907513 T2 DE69907513 T2 DE 69907513T2
- Authority
- DE
- Germany
- Prior art keywords
- word
- words
- input data
- output matrix
- neural network
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
- 230000001537 neural effect Effects 0.000 title 1
- 238000013528 artificial neural network Methods 0.000 claims abstract description 52
- 239000011159 matrix material Substances 0.000 claims abstract description 49
- 238000000034 method Methods 0.000 claims abstract description 46
- 238000012952 Resampling Methods 0.000 claims abstract description 9
- 238000011156 evaluation Methods 0.000 claims description 12
- 238000009499 grossing Methods 0.000 claims description 5
- 238000012549 training Methods 0.000 abstract description 7
- 238000007781 pre-processing Methods 0.000 abstract description 6
- 230000008569 process Effects 0.000 description 21
- 230000003111 delayed effect Effects 0.000 description 13
- 230000015654 memory Effects 0.000 description 8
- 230000003287 optical effect Effects 0.000 description 7
- 238000012545 processing Methods 0.000 description 7
- 238000001514 detection method Methods 0.000 description 5
- 238000004422 calculation algorithm Methods 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 4
- 239000006071 cream Substances 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 4
- 230000011218 segmentation Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 235000015243 ice cream Nutrition 0.000 description 3
- 238000003062 neural network model Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 241001422033 Thestylus Species 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000019771 cognition Effects 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 238000003909 pattern recognition Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 238000010561 standard procedure Methods 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/14—Image acquisition
- G06V30/142—Image acquisition using hand-held instruments; Constructional details of the instruments
- G06V30/1423—Image acquisition using hand-held instruments; Constructional details of the instruments the instrument generating sequences of position coordinates corresponding to handwriting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/22—Character recognition characterised by the type of writing
- G06V30/226—Character recognition characterised by the type of writing of cursive writing
- G06V30/2268—Character recognition characterised by the type of writing of cursive writing using stroke segmentation
- G06V30/2272—Character recognition characterised by the type of writing of cursive writing using stroke segmentation with lexical matching
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/26—Techniques for post-processing, e.g. correcting the recognition result
- G06V30/262—Techniques for post-processing, e.g. correcting the recognition result using context analysis, e.g. lexical, syntactic or semantic context
- G06V30/268—Lexical context
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
Landscapes
- Engineering & Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Theoretical Computer Science (AREA)
- Computational Linguistics (AREA)
- Character Discrimination (AREA)
Description
- Die Erfindung betrifft im allgemeinen Computersysteme, und insbesondere die Erkennung von Handschrift und Sprache.
- Benutzer, welche versuchen, Information in einen Desktop- oder Handcomputer mittels Schreiben oder Sprache einzugeben, können viele Erkennungsfehler erfahren. Dieses verlangsamt deutlich die Geschwindigkeit, mit welcher Information eingegeben wird, und frustriert deutlich Benutzer. Eine verbesserte Erkennungsgenauigkeit wird permanent gesucht.
- Die genaue Erkennung einer kursiven Handschrift ist beispielsweise eine außerordentliche Aufgabe. Eine erste Schwierigkeit entsteht dahingehend, daß eine kursive Handschrift zu Beginn als eine große Menge von Koordinatenpaaren, die mit der Zeit über eine Digitalisiereinrichtung hereinkommen, welche in einer gewissen Weise verarbeitet werden müssen. Je höher die Auflösung der Digitalisiervorrichtung ist, desto mehr Koordinatenpaare werden geliefert. Die direkte Erkennung einer Handschrift aus den Koordinatendaten liegt außerhalb der Fähigkeiten gewöhnlicher Computer, und somit muß eine gewisse Vorverarbeitung an den Daten durchgeführt werden, um sie handlicher zu machen.
- Ein Typ einer Erkennungseinrichtung basiert auf einem zeitverzögerten neuronalen Netz. In einer derartigen Erkennungseinrichtung, die in der Veröffentlichung "Recognizing Cursive Handwriting", David E. Rummelhart, Computational Learning & Cognition, Proceedings of the Third NEC Research Symposium, wird ein neuronales Netz trainiert, um eine Anzahl von Merkmalswerten zu erzeugen, welche bekannte Worte repräsentieren. Beispielsweise repräsentieren zwei derartige Werte die Nettobewegungen in den x- bzw. y Richtungen für dieses Wort. Nach dem Training wird, wenn später versucht wird, ein Wort zu erkennen, eine unbekannte Worteingabe gemäß den Kriterien auf Merkmale hin untersucht, auf welche das neuronale Netz trainiert war, und die Merkmale dafür in das neuronale Netz eingegeben. Das neuronale Netz gibt eine Wahrscheinlichkeit für mögliche Buchstaben (a-z) in dem Wort aus und eine dynamische Programmierungsprozedur findet die am besten übereinstimmenden Worte aus einem Wörterbuch, um eine bewertete Reihenfolge der Worte zu erzeugen.
- Obwohl die vorstehende Erkennungstechnik bis zu einem bestimmten Umfang sauber arbeitet, haben Tests an einer großen Anzahl von Proben eine gemittelte Fehlerrate in der Erkennung von angenähert 17% gezeigt. Dieses ist für die meisten Benutzeranwendungen unzureichend. Somit ist, obwohl eine auf einem neuronalen Netz basierende Erkennung eine vielversprechende Erkennungstechnik ist, die Verbesserung der Erkennungsgenauigkeit notwendig, damit praktische Anwendungen diese nutzen können.
- JU H-J et al.: A neural network for 500 vocabulary word spotting using acoustic subwords units", IEEE International Conference on Acoustics, Speech an Signal Processing (ICASSP), US, Los Alamitos, CA; IEEE Comp. Soc. Press 1997, pages 3277-3280, XP000788059 ISBN 0-8166-07920-4 beschreibt ein neuronales Netzmodell basierend auf einer ungleichförmigen Einheit für eine sprecherunabhängige kontinuierliche Spracherkennung. Das Modell umfaßt drei Module. Das erste Modul segmentiert die Äußerung in nicht-gleichmäßige Einheitssegmente, und die Segmente werden von dem zweiten Modul, welches unterschiedliche Parameter für die Übergangs- und stationären Teile der Einheit verwendet, klassifiziert. Das dritte Modul detektiert Worte aus klassifizierten Einheitsserien.
- US-A-5 528 728 beschreibt ein sprecherunabhängiges Spracherkennungssystem, in welchem eine Äußerung durch eine unspezifizierte Person zum Umwandeln in ein elektrisches Signal über eine Vorrichtung, wie z. B. ein Telefon, eingegeben wird. Das Eingangssignal wird in eine Vielzahl von Kandidaten von Phonemen umgewandelt, welche gleichzeitig mit einem Referenzmuster einer Referenzkette von Phonemen für jedes Wort, das vorab in einem Wörterbuch gespeichert wurde, verglichen wird, um zu ermitteln, welche von der Phonemerkennungseinrichtung erhaltenen Phonemketten eine hohe Ähnlichkeit zu einer von den Referenzketten der Phoneme für die in dem Wörterbuch gespeicherten Worte besitzt, wobei eine vorbestimmte Wortvergleichstechnik angewendet wird. Wenigstens ein Kandidat von den Worten, welcher die höchste Ähnlichkeit zu dem entsprechenden der Referenzketten der entsprechenden Worte hat, wird als das Ergebnis der Spracherkennung ausgegeben.
- Bodenhausen U. et al.: "Connectionist architectural learning for high performance character and speech recognition", Proceedings of the International Conference on Acoustics, Speech, and Signal Processing (ICASSP), US, New York, IEEE, vol. 1, 27-30 April 1963, pages 625-628, XP000399199 ISBN0-7803-0946-4 beschreibt einen automatischen Strukturoptimierungsalgorithmus, der auf mehrstufige neuronale Netze mit Zeitverzögerung angewendet wird, um eine zeitaufwendige manuelle Optimierung zu vermeiden. Das System wird für Spracherkennungs- und Handschrifterkennungs-Aufgaben mit unterschiedlichen Mengen von Trainingsdaten verwendet.
- SHI H et al.: "Lexicon-driven handwritten word recognition using Choquet Fuzzy Integral" IEEE International Conference on Systems, Man, Cybernetics, US, New York. IEEE, 1996, pages 412-417, XP000729948 ISBN; 0-7803-32814 beschreibt ein Lexikon-gesteuertes Handschriftenwort-Erkennungssystem mit einem Vergleichsalgorithmus, der die beste Segmentation eines Wortbildes findet, das jeder Wortkette in dem Lexikon unter dem von einer Vergleichsfunktion definierten Kriterium entspricht. Die Vergleichsfunktion sammelt die Zeichenübereinstimmungsauswertungen, um die Wortübereinstimmungsauswertung zu erzielen. Das Choquet Fuzzy Integral wird als eine Vergleichsfunktion für den Vergleichsvorgang verwendet.
- Es ist die Aufgabe der vorliegenden Erfindung, ein Verfahren und ein System bereitzustellen, das die Erkennungsgenauigkeit einer Handschriften- oder Spracherkennungseinrichtung auf der Basis eines zeitverzögerten neuronalen Netzes verbessert.
- Die vorstehende Aufgabe wird durch den Gegenstand der unabhängigen Ansprüche 1 und 15 gelöst. Bevorzugte Ausführungsformen sind Gegenstand der abhängigen Ansprüche.
- Kurz gesagt stellt die vorliegende Erfindung ein System und ein Verfahren bereit, das die Erkennungsgenauigkeit einer Handschriften- oder Spracherkennungseinrichtung auf der Basis eines zeitverzögerten neuronalen Netzes über Verbesserungen in der Vorverarbeitung und eine verbesserte Architektur des neuronalen Netzmodells verbessert. Zur Handschriftenerkennung unterteilt in einem ersten Vorverarbeitungsschritt ein Unterteilungsmechanismus die von Hand geschriebene elektronische Tinte des Benutzers in Tintenlinien oder alternativ in vorgeschlagene Worte. Ein zweiter Schritt glättet und tastet (mittels eines Mechanismus, um dasselbe zu implementieren) die Tinte noch einmal ab, um jede Variabilität zu reduzieren, welche sich aus unterschiedlichen Schreibgeschwindigkeiten und Größen ergibt, und beseitigt auch um spitze Kanten. Die nochmalige Abtastung basiert auf der zweiten Ableitung der Tinte über einen speziellen Bereich, welcher die Anzahl von Punkten an den Kurven und Scheiteln eines Zeichens in Gegensatz zu den geraden Abschnitten eines Zeichens betont. Ein dritter Schritt überprüft die geglättete Tinte in zeitlicher Reihenfolge, um verzögerte Striche, wie z. B. Striche von Buchstaben wie das mit einem Punkt versehene "i" oder durch das durchkreuzte "t" oder "x", welche ansonsten das neuronale Netz verwirren könnten, zu identifizieren. Verzögerte Striche werden aus der Tinte entfernt und als Merkmalsinformation aufgezeichnet.
- Eine Segmentierungseinrichtung stellt einen vierten Schritt bereit, in welchen der Erkennungsprozeß die Tinte in bestimmte Segmente auf der Basis ihrer y-Minima trennt. Eine Merkmalerzeugungseinrichtung implementiert einen fünften Schritt, um die segmentierte Tinte in eine Anzahl von Merkmalen einschließlich Chebyschev-Komponenten, Größe- und andere Strichbezogene Information zu kategorisieren. Ein sechster Schritt läßt dann die Merkmale für jedes Segment einschließlich der verzögerten Strichmerkmalsinformation durch ein zeitverzögertes neuronales Netz hindurchlaufen.
- Das zeitverzögerte neuronale Netz zeichnet das Ausgabesignal in einer x-y Matrix auf, in welcher die x-Achse die Striche über der Zeit und die y-Achse die durch das neuronale Netz für jeden Buchstaben zugeordnete Buchstaben-Ausgabesignal-Auswertungen repräsentiert. Die verbesserte Architektur des zeitverzögerten neuronalen Netzes der vorliegenden Erfindung gibt eine getrennte Auswertung dafür aus, ob ein Zeichen beginnt, oder fortgesetzt wird. In einem siebenten Schritt wird für jedes Wort oder jeden Ausdruck, aus einem Baum-strukturierten Wörterbuch oder Sprachmodell eine dynamische Zeitanpassung (DTW-Dynamic Time Warp) durchlaufen, um den wahrscheinlichsten Pfad durch die Ausgabematrix für dieses Wort oder diesen Ausdruck zu finden. Worte oder Ausdrücke sind einer Auswertung auf der Basis des am wenigsten aufwendigen Pfades zugeordnet, der durch die Ausgabematrix durchlaufen werden kann, und auf der Basis der zugeordneten Auswertungen werden die besten Worte oder Sätze von der Erkennungseinrichtung ausgegeben. Man beachte, daß der Begriff Ausdruck, so wie er hierin verwendet wird, eine Vielzahl von Worten unabhängig davon bedeuten soll, ob sie einen grammatikalisch korrekten Ausdruck, einen vollständigen Satz oder nur eine Gruppe von Worten, die nicht notwendigerweise einander zugeordnet sind, bilden.
- Eine auf Phoneminformation anstelle von Strichinformation basierende Spracherkennung kann ebenfalls die Erkennungsschritte und die verbesserte Architektur des neuronalen Netzes der vorliegenden Erfindung verwenden, um die Erkennungsgenauigkeit zu erhöhen.
- Weitere Vorteile werden aus der nachstehenden detaillierten Beschreibung in Verbindung mit den Zeichnungen ersichtlich, in welchen:
- Figur ein Blockschaltbild ist, das ein Computersystem repräsentiert, in welchem die vorliegende Erfindung angewendet werden kann;
- Fig. 2 eine Blockdarstellung ist, welche eine allgemeine Architektur einer Erkennungseinrichtung darstellt, in welcher die vorliegende Erfindung angewendet werden kann;
- Fig. 3 ein Flußdiagramm ist, das Schritte darstellt, die von der Erkennungseinrichtung unternommen werden, um Benutzereingabeinformation zu erkennen;
- Fig. 4 eine Darstellung einer Benutzereingabeprobe und möglicher daraus unterteilter Gruppierungen ist;
- Fig. 5 eine Darstellung einer weiteren Benutzereingabeprobe ist;
- Fig. 6 eine Darstellung der Benutzereingabeprobe von Fig. 5 mit daraus entfernten verzögerten Strichen ist;
- Fig. 7 eine Darstellung der Benutzereingabeprobe von Fig. 6 ist, welche die Segmentierungs- und Merkmalsstriche darstellt;
- Fig. 8 eine Darstellung eines zeitverzögerten neuronalen Netzes mit den Merkmalen von Fig. 7, eingegeben als deren Eingabeschicht, einer verborgenen Schicht, und einer Ausgabeschicht ist, die eine Matrix gemäß einem ersten Aspekt der vorliegenden Erfindung umfaßt;
- Fig. 9 eine Darstellung eines alternativen zeitverzögerten neuronalen Netzes mit den Merkmalen von Fig. 7, eingegeben als deren Eingabeschicht, einer verborgenen Schicht, und einer Ausgabeschicht ist, die eine Matrix ohne Leerzeichenausgabe umfaßt;
- Fig. 10 eine Darstellung einer weiteren Benutzereingabeprobe mit dafür von dem neuronalen Netz ausgegebenen beginnenden und Fortsetzungszeichen gemäß einem Aspekt der vorliegenden Erfindung ist;
- Fig. 11 ein Flußdiagramm ist, welches im allgemeinen darstellt, wie das höchst wahrscheinliche Wort (oder die Worte) in einem Wörterbuch aus der Ausgabematrix ausgewählt werden:
- Fig. 12 eine Darstellung der Ausgabematrix des neuronalen Netzes ist, das zur Berechnung der Kosten in einer DTW-Matrix zum Finden des kostengünstigsten Pfades dadurch gemäß einem ersten Aspekt der vorliegenden Erfindung verwendet wird;
- Fig. 13 eine Darstellung der alternativen Ausgabematrix des neuronalen Netzes ohne Leerzeichenausgabe ist, das zum Berechnen von Kosten in einer DTW-Matrix zum Finden des kostengünstigsten Pfades dadurch gemäß einem weiteren Aspekt der vorliegenden Erfindung verwendet wird; und
- Fig. 14 eine Darstellung der Ausgabematrix des neuronalen Netzes gefüllt mit Werten auf Folgezeit-basierender Pfadinformation, die in einer DTW-Matrix für ein bezeichnetes Wort berechnet wird.
- Fig. 1 und die nachstehende Diskussion sollen eine kurze allgemeine Beschreibung einer geeigneten Computerumgebung bereitstellen, in welcher die Erfindung implementiert werden kann. Obwohl nicht erforderlich, wird die Erfindung in dem allgemeinen Kontext von Computer ausführbaren Befehlen, wie z. B. Programmodulen beschrieben, welche von einem Personalcomputer ausgeführt werden. Im allgemeinen umfassen Programmodule Routinen, Programme, Objekte, Komponenten, Datenstrukturen und dergleichen, welche spezifische Aufgaben ausführen oder spezifische abstrakte Datentypen implementieren. Ferner wird der Fachmann auf diesem Gebiet deutlich erkennen, daß die Erfindung mit anderen Computersystemkonfigurationen, einschließlich Handgeräten, Multiprozessorsystemen, Mikroprozessor-basierender oder programmierbarer Consumerelektronik, Netzwerk-PCs, Minicomputern, Großcomputern und dergleichen ausgeführt werden kann. Die Erfindung kann auch in verteilten Rechnerumgebungen in die Praxis umgesetzt werden, in welcher Aufgaben von entfernten Verarbeitungsvorrichtungen durchgeführt werden, welche über ein Kommunikationsnetz miteinander verbunden sind. In einer verteilten Rechnerumgebung können Programmodule sowohl in lokalen als auch in entfernten Speichervorrichtungen angeordnet sein.
- Gemäß Fig. 1 enthält ein exemplarisches System für die Implementation der Erfindung eine Allzweck-Rechnervorrichtung in der Form eines herkömmlichen Personalcomputers 20 oder dergleichen, welcher eine Verarbeitungseinheit 21, einen Systemspeicher 22, und einen Systembus 23 enthält, welcher die verschiedenen Systemkomponenten einschließlich des Systemspeichers mit der Verarbeitungseinheit 21 verbindet. Der Systembus 23 kann irgendeine von unterschiedlichen Arten von Busstrukturen einschließlich eines Speicherbusses oder einer Speichersteuerung oder eines Peripheriebusses und eines lokalen Busses sein, welche eine Vielfalt von Busarchitekturen verwenden. Das System enthält ein Nur-Lese-Speicher (ROM) 24 und einen Speicher mit wahlfreiem Zugriff (RAM) 25. Ein Basis-Eingabe/Ausgabe-System 26 (BIOS), das die Grundroutinen erhält, welche dazu beitragen, Information zwischen Elementen innerhalb des Personalcomputers 20 beispielsweise während des Startvorgangs zu übertragen, ist im ROM 24 gespeichert. Der Personalcomputer 20 kann ferner ein Festplattenlaufwerk 27 zum Lesen und Schreiben von einer bzw. auf eine nicht dargestellte Festplatte aufweisen, ein Magnetplattenlaufwerk 28 zum Lesen oder Schreiben von oder auf eine entnehmbare Magnetplatte 29 und ein Optoplattenlaufwerk 30 zum Lesen oder Schreiben von oder auf eine entnehmbare optische Platte 31 wie z. B. eine CD-ROM oder andere optische Medien. Das Festplattenlaufwerk 27, das Magnetplattenlaufwerk 28, und das optische Plattenlaufwerk 30 sind mit dem Systembus 23 über eine Festplattentlaufwerk- Schnittstelle 32, eine Magnetplattenlaufwerk-Schnittstelle 33 und eine Optoplattenlaufwerk-Schnittstelle 34 verbunden. Die Laufwerke und ihre zugeordneten Computerlesbaren Medien stellen eine nicht flüchtige-Speicherung von Computer-lesbaren Befehlen, Datenstrukturen, Programmodulen und anderen Daten für den Personalcomputer 20 zur Verfügung. Obwohl die hierin beschriebene exemplarische Umgebung eine Festplatte, eine entnehmbare Magnetplatte 29 und eine entnehmbare optische Platte 31 verwendet, wird der Fachmann auf diesem Gebiet erkennen, daß weitere Typen von Computer-lesbaren Medien, welche Daten speichern können, auf die der Computer zugreifen kann, wie z. B. Magnetkassetten, Flash-Speicherkarten, digitale Videoplatten, Bernoulli-Kassetten, Speicher mit wahlfreiem Zugriff (RAM's), Nur-Lese-Speicher (ROM's) und dergleichen ebenfalls in der exemplarischen Betriebsumgebung verwendet werden könnten.
- Eine Anzahl von Programmodulen kann auf der Festplatte, der Magnetplatte 29 der optischen Platte 31, in dem RAM 24 oder dem RAM 25 einschließlich eines Betriebssystems 35 (wie z. B. Windows® 2000 oder Windows® CE), eines oder mehrerer Anwendungsprogramme 36, weiterer Programmodule 37 und Programmdaten 38 gespeichert sein. Ein Benutzer kann Befehle und Information in den Personalcomputer durch Eingabevorrichtungen wie z. B. eine Tastatur 40, eine Digitalisiereinrichtung 41 und eine Zeigevorrichtung 42 eingeben. Weitere (nicht dargestellte) Eingabevorrichtungen können ein Mikrophon, ein Joystick, ein Spielfeld, eine Satellitenschüssel, ein Scanner oder dergleichen sein. Diese und weitere Eingabevorrichtungen werden oft mit der Verarbeitungseinheit 21 über eine serielle Anschlußschnittstelle 46 verbunden, die mit dem Systembus verbunden ist, können aber auch über andere Schnittstellen, wie z. B. einem parallelen Anschluß, einen Spieleanschluß oder einen universellen seriellen Bus (USB) verbunden werden. Ein Monitor 47 oder eine andere Art von Anzeigevorrichtung ist ebenfalls mit dem Systembus 23 über eine Schnittstelle wie z. B. einen Videoadapter 48 verbunden. Zusätzlich zu dem Monitor 47 umfassen Personalcomputer typischerweise weitere (nicht dargestellte) periphere Ausgabevorrichtungen, wie z. B. Lautsprecher und Drucker.
- Der Netzwerkcomputer 20 kann in einer Netzwerkumgebung unter Verwendung logischer Verbindungen mit einem oder mehreren entfernten Computern, wie z. B. einem entfernten Computer 49 arbeiten. Der entfernte Computer 49 kann ein weiterer Personalcomputer, ein Server, ein Router, ein Netzwerk-PC, eine Einzelvorrichtung oder ein anderer gemeinsamer Netzknoten sein und kann typischerweise viele oder alle von den vorstehend in Bezug auf den Personalcomputer 20 beschriebenen Elemente umfassen, obwohl nur eine Speichervorrichtung 50 in Fig. 1 dargestellt worden ist. Die in Fig. 1 dargestellten logischen Verbindungen umfassen ein lokales Netz (LAN) 51 oder ein Fernnetz (WAN) 52. Derartige Netzwerkumgebungen sind in Büros, Unternehmenscomputernetzen, Intranets und im Internet üblich.
- Wenn er in einer LAN-Netzumgebung verwendet wird, ist der Personalcomputer 20 mit dem Lokalnetz 51 über eine Netzschnittstelle oder Adapter 53 verbunden. Wenn er in einer WAN-Netzwerkumgebung verwendet wird, enthält der Personalcomputer 20 typischerweise einen Modem 54 oder eine andere Einrichtung zum Aufbauen von Verbindungen über ein Fernverkehrsnetz 52 wie z. B. das Internet. Der Modem 54, welcher intern oder extern sein kann, ist mit dem Systembus 23 über die serielle Anschlußstelle 46 verbunden. In einer Netzwerkumgebung können Programmodule, die bezüglich des Personalcomputers 20 oder von dessen Teilen bestimmt sind, in der entfernten Speichervorrichtung gespeichert sein. Man wird klar erkennen, daß die dargestellten Netzverbindungen nur exemplarisch sind und weitere Einrichtungen zum Aufbauen einer Kommunikationsverbindung zwischen den Computern verwendet werden können.
- Im allgemeinen verbessert die vorliegende Erfindung deutlich die Rate der Erkennungsgenauigkeit für kursive Handschrift. Wie es sich jedoch verstehen dürfte, ist, da die vorliegende Erfindung auf die Erkennung von Information über der Zeit ausgelegt ist, die vorliegende Erfindung auch für Spracherkennung anwendbar. Beispielsweise kann kursive Handschrift in digitalisierte x-y Koordinaten umgewandelt werden, wobei die x- Koordinate im allgemeinen mit der Zeit zunimmt. In ähnlicher Weise kann Sprache in digitalisierte Schallinformation durch Abtasten der Sprache über der Zeit umgewandelt werden, d. h., Worte umfassen Audioinformation, die sich zeitlich vorwärts bewegt (üblicherweise in der positiven x-Richtung). Somit dürfte es sich, obwohl die Erfindung primär unter Bezugnahme auf die Erkennung von handgeschriebener Information beschrieben wird, verstehen, daß die vorliegende Erfindung generell auch auf die Erkennung von Informationseingabe über der Zeit einschließlich von Sprachinformation anwendbar ist. Trotzdem wird für die Zwecke der Einfachheit und Lesbarkeit die Erfindung primär in Bezug auf Handschrifterkennung, außer wenn anderweitig angegeben, beschrieben. Ferner dürfte es sich verstehen, daß obwohl die vorliegende Erfindung für die Erkennung von Worten oder Ausdrücken anwendbar ist, sie auch eine Gruppe von einem oder mehreren alphanumerischen Symbolen verstehen kann, welche nicht notwendigerweise ein "Wort" bilden. So wie hierin verwendet, kann der Begriff "Wort" jede Gruppierung von einem oder mehreren Symbolen oder Zeichen bedeuten, beispielsweise eine Gruppe von Ziffern, die zu einer Postleitzahl kombiniert sind.
- Bei der Handschriftenerkennung wird von einem Benutzer geschriebene Tinte letztlich in eine Kette von Zeichencodes wie z. B. einen ASCII- oder Unicode-Zeichen umgewandelt. Zu diesem Zweck "schreibt" ein Benutzer elektronische Tinte auf die Digitalisiervorrichtung 41, wie z. B. durch die Bewegung einer Schreibfeder (Stiftes) quer zu einem Feld, das mit dem Computersystem 20 verbunden ist. Wie man ohne weiteres erkennen kann, kann die Digitalisiervorrichtung 41 alternativ in eine berührungsempfindliche Anzeigevorrichtung integriert sein, wodurch die Eingabetinte typischerweise dem Benutzer im wesentlichen dort angezeigt wird, wo sie geschrieben wird. In jedem Falle erzeugt die Hardware der Digitalisierungsvorrichtung Punkte, wenn sich der Stift über die x-y Koordinaten der Digitalisiervorrichtung bewegt, und das Schreiben des Benutzers wird durch die Digitalisiervorrichtung 41 als eine Folge von Strichen in einem Puffer 60 oder dergleichen (Fig. 2) gesammelt. Ein neuer Strich wird jedesmal dann erzeugt, wenn der Benutzer die Schreibfeder (den Stift) absenkt und sie anschließend abhebt, und jeder Strich besteht aus einer Reihe von x- und y-Koordinaten, welche die Punkte darstellen, wo der Stift die Digitalisiervorrichtung 41 überquert hat. Digitalisiervorrichtungen können beispielsweise Werte für überquerte Koordinaten in der Größenordnung von 1 Tausendstel eines Inch auflösen.
- Im allgemeinen verbessert die vorliegende Erfindung die Erkennung von handschriftlicher oder anderer Eingabeinformation durch die Verwendung einer verbesserten Erkennungsvorrichtung 62 (Fig. 2), welche eine Anzahl unterschiedlicher Prozesse/Schrille (Fig. 3) verwendet. Obwohl nicht alle von diesen Prozessen für die Erfindung erforderlich sind, hat sich jede als die Gesamterkennungsgenauigkeit in einem gewissen Maße verbessernd herausgestellt. Wie nachstehend beschrieben, ergeben sich Verbesserungen in der Erkennung auch aus einem verbesserten Training und aus einer verbesserten Architektur des neuronalen Netzes.
- Ein erster Prozeß unterteilt die Tinte in Gruppen mittels eines in Fig. 2 dargestellten Unterteilungsmechanismus 64 oder dergleichen beispielsweise in drei Benutzergeschriebene Zeilen digitalisierter Tinte. Die Gruppe der Tinte wird als ein Ganzes der Erkennungsvorrichtung zugeführt und wie nachstehend beschrieben normalerweise als eine Folge von bestimmten Worten erkannt.
- Alternativ kann die Tinte auf einer pro-Wort-Basis erkannt werden, wodurch der erste Prozeß die Tinte in vorgeschlagene Wortgruppierungen unterteilt. Wenn vorgeschlagene Worte verwendet werden, können die Kriterien für die Unterteilung der Tinte in die höchstwahrscheinlich vorgeschlagenen Worte darauf basieren, wie nahe zusammen unterschiedliche Striche sowohl räumlich als auch zeitlich sind, und ob genügend weißer Zwischenraum horizontal zu getrennten Teilen der Tinte besteht. Beispielsweise ist ein relativ großer Abstand in der x-Richtung zwischen Strichen typischerweise ein gutes Anzeichen für zwei unterschiedliche Worte. Man beachte jedoch, daß es keine Garantie dafür gibt, daß ein horizontaler Abstand zwischen handgeschriebenen Worten besteht, beispielsweise kann der absteigende Abschnitt des handgeschriebenen Kleinbuchstabens "g", der ein Wort beginnt, teilweise unterhalb des letzten Buchstaben des vorausgehenden Wortes liegen. Somit besteht eine andere Möglichkeit, mit welcher potentielle Worte getrennt werden können, darin, nach einer relativ langen Dauer zwischen Stiftabhebe- und Stiftabsetzzeiten zu sehen, was tendenziell ein von Benutzer gewollte Trennung vorschlägt. Ferner kann eine Überprüfung der Tinte erfolgen, um zu ermitteln, ob und wie Striche einander in der x-Richtung, y-Richtung oder beiden überlappen, um zu ermitteln, wie die Tinte in vorgeschlagene Worte gruppiert werden kann. Man beachte, daß diese pro-Wort-Alternative im allgemeinen langsamer ist, als die Einspeisung der Tinte in die Erkennungsvorrichtung als eine Gruppe einer oder mehreren Tintenlinien.
- Sehr oft kann keine einzige sichere Wortgruppierung vorliegen. Beispielsweise kann wie in der handgeschriebenen und entsprechenden Wortgruppierungen in Fig. 4 dargestellt, der Benutzer "Ice cream" (zwei Worte) geschrieben haben, oder "Ice cream" (drei Worte) und somit muß jede Wortgruppe analysiert werden. Man beachte, daß es einem menschlichen Leser der englischen Sprache in Fig. 4 ohne weiteres ersichtlich ist (mit einem hohen Grad an Wahrscheinlichkeit), was der Benutzer schreiben wollte, wobei jedoch zu diesem Zeitpunkt der Computer nur die x-y Koordinaten und die Strichinformation hat, um die Gruppierungen abzuleiten. Man beachte, daß anstelle von handgeschriebenen Worten, Fig. 4, die Phoneminformation für Schall in der Weise darstellen kann, daß, wenn er aus einer Audiovorrichtung ausgegeben wird, eine Person "I Ice cream" oder "I" "sss" "cream" usw. hören würde. Jedoch sind derartige Unterbrechungen in der Zeit generell nicht für die Spracherkennung erforderlich, da gesprochene Worte typischerweise tendenziell ineinander laufen, wobei natürliche Pausen auftreten.
- Um schließlich eine Entscheidung zu treffen, was der Benutzer geschrieben oder gesagt hat, werden die unterteilten Gruppierungen individuell durch anschließende Prozesse gemäß nachstehender Beschreibung geleitet. Welche Gruppierung auch immer die höchste Wahrscheinlichkeitsübereinstimmung zu einer Gruppe von Worten gemäß einem Sprachmodell und einem neuronalen Netzmodell ergibt, wird zu der gewählten Trennung der Tinte in Worte. Wenn Zeilen von Worten verwendet werden, bewertet die Erkennungseinrichtung die Wahrscheinlichkeiten von Abständen zwischen den Worten mit Faktoren, d. h., das Leerzeichen ist eine mögliche Ausgabe wie andere mögliche Buchstaben. Alternativ werden, wenn vorgeschlagene Worte verwendet werden, (I, ce, Ice und cream in Fig. 4) der Strich oder die Sammlung von Strichen (oder Phoneminformation) die das Wort repräsentieren, zu dem nächsten Prozeß gesendet, um herauszufinden, welches Wort es ist, und wie wahrscheinlich dieses Wort ist. Diese Worte können dann weiter im Kontext gegenüber einem Sprachmodell analysiert werden, um beispielsweise wahrscheinliche Ausdrücke, Sätze usw. zu ermitteln.
- Der nächste Prozeß ist in Fig. 3 durch den Schritt 200 dargestellt. Im Schritt 200 übernimmt ein Glättungs/Neuabtastungs-Mechanismus 66 (Fig. 2) die Tinte und glättet und tastet jeden Strich neu ab. Bekannte Verfahren können zur Regularisierung der Eingabetinte auf der Basis ihrer Höhe und Breite verwendet werden, was erheblich die Variabilität reduziert oder sogar eliminiert, die sich aus dem Schreiben bei unterschiedlichen Größen und unterschiedlichen Geschwindigkeiten ergibt. Zusätzlich entfernt die Glättung spitze Kanten an den Strichen, wie z. B. diejenigen, die durch Rauschen beim Hardware-Einlesen oder durch leichte, möglicherweise ungewollte Benutzerbewegungen erzeugt werden. Ferner tendiert die Hardware, wenn der Benutzer kurzzeitig Pausen während des Schreibens einlegt, eine Ansammlung von Punkten, um den Stift herum zu detektieren. Um derartige Ansammlungen zu glätten, werden Punkte, welche innerhalb eines vorgegebenen Radius zusammen vorliegen, als nur ein einziger Punkt betrachtet.
- Gemäß einem Aspekt der vorliegenden Erfindung entsteht eine Erkennungsverbesserung aus einer spezialisierten Neuabtastungsprozedur. Zu diesem Zweck tastet die vorliegende Erfindung statt Abtastpunkte auf der Tinte gleichmäßig über der Zeit auszuwählen, durch Trennung der Tinte in Abschnitte (Segmentlängen) und Setzen der Anzahl von Punkten pro Segmentlänge angenähert invers proportional zu der zweiten Ableitung der Tinte über diesen lokalen Bereich neu ab. Dieses plaziert eine höhere Dichte von Abtastpunkten in der Tinte an Stellen, an welchen sich die Steigung stärker ändert. Demzufolge werden die Kurven und Scheitel betont, so daß ein (nachstehend beschriebene) Merkmalerzeugungseinrichtung 72 sich weniger auf die nicht interessierenden geraden Abschnitte der Tinte sondern mehr auf die Scheitel und kurvigen Abschnitte konzentriert, welche generell wichtiger in der Unterscheidung von Zeichenformen sind.
- Insbesondere wird die Tintenbahn zuerst unter Verwendung eines festen Abstandes (D) zwischen aufeinanderfolgenden Punkten neu abgetastet. Die sich ergebende Tinte hat eine konstante Absolutgeschwindigkeit an jedem Punkt, wobei jedoch die x- Geschwindigkeit und y-Geschwindigkeit sich mit der Zeit unter Erfüllung einer Gleichung verändern:
- (dx/dt)² + (dy/dt)² = c
- wobei c eine Konstante ist.
- Anschließend werden die zweiten Ableitungen von x und y für jeden Punkt in der im festen Abstand neu abgetasteten Tinte berechnet. Die zweiten Ableitungen sind somit unabhängig von der Geschwindigkeit, reflektieren aber die Schärfe der Krümmung. Eine Größe, iStepsize, wird dann für jeden Punkt berechnet:
- A = sqrt((d²x/dt²)² + (d²y/dt²)²)
- I = 1/(1 + a)
- iStepsize = i*D/avg(i).
- Ein letzter Schritt ist eine Normierung, welche jede Invertierung der zweiten Ableitung so skaliert, daß der Mittelwert der vorstehend beschriebene fixierte Abstand D ist. Die Rohtinte wird dann noch einmal abgetastet, wobei dieses Mal der variable Abstand iStepsize verwendet wird. Man beachte, daß eine derartige nicht linear beabstandete Abtastung auch auf Spracherkennung anwendbar ist, da sie dazu beitragen kann, sich auf stärker interessierende und unterscheidende Schallabschnitte zu fokussieren.
- Sobald die Tinte auf diese Weise geglättet und neu abgetastet ist, prüft ein dritter Prozeß, dargestellt in Fig. 3 durch den Schritt 300, die geglättete Tinte Strich-für-Strich in der zeitlichen Reihenfolge in der die Striche eingegeben wurden, um verzögerte Striche zu detektieren. Verzögerte Striche sind etwas, bei dem der Benutzer in der x-Richtung rückwärts geht, um beispielsweise den Punkt von einem "i" oder "j" oder den Querstrich eines "t" oder "x"-Zeichens auszuführen. Zu diesem Zweck prüft eine Verzögerungsstrich-Analyseeinrichtung 68 (Fig. 2) der Erkennungseinrichtung 62 wie weit zurück und aufwärts der Benutzer gegangen ist, bevor er das Schreiben fortsetzte, zusammen mit der Komplexität von dem was geschrieben wurde. Im allgemeinen ist, wenn sich der Benutzer so bewegt hat, daß einem Stiftabheben zeitlich ein Stiftabsetzen in der negativen x-Richtung folgt, und der Benutzer einen relativ einfachen Strich über existierende Striche hinweg gezeichnet hat, wahrscheinlich, daß der Benutzer ein "i" oder "j" mit einem Punkt versieht oder ein "t" oder "x"-Zeichen mit einem Querstrich versieht. Umgekehrt ist, wenn ein neuer Strich ziemlich kompliziert mit zahlreichen Minima und/oder Maxima (welche einen Hystereseschwellenwert überschreiten), oder wenn der Strich hauptsächlich nach rechts von dem unmittelbar vorhergehenden Strich gezogen ist, die Tinte wahrscheinlich ein neuer Strom von Zeichen. Striche, welche als verzögerte Striche bestimmt sind, werden aus dem Eingabezielstrom entfernt und als eine Merkmalsinformation aufgezeichnet, um sie später dem zeitverzögerten neuronalen Netz 76 zu übergeben, wie es nachstehend beschrieben wird. Man beachte, daß die Verzögerungsstrich-Analyseeinrichtung 68 konservativ in der Bezeichnung eines Striches als verzögerter Strich ist, und im Zweifelsfalle die Nichterkennung von einigen der verzögerten Striche auf dem Training des neuronalen Netzes beruht, um alle mehr-fraglichen Zeichen korrigiert zu bekommen. Man beachte ferner, daß dieses Konzept kein Problem in der Spracherkennung darstellt, da sich die Spracheingabe immer in der x-Richtung, Zeit vorwärts bewegt.
- Beispielsweise stellen Fig. 5 und 6 dar, wie die Erkennungseinrichtung 62 eine Probe bisher bearbeitet hat. In Fig. 5 hat der Benutzer die Worte "their car" möglicherweise gefolgt von einigen zusätzlichen Worten eingegeben. Für die Zwecke des vorliegenden Beispiels werden nur diese Worte analysiert, und somit ist nur das Wort "their" das einzige Wort mit verzögerten Strichen. Man beachte, daß in der Erkennungsalternative der pro-Wort-Gruppierung in dem ersten Prozeß 100 "their" als eine mögliche Wortgruppierung detektiert und an den zweiten Prozeß 200 für die Glättung und Neuabtastung gesendet wird. Man beachte, daß einzelne Abtastpunkte in Fig. 6 zum Zwecke der Vereinfachung und Klarheit nicht dargestellt sind, wobei jedoch einfach die Tinte aus Punkten erstellt anzunehmen ist, welche dichter um die Kurven und Scheitel herum und weniger dicht an den geraden Abschnitten angeordnet sind. In jedem Falle werden, wie es insgesamt in Fig. 6 dargestellt ist, die verzögerten Striche entfernt und als Merkmalsinformation für eine spätere Verwendung gespeichert.
- Sobald die verzögerten Striche entfernt und aufgezeichnet sind, schneidet ein vierter Prozeß (dargestellt durch die Segmentierungseinrichtung 70 in Fig. 2 und durch den Schritt 400 in Fig. 3) die restliche Tinte (ohne verzögerten Strich) auf der Basis von dessen y-Minima in bestimmte Segmente. Im allgemeinen bewirkt jedes einzelne y- Minimum ein neues Segment, da Standardtechniken, welche einen Hystereseschwellenwert verwenden, zur Elimination falscher Minima über ziemlich flache Bereiche verwendet werden, oder wenn zwei oder mehr Minima in enger Nachbarschaft gefunden werden.
- Ein fünfter Prozeß 500 (Fig. 3) kategorisiert dann jedes dieser Segmente in eine relativ kleine Anzahl von Merkmalen 74, d. h. eine kleine Anzahl bezogen auf die große Anzahl von Abtastpunkten, welche typischerweise das Segment bilden. Merkmale umfassen Werte, die für die Kennzeichen und Eigenschaften der verschiedenen Segmente, die als Eingangssignale dem zeitverzögerten neuronalen Netz zugeführt werden, repräsentativ sind und können Information wie z. B. die absolute Größe des Segments in Bezug auf eine Grundlinie, das Aspektverhältnis und die Größe in Bezug auf benachbarte Elemente enthalten. Bevorzugt erzeugt die Merkmalerzeugungseinrichtung 72 (Fig. 2) neunzehn Merkmale für jedes Segment, mit einem zusätzliches Merkmal, das einen auf den nächst gelegenen verzögerten Strich basierenden Wert besitzt für insgesamt zwanzig Eingangsmerkmale pro Segment. Die Mehrheit dieser zwanzig Merkmale entspricht Chebyschev-Koeffizienten, wie es in der U.S. Patentanmeldung Ser. Nr. 09/046,218 mit dem Titel "Feature Extraction for Real Time Pattern Recognition Using Single Curve Per Pattern Analysis", das dem Zessionar dieser Erfindung erteilt ist und hiermit durch Bezugnahme in seiner Gesamtheit enthalten ist, beschrieben ist. Wie hierin beschrieben, können Gruppen von Punkten (z. B. diejenigen, welche segmentierte Zeichen darstellen) in entsprechende Gruppen von Koeffizienten von Chebyschev-Polynomen transformiert werden. Das zeitverzögerte neuronale Netz 76 verwendet diese Koeffizienten als Merkmale, um Buchstaben durch deren Form und weitere Eigenschaften zu identifizieren.
- Fig. 7 stellt einen Teil der Probe dar, welcher der Segmentation und Merkmalerzeugungsprozessen (Schritt 400 und 500 in Fig. 3) unterzogen wurde, wobei die Tinte in sieben Segmente zerschnitten und jedes Segment in eine Anzahl von Merkmalen 76 (z. B. 20) transformiert wurde. Man beachte, daß die Werte der in Fig. 7 dargestellten Merkmale nur für die Zwecke der Veranschaulichung dienen und keine tatsächlichen Merkmalswerte sind, die von einer tatsächlichen segmentierten Tinte abgeleitet sind. Ferner werden Merkmalswerte für den Zwischenraum, der dem Wort "their" folgt, ebenfalls ermittelt, wie es durch eine achte Gruppe von Merkmalen in Fig. 8 dargestellt ist.
- Ein sechster Prozeß, Schritt 600 in Fig. 3, verarbeitet jedes von den Segmenten durch das zeitverzögerte neuronale Netz 76 (Fig. 2). Wie es in Fig. 8 dargestellt ist, nimmt das zeitverzögerte neuronale Netz 76 für jedes Segment die zwanzig Merkmale für dieses Segment und die Merkmale von einem oder mehreren anderen Segmenten (bevorzugt des oder der benachbarten Segmente als seine Eingangssignale (d. h., als die Eingangsschicht). Man beachte, daß dort, wo eine oder mehrere Tintenlinien an die Erkennungseinrichtung gesendet werden, dort Merkmalswerte für die Zwischenräume zwischen Worten und für die Segmente anderer Worte, vorliegen, d. h., die Tinte wird als ein Ganzes der Erkennungseinrichtung zugeführt, und die Zwischenräume werden als Segmente betrachtet. In der Alternative, in welcher jede Gruppe der Tinte ein vorgeschlagenes Wort ist, werden nur die Segmente für ein vorgeschlagenes Wort dem neuronalen Netz 76a gemäß Darstellung in Fig. 9 zugeführt, d. h., ein Zwischenraum wird nicht als ein weiteres Segment betrachtet. In jedem Falle erzeugt, wie es aus der Verarbeitung neuronaler Netze bekannt ist, aus diesen Merkmalen, zusammen mit Wechselwirkungsgewichtungen dazwischen, die durch Training ermittelt werden, das neuronale Netz 76 eine Anzahl von Werten (z. B. 150) in ihrer verborgenen Schicht 78. Zeichenauswertungen werden dann für jedes mögliche Zeichen auf der Basis der gewichteten Wechselwirkung der Werte in der verborgenen Schicht wiederum gemäß dem Training ausgegeben. Gemäß Darstellung in Fig. 8 wird das Ausgabesignal in einer Ausgangsmatrix 80 von Wahrscheinlichkeiten (oder Kosten) aufgezeichnet, wobei die y-Achse Zeichenausgabeauswertungen für das Leerzeichen und verschiedene Buchstaben A bis Z, a bis z und optional Punktsymbole darstellt, während die x-Achse die zeitlich gezeichneten Segmente darstellt. In dem alternativen neuronalen Netz 76a von Fig. 9 werden keine Merkmale für den Zwischenraum eingegeben und die Ausgabematrix 80a besitzt kein Ausgabesignal für ein Leerzeichen.
- Gemäß einem Aspekt der vorliegenden Erfindung und wie es in Fig. 8 dargestellt ist, weist das zeitverzögerte neuronale Netz 76 eine Architektur auf, mittels welcher die Ausgabematrix 80 getrennte Auswertungen für den Beginn und die Fortsetzung eines Zeichens aufweist. Dieses eliminiert die Konfusion, welche in typischen Architekturen entsteht, die nur einen Ausgabeknoten pro Zeichen aufweisen, nämlich ob aufeinanderfolgende Ausgabesignale für dasselbe sich fortsetzende Zeichen oder für dasselbe Zeichen, das wiederholt in dem Wort erscheint, sind. Beispielsweise werde das Wort "taped", wie es in Fig. 10 segmentiert dargestellt ist, betrachtet. Mit nur einem einzigen Ausgabeknoten pro Buchstaben (d. h. ohne die bestimmten Auswertungen der vorliegenden Erfindung für den Beginn und Ende) würde eine Kombination von y-minimierten Segmenten, die eine vernünftige Wahrscheinlichkeit (niedrige Kosten) hätte "taapppedd" lesen. Obwohl das Wörterbuch das Doppel-a und Doppel-d verarbeiten würde, könnte es unmöglich zwischen "taped" und "tapped" unterscheiden, da beide gültige Worte sind. Man beachte, daß der Buchstabe "p" so geschrieben werden kann, daß er in einem einzigen y-minimierten Segment enthalten ist, indem beispielsweise die Handschrift nach links geneigt ist, (so daß der untere Abschnitt des "p" das rechte Minimum wäre), oder so, daß es zwei oder mehr Segmente überspannt. Da jedoch nur ein beginnendes "p" eine hohe Wahrscheinlichkeit hätte, detektiert die vorliegende Erfindung korrekt, daß nur ein "p" geschrieben worden ist. Man beachte, daß die Pfeile in der Matrix 80 von Fig. 8 einen Pfad hoher Wahrscheinlichkeit für das segmentierte Wort "their" einschließlich eines anschließenden Leerzeichens von Fig. 7 darstellen soll).
- Sobald die Ausgabematrix erhalten ist, wird sie zum Finden der besten Worte (oder einen bewerteten Liste der besten Worte) auf der Basis des Pfades oder der Pfade niedrigster Kosten durch diese verwendet. Eine Möglichkeit, einen derartigen Pfad zu finden, besteht einfach in dem Durchlaufen eines dynamischen Algorithmus, wie z. B. des Viterbi-Algorithmus durch jeden von den Pfaden und in der Ermittlung des Pfades mit den niedrigsten Kosten, der ausgegeben wurde. Bekanntermaßen kann diese Technik die Verfolgung der Pfade mit niedrigsten Kosten und Abbruchspfaden, die die Kosten überschreiten beschleunigen. Eine derartige Technik ist nützlich, wenn Ketten von Zeichen eingegeben werden, die keine üblichen Wörterbuchwörter sind, wie z. B. eine Liste von Namen, Ketten von Zahlen usw.
- Wenn jedoch primär Worte aus Wörterbüchern erkannt werden, ist es schnell und genau jedes Wort in dem Wörterbuch zu suchen, und dann einen dynamischen Zeitausgleich (DTW) 82 zu durchlaufen, um den höchst wahrscheinlichen Pfad durch die Ausgabematrix 80 für dieses Wort zu finden. Dann kann die Auswertung für jedes Wort mit den Auswertungen für andere Worte verglichen werden, um das oder die besten Worte zu finden. Man beachte, daß die Suche für das preiswerteste Wort in dieser Weise stark durch die Verwendung eines Baum-strukturierten Wörterbuches 84 (Fig. 2) beschleunigt wird, so daß die Kosten für jede gemeinsame Vorsilbe nur einmal berechnet werden, wodurch nur die Endbuchstaben, die unterschiedlich sind, die nochmalige Berechnung ihrer Kosten erfordern. Ferner verhindert eine Schwellenwertbildung der Suche gegenüber der Auswertung für das bis zu diesem Punkt gefundene Wort das Absuchen von sinnlosen Pfaden, da das Absuchen von den meist wahrscheinlichen Pfaden zuerst deutlich die Suche beschleunigen kann.
- Fig. 11 stellt die zur Durchführung der DTW an den Wörterbuchworten durchzuführenden Schritte dar, beginnend bei dem Schritt 1100, wo das erste Wort aus dem Wörterbuch 84 ausgewählt wird (Fig. 2). Man beachte, daß die Worte nicht in alphabetischer Reihenfolge ausgewählt werden müssen, sondern statt dessen nach irgendeiner anderen Reihenfolge, wie z. B. der Basis ihrer lexikalischen Häufigkeit (Wörter beginnen häufiger mit "S" als "q"). Eine bevorzugte Möglichkeit besteht in dem Start der Suche mit Worten, welche mit der höchsten Wahrscheinlichkeit (niedrigsten Kosten) beginnen, die das neuronale Netz dem ersten beginnenden Zeichen in der Ausgabematrix zugeordnet hat. In jedem Falle wird, sobald das Wort ausgewählt ist, dieses in einer Kostenberechnungsmatrix 86 angeordnet, wobei sein erstes Zeichen unten links und sein letztes Zeichen oben links angeordnet ist. Fig. 12 stellt das Wort "their" (einschließlich eines hinteren Leerzeichens) in einer solchen Matrix 86 zusammen mit der Ausgabematrix 80 dar. Man beachte, daß viele andere Worte ihre Kosten bereits berechnet haben, bevor "their" das aus dem Wörterbuch bei dem Schritt 1100 gewählte Wort war. Fig. 13 stellt die Alternative, die pro Wort-Erkennungseinrichtung, dar, welche kein nachfolgendes Leerzeichen aufweist.
- Bei dem Schritt 1102 wird der wahrscheinlichste Pfad durch die Ausgabematrix 80 für das ausgewählte Wort berechnet. Jedem Wort wird eine Auswertung auf der Basis des Pfades mit den geringsten Kosten zugeordnet, der durch die Ausgabematrix 80 dafür durchlaufen werden kann. Für das ausgewählte Wort werden die Kosten für das Starten des Wortes auf die Kosten initialisiert, die durch das zeitverzögerte neuronale Netz 76 dem ersten Buchstaben dieses Wortes zugeordnet sind. Beispielsweise kann man für Worte, welche mit einem Buchstaben "o" beginnen, ohne weiteres erkennen, daß das neuronale Netz 76 hohe Anfangskosten hat, da das erste Segment wenige charakteristische Eigenschaften eines "o" hat. Worte, welche mit "b", "h", "l" und "t" beginnen, haben wesentlich geringere Kosten. In der Tat müßten die Kosten für bestimmte Anfangsbuchstaben in Bezug auf einen Schellenwert sein hoch genug, damit Worte, welche mit diesen Buchstaben beginnen, nicht noch bis später, wenn überhaupt, ausgewählt werden müssen.
- Nach den anfänglichen Wortkosten werden die Kosten (dargestellt durch das "$" in Fig. 12) der Zellen in der Berechnungsmatrix 86 gemäß der nachstehenden Regel eingesetzt. Eine Bewegung nach rechts in der Berechnungsmatrix 86 entspricht den aktuellen Kosten plus den Kosten, die das neuronale Netz 76 der Fortsetzung des Buchstabens zugewiesen hat. Eine Bewegung nach rechts und oben entspricht den kumulativen Kosten der aktuellen Zelle plus den Kosten, die das neuronale Netz 76 für den Start des durch diese Reihe dargestellten neuen Buchstabens zugeordnet hat. Somit sind beispielsweise die Kosten in der Zelle t1 die Startkosten von "t", während die Kosten in der Zelle rechts von dem Zeichen "t" (Zelle "t2") die Kosten sind, die das neuronale Netz 76 dem "t" beginnend in dem Segment 1 plus die Kosten, die das neuronale Netz 76 der Fortsetzung von "t" im Segment 2 zugeordnet hat, sind. Die nächste Zelle nach rechts ("t3") sind die Kosten in Zelle "t1" die Kosten der Fortsetzung von "t" im Segment 3 usw. Die Kosten für die Zelle "h2" sind die Kosten des Starts von "t1" plus des Starts von "h" in der Ausgabematrix 80 im Segment 2, während die Kosten der Zelle "h3" die Kosten von "h2" plus die Kosten von "h", fortgesetzt in dem dritten Ausgangssegment, sind. Man beachte, daß die Berechnungsmatrix 86 nicht vollständig aufgefüllt sein muß, da beispielsweise in dem Wort "their" das "t" höchstens die ersten drei von den acht Segmenten belegen kann (unter Mitzählen des Leerzeichensegmentes) da wenigstens fünf Segmente für den restlichen "heir"-Teil benötigt werden. In ähnlicher Weise kann das Leerzeichen nur die letzten drei Segmente belegen. Das Zeichen "-" in Fig. 2 stellt die Zellen dar, die keine dafür berechneten Kosten aufweisen.
- Sobald die Matrix 86 aufgefüllt ist, beginnt die Berechnung der besten Kosten darin durch Starten bei der unteren Zeile (die dem "t" in "their" in dem vorliegenden Beispiel entspricht) und verläuft von links nach rechts und dann nach oben. Für jede Zelle werden die Kosten berechnet, indem das Minimum entweder der Kosten des Übergangs von dem Zellennachbarn zu dem unmittelbar linken (falls vorhanden) oder die Kosten des Übergangs von dem Zellennachbar nach links und eine Zeile nach unten (falls vorhanden) genommen werden. Für die untere Zeile hat die Anfangszelle Kosten gleich den Startkosten, die dem ersten Buchstaben des Wortes zugeordnet sind, und für Zellen nach rechts sind nur Zellen unmittelbar nach links hin zu berücksichtigen. Für eine Zelle wie z. B. "h3", stellt der ausgewählte Pfad die minimalen Kosten des Übergangs entweder von "h2" oder von "t2" dar. Der preiswerteste Pfad durch die möglichen Segmente, welche das ausgewählte Wort bilden, ist dann bekannt, wie es durch den Pfeil durch die DTW-Matrix 86 in Fig. 12 dargestellt ist. In ähnlicher Weise ist in der alternativen pro- Wort-Erkennungseinrichtung von Fig. 13 der preiswerteste Pfad durch den Pfeil durch die DTW-Matrix 86a dargestellt.
- Der Schritt 1104 von Fig. 11 ordnet der berechneten Auswertung des preiswertesten Pfades ein die Tinte repräsentierendes Wort zu. Bevorzugt werden, wenn die Auswertungen für die ausgewählten Worte berechnet sind, eine oder mehrere Minimumkosten verfolgt, und die Worte mit höheren Kosten verworfen. Die Anzahl, die verfolgt wird, hängt davon ab, wie viele Worte und deren Kosten zurückzugeben sind, d. h., die zehn niedrigsten werden verfolgt, wenn zehn zurückgegeben werden müssen. Der Schritt 1106 wiederholt den Prozeß bis keine Worte mehr in dem Wörterbuch vorhanden sind.
- Schließlich gibt der Schritt 1108 das Wort oder die Worte aus der Erkennungseinrichtung 62 in einer Liste 88 (Fig. 2) zurück. Beispielsweise könnte in der Tinte von Fig. 5 die Erkennungseinrichtung "their" mit einer hohen Bewertung zurückgeben, "thus" mit einer niedrigeren Bewertung usw. für ein erstes mögliches Wort, "car" mit einer hohen Bewertung für ein zweites Wort, "can Zeichen" mit einer niedrigen Bewertung usw..
- Zurückkehrend zu dem Schritt 3 wiederholen die Schritte 800 und 900 den Prozeß für die nächste Zeilengruppe oder alternativ für jede von den vorgeschlagenen Wortgruppen. Zu einem geeigneten Zeitpunkt können die zurückgegebenen Worte mit den Worten, welche die höchst wahrscheinliche Wortkombination auf der Basis ihrer Bewertungen und einem Sprachmodell aufweisen, zusammengefaßt werden. Somit wäre, obwohl in Fig. 4 "I" eine hohe Bewertung hätte, "c" nicht (es wäre kein gültiges Wort in den meisten Wörterbüchern) hätte, damit "Ice" wahrscheinlich das beste Wort. Das Wort "Ice" (und auch "I" und "ce") können auch im Kontext mit den nachstehenden besten Worten betrachtet werden, wie z. B. "dream" oder "cream", wobei "cream" als die beste Wahl nach "Ice" ausgewählt würde.
- Schließlich kann die vorliegende Erfindung wie vorstehend erwähnt zur Spracherkennung verwendet werden. Zu diesem Zweck kann jedes Wort in einem Wörterbuch aus einer Phonem-Schreibweise bestehen. Wie bei der Unterscheidung von Starts und Fortsetzungen von Buchstaben in der Handschrifterkennung wird in der Spracherkennung jedes Segment der Sprache entweder in dem Beginn eines neuen Phonems oder die Fortsetzung eines Phonems klassifiziert. Spracherkennung findet statt, indem die höchst wahrscheinliche Folge von Phonemen, Starts und Fortsetzungen gefunden wird, welche die höchst wahrscheinliche Folge von gültigen Worten bilden, wenn sie mit Bewertungen aus einem Sprachmodell kombiniert werden.
- Wie man aus der vorstehenden detaillierten Beschreibung ersehen kann, wird ein Verfahren und ein System bereitgestellt, das eine verbesserte Erkennungsgenauigkeit der Benutzereingabedaten, welche Handschrift und Sprachdaten umfassen, durch eine verbesserten Vorverarbeitung der Eingabedaten bereitgestellt. Die Erkennung verwendet eine DTW in Verbindung mit einem neuronalen Netz, welches getrennte Ausgänge für den Beginn und die Fortsetzung von Buchstaben aufweist.
- Obwohl die Erfindung verschiedene Modifikationen und Alternativen zuläßt, ist eine bestimmte dargestellte Ausführungsform davon in den Zeichnungen dargestellt und wurde vorstehend im Detail beschrieben.
Claims (23)
1. Verfahren zum Erkennen von Benutzer-Eingabedaten, das umfasst:
Segmentieren (400) der Benutzer-Eingabedaten in eine Vielzahl von Segmenten;
für jedes Segment Eingeben (600) einer Segmentinformation, die den Benutzer-
Eingabedaten entspricht, in ein neuronales Netz, wobei das neuronale Netz für
jedes einer Vielzahl möglicher Zeichen eine erste Auswertung, die einer
Wahrscheinlichkeit entspricht, dass die Segmentinformation den Anfang des Zeichens
darstellt, sowie eine zweite Auswertung ausgibt, die einer Wahrscheinlichkeit
entspricht, dass die Segmentinformation die Fortsetzung des Zeichens von einem
vorangehenden Segment darstellt;
Erzeugen (600) einer Ausgabematrix (80) anhand der Auswertungen für die
Vielzahl von Segmenten, die eine Gruppe von Auswertungen für den Anfang von
Zeichen und eine weitere Gruppe von Auswertungen für die Fortsetzung der Zeichen
enthält; und
Analysieren (700) der ersten und der zweiten Gruppe von Auswertungen in der
Ausgabematrix zur Bestimmung von Wegen durch sie hindurch, die Worten und
Auswertungen dafür entsprechen, und Zurückführen wenigstens eines Wortes, das
auf einer Auswertung dafür beruht.
2. Verfahren nach Anspruch 1, wobei es sich bei den Benutzer-Eingabedaten um
Phoneminformationen handelt, die Sprache darstellen.
3. Verfahren nach Anspruch 1, das des Weiteren den Schritt des Unterteilens (100)
der Benutzerdaten in vorgeschlagene Worte umfasst.
4. Verfahren nach Anspruch 1, das des Weiteren den Schritt des Glättens (200) der
Benutzerdaten umfasst.
5. Verfahren nach Anspruch 1, das des Weiteren den Schritt des erneuten Abtastens
(200) der Benutzerdaten umfasst.
6. Verfahren nach Anspruch 4, wobei der Benutzerdatenschritt des erneuten
Abtastens (200) der Benutzerdaten den Schritt des Trennens der Eingabedaten in eine
Anzahl von Abschnitten und des Auswählens einer Anzahl von Abtastpunkten zur
Darstellung der Eingabedaten in jedem Abschnitt auf der Basis der zweiten
Ableitung der Eingabedaten in dem Abschnitt umfasst.
7. Verfahren nach Anspruch 1, das des Weiteren den Schritt (500) des Versehens
der Benutzer-Eingabedaten mit Merkmalen umfasst, um sie zu Merkmalswerten zu
machen.
8. Verfahren nach Anspruch 7, wobei der Schritt des Eingebens von Informationen,
die den Benutzer-Eingabedaten entsprechen, in das neuronale Netzwerk den
Schritt des Eingebens der Merkmalswerte in das neuronale Netzwerk einschließt.
9. Verfahren nach Anspruch 1, wobei der Schritt des Analysierens der
Ausgabematrix (80) zur Bestimmung von Wegen durch sie hindurch, die Worten und
Auswertungen dafür entsprechen, den Schritt des Findens (1108) eines Weges durch die
Ausgabematrix umfasst, der niedrigsten Kosten entspricht.
10. Verfahren nach Anspruch 10, wobei der Schritt des Analysierens der
Ausgabematrix zur Bestimmung von Wegen durch sie hindurch, die Worten und Auswertungen
dafür entsprechen, die Schritte des Auswählens (1100) eines Wortes aus einem
Wörterbuch und des Bestimmens eines Weges durch die Ausgabematrix (80)
umfasst, der niedrigsten Kosten für das Wort entspricht.
11. Verfahren nach Anspruch 10, das des Weiteren den Schritt des Zuweisens einer
Auswertung zu dem Wort auf der Basis des kostengünstigsten Weges durch die
Ausgabematrix dafür umfasst.
12. Verfahren nach Anspruch 1, wobei der Schritt des Analysierens der
Ausgabematrix zum Bestimmen von Wegen die Schritte des Auswählens (1100) von Worten
aus einem Wörterbuch, des Bestimmens (1102) eines Weges durch die
Ausgabematrix, der den niedrigsten Kosten für jedes Wort entspricht, des Zuweisens
(1104) einer Auswertung zu jedem Wort auf der Basis des kostengünstigsten
Weges durch die Ausgabematrix dafür und des Zurückführens (1108) wenigstens
eines Wortes auf der Basis der ihm zugewiesenen Auswertung im Verhältnis zu den
anderen Worten zugewiesenen Auswertungen umfasst.
13. Verfahren nach Anspruch 1, wobei der Schritt des Eingebens von Informationen
den Schritt des Eingebens einer Vielzahl von Worten in das neuronale Netzwerk
umfasst, und wobei der Schritt des Zurückführens wenigstens eines Wortes den
Schritt des Rückführens einer Vielzahl von Worten umfasst.
14. System zum Erkennen von Benutzer-Eingabedaten, das umfasst:
ein neuronales Netzwerk (76), das so ausgeführt ist, dass es Informationen
empfängt, die Segmenten von Benutzer-Eingabedaten entsprechen, und
Auswertungen für eine Vielzahl möglicher Zeichen für jedes Segment ausgibt, die für jedes
mögliche Zeichen eine erste Auswertung, die einer Wahrscheinlichkeit entspricht,
dass die Information dieses Segments den Anfang eines Zeichens darstellt, und
eine zweite Auswertung enthält, die einer Wahrscheinlichkeit entspricht, dass die
Information dieses Segments die Fortsetzung eines Zeichens von einem
vorangehenden Segment darstellt;
eine Einrichtung (80), die eine Ausgabematrix anhand der Auswertungen für die
Vielzahl von Segmenten erzeugt, die eine Gruppe von Auswertungen für den
Anfang von Zeichen und eine weitere Gruppe von Auswertungen für die Fortsetzung
von Zeichen enthält; und
eine Einrichtung (82, 88), die die Ausgabematrix analysiert, um Wege durch sie
hindurch zu bestimmen, die Worten und Auswertungen dafür entsprechen, und
wenigstens ein Wort auf der Basis der Auswertung dafür zurückführt.
15. System nach Anspruch 14, wobei die Einrichtung zum Analysieren der
Ausgabematrix ein Dynamic Time Warp (82) umfasst.
16. System nach Anspruch 14, wobei es sich bei den Benutzer-Eingabedaten um
Phoneminformationen handelt, die Sprache darstellen.
17. System nach Anspruch 14, wobei die Benutzer-Eingabedaten eine Vielzahl von
Worten umfassen.
18. System nach Anspruch 14, das des Weiteren eine Einrichtung (66) zum Glätten
der Benutzerdaten sowie eine Einrichtung zum erneuten Abtasten der
Benutzerdaten umfasst.
19. System nach Anspruch 18, wobei die Einrichtung zum erneuten Abtasten der
Benutzerdaten eine Einrichtung zum Trennen der Eingabedaten in eine Anzahl von
Abschnitten und zum Auswählen einer Anzahl von Abtastpunkten zur Darstellung
der Eingabedaten in jedem Abschnitt auf der Basis der zweiten Ableitung der
Eingabedaten in diesem Abschnitt umfasst.
20. System nach Anspruch 14, das des Weiteren eine Einrichtung (70) zum
Segmentieren der Benutzer-Eingabedaten und eine Einrichtung (72) umfasst, die den
Benutzer-Eingabedaten Merkmaie verleiht und sie zu Merkmalswerten macht.
21. System nach Anspruch 20, wobei die in das neuronale Netzwerk eingegebene
Information die Merkmalswerte enthält.
22. System nach Anspruch 14, das des Weiteren ein Wörterbuch (84) umfasst, wobei
die Einrichtung, die die Ausgabematrix analysiert, um Wege durch sie hindurch zu
bestimmen, die Worten und Auswertungen dafür entsprechen, ein Wort aus dem
Wörterbuch auswählt und einen Weg durch die Ausgabematrix bestimmt, der den
niedrigsten Kosten für das Wort entspricht.
23. Computerlesbares Medium mit durch Computer ausführbaren Befehlen zum
Durchführen des Verfahrens nach einem der Ansprüche 1 bis 13, wobei die
Befehle auf einem Computer gelesen werden.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/227,170 US6393395B1 (en) | 1999-01-07 | 1999-01-07 | Handwriting and speech recognizer using neural network with separate start and continuation output scores |
PCT/US1999/030114 WO2000041166A2 (en) | 1999-01-07 | 1999-12-16 | Handwriting or spoken words recognition with neural networks |
Publications (2)
Publication Number | Publication Date |
---|---|
DE69907513D1 DE69907513D1 (de) | 2003-06-05 |
DE69907513T2 true DE69907513T2 (de) | 2003-11-13 |
Family
ID=22852047
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE69907513T Expired - Lifetime DE69907513T2 (de) | 1999-01-07 | 1999-12-16 | Handgeschriebene oder gesprochene wort-erkennung mit neuronalen netzwerken |
Country Status (6)
Country | Link |
---|---|
US (1) | US6393395B1 (de) |
EP (1) | EP1141941B1 (de) |
AT (1) | ATE239287T1 (de) |
AU (1) | AU2193100A (de) |
DE (1) | DE69907513T2 (de) |
WO (1) | WO2000041166A2 (de) |
Families Citing this family (47)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8938688B2 (en) | 1998-12-04 | 2015-01-20 | Nuance Communications, Inc. | Contextual prediction of user words and user actions |
US6904405B2 (en) * | 1999-07-17 | 2005-06-07 | Edwin A. Suominen | Message recognition using shared language model |
CN1207664C (zh) * | 1999-07-27 | 2005-06-22 | 国际商业机器公司 | 对语音识别结果中的错误进行校正的方法和语音识别系统 |
US6741749B2 (en) * | 2001-01-24 | 2004-05-25 | Advanced Digital Systems, Inc. | System, device, computer program product, and method for representing a plurality of electronic ink data points |
JP4050055B2 (ja) * | 2002-01-10 | 2008-02-20 | 株式会社リコー | 手書き文字一括変換装置、手書き文字一括変換方法およびプログラム |
DE10220521B4 (de) * | 2002-05-08 | 2005-11-24 | Sap Ag | Verfahren und System zur Verarbeitung von Sprachdaten und Klassifizierung von Gesprächen |
DE10220520A1 (de) * | 2002-05-08 | 2003-11-20 | Sap Ag | Verfahren zur Erkennung von Sprachinformation |
DE10220524B4 (de) * | 2002-05-08 | 2006-08-10 | Sap Ag | Verfahren und System zur Verarbeitung von Sprachdaten und zur Erkennung einer Sprache |
EP1363271A1 (de) * | 2002-05-08 | 2003-11-19 | Sap Ag | Verfahren und System zur Verarbeitung und Speicherung von Sprachinformationen eines Dialogs |
DE10220522B4 (de) * | 2002-05-08 | 2005-11-17 | Sap Ag | Verfahren und System zur Verarbeitung von Sprachdaten mittels Spracherkennung und Frequenzanalyse |
EP1361740A1 (de) * | 2002-05-08 | 2003-11-12 | Sap Ag | Verfahren und System zur Verarbeitung von Sprachinformationen eines Dialogs |
US7120275B2 (en) * | 2003-01-16 | 2006-10-10 | Microsoft Corporation | Ink recognition for use in character-based applications |
US7190834B2 (en) * | 2003-07-22 | 2007-03-13 | Cognex Technology And Investment Corporation | Methods for finding and characterizing a deformed pattern in an image |
US7369702B2 (en) * | 2003-11-07 | 2008-05-06 | Microsoft Corporation | Template-based cursive handwriting recognition |
US7302099B2 (en) * | 2003-11-10 | 2007-11-27 | Microsoft Corporation | Stroke segmentation for template-based cursive handwriting recognition |
US7292726B2 (en) * | 2003-11-10 | 2007-11-06 | Microsoft Corporation | Recognition of electronic ink with late strokes |
TW200538969A (en) * | 2004-02-11 | 2005-12-01 | America Online Inc | Handwriting and voice input with automatic correction |
US8095364B2 (en) | 2004-06-02 | 2012-01-10 | Tegic Communications, Inc. | Multimodal disambiguation of speech recognition |
US7729538B2 (en) * | 2004-08-26 | 2010-06-01 | Microsoft Corporation | Spatial recognition and grouping of text and graphics |
US7574048B2 (en) * | 2004-09-03 | 2009-08-11 | Microsoft Corporation | Freeform digital ink annotation recognition |
US7570816B2 (en) * | 2005-03-31 | 2009-08-04 | Microsoft Corporation | Systems and methods for detecting text |
US7680332B2 (en) * | 2005-05-30 | 2010-03-16 | Microsoft Corporation | Grouping lines in freeform handwritten text |
US7428516B2 (en) * | 2005-06-23 | 2008-09-23 | Microsoft Corporation | Handwriting recognition using neural networks |
US7593908B2 (en) * | 2005-06-27 | 2009-09-22 | Microsoft Corporation | Training with heterogeneous data |
US7567711B2 (en) * | 2005-08-01 | 2009-07-28 | Microsoft Corporation | Cleaning up of handwriting intra-stroke and inter-stroke overtracing |
US7620245B2 (en) * | 2006-05-30 | 2009-11-17 | Microsoft Corporation | Cursive handwriting recognition with hierarchical prototype search |
US7899251B2 (en) * | 2006-06-05 | 2011-03-01 | Microsoft Corporation | Balancing out-of-dictionary and in-dictionary recognition scores |
US8041571B2 (en) * | 2007-01-05 | 2011-10-18 | International Business Machines Corporation | Application of speech and speaker recognition tools to fault detection in electrical circuits |
DE102007010259A1 (de) | 2007-03-02 | 2008-09-04 | Volkswagen Ag | Sensor-Auswertevorrichtung und Verfahren zum Auswerten von Sensorsignalen |
US9405823B2 (en) * | 2007-07-23 | 2016-08-02 | Nuance Communications, Inc. | Spoken document retrieval using multiple speech transcription indices |
US8559723B2 (en) * | 2008-09-29 | 2013-10-15 | Microsoft Corporation | Letter model and character bigram based language model for handwriting recognition |
DE102008062923A1 (de) | 2008-12-23 | 2010-06-24 | Volkswagen Ag | Verfahren und Vorrichtung zur Erzeugung einer Trefferliste bei einer automatischen Spracherkennung |
US8266078B2 (en) | 2009-02-06 | 2012-09-11 | Microsoft Corporation | Platform for learning based recognition research |
US9733723B2 (en) * | 2012-02-20 | 2017-08-15 | Scriptel Corporation | Apparatus for remote application of manual signatures to electronic documents |
US8965127B2 (en) * | 2013-03-14 | 2015-02-24 | Konica Minolta Laboratory U.S.A., Inc. | Method for segmenting text words in document images |
US9418281B2 (en) | 2013-12-30 | 2016-08-16 | Google Inc. | Segmentation of overwritten online handwriting input |
US9286527B2 (en) | 2014-02-20 | 2016-03-15 | Google Inc. | Segmentation of an input by cut point classification |
US9384403B2 (en) * | 2014-04-04 | 2016-07-05 | Myscript | System and method for superimposed handwriting recognition technology |
US9767353B2 (en) | 2014-08-29 | 2017-09-19 | Ancestry.Com Operations Inc. | System and method for transcribing historical records into digitized text |
US9384409B1 (en) | 2015-01-29 | 2016-07-05 | Konica Minolta Laboratory U.S.A., Inc. | Word segmentation for document image using recursive segmentation |
US9710157B2 (en) * | 2015-03-12 | 2017-07-18 | Lenovo (Singapore) Pte. Ltd. | Removing connective strokes |
US9977976B2 (en) * | 2016-06-29 | 2018-05-22 | Konica Minolta Laboratory U.S.A., Inc. | Path score calculating method for intelligent character recognition |
US10607601B2 (en) * | 2017-05-11 | 2020-03-31 | International Business Machines Corporation | Speech recognition by selecting and refining hot words |
CN108710623B (zh) * | 2018-03-13 | 2021-01-05 | 南京航空航天大学 | 基于时间序列相似性度量的机场离港延误时间预测方法 |
CN110608885B (zh) * | 2019-09-09 | 2021-10-29 | 天津工业大学 | 一种用于滚动轴承内圈磨损故障诊断及趋势预测的方法 |
EP4130966A1 (de) * | 2019-11-29 | 2023-02-08 | MyScript | Gestenschlagerkennung bei berührungsbasierter benutzerschnittstelleneingabe |
EP4086744B1 (de) * | 2021-05-04 | 2024-02-21 | MyScript | Gestenstreicherkennung bei berührungsbasierter benutzeroberflächeneingabe |
Family Cites Families (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3127588A (en) | 1959-04-24 | 1964-03-31 | Bell Telephone Labor Inc | Automatic reading of cursive script |
NL265383A (de) | 1960-05-31 | |||
US3133266A (en) | 1960-06-14 | 1964-05-12 | Bell Telephone Labor Inc | Automatic recognition of handwriting |
US3969698A (en) | 1974-10-08 | 1976-07-13 | International Business Machines Corporation | Cluster storage apparatus for post processing error correction of a character recognition machine |
US3996557A (en) | 1975-01-14 | 1976-12-07 | MI2 Corporation | Character recognition system and method |
US4610025A (en) | 1984-06-22 | 1986-09-02 | Champollion Incorporated | Cryptographic analysis system |
US4731857A (en) | 1984-06-29 | 1988-03-15 | International Business Machines Corporation | Recognition system for run-on handwritten characters |
US4764972A (en) | 1985-05-23 | 1988-08-16 | Nec Corporation | Continuous characters recognition system |
US4918740A (en) | 1985-10-01 | 1990-04-17 | Palantir Corporation | Processing means for use in an optical character recognition system |
US4754489A (en) | 1985-10-15 | 1988-06-28 | The Palantir Corporation | Means for resolving ambiguities in text based upon character context |
JP2619429B2 (ja) | 1987-11-05 | 1997-06-11 | グローリー工業株式会社 | 接触文字の分離方法 |
US5034989A (en) | 1987-12-11 | 1991-07-23 | Loh Shiu Chang | On-line handwritten character recognition apparatus with non-ambiguity algorithm |
US4987603A (en) | 1988-09-22 | 1991-01-22 | Glory Kogyo Kabushiki Kaisha | Recognition method for letter patterns |
DE69030561T2 (de) * | 1989-12-28 | 1997-10-09 | Sharp Kk | Spracherkennungseinrichtung |
US5052043A (en) * | 1990-05-07 | 1991-09-24 | Eastman Kodak Company | Neural network with back propagation controlled through an output confidence measure |
US5313527A (en) | 1991-06-07 | 1994-05-17 | Paragraph International | Method and apparatus for recognizing cursive writing from sequential input information |
US5440651A (en) | 1991-06-12 | 1995-08-08 | Microelectronics And Computer Technology Corp. | Pattern recognition neural network |
FR2678407A1 (fr) * | 1991-06-28 | 1992-12-31 | Philips Electronique Lab | Procede et dispositif avec un reseau neuronal pour classer des donnees, et appareil d'authentification de signature. |
JP3576570B2 (ja) | 1991-11-19 | 2004-10-13 | ゼロックス コーポレイション | 比較方法 |
US5442715A (en) * | 1992-04-06 | 1995-08-15 | Eastman Kodak Company | Method and apparatus for cursive script recognition |
US5528728A (en) * | 1993-07-12 | 1996-06-18 | Kabushiki Kaisha Meidensha | Speaker independent speech recognition system and method using neural network and DTW matching technique |
EP0691623B1 (de) * | 1994-07-04 | 2001-10-04 | Hewlett-Packard Company, A Delaware Corporation | Kritzlervergleich |
US5764797A (en) | 1995-04-25 | 1998-06-09 | Microsoft Corporation | Method and system for modeling handwriting using polynomials as a function of time |
DE69724405T2 (de) | 1996-10-04 | 2004-05-06 | Koninklijke Philips Electronics N.V. | Verfahren und apparat zur online handschrifterkennung basierend auf merkmalvektoren unter verwendung von agglomerierten beobachtungen aus zeitlich aufeinanderfolgenden sequenzen |
US5926566A (en) * | 1996-11-15 | 1999-07-20 | Synaptics, Inc. | Incremental ideographic character input method |
US5930380A (en) | 1997-02-11 | 1999-07-27 | Lucent Technologies, Inc. | Method and apparatus for verifying static signatures using dynamic information |
-
1999
- 1999-01-07 US US09/227,170 patent/US6393395B1/en not_active Expired - Lifetime
- 1999-12-16 AU AU21931/00A patent/AU2193100A/en not_active Abandoned
- 1999-12-16 EP EP99966381A patent/EP1141941B1/de not_active Expired - Lifetime
- 1999-12-16 WO PCT/US1999/030114 patent/WO2000041166A2/en active IP Right Grant
- 1999-12-16 DE DE69907513T patent/DE69907513T2/de not_active Expired - Lifetime
- 1999-12-16 AT AT99966381T patent/ATE239287T1/de not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
AU2193100A (en) | 2000-07-24 |
ATE239287T1 (de) | 2003-05-15 |
EP1141941A2 (de) | 2001-10-10 |
WO2000041166A2 (en) | 2000-07-13 |
WO2000041166A3 (en) | 2000-11-23 |
DE69907513D1 (de) | 2003-06-05 |
EP1141941B1 (de) | 2003-05-02 |
US6393395B1 (en) | 2002-05-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69907513T2 (de) | Handgeschriebene oder gesprochene wort-erkennung mit neuronalen netzwerken | |
DE69231309T2 (de) | Methode und System zur Handschrifterkennung | |
DE69029188T2 (de) | Auf Wahrscheinlichkeitclusterbildung gestützte Schriftzeichenerkennung | |
DE69425412T2 (de) | Anlage und Verfahren zur automatischen Handschrifterkennung mittels eines benutzerunabhängigen chirographischen Labelalphabets | |
Tsujimoto et al. | Major components of a complete text reading system | |
Fiel et al. | Writer identification and retrieval using a convolutional neural network | |
DE60224128T2 (de) | Vorrichtung und Verfahren zum Erkennen von Zeichen und mathematischen Ausdrücken | |
DE69229536T2 (de) | Verfahren und Gerät zum Auswahl linguistisch bezeichnender Bilder in einem Dokumentbild ohne Dekodierung des Bildinhalts | |
DE69515371T2 (de) | Suche und Vergleich von nicht-erkannter Handschrift | |
DE69528023T2 (de) | Anlage und Verfahren zur automatischen Interpretation von Eingabeausdrucken mittels neuer a posteriori Washscheinlichkeitmasse und optimal trainierter Datenverarbeitungsnetzwerken | |
DE60225170T2 (de) | Verfahren und vorrichtung zum dekodieren handschriftlicher zeichen | |
Nguyen et al. | Attempts to recognize anomalously deformed Kana in Japanese historical documents | |
DE102011079443A1 (de) | Lerngewichtungen von Schriftarten für getippte Proben bei der Handschriftenschlüsselwortauffindung | |
DE60220537T2 (de) | Zeichenidentifikation | |
EP0784285B1 (de) | Verfahren, Gerät und Computerprogrammprodukt zur Erzeugung von einem Klassifikationsbaum | |
DE112010005297T5 (de) | Suchvorrichtung und Suchprogramm | |
Strauß et al. | ICFHR2018 competition on automated text recognition on a READ dataset | |
Addis et al. | Printed ethiopic script recognition by using lstm networks | |
Agazzi et al. | Pseudo two-dimensional hidden Markov models for document recognition | |
Murase | Online recognition of free-format Japanese handwritings. | |
Hewavitharana et al. | Off-Line Sinhala Handwriting Recognition Using Hidden Markov Models. | |
Senior et al. | An o-line cursive script recognition system using recurrent error propagation networks | |
Likforman-Sulem et al. | Features for HMM-based Arabic handwritten word recognition systems | |
Reul et al. | Automatic Semantic Text Tagging on Historical Lexica by Combining OCR and Typography Classification: A Case Study on Daniel Sander's Wörterbuch der Deutschen Sprache | |
Rodríguez-Serrano et al. | Handwritten word image retrieval with synthesized typed queries |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition |