DE68928097T2 - Spracherkennungssystem - Google Patents
SpracherkennungssystemInfo
- Publication number
- DE68928097T2 DE68928097T2 DE68928097T DE68928097T DE68928097T2 DE 68928097 T2 DE68928097 T2 DE 68928097T2 DE 68928097 T DE68928097 T DE 68928097T DE 68928097 T DE68928097 T DE 68928097T DE 68928097 T2 DE68928097 T2 DE 68928097T2
- Authority
- DE
- Germany
- Prior art keywords
- word
- acoustic
- models
- user
- words
- 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
- 238000012545 processing Methods 0.000 claims description 24
- 238000001914 filtration Methods 0.000 claims description 3
- 238000003780 insertion Methods 0.000 claims 2
- 230000037431 insertion Effects 0.000 claims 2
- 238000012360 testing method Methods 0.000 description 79
- 238000000034 method Methods 0.000 description 48
- 230000006870 function Effects 0.000 description 35
- 238000012549 training Methods 0.000 description 26
- 238000004422 calculation algorithm Methods 0.000 description 24
- 230000008569 process Effects 0.000 description 20
- 239000013598 vector Substances 0.000 description 19
- 238000003825 pressing Methods 0.000 description 15
- 238000010586 diagram Methods 0.000 description 13
- 230000006978 adaptation Effects 0.000 description 12
- 238000013139 quantization Methods 0.000 description 9
- 230000004044 response Effects 0.000 description 9
- 230000002441 reversible effect Effects 0.000 description 8
- 230000003044 adaptive effect Effects 0.000 description 6
- 238000001228 spectrum Methods 0.000 description 6
- 238000001514 detection method Methods 0.000 description 5
- 238000009826 distribution Methods 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 4
- 230000007704 transition Effects 0.000 description 4
- 206010000210 abortion Diseases 0.000 description 3
- 238000012937 correction Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000036961 partial effect Effects 0.000 description 3
- 230000002829 reductive effect Effects 0.000 description 3
- 230000003595 spectral effect Effects 0.000 description 3
- 238000007476 Maximum Likelihood Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 239000003550 marker Substances 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 238000003860 storage Methods 0.000 description 2
- 230000002123 temporal effect Effects 0.000 description 2
- 230000001755 vocal effect Effects 0.000 description 2
- 230000003466 anti-cipated effect Effects 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- ZPUCINDJVBIVPJ-LJISPDSOSA-N ***e Chemical compound O([C@H]1C[C@@H]2CC[C@@H](N2C)[C@H]1C(=O)OC)C(=O)C1=CC=CC=C1 ZPUCINDJVBIVPJ-LJISPDSOSA-N 0.000 description 1
- 230000001427 coherent effect Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000004069 differentiation Effects 0.000 description 1
- 238000009499 grossing Methods 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000035484 reaction time Effects 0.000 description 1
- 230000005236 sound signal Effects 0.000 description 1
- 208000029257 vision disease Diseases 0.000 description 1
- 230000004393 visual impairment Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/06—Creation of reference templates; Training of speech recognition systems, e.g. adaptation to the characteristics of the speaker's voice
- G10L15/063—Training
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/22—Procedures used during a speech recognition process, e.g. man-machine dialogue
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Acoustics & Sound (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Artificial Intelligence (AREA)
- Selective Calling Equipment (AREA)
- Telephonic Communication Services (AREA)
- Traffic Control Systems (AREA)
- Machine Translation (AREA)
- Document Processing Apparatus (AREA)
- Image Processing (AREA)
- Eye Examination Apparatus (AREA)
Description
- Diese Erfindung bezieht sich auf Spracherkennungsmethoden und -geräte sowie auf Trainingsmodelle zur Verwendung in der Spracherkennung. Insbesondere bezieht sich die Erfindung auf Methoden und Geräte, durch die das Erkennungssystem schneller trainiert und die Erkennungsleistung verbessert werden kann.
- Dokument US 4783803 beschreibt ein sprecherunabhängiges akustisches Spracherkennungssystem, das vordefinierte akustische Wortmodelle enthält, die mit von einer Lautäußerung generierten akustischen Daten verglichen werden. Derartige sprecherunabhängige akustische Modellsysteme können von verschiedenen Benutzern verwendet, aber nicht auf eine Verbesserung der Erkennungsrate hin trainiert werden.
- Eine Form des akustischen Spracherkennungssystems für die japanische Sprache wird von F. Togawa in ICASSP '87, Band 2, Seite 1121-1124, unter "sprachaktiviertes Textverarbeitungsprogramm mit automatischen Lernfünktionen für dynamische Optimierung von Silbenschablonen" beschrieben. Die darin beschriebene Methode ist jedoch nicht auf westliche Sprachen, in denen die Phonemsegmente viel verschiedenartiger als in der japanischen Sprache sind, anwendbar. Auch "lernt" dieses System, indem Silbenschablonen vollständig ersetzt werden, ohne daß die im akustischen Modell zuvor enthaltenen Informationen beibehalten werden. Das System ist folglich nicht wirklich adaptiv, denn es lernt nur dadurch, daß es die zuvor bekannten Silbeninformationen einfach "vergißt". Ebenfalls sind linguistische Modellsysteme bekannt, die speziell auf die Stimme eines Benutzers hin trainiert werden müssen. Die Einrichtung derartiger Systeme dauert lange, und es kann auch erhebliche Zeit in Anspruch nehmen, bevor das System ein ausreichendes Vokabular erkennen kann.
- Von einem gewissen Aspekt der vorliegenden Erfindung aus gesehen, muß ein Spracherkennungssystem zur Ausführung der Spracherkennung nach einer Wortäußerung mit folgenden Fähigkeiten ausgerüstet sein:
- Mittel zur Speicherung einer Gruppe akustischer Wortmodelle, die akustische Daten enthalten und in Verbindung mit einem Wortlabel gespeichert werden;
- Mittel zur Erstellung eine akustischen Beschreibung des geäußerten Wortes, das erkannt werden soll;
- Erkennungsmittel für den Vergleich der erstellten akustischen Beschreibung mit einer Vielzahl von akustischen Wortmodellen, die in den genannten Mitteln zur Auswahl eines akustischen Wortmodells, das der akustischen Beschreibung am besten entspricht, gespeichert werden.
- Es handelt sich hier um Mittel, durch welche die akustischen Daten aus der akustischen Beschreibung mit den akustischen Daten, die zur Auswahl des am besten passenden akustischen Wortmodells gespeichert sind, kombiniert werden und dadurch das akustische Wortmodell aktualisiert wird. Auch sind Mittel zur Speicherung des aktualisierten akustischen Wortmodells in der genannten Gruppe gespeicherter akustischer Wortmodelle eingeschlossen, und zwar auf eine Weise, daß das aktualisierte akustische Wortmodell bei der nachfolgenden Spracherkennung durch das genannte System genutzt werden kann.
- Die Erfindung sollte nach dem Lesen der nachfolgenden Darstellung und dem Studium der begleitenden Zeichnungen erheblich leichter zu verstehen sein.
- ABBILDUNG 1 zeigt ein schematisches Blockdiagramm der Funktionsschritte eines Spracherkennungssystems für diskrete Wortäußerungen, um das es sich bei der vorliegenden Erfindung handelt.
- ABBILDUNG 2 zeigt ein Flußdiagramm der Funktionsschritte, die bei der Erfassung neuer akustischer Tokens zur Verwendung in den Spracherkennungssystemen der Abbildungen 1 und 25 durchgeführt werden müssen.
- ABBILDUNG 3 zeigt ein schematisches Blockdiagramm des Erkennungsalgorithmus und der verwandten Datenstrukturen, die in der in Abbildung 1 dargestellten Realisierung der Erfindung verwendet werden.
- ABBILDUNG 4 zeigt ein schematisches Blockdiagramm der Funktionsschritte, die in einem bekannten Erkennungsalgorithmus, der Hidden-Markov-Modelle verwendet, nach einer diskreten Wortäußerung ausgeführt werden. Dieser Erkennungsalgorithmus kommt in der in Abbildung 1 gezeigten Realisierung der Erfindung zur Anwendung.
- ABBILDUNG 5 zeigt ein schematisches Blockdiagramm der Funktionsschritte, die während des Trainings oder der Erstellung akustischer Modelle für ein verdecktes Markov-Modell durchgeführt werden, das in dem in Abbildung 1 und 25 gezeigten Erkennungssystemen zur Anwendung kommt.
- ABBILDUNG 5A zeigt eine Modifikation des Blockdiagramms in Abbildung 5 zur Erkennung kontinuierlicher Sprache bei verdeckten Markov-Modellen.
- ABBILDUNG 6 zeigt ein schematisches Blockdiagramm, daß die Weiterleitung einer bekannten dynamischen Programmierungsmethode betrifft, die beim Training akustischer Modelle oder bei der kontinuierlichen Spracherkennung als erster Schritt angewandt wird.
- ABBILDUNG 7 zeigt ein schematisches Blockdiagramm des Rückverfolgungsschrittes beim Training akustischer Modelle oder bei der kontinuierlichen Spracherkennung
- ABBILDUNG 8 zeigt ein schematisches Diagramm für das Training akustischer Modelle, das in den Abbildungen 5,6 und 7 beschrieben wird. Hierdurch wird dargestellt, wie die in einem derartigen Training gewonnenen Daten zum Training phonemischer Wortmodelle verwendet werden können.
- ABBILDUNG 9 zeigt ein Flußdiagramm des in Abbildung 1 und 25 verwendeten probabilistischen natürlichen Sprachmodellierungsprozesses.
- ABBILDUNGEN 10-24 illustrieren Beispiele für Computerbildschirmsequenzen, die generiert werden, wenn das in Abbildung 1 dargestellte Programm zur Eingabe des Satzes "This invention relates to..." verwendet wird.
- ABBILDUNG 25 zeigt ein schematisches Blockdiagramm der Funktionsschritte in einem verbundenen Spracherkennungssystem, das in der vorliegenden Erfindung verkörpert ist.
- ABBILDUNG 26 zeigt eine Fortsetzung des schematischen Blockdiagramms aus Abbildung 25, in der die Schritte des Satzbearbeitungsmodus dieses Systems illustriert werden.
- ABBILDUNGEN 27 - 36 illustrieren Beispiele für Computerbildschirmsequenzen, die generiert werden, wenn das in Abbildung 25 und 26 dargestellte Programm zur Eingabe von Sätzen in das System verwendet wird.
- Abbildung 1 zeigt ein schematisches Blockdiagramm der Funktionsschritte, die in der bevorzugten Realisierung der vorliegenden und zur Erkennung separat gesprochener Worte entwickelten Erfindung durchgeführt werden. In diesem Kontext wird unter "Wort" ein einzelnes Wort oder eine Gruppe von Wörtern verstanden, die in einer einzelnen Lautäußerung gesprochen werden und für die ein akustisches Modell für einzelne Lautäußerungen trainiert worden ist.
- Die bevorzugte Realisierung der in ABBLDG. 1 beschriebenen Erfindung wurde als TSR-Tastaturemulator entwickelt. Derartige Tastaturemulatoren sind im PC-Bereich als Programme bekannt, die in den Speicher geladen werden und dort permanent verbleiben, so daß sie von einem Anwendungsprogramm aufgerufen werden können, wenn eine Tastatureingabe angefordert wird. Wenn eine derartige Anwendung ein Teilprogramm aufruft, um die Eingabe über die Tastatur zu erhalten, übernimmt der Emulator den Aufruf und führt anstelle der standardmäßigen Tastaturverarbeitungsroutine des Betriebssystems das Emulatorprogramm aus. Sobald dieser Vorgang abgeschlossen ist, wird die Steuerung an das Anwendungsprogramm zurückgegeben. Eventuelle Ausgaben werden als Zeichenfolge wiedergegeben, und zwar genauso, als ob diese Zeichen über die Tastatur eingegeben worden wären.
- Das in ABBLDG. 1 dargestellte Programm startet bei 100 (siehe links unten in der Abbildung), und zwar durch Ausführung von Schritt 101. Schritt 101 initialisiert das System. Das restliche Diktierprogramm in ABBLDG. 1 wird in den Arbeitsspeicher geladen und das Diktierprogramm dann initialisiert. Der Erkennungsmodus wird in den TEXTMODUS geschaltet, wodurch das erste diktierte Wort als ein Wort erkannt wird, das in den Text eingegeben werden soll. Gleichzeitig wird SAV TOK (ein Puffer, in dem ein zuvor erkanntes Wort gespeichert werden kann) gelöscht sowie auch die Zeichenfolge STARTSTRING, die zur Korrektur falsch erkannter Wörter verwendet wird. Schritt 101 beendet anschließend das Diktierprogramm und belaßt es im Arbeitsspeicher, so daß es vom Anwendungsprogramm aufgerufen werden kann. Als nächstes wird ein Anwendungsprogramm geladen und zu Schritt 102 übergegangen. Bei den in dieser Spezifikation verwendeten Beispielen handelt es sich um ein Textverarbeitungsprogramm. Mit dem Diktierprogramm in ABBLDG. 1 können jedoch auch andere Anwendungsprogramme verwendet werden.
- Das Anwendungsprogramm wird mit Schritt 102 zunächst initialisiert. Anschließend wird eine Benutzereingabe über die Tastatur angefordert. Diese Anforderung veranlaßt das Anwendungsprogramm zum Aufruf des Diktierprogramms (ABBLDG. 1), wobei mit der Eingabeerkennungsschleife 103 (siehe oben in ABBLDG. 1) begonnen wird. Schleife 103 führt wiederholt Schritt 111 aus, der nach einer Lautäußerung sucht, sowie auch Schritt 104, der nach einem Tastenanschlag sucht. Das Programm setzt Schleife 103 fort, bis mit Schritt 104 oder 111 eine Benutzereingabe festgestellt wird. Sobald ein Tastenanschlag generiert wird, übernimmt Schritt 104, und die Prüfung in Schritt 801 wird aktiviert.
- Diese Prüfung gilt als erfolgreich abgeschlossen, sobald das System ein Fenster anzeigt (entweder ein Auswahlfenster oder ein Definitionsfenster). Das heißt, die Prüfung gilt als abgeschlossen, wenn, wie weiter unten erklärt, ein Auswahlfenster durch Schritt 176 oder 274 oder ein Definitionsfenster durch Schritt 270 angezeigt und die Anzeige nicht durch Schritt 204 oder 192 gelöscht wurde. Wenn die Prüfung mit Schritt 801 nicht erfüllt worden ist, wird der Tastenanschlag direkt an die Anwendung gesendet. In diesem Modus kann der Benutzer Zeichen über die Tastatur, d.h. ohne Spracherkennung, eingeben. Sofern die Prüfung mit Schritt 801 erfüllt ist, wird Schritt 105 durchgeführt, um den Tastenanschlag zu erfassen und für eine Reibe von Verzweigungstests (Schritte 106-110) bereitzustellen. Schritt 105 enthält eine Reihe von Teilschritten, die dazu führen, daß das Programm einen Augenblick wartet (d.h. für die Dauer eines Doppelklicks), sofern der Tastenanschlag als Funktionstaste f1 - f9 empfangen wird. Auf diese Weise wird festgestellt, ob der Benutzer die Funktionstaste evtl. erneut drückt. Wenn dies der Fall ist, wird der Tastenanschlag als Doppelklick interpretiert und mit der Nummer verknüpft, die der zweimal gedrückten Funktionstaste entspricht. Als Ergebnis wird dann ein Zeichen, das sowohl die Nummer der gedrückten Funktionstaste als auch die Information, daß die Taste zweimal gedrückt wurde, darstellt, an die Tests in den Schritten 106 - 110 gesandt.
- Wenn der Benutzer dagegen ein Wort diktiert, wird Schritt 111 aktiviert, und für die Äußerung wird dann ein Spracherkennungs-Token erzeugt.
- In ABBLDG. 2 werden die Schritte beschrieben, die nach einer Wortäußerung zur Erzeugung eines Token führen. In der bevorzugten Realisierung werden die meisten der in ABBLDG. 2 gezeigten Schritte von der Hardware übernommen, wahrend die in ABBLDG. 1 gezeigten Schritte von der Zentraleinheit (CPU) ausgeführt werden, d.h. eine parallele Durchführung der in ABBLDG. 2 und ABBLDG. 1 gezeigten Schritte ist durchaus möglich.
- Wenn der Benutzer ein Wort in das Mikrofon 811 diktiert, wird von diesem Mikrofon mit Schritt 112 ein akustisches Signal empfangen. Im Grunde genommen empfängt Schritt 112 über das Mikrofon standig ein akustisches Signal, sofern das Mikrofon eingeschaltet ist. Dies ist normalerweise der Fall, sofern der Benutzer das System regulär zum Diktieren benutzt. Die in ABBLDG. 2 gezeigten Schritte sollten folglich als Schritte eines parallel laufenden Prozesses betrachtet werden. Das von Mikrofon 811 stammende analoge elektrische Signal, das mit Schritt 112 empfangen wurde, wird mit Schritt 113 in eine Folge digitaler Werte konvertiert. Mit Schritt 114 wird durch eine Fourier-Transformation (FFT) für jeden Sprachrahmen ein Größenspektrum berechnet. Diese Methoden zur Berechnung eines Größenspektrums aus einer Folge digitaler Werte sind den Experten der digitalen Signalverarbeitung durchaus bekannt. In der bevorzugten Realisierung der vorliegenden Erfindung werden bei der Analog/Digital-Konvertierung in Schritt 113 Werte bei ungefähr 12 000 Hertz generiert, wobei wahrend eines 20 Millisekunden dauernden Sprachrahmens 240 Digitalwerte erstellt werden. Diese 240 Digitalwerte werden durch eine passende Fensterfunktion multipliziert (z.B. durch ein Hamming-Fenster), und anschließend wird durch die Fourier-Transformation in Schritt 114 ein Frequenzspektrum berechnet. Andere Methoden der digitalen Signalverarbeitung, wie z.B. die lineare prädiktive Codierung (LPC) und andere akustische Parameterisierungen, wie z.B. zepstrale Koeffizienten, können ebenfalls Verwendung finden.
- Nach der FFT-Berechnung des Größenspektrums mit Schritt 114 wird mit Schritt 115 ein Test durchgeführt, um festzustellen, ob die Signale, die momentan vom Mikrofon empfangen und durch die FFT transformiert werden, den Beginn einer Wortäußerung dastellen. Obwohl es in der Spracherkennung viele Möglichkeiten gibt, den Beginn einer Sprachäußerung festzustellen, beginnt eine Äußerung in der bevorzugten Realisierung der vorliegenden Erfindung in Schritt 115 meistens in dem Moment, in dem durch die FFT-Ausgabe angezeigt wird, daß das Audiosignal 3 Rahmen lang über einer bestimmten Lautstärke liegt. Wenn der Benutzer das Mikrofon bei Schritt 111 relativ dicht an seinen Mund hält, wird seine Sprache lauter als andere Geräusche aufgenommen (mit Ausnahme von versehentlichen anderen Geräuschen wie z.B. Türknallen oder Räuspern). Diese einfache Methode der Sprachäußerungserkennung funktioniert recht zuverlässig.
- Wenn mit Schritt 115 eine Sprachäußerung erkannt wird, generiert Schritt 116 einen Erkennnngsmarker, der unverändert bleibt, solange mit Schritt 111 (ABBLDG. 1) dieser Marker nicht getestet wird. Sobald eine Äußerung erkannt wird, erzeugt Schritt 118 daraus einen Token. In der bevorzugten Realisierung der Erfindung besteht dieser Token aus der Folge aller Rahmen, die durch FFT mit Schritt 114 erzeugt wurden. Dabei wird 16 Rahmen vor dem Rahmen begonnen, bei dem die Äußerung erkannt wurde. Es wird dann bis zu dem Rahmen fortgefahren, bei dem die FFT darauf hinweist, daß die Amplitude des Signals für etwa eine Viertelsekunde unterhalb der Schwelle für Umgebungsgeräusche gelegen hat. Diese Rahmenfolge stellt den Äußerungs-Token dar.
- Bei der Erzeugung von Tokens kann auch die Vektorenquantisierung in Schritt 117 verwendet werden. Einige (aber nicht alle) gängigen Spracherkennungssysteme verwenden die Vektorenquantisierung, um die Daten zu komprimieren, die zur Darstellung der Informationen erforderlich sind, die durch die FFT für die einzelnen Rahmen produziert wurden. Die vorliegende Erfindung funktioniert mit beiden Formen der akustischen Analyse. Bei der Vektorenquantisierung (Schritt 117), die bei der digitalen Signalverarbeitung üblich ist, wird der spektrale Größenvektor für den aktuellen Sprachrahmen mit dem Codebuch der Musterspektren verglichen. Der Vektor der spektralen Größenwerte wird dann durch eine Einzelzahl ersetzt, d.h. durch den Codebuch-Index des am besten passenden Musterspektrums. Mit Schritt 118 wird ein Token erstellt, und zwar entweder durch die Erstellung eines Array aus der Folge der spektralen Größenvektoren (sofern in Schritt 117 nicht die Vektorenquantisierung verwendet wurde) oder durch die Erstellung einer Folge von Vektorenquantisierungs-Indexen für die Sprachrahmenfolge.
- Wenn mit Schritt 111 (ABBLDG. 1) eine Äußerung erkannt wird, geht das Programm zu Schritt 119 über, mit dem der in Schritt 118 (ABBLDG. 2) produzierte Token im Speicherpuffer TEMP TOK (Abkürzung für "temporärer Token") gespeichert wird. Mit den Tests aus den Schritten 120 und 121 wird festgestellt, ob der Erkennungsmodus sich im BEARBEITUNGSMODUS oder TEXTMODUS befindet. Falls der Erkennungsmodus in den BEARBEITUNGSMODUS geschaltet worden ist, führt Schritt 120 dazu, daß durch Schritt 122 für den in TEMP TOK gespeicherten Token eine BEARBEITUNGSMODUS-Spracherkennung durchgeführt wird. Wenn der Erkennungsmodus andererseits in den TEXTMODUS geschaltet worden ist, führt Schritt 121 dazu, daß durch Schritt 123 für TEMP TOK eine TEXTMODUS-Spracherkennung durchgeführt wird. TEXTMODUS ist der normale Erkennungsmodus, der das Diktieren von Wörtern ermöglicht, die in die Textausgabe des Systems eingeschlossen werden sollen. Dabei wird ein Vokabular verwendet, das alle Textwörter des Schritts 124 enthalt, für die das System die entsprechenden akustischen Modelle besitzt (siehe ABBLDG. 3). Die aktuelle Realisierung der Erfindung kann ein Erkennungsvokabular von über 5000 Textwörtern enthalten, sofern für alle diese Wörter akustische Modelle trainiert wurden. Darüber hinaus enthält das TEXTMODUS-Vokabular die Menüauswahlbefehle aus dem Schritt 125 (wie z.B. "pick one", "pick two" usw.) sowie die Bearbeitungsmenübefehle aus Schritt 126 (wie z.B. "edit one" "edit two" usw.) und die Briefbefehle aus dem Schritt 127 (wie z.B. "starts alpha", "statts bravo" usw.), die aus ABBLDG. 3 zu ersehen sind und zur Bearbeitung falsch erkannter Wörter verwendet werden, wie nachfolgend beschrieben wird. Die BEARBEITUNGSMODUS-Erkennung stützt sich auf ein bedeutend kleineres aktives Vokabular, das die Menüauswahlbefehle aus Schritt 125, die Bearbeitungsmenübefehle aus Schritt 126 und eine vereinfachte Version der Briefbefehle aus Schritt 127 (z.B. "alpha", "beta" usw.), aber nicht das große Textwörtervokabular enthält.
- Mit Ausnahme der unterschiedlichen aktiven Vokabulare, verwenden BEARBEITUNGSMODUS und TEXTMODUS denselben Erkennungsalgorithmus aus Schritt 129, der in einer vereinfachten grafischen Form in ABBLDG. 3 dargestellt wird. Dieser Algorithmus vergleicht die Folge der einzelnen Rahmen aus Schritt 130, die zur Erstellung von TEMP TOK aus Schritt 131 dienen, mit einer Vielzahl von akustischen Wortmodellen aus Schritt 132. In der bevorzugten Realisierung wird durch dynamische Programmierung versucht, die Folge der individuellen Knoten 133 der einzelnen Wortmodelle 132 mit der Rahmeufolge 130 (mit der TEMP TOK erstellt wird) so zeitlich auszurichten, daß die Ähnlichkeit zwischen den Knoten des Wortmodells und den jeweiligen Rahmen maximiert wird. Für jeden dieser zeitlich ausgerichteten Treffer wird dann ein Ergebnis berechnet, und zwar auf Basis der Summe der Unähnlichkeit zwischen den akustischen Informationen in einem Rahmen und dem akustischen Modell des zur Ausrichtung in Frage kommenden Knotens. Die Wörter mit der niedrigsten Abstandssumme werden sodann als Treffer ausgewählt. Sofern Sprachmodellfilterung eingesetzt wurde, wird dem Wort vor der Auswahl ein Teilergebnis hinzugefügt, das jeweils die Wortwahrscheinlichkeit im aktuellen Sprachkontext reflektiert. Dadurch können Wörter, die durch das Sprachmodell als im aktuellen Kontext am wahrscheinlichsten auftretend herausgefiltert wurden, einfacher ausgewählt werden.
- In ABBLDG. 4 ist eine detailliertere Beschreibung des Spracherkennungsalgorithmus 129, der in der bevorzugten Realisierung Anwendung findet, illustriert. Dieser Algorithmus verwendet die Methode des verdeckten Markov- Modells. In der automatischen Spracherkennung wird bei dieser Methode jedes Wort im aktiven Vokabular überprüft, indem das akustische Modell 132 (wie in ABBLDG. 3 gezeigt) für jedes Wort als verdeckter Markov- Prozeß dargestellt und die Wahrscheinlichkeit berechnet wird, mit welcher der aktuelle akustische Token 131 (siehe ABBLDG. 3) als probalistische Funktion dieses verdeckten Markov-Prozesses generiert werden kann. In der bevorzugten Realisierung der vorliegenden Erfindung werden die Wortergebnisse als negative Wahrscheinlichkeitslogarithmen dargestellt, sodaß alle Ergebnisse nicht negativ sind und ein Nullergebnis einer Wahrscheinlichkeit von Eins, d.h. einem vollständigen Treffer entspricht.
- Der erste Schritt (Schritt 151) in der Anpassungsroutine in ABBLDG. 4 dient zur Initialisierung der Ergebnisse, um den Status des Markov-Modells zu Beginn des Token darzustellen. Das heißt, es wird für jedes Wort im Vokabular Initialisierungsschritt 152 durchgeführt. Mit Schritt 152 wird das Ergebnis des ersten Knotens 133 (siehe ABBLDG. 3) eines Wortmodells auf Null gesetzt (hierdurch wird gekennzeichnet, daß sich der Markov-Prozeß am wahrscheinlichsten im ersten Knoten befindet). Das Ergebnis der anderen Knoten 133 wird auf BAD SCORE gesetzt, d.h. auf eine große positive Zahl (die im wesentlichen einer Wahrscheinlichkeit von Null entspricht), so daß jeder Knoten mit einem Ergebnis von BAD SCORE als unmöglichem Ereignis notiert wird.
- Die Hauptanpassung erfolgt dann mit Schritt 153, in dem für jeden Rahmen 130 (siehe ABBLDG. 3) für den Token dann Schritt 155 durchgefint wird. Durch Schritt 155 werden sodann wiederum für jedes Wort im aktiven Vokabular die Schritte 156 und 162 ausgeführt.
- Schritt 156 fuhrt für jeden Knoten im vorgegebenen Wort die Schritte 157 und 158 aus. Mit Schritt 157 wird für das Ereignis das Ergebnis pass(KNOTEN) berechnet. Dies korrespondiert mit dem wahrend des vorherigen Rahmens bereits durchgeführten Markov-Prozeß im aktuellen KNOTEN und mit dessen Beibehaltung im aktuellen KNOTEN für den aktuellen RAHMEN. Das heißt, score(WORT,KNOTEN) ist das Ergebnis des aktuellen KNOTENs bis hin zum vorherigen Rahmen, und trans prob(KNOTEN,KNOTEN) ist der negative Logarithmus der Wahrscheinlichkeit eines Markov-Übergangs von KNOTEN zu sich selbst.
- Mit Schritt 158 wird dann für jeden Pfad zum aktuellen KNOTEN von jedem zulässigen Vorgängerknoten (VKNOTEN) aus ein Ergebnis berechnet. Ein Vorgängerknoten ist ein Knoten mit einer Übergangswahrscheinlichkeit zum aktuellen KNOTEN, die nicht gleich Null ist. Schritt 158 führt für jeden VKNOTEN die Schritte 159 und 160 durch. Schritt 159 berechnet für das Ereignis dann das Ergebnis, das aus dem Markov-Prozeß in VKNOTEN für den vorherigen Rahmen und aus dem Übergang zu KNOTEN für den aktuellen Rhhmen besteht. Mit Schritt 160 wird dieses neue Ergebnis (new score) anschließend mit dem Ergebnis für pass(KNOTEN), das zuvor in Schritt 157 berechnet wurde, verglichen. Wenn new score besser als pass(KNOTEN) ist, wird pass(KNOTEN) mit Schritt 161 auf new score gesetzt. Da jeder Pfad zum aktuellen KNOTEN berücksichtigt wird, bedeutet das, daß pass(KNOTEN) kontinuierlich aktualisiert wird, um für jeden Pfad, der zum aktuellen KNOTEN des aktuellen RAHMENS führt, das beste Ergebnis darzustellen.
- Nach Beendigung von Schritt 158 für jeden VKNOTEN und von Schritt 156 für jeden KNOTEN im aktuellen WORT wird für jeden KNOTEN im aktuellen WORT dann Schritt 162 wiederholt. Dieser Schritt wirci in einer separaten Schleife ausgeführt, da das Array score(WORT,KNOTEN) bei diesem Vorgang überschrieben wird. Schritt 162 muß mit dem Überschreiben warten, bis Schritt 156 das Array score(WORT,KNOTEN) nicht mehr benötigt. Schritt 162 führt für jeden KNOTEN des aktuellen WORTS dann Schritt 163 aus. Mit Schritt 163 wird das Ergebnis pass(KNOTEN) zum Ergebnis für den aktuellen RAHMEN addiert, für den Schritt 153 gerade wiederholt wird.
- Die Funktion label(WORT,KNOTEN), die bei Schritt 163 verwendet wird, ermöglicht die Verwendung einer Reihe verschiedener Wortmodellstile in der in ABBLDG. 3 beschriebenen Methodologie zum verdeckten Markov-Modell. In der automatischen Spracherkennung gibt es zwei Hauptaaten für Wortmodelle, die in der verdeckten Markov- Methode und in anderen auf dynamischer Programmerung beruhenden automatischen Spracherkennungsmethoden Anwendung finden: ganze Wortmodelle und auf Phonemen basierende Wortmodelle (wie weiter unten im Zusammenhang mit ABBLDG. 8 beschrieben). Es können aber auch umfassendere Modelle, wie z.B. kontextuale Phonem-Modelle, verwendet werden, die möglicherweise aus einer Kombination einfacher Phonem-Modelle und ganzer Wortmodelle bestehen. Mit Schritt 163 kann jede dieser Methoden durch die entsprechende Auswahl der Funktion für label(WORT,KNOTEN) verwirklicht werden. Bei ganzen Wortmodellen gibt label(WORT)KNOTEN) einen eindeutigen Wert für jeden KNOTEN eines jeden WORTS zurück. Bei Phonem-Modellen gibt label(WORT,KNOTEN)) denselben Wert zurück, sobald ein und dasselbe Phonem von zwei oder mehr Wörtern genutzt wird, und bei kontextualen Phonem-Modellen wird ein Wert zurückgegeben, der vom aktuellen Phonem und seinem Kontext eindeutig determiniert ist.
- Darüber hinaus unterscheidet man zwischen Spracherkennungssystemen, die einen Vektorenquantisierer (siehe Erklärung zu ABBLDG. 2) verwenden, und Spracherkennungssystemen, die keinen Vektorenquantisierer verwenden. Systeme mit Vektorenquantisierung werden als Diskret-Alphabet-Systeme bezeichnet und Systeme ohne Vektorenquantisierung als kontinuierliche Parameter-Systeme. Durch die Funktion obs prob(label(WORT,KNOTEN)) in Schritt 163 kann die bevorzugte Realisierung der vorliegenden Erfindung sowohl als Diskret-Alphabet-System als auch als kontinuierliches Parameter-System eingesetzt werden. Wenn ein Diskret-Alphabet verwendet wird, fungiert obs prob(label(WORT,KNOTEN)) als Tabellenschleife in einem Array, wobei der erste Index der Wert für label(WORT,KNOTEN) und der zweite Index der Vektorenquantisierer für den aktuellen RAHMEN ist. In einem kontinuierlichen Parametersystem wird jeder Wert für label(WORT,KNOTEN) mit einer parametrischen Wahrscheinlichkeitsverteilung für den Vektor der akustischen Parameter verknüpft. Der Vektor der akustischen Parameter kann zum Beispiel als multivariante Normalverteilung modelliert werden. Durch die Funktion obs prob(label(WORT,KNOTEN),RAHMEN) wird dann der negative Logarithmus der Wahrscheinlichkeit des Vektors für die Parameter berechnet, die mit dem aktuellen RAHMEN der parametrischen Wahrscheinlichkeitsverteilung verknüpft sind, die wiederum mit dem aktuellen Wert für label(WORT)KNOTEN) in Zusammenhang steht.
- Durch Schritt 163 wird in jedem Fall der negative Wahrscheinlichkeitslogarithmus des aktuellen RAHMENS für den aktuellen KNOTEN berechnet Das Ergebnis wird zu pass(KNOTEN) addiert, und die Summe, d.h. das Ergebnis für den besten Pfad zum aktuellen KNOTEN für den aktuellen RAHMEN, wird in score(WORT,KNOTEN) gespeichert.
- In der bevorzugten Realisierung besitzt jedes Wortmodell einen speziellen Endknoten, nämlich last node(WORT) (siehe 133f in ABBLDG. 3), welcher der Stille (oder dem Umgebungsgeräusch) am Ende der diskreten Äußerung entspricht. Diese zusätzlichen Knoten ermöglichen verschiedene Interpretationen. Die beste (und wahrscheinlichste) Interpretation bestiinrnter Wörter kann am Ende einer wahrgenommenen Äußerung ergeben, daß das Wort bereits vollständig ausgesprochen worden ist, während der Markov-Prozeß für andere Wörter immer noch einen Status wiedergibt, der einem schwachen Sprachlaut (wie z.B. einem Unterbrechungs- oder Reibelaut) entspricht. Durch die zusätzlichen Knoten in den Wortmodellen kann die Entscheidung, wann ein Wort zu Ende ist, für jedes Wort separat getroffen werden.
- Durch Schritt 162 werden die Schritte beendet, die für die einzelnen Wörter des Vokabulars ausgeführt wurden und aus denen sich Schritt 155 zusammensetzt. Schritt 155 beendet dagegen die Schritte, die für jeden RAHMEN im Token ausgeführt wurden und aus denen sich Schritt 153 zusammensetzt. Nachdem Schritt 153 für jeden RAHMEN des Token wiederholt worden ist, gibt Schritt 166 die "Auswahlliste" aus, die aus dem Wort mit dem besten Ergebnis und den acht nächstbesten Wörtern besteht. Sobald Schritt 153 für jeden RAHMEN der Äußerung beendet ist, wird score(WORT,last node(WORT)) als Ergebnis für die Hypothese übernommen, daß das Wort zu Ende gesprochen ist und der Markov-Prozeß sich in dem Endknoten befindet, welcher der Stille nach dem Wort entspricht. Mit Schritt 166 wird das Sprachmodellergebnis für jedes WORT zum Endergebnis WORT-Endknotens hinzugefügt. Das heißt, Schritt 166 wählt die Wörter für die Auswahlliste auf Basis eines Vergleichs der Werte des Ausdrucks score(WORT,last node(WORT)) - log(Ps( WORT KONTEXT)) ) für jedes Wort im aktiven Vokabular aus, wobei Ps die in ABBLDG. 9 berechnete Sprachmodellwahrscheinlichkeit ist. Zur Auswahl der neun besten Ergebnisse werden allgemein bekannte digitale Berechnungstechniken verwendet. In der bevorzugten Realisierung ist eine Schwelle gesetzt, die verhindert, daß Wörter mit einem Wahrscheinlichkeitsergebnis kleiner als 2-16 angezeigt werden (das Gesamtergebnis der Wortwahrscheinlichkeiten summiert sich auf 1). Im Normalfall erfüllen weniger als 9 Wörter dieses Kriterium, d.h. es werden weniger als 9 Wörter angezeigt. Dieser Schritt schließt den in der bevorzugten Realisierung verwendeten Algoritlunus 129 zur Erkennung einer diskreter Äußerung ab.
- Obwohl die Anpassungsroutine 129 im Hinblick auf eine bestimmte Realisierung beschrieben wurde, gibt es in der automatischen Spracherkennung viele Variationen der in ABBLDG. 4 dargestellten Grundroutine. Die vorliegende Erfindung ist mit vielen dieser Variationen kompatibel. Insbesondere handelt es sich dabei um Variationen, die zur Verbesserung der Spracherkennungseffizienz bei sehr großen Vokabularen verwendet werden können. Um zum Beispiel den Berechnungsumfang zu reduzieren, können verschiedene Schwellenschemen eingesetzt werden, so daß die Anpassungsroutine 129 dann nur die Knoten mit den besten Ergebnissen für jeden Rahmen zu überprüfen braucht. Derartige Schwellenschemen funktionieren sehr gut bei der vorliegenden Erfindung, da praktisch dieselben verdeckten Markov-Modelle verwendet werden und dabei weniger Knoten überprüft zu werden brauchen.
- Eine andere Variation der Realisierung in ABBLDG. 4 könnte dazu dienen, die Ergebnisse zu normieren, so daß die Berechnung in 16-Bit-Ganzzahl-Arithmetik erfolgen kann. In einer weiteren Variation könnte z.B. Schritt 160 durch eine Ergebniskornbinationsroutine ersetzt werden, in der pass(KNOTEN) auf den Logarithmus der Summe aus new score und pass(KNOTEN) eingestellt wird.
- Zu anderen Variationen der grundlegenden Anpassungsroutine in ABBLDG. 4, die der Verbesserung der Spracherkennungseffizienz bei sehr großen Vokabularen dienen, kann eine Vorfilterung bzw. Schnellanpassungsstufe gehören, bei der alle weniger wahrscheinlichen Wortkandidaten gelöscht werden, oder auch eine Stufe für den lexikalen Abruf, durch die aus der akustischen Evidenz von unten nach oben wahrscheinliche Wortkandidaten aufgestellt werden. Die vorliegende Erfindung ist mit Variationen kompatibel, die eine inkrementelle Erstellung von zugeordneten akustischen Modellen gestatten, während dem Vokabular einzelne Wörter hiuzugefügt werden.
- Aus der weiter unten folgenden Diskussion zu ABBLDG. 5A wird darüber hinaus deutlich, daß die vorliegende Erfindung mit einer anderen Realisierung des Erkennungsalgorithmus 129, die für verbundene und kontinuierliche Sprache entwickelt wurde, durchaus kompatibel ist (dieses wird noch detailliert im Zusammenhang mit ABBLDG. 25 erklärt).
- Wir wollen jetzt zu ABBLDG. 1 zurückkehren. Sobald das Spracherkennungsprogramm, das bei der BEARBEITUNGSMODUS- oder TEXTMODUS-Erkennung (Schritt 122 bzw. 123) aufgerufen wurde, das Wort mit dem besten Ergebnis und eine Liste der nächstbesten Wörter ausgewählt hat, wird die entsprechende Rechnerantwort (in ABBLDG. 1 hsndelt es sich um eine Folge aus einem oder mehreren Zeichen), die mit dem besten Wort verknüpft ist, an die Verzweigungstests der Schritte 106 - 110 geleitet. Derselbe Vorgang läuft bei einem Tastenanschlag ab (sobald ein Auswahlfenster angezeigt wird, ist der Test in Schritt 108 abgeschlossen).
- Wenn es sich bei der Benutzereingabe um eine Äußerung handelt, die als Textwort erkannt wird, handelt es sich bei der zugehörigen Rechnerantwort oder -ausgabe um eine Folge druckbarer ASCII-Zeichen, welche die Schreibweise des jeweiligen Wortes darstellen. Dieser Zeichenfolge geht ein Sonderzeichen voraus, das zur Unterscheidung von Textwörtern, die aus einzelnen Buchstaben bestehen, und Buchstabenbefehlen dient. Wenn diese Rechnerantwort an die Testfolge der Schritte 106 - 110 weitergeleitet wird, ist der Test in Schritt 108 damit erfüllt, und das Programm geht dann zu der bei Schritt 170 beginnenden Verzweigung über. Der Test in Schritt 108 gilt auch dann als bestanden, wenn Schritt 123 für eine Äußerung keine beste Wahlmöglichkeit finden kann. Es wird angenommen, daß alle nicht trainierten Wörter, die der Benutzer während seiner Arbeit mit dem in ABBLDG. 1 gezeigten Programm diktiert, Textwörter sind. Dabei wird davon ausgegangen, daß der Benutzer vor der Spracheingabe von Befehlen, deren Ausgabe die Tebibedingungen der Schritte 106, 107, 109 und 110 erfüllt, bereits geeignete akustische Modelle für diese Befehle trainiert hat, und zwar unter Verwendung traditioneller akustischer Trainingstechniken.
- Sobald der Test in Schritt 108 bestanden ist, fährt das Programm mit Schritt 170 fort. Schritt 170 schaltet den Erkennungsmodus auf TEXTMODUS, da das System annimmt, daß der Benutzer nach dem Diktieren eines Textwortes wahrscheinlich ein weiteres Wort diktiert. Mit Schritt 172 wird der in TEMP TOK gespeicherte Token anschließend im Puffer REC TOK (Recognized Token; erkannter Token) gespeichert. Dies geschieht, damit der Token für eine Wiedererkennung verfügbar ist und nicht durch einen Sprachbefehl überschrieben wird, z.B. wenn der Benutzer zur Wiedererkennung des zuvor in TEMP TOK gespeicherten Token einen Sprachbefehl diktiert.
- Durch Schritt 174 wird als nächstes die aus der Erkennung oder Wiedererkennung des vorherigen Textwortes stammende erste Auswahl oder das Wort mit dem besten Ergebnis bestätigt, das bei Äußerung des soeben in REC TOK gespeicherten Token angezeigt wurde. Die vorherige Anzeige wird mit Schritt 176 anschließend gelöscht, und die aus der Erkennung des gerade gespeicherten Token stammenden Wahlmöglichkeiten werden in logischer Reihenfolge angezeigt, Die erste Auswahl oder das Wort mit dem besten Ergebnis wird an erster Stelle aufgeführt, und neben jeder Wahlmöglichkeit ist eine Funktionstaste genannt (f1 - f9). Diese Anzeige erscheint als Popup-Fenster 701 (siehe ABBLDG. 10 - 22). Wenn das in ABBLDG. 1 gezeigte Programm das erste Mal gestartet wird, erscheint diese Fensteranzeige allerdings nicht. Da in diesem Fall noch keine Erkennung durchgeführt wurde, kann auch keine erste Auswahl zur Bestätigung vorliegen.
- Wortmöglichkeiten werden in den bevorzugten Realisierungen in Popup-Fenstern, wie z.B. dem aktiven Fenster 701, angezeigt, da diese Realisierungen zur Verwendung als Sprachtastatur in Verbindung mit Anwendungsprogrammen entwickelt wurden, die ihre eigenen Anzeigen haben. Andere Methoden zur Darstellung der Erkennungsauswahl können jedoch leicht von erfahrenen Anwendern interaktiver Computersysteme in anderen Realisierungen der vorliegenden Erfindung ebenfalls implementiert werden. Wenn das System zum Beispiel für Situationen entwickelt wurde, in denen der Benutzer eine Aufgabe ausführt, die einen Blick auf die Computeranzeige nicht zuläßt (z.B. bei einer mikroskopischen Untersuchung), kann die Auswahlliste unter Verwendung synthetischer Sprache auch in gesprochener Form präsentiert werden. Die synthetische Sprache wäre ebenfalls für Benutzer mit Sehschwächen sehr praktisch.
- Sobald durch Schritt 176 die Wörter mit dem besten Ergebnis angezeigt worden sind, geht das Programm zu Schritt 803 über, in dem getestet wird, ob SAV TOK ein Wort enthält bzw. nicht leer ist. SAV TOK enthält ein zuvor erkanntes Wort, das jetzt mit Test 108 bestätigt wird, sofern Schritt 264 seit der letzten Ausführung von Schritt 194 oder 216 ausgeführt wurde. Wenn SAV TOK nicht leer ist, fährt das Programm mit dem weiter unten beschriebenen Schritt 208 fort. Sollte SAV TOK leer sein, geht das Programm zu Schritt 178 über, mit dem die in Schritt 174 bestätigte erste Wortwahl (sofern vorhanden) im Sprachkontextpuffer gespeichert wird. In der in ABBLDG. 1 gezeigten Realisierung speichert der Puffer die beiden letzten bestätigten Wörter. Wenn das System mit Textverarbeitungsprogrammen oder Anwendungen verwendet werden soll, die es dem Benutzer gestatten, sich durch einen Text zu bewegen und Wörter in nicht nacheinanderfolgender Weise einzufügen, empfiehlt es sich, Mittel bereitzustellen, durch die dem System angezeigt wird, daß das nächste diktierte Wort nicht direkt nach dem letzten Wort, das durch das Sprachmodell erkannt worden ist, plaziert werden soll. Der Sprachkontextpuffer kann anschließend gelöscht oder auf die Werte der beiden Wörter gesetzt werden, die der Textstelle vorausgehen, an der das nächste diktierte Wort eingefügt werden soll. Wenn der Sprachkontext gelöscht wird, ergibt sich das Sprachmodellergebnis dann nur auf Basis der kontextunabhängigen Wahrscheinlichkeit gesprochener Wörter.
- Nachdem das bestätigte Wort mit Schritt 178 im Sprachkontextpuffer gespeichert worden ist, verwendet Schritt 180 das bestätigte Wort, um das vom Erkennungssystem verwendete Sprachmodell zu aktualisieren. In der Technologie der natürlichen Spracherkennung sind verschiedene derartige Sprachmodelle bekannt, die mit der vorliegenden Erfindung kompatibel sind. In der bevorzugten Realisierung wird ein probalistisches Sprachmodell verwendet, das auf einer Wortzählung basiert (siehe ABBLDG. 9). Hierbei werden für jedes Wortpaar (W1 und W2) Statistiken darüber erfaßt, wie oft das Wortpaar in Form von aufeinanderfolgenden Wörtern im Text erscheint. Während der Erkennung (wobei W2 das zu erkennende Wort und W1 das im Sprachpuffer gespeicherte, zuletzt bestätigte Wort ist) ergibt sich der Schätzwert für die Wahrscheinlichkeit von W2 aus der Zahl der Zählungen für das Wortpaar W1- W2, geteilt durch die Gesamtzahl der Zählungen für W1 (siehe Schritt 182).
- Darüber hinaus wird, wie in Schritt 184 dargestellt, eine kontextfreie Wahrscheinlichkeit geschätzt. Die kontextfreie Wahrscheinlichkeit von W2 ergibt sich aus der Zahl der Zählungen von W2, geteilt durch die Gesamtzahl der Zählungen.
- Mit Schritt 186 werden die Schätzwerte für die kontextabhängige Wahrscheinlichkeit und die kontextfreie Wahrscheinlichkeit in einem geglätteten kontextabhängigen Wert zusammengefaßt, indem die zwei Wahrscheinlichkeitsschätzungen addiert werden, wobei der kontextabhängigen Schätzung eine Wertigkeit von (1-w) und der kontextfreien Schätzung eine Wertigkeit von w gegeben wird. Diese Glättung ermöglicht Wörter, die im Kontext eines bestimmten Wortpaares W1 zuvor noch nicht aufgetreten sind. Ein typischer Wert für w in der bevorzugten Realisierung wäre w = 0.1; w kann vom Benutzer aber auch empirisch angepaßt werden, um die Leistung auf Basis des Trainingstextumfangs, der für die Schätzung des kontextabhängigen Modells zur Verfügung steht, zu optimieren. Wenn ein größerer Textumfang verfügbar ist, kann ein kleinerer Wert für w verwendet werden.
- Schritt 180 verwendet bei der Aktualisierung des Sprachmodells das zuletzt bestätigte Wort, das im Sprachkontextpuffer gespeichert wurde, um die Zählung von W2 und die Gesamtzählung, die in der Wahrscheinlichkeitsberechnung der Schritte 182, 184 und 186 verwendet wurde, zu aktualisieren. Das zweitaktuellste bestätigte Wort wird darüber hinaus als Wert für W1 in den Schritten 182 und 186 und als Wert für KONTEXT in Schritt 166 (siehe ABBLDG. 4) verwendet.
- Nachdem das Sprachmodell in Schritt 180 aktualisiert wurde, fährt das Programm mit Schritt 188 fort, in dem das bestätigte Wort als Ausgabe an das Anwendungsprogramm, das mit dem in ABBLDG. 1 gezeigten Diktierprogramm verwendet wird, gesendet wird. Diese Ausgabe wird als ASCII-Zeichenfolge produziert, d.h. auf dieselbe Weise, als ob diese Zeichen über die Tastatur des Systemcomputers eingegeben worden wären. Dieser Vorgang, der mit TSR (Terminate-and-Stay Resident)-Programmen in Beziehung steht, ist allerdings zu komplex, um in ABBLDG. 1 dargestellt werden zu können. In Schritt 188 wird an das Anwendungsprogramm tatsächlich nur das erste Zeichen der Ausgabefolge gesendet; der Rest wird in einem Ausgabe puffer gespeichert. Wenn die Anwendung das Diktierprogramm danach zur Eingabe aufruft, sendet das Programm jedesmal das nächste Zeichen des Ausgabepuffers, anstatt zur Aufrufschleife 103 (siehe ABBLDG. 1 oben) weiterzugehen. Zur Vereinfachung werden die Schritte 188 und 188a (siehe ABBLDG. 25) jedoch so behandelt, als ob die gesamte Zeichenfolge gleichzeitig ausgegeben wird. In den Schritten 188 und 188a werden in der bevorzugten Realisierung außerdem Zeichensetzungsregeln angewandt, um Leerstellen zwischen Wörter setzen und das erste Wort im Satz großschreiben zu können.
- Sobald Schritt 188 ausgeführt ist, kehrt das Diktierprogramm zum Anwendungsprogramm zurück, um diesem eine Reaktion auf die Ausgabefolge zu ermöglichen (siehe Schritt 102). In dem Beispiel, das im Zusammenhang mit ABBLDG. 10 - 23 verwendet wird, handelt es sich hierbei um ein Textverarbeitungsprogramm, das die Darstellung und Bearbeitung von Text gestattet und einen Cursor 700 besitzt, durch den der die Stelle im Text angezeigt wird, an der die nächste Benutzereingabe eingefügt werden soll. In Schritt 102 fügt das Textverarbeitungsprogramm an der aktuellen Cursorposition folglich die durch Schritt 188 bereitgestellte Ausgabefolge ein, und zwar auf dieselbe Weise, als ob diese Zeichenfolge über die Tastatur eingegeben worden wäre.
- Sobald das Anwendungsprogramm alle Zeichen in der Ausgabefolge verarbeitet hat, fordert es den nächsten Tastenanschlag an. Hierdurch kehrt das Programm zur Aufrufschleife 103 (siehe ABBLDG. 1 oben) zurück. Schleife 103 fordert die nächste Benutzereingabe an. Wenn es sich dabei um einen Tastenanschlag handelt, übernehmen die Schritte 104 und 105, und wenn es sich um eine Äußerung handelt, wird diese durch die Schritte 111, 119 sowie 102 und 122 oder 121 und 123 erkannt. Das Programm geht anschließend zu den Verzweigungstests der Schritte 106 - 110 über.
- Wenn die Benutzereingabe aus einem Löschbefehl bestand (d.h. der Benutzer hat die Löschtaste gedrückt oder einen Löschsprachbefehl eingegeben), wird dadurch der Test in Schritt 106 erfolgreich abgeschlossen, und das Diktierprogramm geht auf den bei Schritt 190 beginnenden Programmzweig über. Mit dem Löschbefehl kann der Benutzer veranlassen, daß die letzte als Textwort erkannte Äußerung, für die ein aktives Fenster 701 angezeigt wird, aus dem System gelöscht wird. Dieser Befehl wird oft verwendet, wenn das Erkennungsprogramm einen unbeabsichtigten Laut des Benutzers oder ein Umgebungsgeräusch als Wortäußerung interpretiert, oder wenn der Benutzer das zuletzt diktierte Wort durch ein anderes Wort ersetzen will.
- Durch Schritt 190 wird das Diktierprogramm in den TEXTMODUS geschaltet, da angenommen wird, daß das nächste Wort, das der Benutzer nach einem Löschbefehl eingibt, ein Wort ist, das in den Text eingefügt werden soll. Anschließend wird REC TOK durch Schritt 192 gelöscht, um zu kennzeichnen, daß im Token, der zuvor in diesem Puffer gespeichert worden ist, keine weitere Erkennung durchgeführt werden soll. Danach wird STARTSTRING gelöscht, um zu gewährleisten, daß dieser leer ist, wenn er das nächste Mal benutzt werden soll. Schritt 192 löscht ebenfalls alle Popup-Fenster, die das Diktierprogramm auf dem Bildschirm angezeigt hat. Danach löscht Schritt 194 den Puffer SAV TOK (Saved Token; gespeicherter Token), um zu kennzeichnen, daß die Äußerung in REC TOK und SAV TOK in den Schritten 208 und 214 nicht zur Erstellung von Trainingsäußerungen oder zum Training von Wortmodellen verwendet werden soll. Durch Schritt 196 wird die aktuelle Äußerung, für die das Fenster 701 angezeigt wurde, anschließend abgebrochen, indem für die nächste Benutzereingabe zur Schleife 103 (wie oben in ABBLDG. 1 gezeigt) zurückgekehrt wird.
- Wenn das Diktierprogramm zu den Tests der Schritte 106-110 übergegangen ist und es sich bei der Benutzereingabe um einen gültigen Auswahlbefehl handelte, wird der Test in Schritt 107 abgeschlossen, und dann der diesem Programmzweig folgende Schritt ausgeführt. Ein gültiger Auswahlbefehl kann aus einer der Funktionstasten (f1 - f9) oder aus einem der Sprachbefehle ("pick one" bis "pick nine") bestehen, die der im aktiven Fenster 701 oder im Wörterbuch-Fenster 702 (siehe ABBLDG 10 - 23) angezeigten Wortnummer einer Wortauswahl entsprechen. Diese Befehle werden verwendet, um zu kennzeichnen, daß ein Wort mit einer vorgegebenen Nummer (f1 - f9) im Fenster 701 oder 702 das gewünschte Wort für die mit dieser Anzeige verknüpfte Äußerung ist.
- Falls der Benutzer keinen Auswahlbefehl eingibt, verzweigt Schritt 107 das Programm auf Schritt 200. Schritt 200 schaltet den Erkennungsmodus auf TEXTMODUS, da davon ausgegangen wird, daß der Benutzer nach der Bestätigung einer vorgegebenen Wortauswahl möglicherweise ein anderes Textwort eingeben will. Schritt 202 speichert den in REC TOK z.Z. gespeicherten Token, der die mit dem ausgewählten Wort verknüpfte Äußerung darstellt, anschließend in SAV TOK. Dies führt dann, wie nachfolgend erklärt, dazu, daß dieser Token beim Training eines akustischen Wortmodells 132 (siehe ABBLDG. 3) für das vom Benutzer ausgewählte Wort verwendet wird. Schritt 204 löscht als nächstes REC TOK um zu kennzeichnen, daß im an dieser Stelle zuvor gespeicherten Token keine weitere Erkennung mehr durchgeführt werden soll. Des weiteren werden STARTSTRING und alle Popup-Fenster auf dem Bildschirm gelöscht. Mit Schritt 206 wird das ausgewählte Wort, das die dem Auswahlbefehl zugeordnete Nummer besitzt, schließlich bestätigt.
- Das Programm geht anschließend zu den Schritten 208, 214 und 216 über, die alle mit der Verwendung des Token, der mit der Äußerung des eben bestätigten Wortes verknüpft ist, zum Training akustischer Modelle für dieses Wort in Beziehung stehen. Schritt 208 führt dazu, daß der in SAV TOK gespeicherte Token 131, der mit dem durch den Auswahlbefehl eben bestätigten Wort 210 verknüpft ist, im Tokenspeicher 209 (siehe ABBLDG. 3) abgelegt wird, und daß SAV TOK anschließend gelöscht wird. Schritt 214 übernimmt die in diesem Tokenspeicher enthaltenen Tokens und erstellt mit diesen Tokens (wie unten rechts in ABBLDG. 3 gezeigt) ein neues akustisches Modell für dieses Wort. Schritt 216 speichert dieses akustische Wortmodell mit den anderen akustischen Wortmodellen, die vom Erkennungsprogramm des Systems verwendet werden (wie in ABBLDG. 3 durch den Pfeil veranschaulicht wird, der vom Modellersteller zum Speicher für akustische Modelle zeigt).
- Die Speicherung von Tokens, die mit bestätigten Wörtern verknüpft sind, und die Verwendung mehrerer Tokens, die mit dem Programm (wie in ABBLDG. 1 gezeigt) in Verbindung mit dem bestätigten Wort gespeichert wurden, bietet eine effektive und efzziente Methode zur adaptiven Spracherkennung. Bei dieser Methode werden Tokens für Wortäußerungen nur dann gespeichert, wenn der Benutzer durch einen Auswahlbefehl ausdrücklich bestätigt hat, daß das Wort mit der jeweiligen Äußerung verknüpft sein soll. Hierdurch verringert der Benutzer die Gefahr, daß eine falsch erkannte Äußerung zum Training von Modellen für falsche Wörter verwendet wird. Da der Auswahlbefehl normalerweise nur zur Auswahl von Wörtern verwendet wird, bei denen es sich nicht um die erste Wahlmöglichkeit handelt, kann der generelle Trainingsaufwand und folglich die Gefahr reduziert werden, daß das System Wortmodelle ersetzt, die richtige Erkennungsergebnisse produzieren. Um die erste Wahlmöglichkeit nach der Ersterkennung einer Äußerung (wie in Schritt 123 ausgeführt) zu übernehmen, kann der Benutzer zwar f1 drücken; normalerweise ist es aber einfacher, die erste Wahlmöglichkeit durch das Diktieren eines anderen Textwortes zu bestätigen. Dadurch wird dann die Programmverzweigung unter Schritt 108 ausgeführt.
- Die Verwendung mehrerer Tokens für das Training von Wortmodellen in einer adaptiven Umgebung ist sehr praktisch. Traditionelle adaptive Trainingstechniken basieren normalerweise auf der Entnahme von Daten aus einem neuen Token für ein Wort und auf der Verwendung dieses Token zur Modifizierung der Parameter eines vorherigen Modells dieses Wortes. Diese Hinzufügung von Daten aus einem neuen Token in ein älteres Modell führt oft dazu, daß die neuen Daten eine geringere Wertigkeit besitzen, als wenn das Modell gleichzeitig mit verschiedenen Tokens, einschließlich des neuen Token, trainiert wird.
- Der in der Realisierung in ABBLDG. 1 verwendete akustische Tokenspeicher ist ein Kreispuffer, der die 50 zuletzt gespeicherten Tokens enthält. In anderen Realisierungen kann jedoch ein bedeutend größerer Kreispuffer verwendet werden. Bei der bevorzugten Realisierung wird jedoch ein traditionelles adaptives Training durchgeführt, sofern es für ein bestimmtes Wort nur einen Token gibt. Dabei wird aus den Daten des neuen Token und aus den Daten des älteren Modells dann ein Mittelwert gebildet.
- Für das Training oder die Modellerstellung können, wie aus der Spracherkennung mit verdeckten Markov-Modellen bekannt ist, dynamische Programmierroutinen verwendet werden, die der weiter oben beschriebenen Anpassungsroutine 129 sehr ähnlich sind. In ABBLDG. 5 ist ein schematisches Blockdiagramm einer solchen dynamischen Programmiertrainingsroutine dargestellt. Die dynamische Programmieranalyse ist in zwei Phasen unterteilt. Schritt 218 ist eine vorwärtsweisende Ergebnisroutine, die der in ABBLDG. 4 dargestellten Anpassungsroutine für diskrete Äußerungen ähnelt. Diese vorwärtsweisende Ergebnisroutine berechnet für alle Teiläußerungen inkrementell den besten Pfad mit Hilfe der Markov-Modelle. Die zweite Phase, Schritt 220, rückverfolgt die Teilpfade, die während der vorwärtsweisenden Ergebnisroutine zur Auffindung des global besten Pfads berechnet wurden. Dieser global beste Pfad ist der durch die dynamische Programmierung gewählte Pfad durch das gesamte Wort, sofern er im Training diskreter Wortmodelle Verwendung findet. Er verbindet aufeinanderfolgende Gruppierungen aus einem oder mehreren Rahmen 130, die sich aus den Trainingsäußerungen des Wortes ergeben, mit den nachfolgenden Knoten 133 des zu erstellenden Wortmodells 132 (siehe ABBLDG. 8).
- Das in ABBLDG. 5 dargestellte Blockdiagramm kann zur Erstellung akustischer Modelle (siehe Schritt 214 in ABBLDG. 1) oder wie nachfolgend im Detail beschrieben mit geringfügiger Modifikation (siehe ABBLDG. 5A) als Anpassungsroutine für verbundene oder kontinuierliche Sprache verwendet werden.
- Der vorwärtsweisende Ergebnisschritt 218 ist in ABBLDG. 6 detailliert erläutert. In Schritt 224 wird zunächst jeder Knoten auf die Parameteranfangswerte von BAD SCORE eingestellt (Schritt 226), was einer Wahrscheinlichkeit von Null entspricht. Das Array OLD(KNOTEN) enthält die Ergebnisse aus dem vorherigen RAHMEN, während das Array NEW(KNOTEN) die für den aktuellen RAHMEN berechneten Ergebnisse enthält. In Schritt 228 wird START NODE auf die Parameteranfangswerte von BEST SCORE, d.h. auf Null eingestellt, wodurch der Prozeß mit sehr hoher Wahrscheinlichkeit im Zustand START NODE beginnt.
- Anschließend wird für jeden RAHMEN in der Äußerung die Schleife des Schrittes 230 und für jeden BOGEN der einzelnen RAHMEN im Netzwerk die Schleife des Schrittes 234 wiederholt. Schritt 234 übernimmt für den linken Knoten des BOGENS das alte Ergebnis OLD(LN) und fügt das für die Markov-Übergangswahrscheinlichkeit des jeweiligen BOGENS berechnete Ergebnis hinzu. Da es sich bei den Ergebnissen um negative Wahrscheinlichkeitslogarithmen handelt, entspricht die Addition von Ergebnissen der Multiplikation von Wahrscheinlichkeiten. Die für PASS berechnete Summe wird anschließend mit dem neuen Ergebnis für den rechten Knoten NEW(RN) des aktuellen BOGENS verglichen. Wenn PASS ein besseres Ergebnis aufweist, wird dieses in Schritt 236 verwendet, um das neue Ergebnis für den rechten Knoten NEW(RN) zu ersetzen und Rückverfolgungsinformationen im Array BACK zu speichern. Auf diese Weise erhält NEW (KNOTEN) für jeden KNOTEN letztlich das Ergebnis für den besten Pfad zum KNOTEN des aktuellen Rahmens, und BACK(KNOTEN,RAHMEN) kann den Knoten identifizieren, der sich im vorherigen RAHMEN auf dem besten Pfad befand.
- Nachdem Schritt 232 für jeden BOGEN im Netzwerk abgeschlossen ist, wird für jeden KNOTEN die Schleife des Schrittes 238 wiederholt. In Schritt 240 wird dabei für jeden KNOTEN die Summe aus dem Wert für den neuen Knoten NEW(KNOTEN) und dem abgelesenen Wahrscheinlichkeitsergebnis berechnet. Das abgelesene Wahrscheinlichkeitsergebnis ist dasselbe wie das entsprechende Ergebnis in Schritt 163 (siehe ABBLDG. 4). Schritt 240 setzt das Array der neuen Ergebnisse außerdem auf die Parameteranfangswerte von BAD SCORE zurück.
- Der in ABBLDG. 5 aufgefühlte Schritt 220, der den besten Pfad zu END NODE am Ende der Äußerung END FRAME zurückverfolgt, wird in ABBLDG. 7 detaillierter erklärt. Schritt 251 startet die Rückverfolgung bei KNOTEN END NODE und RAHMEN END FRAME. Schritt 252 übernimmt dann die Rückverfolgimg bis zum Start bei RAHMEN = 0. Dabei wird für jeden zurückzuverfolgenden Rahmen Schritt 253 ausgeführt. Schritt 253 ist in zwei Teilen unterteilt. In Schritt 254 werden statistische Angaben aufgezeichnet. In Schritt 255 wird die Variable KNOTEN dann auf den Wert von BACK(KNOTEN,RAHMEN) gesetzt, wobei KNOTEN der zeitlichen Ausrichtung der vorwartsweisenden Ergebnisroutine 218 entspricht, die mit dem Rahmen verknüpft ist, der dem aktuellen RAHMEN vorausgeht. Zum Schluß wird der aktuelle RAHMEN auf den Wert des vorhergehenden Rahmens gesetzt.
- Wenn bei der Erstellung akustischer Modelle (siehe Schritt 214 in ABBLDG. 1) Schritt 220 verwendet wird, handelt es sich bei den aufzuzeichnenden statistischen Werten um akustische Parameter des aktuellen RAHMENS, der mit der konditionalen Wahrscheinlichkeitsverteilung für label(WORT,KNOTEN) des aktuellen KNOTENS für das zu trainierende WORT verknüpft ist. (Bei den akustischen Parametern handelt es sich dabei um einen Parametervektor, falls in Schritt 118 (siehe ABBLDG. 2) keine Vektorenquantisierung verwendet wurde, bzw. um einen Index im Codebuch, falls Vektorenquantisierung verwendet wurde.)
- In Schritt 222 werden die Modelle mit einer Variation des Baum-Welch-Algorithmus oder mit Hilfe des EM- Algorithmus, der aus der Statistik und der Technologie der verdeckten Markov-Modellierung bekannt ist, neu geschätzt. Die Neuschätzung erfolgt im wesentlichen durch eine Maximum-Likelihood-Schätzung der statistischen Parameter, welche die Wahrscheinlichkeitsverteilung charakterisieren. Wenn das System über vorhandene Modelle für das Wort oder die Phoneme verfügt, für das bzw. für die ein neues Modell erstellt werden soll, und falls es im Tokenspeicher nur einen Token für das entsprechende Wort gibt, werden die angesammelten statistischen Werte aus dem vorherigen Training mit den statistischen Werten des Token im akustischen Tokenspeicher (siehe Schritt 214) zusammengefaßt, um eine kombinierte Maximum-Likelihood-Schätzung der statistischen Parameter zu erhalten. Dieser Vorgang ermöglicht sowohl das adaptive Training akustischer Modelle als auch das Nullbasis-Training, wenn noch kein Modell vorhanden ist.
- In ABBLDG. 8 wird eine vereinfachte schematische Darstellung des eben beschriebenen Trainingsalgorithmus gezeigt. Darin werden die akusischen Beschreibungen 131a und 131b der diktierten Wörter "above" und "about" verwendet, um für diese Wörter die akustischen Wortmodelle 132a bzw. 132b zu trainieren. Für den Anfangsdurchlauf der Modellerstellung könnte, sofern für das Wort noch kein Modell existiert, ein Anfangsmodell verwendet werden, das aus einer beliebigen Anzahl von Knoten besteht, die durch die Teilung der Rahmen jeder akustischen Beschreibung (siehe Schritt 130) in eine entsprechende Anzahl von Gruppierungen annähernd gleicher Größe sowie durch die Berechnung des Modells eines jeden Knotens aus den Rahmen der entsprechenden Gruppierung produziert werden (siehe Bildung des obersten Wortmodells 132a in ABBLDG. 8). Dieses erste Wortmodell wird anschließend mit der akustischen Beschreibung 131a zeitlich in Übereinstimmung gebracht, wobei die vorwärtsweisende Ergebnisroutine 218 und die Rückverfolgung 220 (siehe ABBLDG. 5) angewendet werden. Als nächstes werden die Rahmen 130 dieser Beschreibung, die mit den Anfangsknoten 133 ausgerichtet wurden, zur Bildung eines neuen Schätzwertes für den jeweiligen Knoten verwendet (dargestellt durch die Gruppierungen in der zweiten Ansicht des Token 131a in ABBLDG. 8 und durch die Pfeile, die von diesen Gruppierungen zum jeweils entsprechenden Knoten 133 in der zweiten Berechnung des Wortmodells 132a führen). Dieser aus vorwartsweisender Ergebnisroutine 218, Rückverfolgung 220 und Modellneuschätzung 222 bestehende Zyklus für das Wortmodell 132a wird in ABBLDG. 8 noch einmal dargestellt. Der Modellerstellungszyklus der Schritte 218, 220 und 222 wird in der bevorzugten Realisierung interaktiv für 8 Durchläufe ausgeführt.
- In ABBLDG. 8 wird ebenfalls dargestellt, wie in einer anderen Realisierung der Erfindung ein Backup-Wörterbuch, das die phonemische Aussprache aller Wörter enthält, verwendet werden kann. Das Wörterbuch 500, das in ABBLDG. 3 dargestellt und in der im Zusammenhang mit ABBLDG. 1 beschriebenen Realisierung der Erfindung verwendet wird, listet in alphabetischer Reihenfolge lediglich die Schreibweise der Wörter auf, die als Rechnerantworten verwendet werden können, wenn der Benutzer diese Schreibweise auswählt und zur Ausgabe an das Anwendungsprogramm bestätigt. In einer anderen Realisierung, in der das phonemische Wörterbuch 500a benutzt wird, wird jeder Worteintrag 504a im phonemischen Wörterbuch mit einer Schreibweise verknüpft, die aus phonemischen Symbolen 506 besteht. In der Spracherkennungstechnologie gibt es verschiedene Methoden zur Erzeugung eines akustischen Modells für ein Wort, für das durch die Verkettung der Modelle für die einzelnen Phoneme des entsprechenden Wortes eine phonemische Schreibweise bereitgestellt worden ist. Modelle für derartige Phoneme können durch die Erstellung akustischer Modelle von Wörtern mit einer bekannten phonetischen Schreibweise (siehe oberen Teil von ABBLDG. 8) und durch die anschließende Verwendung der akustischen Knotenmodelle 133 (die mit den Phonemen in diesem Modell verknüpft sind) als Modell der verbundenen Phoneme generiert werden. Um das Phonemmodell 508 für ein bestimmtes Phonem zu erzeugen, werden aus den Knoten 133 stammende geeignete Daten, die mit der Aussprache des jeweiligen Phonems 506 in verschiedenen Wörtern verknüpft sind, zusammengefaßt. Die Erzeugung solcher Phonemmodelle erfordert, daß die verwendete phonemische Schreibweise mit den einzelnen Knoten übereinstimmt, die während des Trainings der akustischen Wortmodelle gebildet werden, die wiederum zum Abrufen von Daten zur Formierung dieser Knotenmodelle verwendet werden. Phonemische Modelle ermöglichen darüber hinaus eine bessere Leistung, wenn diese Modelle auch die Phoneme, die einem fraglichen Phonem vorausgehen bzw. folgen, in Betracht ziehen. Der Schwa-Laut, für den in ABBLDG. 8 ein phonetisches Modell erstellt wird, ist folglich ein Laut, der am Anfang eines Wortes vor einem "b" auflaucht.
- Sobald in einer solchen Realisierung für jedes Phonem ein Modell mit der in ABBLDG. 8 gezeigten Methode erstellt worden ist, kann für jedes Wort im phonetischen Wörterbuch 500a ein akustisches Modell erstellt werden. Die Erkennung in Schritt 123 kann hierbei mit phonemischen akustischen Modellen durchgefürt werden, die über die phonemische Schreibweise im akustischen Wörterbuch erzeugt wurden (ohne daß der Benutzer die damit verbundenen Wörter trainiert hat), oder auch mit den akustischen Modellen von Wörtern, die individuell trainiert wurden. Wenn die Erkennung sowohl mit phonemischen als auch mit individuell trainierten akustischen Modellen durchgeführt wird, empfiehlt es sich, ein Sprachmodell zu verwenden, um das Erkennungsvokabular auf eine Anzahl von Wörtern zu reduzieren, die das Erkennungsprogramm in einer akzeptablen Reaktionszeit handhaben kann. Das Erkennungsvokabular wird dabei auf die Wörter reduziert, die das Sprachmodell im aktuellen Sprachkontext für am wahrscheinlichsten hält.
- Nachdem der Token, der mit dem eben bestätigten Wort verknüpft ist, in den Schritten 208, 214 und 216 (ABBLDG. 1) gespeichert und ein neues akustisches Modell für dieses Wort erstellt und gespeichert worden ist, geht das Programm zu den oben beschriebenen Schritten 178, 180 und 188 über. Durch diese Schritte wird das bestätigte Wort im Sprachkontextpuffer gespeichert und zur Aktualisierung der Sprachmodellwahrscheinlichkeiten verwendet. Außerdem wird es an das Anwendungsprogramm ausgegeben. Der Programmfluß kehrt dann in Schritt 102 zum Anwendungsprogramm zurück. Das Anwendungsprogramm antwortet auf die Ausgabe der ASCII-Zeichen, die das bestätigte Wort darstellen, und veranlaßt anschließend die Rückführung des Programmflusses an den Anfang von ABBLDG. 1, um die nächste Benutzereingabe aufzunehmen.
- Wenn das Diktierprogramm während der in den Schritten 106 - 110 durchgeführten Prüfungen feststellt, daß ein Buchstabenbefehl eingegeben wurde, wird der Test in Schritt 109 als abgeschlossen betrachtet und der Programmzweig unter diesem Schritt ausgeführt. Buchstabenbefehle sind Befehle, die entweder dazu führen, daß der Zeichenfolge STARTSTRING ein Buchstabe hinzugeftigt wird, oder aber eine Bearbeitung von STARTSTRING veranlassen. Bei STARTSTRING handelt es sich um eine Zeichenfolge, welche die Anfangsbuchstaben des zu erkennenden Wortes spezifiziert (d.h. des Wortes, das vom Token in REC TOK dargestellt wird).
- Wenn sich das System im TEXTMODUS befindet, können Buchstabenbefehle nur durch Drücken einer Buchstabentaste oder durch Spracheingabe von "starts alpha", "starts beta" usw. (entspricht dem Drücken der Tasten "a", "b" usw.) erteilt werden. Diese Befehle kennzeichnen den ersten Buchstaben in STARTSTRING und veranlassen das System, zum BEARBEITUNGSMODUS zu wechseln. Im BEARBEITUNGSMODUS ist das Vokabular, das für den oben in ABBLDG. 1 gezeigten Erkennungsvorgang verwendet wird, auf Buchstabenbefehle, den im Zusammenhang mit Schritt 106 diskutierten Löschbefehl, die in Verbindung mit Schritt 107 diskutierten Auswahlbefehle und die nachfolgend im Zusammenhang mit Schritt 110 diskutierten Bearbeitungsbefehle beschränkt. Zu den Buchstabenbefehlen in diesem Modus gehören Befehle zum Hinzufügen eines weiteren Buchstabens am Ende von STARTSTRING. Dies geschieht, indem eine Buchstabentaste gedrückt oder ein Wort aus dem Buchstabieraiphabet gesagt wird, das mit dem entsprechenden Buchstaben verknüpft ist (zum Beispiel "alpha" für "a", "beta" für "b", "charlie" für "c" usw.). Im BEARBEITUNGSMODUS ist des weiteren ein Befehl enthalten, mit dem der STARTSTRING zuletzt hinzugefügte Buchstabe gelöscht werden kann. Dieser Befehl wird ausgeführt, indem der Benutzer die Rücktaste drückt oder "Rücktaste" sagt. Die Beschränkung des Erkennungsvokabulars im BEARBEITUNGSMODUS verbessert die Erkennungsgeschwindigkeit und -genauigkeit. Darüber hinaus können anstelle der Befehle "starts alpha" bis "starts zulu" zum Hinzufügen von Buchstaben zu STARTSTRING die Buchstabenbefehle "alpha" bis "Zacharias" gesagt werden, die sich etwas schneller eingeben lassen. Dies ist möglich, da das begrenzte Vokabular im BEARBEITUNGSMODUS keine Textwörter enthält, die den Wörtern des Buchstabieralphabets gleichen oder ähneln.
- Sobald durch Schritt 109 erkannt worden ist, daß der Benutzer einen Buchstabenbefehl eingegeben hat, geht das Programm zu Schritt 260 über, mit dem der Erkennungsmodus des Systems in den BEARBEITUNGSMODUS geschaltet wird, so daß der Benutzer wie oben beschrieben weitere Buchstaben hinzufügen bzw. entfernen kann. Mit Schritt 262 wird STARTSTRING der durch den Buchstabenbefehl spezifizierte Buchstabe hinzugefügt bzw. der durch diesen Buchstabenbefehl spezifizierte Bearbeittingsbefehl ausgeführt. Wenn der in Schritt 109 ausgeführte Test für einen bestimmten in REC TOK befindlichen Token zum ersten Mal erfüllt wird, ist STARTSTRING zuvor bereits durch Schritt 101, 192 oder 204 gelöscht worden. Wenn der Test dann erneut erfüllt wird, enthält STARTSTRING bereits einen oder mehrere Buchstaben, und der neue Buchstabe wird an das Ende dieser Zeichenfolge angefügt.
- Nach Durchführung von Schritt 262 fährt das Programm mit Schritt 264 fort, in dem der in REC TOK gespeicherte Token in SAV TOK abgelegt wird. Dies geschieht, damit dieser Token später in den Schritten 208 und 214 verwendet werden kann, d.h. nachdem der Benutzer bestätigt hat, daß das durch den Token in REC TOK dargestellte diktierte Wort einer bestimmten Wortauswähl entspricht, um einen Token und ein Modell für das bestätigte Wort zu erstellen.
- Durch Schritt 266 wird das im Wiedererkennungsschritt 272 verwendete aktive Vokabular anschließend auf die Wörter beschränkt, die mit dem aktuellen STARTSTRING beginnen. In der Computertechnik gibt es verschiedene Methoden, um die Schreibweise eines Wortes in einer Vokabularliste mit einer Folge von Anfangszeichen zu vergleichen, um so nur solche Wörter auszuwählen, die mit gewissen Anfangszeichen beginnen.
- Anschließend wird in Schritt 268 aus einem Backup-Wörterbuch eine Liste mit Vokabularwörtern abgerufen, die ebenfalls mit der spezifizierten Anfangszeichenfolge beginnen, sich aber nicht im aktiven Vokabular der Wörter befinden, für die in Schritt 266 akustische Modelle ausgewählt wurden. Das Backup-Wörterbuch 500 (siehe ABBLDG. 3), das in ABBLDG. 1 verwendet wird, enthält zumindest 80 000 Einträge. Schritt 268 verwendet Wahrscheinlichkeitswerte aus dem Sprachmodell, um aus den Wörtern im Backup-Wörterbuch, die mit dem aktuellen STARTSTRING beginnen, maximal neun Wörter auszuwählen, die im aktuellen Sprachkontext am wahrscheinlichsten aufireten.
- Schritt 270 zeigt dann in einem Definitionsfenster den aktuellen STARTSTRING, d.h. die bisher spezifizierte Anfangszeichenfolge, an. Das Definitionsfenster wird in ABBLDG. 10 - 24 als Feld 703 dargestell. Es wird als Definitionsfenster bezeichnet, da in diesem Fenster die Schreibweise eines Wortes, das dem Vokabular akustischer Wortmodelle neu hinzugefügt werden soll, eingegeben wird. Die Eingabe erfolgt (wie weiter unten erklärt) durch eine Kombination aus Buchstaben- und/oder Bearbeitungsbefehlen.
- Nachdem der STARTSTRING im Definitionsfenster angezeigt wurde, führt Schritt 272 in REC TOK eine Wiedererkennung durch. Hierbei werden die Wörter, die zur Auswahl geeignet sind, und das beschränkte Vokabular, das in Schritt 266 generiert wurde, verwendet. Bei dieser Wiedererkennung kommt ungefahr der gleiche Spracherkennungsalgorithmus zum Einsatz, der im Zusammenhang mit Schritt 123 beschrieben wurde. Der Unterschied ist jedoch, daß die Erkennung in REC TOK und nicht in TEMP TOK durchgeführt wird, daß das aktive Vokabular beschränkt ist und, daß regelmäßig eine Überwachungsroutine aufgerufen wird, um die Erkennung im Falle einer Benutzereingabe zu unterbrechen.
- Sobald die Wiedererkennung in Schritt 272 abgeschlossen ist, werden in Schritt 274 im aktiven Fenster 701 die aus dieser Erkennung stammenden besten Auswahlmöglichkeiten angezeigt (sofern die Erkennung nicht von einer neuen Benutzereingabe unterbrochen wurde). Die Anzeige erfolgt hierbei in derselben Reihenfolge wie bei der in Schritt 123 durchgeführten Erkennung; mit dem Unterschied, daß (a) in Schritt 274 das aktive Fenster 701 unter dem Definitionsfenster 703 anstelle direkt unter der aktuellen Position des Cursors im Anwendungsprogramm erscheint und (b), ein zweites Fenster (das sogenannte Wörterbuch-Fenster 702) direkt unter Fenster 701 angezeigt wird. Das Wörterbuch-Fenster enthält ausreichend viele der aus dem Backup-Wörterbuch in Schritt 268 ausgewählten Wörter, um im aktiven Fenster 701 und im Wörterbuch-Fenster 702 die maximale mögliche Wortanzahl, d.h. neun Wörter, anzuzeigen. Wenn in den Schritten 272 und 268 allerdings nicht genügend Erkennungsmöglichkeiten und Backup- Wörter ausgewählt wurden, um in beiden Fenstern die maximal neun Wörter anzuzeigen, werden weniger Wörter präsentiert.
- Nachdem die Anzeige von Wortmöglichkeiten in Schritt 274 abgeschlossen ist, geht das Programm an den Anfang von ABBLDG. 1 zurück, um eine neue Benutzereingabe aufzunehmen.
- In der oben beschriebenen alternativen Realisierung, in der ein phonemisches Wörterbuch verwendet wird, kann Schritt 268 ausgelassen werden. Außerdem enthält dann das Teilvokabular der Wörter, die mit der in Schritt 266 ausgewählten Startzeichenfolge beginnen, sowohl die einzeln trainierten Wörter als auch phonemische, akustische Wortmodelle. Wenn das Vokabular der mit STARTSTRING beginnenden Wörter zu groß ist, um innerhalb einer akzeptablen Reaktionszeit erkannt werden zu können, kann es durch das Sprachmodell auf weniger Wörter reduziert werden. In einer sölchen Realisierung wird die Wiedererkennung mit Schritt 272 in beiden begrenzten Vokabularen durchgeführt, d.h. sowohl im Vokabular der individuell trainierten Wörter als auch im Vokabular der phonemischen, akustischen Wortmodelle. Schritt 274 zeigt anschließend die Wahlmöglichkeiten aus beiden Vokabularen an.
- Wenn das Diktierprogramm während der in den Schritten 106 - 110 durchgeführten Prüfungen feststellt, daß ein Bearbeitungsbefehl eingegeben worden ist, wird der Test in Schritt 110 als erfüllt angesehen und dann der Programmzweig unter diesem Schritt ausgeführt (siehe ABBLDG. 1). Bearbeitungsbefehle sind Befehle, mit denen eine der im aktiven Fenster 701 oder im Wörterbuch-Fenster 702 angezeigten Wortmöglichkeiten ausgewählt und die Schreibweise des ausgewählten Wortes zur Bildung von STARTSTRING verwendet werden kann, d.h. genauso, als ob der Benutzer die einzelnen Buchstaben des Wortes durch eine Reihe von Buchstabenbefehlen eingegeben hätte. Bearbeitungsbefehle werden ausgeführt, wenn der Benutzer doppelt auf eine der Funktionstasten (f1 - f9) klickt, die init einer der in den Fenstern 701 oder 702 angezeigten Wahlmöglichkeiten übereinstimmt, oder wenn er einen der Sprachbefehle "edit one" bis "edit nine" ausspricht, welcher der Nummer einer dieser Funktionstasten entspricht.
- Wie aus ABBLDG. 1 ersichtlich ist, sind die Schritte, die nach einem Bearbeitungsbefehl ausgeführt werden, mit den Schritten identisch, die nach einem Buchstabenbefehl ausgeführt werden; jedoch mit dem Unterschied, daß sich STARTSTRING in Schritt 278 vollständig aus den Buchstaben des ausgewählten Wortes zusammensetzt, in Schritt 262 aber nur einzelne Buchstaben hinzugefügt oder bearbeitet werden.
- Bearbeitungsbefehle sind sehr praktisch. Wenn z.B. das aktive Fenster 701 und das Wörterbuch-Fenster 702 anstelle des gewünschten Wortes Wörter anzeigen, die mit den Zeichen des gewünschten Wortes beginnen (aber nicht enden), kann der Benutzer im Definitionsfenster eines dieser Wörter durch Doppelklick hervorheben, die nicht gewünschten Zeichen löschen und dann die gewünschten Buchstaben mit Hilfe der Buchstabenbefehle hinzufügen.
- Nachdem die Schritte 276, 278 und 264 - 274 als Antwort auf einen Bearbeitungsbefehl abgeschlossen worden sind, kehrt das Programm erneut an den Anfang von ABBLDG. 1 zurück, um die nächste Benutzereingabe aufzunehmen.
- Die Abbildungen 10 - 23 zeigen, wie die bevorzugte Realisierung für einen Mustersatz fünktioniert. Das Spracherkennungssystem begtnnt dabei mit einer leeren Vokabularliste, d.h. es wird angenommen, daß noch keine akustischen Modelle für irgendwelche Wörter trainiert wurden. Im verwendeten Beispiel will der Benutzer den Satz "This invention relates to..." eingeben.
- Wenden wir uns jetzt der ABBLDG. 10 zu. Der Benutzer sagt als erstes das Wort "This". Schritt 111 erkennt diese Äußerung und Schritt 119 veranlaßt, daß eine akustische Darstellung (oder ein Token dieser Äußerung) in TEMP TOK gespeichert wird. Da das Programm im TEXTMODUS gestartet wurde, ruft Schritt 123 als nächstes den in ABBLDG. 4 beschriebeien Spracherkennungsalgorithmus auf. Das aktive Vokabular ist anfanglich leer (d.h. es gibt keine Wörter mit akustischen Modellen, in denen eine Spracherkennung durchgeführt werden kann). Daher produziert das Erkennungsprogramm auch keine besten Auswahltnöglichkeiten. In Schritt 108 wird deshalb, wie weiter oben beschrieben, angenommen, daß es sich bei der Wortäußerung, für die das Erkennungsprogramm keine Entsprechung finden kann, um ein Textwort handelt. Da die Erkennung scheitert, werden der Test für diesen Schritt und anschließend die Schritte 170-188 ausgeführt. Schritt 170 schaltet das System erneut in den TEXTMODUS, und Schritt 172 speichert den Token der unerkannten Äußerung in REC TOK. In Schritt 174 wird nichts ausgeführt, da es keine erste Auswahl gibt Schritt 176 zeigt aber die aus der Erkennung stammenden Wahlmöglichkeiten an. Die durch den Erkennungsschritt 123 erzeugte Auswahlliste ist leer. Aus diesem Grunde enthält das in Schritt 176 angezeigte aktive Auswahlfenster 701 nur die Option "del(reject)". Hierdurch wird gekennzeichnet, daß der Benutzer die Löschtaste drücken kann, um die Äußerung, wie in den Schritten 106,190, 192, 194 und 196 in ABBLDG. 1 dargestellt, abzubrechen. Nachdem die Wahlmöglichkeiten angezeigt wurden, wird der Test in Schritt 803 als erfüllt angesehen (da SAV TOK immer noch leer ist), und das Programm fährt mit den Schritten 178, 180 und 188 fort. Da es kein zuvor bestätigtes Wort gibt, kehren diese Schritte allerdings lediglich zum Anwendungsprogramm, d.h. in unserem Falle zum Textverarbeitungsprogramm, zurück. In Schritt 188 erfolgt keine Ausgabe an das Textverarbeitungsprogramm. Dementsprechend wird in Schritt 102 auch nichts ausgeführt, und das Programm kehrt zur Aufrufschleife 103 (wie oben in ABBLDG. 1 gezeigt) zurück, um die nächste Benutzereingabe aufzunehmen.
- Der Benutzer gibt in unserem Beispiel den Buchstaben "t" ein. Hierdurch werden die Schritte 104 und (da Test 801 erfüllt worden ist) auch 105 veranlaßt, diesen Tastenanschlag aufzunehmen und an die Prüfüngen in den Schritten 106 - 110 weiterzuleiten. Da es sich bei "t" um einen Buchstabenbefehl handelt, wird dadurch der Test in Schritt 109 erfüllt, woraufhin dann die Schritte 260 - 274 ausgeführt werden. Schritt 260 schaltet den Erkennungsmodus des Systems in den BEARBEITUNGSMODUS, und Schritt 262 fügt dem zuvor leeren STARTSTRING den Buchstaben "t" hinzu. Schritt 264 speichert den z.Z. in REC TOK gespeicherten Token in SAV TOK, so daß dieser für das Training eines Wortmodells verwendet werden kann, sobald der Benutzer ein Wort für diesen Token bestätigt. Schritt 266 beschränkt das aktive Vokabular auf diejenigen Wortmodelle, die mit dem im aktuellen STARTSTRING enthaltenen Buchstaben "t" beginnen. Zu diesem Zeitpunkt gibt es in unserem Beispiel noch keine trainierten Wortmodelle, und das aktive Vokabular ist demzufolge leer. Schritt 268 findet im Backup-Wörterbuch als nächstes eine Liste von Wörtern, die mit dem aktuellen STARTSTRING, d.h. mit "t", beginnen, und wählt die neun Wörter aus, die im vorgegebenen Sprachkontext gemäß des Sprachmodells am wahrscheinlichsten auftreten werden. Der Sprachkontextpuffer in diesem Beispiel ist leer, d.h. das Sprachmodell verwendet zur Auswahl aus dem Backup- Wörterbuch die kontextunabhangigen Wortwahrscheinlichkeiten, auf die in Schritt 184 in ABBLDG. 9 verwiesen wird.
- Nachdem in Schritt 268 neun Backup-Wörter ausgewählt worden ist, zeigt Schritt 270 das in ABBLDG. 11 dargestellte Definitionsfenster 703 an. Schritt 272 wird nicht ausgeführt, da das aktive Vokabular für die Wiedererkennung leer ist. Mit Schritt 274 werden anschließend das leere aktive Fenster 701 und im Wörterbuch- Fenster 702 alle neun in Schritt 268 ausgewählten Backup-Wörter angezeigt. Das Programm geht dann an den Anfang von ABBLDG. 1 zurück, um auf die nächste Benutzereingabe zu warten. Auf dem Computerbildschirm ist außerdem der in ABBLDG. 11 gezeigte Eintrag zu sehen.
- Wie in ABBLDG. 11 gezeigt, erscheint im Wörterbuch-Fenster 702 das korrekte Wort "this", das mit der Funktionstaste f7 verknüpft ist. In unserem Beispiel wird angenommen, daß der Benutzer als nächstes die Funktionstaste f7 drückt, um das Wort "this" zu bestätigen. Dieser Tastenanschlag wird von den Schritten 104 und 105 entgegengenommen, und der Test 107 ist somit abgeschlossen. Danach werden die Schritte 200, 202, 204, 206, 208, 214, 216, 178, 180 und 188 ausgeführt. Schritt 200 schaltet den Erkennungsmodus zurück in den TEXTMODUS, denn es wird angenommen, daß der Benutzer nach Bestätigung des letzten Textwortes ein weiteres Textwort diktiert. Schritt 202 speichert anschließend REC TOK in SAV TOK. Dies wirkt sich in diesem Falle jedoch nicht aus, da dieser Token mit Schritt 264 bereits in SAV TOK gespeichert wurde. Schritt 204 löscht REC TOK, STARTSTRING und die Popup-Fenster 701, 702 und 703, um die Erkennung eines anderen Textwortes vorzübereiten. Schritt 206 bestätigt, daß das ausgewählte Wort "this" mit dem letzten Textwort, das durch den Token in SAV TOK dargestellt wird, übereinstinunt. Schritt 208 speichert daraufhin den in SAV TOK befindlichen Token, der das bestätigte Wortlabel "this" enthält, im Tokenspeicher. Durch Schritt 214 wird danach im Tokenspeicher nach allen Tokens gesucht, die das Wortlabel "this" haben (zu diesem Zeitpunkt nur ein einziger Token), und mit diesem Token wird dann ein akustisches Wortmodell für dieses Wort gebildet. Schritt 216 speichert schließlich dieses Wortmodell im vom Erkennungsprogramm verwendeten akustischen Modellspeicher.
- Als nächstes speichert Schritt 178 das bestätigte Wort "this" als aktuellstes Wort im Sprachkontextpuffer. Schritt 180 aktualisiert danach die Sprachmodellwahrscheinlichkeiten, um die Okkurenz des Wortes "this" zu reflektieren. Schritt 188 gibt dieses Wort dann an das Anwendungsprogramm aus, als wäre es über die Computertastatur eingegeben worden. Das Diktierprogramm achtet dabei auf Zeichensetzungsregeln. Das erste Wort in einem Satz wird z.B. großgeschrieben. Zu den Tastenanschlägen, die in der bevorzugten Realisierung mit Schritt 188 an die Anwendung gesendet werden, gehört demzufolge auch ein großes "T". Der Benutzer braucht sich daher um die Großschreibung am Satzanfang nicht zu kümmern, muß aber auf Substantive, Namen usw. innerhalb des Satzes achten.
- Sobald Schritt 188 diese Ausgabefolge generiert hat, wird die Steuerung bei Schritt 102 an das Textverarbeitungsprogramm zurückgegeben. Das Textverarbeitungsprogramm fügt die mit Schritt 188 ausgegebene Zeichenfolge "mis" in den zu erstellenden Text auf dem Bildschirm ein (siehe ABBLDG. 12).
- Wenn alle diese Schritte abgeschlossen sind, kehrt das Programm zur Aufrufschleife 103 zurück, um die nächste Benutzereingabe aufzunehmen. In unserem Beispiel handelt es sich dabei um das Wort "invention". Daraufhin werden die Schritte 111, 119, 121 und 123 ausgeführt, die den Token für diese Äußerung mit jedem Wort im aktiven Vokabular vergleichen, um eine akustische Übereinstimmung zu generieren. Da das Wort "this" in unserem Beispiel das einzige Wort ist, für das ein akustisches Modell trainiert wurde, befindet sich im aktiven Vokabular z.Z. nur dieses eine Wort. Es wird daher an die Prüfungen der Schritte 106 - 110 weitergeleitet. Der Test für Schritt 108 wird somit als erfüllt angesehen, und der diesem Schritt folgende Programmzweig wird ausgeführt. Schritt 172 speichert den Token für das soeben diktierte Wort in REC TOK, und Schritt 176 zeigt das aktive Auswahlfenster 701 an (siehe ABBLDG. 13). Da keine Wörter angezeigt wurden, als das Wort "invention" diktiert wurde, kann mit Schritt 174 keine Wortauswahl bestätigt werden, und die Schritte 803, 178, 180 und 188 geben die Steuerung lediglich an das Anwendungsprogramm zurück. Da die Anwendung keine Ausgabe von Schritt 188 empfangen hat, kehrt sie lediglich zu Schritt 103 zurück, um auf die nächste Benutzereingabe zu warten.
- Der Benutzer gibt in unserem Beispiel an dieser Stelle den Buchstabenbefehl "i" ein, um zu kennzeichnen, daß die zu erkennende Äußerung mit diesem Buchstaben beginnt. Dadurch wird Test 109 erfüllt, STARTSTRING auf "i" gesetzt, der in REG TOK befindliche Token in SAV TOK gespeichert (um für die Erstellung eines Wortmodells bereitzustehen) und das aktive Vokabular auf die Wörter beschränkt, die mit "i" beginnen. Da für diese Wörter zu diesem Zeitpunkt noch keine akustischen Wortmodelle trainiert worden sind, wird das aktive Vokabular geleert. Schritt 268 ruft anschließend ein Backup-Vokabular der neun Wörter ab, die im aktuellen Sprachkontext am wahrscheinlichsten auftreten und mit dem Buchstaben "i" beginnen. Schritt 270 zeigt im Definitionsfenster 703 (siehe ABBLDG. 14) anschließend das "i" aus dem STARTSTRING an. Schritt 274 wird nicht ausgeführt, da kein aktives Vokabular für die Wiedererkennung bereitsteht. Schritt 274 zeigt daraufhin das leere aktive Auswahlfenster 701 und das Wörterbuch-Fenster 702 an, in dem die in Schritt 268 ausgewählten wahrscheinlichsten Wörter, die mit "i" beginnen, aufgeführt sind. Das Programm kehrt dann für die nächste Benutzereingabe zu Schritt 103 zurück, und auf dem Computerbildschirm ist die in ABBLDG. 14 dargestellte Anzeige zu sehen.
- In unserem Beispiel gibt der Benutzer als nächstes die Buchstaben "n", "v", "e" ein, wobei nacheinander die Schritte 104, 105, 109, 260, 262, 264, 266, 268, 270 und 272 durchlaufen werden. In der in ABBLDG. 1 dargestellten Realisierung wird der in Schritt, 272 erwähnte Spracherkennungsalgorithmus mit einer Überwachungsroutine durchgeführt Hierdurch wird mit einer relativ hohen Häufigkeit (z.B. zehnmal pro Sekunde) nach einer neuen Benutzereingabe, d.h. nach einem neuen Tastenanschlag oder einer neuen Äußerung, gesucht Wenn eine solche Eingabe festgestellt wird, bevor die Wiedererkennung in Schritt 272 abgeschlossen ist, wird dieser Schritt abgebrochen und das Programm springt sofort zur Aufrufschleife 103 zurück, um die neue Benutzereingabe aufzunehmen. Dadurch kann der Benutzer schnell hintereinander mehrere Buchstaben oder Bearbeitungsbefehle eingeben, ohne daß er warten muß, bis das System die relativ lange Berechnung einer Wiedererkennung nach einem solchen Eintrag beendet hat. Das System kann nach diesem Schema die Wiedererkennung erst abschließen, wenn der Benutzer nach dem Eintrag des letzten Buchstabens eine ausreichend lange Pause einlegt, um die Wiedererkennung ablaufen zu lassen. Der Benutzer kann demzufolge mehrere Buchstaben eingeben und dann warten und sehen, ob Wörter zur Auswahl angezeigt werden, um dann evtl. weitere Buchstaben oder den Rest des Wortes einzugeben.
- Nachdem der Benutzer die Zeichen "nve" eingegeben hat und der dem Schritt 109 folgende Programmzweig auf den resultierenden STARTSTRING antworten konnte, zeigt der Computerbildschirm die in ABBLDG. 15 dargestellte Zeichenfolge an. Das Definitionsfenster 702 zeigt den aktuellen STARTSTRING "inve" an, und das Wörterbuch- Fenster 702 enthält eine Liste der Wörter, die mit "inve" beginnen, einschließlich des Wortes "invention", dem die Funktionstaste f5 zugewiesen ist
- Der Benutzer drückt als nächstes die Funktionstaste f5, um das Wort "invention" als bestätigtes Wort auszuwählen. Dadurch wird der Test in Schritt 107 erfüllt und der diesem Schritt folgende Programmzweig ausgeführt. Mit Schritt 206 wird das Wort "invention" bestätigt. Die Schritte 208, 214 und 216 speichern den Token der mit diesem Wort verknüpften Äußerung im Tokenspeicher, und mit diesem Token wird dann ein akustisches Modell für dieses Wort erstellt. Schritt 178 sorgt dafür, daß das Wort "invention" als aktuellstes Wort und das Wort "this" als zweitaktuellstes Wort im Sprachpuffer gespeichert wird. Schritt 180 verwendet daraufhin diese beiden Wörter, um die Sprachmodellwahrscheinlichkeiten zu aktualisieren, und Schritt 188 sendet die Tastenanschläge für "invention" schließlich an die Anwendung. (Beachten Sie, daß das System aufgrund der Zeichensetzungsregeln zusammen mit den an die Anwendung gesendeten Tastenanschlägen vor dem Wort "invention" automatisch eine Leerstelle eingefügt hat.) Das Anwendungsprogramm fügt diese Tastenfolge anschließend in den zu erstellenden Text ein (siehe ABBLDG. 16) und kehrt dann zur Aufrufschleife 103 zurück. Zu diesem Zeitpunkt werden keine Fenster angezeigt. Der Test für Schritt 801 kann folglich nicht erfolgreich abgeschlossen werden, wenn der Benutzer an dieser Stelle einen weiteren Tastenanschlag eingibt. Statt dessen wird Schritt 802 ausgeführt, und der Tastenanschlag wird direkt an die Anwendung gesendet. Dieser Modus würde der normalen Texteingabe entsprechen.
- Der Benutzer sagt als nächstes das Wort "relates", das die Ausführung der Schritte 111, 119, 121 und 123 nach sich zieht. Zu diesem Zeitpunkt sind zwei Wörter im aktiven Vokabular enthalten, "this" und "invention". "invention" kommt für eine akustische Übereinstimmung mit dem Wort "relates" allerdings nicht in Frage und ist deshalb auch nicht in der Auswahlliste aufgeführt, die durch die Erkennung in Schritt 123 erstellt wurde. Das Wort "this" ist die beste durch die Erkennung produzierte Wahlmöglichkeit, und dementsprechend ist Test 108 erfüllt Schritt 108 wiederum führt dazu, daß in Schritt 176 die in ABBLDG. 17 dargestellte aktive Fensteranzeige zu sehen ist Da keine Wörter angezeigt wurden, als der Benutzer das Wort "relates" diktiert hat, wird in Schritt 174 auch kein Wort bestätigt, und die Schritte 803, 178, 180, 188 und 102 wirken sich nicht aus. Statt dessen wird zu Schritt 103 zurückgekehrt, um auf die nächste Benutzereingabe zu warten.
- Der Benutzer gibt dann die Buchstaben "rel" ein, woraufhin für jeden Buchstaben der Programmzweig unter Schritt 109 ausgeführt wird. Sobald der Programmzweig für den letzten Buchstaben "l" ausgeführt worden ist, ist auf dem Computerbildschirm die in ABBLDG. 18 dargestellte Anzeige zu sehen, und im Definitionsfenster 703 wird der aktuelle STARTSTRING "rel" angezeigt. Da mit der Schreibweise, die mit den Buchstaben "rel" beginnt, keine akustischen Wortmodelle verknüpft sind, ist das aktive Auswahlfenster 701 leer. Das Wörterbuch-Fenster 702 enthält jedoch eine Liste der Wörter, die mit den Buchstaben "rel" beginnen, wobei "relate" die erste Wahlmöglichkeit ist.
- Nachdem der in ABBLDG. 19 gezeigte Bildschirm erstellt ist, kehrt das Programm zur Aufrufschleife 103 zurück, um die nächste Benutzereingabe zu erwarten. In unserem Beispiel drückt der Benutzer an dieser Stelle zweimal kurz hintereinander die Funktionstaste f1. Schritt 105 erkennt diesen Doppelklick und sendet ein der Funktionstaste f1 entsprechendes Doppelklickzeichen an die Prufüngen in den Schritten 106 - 110. Dies führt zum effolgreichen Abschluß des Tests in Schritt 110 und zur Ausführung des entsprechenden Programmzweiges.
- Schritt 276 schaltet das Programm dem Ergebnis entsprechend erneut in den BEARBEITUNGSMODUS, und Schritt 273 macht das Wort "relate" zum STARTSTRING. Schritt 264 speichert den in REC TOK befindlichen Token in SAV TOK, was in diesem Falle jedoch ohne Wirkung bleibt, da dies für jeden der vom Benutzer eingegebenen Buchstaben in "rel" bereits geschehen ist. Das leere aktive Vokabular wird durch Schritt 266 nicht geändert. Schritt 268 beschränkt das Backup-Vokabular auf die Wörter "relate" und "related", da das gewünschte Wort "relates" kein separater Eintrag im Wörterbuch ist. Schritt 270 zeigt im Definitionsfenster 703 den STARTSTRING "relate" an. Mit Schritt 272 wird nichts ausgeführt, da das aktive Vokabular leer ist. Schritt 274 zeigt schließlich die Fenster 701 und 702 an, bevor das Programm dann für eine weitere Benutzereingabe zur Aufrufschleife 103 zurückkehrt. Diese Schritte erzeugen die in ABBLDG. 19 dargestellte Anzeige.
- Der Benutzer gibt dann den Buchstaben "s" ein, um das Wort "relates" zu bilden. Schritt 109 reagiert auf diesen Buchstabenbefehl, indem Schritt 262 veranlaßt wird, diesen Buchstaben dem STARTSTRING hinzuzufügen. Schritt 270 generiert daraufhin die in ABBLDG. 20 dargestellte Anzeige. Das Programm fährt anschließend für denselben Token mit den Schritten 264, 266, 268, 270, 272 und 274 fort und geht danach zur Aufrufschleife 103 zurück, um auf weitere Benutzereingaben zu warten. Wie in ABBLDG. 20 dargestellt, zeigt Schritt 270 den STARTSTRING "relates" im Definitionsfenster 702 an. Das aktive Fenster 701 oder das Wörterbuch-Fenster 702 werden jedoch nicht eingeblendet, da es weder im aktiven Vokabular noch im Wörterbuch Wörter gibt, die mit den Buchstaben "relates" beginnen. In der in diesem Beispiel illustrierten bevorzugten Realisierung ist der LÖSCH-Befehl nur im TEXTMODUS und nicht im BEARBEITUNGSMODUS aktiv, d.h. "del (reject)" wird nicht angezeigt.
- Da das Wort im Definitionsfenster 703 das gewünschte Wort ist, drückt der Benutzer die Eingabetaste (ENTER). Diese Taste wird vom Programm als Befehl zur Auswahl und Bestätigung des Wortes im Definitionsfenster interpretiert. Nach dieser Eingabe wird der Test in Schritt 107 erfolgreich abgeschlossen und der diesem Schritt folgende Programmzweig ausgeführt. Mit Schritt 200 wird das Programm zurück in den TEXTMODUS geschaltet, der STARTSTRING "relates" dann als bestätigtes Wort gekennzeichnet und der Token in SAV TOK (der mit der Lautäußerung dieses Wortes übereinstimmt) mit dem Label "relates" im Tokenspeicher gespeichert, um so ein akustisches Modell für das Wort "relates" zu erstellen. Das Wort "relates" wird im Sprachkontextpuffer als aktuellstes Wort gespeichert, und "invention" wird an die Stelle des zweitaktuellsten Wortes geschoben. Diese beiden Wörter werden dann verwendet, um die Sprachmodellwahrscheinlichkeiten zu aktualisieren, und "relates" wird an das Textverarbeitungsprogramm ausgegeben, das diese Zeichenfolge (wie in ABBLDG. 21 dargestellt) an der Cursorposition in den Text einfügt. Das Programm kehrt für die nächste Benutzereingabe anschließend zur Aufrufschleife 103 zurück. Da sich das System jetzt erneut in einem Zustand befindet, der einen erfolgreichen Abschluß des Tests in Schritt 801 ausschließt, könnte der Benutzer also weitere Zeichen über die Tastatur eingeben.
- Der Benutzer diktiert als nächstes das Wort "to" Dadurch wird auf den aus dieser Äußerung stammenden Token die TEXTMODUS-Erkennung aus Schritt 123 angewandt. Das am besten passende Wort im aktiven Vokabular ist in diesem Fall "this", d.h. der Test in Schritt 108 ist erfüllt, und "this" wird im aktiven Auswahlfenster 701 angezeigt.
- Der Benutzer gibt dann über die Tastatur den Buchstaben "t" ein. Dadurch wird der dem Schritt 109 folgende Programmzweig ausgeführt und der STARTSTRING auf den Buchstaben "t" eingestellt. Das aktive Vokabular wird auf die Wörter beschränkt, die mit "t" beginnen, und es wird ein Backup-Vokabular mit "t"-Wörtern ausgewählt. Anschließend wird im aktiven Vokabular eine Wiedererkennung durchgeführt. Da das aktive Vokabular zu diesem Zeitpunkt nur ein Wort enthält, das mit "t" beginnt (nämlich das Wort "this"), wird "this" als beste Wahlmöglichkeit in der Wiedererkennung ausgewählt. Nach der Wiedererkennung erscheint auf dem Computerbildschlrm die in ABBLDG. 23 dargestellte Auzeige. Dem korrekten Wort "to" ist im Wörterbuch-Fenster 702 die Funktionstaste f2 zugewiesen. Der Benutzer muß folglich die Funktionstaste f2 drücken, um das Wort "to" zu bestätigen und um die in ABBLDG. 24 dargestellte Anzeige zu generieren.
- Der Benutzer hat den Text "This invention relates to" (der normalerweise 25 Tastenanschläge erfordert) jetzt vollständig eingegeben sowie vier akustische Modelle erstellt, mit denen diese Wörter später völlig tastaturfrei eingegeben werden können (da eine richtige Erkennung einfach durch Diktieren des nächsten Wortes bestätigt, d.h. der Test in Schritt 108 erfüllt und der diesem Schritt folgende Programmzweig dann ausgeführt werden kann). Mit anderen Worten, der Benutzer konnte die vier Wörter dieses Textes hintereinander und ohne ausdrückliches Training diktieren und brauchte dabei insgesamt nur 15 Tastenanschläge auszuführen (oder 16 mit dem Doppelklick).
- Der Benutzer braucht kein Anfangsvokabular zu trainieren. Um dem aktiven Spracherkennungsvokabular ein neues Wort hinzufügen, braucht das Wort während der Erstellung eines Dokuments einfach nur verwendet zu werden. Wenn dabei auf das Backup-Wörterbuch zurückgegriffen wird, sind dafür oft weniger Tastenanschläge nötig, als das bei vollständiger Eingabe über die Tastatur der Fall wäre.
- Wenn der Benutzer akustische Modelle für die im obigen Beispiel verwendeten Wortauswahl-, Buchstaben- und Bearbeitungsbefehle trainiert hätte, wäre es möglich, diese Befehle auch per Spracheingabe zu und so dieselben Ergebnisse zu erzielen.
- In ABBLDG. 25 und 26 wird eine andere Realisierung der vorliegenden Erfindung gezeigt, die für die Spracherkennung und die Korrektur falsch erkannter gesprochener Wörter konzipiert wurde. Hierbei kann es sich um einzelne Wörter handeln, die durch kurze Pausen voneinander getrennt sind, oder auch um kurze Sätze, wobei jeder Satz durch eine kurze Pause getrennt ist. Die in ABBLDG. 25 gezeigten Funktionsschritte entsprechen den jeweiligen Schritten in ABBLDG. 1 (einschließlich der Schrittnummern), aber mit folgenden Unterschieden: Beim Spracherkennnngsalgorithmus in Schritt 123a handelt es sich um einen Satzerkennungsalgorithmus, der für die Erkennung eines ganzen zusammenhängend gesprochenen Satzes entwickelt wurde. Der STARTSTRING in den Schritten 192a, 204a, 262a, 278a, 266a, 268a und 270a ist dagegen der PHRASE STARTSTRING, der die Anfangsbuchstaben eines oder mehrerer diktierter Wörter, die z.Z. erkannt werden, auflistet. Dieser PHRASE STARTSTRING kann mehr als ein Wort enthalten. Das Definitionsfenster 703a, in dem der PHRASE STARTSTRING angezeigt wird, wird als Satzdefinitionsfenster 703a bezeichnet (siehe ABBLDG. 30). Die Schritte 176a und 274a zeigen den gesamten erkannten Satz im aktiven Satzfenster 701 an (siehe ABBLDG. 27), wobei die angezeigten Wahlmöglichkeiten aus einzelnen Wörtern und/oder aus mehrere Wörter umfassenden Sätzen bestehen können. Durch die Schritte 206a und 174a wird anstelle der Auswahl eines einzelnen Wortes die Auswahl des Satzes bestätigt. Mit den Schritten 208a, 214a und 216a werden Tokens und akustische Wortmodelle für jedes Wort im bestätigten Satz (anstelle für nur ein einzelnes Wort) erstellt, und Schritt 178a speichert alle Wörter des bestätigten Satzes (und nicht nur ein einzelnes Wort) im Sprachkontextpuffer. Schritt 180a aktualisiert auf Basis dieser bestätigten Wörter anschließend das Sprachmodell. Schritt 188a gibt schließlich alle Wörter des bestätigten Satzes (und nicht nur ein einzelnes Wort) an die Anwendung aus. Der größte Unterschied zwischen den Realisierungen in ABBLDG. 1 und 25 besteht in dem neuen Test 302 (siehe ABBLDG. 25), der das Programm mit Schritt 304 veranlaßt, zu der in ABBLDG. 26 dargestellten Bearbeitungsroutine für neue Sätze zu springen. Dieser Test ist erfüllt, sobald der Benutzer den Bearbeittingsbefehl auswählt und der zur Bearbeitung anstehende Satz mehr als ein Wort enthält.
- Bevor wir auf ABBLDG. 26 eingehen, sollte darauf hingewiesen werden, daß ein kontinuierlicher Sprachalgorithinus, der sich für die Satzerkennung in Schritt 123a eignen würde, dem weiter oben im Zusammenhang mit ABBLDG. 5 und 6 diskutierten Trainingsalgorithmus weitgehend gleichen würde, wobei ABBLDG. 5 dann durch ABBLDG. 5A ersetzt werden müßte. Der Trainingsalgorithmus in ABBLDG. 5 und der kontinuierliche Sprachalgorithinus in ABBLDG. 5A unterscheiden sich nur in zwei Punkten. Bei der kontinuierlichen Spracherkennung in ABBLDG. 5A findet keine Neuschätzung der Parameter 222 statt, und die statistischen Werte, die im Rückverfolgungsschritt 220 aufgezeichnet werden, sind unterschiedlich. Wenn Schritt 220 für die kontinuierliche Spracherkennung ausgeführt wird, bestehen die aufzuzeichnenden statistischen Werte nur aus den Wörtern entlang des besten Pfades, der zurückverfolgt wird. Diese Wortfolge wird in umgekehrter Reihenfolge zur Verfügung gestellt. Es ist jedoch einfach, eine solche Wortfolge zu speichern und umzukehren, um dem Benutzer die vorwärtsweisende Wortfolge anzuzeigen und an die Anwendung zu senden.
- Im Hinblick auf ABBLDG. 25 sollte außerdem darauf hingewiesen werden, daß die Schritte 266a und 268a das aktive Vokabular und das Backup-Vokabular auf Wörter beschäänken, die mit dem PHRASE STARTSTRING beginnen. Sollte der PHRASE STARTSTRING Leerstellen enthalten, wählt Schritt 266a nur die Einträge aus dem akustischen Wortmodellspeicher und Schritt 268a nur die Einträge aus dem Backup-Wörterbuch, die aus einer identischen Zeichenfolge (einschließlich der Leerstellen) bestehen. Derartige aus mehreren Wörtern bestehende Einträge sind normalerweise selten, so daß das in diesen beiden Schritten gewählte aktive Vokabular und Backup- Vokabular in der Regel leer ist, wenn der PHRASE STARTSTRING mehr als ein Wort enthält. Bei der Erkennung in Schritt 272a wird (genauso wie in ABBLDG. 1) nur ein einzelnes Wort erkannt. Die Erkennung eines aus mehreren Wörtern bestehenden Satzes ist nur dann möglich, wenn für diesen Satz ein akustisches Modell trainiert wurde (d.h. als würde es sich um ein einzelnes Wort handeln).
- Wenn der Benutzer ein Wort diktiert, funktioniert die in ABBLDG. 25 dargestellte Realisierung der Erfindung fast genauso wie die Realisierung in ABBLDG. 1, wobei einige der im aktiven Fenster 701a angezeigten Wahlmöglichkeiten aus mehreren Wörtern bestehen können.
- Wenn der Benutzer einen aus mehreren Wörtern bestehenden Satz diktiert und in Reaktion auf die erste Erkennung dieser Äußerung der richtige Satz als Auswahlmöglichkeit im aktiven Satzfenster 701a erscheinen sollte, kann der Benutzer diese Wahlmöglichkeit auf dieselbe Weise bestätigen, als wenn in der in ABBLDG. 1 dargestellten Realisierung eine korrekte Wahlmöglichkeit angezeigt werden würde. Das heißt, der Benutzer kann eine solche Wahlmöglichkeit durch Drücken der dem korrekten Wort zugewiesenen Funktionstaste oder durch Ansage eines Auswahlbefehls auswählen, oder auch indem er ein neues Wort diktiert, das als solches und nicht als Lösch-, Auswahl-, Buchstaben- oder Bearbeitungsbefehl erkannt wird.
- Wenn der Benutzer zum Beispiel den Satz "I knew this play" diktiert hat und die in ABBLDG. 27 gezeigte Auswahlanzeige erhält, könnte er diesen Satz durch Drücken der f3-Taste oder durch Ansage von "pick three" bestätigen. Der Tastenanschlag 5 würde daraufhin in den Schritten 104 und 105 festgestellt und übernommen werden, und der Test in Schritt 107 würde somit erfüllt sein. Schritt 200 würde daraufhin das Programm in den TEXTMODUS schalten, und Schritt 202 würde den in REC TOK gespeicherten Token anschließend für die Äußerung "I knew this play" in SAV TOK ablegen, um Wortmodelle erstellen zu können. Schritt 204a würde dann das Popup-Fenster 701a sowie REC TOK und alle Startzeichenfolgen (einschließlich PHRASE STARTSTRING) löschen, um diese bei der nächsten Erkennung verwenden zu können. Schritt 206a würde die der 5-Taste zugewiesene Auswahl, d.h. den Satz "I knew this play", als nächstes bestätigen. Schritt 208a würde schließlich im Tokenspeicher die einzelnen Teile des in SAV TOK abgelegten Token speichern, der als separater Token mit den akustischen Modellen für die Wörter in der bestätigten Zeichenfolge zeitlich ausgerichtet ist, und dann jedem Tokenteil das zugehörige Wortlabel geben, bevor SAV TOK gelöscht wird. Die Neuberechnung dieser zeitlichen Ausrichtung erfolgt in der in ABBLDG. 25 gezeigten bevorzugten Realisierung für Schritt 208a mit Hilfe des Satzerkennungsalgorithmus, der im Zusammenhang mit ABBLDG. 5A und 6 beschrieben wurde, um die den bestätigten Wörtern zugewiesene Folge akustischer Modelle mit dem gesamten Token in SAV TOK zeitlich auszurichten; es sei denn, eine solche zeitliche Ausrichtung wurde bereits für den Token in SAV TOK mit den in ABBLDG. 26 gezeigten Schritten gespeichert.
- Sobald Schritt 208a im Tokenspeicher für die einzelnen Wörter im bestätigten Satz einen akustischen Token gespeichert hat, erstellt Schritt 214a für jedes der Wörter im bestätigten Satz ein akustisches Wortmodell, wobei jeder der im Tokenspeicher abgelegten Token, der mit dem jeweiligen Wort beschriftet ist, verwendet wird. Schritt 216a speichert dann die neu erstellten Wortmodelle zur künftigen Benutzung durch das Spracherkennungssystem im akustischen Wortmodellspeicher. Danach speichert Schritt 178a die einzelnen Wörter im bestätigten Satz in geordneter Reihenfolge im Sprachkontextpuffer, der in dieser Realisierung (wie in ABBLDG. 25 gezeigt) so viele Wörter aufliehmen kann (einschl. einem Extrawort), wie gemäß der für das System festgelegten Satzgröße diktiert werden können. Schritt 180a verwendet anschließend jedes der Wörter im bestätigten Satz sowie das diesem Satz vorausgehende Wort im Sprachpuffer, um das in ABBLDG. 9 dargestellte Sprachmodell zu akualisieren. Schritt 188a gibt danach alle Wörter im bestätigten Satz an das Anwendungsprogramm aus, und zwar so, als ob diese über die Tastatur eingegeben worden wären, und kehrt dann zum Anwendungsprogramm zurück, um die Tastenanschläge zu verarbeiten. Das Anwendungsprogramm geht schließlich zur oben in ABBLDG. 25 gezeigten Aufrufschleife 103 zurück, um die nächste Benutzereingabe aufzunehmen.
- Wenn der Benutzer einen aus mehreren Wörtern bestehenden Satz diktiert und das System diesen falsch erkennen sollte, kann der Benutzer den richtigen Satz mit der in ABBLDG. 25 und 26 gezeigten Realisierung auf zwei verschiedene Weisen erhalten. Zum einen kann er die Satzzeichen mit Buchstabenbefehlen eingeben, entweder indem er sie über die Tastatur eingibt oder aber mit Hilfe des Buchstabieralphabets diktiert (wobei Leerstellen in die gewünschte Zeichenfolge durch Ansage des Wortes "Leertaste" eingegeben werden) und dann anschließend die Eingabetaste drückt oder "enter that" diktiert, um den resultierenden PHRASE STARTSTRING zu bestätigen. Wenn der Benutzer einen solchen PHRASE STARTSTRING eingibt, reagiert das System, wie in ABBLDG. 25 gezeigt, genauso, als ob wenn der Benutzer in die in ABBLDG. 1 gezeigte Realisierung einen STARTSTRING eingegeben hätte. Allerdings sind zwei Unterschiede zu berücksichtigen: Erstens ist sowohl das in Schritt 266a erzeugte aktive Vokabular als auch das in Schritt 268a erzeugte Backup-Vokabular leer, sofern im PHRASE STARTSTRING ein Leerschritt eingegeben wurde, es sei denn, es sind akustische Wortmodelle oder Wörterbucheinträge mit Leerstellen darin enthalten. Zweitens stehen dem System, wenn der Benutzer einen aus mehreren Wörtern bestehenden Satz bestätigt, unter Umständen nicht genügend Informationen zur Verfügung, um eine präzise zeitliche Ausrichtung der einzelnen Wörter des bestätigten Satzes mit SAV TOK zu ermöglichen.
- Der zweite Unterschied ist etwas schwieriger zu verstehen; wir wollen deshalb etwas näher darauf eingehen. Wenn der Benutzer die gesamte gewünschte Zeichenfolge buchstabiert und durch Drücken der Eingabetaste oder durch Ansage von "enter that" bestätigt hat, wird diese Äußerung durch den dem Test 107 folgenden Programmzweig (siehe ABBLDG. 25) bestätigt Dieser Zweig antwortet auf den bestätigten Satz, d.h. auf den Satz "1 knew this play", in der oben beschriebenen Weise. Wenn in Schritt 208a für eines oder mehrere der Wörter im bestätigten Satz jedoch kein akustisches Modell zur Verfügung stand, können unter Umständen nicht alle Wörter mit dem Token in SAV TOK präzise ausgerichtet werden, d.h. die Erstellung eines Token und akustischen Modells für diese Wörter ist dann wahrscheinlich nicht möglich. Dies kann in der in ABBLDG. 25 gezeigten Realisierung ein Problem darstellen, wenn der bestätigte Satz ein oder mehrere Wörter enthält, für die es kein akustisches Modell gibt. In anderen Realisierungen der vorliegenden Erfindung, in denen für jedes Wort in einem großen phonetischen Wörterbuch phonemische Modelle bereitgestellt werden, ist dies nur bei Wörtern ein Problem, für die das phonetische Wörterbuch keine Modelle bereithält. Sollte es nicht möglich sein, alle Wörter im bestätigten Satz zeitlich korrekt auszurichten, werden für die nicht ausgerichteten Wörter lediglich keine Tokens und akustischen Modelle erstellt. Wenn der Benutzer ein Modell für ein solches Wort trainieren möchte, kann er dies erreichen, indem er das Wort diktiert. Es kann daraufhin in Schritt 208a problemlos zeitlich ausgerichtet werden, und durch die Schritte 208a und 214a kann daraufhin ein Token und ein Modell erstellt werden.
- Die andere Möglichkeit, einen aus mehreren Wörtern bestehenden falsch erkannten Satz zu korrigieren, besteht in der Verwendung der Satzbearbeitungsroutine (siehe ABBLDG. 26). Diese Routine wird aufgerufen, wenn der Benutzer einen Bearbeitungsbefehl erteilt, um einen im aktiven Satzfenster 70 la angezeigten Satz auszuwählen. Ein solcher Befehl erfüllt, wie bereits beschrieben, den Test in Schritt 110 (siehe ABBLDG. 25) und veranlaßt Schritt 276 dazu, das System in den BEARBEITUNGSMODUS zu schalten. Schritt 278a bildet unter Verwendung des ausgewählten Satzes anschließend den PHRASE STARTSTRING, und der Test in Schritt 302 wird dadurch erfüllt. Das Programm springt daraufhin zu J1(siehe ABBLDG. 26 oben), d.h. an den Anfang der Satzbearbeitungsroutine.
- Die in ABBLDG. 26 dargestellte Satzbearbeitungsroutlne ermöglicht dem Benutzer die Auswahl eines der im Satzdefinitionsfenster 703a angezeigten falsch erkannten Wörter sowie die Korrektur dieses Wortes, wobei der Benutzer, wie in ABBLDG. 1 gezeigt, vorgehen kann. Das in ABBLDG. 26 gezeigte Flußdiagramm ähnelt daher in vieler Hinsicht dem Flußdiagramm in ABBLDG. 1.
- Nachdem das Programm zu J1 gesprungen ist, werden in Schritt 402 zwei Zeichenfolgen gelöscht: der ALREADY CONFIRMED STRING und der WORD STARTSTRING. Im Satzbearbeitungsmodus kann der Benutzer den Satz im Satzdefinitionsfenster 703a von links nach rechts bearbeiten. Der ALREADY CONFIRMED STRING speichert die vom Benutzer bereits bestätigten Wörter aus dem Satzdefinitionsfenster. Diese Zeichenfolge wird mit Schritt 402 gelöscht, um darauf hinzuweisen, daß zu diesem Zeitpunkt noch keines der Wörter im Satzdefinitionsfenster bestätigt worden ist. Bei dem WORD STARTSTRING handelt es sich um eine Zeichenfolge, die der in ABBLDG. 1 verwendeten Zeichenfolge ähnelt, und durch welche die Buchstaben des Wortes speichert werden, welches das zur Korrektur ausgewählte Wort im PHRASE STARTSTRING ersetzt. Der WORD STARTSTRING wird mit Schritt 402 gelöscht, um anzuzeigen, daß zu diesem Zeitpunkt noch kein WORD STARTSTRING definiert worden ist.
- Das Programm geht nach Schritt 402 zu Schritt 404 über, in dem ein Teil der Satzbearbeitungsroutine gebildet wird, die bei jeder Änderung des Wortes im PHRASE STARTSTRING wiederholt wird. Schritt 404 zeigt im Satzdefinitionsfenster 703a den aktuellen PHRASE STARTSTRING an, dem in unterstrichener Form der ALREADY CONFIRMED STRING vorangestellt ist. Wenn der Satzbearbeitungsrnodus gestartet wird, enthält der PIIRASE STARTSTRING den aus mehreren Wörtern bestehenden Satz, der mit dem Bearbeitungsbefehl ausgewählt wurde, welcher zum erfolgreichen Abschluß des Tests in Schritt 110 (siehe ABBLDG. 25) und damit zu einem leeren ALREADY CONFIRMED STRING geführt hat. Das Satzdefinitionsfenster zeigt folglich nur den mit dem Bearbeitungsbefehl ausgewählten PHRASE STARTSTRING an.
- Schritt 406 definiert nach Abschluß von Schritt 404 das erste Wort im PHRASE STARTSTRING als ausgewähltes Wort und zeigt es im Satzdefinitionsfenster in invertierter Form an. Schritt 408 führt dann in dem in REC TOK gespeicherten Token eine einfache Worterkennung durch, wobei die Erkennung in dem Teil des Token, der mit dem Anfang des ausgewählten Wortes zeitlich ausgerichtet ist, begonnen wird. Eine solche zeitliche Ausrichtung kann durch Ausführung des in den ABBLDG. 5A und 6 erwähnten Erkennungsalgorithmus erreicht werden, wobei nur die mit dem aktuellen ALREADY CONFIRMED STRING (gefolgt vom PHRASE STARTSTRING) verknüpften Wortmodelle verwendet werden. Diese Methode ähnelt der Verfahrensweise, die im Hinblick auf Schritt 208a in ABBLDG. 25 beschrieben wurde. Die Einzelworterkennung in Schritt 408 läuft wie die in ABBLDG. 1 verwendete Erkennung diskreter Äußerungen ab, mit dem Unterschied, daß anstelle der Pausenergebnisse, die in der in ABBLDG. 3 dargestellten Routine verwendet werden, jetzt das aktuelle Wort als im Satz eingebettet erkannt wird. Anstelle der in Schritt 151 (ABBLDG. 4) verwendeten Initialisierung, erhält der erste Knoten eines Wortmodells folglich einen Anfangswert, der aus dem Ergebnis des letzten Knotens des vorhergehenden Wortes dieses Satzes stammt (vergleiche ABBLDG. 5A und 6). Bei der in Schritt 163 berechneten beobachteten Wahrscheinlichkeit obs prob(label(WORT,LAST NODE),RAHMEN) würde es sich demnach um ein Durchschnittsergebnis für andere dem aktuellen Wort folgende Wörter und nicht um das aus einer Pause oder einem Umgebungsgeräusch stammende Ergebnis handeln. Die Anpassungsroutine würde folglich den Treffer für jedes Wort, das in den Kontext vorhergehender Wörter des bereits bestäfigten Satzes eingebettet ist, berechnen und den rechten Kontext leerlassen.
- Durch die Erkennungsroutine in Schritt 408 wird nicht nur das Wort mit dem besten Ergebnis gewählt, sondern auch eine Liste nächstbester Wörter, die im aktiven Wortfenster 701b in eine nach Treffern geordnete Auswahliste plaziert werden. In einer anderen Realisierung dieser Ertindung könnten die Trefferergebnisse all dieser Wörter gespeichert werden, sofern die kontinuierliche Sprachanpassungsroutine in Schritt 123a (siehe ABBLDG. 25) die in ABBLDG. 6 dargestellte vorwärtsweisende Trefferberechnung durchlürt. In der bevorzugten Realisierung wird statt dessen die Anpassungsroutine in Schritt 408 aufgerufen, da diese ebenfalls zur Neuberechnung der Wortergebnisse nach einer Vokabularbeschränkung oder -erweiterung verwendet werden kann (siehe Schritt 409 weiter unten).
- Nachdem die Anpassungsroutine in Schritt 408 eine Auswahluste für die ausgewählte Wortposition wiedergegeben hat, wird diese Auswahlliste in Schritt 410 im aktiven Wortfenster 701b (siehe ABBLDG. 30) angezeigt, und das Programm geht dann zur Aufiutschleife 103b (siehe ABBLDG. 26) weiter, um durch Eingabe einer Äußerung oder eines Tastenanschlags eine Option auszuwählen. Die oben in ABBLDG. 26 gezeigten Schritte 103b, 104b, 105b, 111b, 119b und 122b sind mit den entsprechend bezifferten Schritten in ABBLDG. 1 und 25 identisch. Sie warten auf die Benutzereingabe, übernehmen und, sofern es sich um eine Äußerung handelt, erkennen dann diese Benutzereingabe und leiten diese an eine Reihe von Tests weiter. Zu diesen Tests gehören der Test 106b "WENN LÖSCHBEFEHL", der Test 107b "WENN AUSWAHLBEFEHL", der Test 109b "WENN BUCHSTABENBEFEHL" und der Test 110b "WENN WORTBEARBEITUNGSBEFEHL". Diese Tests entsprechen den älinlich bezifferten Tests in ABBLDG. 1 und 25. ABBLDG. 26 enthält darüber hinaus zwei weitere Tests, nämlich den Test 412 "WENN WORTAUSWAHLBEFEHL" und den Test 414 "WENN SATZEINGABEBEFEHL".
- Wenn das Programm zur Aufrufschleife 103b übergeht und der Benutzer einen Wortauswahlbefehl eingibt, wird Test 412 damit erfüllt. Wortauswahlbefehle können in der in ABBLDG. 26 gezeigten Realisierung durch Drücken der linken und rechten Cursortaste ausgeführt werden, mit denen das Wort rechts oder links neben dem aktuell hervorgehobenen Wort ausgewählt werden kann, vorausgesetzt, daß PHRASE STARTSTRING ein solches Wort enthält. Zu den Wortauswahlbefehlen gehören außerdem die Sprachbefehle "1 nach links", "2 nach links" usw. sowie "1 nach rechts", "2 nach rechts" usw., mit denen das jeweilige Wort ausgewählt wird, das sich um die angegebene Anzahl von Stellen links oder rechts vom hervorgehobenen Wort befindet, vorausgesetzt, daß PHRASE STARTSTRING solch ein Wort enthält.
- Wenn der Test in Schritt 412 erfüllt ist, wird der unter diesem Schritt liegende Programmzweig ausgeführt. Schritt 416 wahlt das durch den Wortauswahlbefehl gekennzeichnete Wort aus und zeigt es anstelle des zuvor ausgewahlten Wortes in umkehrter Form im Satzdefinitionsfenster an. Anschließend werden die oben beschriebenen Schritte 408 und 410 ausgeführt, und das Programm geht für die nächste Benutzereingabe zur Aufrufschleife 103b über. Es sollte darauf hingewiesen werden, daß die Spracherkennung in Schritt 408 zusammen mit einer Überwachungsroutine ausgeführt wird, die jedesmal dann zu einem Abbruch der Erkennung führt und zur Aufrufschleife 103b springt, wenn eine neue Benutzereingabe festgestellt wird. Hierdurch kann der Benutzer schnell hintereinander Wortauswahlbefehle erteilen, ohne darauf warten zu müssen, daß die Worterkennung abgeschlossen und der nächste Wortauswahlbefehl verarbeitet wird.
- Wenn das Programm zur Aufruflchleife 103b übergeht und der Benutzer einen Auswahlbefehl eingibt, wird damit der Test 10th erfüllt und der unter diesem Schritt liegende Programmzweig durchgeführt. Auswahlbefehle können in der in ABBLDG. 26 gezeigten Realisierung durch das Drücken einer der Funktionstasten (f1 - f9) oder durch die Sprachbefehle "pick one" bis "pick nine", die mit der im aktiven Wortfenster 701b oder im Wörterbuch-Fenster 702b angezeigten Wortauswahl übereinstimmen, erteilt werden. In der Satzbearbeitungsroutine können die Auswahlbefehle nicht durch Drücken der Eingabetaste oder durch Ansage von "enter that" erteilt werden, da die Eingabebefehle in dieser Routine, wie weiter unten beschrieben, zur Bestätigung des gesamten Satzes im Satzdefinitionsfenster verwendet werden.
- Sobald Test 107b erfüllt ist, wird das aktuell ausgewählte Wort, das in invertierter Form im Satzdefinitionsfenster angezeigt wird, in Schritt 418 durch das über den Auswahlbefehl gewählte Wort ersetzt. Die in ABBLDG. 26 gezeigte Satzbearbeitungsroutine läßt den Benutzer zur Vereinfachung nur die Wörter korrigieren, die sich rechts neben dem letzten bereits korrigierten Wort im PHRASE STARTSTRING befinden. Sobald ein Wort mit Schritt 418 korrigiert ist, wird es in Schritt 420 zusammen mit allen vorhergehenden Wörtern aus dem aktuellen PHRASE STARTSTRING entfernt, um eine weitere Bearbeitung auszuschließen. Es wird dann in den ALREADY CONFIRMED STRING aufgenommen. Schritt 422 zeigt anschließend erneut das Satzdefinitionsfenster 703a an, wobei alle Wörter im ALREADY CONFIRMED STRING unterstrichen und durch eine Leerstelle getrennt sind sowie in invertierter Form gezeigt werden, um für den in Schritt 424 neu zu erkennenden PHRASE STARTSTRING bereitzustehen. Schritt 424 führt daraufhin die Satzerkennung in REC TOK durch und beginnt dabei mit dem Teil des Token, der mit dem zuvor ausgewählten Wort in der Erkennung zeitlich ausgerichtet ist, in der das Wort erzeugt wurde. Das neu ausgewählte Wort, das durch den letzten Auswahlbefehl gewählt wurde, wird als erstes Wort für alle anstehenden Sätze benutzt, die in der Satzerkennung in Schritt 424 verwendet werden: Diese Wiedererkennung wird durchgeführt, damit die Anpassungsroutine ein Wort korrigieren kann, das aufgrund eines Fehlers in einem Wort des zusammenhängenden Satzes falsch erkannt wurde, und zwar wird der zweite Fehler berichtigt, sobald der erste Fehler korrigiert worden ist. Bei dieser Methode ist es möglich, daß sich die Anzahl der Wörter in der Ausgabefolge von der korrekten Anzahl der Wörter unterscheidet. Wenn ein Wort zum Beispiel fälschlicherweise als Wortpaar erkannt worden ist und nur das erste falsche Wort korrigiert wurde, wird die Wiedererkennung am Ende des korrigierten Wortes fortgesetzt, sobald das erste falsche Wort durch das richtige (längere) Wort ersetzt worden ist.
- Wenn diese Satzerkennung in Schritt 424 durchgeführt und die beste Wortfolge, die mit dem aktuell ausgewahlten Wort beginnt, ausgewahlt worden ist, subtrahiert Schritt 426 das aktuell ausgewählte Wort von dieser Wortfolge und bildet aus den restlichen Wörtern den neuen PHRASE STARTSTRING. Das Programm geht anschließend zu Schritt 404 über, der den neuen PHRASE STARTSTRING im Satzdefinitionsfenster anzeigt. Diesem neuen PHRASE STARTSTRING ist der ALREADY CONFIRMED STRING vorangestellt, der zur Unterscheidung unterstrichen ist. Schritt 406 wählt anschließend das erste Wort des neuen PHRASE STARTSTRING aus und zeigt es in invertierter Form an. Schritt 408 führt dann in dem Teil von REC TOK, der mit dem ausgewahlten Wort übereinstimmt, eine einfache Worterkennung durch, und Schritt 410 zeigt die Wortauswahl aus dieser Erkennung an. Das Programm kehrt daraufitin für die nächste Benutzereingabe zur Aufrufschleife 103b zurück.
- Wenn das Programm zur Aufrufschleife 103b übergeht und der Benutzer durch Drücken der Eingabetaste oder Ansage von "enter that" einen Satzeingabebefehl erteilt, wird dadurch der Test 414 erfüllt, und die Schritte 430 und 432 werden ausgeführt. Satzeingabebefehle werden verwendet, um anzugeben, daß der gesamte, im Satzdefinitionsfenster aktuell gezeigte Satz bestätigt werden soll. In Schritt 430 wird der ALREADY CONFIRMED STRING an den Anfang des aktuellen PHRASE STARTSTRING gestellt, um den PHRASE STARTSTRING zu bilden, der bestätigt werden soll. Schritt 432 springt mit einem Auswahlbefehl anschließend zu 32 (siehe ABBLDG. 25). Daraufhin wird der gesamte PHRASE STARTSTRING durch den Programmzweig bestätigt, der dem Schritt 107 folgt. Es sieht bei dieser Bestätigung so aus, als würde es sich um einen aus mehreren Wörtern bestehenden Satz aus dem aktiven Satzfenster 701a handeln, der durch Drücken einer Funktionstaste bestätigt wurde.
- Wenn das Programm zur Aufrufschleife 103b übergeht und der Benutzer einen der oben beschriebenen Löschbefehle eingibt, wird damit Test 106b erfüllt, und das Programm geht zu Schritt 434 über, der wiederum zu 33 (siehe ABBLDG. 25) springt. Hierdurch wird die Erkennung des gesamten Token, der durch REC TOK dargestellt wird, abgebrochen, d.h. genauso, als hätte der Benutzer diesen Löschbefehl vor Beginn der Satzbearbeitungsroutine, wie in ABBLDG. 26 gezeigt, eingegeben.
- Wenn das Programm zur Aufrufschleife 103b übergeht und der Benutzer einen Buchstabenbefehl eingibt, um den WORD STARTSTRING zu starten, zu erweitern oder zu ändern, wird dadurch Test 109b erfüllt. Die Buchstabenbefehle, die in der in ABBLDG. 26 gezeigten Satzbearbeitungsroutine erkannt werden können, sind mit den Buchstabenbefehlen identisch, die ebenfalls im weiter oben beschriebenen BEARBEITUNGSMODUS in dem in ABBLDG. 1 gezeigten Programm erkannt werden. Sobald Test 109b abgeschlossen ist, wird der durch den Buchstabenbefehl ausgewählte Buchstabe in den WORD STARTSTRING aufgenommen. Wenn es sich bei dem Buchstabenbefehl jedoch um den Befehl zum Löschen des letzten Zeichens von WORD STARTSTRING hmdelt, wird natürlich dieses letzte Zeichen gelöscht. Durch Schritt 438 wird das aktive Vokabular anschließend auf akustische Wortmodelle beschränkt, deren korrespondiereude Wörter mit dem WORD STARTSTRING beginnen. Schritt 440 beschränkt das Backup-Vokabular als nächstes auf die maximal neun Wörter aus dem Backup- Wörterbuch, die mit dem WORD STARTSTRING beginnen und durch den Sprachmodellfllter in Hinblick auf das dem ausgewählten Wort unnaittelbar vorausgehende Wort als die wahrscheinlichsten Wörter ausgewählt worden sind. Schritt 442 zeigt den WORD STARTSTRING dann im Wortdefinitionsfenster 705 (siehe ABBLDG. 35) an, und zwar in invertierter Form in dem Teil des Satzdefinitionsfensters, in dem das ausgewählte Wort zuvor plaziert worden war.
- Sobald dies geschehen ist, führt Schritt 409 in REC TOK eine einfache Worterkennung durch und beginnt dabei in dem Teil des Token, der mit dem Anfang des ausgewählten Wortes zeitlich ausgerichtet ist Bei dieser Erkennung wird derselbe Algorithmus wie in der Erkennung in Schritt 408 verwendet, mit dem Unterschied, daß die Erkennung in Schritt 409 auf dem in Schritt 438 erzeugten beschränkten Vokabular basiert. Diese Erkennung verwendet außerdem eine Überwachungsroutine, die zur Aufrufschleife 103b springt, sobald eine neue Benutzereingabe erfolgt, bevor die Erkennung abgeschlossen ist. Dadurch braucht das System, wenn der Benutzer schnell hintereinander eine Reihe von Buchstabenbefehlen eingibt, nach der Eingabe eines Buchstabenbefehls nicht erst eine separate Erkennung abschließen, bevor es den nächsten Buchstabenbefehl verarbeiten kann.
- Nachdem in Schritt 409 ein Wort oder mehrere aus der Wiedererkennung stammende beste Wörter ausgewählt worden sind, zeigt Schritt 446 diese Wahlmöglichkeiten im aktiven Wortfenster 701b unter dem Wortdefinitionsfenster 705 in geordneter Reihenfolge an, wobei jeder Wahlmöglichkeit eine Funktionstaste zugeordnet ist. Unmittelbar unter dem aktiven Wortfenster zeigt Schritt 446 in dem Wörterbuch-Fenster 702b außerdem die Backup-Wörter an. Sobald in Schritt 440 genügend Wörter aus dem Backup-Wörterbuch ausgewählt worden sind, zeigt Schritt 446 in den Fenstern 701b und 702b maximal 9 Wörter an. Jeder Funktionstaste (f1 - f9) ist dann eine Wortauswahlmöglichkeit zugewiesen. Nach Abschluß von Schritt 409 kehrt das Programm zur Aufrufschleife 103b zurück, um auf die nächste Benutzereingabe zu warten.
- Wenn das Programm zur Aufrufschleife 103b übergeht und der Benutzer einen Wortbearbeitungsbefehl eingibt, um eines der neben einer Funktionstaste in den Fenstern 70 ib und 702b angezeigten Wörter auszuwählen, das zur Bearbeitung in den WORD STARTSTRING eingefügt werden soll, ist damit Test 110b erfüllt. Bei den Bearbeitungsbefehlen handelt es sich um dieselben Bearbeittingsbefehle, die weiter oben im Hinblick auf ABBLDG. 1 bereits beschrieben worden sind. Diese Befehle können durch das doppelte Drücken der Funktionstasten (f1 - f9) oder durch Ansage der Sprachbefehle "edit one" bis "edit nine", die jeweils einer der im Fenster 701b oder 702b angezeigten Wortauswahlmöglichkeiten zugeordnet sind, erteilt werden.
- Wenn ein solcher Wortbearbeitungsbefehl festgestellt wird und der Test in Schritt 110b erfüllt ist, bildet Schritt 448 mit dem durch den Wortbearbeitungsbefehl ausgewählten Wort den WORD STARTSTRING. Anschließend werden die oben beschriebenen Schritte 438 bis 446 durchgeführt, und zwar genauso, als ob der Benutzer die einzelnen Buchstaben des ausgewählten Wortes durch eine Folge von Buchstabenbefehlen in den WORD STARTSTRING eingegeben hätte.
- Im Hinblick auf ABBLDG. 29-36 wollen wir jetzt den Verlauf der Satzbearbeitungsroutine erörtern.
- Bei dem in diesen Abbildungen verwendeten Beispiel wird angenommen, daß der Benutzer den Satz "A new display" diktiert hat. Das Beispiel wird daraufhin in den Schritt 123a (siehe ABBLDG. 25) übernommen und dort als Satz erkannt. Schritt 108 stellt anschließend fest, daß in Schritt 123a eine neue Äußerung erkannt worden ist, und Schritt 176a zeigt daraufhin die Resultate dieser Erkennung im aktiven Satzfenster 701a an (siehe ABBLDG. 29), um danach zur Aufrufschleife 103 zurückzukehren und die Antwort des Benutzers zu erwarten.
- Der Benutzer erkennt, daß die naheliegendste Antwort mit f1 oder f2 zu tun hat und drückt daher doppelt auf f1, um anzugeben, daß der damit verknüpfte Satz bearbeitet werden soll. Dadurch wird Test 110 (siehe ABBLDG. 25) erfüllt, und der ausgewählte Satz "a nudist play" wird zur Bildung des PHRASE STARTSTRING herangezogen. Der Test in Schritt 302 veranlaßt das Programm daraufhin, zu J1 (siehe ABBLDG. 26 oben), d.h. an den Anfang der Satzbearbeitungsroutine, zu springen. Schritt 404 zeigt im Satzdefinitionsfenster 703a als nächstes den PHRASE STARTSTRING an. Schritt 406 wählt danach das erste Wort des PHRASE STARTSTRING, d.h. "a", aus und zeigt es in invertierter Form im Satzdefinitionsfenster an. Schritt 408 führt in REC TOK anschließend eine einfache Worterkennung durch, wobei am Anfang dieses Token begonnen wird, da das erste Wort "a" das ausgewählte Wort ist. Schritt 410 zeigt die aus dieser Erkennung stammenden Wahlmöglichkeiten im aktiven Wortfenster 701b an, und das Programm geht zu 103b über, um die Antwort des Benutzers zu erwarten. Der Bildsclrirm sieht zu diesem Zeitpunkt wie in ABBLDG. 30 gezeigt aus.
- Der Benutzer drückt nun die rechte Cursortaste, um das zweite Wort des PHRASE STARTSTRING hervorzuheben, d.h. das Wort "nudist", und dieses als erstes zu korrigierende Wort auszuwählen. Dadurch wird Test 412 erfüllt. Schritt 416 definiert daraufhin das Wort "nudist" als ausgewähltes Wort und zeigt es in invertierter Form an. Schritt 408 führt dann in REC TOK eine einfache Worterkennung durch und beginnt dabei mit dem Teil des Token, der mit dem ausgewählten Wort "nudist" zeitlich ausgerichtet ist. Nach Abschluß dieser Erkennung zeigt Schritt 410 die aus dieser Erkennung stammenden Wahlmöglichkeiten im aktiven Wortfenster 701b an. Der Bildschirm sieht jetzt wie in ABBLDG. 31 dargestellt aus.
- Sobald das Programm wieder auf die Eingabe des Benutzers wartet und der Benutzer die f2-Taste druckt, um das Wort "new" zu bestätigen und das zuvor ausgewählte Wort "nudist" damit zu ersetzen, antwortet Schritt 107" auf diesen Auswahlbefehl mit der Ausführung des ihm folgenden Programmzweigs. Schritt 418 ersetzt das Wort "nudist" im PHRASE STARTSTRING durch das Wort "new". In Schritt 420 werden alle in dem PHRASE STARTSTRING bisher befindlichen Wörter, d.h. die Wörter "a new", in den ALREADY CONFIRMED STRING aufgenommen. Schritt 422 zeigt erneut das Satzdefinitionsfenster an, das den unterstrichenen ALREADY CONFIRMED STRING enthält und den Rest des Fensters in invertierter Form zeigt (siehe ABBLDG. 32).
- Schritt 424 führt in REC TOK als nächstes eine Satzerkennung durch, wobei mit dem Teil des Token begonnen wird, der zuvor mit dem Wort "nudist" ausgerichtet war. Diese Erkennung wird mit einer möglichen Folge von Wortauswahlmöglichkeiten durchgeführt, die auf Satzfolgen beschränkt sind, die mit dem gerade gewählten Wort "new" beginnen. Wenn in dieser Erkennung eine beste Wortfolge ausgewählt wurde, d.h. in unserem Beispiel die Folge "new display", subtrahiert Schritt 426 das gewählte Wort "new" und verwendet das verbleibende Wort oder die verbleibenden Wörter dieser Folge, d.h. in diesem Falle das Wort "display", um den neuen PHRASE STARTSTRING zu bilden. Sobald dies geschehen ist, geht das Programm zu Schritt 404 über, in dem das Satzdefinitionsfenster mit dem unterstrichenen ALREADY CONFIRMED STRING, gefolgt vom neuen PHRASE STARTSTRING, angezeigt wird. Schritt 406 wählt dann das erste Wort des neuen PHRASE STARTSTRING aus und zeigt es in invertierter Form im Satzdefinitionsfenster an. Schritt 408 führt daraufhin in REC TOK als nächstes eine einfache Worterkennung durch und beginnt dabei mit dem Teil des Token, der mit dem Anfang des Wortes "display" aus der letzten Erkennung in Schritt 424 ausgerichtet ist. Schritt 410 zeigt im Fenster 701b schließlich die besten aus dieser Erkennung stammenden Wortauswahlmöglichkeiten an, bevor das Programm dann für die nächste Benutzereingabe zur Aufrufschleife 103b zurückkehrt. Der Bildschirm sieht dann wie in ABBLDG. 33 gezeigt aus.
- Der Benutzer druckt daraufhin die Eingabetaste. Dadurch wird der in Schritt 414 enthaltene Test erfüllt, und Schritt 430 fügt anschließend den ALREADY CONFIRMED STRING ("a new") am Anfang des PHRASE STARTSTRING ("display") ein, um sonlit den PHRASE STARTSTRING "a new display" zu formen. Schritt 432 springt danach auf J2 (siehe ABBLDG. 25), wodurch der PHRASE STARTSTRING wie in der zuvor beschriebenen Weise als bestätigte Zeichenfolge gehandhabt wird. Danach werden die einzelnen Wörter in dieser Anzeige zur Erstellung eines akustischen Modells sowie zur Aktualisierung des Sprachmodells und zur Ausgabe an das Anwendungsprogramm verwendet, so daß der Bildschirm dann wie in ABBLDG. 34 veranschaulicht aussieht. Wenden wir uns jetzt der ABBLDG. 35 zu. Wenn der Benutzer nach ABBLDG. 31 sich entscheiden würde, durch Eingabe des Buchstabenbefehls "n" das ausgewählte Wort "nudist" zu korrigieren, würde eine andere Ereignisfolge ablaufen. Obwohl in unserern Beispiel in ABBLDG. 31 das richtige Wort "new" angezeigt wird, kann dies in anderen Fällen nicht immer vorausgesetzt werden, und der Benutzer muß dann das gewünschte Wort mit Buchstaben- oder Wortbearbeitungsbefehlen eingeben.
- Wenn der Benutzer nach Ansicht der in ABBLDG. 31 dargestellten Anzeige die Taste "n" drückt, wird dadurch der in Schritt 109b enthaltene Test erfüllt. Schritt 436 fügt daraufhin den Buchstaben "n" an das Ende des zuvor leeren WORD STARTSTRING an, und Schritt 438 beschränkt sodann das aktive Vokabular auf Wörter, die mit dem Buchstaben "n" beginnen. Schritt 440 stellt danach aus Wörtern, die mit diesern Buchstaben beginnen, ein Backup- Vokabular zusammen, und Schritt 442 zeigt den WORD STARTSTRING "n" im Wortdefinitionsfenster 705 an, das im Satzdefinitionsfenster anstelle des ausgewählten Wortes eingeblendet wird. Schritt 409 führt als nächstes unter Verwendung des beschrikten Vokabulars in dem Teil von REC TOK der mit dem ausgewählten Wort übereinstinunt, eine Wiedererkennung durch. Schritt 446 zeigt in den Fenstern 701b und 702b schließlich die aus der Wiedererkennung stammenden Wortwahlmöglichkeiten zusammen mit den Backup-Wörtern an. Hierdurch entsteht die in ABBLDG. 35 dargestellte Anzeige.
- In unserern Beispiel wird angenommen, daß der Benutzer als nächstes den Buchstaben "e" eingibt, obwohl das gewünschte Wort "new" bereits als auswählbares Wort zur Verfügung steht. Nach Eingabe dieses Buchstabens werden die Schritte 109b, 436,438, 440, 442, 409 Lind 446 wiederholt, um den WORD STARTSTLIING "ne" und eine Gruppe von Wahlmöglichkeiten zu produzieren, die im aktiven Wortfenster 701b und im Wörterbuch-Fenster 702b angezeigt werden und alle mit der Zeichenfolge "ne" beginnen (siehe ABBLDG. 36). An dieser Stelle drückt der Benutzer die f1-Taste, um die Wortwahl "new" zu bestätigen. Daraufhin wird der Programmzweig unter Schritt 107b durchgeführt, der auf diese Auswahl auf dieselbe Weise reagiert, wie weiter oben im Hinblick auf ABBLDG. 32 und 33 beschrieben.
- Aus der Beschreibung des unter Schritt 110b befindlichen Programmzweigs sollte deutlich geworden sein, daß der Benutzer jede der im aktiven Wortfenster 701b oder im Wörterbuchfenster 702b angezeigten Wahlmöglichkeiten verwenden kann, um den WORD STARTSTRING zu bilden. Dazu wird die dieser Wahlmöglichkeit zugeordnete Funktionstaste zweimal kurz hintereinander gedrückt oder der entsprechende Wortbearbeitungsbefehl gesagt. Dies führt dann zu denselben Ergebnissen, als ob alle Buchstaben dieses Wortes in den WORD STARTSTRING eingegeben worden wären.
- Aus dem Gesagten wird ersichtlich, daß die vorliegende Erfindung durchaus ein Spracherkennungssystem bietet, das die Geschwindigkeit und Erkennungsgenauigkeit, mit der Text eingegeben werden kann, erheblich verbessert. Dies wird durch eine Vereinfachung der Fehlerkorrektur und durch die mühelose Eingabe neuer Wörter in das Vokabular erreicht. Das interaktive Spracherkennungssystem dieser Erfindung gestattet es dem Benutzer, produktiv an großen Vokabularen zu arbeiten und in natürlicher Sprechweise Diktieraufgaben zu erfüllen, ohne erst aufwendige Wortmodelle trainieren zu müssen. Dem Spracherkennungsvokabular können Wörter auf schnelle und einfache Weise hinzugefügt werden, da die akustischen Modelle aus den Token erstellt werden, die während der eigentlichen Verwendung des Systems und nicht wahrend einer separaten Trainingssitzung gesammelt worden sind. Darüber hinaus kann der Benutzer neue Wörter, die dem Vokabular hinzugefügt worden sind, mit wenigen Tastenanschlägen eingeben. Die Erfindung entwickelt ebenfalls ein Sprachmodell, das in einem Spracherkennungssystem verwendet werden kann, das an die besondere Diktierweise des Benutzers angepaßt ist, ohne daß für eine derartige Anpassung ein hoher zusätzlicher Aufwand erforderlich wäre. Die Erfindung bietet ein System, das dem Benutzer die mühelose Korrektur von Fehlern ermöglicht, die bei der kontinuierlichen Spracherkennung aufgetreten sind.
- Die weiter oben und in den nachfolgenden Patentansprüchen beschriebene Erfindung kann auf verschiedene Weisen realisiert werden. Die oben beschriebenen Realisierungen sind in großem Umfang zum Beispiel in Computerprogrammen enthalten, die auffür allgemeine Zwecke verwendeten Rechnern wie IBM PC AT und COMPAQ 386 ausgeführt werden können; es sollte jedoch betont werden, daß viele oder alle der grundlegenden Funktionen dieser Erfindung mit Hardware zu tun haben, die für besondere Zwecke ausgelegt worden ist. Darüber hinaus sollte klar sein, daß die Schritte des oben beschriebenen Programms, wenn diese als Programmanweisungen in den Programmspeicher geladen werden, einen Weg zur Erfüllung der Aufgaben darstellen, der mit diesen Schritten verbunden ist, und daß solche Programme durchaus die Mittel und Methoden einer Patentanwendung bilden.
- In der hier beschriebenen Realisierung der Erfindung werden Funktionen normalerweise entweder durch das Drücken von Tasten oder durch das Ansagen eines Sprachbefehls ausgewählt. Um Befehle und Zeichen in einen Computer einzugeben, kann statt dessen aber auch jede andere Methode genutzt werden. So kann zum Beispiel ein Zeigegerät wie die Maus oder eine Cursortaste verwendet werden, um Elemente aus einem Auswahlmenü oder Buchstaben aus einem Alphabet auszuwählen.
- Das Spracherkennungssystem, das in der in ABBLDG. 25 und 26 dargestellten Realisierung der Erfindung beschrieben wird, ist zur kontinuierlichen Spracherkennung von diskret gesprochenen Wörtern oder von in kurzen Sätzen gesprochenen Wörtern konzipiert worden. Das Grundkonzept dieser Erfindung könnte jedoch auch auf einem System verwendet werden, das zur Erkennung kontinuierlicher Sprache unbegrenzter Länge entwickelt worden ist. Das aktive Satzfenster könnte in einem solchen Fall die besten Treffer von Wortfolgen anzeigen, die in den letzten Sekunden einer Spracheingabe erkannt werden. Das System könnte darüber hinaus oder auch alternativ dazu eine akustische Beschreibung von Wörtern generieren, die während einer bestimmten Sitzung erkannt worden sind, und dann jedes erkannte Wort als Label für den jeweiligen Teil der Beschreibung venvenden, der mit dem erkannten Wort verknüpft ist. In einer solchen Realisierung könnte der Benutzer zu jedem beliebigen zu korrigierenden, und das System würde dann die Satzerkennung ermöglichen, und zwar angefangen mit dem Teil der akustischen Beschreibung, der mit dem zu korrigierenden Wort übereinstimmt (wie bereits in ABBLDG. 25 und 26 beschrieben).
- Obwohl die oben beschriebenen Realisierungen der vorliegenden Erfindung zur Betreibung als TSR (terminate-and- stay-resident)-Tastaturemulatoren entwickelt wurden, sollte betont werden, daß die Erfindung in anderen Realisierungen auf einfache Weise in ein Anwendungsprogramm (z.B. ein Textverarbeitungs-, Tabellenkalkulationsoder anderes Texteingabeprogramm) integriert werden kann.
- Es sollte außerdem verständlich sein, daß die vorliegende Erfindung mit Spracherkennungssystemen verwendet werden kann, in denen die akustischen Wortmodelle in verteilter Weise gespeichert werden und in denen die Durchführung der Spracherkennung in entsprechender Weise erfolgt, wie z.B. in Systemen mit neuraler Netzwerkarchitektur.
- Die vorliegende Erfindung sollte folglich nicht auf die hier beschriebene bevorzugte Realisierung beschrankt betrachtet, sondern in Übereinstimmung mit den folgenden Patentansprüchen interpretiert werden:
Claims (12)
1. Ein Spracherkennungssystem zur Durchführung der Spracherkennung eines
geäußerten Wortes, das folgende Einzelheiten umfaßt:
Mittel (124) zur Speicherung einer Gruppe von akustischen Wortmodellen (132),
von denen jedes Wortmodell akustische Daten enthält und in Verbindung mit
einem Wortlabel gespeichert wird (504);
Mittel (112 - 118) zur Erstellung einer akustischen Beschreibung eines geäußerten
Wortes, das erkannt werden soll;
Erkennungsmittel (129) zum Vergleich der erstellten akustischen Beschreibung
mit einer Vielzahl gespeicherter akustischer Wortmodelle (132), die in den
genannten Mitteln zur Abspeicherung akustischer Wortmodelle (124 -128)
gespeichert sind, und zur Auswahl eines akustischen Wortmodells (132), das der
akustischen Beschreibung am besten entspricht.
Hierin beschrieben sind Mittel (208 - 214), die akustische Daten aus der akustischen
Beschreibung mit den akustischen Daten, die für das am besten passende akustische
Wortmodell (132) gespeichert sind, kombinieren und auf diese Weise das akustische
Wortmodell (132) aktualisieren (180). Weiterhin sind Mittel (216) zur Speicherung
des aktualisierten akustischen Wortmodells (132) in der genannten Gruppe
gespeicherter akustischer Wortmodelle beschrieben, durch die das aktualisierte
akustische Wortmodell (132) bei der nachfolgenden Spracherkennung durch das
genannte System genutzt werden kann.
2. Ein Spracherkennungssystem, das gemäß Anspruch 1 dadurch charakterisiert werden
kann, daß die Wortlabel (504) aus einer Reihe von Textzeichen bestehen.
3. Ein Spracherkennungssystem, das gemäß Anspruch 1 oder 2 dadurch charakterisiert
werden kann, daß die Erkennungsmittel an den Vergleich der akustischen
Beschreibung mit der genannten Vielzahl gespeicherter akustischer Wortmodelle
(132) angepaßt sind, um so ein Menü von Wortlabels für ein akustisches Wortmodell
(132) oder für alle akustischen Wortmodelle (132) zu kennzeichnen, das oder die mit
der akustischen Beschreibung am besten übereinstimmt bzw. übereinstimmen. Des
weiteren werden Mittel bereitgestellt, die es dem Benutzer des Systems erlauben, aus
dem Menü ein Wortlabel auszuwählen, das mit dem geäußerten Wort, das erkannt
werden soll, übereinstimmt, oder aber ein Wortlabel auszuwählen und dann das
ausgewählte Wortlabel zu bearbeiten und dadurch ein akustisches Wortmodell (132),
das aktualisiert und gespeichert werden soll, zu identifizieren.
4. Ein Spracherkennungssystem, das gemäß Anspruch 3 dadurch charakterisiert werden
kann, daß Mittel (112 - 118) zur Bildung einer akustischen Beschreibung eines
Menüauswahlbefehls (125) bereitgestellt werden, der vom Benutzer geäußert wird,
um ein Wortlabel aus dem genannten Menü auszuwählen. Des weiteren werden Mittel
zur Speicherung akustischer Modelle (132) für eine Vielzähl von
Menüauswahlbefehlen (125) bereitgestellt sowie Mittel (129) zur Erkennung von
Menüauswahlbefehlen, mit denen die akustische Beschreibung des geäußerten
Menüauswahlbefehls mit den akustischen Modellen (132) der verschiedenen
Menüauswahlbefehlen (125) verglichen werden kann. Auch kann auf diese Weise
ausgewählt werden, welche gespeicherten akustischen Modelle (132) der
Menüauswahlbefehle (125) am besten der akustischen Beschreibung des geäußerten
Menüauswahlbefehls entsprechen.
5. Ein Spracherkennungssystem, das gemäß Anspruch 3 oder 4 dadurch charakterisiert
werden kann, daß Mittel (112 - 118) zur Erstellung einer akustischen Beschreibung
eines Bearbeitungsbefehls (126) bereitgestellt werden, der vom Benutzer zur
Bearbeitung eines aus dem angegebenen Menü ausgewählten Wortlabel geäußert
wurde. Des weiteren werden Mittel zur Speicherung akustischer Wortmodelle (132)
für eine Vielzahl von Bearbeitungsbefehlen (126) bereitgestellt sowie Mittel (129) zur
Erkennung von Bearbeitungsbefehlen, mit denen die akustische Beschreibung des
geäußerten Bearbeitungsbefehls mit den gespeicherten Modellen (132) der
verschiedenen Bearbeitungsbefehle (126) verglichen werden kann. Auch kann auf
diese Weise ausgewählt werden, welche akustischen Modelle (132) der
Bearbeitungsbefehle (123) am besten der akustischen Beschreibung des geäußerten
Bearbeitungsbefehls entsprechen.
6. Ein Spracherkennungssystem, das gemäß Anspruch 1 bis 5 dadurch charakterisiert
werden kann, daß Mittel zur Darstellung von Text bereitgestellt werden, der aus
einem oder mehreren Wörtern bestehen kann, sowie Mittel zur Darstellung einer
entsprechenden Worteinfügungsstelle. Des weiteren werden Mittel bereitgestellt, mit
denen ein Wortlabel, d.h. eine dem geäußerten Wort entsprechende Textfolge, in den
genannten Textabschnitt an der angegebenen Worteinfügungsstelle eingefügt werden
kann.
7. Ein Spracherkennungssystem, das gemäß aller vorher genannten Ansprüche am
besten dadurch charakterisiert werden kann, daß die genannten akustischen
gespeicherten Wortmodelle (132) aus einer Vielzahl trainierter akustischer
Wortmodelle (132) bestehen, von denen jedes mit einem geußerten Wort verknüpft
ist. Die Wortmodelle bestehen aus akustischen Daten, die durch die Spracheingabe
eines oder mehrerer Sprecher einer Gruppe erzeugt wurden. Die genannten
akustischen gespeicherten Wortmodelle (132) außerdem aus einer Vielzahl
phonetischer akustischer Wortmodelle (132), von denen jedes mit einem geäußerten
Wort verknüpft ist, ohne daß diese aus den durch die Äußerung eines Sprechers
erzeugten akustischen Daten gewonnen wurden. Die Erkennungsmittel werden
entsprechend angepaßt, damit sowohl die trainierten akustischen Wortmodelle (132)
als auch die phonetischen akustischen Wortmodelle (132) mit der durch das geäußerte
Wort erstellten akustischen Beschreibung verglichen werden können.
8. Ein Spracherkennungssystem, das gemäß aller vorher genannten Ansprüche am
besten dadurch charakterisiert werden kann, daß Filtermittel zur Auswahl einer
Untergruppe der genannten akustischen Wortmodelle (132) bereitgestellt werden,
ohne daß die akustische Beschreibung, die für das zu erkennende geäußerte Wort
erstellt wurde, mit einem akustischen Wortmodell (132) verglichen zu werden
braucht. Des weiteren werden Erkennungsmittel (129) bei der Auswahl von
akustischen Wortmodellen (132) bereitgestellt, die der akustischen Beschreibung, die
zur Unterstützung der Auswahl akustischer Wortmodelle (132) der durch die
Filtermittel ausgewählten Untergruppe erstellt wurde, am besten entsprechen.
9. Ein Spracherkennungssystem, das gemäß Anspruch 8 dadurch charakterisiert werden
kann, daß Sprachmodellmittel bereitgestellt werden, mit denen die
Wahrscheinlichkeit eines gegebenen Wortes angezeigt werden kann, das einer
Vielzahl von Wörtern entstammt, für die akustische Wortmodelle (132) gespeichert
worden sind. Diese Wahrscheinlichkeit basiert auf statistischen Informationen
bezüglich der Häufigkeit der Verwendung dieser verschiedenen Wörter. Des weiteren
werden Filtermittel bereitgestellt, mit denen aus der Untergruppe der genannten
akustischen Wortmodelle eine Auswahl getroffen werden kann, und zwar auf Basis
der durch die genannten Sprachmodellmittel angezeigten Wahrscheinlichkeiten für
das geäußerte Wort, das aus einer Vielzahl von Wörtern (für die ein oder mehrere
akustische Wortmodelle (132) gespeichert sind) erkannt werden soll.
10. Ein Spracherkennungssystem, das gemäß Anspruch 8 oder 9 dadurch charakterisiert
werden kann, daß Mittel bereitgestellt werden, die einem Benutzer die Eingabe einer
aus einem oder mehreren Textzeichen bestehenden Zeichenfolge gestatten. Des
weiteren werden Filtermittel bereitgestellt, die auf diese Eingabe durch Auswahl einer
Untergruppe der akustischen Wortmodellgruppe (132) für verknüpfte Wörter
reagieren. Diese Untergruppe ist mit der Schreibweise verknüpft, welche die vom
Benutzer eingegebene, aus einem oder mehreren Textzeichen bestehende
Zeichenfolge beinhaltet.
11. Ein Spracherkennungssystem, das gemäß eines der vorher genannten Ansprüche am
besten dadurch charakterisiert werden kann, daß die Erkennungsmittel (129) so
angepaßt werden können, daß eine Folge akustischer Beschreibungen, die vom
Benutzer durch Äußerung einer Wortfolge erstellt wurden, mit einer Vielzahl von
Folgen akustischer Wortmodelle (132) verglichen werden können, um so die beste
Übereinstimmung zu finden. Auf diese Weise wird dem Benutzer eine Folge von
Wortlabels angezeigt, die den einzelnen Vielzahlen an passenden Wortmodellfolgen
entsprechen. Diese Mittel ermöglichen dem Benutzer, eine der angegebenen
Wortlabelfolgen auszuwählen, die mit der geäußerten Wortfolge am besten
übereinstimmt.
12. Ein Spracherkennungssystem, das gemäß Anspruch 11 dadurch charakterisiert werden
kann, daß Mittel bereitgestellt werden, die es dem Benutzer gestatten, aus der
angezeigten am besten passenden Wortlabelfolge ein einzelnes Wortlabel
auszuwählen. Außerdem stehen Mittel zur Verfügung, die es dem Benutzer
ermöglichen, die ausgewählte, am besten passende Wortlabelfolge durch Bearbeitung
zu korrigieren.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US07/280,700 US5027406A (en) | 1988-12-06 | 1988-12-06 | Method for interactive speech recognition and training |
Publications (2)
Publication Number | Publication Date |
---|---|
DE68928097D1 DE68928097D1 (de) | 1997-07-10 |
DE68928097T2 true DE68928097T2 (de) | 1997-10-16 |
Family
ID=23074232
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE198989312521T Pending DE376501T1 (de) | 1988-12-06 | 1989-11-30 | Spracherkennungssystem. |
DE68928097T Expired - Lifetime DE68928097T2 (de) | 1988-12-06 | 1989-11-30 | Spracherkennungssystem |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE198989312521T Pending DE376501T1 (de) | 1988-12-06 | 1989-11-30 | Spracherkennungssystem. |
Country Status (6)
Country | Link |
---|---|
US (1) | US5027406A (de) |
EP (1) | EP0376501B1 (de) |
AT (1) | ATE154156T1 (de) |
DE (2) | DE376501T1 (de) |
ES (1) | ES2018761A4 (de) |
GR (1) | GR900300171T1 (de) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE10040214B4 (de) * | 1999-09-27 | 2006-03-30 | International Business Machines Corp. | Verfahren und System zur automatischen Erkennung einer Aktualisierung eines Sprachmodells in einem Spracherkennungssystem |
Families Citing this family (437)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5461697A (en) * | 1988-11-17 | 1995-10-24 | Sekisui Kagaku Kogyo Kabushiki Kaisha | Speaker recognition system using neural network |
JPH03163623A (ja) * | 1989-06-23 | 1991-07-15 | Articulate Syst Inc | 音声制御コンピュータ・インターフェース |
JP2964507B2 (ja) * | 1989-12-12 | 1999-10-18 | 松下電器産業株式会社 | Hmm装置 |
US5329609A (en) * | 1990-07-31 | 1994-07-12 | Fujitsu Limited | Recognition apparatus with function of displaying plural recognition candidates |
JP3050934B2 (ja) * | 1991-03-22 | 2000-06-12 | 株式会社東芝 | 音声認識方式 |
US5212821A (en) * | 1991-03-29 | 1993-05-18 | At&T Bell Laboratories | Machine-based learning system |
US5388183A (en) * | 1991-09-30 | 1995-02-07 | Kurzwell Applied Intelligence, Inc. | Speech recognition providing multiple outputs |
ATE203119T1 (de) * | 1992-03-06 | 2001-07-15 | Dragon Systems Inc | Spracherkennungssystem für sprachen mit zusammengesetzten wörtern |
CA2088080C (en) * | 1992-04-02 | 1997-10-07 | Enrico Luigi Bocchieri | Automatic speech recognizer |
US5495552A (en) * | 1992-04-20 | 1996-02-27 | Mitsubishi Denki Kabushiki Kaisha | Methods of efficiently recording an audio signal in semiconductor memory |
US5293584A (en) * | 1992-05-21 | 1994-03-08 | International Business Machines Corporation | Speech recognition system for natural language translation |
US5621858A (en) * | 1992-05-26 | 1997-04-15 | Ricoh Corporation | Neural network acoustic and visual speech recognition system training method and apparatus |
AU4678593A (en) * | 1992-07-17 | 1994-02-14 | Voice Powered Technology International, Inc. | Voice recognition apparatus and method |
JP2524472B2 (ja) * | 1992-09-21 | 1996-08-14 | インターナショナル・ビジネス・マシーンズ・コーポレイション | 電話回線利用の音声認識システムを訓練する方法 |
JP2818362B2 (ja) * | 1992-09-21 | 1998-10-30 | インターナショナル・ビジネス・マシーンズ・コーポレイション | 音声認識装置のコンテキスト切換えシステムおよび方法 |
US5425129A (en) * | 1992-10-29 | 1995-06-13 | International Business Machines Corporation | Method for word spotting in continuous speech |
GB9223066D0 (en) * | 1992-11-04 | 1992-12-16 | Secr Defence | Children's speech training aid |
US5428707A (en) * | 1992-11-13 | 1995-06-27 | Dragon Systems, Inc. | Apparatus and methods for training speech recognition systems and their users and otherwise improving speech recognition performance |
US6092043A (en) * | 1992-11-13 | 2000-07-18 | Dragon Systems, Inc. | Apparatuses and method for training and operating speech recognition systems |
US6073097A (en) * | 1992-11-13 | 2000-06-06 | Dragon Systems, Inc. | Speech recognition system which selects one of a plurality of vocabulary models |
US5452397A (en) * | 1992-12-11 | 1995-09-19 | Texas Instruments Incorporated | Method and system for preventing entry of confusingly similar phases in a voice recognition system vocabulary list |
US5535305A (en) * | 1992-12-31 | 1996-07-09 | Apple Computer, Inc. | Sub-partitioned vector quantization of probability density functions |
US5734791A (en) * | 1992-12-31 | 1998-03-31 | Apple Computer, Inc. | Rapid tree-based method for vector quantization |
US6311157B1 (en) * | 1992-12-31 | 2001-10-30 | Apple Computer, Inc. | Assigning meanings to utterances in a speech recognition system |
US5613036A (en) * | 1992-12-31 | 1997-03-18 | Apple Computer, Inc. | Dynamic categories for a speech recognition system |
US5596680A (en) * | 1992-12-31 | 1997-01-21 | Apple Computer, Inc. | Method and apparatus for detecting speech activity using cepstrum vectors |
US5668929A (en) * | 1993-01-21 | 1997-09-16 | Hirsch Electronics Corporation | Speech activated security systems and methods |
JPH06259090A (ja) * | 1993-03-09 | 1994-09-16 | Nec Corp | 音声対話システム |
ATE195605T1 (de) * | 1993-03-12 | 2000-09-15 | Stanford Res Inst Int | Verfahren und vorrichtung für sprachunterricht mittels interaktiver sprachsteuerung |
FR2704348B1 (fr) * | 1993-04-23 | 1995-07-07 | Matra Communication | Procede de reconnaissance de parole a apprentissage. |
US5652897A (en) * | 1993-05-24 | 1997-07-29 | Unisys Corporation | Robust language processor for segmenting and parsing-language containing multiple instructions |
US5671426A (en) * | 1993-06-22 | 1997-09-23 | Kurzweil Applied Intelligence, Inc. | Method for organizing incremental search dictionary |
US5457770A (en) * | 1993-08-19 | 1995-10-10 | Kabushiki Kaisha Meidensha | Speaker independent speech recognition system and method using neural network and/or DP matching technique |
JP2986345B2 (ja) * | 1993-10-18 | 1999-12-06 | インターナショナル・ビジネス・マシーンズ・コーポレイション | 音声記録指標化装置及び方法 |
US5623578A (en) * | 1993-10-28 | 1997-04-22 | Lucent Technologies Inc. | Speech recognition system allows new vocabulary words to be added without requiring spoken samples of the words |
US5615296A (en) * | 1993-11-12 | 1997-03-25 | International Business Machines Corporation | Continuous speech recognition and voice response system and method to enable conversational dialogues with microprocessors |
JPH07210190A (ja) * | 1993-12-30 | 1995-08-11 | Internatl Business Mach Corp <Ibm> | 音声認識方法及びシステム |
US5524169A (en) * | 1993-12-30 | 1996-06-04 | International Business Machines Incorporated | Method and system for location-specific speech recognition |
US5794197A (en) * | 1994-01-21 | 1998-08-11 | Micrsoft Corporation | Senone tree representation and evaluation |
JP3267047B2 (ja) * | 1994-04-25 | 2002-03-18 | 株式会社日立製作所 | 音声による情報処理装置 |
US5799267A (en) * | 1994-07-22 | 1998-08-25 | Siegel; Steven H. | Phonic engine |
US5870705A (en) * | 1994-10-21 | 1999-02-09 | Microsoft Corporation | Method of setting input levels in a voice recognition system |
US5787230A (en) * | 1994-12-09 | 1998-07-28 | Lee; Lin-Shan | System and method of intelligent Mandarin speech input for Chinese computers |
US5758322A (en) * | 1994-12-09 | 1998-05-26 | International Voice Register, Inc. | Method and apparatus for conducting point-of-sale transactions using voice recognition |
US6160536A (en) * | 1995-03-27 | 2000-12-12 | Forest; Donald K. | Dwell time indication method and apparatus |
US6903723B1 (en) * | 1995-03-27 | 2005-06-07 | Donald K. Forest | Data entry method and apparatus |
US5913615A (en) * | 1995-04-10 | 1999-06-22 | Quartet Manufacturing Company | Open-closed sign structure |
US5966701A (en) * | 1995-06-21 | 1999-10-12 | Matsushita Electric Industrial Co., Ltd. | Recognition and judgement apparatus having various learning functions |
US5794196A (en) * | 1995-06-30 | 1998-08-11 | Kurzweil Applied Intelligence, Inc. | Speech recognition system distinguishing dictation from commands by arbitration between continuous speech and isolated word modules |
US6005549A (en) * | 1995-07-24 | 1999-12-21 | Forest; Donald K. | User interface method and apparatus |
US5999895A (en) * | 1995-07-24 | 1999-12-07 | Forest; Donald K. | Sound operated menu method and apparatus |
US5748191A (en) * | 1995-07-31 | 1998-05-05 | Microsoft Corporation | Method and system for creating voice commands using an automatically maintained log interactions performed by a user |
US5761641A (en) * | 1995-07-31 | 1998-06-02 | Microsoft Corporation | Method and system for creating voice commands for inserting previously entered information |
US5864815A (en) * | 1995-07-31 | 1999-01-26 | Microsoft Corporation | Method and system for displaying speech recognition status information in a visual notification area |
CA2180392C (en) * | 1995-07-31 | 2001-02-13 | Paul Wesley Cohrs | User selectable multiple threshold criteria for voice recognition |
US5857172A (en) * | 1995-07-31 | 1999-01-05 | Microsoft Corporation | Activation control of a speech recognizer through use of a pointing device |
US5806034A (en) * | 1995-08-02 | 1998-09-08 | Itt Corporation | Speaker independent speech recognition method utilizing multiple training iterations |
US5963666A (en) * | 1995-08-18 | 1999-10-05 | International Business Machines Corporation | Confusion matrix mediated word prediction |
US5855000A (en) * | 1995-09-08 | 1998-12-29 | Carnegie Mellon University | Method and apparatus for correcting and repairing machine-transcribed input using independent or cross-modal secondary input |
US5774841A (en) * | 1995-09-20 | 1998-06-30 | The United States Of America As Represented By The Adminstrator Of The National Aeronautics And Space Administration | Real-time reconfigurable adaptive speech recognition command and control apparatus and method |
US5832428A (en) * | 1995-10-04 | 1998-11-03 | Apple Computer, Inc. | Search engine for phrase recognition based on prefix/body/suffix architecture |
US5761687A (en) * | 1995-10-04 | 1998-06-02 | Apple Computer, Inc. | Character-based correction arrangement with correction propagation |
US5852801A (en) * | 1995-10-04 | 1998-12-22 | Apple Computer, Inc. | Method and apparatus for automatically invoking a new word module for unrecognized user input |
US5706397A (en) * | 1995-10-05 | 1998-01-06 | Apple Computer, Inc. | Speech recognition system with multi-level pruning for acoustic matching |
US5765132A (en) * | 1995-10-26 | 1998-06-09 | Dragon Systems, Inc. | Building speech models for new words in a multi-word utterance |
EP0770986A3 (de) | 1995-10-26 | 1998-06-17 | Dragon Systems Inc. | Modifizierte Einzelworterkennung |
JP3459712B2 (ja) * | 1995-11-01 | 2003-10-27 | キヤノン株式会社 | 音声認識方法及び装置及びコンピュータ制御装置 |
US5799276A (en) * | 1995-11-07 | 1998-08-25 | Accent Incorporated | Knowledge-based speech recognition system and methods having frame length computed based upon estimated pitch period of vocalic intervals |
US5794189A (en) | 1995-11-13 | 1998-08-11 | Dragon Systems, Inc. | Continuous speech recognition |
US6601027B1 (en) * | 1995-11-13 | 2003-07-29 | Scansoft, Inc. | Position manipulation in speech recognition |
US6064959A (en) * | 1997-03-28 | 2000-05-16 | Dragon Systems, Inc. | Error correction in speech recognition |
US5799279A (en) * | 1995-11-13 | 1998-08-25 | Dragon Systems, Inc. | Continuous speech recognition of text and commands |
JPH09146977A (ja) * | 1995-11-28 | 1997-06-06 | Nec Corp | データ検索装置 |
JP3535292B2 (ja) * | 1995-12-27 | 2004-06-07 | Kddi株式会社 | 音声認識システム |
GB9601925D0 (en) * | 1996-01-31 | 1996-04-03 | British Telecomm | Database access |
GB9602691D0 (en) * | 1996-02-09 | 1996-04-10 | Canon Kk | Word model generation |
US5960395A (en) | 1996-02-09 | 1999-09-28 | Canon Kabushiki Kaisha | Pattern matching method, apparatus and computer readable memory medium for speech recognition using dynamic programming |
US5845049A (en) * | 1996-03-27 | 1998-12-01 | Board Of Regents, The University Of Texas System | Neural network system with N-gram term weighting method for molecular sequence classification and motif identification |
US5913193A (en) * | 1996-04-30 | 1999-06-15 | Microsoft Corporation | Method and system of runtime acoustic unit selection for speech synthesis |
US5937384A (en) * | 1996-05-01 | 1999-08-10 | Microsoft Corporation | Method and system for speech recognition using continuous density hidden Markov models |
US6110214A (en) * | 1996-05-03 | 2000-08-29 | Aspen Technology, Inc. | Analyzer for modeling and optimizing maintenance operations |
US5758319A (en) * | 1996-06-05 | 1998-05-26 | Knittle; Curtis D. | Method and system for limiting the number of words searched by a voice recognition system |
US5835888A (en) * | 1996-06-10 | 1998-11-10 | International Business Machines Corporation | Statistical language model for inflected languages |
US5963903A (en) * | 1996-06-28 | 1999-10-05 | Microsoft Corporation | Method and system for dynamically adjusted training for speech recognition |
US6246972B1 (en) | 1996-08-23 | 2001-06-12 | Aspen Technology, Inc. | Analyzer for modeling and optimizing maintenance operations |
US5832441A (en) * | 1996-09-16 | 1998-11-03 | International Business Machines Corporation | Creating speech models |
JP4339931B2 (ja) * | 1996-09-27 | 2009-10-07 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | 発話を認識する方法及びシステム |
WO1998014934A1 (en) | 1996-10-02 | 1998-04-09 | Sri International | Method and system for automatic text-independent grading of pronunciation for language instruction |
US5995928A (en) * | 1996-10-02 | 1999-11-30 | Speechworks International, Inc. | Method and apparatus for continuous spelling speech recognition with early identification |
US6151575A (en) * | 1996-10-28 | 2000-11-21 | Dragon Systems, Inc. | Rapid adaptation of speech models |
US5884258A (en) * | 1996-10-31 | 1999-03-16 | Microsoft Corporation | Method and system for editing phrases during continuous speech recognition |
US5950160A (en) * | 1996-10-31 | 1999-09-07 | Microsoft Corporation | Method and system for displaying a variable number of alternative words during speech recognition |
US5829000A (en) * | 1996-10-31 | 1998-10-27 | Microsoft Corporation | Method and system for correcting misrecognized spoken words or phrases |
US5899976A (en) * | 1996-10-31 | 1999-05-04 | Microsoft Corporation | Method and system for buffering recognized words during speech recognition |
EP0840287A3 (de) * | 1996-10-31 | 1999-04-07 | Microsoft Corporation | Verfahren und System zur Auswahl erkannter Wörter bei der Korrektur erkannter Sprache |
JPH10143191A (ja) * | 1996-11-13 | 1998-05-29 | Hitachi Ltd | 音声認識システム |
US6137863A (en) * | 1996-12-13 | 2000-10-24 | At&T Corp. | Statistical database correction of alphanumeric account numbers for speech recognition and touch-tone recognition |
US6061654A (en) * | 1996-12-16 | 2000-05-09 | At&T Corp. | System and method of recognizing letters and numbers by either speech or touch tone recognition utilizing constrained confusion matrices |
EP0849723A3 (de) * | 1996-12-20 | 1998-12-30 | ATR Interpreting Telecommunications Research Laboratories | Spracherkennungsapparat mit Mitteln zum Eliminieren von Kandidatenfehlern |
US5864805A (en) * | 1996-12-20 | 1999-01-26 | International Business Machines Corporation | Method and apparatus for error correction in a continuous dictation system |
US6122613A (en) * | 1997-01-30 | 2000-09-19 | Dragon Systems, Inc. | Speech recognition using multiple recognizers (selectively) applied to the same input sample |
US5946654A (en) * | 1997-02-21 | 1999-08-31 | Dragon Systems, Inc. | Speaker identification using unsupervised speech models |
US6029124A (en) * | 1997-02-21 | 2000-02-22 | Dragon Systems, Inc. | Sequential, nonparametric speech recognition and speaker identification |
US6490555B1 (en) * | 1997-03-14 | 2002-12-03 | Scansoft, Inc. | Discriminatively trained mixture models in continuous speech recognition |
US6260013B1 (en) * | 1997-03-14 | 2001-07-10 | Lernout & Hauspie Speech Products N.V. | Speech recognition system employing discriminatively trained models |
US6167377A (en) * | 1997-03-28 | 2000-12-26 | Dragon Systems, Inc. | Speech recognition language models |
US6212498B1 (en) | 1997-03-28 | 2001-04-03 | Dragon Systems, Inc. | Enrollment in speech recognition |
US6092044A (en) * | 1997-03-28 | 2000-07-18 | Dragon Systems, Inc. | Pronunciation generation in speech recognition |
US6236715B1 (en) * | 1997-04-15 | 2001-05-22 | Nortel Networks Corporation | Method and apparatus for using the control channel in telecommunications systems for voice dialing |
US6490561B1 (en) * | 1997-06-25 | 2002-12-03 | Dennis L. Wilson | Continuous speech voice transcription |
JP2000516749A (ja) * | 1997-06-26 | 2000-12-12 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | 語構成源テキストを語構成目標テキストに翻訳する機械構成の方法及び装置 |
DE69817844T2 (de) * | 1997-06-27 | 2004-05-06 | M.H. Segan Ltd. Partnership, Great Barrington | Verfahren und vorrichtung zur spracherkennungscomputereingabe |
JP4279909B2 (ja) * | 1997-08-08 | 2009-06-17 | ドーサ アドバンスズ エルエルシー | 音声認識装置における認識対象表示方式 |
US6154579A (en) * | 1997-08-11 | 2000-11-28 | At&T Corp. | Confusion matrix based method and system for correcting misrecognized words appearing in documents generated by an optical character recognition technique |
US6064957A (en) * | 1997-08-15 | 2000-05-16 | General Electric Company | Improving speech recognition through text-based linguistic post-processing |
US6603835B2 (en) | 1997-09-08 | 2003-08-05 | Ultratec, Inc. | System for text assisted telephony |
US6052657A (en) * | 1997-09-09 | 2000-04-18 | Dragon Systems, Inc. | Text segmentation and identification of topic using language models |
US6006186A (en) * | 1997-10-16 | 1999-12-21 | Sony Corporation | Method and apparatus for a parameter sharing speech recognition system |
US6141661A (en) * | 1997-10-17 | 2000-10-31 | At&T Corp | Method and apparatus for performing a grammar-pruning operation |
US6122612A (en) * | 1997-11-20 | 2000-09-19 | At&T Corp | Check-sum based method and apparatus for performing speech recognition |
US6205428B1 (en) | 1997-11-20 | 2001-03-20 | At&T Corp. | Confusion set-base method and apparatus for pruning a predetermined arrangement of indexed identifiers |
US6151574A (en) * | 1997-12-05 | 2000-11-21 | Lucent Technologies Inc. | Technique for adaptation of hidden markov models for speech recognition |
US5983177A (en) * | 1997-12-18 | 1999-11-09 | Nortel Networks Corporation | Method and apparatus for obtaining transcriptions from multiple training utterances |
JP2991178B2 (ja) * | 1997-12-26 | 1999-12-20 | 日本電気株式会社 | 音声ワープロ |
US6223158B1 (en) | 1998-02-04 | 2001-04-24 | At&T Corporation | Statistical option generator for alpha-numeric pre-database speech recognition correction |
US6205261B1 (en) | 1998-02-05 | 2001-03-20 | At&T Corp. | Confusion set based method and system for correcting misrecognized words appearing in documents generated by an optical character recognition technique |
US8202094B2 (en) * | 1998-02-18 | 2012-06-19 | Radmila Solutions, L.L.C. | System and method for training users with audible answers to spoken questions |
US6112172A (en) * | 1998-03-31 | 2000-08-29 | Dragon Systems, Inc. | Interactive searching |
US5970451A (en) * | 1998-04-14 | 1999-10-19 | International Business Machines Corporation | Method for correcting frequently misrecognized words or command in speech application |
FI981154A (fi) * | 1998-05-25 | 1999-11-26 | Nokia Mobile Phones Ltd | Menetelmä ja laite puheen tunnistamiseksi |
US6163768A (en) | 1998-06-15 | 2000-12-19 | Dragon Systems, Inc. | Non-interactive enrollment in speech recognition |
US6400805B1 (en) | 1998-06-15 | 2002-06-04 | At&T Corp. | Statistical database correction of alphanumeric identifiers for speech recognition and touch-tone recognition |
US7937260B1 (en) | 1998-06-15 | 2011-05-03 | At&T Intellectual Property Ii, L.P. | Concise dynamic grammars using N-best selection |
US6067514A (en) * | 1998-06-23 | 2000-05-23 | International Business Machines Corporation | Method for automatically punctuating a speech utterance in a continuous speech recognition system |
US6304848B1 (en) | 1998-08-13 | 2001-10-16 | Medical Manager Corp. | Medical record forming and storing apparatus and medical record and method related to same |
US6195635B1 (en) | 1998-08-13 | 2001-02-27 | Dragon Systems, Inc. | User-cued speech recognition |
JP3001000B1 (ja) * | 1998-09-08 | 2000-01-17 | セイコーエプソン株式会社 | 音声認識装置における連続単語認識方法および音声認識装置における連続単語認識処理プログラムを記録した記録媒体 |
US6393399B1 (en) | 1998-09-30 | 2002-05-21 | Scansoft, Inc. | Compound word recognition |
DE19851287A1 (de) * | 1998-11-06 | 2000-06-21 | Siemens Ag | Datenverarbeitungssystem oder Kommunikationsendgerät mit einer Einrichtung zur Erkennugn gesprochener Sprache und Verfahren zur Erkennung bestimmter akustischer Objekte |
US6571209B1 (en) * | 1998-11-12 | 2003-05-27 | International Business Machines Corporation | Disabling and enabling of subvocabularies in speech recognition systems |
JP2000181676A (ja) * | 1998-12-11 | 2000-06-30 | Nintendo Co Ltd | 画像処理装置 |
US6233560B1 (en) | 1998-12-16 | 2001-05-15 | International Business Machines Corporation | Method and apparatus for presenting proximal feedback in voice command systems |
US7206747B1 (en) | 1998-12-16 | 2007-04-17 | International Business Machines Corporation | Speech command input recognition system for interactive computer display with means for concurrent and modeless distinguishing between speech commands and speech queries for locating commands |
US6192343B1 (en) | 1998-12-17 | 2001-02-20 | International Business Machines Corporation | Speech command input recognition system for interactive computer display with term weighting means used in interpreting potential commands from relevant speech terms |
US6937984B1 (en) * | 1998-12-17 | 2005-08-30 | International Business Machines Corporation | Speech command input recognition system for interactive computer display with speech controlled display of recognized commands |
US8275617B1 (en) | 1998-12-17 | 2012-09-25 | Nuance Communications, Inc. | Speech command input recognition system for interactive computer display with interpretation of ancillary relevant speech query terms into commands |
JP3543931B2 (ja) * | 1998-12-17 | 2004-07-21 | 日本電気株式会社 | 音声認識による文字編集手段を有する移動通信端末装置 |
US6438520B1 (en) * | 1999-01-20 | 2002-08-20 | Lucent Technologies Inc. | Apparatus, method and system for cross-speaker speech recognition for telecommunication applications |
US6577999B1 (en) * | 1999-03-08 | 2003-06-10 | International Business Machines Corporation | Method and apparatus for intelligently managing multiple pronunciations for a speech recognition vocabulary |
US7292980B1 (en) * | 1999-04-30 | 2007-11-06 | Lucent Technologies Inc. | Graphical user interface and method for modifying pronunciations in text-to-speech and speech recognition systems |
JP3980791B2 (ja) * | 1999-05-03 | 2007-09-26 | パイオニア株式会社 | 音声認識装置を備えたマンマシンシステム |
US6505155B1 (en) * | 1999-05-06 | 2003-01-07 | International Business Machines Corporation | Method and system for automatically adjusting prompt feedback based on predicted recognition accuracy |
US6345254B1 (en) * | 1999-05-29 | 2002-02-05 | International Business Machines Corp. | Method and apparatus for improving speech command recognition accuracy using event-based constraints |
US6370503B1 (en) * | 1999-06-30 | 2002-04-09 | International Business Machines Corp. | Method and apparatus for improving speech recognition accuracy |
US7120582B1 (en) | 1999-09-07 | 2006-10-10 | Dragon Systems, Inc. | Expanding an effective vocabulary of a speech recognition system |
JP3232289B2 (ja) * | 1999-08-30 | 2001-11-26 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 記号挿入装置およびその方法 |
GB2353887B (en) * | 1999-09-04 | 2003-09-24 | Ibm | Speech recognition system |
EP1083545A3 (de) * | 1999-09-09 | 2001-09-26 | Xanavi Informatics Corporation | Eigennamen Spracherkennung in einem Navigationssystem |
US6334102B1 (en) * | 1999-09-13 | 2001-12-25 | International Business Machines Corp. | Method of adding vocabulary to a speech recognition system |
US7689416B1 (en) | 1999-09-29 | 2010-03-30 | Poirier Darrell A | System for transferring personalize matter from one computer to another |
JP2001100781A (ja) * | 1999-09-30 | 2001-04-13 | Sony Corp | 音声処理装置および音声処理方法、並びに記録媒体 |
US6510414B1 (en) | 1999-10-05 | 2003-01-21 | Cisco Technology, Inc. | Speech recognition assisted data entry system and method |
DE19952049A1 (de) * | 1999-10-28 | 2001-05-10 | Siemens Ag | Verfahren und Anordnung zur Verifikation eines Sprechers anhand eines Rechners |
US7216079B1 (en) * | 1999-11-02 | 2007-05-08 | Speechworks International, Inc. | Method and apparatus for discriminative training of acoustic models of a speech recognition system |
US9076448B2 (en) | 1999-11-12 | 2015-07-07 | Nuance Communications, Inc. | Distributed real time speech recognition system |
GB9928420D0 (en) * | 1999-12-02 | 2000-01-26 | Ibm | Interactive voice response system |
US8645137B2 (en) | 2000-03-16 | 2014-02-04 | Apple Inc. | Fast, language-independent method for user authentication by voice |
US6865533B2 (en) * | 2000-04-21 | 2005-03-08 | Lessac Technology Inc. | Text to speech |
US7280964B2 (en) | 2000-04-21 | 2007-10-09 | Lessac Technologies, Inc. | Method of recognizing spoken language with recognition of language color |
US6847931B2 (en) | 2002-01-29 | 2005-01-25 | Lessac Technology, Inc. | Expressive parsing in computerized conversion of text to speech |
US6963841B2 (en) * | 2000-04-21 | 2005-11-08 | Lessac Technology, Inc. | Speech training method with alternative proper pronunciation database |
WO2001084535A2 (en) * | 2000-05-02 | 2001-11-08 | Dragon Systems, Inc. | Error correction in speech recognition |
US6587824B1 (en) * | 2000-05-04 | 2003-07-01 | Visteon Global Technologies, Inc. | Selective speaker adaptation for an in-vehicle speech recognition system |
ATE313908T1 (de) * | 2000-09-05 | 2006-01-15 | Tragbares endgerät mit sprachgesteuertem wählen, das den speicherbedarf minimiert | |
EP1187096A1 (de) * | 2000-09-06 | 2002-03-13 | Sony International (Europe) GmbH | Anwendung an einen Sprecher mittels Beschneidung des Sprachmodells |
US20020094512A1 (en) * | 2000-11-29 | 2002-07-18 | International Business Machines Corporation | Computer controlled speech word recognition display dictionary providing user selection to clarify indefinite detection of speech words |
US7103533B2 (en) * | 2001-02-21 | 2006-09-05 | International Business Machines Corporation | Method for preserving contextual accuracy in an extendible speech recognition language model |
US6996531B2 (en) * | 2001-03-30 | 2006-02-07 | Comverse Ltd. | Automated database assistance using a telephone for a speech based or text based multimedia communication mode |
DE10119677A1 (de) * | 2001-04-20 | 2002-10-24 | Philips Corp Intellectual Pty | Verfahren zum Ermitteln von Datenbankeinträgen |
JP4048741B2 (ja) * | 2001-07-24 | 2008-02-20 | セイコーエプソン株式会社 | Hmmの出力確率演算方法および音声認識装置 |
US8416925B2 (en) * | 2005-06-29 | 2013-04-09 | Ultratec, Inc. | Device independent text captioned telephone service |
US7809574B2 (en) * | 2001-09-05 | 2010-10-05 | Voice Signal Technologies Inc. | Word recognition using choice lists |
US7526431B2 (en) * | 2001-09-05 | 2009-04-28 | Voice Signal Technologies, Inc. | Speech recognition using ambiguous or phone key spelling and/or filtering |
US7467089B2 (en) * | 2001-09-05 | 2008-12-16 | Roth Daniel L | Combined speech and handwriting recognition |
US7444286B2 (en) * | 2001-09-05 | 2008-10-28 | Roth Daniel L | Speech recognition using re-utterance recognition |
US7505911B2 (en) * | 2001-09-05 | 2009-03-17 | Roth Daniel L | Combined speech recognition and sound recording |
ITFI20010199A1 (it) | 2001-10-22 | 2003-04-22 | Riccardo Vieri | Sistema e metodo per trasformare in voce comunicazioni testuali ed inviarle con una connessione internet a qualsiasi apparato telefonico |
US7203644B2 (en) * | 2001-12-31 | 2007-04-10 | Intel Corporation | Automating tuning of speech recognition systems |
DE10204924A1 (de) * | 2002-02-07 | 2003-08-21 | Philips Intellectual Property | Verfahren und Vorrichtung zur schnellen mustererkennungsunterstützten Transkription gesprochener und schriftlicher Äußerungen |
US7398209B2 (en) | 2002-06-03 | 2008-07-08 | Voicebox Technologies, Inc. | Systems and methods for responding to natural language speech utterance |
US7346507B1 (en) * | 2002-06-05 | 2008-03-18 | Bbn Technologies Corp. | Method and apparatus for training an automated speech recognition-based system |
US7693720B2 (en) | 2002-07-15 | 2010-04-06 | Voicebox Technologies, Inc. | Mobile systems and methods for responding to natural language speech utterance |
US7003457B2 (en) * | 2002-10-29 | 2006-02-21 | Nokia Corporation | Method and system for text editing in hand-held electronic device |
US7392182B2 (en) * | 2002-12-18 | 2008-06-24 | Harman International Industries, Inc. | Speech recognition system |
KR100668297B1 (ko) * | 2002-12-31 | 2007-01-12 | 삼성전자주식회사 | 음성인식방법 및 장치 |
US7676366B2 (en) * | 2003-01-13 | 2010-03-09 | Art Advanced Recognition Technologies Inc. | Adaptation of symbols |
US7031915B2 (en) * | 2003-01-23 | 2006-04-18 | Aurilab Llc | Assisted speech recognition by dual search acceleration technique |
US20040148169A1 (en) * | 2003-01-23 | 2004-07-29 | Aurilab, Llc | Speech recognition with shadow modeling |
US6823493B2 (en) | 2003-01-23 | 2004-11-23 | Aurilab, Llc | Word recognition consistency check and error correction system and method |
US20040158468A1 (en) * | 2003-02-12 | 2004-08-12 | Aurilab, Llc | Speech recognition with soft pruning |
US20040193412A1 (en) * | 2003-03-18 | 2004-09-30 | Aurilab, Llc | Non-linear score scrunching for more efficient comparison of hypotheses |
US7729913B1 (en) * | 2003-03-18 | 2010-06-01 | A9.Com, Inc. | Generation and selection of voice recognition grammars for conducting database searches |
US20040186714A1 (en) * | 2003-03-18 | 2004-09-23 | Aurilab, Llc | Speech recognition improvement through post-processsing |
US20040186819A1 (en) * | 2003-03-18 | 2004-09-23 | Aurilab, Llc | Telephone directory information retrieval system and method |
US7146319B2 (en) * | 2003-03-31 | 2006-12-05 | Novauris Technologies Ltd. | Phonetically based speech recognition system and method |
US20040210437A1 (en) * | 2003-04-15 | 2004-10-21 | Aurilab, Llc | Semi-discrete utterance recognizer for carefully articulated speech |
WO2005026958A1 (en) * | 2003-09-11 | 2005-03-24 | Voice Signal Technologies, Inc. | Method and apparatus for back-up of customized application information |
JP4713111B2 (ja) * | 2003-09-19 | 2011-06-29 | 株式会社エヌ・ティ・ティ・ドコモ | 発話区間検出装置、音声認識処理装置、送信システム、信号レベル制御装置、発話区間検出方法 |
US7480615B2 (en) * | 2004-01-20 | 2009-01-20 | Microsoft Corporation | Method of speech recognition using multimodal variational inference with switching state space models |
US8515024B2 (en) * | 2010-01-13 | 2013-08-20 | Ultratec, Inc. | Captioned telephone service |
US8380484B2 (en) * | 2004-08-10 | 2013-02-19 | International Business Machines Corporation | Method and system of dynamically changing a sentence structure of a message |
US7778821B2 (en) * | 2004-11-24 | 2010-08-17 | Microsoft Corporation | Controlled manipulation of characters |
JP4574390B2 (ja) * | 2005-02-22 | 2010-11-04 | キヤノン株式会社 | 音声認識方法 |
US7822627B2 (en) * | 2005-05-02 | 2010-10-26 | St Martin Edward | Method and system for generating an echocardiogram report |
US7680659B2 (en) * | 2005-06-01 | 2010-03-16 | Microsoft Corporation | Discriminative training for language modeling |
GB2428853A (en) * | 2005-07-22 | 2007-02-07 | Novauris Technologies Ltd | Speech recognition application specific dictionary |
US11258900B2 (en) | 2005-06-29 | 2022-02-22 | Ultratec, Inc. | Device independent text captioned telephone service |
US20070016420A1 (en) * | 2005-07-07 | 2007-01-18 | International Business Machines Corporation | Dictionary lookup for mobile devices using spelling recognition |
US8433558B2 (en) | 2005-07-25 | 2013-04-30 | At&T Intellectual Property Ii, L.P. | Methods and systems for natural language understanding using human knowledge and collected data |
US7640160B2 (en) | 2005-08-05 | 2009-12-29 | Voicebox Technologies, Inc. | Systems and methods for responding to natural language speech utterance |
US7620549B2 (en) | 2005-08-10 | 2009-11-17 | Voicebox Technologies, Inc. | System and method of supporting adaptive misrecognition in conversational speech |
US7949529B2 (en) | 2005-08-29 | 2011-05-24 | Voicebox Technologies, Inc. | Mobile systems and methods of supporting natural language human-machine interactions |
WO2007027989A2 (en) * | 2005-08-31 | 2007-03-08 | Voicebox Technologies, Inc. | Dynamic speech sharpening |
US8677377B2 (en) | 2005-09-08 | 2014-03-18 | Apple Inc. | Method and apparatus for building an intelligent automated assistant |
US7633076B2 (en) | 2005-09-30 | 2009-12-15 | Apple Inc. | Automated response to and sensing of user activity in portable devices |
US20070094022A1 (en) * | 2005-10-20 | 2007-04-26 | Hahn Koo | Method and device for recognizing human intent |
US20070124147A1 (en) * | 2005-11-30 | 2007-05-31 | International Business Machines Corporation | Methods and apparatus for use in speech recognition systems for identifying unknown words and for adding previously unknown words to vocabularies and grammars of speech recognition systems |
US20070132834A1 (en) * | 2005-12-08 | 2007-06-14 | International Business Machines Corporation | Speech disambiguation in a composite services enablement environment |
US20070136069A1 (en) * | 2005-12-13 | 2007-06-14 | General Motors Corporation | Method and system for customizing speech recognition in a mobile vehicle communication system |
US20070208567A1 (en) * | 2006-03-01 | 2007-09-06 | At&T Corp. | Error Correction In Automatic Speech Recognition Transcripts |
US8301448B2 (en) | 2006-03-29 | 2012-10-30 | Nuance Communications, Inc. | System and method for applying dynamic contextual grammars and language models to improve automatic speech recognition accuracy |
US7756708B2 (en) * | 2006-04-03 | 2010-07-13 | Google Inc. | Automatic language model update |
US20070260595A1 (en) * | 2006-05-02 | 2007-11-08 | Microsoft Corporation | Fuzzy string matching using tree data structure |
KR100819234B1 (ko) * | 2006-05-25 | 2008-04-02 | 삼성전자주식회사 | 네비게이션 단말의 목적지 설정 방법 및 장치 |
US7716049B2 (en) * | 2006-06-30 | 2010-05-11 | Nokia Corporation | Method, apparatus and computer program product for providing adaptive language model scaling |
US9318108B2 (en) | 2010-01-18 | 2016-04-19 | Apple Inc. | Intelligent automated assistant |
US8073681B2 (en) | 2006-10-16 | 2011-12-06 | Voicebox Technologies, Inc. | System and method for a cooperative conversational voice user interface |
US20080114597A1 (en) * | 2006-11-14 | 2008-05-15 | Evgeny Karpov | Method and apparatus |
WO2008067562A2 (en) * | 2006-11-30 | 2008-06-05 | Rao Ashwin P | Multimodal speech recognition system |
US9830912B2 (en) | 2006-11-30 | 2017-11-28 | Ashwin P Rao | Speak and touch auto correction interface |
US7818176B2 (en) | 2007-02-06 | 2010-10-19 | Voicebox Technologies, Inc. | System and method for selecting and presenting advertisements based on natural language processing of voice-based input |
JP4322934B2 (ja) * | 2007-03-28 | 2009-09-02 | 株式会社東芝 | 音声認識装置、方法およびプログラム |
US8977255B2 (en) | 2007-04-03 | 2015-03-10 | Apple Inc. | Method and system for operating a multi-function portable electronic device using voice-activation |
TWI345218B (en) * | 2007-04-20 | 2011-07-11 | Asustek Comp Inc | Portable computer with function for identiying speech and processing method thereof |
US9053089B2 (en) | 2007-10-02 | 2015-06-09 | Apple Inc. | Part-of-speech tagging using latent analogy |
US8620662B2 (en) | 2007-11-20 | 2013-12-31 | Apple Inc. | Context-aware unit selection |
US8140335B2 (en) | 2007-12-11 | 2012-03-20 | Voicebox Technologies, Inc. | System and method for providing a natural language voice user interface in an integrated voice navigation services environment |
US10002189B2 (en) | 2007-12-20 | 2018-06-19 | Apple Inc. | Method and apparatus for searching using an active ontology |
US9330720B2 (en) | 2008-01-03 | 2016-05-03 | Apple Inc. | Methods and apparatus for altering audio output signals |
US20090210229A1 (en) * | 2008-02-18 | 2009-08-20 | At&T Knowledge Ventures, L.P. | Processing Received Voice Messages |
US8065143B2 (en) | 2008-02-22 | 2011-11-22 | Apple Inc. | Providing text input using speech data and non-speech data |
US20090240499A1 (en) * | 2008-03-19 | 2009-09-24 | Zohar Dvir | Large vocabulary quick learning speech recognition system |
JP5024154B2 (ja) * | 2008-03-27 | 2012-09-12 | 富士通株式会社 | 関連付け装置、関連付け方法及びコンピュータプログラム |
US8380499B2 (en) * | 2008-03-31 | 2013-02-19 | General Motors Llc | Speech recognition adjustment based on manual interaction |
US8996376B2 (en) | 2008-04-05 | 2015-03-31 | Apple Inc. | Intelligent text-to-speech conversion |
US10496753B2 (en) | 2010-01-18 | 2019-12-03 | Apple Inc. | Automatically adapting user interfaces for hands-free interaction |
ITUD20080109A1 (it) * | 2008-05-14 | 2009-11-15 | Voisis S R L | Dispositivo di riconoscimento vocale, apparecchiatura comprendente detto dispositivo e relativo procedimento di riconoscimento vocale |
US9305548B2 (en) | 2008-05-27 | 2016-04-05 | Voicebox Technologies Corporation | System and method for an integrated, multi-modal, multi-device natural language voice services environment |
US8589161B2 (en) | 2008-05-27 | 2013-11-19 | Voicebox Technologies, Inc. | System and method for an integrated, multi-modal, multi-device natural language voice services environment |
US8464150B2 (en) | 2008-06-07 | 2013-06-11 | Apple Inc. | Automatic language identification for dynamic text processing |
US20100030549A1 (en) | 2008-07-31 | 2010-02-04 | Lee Michael M | Mobile device having human language translation capability with positional feedback |
US8768702B2 (en) | 2008-09-05 | 2014-07-01 | Apple Inc. | Multi-tiered voice feedback in an electronic device |
US8898568B2 (en) | 2008-09-09 | 2014-11-25 | Apple Inc. | Audio user interface |
US8583418B2 (en) | 2008-09-29 | 2013-11-12 | Apple Inc. | Systems and methods of detecting language and natural language strings for text to speech synthesis |
US8712776B2 (en) | 2008-09-29 | 2014-04-29 | Apple Inc. | Systems and methods for selective text to speech synthesis |
US8676904B2 (en) | 2008-10-02 | 2014-03-18 | Apple Inc. | Electronic devices with voice command and contextual data processing capabilities |
US9922640B2 (en) | 2008-10-17 | 2018-03-20 | Ashwin P Rao | System and method for multimodal utterance detection |
WO2010067118A1 (en) | 2008-12-11 | 2010-06-17 | Novauris Technologies Limited | Speech recognition involving a mobile device |
US8862252B2 (en) | 2009-01-30 | 2014-10-14 | Apple Inc. | Audio user interface for displayless electronic device |
US8326637B2 (en) | 2009-02-20 | 2012-12-04 | Voicebox Technologies, Inc. | System and method for processing multi-modal device interactions in a natural language voice services environment |
US8380507B2 (en) | 2009-03-09 | 2013-02-19 | Apple Inc. | Systems and methods for determining the language to use for speech generated by a text to speech engine |
GB201016385D0 (en) * | 2010-09-29 | 2010-11-10 | Touchtype Ltd | System and method for inputting text into electronic devices |
US10241644B2 (en) | 2011-06-03 | 2019-03-26 | Apple Inc. | Actionable reminder entries |
US10540976B2 (en) | 2009-06-05 | 2020-01-21 | Apple Inc. | Contextual voice commands |
US10241752B2 (en) | 2011-09-30 | 2019-03-26 | Apple Inc. | Interface for a virtual digital assistant |
US9858925B2 (en) | 2009-06-05 | 2018-01-02 | Apple Inc. | Using context information to facilitate processing of commands in a virtual assistant |
US20120309363A1 (en) * | 2011-06-03 | 2012-12-06 | Apple Inc. | Triggering notifications associated with tasks items that represent tasks to perform |
US9431006B2 (en) | 2009-07-02 | 2016-08-30 | Apple Inc. | Methods and apparatuses for automatic speech recognition |
US9502025B2 (en) | 2009-11-10 | 2016-11-22 | Voicebox Technologies Corporation | System and method for providing a natural language content dedication service |
US9171541B2 (en) | 2009-11-10 | 2015-10-27 | Voicebox Technologies Corporation | System and method for hybrid processing in a natural language voice services environment |
US8682649B2 (en) | 2009-11-12 | 2014-03-25 | Apple Inc. | Sentiment prediction from textual data |
US8600743B2 (en) | 2010-01-06 | 2013-12-03 | Apple Inc. | Noise profile determination for voice-related feature |
US8381119B2 (en) * | 2010-01-11 | 2013-02-19 | Ideographix, Inc. | Input device for pictographic languages |
US8311838B2 (en) | 2010-01-13 | 2012-11-13 | Apple Inc. | Devices and methods for identifying a prompt corresponding to a voice input in a sequence of prompts |
US8381107B2 (en) | 2010-01-13 | 2013-02-19 | Apple Inc. | Adaptive audio feedback system and method |
US10705794B2 (en) | 2010-01-18 | 2020-07-07 | Apple Inc. | Automatically adapting user interfaces for hands-free interaction |
US10553209B2 (en) | 2010-01-18 | 2020-02-04 | Apple Inc. | Systems and methods for hands-free notification summaries |
US10276170B2 (en) | 2010-01-18 | 2019-04-30 | Apple Inc. | Intelligent automated assistant |
US10679605B2 (en) | 2010-01-18 | 2020-06-09 | Apple Inc. | Hands-free list-reading by intelligent automated assistant |
US8626511B2 (en) * | 2010-01-22 | 2014-01-07 | Google Inc. | Multi-dimensional disambiguation of voice commands |
US8977584B2 (en) | 2010-01-25 | 2015-03-10 | Newvaluexchange Global Ai Llp | Apparatuses, methods and systems for a digital conversation management platform |
US20110184736A1 (en) * | 2010-01-26 | 2011-07-28 | Benjamin Slotznick | Automated method of recognizing inputted information items and selecting information items |
US8682667B2 (en) | 2010-02-25 | 2014-03-25 | Apple Inc. | User profiling for selecting user specific voice input processing information |
US8713021B2 (en) | 2010-07-07 | 2014-04-29 | Apple Inc. | Unsupervised document clustering using latent semantic density analysis |
US8719006B2 (en) | 2010-08-27 | 2014-05-06 | Apple Inc. | Combined statistical and rule-based part-of-speech tagging for text-to-speech synthesis |
US8719014B2 (en) | 2010-09-27 | 2014-05-06 | Apple Inc. | Electronic device with text error correction based on voice recognition data |
GB201200643D0 (en) | 2012-01-16 | 2012-02-29 | Touchtype Ltd | System and method for inputting text |
US9852732B2 (en) * | 2010-10-07 | 2017-12-26 | Avaya Inc. | System and method for near real-time identification and definition query |
US9123339B1 (en) | 2010-11-23 | 2015-09-01 | Google Inc. | Speech recognition using repeated utterances |
US10762293B2 (en) | 2010-12-22 | 2020-09-01 | Apple Inc. | Using parts-of-speech tagging and named entity recognition for spelling correction |
US10515147B2 (en) | 2010-12-22 | 2019-12-24 | Apple Inc. | Using statistical language models for contextual lookup |
US8781836B2 (en) | 2011-02-22 | 2014-07-15 | Apple Inc. | Hearing assistance system for providing consistent human speech |
TWI480742B (zh) * | 2011-03-18 | 2015-04-11 | Ind Tech Res Inst | 基於動態語言模型之推薦方法與推薦系統 |
US9262612B2 (en) | 2011-03-21 | 2016-02-16 | Apple Inc. | Device access using voice authentication |
US10672399B2 (en) | 2011-06-03 | 2020-06-02 | Apple Inc. | Switching between text data and audio data based on a mapping |
US10057736B2 (en) | 2011-06-03 | 2018-08-21 | Apple Inc. | Active transport based notifications |
US8749618B2 (en) | 2011-06-10 | 2014-06-10 | Morgan Fiumi | Distributed three-dimensional video conversion system |
US9026446B2 (en) * | 2011-06-10 | 2015-05-05 | Morgan Fiumi | System for generating captions for live video broadcasts |
US8812294B2 (en) | 2011-06-21 | 2014-08-19 | Apple Inc. | Translating phrases from one language into another using an order-based set of declarative rules |
US8706472B2 (en) | 2011-08-11 | 2014-04-22 | Apple Inc. | Method for disambiguating multiple readings in language conversion |
US8994660B2 (en) | 2011-08-29 | 2015-03-31 | Apple Inc. | Text correction processing |
US8762156B2 (en) | 2011-09-28 | 2014-06-24 | Apple Inc. | Speech recognition repair using contextual information |
US10134385B2 (en) | 2012-03-02 | 2018-11-20 | Apple Inc. | Systems and methods for name pronunciation |
US9483461B2 (en) | 2012-03-06 | 2016-11-01 | Apple Inc. | Handling speech synthesis of content for multiple languages |
US9317605B1 (en) | 2012-03-21 | 2016-04-19 | Google Inc. | Presenting forked auto-completions |
US9406299B2 (en) * | 2012-05-08 | 2016-08-02 | Nuance Communications, Inc. | Differential acoustic model representation and linear transform-based adaptation for efficient user profile update techniques in automatic speech recognition |
US9280610B2 (en) | 2012-05-14 | 2016-03-08 | Apple Inc. | Crowd sourcing information to fulfill user requests |
US10417037B2 (en) | 2012-05-15 | 2019-09-17 | Apple Inc. | Systems and methods for integrating third party services with a digital assistant |
US8775442B2 (en) | 2012-05-15 | 2014-07-08 | Apple Inc. | Semantic search using a single-source semantic model |
US10019994B2 (en) | 2012-06-08 | 2018-07-10 | Apple Inc. | Systems and methods for recognizing textual identifiers within a plurality of words |
US9721563B2 (en) | 2012-06-08 | 2017-08-01 | Apple Inc. | Name recognition system |
US9495129B2 (en) | 2012-06-29 | 2016-11-15 | Apple Inc. | Device, method, and user interface for voice-activated navigation and browsing of a document |
WO2014033745A2 (en) * | 2012-08-24 | 2014-03-06 | Tata Consultancy Services Limited | An apparatus and method for sales data gathering using a mobile phone |
US9809185B2 (en) | 2012-09-04 | 2017-11-07 | Ford Global Technologies, Llc | Method and apparatus for subjective command control of vehicle systems |
US9576574B2 (en) | 2012-09-10 | 2017-02-21 | Apple Inc. | Context-sensitive handling of interruptions by intelligent digital assistant |
US9547647B2 (en) | 2012-09-19 | 2017-01-17 | Apple Inc. | Voice-based media searching |
US8935167B2 (en) | 2012-09-25 | 2015-01-13 | Apple Inc. | Exemplar-based latent perceptual modeling for automatic speech recognition |
WO2014052326A2 (en) | 2012-09-25 | 2014-04-03 | Nvoq Incorporated | Apparatus and methods for managing resources for a system using voice recognition |
US8880495B2 (en) * | 2012-10-16 | 2014-11-04 | Michael J. Andri | Search query expansion and group search |
CN104969289B (zh) | 2013-02-07 | 2021-05-28 | 苹果公司 | 数字助理的语音触发器 |
US10642574B2 (en) | 2013-03-14 | 2020-05-05 | Apple Inc. | Device, method, and graphical user interface for outputting captions |
US10572476B2 (en) | 2013-03-14 | 2020-02-25 | Apple Inc. | Refining a search based on schedule items |
US9733821B2 (en) | 2013-03-14 | 2017-08-15 | Apple Inc. | Voice control to diagnose inadvertent activation of accessibility features |
US9977779B2 (en) | 2013-03-14 | 2018-05-22 | Apple Inc. | Automatic supplementation of word correction dictionaries |
US9368114B2 (en) | 2013-03-14 | 2016-06-14 | Apple Inc. | Context-sensitive handling of interruptions |
US10652394B2 (en) | 2013-03-14 | 2020-05-12 | Apple Inc. | System and method for processing voicemail |
WO2014168730A2 (en) | 2013-03-15 | 2014-10-16 | Apple Inc. | Context-sensitive handling of interruptions |
WO2014144579A1 (en) | 2013-03-15 | 2014-09-18 | Apple Inc. | System and method for updating an adaptive speech recognition model |
EP2973002B1 (de) | 2013-03-15 | 2019-06-26 | Apple Inc. | Anwenderschulung durch einen intelligenten digitalen assistenten |
US10748529B1 (en) | 2013-03-15 | 2020-08-18 | Apple Inc. | Voice activated device for use with a voice-based digital assistant |
US9922642B2 (en) | 2013-03-15 | 2018-03-20 | Apple Inc. | Training an at least partial voice command system |
US9390708B1 (en) * | 2013-05-28 | 2016-07-12 | Amazon Technologies, Inc. | Low latency and memory efficient keywork spotting |
WO2014197336A1 (en) | 2013-06-07 | 2014-12-11 | Apple Inc. | System and method for detecting errors in interactions with a voice-based digital assistant |
WO2014197334A2 (en) | 2013-06-07 | 2014-12-11 | Apple Inc. | System and method for user-specified pronunciation of words for speech synthesis and recognition |
US9582608B2 (en) | 2013-06-07 | 2017-02-28 | Apple Inc. | Unified ranking with entropy-weighted information for phrase-based semantic auto-completion |
WO2014197335A1 (en) | 2013-06-08 | 2014-12-11 | Apple Inc. | Interpreting and acting upon commands that involve sharing information with remote devices |
US10176167B2 (en) | 2013-06-09 | 2019-01-08 | Apple Inc. | System and method for inferring user intent from speech inputs |
EP3937002A1 (de) | 2013-06-09 | 2022-01-12 | Apple Inc. | Vorrichtung, verfahren und grafische benutzeroberfläche für gesprächspersistenz über zwei oder mehrere instanzen eines digitalen assistenten |
CN105265005B (zh) | 2013-06-13 | 2019-09-17 | 苹果公司 | 用于由语音命令发起的紧急呼叫的***和方法 |
US9646606B2 (en) | 2013-07-03 | 2017-05-09 | Google Inc. | Speech recognition using domain knowledge |
US9305554B2 (en) * | 2013-07-17 | 2016-04-05 | Samsung Electronics Co., Ltd. | Multi-level speech recognition |
WO2015020942A1 (en) | 2013-08-06 | 2015-02-12 | Apple Inc. | Auto-activating smart responses based on activities from remote devices |
US10296160B2 (en) | 2013-12-06 | 2019-05-21 | Apple Inc. | Method for extracting salient dialog usage from live data |
US10878721B2 (en) | 2014-02-28 | 2020-12-29 | Ultratec, Inc. | Semiautomated relay method and apparatus |
US20180270350A1 (en) | 2014-02-28 | 2018-09-20 | Ultratec, Inc. | Semiautomated relay method and apparatus |
US10389876B2 (en) | 2014-02-28 | 2019-08-20 | Ultratec, Inc. | Semiautomated relay method and apparatus |
US20180034961A1 (en) | 2014-02-28 | 2018-02-01 | Ultratec, Inc. | Semiautomated Relay Method and Apparatus |
US10748523B2 (en) | 2014-02-28 | 2020-08-18 | Ultratec, Inc. | Semiautomated relay method and apparatus |
US20150277752A1 (en) * | 2014-03-31 | 2015-10-01 | Nuance Communications, Inc. | Providing for text entry by a user of a computing device |
US9620105B2 (en) | 2014-05-15 | 2017-04-11 | Apple Inc. | Analyzing audio input for efficient speech and music recognition |
US10592095B2 (en) | 2014-05-23 | 2020-03-17 | Apple Inc. | Instantaneous speaking of content on touch devices |
US9502031B2 (en) | 2014-05-27 | 2016-11-22 | Apple Inc. | Method for supporting dynamic grammars in WFST-based ASR |
US9760559B2 (en) | 2014-05-30 | 2017-09-12 | Apple Inc. | Predictive text input |
US9633004B2 (en) | 2014-05-30 | 2017-04-25 | Apple Inc. | Better resolution when referencing to concepts |
US9785630B2 (en) | 2014-05-30 | 2017-10-10 | Apple Inc. | Text prediction using combined word N-gram and unigram language models |
US9715875B2 (en) | 2014-05-30 | 2017-07-25 | Apple Inc. | Reducing the need for manual start/end-pointing and trigger phrases |
US9430463B2 (en) | 2014-05-30 | 2016-08-30 | Apple Inc. | Exemplar-based natural language processing |
WO2015184186A1 (en) | 2014-05-30 | 2015-12-03 | Apple Inc. | Multi-command single utterance input method |
US9842101B2 (en) | 2014-05-30 | 2017-12-12 | Apple Inc. | Predictive conversion of language input |
US10289433B2 (en) | 2014-05-30 | 2019-05-14 | Apple Inc. | Domain specific language for encoding assistant dialog |
US9734193B2 (en) | 2014-05-30 | 2017-08-15 | Apple Inc. | Determining domain salience ranking from ambiguous words in natural speech |
US10078631B2 (en) | 2014-05-30 | 2018-09-18 | Apple Inc. | Entropy-guided text prediction using combined word and character n-gram language models |
US10170123B2 (en) | 2014-05-30 | 2019-01-01 | Apple Inc. | Intelligent assistant for home automation |
US9338493B2 (en) | 2014-06-30 | 2016-05-10 | Apple Inc. | Intelligent automated assistant for TV user interactions |
US10659851B2 (en) | 2014-06-30 | 2020-05-19 | Apple Inc. | Real-time digital assistant knowledge updates |
WO2016008128A1 (en) | 2014-07-17 | 2016-01-21 | Microsoft Technology Licensing, Llc | Speech recognition using foreign word grammar |
US10446141B2 (en) | 2014-08-28 | 2019-10-15 | Apple Inc. | Automatic speech recognition based on user feedback |
US9818400B2 (en) | 2014-09-11 | 2017-11-14 | Apple Inc. | Method and apparatus for discovering trending terms in speech requests |
US10789041B2 (en) | 2014-09-12 | 2020-09-29 | Apple Inc. | Dynamic thresholds for always listening speech trigger |
WO2016044321A1 (en) | 2014-09-16 | 2016-03-24 | Min Tang | Integration of domain information into state transitions of a finite state transducer for natural language processing |
US9626703B2 (en) | 2014-09-16 | 2017-04-18 | Voicebox Technologies Corporation | Voice commerce |
US10127911B2 (en) | 2014-09-30 | 2018-11-13 | Apple Inc. | Speaker identification and unsupervised speaker adaptation techniques |
US10074360B2 (en) | 2014-09-30 | 2018-09-11 | Apple Inc. | Providing an indication of the suitability of speech recognition |
US9668121B2 (en) | 2014-09-30 | 2017-05-30 | Apple Inc. | Social reminders |
US9886432B2 (en) | 2014-09-30 | 2018-02-06 | Apple Inc. | Parsimonious handling of word inflection via categorical stem + suffix N-gram language models |
US9646609B2 (en) | 2014-09-30 | 2017-05-09 | Apple Inc. | Caching apparatus for serving phonetic pronunciations |
WO2016061309A1 (en) | 2014-10-15 | 2016-04-21 | Voicebox Technologies Corporation | System and method for providing follow-up responses to prior natural language inputs of a user |
US10431214B2 (en) | 2014-11-26 | 2019-10-01 | Voicebox Technologies Corporation | System and method of determining a domain and/or an action related to a natural language input |
US10614799B2 (en) | 2014-11-26 | 2020-04-07 | Voicebox Technologies Corporation | System and method of providing intent predictions for an utterance prior to a system detection of an end of the utterance |
US10552013B2 (en) | 2014-12-02 | 2020-02-04 | Apple Inc. | Data detection |
US9711141B2 (en) | 2014-12-09 | 2017-07-18 | Apple Inc. | Disambiguating heteronyms in speech synthesis |
US9865280B2 (en) | 2015-03-06 | 2018-01-09 | Apple Inc. | Structured dictation using intelligent automated assistants |
US9886953B2 (en) | 2015-03-08 | 2018-02-06 | Apple Inc. | Virtual assistant activation |
US10567477B2 (en) | 2015-03-08 | 2020-02-18 | Apple Inc. | Virtual assistant continuity |
US9721566B2 (en) | 2015-03-08 | 2017-08-01 | Apple Inc. | Competing devices responding to voice triggers |
US9899019B2 (en) | 2015-03-18 | 2018-02-20 | Apple Inc. | Systems and methods for structured stem and suffix language models |
US9842105B2 (en) | 2015-04-16 | 2017-12-12 | Apple Inc. | Parsimonious continuous-space phrase representations for natural language processing |
EP3089159B1 (de) | 2015-04-28 | 2019-08-28 | Google LLC | Korrekturspracherkennung mittels selektivem re-speak |
US10083688B2 (en) | 2015-05-27 | 2018-09-25 | Apple Inc. | Device voice control for selecting a displayed affordance |
US10127220B2 (en) | 2015-06-04 | 2018-11-13 | Apple Inc. | Language identification from short strings |
US10101822B2 (en) | 2015-06-05 | 2018-10-16 | Apple Inc. | Language input correction |
US11025565B2 (en) | 2015-06-07 | 2021-06-01 | Apple Inc. | Personalized prediction of responses for instant messaging |
US10186254B2 (en) | 2015-06-07 | 2019-01-22 | Apple Inc. | Context-based endpoint detection |
US10255907B2 (en) | 2015-06-07 | 2019-04-09 | Apple Inc. | Automatic accent detection using acoustic models |
US10671428B2 (en) | 2015-09-08 | 2020-06-02 | Apple Inc. | Distributed personal assistant |
US10747498B2 (en) | 2015-09-08 | 2020-08-18 | Apple Inc. | Zero latency digital assistant |
US9697820B2 (en) | 2015-09-24 | 2017-07-04 | Apple Inc. | Unit-selection text-to-speech synthesis using concatenation-sensitive neural networks |
US9569782B1 (en) * | 2015-09-28 | 2017-02-14 | International Business Machines Corporation | Automated customer business impact assessment upon problem submission |
US11010550B2 (en) | 2015-09-29 | 2021-05-18 | Apple Inc. | Unified language modeling framework for word prediction, auto-completion and auto-correction |
US10366158B2 (en) | 2015-09-29 | 2019-07-30 | Apple Inc. | Efficient word encoding for recurrent neural network language models |
US11587559B2 (en) | 2015-09-30 | 2023-02-21 | Apple Inc. | Intelligent device identification |
US10691473B2 (en) | 2015-11-06 | 2020-06-23 | Apple Inc. | Intelligent automated assistant in a messaging environment |
US10049668B2 (en) | 2015-12-02 | 2018-08-14 | Apple Inc. | Applying neural network language models to weighted finite state transducers for automatic speech recognition |
US10223066B2 (en) | 2015-12-23 | 2019-03-05 | Apple Inc. | Proactive assistance based on dialog communication between devices |
US10446143B2 (en) | 2016-03-14 | 2019-10-15 | Apple Inc. | Identification of voice inputs providing credentials |
US9934775B2 (en) | 2016-05-26 | 2018-04-03 | Apple Inc. | Unit-selection text-to-speech synthesis based on predicted concatenation parameters |
US9972304B2 (en) | 2016-06-03 | 2018-05-15 | Apple Inc. | Privacy preserving distributed evaluation framework for embedded personalized systems |
US10249300B2 (en) | 2016-06-06 | 2019-04-02 | Apple Inc. | Intelligent list reading |
US10049663B2 (en) | 2016-06-08 | 2018-08-14 | Apple, Inc. | Intelligent automated assistant for media exploration |
DK179309B1 (en) | 2016-06-09 | 2018-04-23 | Apple Inc | Intelligent automated assistant in a home environment |
US10490187B2 (en) | 2016-06-10 | 2019-11-26 | Apple Inc. | Digital assistant providing automated status report |
US10067938B2 (en) | 2016-06-10 | 2018-09-04 | Apple Inc. | Multilingual word prediction |
US10192552B2 (en) | 2016-06-10 | 2019-01-29 | Apple Inc. | Digital assistant providing whispered speech |
US10586535B2 (en) | 2016-06-10 | 2020-03-10 | Apple Inc. | Intelligent digital assistant in a multi-tasking environment |
US10509862B2 (en) | 2016-06-10 | 2019-12-17 | Apple Inc. | Dynamic phrase expansion of language input |
DK179415B1 (en) | 2016-06-11 | 2018-06-14 | Apple Inc | Intelligent device arbitration and control |
DK179343B1 (en) | 2016-06-11 | 2018-05-14 | Apple Inc | Intelligent task discovery |
DK179049B1 (en) | 2016-06-11 | 2017-09-18 | Apple Inc | Data driven natural language event detection and classification |
DK201670540A1 (en) | 2016-06-11 | 2018-01-08 | Apple Inc | Application integration with a digital assistant |
US10331784B2 (en) | 2016-07-29 | 2019-06-25 | Voicebox Technologies Corporation | System and method of disambiguating natural language processing requests |
US10593346B2 (en) | 2016-12-22 | 2020-03-17 | Apple Inc. | Rank-reduced token representation for automatic speech recognition |
DK179745B1 (en) | 2017-05-12 | 2019-05-01 | Apple Inc. | SYNCHRONIZATION AND TASK DELEGATION OF A DIGITAL ASSISTANT |
DK201770431A1 (en) | 2017-05-15 | 2018-12-20 | Apple Inc. | Optimizing dialogue policy decisions for digital assistants using implicit feedback |
US10929606B2 (en) * | 2017-12-29 | 2021-02-23 | Samsung Electronics Co., Ltd. | Method for follow-up expression for intelligent assistance |
US10592604B2 (en) * | 2018-03-12 | 2020-03-17 | Apple Inc. | Inverse text normalization for automatic speech recognition |
US10831442B2 (en) * | 2018-10-19 | 2020-11-10 | International Business Machines Corporation | Digital assistant user interface amalgamation |
US11539900B2 (en) | 2020-02-21 | 2022-12-27 | Ultratec, Inc. | Caption modification and augmentation systems and methods for use by hearing assisted user |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS562039A (en) * | 1979-06-20 | 1981-01-10 | Fujitsu Ltd | Audio input system |
US4277644A (en) * | 1979-07-16 | 1981-07-07 | Bell Telephone Laboratories, Incorporated | Syntactic continuous speech recognizer |
JPS5782899A (en) * | 1980-11-12 | 1982-05-24 | Canon Kk | Voice recognition apparatus |
JPS58129682A (ja) * | 1982-01-29 | 1983-08-02 | Toshiba Corp | 個人照合装置 |
US4783803A (en) * | 1985-11-12 | 1988-11-08 | Dragon Systems, Inc. | Speech recognition apparatus and method |
JPS62231993A (ja) * | 1986-03-25 | 1987-10-12 | インタ−ナシヨナル ビジネス マシ−ンズ コ−ポレ−シヨン | 音声認識方法 |
US4882757A (en) * | 1986-04-25 | 1989-11-21 | Texas Instruments Incorporated | Speech recognition system |
US4866778A (en) * | 1986-08-11 | 1989-09-12 | Dragon Systems, Inc. | Interactive speech recognition apparatus |
US4829576A (en) * | 1986-10-21 | 1989-05-09 | Dragon Systems, Inc. | Voice recognition system |
US4817156A (en) * | 1987-08-10 | 1989-03-28 | International Business Machines Corporation | Rapidly training a speech recognizer to a subsequent speaker given training data of a reference speaker |
-
1988
- 1988-12-06 US US07/280,700 patent/US5027406A/en not_active Expired - Lifetime
-
1989
- 1989-11-30 ES ES89312521T patent/ES2018761A4/es active Pending
- 1989-11-30 DE DE198989312521T patent/DE376501T1/de active Pending
- 1989-11-30 DE DE68928097T patent/DE68928097T2/de not_active Expired - Lifetime
- 1989-11-30 AT AT89312521T patent/ATE154156T1/de not_active IP Right Cessation
- 1989-11-30 EP EP89312521A patent/EP0376501B1/de not_active Expired - Lifetime
-
1991
- 1991-09-27 GR GR90300171T patent/GR900300171T1/el unknown
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE10040214B4 (de) * | 1999-09-27 | 2006-03-30 | International Business Machines Corp. | Verfahren und System zur automatischen Erkennung einer Aktualisierung eines Sprachmodells in einem Spracherkennungssystem |
Also Published As
Publication number | Publication date |
---|---|
EP0376501A2 (de) | 1990-07-04 |
GR900300171T1 (en) | 1991-09-27 |
EP0376501A3 (de) | 1990-10-03 |
ES2018761A4 (es) | 1991-05-16 |
DE68928097D1 (de) | 1997-07-10 |
US5027406A (en) | 1991-06-25 |
ATE154156T1 (de) | 1997-06-15 |
EP0376501B1 (de) | 1997-06-04 |
DE376501T1 (de) | 1991-01-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE68928097T2 (de) | Spracherkennungssystem | |
DE69721939T2 (de) | Verfahren und System zur Auswahl alternativer Wörter während der Spracherkennung | |
DE69829235T2 (de) | Registrierung für die Spracherkennung | |
DE69923379T2 (de) | Nicht-interaktive Registrierung zur Spracherkennung | |
DE69834553T2 (de) | Erweiterbares spracherkennungssystem mit einer audio-rückkopplung | |
DE69634239T2 (de) | Erkennung kontinuierlich gesprochener Texte und Befehle | |
DE69827988T2 (de) | Sprachmodelle für die Spracherkennung | |
DE69632517T2 (de) | Erkennung kontinuierlicher Sprache | |
DE69914131T2 (de) | Positionshandhabung bei der Spracherkennung | |
DE69923191T2 (de) | Interaktive anwenderschnittstelle mit spracherkennung und natursprachenverarbeitungssystem | |
DE69822296T2 (de) | Mustererkennungsregistrierung in einem verteilten system | |
DE69818231T2 (de) | Verfahren zum diskriminativen training von spracherkennungsmodellen | |
DE69330427T2 (de) | Spracherkennungssystem für sprachen mit zusammengesetzten wörtern | |
DE60318544T2 (de) | Sprachmodell für die Spracherkennung | |
DE69725091T2 (de) | Verfahren und System zum Editieren von Sätzen während der kontinuierlichen Spracherkennung | |
US6064959A (en) | Error correction in speech recognition | |
DE60005422T2 (de) | Automatische Suche nach Tonkanälen mittels Vergleich von vom Benutzer gesprochenen Wörtern im Untertiteltext oder Audioinhalt für interaktives Fernsehen | |
DE69524036T2 (de) | Vorrichtung zur erkennung von gesprächsthemen | |
US5822730A (en) | Lexical tree pre-filtering in speech recognition | |
DE69622565T2 (de) | Verfahren und vorrichtung zur dynamischen anpassung eines spracherkennungssystems mit grossem wortschatz und zur verwendung von einschränkungen aus einer datenbank in einem spracherkennungssystem mit grossem wortschatz | |
DE69832393T2 (de) | Spracherkennungssystem für die erkennung von kontinuierlicher und isolierter sprache | |
DE60201262T2 (de) | Hierarchische sprachmodelle | |
DE69514382T2 (de) | Spracherkennung | |
DE602004012909T2 (de) | Verfahren und Vorrichtung zur Modellierung eines Spracherkennungssystems und zur Schätzung einer Wort-Fehlerrate basierend auf einem Text | |
DE60207742T2 (de) | Korrektur eines von einer spracherkennung erkannten textes mittels vergleich der phonemfolgen des erkannten textes mit einer phonetischen transkription eines manuell eingegebenen korrekturwortes |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition |