DE69829235T2 - Registrierung für die Spracherkennung - Google Patents

Registrierung für die Spracherkennung Download PDF

Info

Publication number
DE69829235T2
DE69829235T2 DE69829235T DE69829235T DE69829235T2 DE 69829235 T2 DE69829235 T2 DE 69829235T2 DE 69829235 T DE69829235 T DE 69829235T DE 69829235 T DE69829235 T DE 69829235T DE 69829235 T2 DE69829235 T2 DE 69829235T2
Authority
DE
Germany
Prior art keywords
registration
user
text
grammar
utterance
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
Application number
DE69829235T
Other languages
English (en)
Other versions
DE69829235D1 (de
Inventor
Toffee A. Cambridge Albina
David E. Cambridge Wald
Noah M. Newton Graham
Joel Winchester Gould
Francesco Medfield Scattone
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
L&H Holdings USA Inc
Original Assignee
L&H Holdings USA Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by L&H Holdings USA Inc filed Critical L&H Holdings USA Inc
Application granted granted Critical
Publication of DE69829235D1 publication Critical patent/DE69829235D1/de
Publication of DE69829235T2 publication Critical patent/DE69829235T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/06Creation of reference templates; Training of speech recognition systems, e.g. adaptation to the characteristics of the speaker's voice
    • G10L15/063Training
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/06Creation of reference templates; Training of speech recognition systems, e.g. adaptation to the characteristics of the speaker's voice
    • G10L15/063Training
    • G10L2015/0638Interactive procedures

Description

  • Die Erfindung bezieht sich auf eine Registrierung in der Spracherkennung. Ein Spracherkennungssystem analysiert die Sprache eines Benutzers, um zu bestimmen, was der Benutzer gesagt hat. Die meisten Spracherkennungssysteme beruhen auf Frames. In einem auf Frames beruhenden System teilt ein Prozessor ein Signal, das die zu erkennende Sprache beschreibt, in eine Reihe digitaler Frames, von denen jeder einem kleinen Zeitinkrement der Sprache entspricht.
  • Ein Spracherkennungssystem kann ein "diskretes" System sein, das einzelne Wörter oder Sätze erkennt, vom Benutzer jedoch verlangt, dass er zwischen jedem einzelnen Wort oder Satz eine kurze Pause macht. Alternativ kann ein Spracherkennungssystem ein "kontinuierliches" System sein, das gesprochene Wörter oder Sätze unabhängig davon erkennen kann, ob der Benutzer zwischen ihnen eine Pause macht. Kontinuierliche Spracherkennungssysteme weisen im Vergleich zu diskreten Spracherkennungssystemen in der Regel eine höhere Quote an Erkennungsfehlern auf, was auf die Kompliziertheit der Erkennung kontinuierlicher Sprache rückführbar ist. Eine ausführlichere Beschreibung kontinuierlicher Spracherkennung stellt das US-Patent Nr. 5,202,952 mit dem Titel "LARGE-VOCABULARY CONTINUOUS SPEECH PREFILTERING AND PROCESSING SYSTEM" zur Verfügung.
  • Im Allgemeinen analysiert der Prozessor eines kontinuierlichen Spracherkennungssystems gesprochene "Äußerungen". Eine Äußerung beinhaltet eine variable Anzahl von Frames und entspricht beispielsweise einem Zeitraum des Sprechens, dem eine Pause von mindestens einer vordefinierten Dauer folgt.
  • Der Prozessor bestimmt, was der Benutzer gesagt hat, indem er akustische Modelle sucht, die am besten zu den digitalen Frames einer Äußerung passen, und Text identifiziert, der mit diesen akustischen Modellen korrespondiert. Ein akustisches Modell kann mit einem Wort, einem Satz oder einem Befehl aus einem Vokabular korrespondieren. Ein akustisches Modell kann auch einen Laut oder ein Phonem repräsentieren, das mit einem Teil eines Wortes korrespondiert. In ihrer Gesamtheit stellen die Phoneme, aus denen ein Wort besteht, die phonetische Schreibweise des Wortes dar. Akustische Modelle können auch Sprechpausen und unterschiedliche Arten von Umgebungsgeräuschen darstellen.
  • Die Wörter oder Sätze, die mit den am besten passenden akustischen Modellen korrespondieren, werden als Erkennungskandidaten bezeichnet. Der Prozessor kann für eine Äußerung einen einzigen Erkennungskandidaten oder eine Liste von Erkennungskandidaten produzieren. Spracherkennungstechniken werden im US-Patent Nr. 4,805, 218 mit dem Titel "METHOD FOR SPEECH ANALYSIS AND SPEECH RECOGNITION" behandelt.
  • Im Allgemeinen enthält ein akustisches Modell Daten, die beschreiben, wie eine korrespondierende Spracheinheit (z. B. ein Phonem) von einer Vielzahl von Sprechern gesprochen wird. Um die Genauigkeit zu verbessern, mit der ein akustisches Modell Sprache eines bestimmten Benutzers darstellt, und dadurch das Auftreten von Erkennungsfehlern zu reduzieren, kann das Spracherkennungssystem die akustischen Modelle so ändern, dass sie mit Sprache des bestimmten Benutzers korrespondieren. Diese Änderung kann auf Mustern der Benutzersprache basieren, die man bei einer anfänglichen Registrierungssitzung und während der Benutzung des Systems erhalten hat.
  • Registrierungssitzungen für frühere Spracherkennungssysteme erforderten in der Regel, dass ein Benutzer Wörter von einer Liste oder bestimmte Wörter auf Aufforderung hin vorlas. DragonDictate® für Windows® des Herstellers Dragon Systems, Inc. in Newton, Massachusetts, enthielt beispielsweise eine Schnellregistrierungssitzung, die einen neuen Benutzer aufforderte, jedes Wort einer kleinen Gruppe von Wörtern zu sprechen, und dann die akustischen Modelle anhand der Sprache des Benutzers anpasste.
  • Das IBM Technical Disclosure Bulletin, Vol. 37, Nr. 10, Oktober 1994, "Speech Recognition System Enrollment Program with Training Features" offenbart ein System, um einen Benutzer darin zu schulen, in der für ein diskretes Spracherkennungssystem erforderlichen Weise zu sprechen, nämlich mit Pausen vor und nach jedem Wort. Das System zeigt dem Benutzer einen Registrierungstext zum Vorlesen an und bestimmt, dass der Benutzer den Text nicht korrekt vorgelesen hat, wenn die Anzahl der einzelnen Wörter, die der Benutzer gesprochen hat, nicht mit der Anzahl der Wörter im Text übereinstimmt, oder wenn die Zeit, die der Benutzer zum Aussprechen eines Wortes benötigte, die erwartete Zeit überschreitet.
  • Die vorliegende Erfindung wird durch die beifolgenden unabhängigen Ansprüche definiert.
  • Die Erfindung zeichnet sich im Allgemeinen in einem Aspekt durch das Registrieren eines Benutzers für ein Spracherkennungssystem aus, indem akustischer Inhalt einer Benutzeräußerung analysiert wird und basierend auf dieser Analyse bestimmt wird, ob die Benutzeräußerung zu einem Teil eines Registrierungstextes passt. Der akustische Inhalt der Benutzeräußerung wird verwendet, um akustische, mit dem Teil des Registrierungstextes korrespondierende Modelle zu aktualisieren, wenn die Benutzeräußerung zu einem Teil eines Registrierungstextes passt.
  • Bestimmte Ausführungen der Erfindung können eines oder mehrere der folgenden Merkmale beinhalten. Eine mit dem Registrierungstext korrespondierende Registrierungsgrammatik kann verwendet werden, um zu bestimmen, ob die Benutzeräußerung zu einem Teil des Registrierungstextes passt. Eine Rückweisungsgrammatik kann verwendet werden, um zu bestimmen, ob die Benutzeräußerung zu einem Teil des Registrierungstextes passt. Die Rückweisungsgrammatik kann eine Phonemgrammatik sein und kann eine Äußerung unter Verwendung einer Gruppe von Phonemen modellieren, die kleiner ist als eine Gruppe von Phonemen, die von der Registrierungsgrammatik verwendet wird.
  • Innerhalb des Registrierungstextes kann eine Registrierungsposition bestimmt werden, und es kann erforderlich sein, dass eine Benutzeräußerung zu einem Teil des Registrierungstextes passt, der an der Registrierungsposition beginnt. Der Registrierungstext und die Registrierungsposition können angezeigt werden. Wenn die Benutzeräußerung zu einem Teil des Registrierungstextes passt, wird die Registrierungsposition hinter den zusammenpassenden Teil im Registrierungstext weitergerückt.
  • Der Registrierungstext kann von einer Vielzahl von Registrierungstexten ausgewählt werden. Jeder der Registrierungstexte hat eine korrespondierende Registrierungsgrammatik. Die mit dem ausgewählten Registrierungstext korrespondierende Registrierungsgrammatik wird verwendet, um zu bestimmen, ob die Benutzeräußerung zu einem Teil des Registrierungstextes passt.
  • Ein Registrierungstext kann von einem Benutzer empfangen werden. Es kann eine mit dem empfangenen Registrierungstext korrespondierende Registrierungsgrammatik erzeugt werden, die verwendet wird, um zu bestimmen, ob die Benutzeräußerung zu einem Teil des Registrierungstextes passt.
  • Die Benutzeräußerung kann ignoriert werden, wenn sie nicht zu einem Teil des Registrierungstextes passt.
  • In einem anderen Aspekt zeichnet sich die Erfindung ferner im Allgemeinen durch das Registrieren eines Benutzers für ein Spracherkennungssystem durch Anzeigen eines Registrierungstextes und einer Registrierungsposition innerhalb des Registrierungstextes aus. Wenn eine Benutzeräußerung empfangen wird, erfolgt ein Bestimmen, ob zwischen der Benutzeräußerung und einem Teil des Registrierungstextes, der an der Registrierungsposition beginnt, Übereinstimmung besteht. Wenn Übereinstimmung besteht, wird die Registrierungsposition aktualisiert und die aktualisierte Registrierungsposition wird angezeigt.
  • Bestimmte Ausführungen der Erfindung können eines oder mehrere der folgenden Merkmale beinhalten. Die Registrierungsposition kann unter Verwendung einer Markierung an der Registrierungsposition angezeigt werden. Die Registrierungsposition kann durch Hervorheben des Registrierungstextes an der Registrierungsposition angezeigt werden, und sie kann unter Verwendung eines Positionsanzeigers an der Registrierungsposition angezeigt werden.
  • In einem weiteren Aspekt zeichnet sich die Erfindung im Allgemeinen durch Computersoftware aus, die sich auf einem computerlesbaren Speichermedium befindet und Anweisungen umfasst, wie man einen Computer veranlasst, die vorstehend beschriebenen Techniken auszuführen.
  • In einem weiteren Aspekt zeichnet sich die Erfindung im Allgemeinen durch ein Spracherkennungssystem zum Registrieren eines Benutzers aus. Das System beinhaltet eine Anzeige, um dem Benutzer einen Registrierungstext anzuzeigen, eine Eingabeeinrichtung zum Empfangen von Sprachsignalen und einen Prozessor. Der Prozessor bestimmt aus einem empfangenen Sprachsignal eine Benutzeräußerung, analysiert akustischen Inhalt der Benutzeräußerung und bestimmt, basierend auf der akustischen Analyse, ob die Benutzeräußerung zu einem Teil eines Registrierungstextes passt. Danach verwendet der Prozessor die Benutzeräußerung, um akustische, mit dem Teil des Registrierungstextes korrespondierende Modelle zu aktualisieren, wenn die Benutzeräußerung zu einem Teil des Registrierungstextes passt.
  • Einer der Vorteile von praktischen Beispielen für Systeme, die gemäß der Erfindung ausgeführt sind, besteht darin, dass durch Bestimmen und Ignorieren von Benutzeräußerungen, die nicht zu einem Teil des Registrierungstextes passen, die akustischen Modelle des Registrierungsprogramms nicht falsch aktualisiert werden basierend auf der Benutzeräußerung.
  • Weitere Merkmale und Vorteile sind aus der folgenden Beschreibung ersichtlich.
  • In den Zeichnungen zeigen:
  • 1 ein Blockdiagramm eines Spracherkennungssystems;
  • 2 ein Blockdiagramm der Spracherkennungssoftware des Systems von 1;
  • 3 ein Ablaufdiagramm eines Signalverarbeitungsverfahrens, das durch die Software von 2 ausgeführt wird;
  • 4A und 4B Zustandsdiagramme einer Beschränkungsgrammatik;
  • 5 einen Graphen eines lexikalischen Baumes;
  • 6 einen Graphen eines Teils des lexikalischen Baumes von 5;
  • 7 ein Ablaufdiagramm eines Vorfilterverfahrens, das durch die Software von 2 ausgeführt wird;
  • 8A, 8B und 8C Zustandsgraphen, die Knoten des lexikalischen Baumes von 5 repräsentieren;
  • 9 und 10 Diagramme mit Wertungen, die mit den Zuständen der Zustandsgraphen der 8A, 8B und 8C korrespondieren;
  • 11 ein Ablaufdiagramm eines Verfahrens für das Verarbeiten von Knoten eines lexikalischen Baumes;
  • 12 ein Ablaufdiagramm eines Spracherkennungsverfahrens;
  • 13 und 14 eine Benutzeroberfläche für ein Registrierungsprogramm;
  • 15 und 16 Ablaufdiagramme für Registrierungsverfahren;
  • 17 ein Ablaufdiagramm eines Modellanpassungsverfahrens.
  • 1 ist ein Blockdiagramm eines Spracherkennungssystems 100. Das System beinhaltet Eingabe-/Ausgabeeinrichtungen (E/A) (z. B. Mikrophon 105, Maus 110, Tastatur 115 und Anzeige 120) und einen Mehrzweckcomputer 125 mit einem Prozessor 130, einer E/A-Einheit 135 und einer Soundkarte 140. Ein Speicher 145 speichert Daten und Programme wie zum Beispiel ein Betriebssystem 150, ein Anwendungsprogramm 155 (z. B. ein Textverarbeitungsprogramm) und Spracherkennungssoftware 160.
  • Das Mikrophon 105 empfängt Sprache des Benutzers und überträgt die Sprache in Form eines analogen Signals an die Soundkarte 140, die wiederum das Signal durch einen Analog-Digital-Wandler (A/D) leitet, um das analoge Signal in eine Gruppe digitaler Muster umzuwandeln. Gesteuert vom Betriebssystem 150 und der Spracherkennungssoftware 160 identifiziert der Prozessor 130 Äußerungen in der kontinuierlichen Sprache des Benutzers. Äußerungen werden durch eine Pause von hinreichend großer, vordefinierter Länge (z. B. 160-250 Millisekunden) voneinander getrennt. Jede Äußerung kann ein oder mehrere Wörter der Sprache des Benutzers enthalten.
  • 2 veranschaulicht Komponenten der Spracherkennungssoftware 160. Um die Erklärungen nicht zu verkomplizieren, ist in der folgenden Beschreibung angegeben, dass die Komponenten Operationen ausführen, mit denen sie bestimmte Ergebnisse erzielen. Es sei jedoch klargestellt, dass jede Komponente eigentlich den Prozessor 130 dazu veranlasst, die jeweiligen Operationen auszuführen.
  • Zunächst konvertiert ein Frontend-Verarbeitungsmodul 200 die digitalen Muster 205 von der Soundkarte 140 in Parameter-Frames 210, die den Häufigkeitsgehalt einer Äußerung repräsentieren. Jeder Frame enthält 24 Parameter und repräsentiert einen kleinen Teil (z. B. 10 Millisekunden) der Äußerung.
  • Wie in 3 gezeigt, produziert das Frontend-Verarbeitungsmodul 200 entsprechend einem Verfahren 300 anhand digitaler Muster einen Frame. Das Modul produziert zunächst eine Darstellung der Häufigkeitsdomäne X(f) des Teils der Äußerung, indem es eine schnelle Fourier-Transformation (FFT) auf die digitalen Muster anwendet (Schritt 305). Als nächstes bestimmt das Modul log(X(f))2 (Schritt 310). Danach kann das Modul ein Häufigkeits-Warping (Schritt 315) und eine Filterbankanalyse (Schritt 320) ausführen, um Sprechernormierung zu erreichen. Siehe S. Wegmann et al., "Speaker Normalization on Conversational Speech", Proc. 1996 ICASSP, S. I.339-I.341. Im Allgemeinen wird Sprechernormierung nur eingesetzt, nachdem akustische Modelle unter Verwendung eines wie nachfolgendend beschriebenen Registrierungsprogramms an einen bestimmten Sprecher angepasst worden sind.
  • Anhand der normierten Ergebnisse führt das Modul cepstrale Analysen aus, um zwölf cepstrale Parameter zu produzieren (Schritt 325). Das Modul erzeugt die cepstralen Parameter, indem es auf die Logarithmen der Häufigkeitsparameter eine inverse Cosinus- Transformation anwendet. Es hat sich gezeigt, dass cepstrale Parameter und cepstrale Differenzen Informationen, die für die Spracherkennung von Bedeutung sind, effektiver hervorheben als die Häufigkeitsparameter. Nach dem Ausführen der Kanalnormierung der cepstralen Parameter (Schritt 330) produziert das Modul zwölf cepstrale Differenzen (d.h. die Differenzen zwischen cepstralen Parametern in aufeinanderfolgenden Frames) (Schritt 335) und zwölf cepstrale Zweit-Differenzen (d.h. die Differenzen zwischen cepstralen Differenzen in aufeinanderfolgenden Frames) (Schritt 340). Schließlich führt das Modul eine lineare Kombinationstransformation IMELDA aus, um aus den zwölf cepstralen Parametern, den zwölf cepstralen Differenzen und den zwölf cepstralen Zweit-Differenzen die vierundzwanzig geeignetsten Parameter auszuwählen (Schritt 345).
  • Unter erneutem Verweis auf 2 empfängt und verarbeitet eine Erkennungseinrichtung 215 die Frames einer Äußerung, um Text zu identifizieren, der mit der Äußerung korrespondiert. Die Erkennungseinrichtung erwägt mehrere Hypothesen über den Text und weist jeder Hypothese eine Wertung zu. Die Wertung spiegelt die Wahrscheinlichkeit wieder, dass eine Hypothese mit Sprache des Benutzers korrespondiert. Um die Verarbeitung zu vereinfachen, werden die Wertungen als negative logarithmische Werte verwaltet. Dementsprechend gibt eine niedrigere Wertung eine bessere Übereinstimmung (eine große Wahrscheinlichkeit) an, während eine höhere Wertung eine unwahrscheinlichere Übereinstimmung (eine geringere Wahrscheinlichkeit) angibt, wobei die Wahrscheinlichkeit der Übereinstimmung in dem Maße sinkt, wie sich die Wertung erhöht. Nach dem Verarbeiten der Äußerung übermittelt die Erkennungseinrichtung die Hypothesen mit der besten Wertung in Form einer Liste von Erkennungskandidaten, in der jeder Erkennungskandidat mit einer Hypothese korrespondiert und über eine zugeordnete Wertung verfügt, an das Steuer-/Schnittstellenmodul 220. Manche Erkennungskandidaten können mit Text korrespondieren, während andere Erkennungskandidaten mit Befehlen korrespondieren. Befehle können Wörter, Wortverbindungen oder Sätze beinhalten, die von einer Beschränkungsgrammatik 225 erkannt wurden, was nachfolgend detailliert erklärt wird.
  • Die Erkennungseinrichtung 215 verarbeitet die Frames 210 einer Äußerung in Hinblick auf eine oder mehrere Beschränkungsgrammatiken 225. Eine Beschränkungsgrammatik, auch als Vorlage oder Einschränkungsregel bezeichnet, kann beispielsweise eine Beschränkung der Wörter, die möglicherweise mit einer Äußerung korrespondieren, eine Einschränkung der Reihenfolge oder der grammatikalischen Form der Wörter oder beides sein. Eine Beschränkungsgrammatik für Steuerbefehle des Menüs kann beispielsweise nur Einträge aus dem Menü beinhalten (z. B. "Datei", "bearbeiten") oder Befehlswörter, um durch das Menü zu navigieren (z. B. "auf", "ab", "oben", "unten"). Unterschiedliche Beschränkungsgrammatiken können zu unterschiedlichen Zeiten aktiv sein. Eine Beschränkungsgrammatik kann beispielsweise einem bestimmten Anwendungsprogramm 155 zugeordnet sein und aktiviert werden, wenn der Benutzer das Anwendungsprogramm öffnet, sowie deaktiviert werden, wenn der Benutzer das Anwendungsprogramm schließt. Die Erkennungseinrichtung 215 verwirft alle Hypothesen, die nicht mit einer aktiven Beschränkungsgrammatik übereinstimmen. Des Weiteren kann die Erkennungseinrichtung 215 die Wertung einer Hypothese, die einer bestimmten Beschränkungsgrammatik zugeordnet ist, basierend auf den Eigenschaften der Beschränkungsgrammatik anpassen.
  • Eine Beschränkungsgrammatik 225, die von der Spracherkennungssoftware 160 verwendet werden kann, ist eine Diktiergrammatik mit einem großen Vokabular. Die Diktiergrammatik mit großem Vokabular identifiziert Wörter, die in dem aktiven Vokabular 230 enthalten sind, das heißt dem Vokabular aus Wörtern, die der Software bekannt sind. Die Diktiergrammatik mit großem Vokabular gibt ferner die Häufigkeit an, mit der ein Wort auftritt. Ein Sprachmodell, das der Diktiergrammatik mit großem Vokabular zugeordnet ist, kann ein Unigramm-Modell sein, das die Häufigkeit angibt, mit der ein Wort kontextunabhängig auftritt, oder ein Bigramm-Modell, das die Häufigkeit angibt, mit der ein Wort im Kontext eines vorausgehenden Wortes auftritt. Ein Bigramm-Modell kann beispielsweise angeben, dass den Wörtern "der", "die" und "das" mit größerer Wahrscheinlichkeit ein Substantiv oder Adjektiv folgt als ein Verb oder eine Präposition.
  • Das aktive Vokabular 230 verwendet ein Aussprachemodell, in dem jedes Wort durch eine Reihe von Phonemen repräsentiert wird, die die phonetische Schreibweise des Wortes umfassen. Jedes Phonem kann als ein Triphon dargestellt werden, ein kontextabhängiges Phonem, das drei Knoten enthält. Das Triphon "abc" repräsentiert beispielsweise im Kontext der Phoneme "a" und "c" das Phonem "b", wobei dem Phonem "b" das Phonem "a" vorgestellt und das Phonem "c" nachgestellt ist.
  • Die Phoneme werden durch akustische Modelle 235 dargestellt. Im Falle von Triphonen repräsentieren die akustischen Modelle 235 jeden Triphonknoten als eine Mischung von Gauß-Wahrscheinlichkeitsdichtefunktionen ("PDFs"). Der Knoten "i" eines Triphons "abc" kann beispielsweise als abc dargestellt werden:
    Figure 00070001
    wobei jeder wk ein Gewichtsfaktor ist,
    Figure 00070002
    k ein Durchschnittsvektor für die Wahrscheinlichkeitsdichtefunktion ("PDF") Nk ist, und ck die Kovarianzmatrix für die PDF Nk ist. Wie die Frames in der Framesequenz enthalten die Vektoren k jeweils 24 Parameter. Die Matrizen ck sind 24 × 24 Matrizen. Jeder Triphonknoten kann als eine Mischung von bis zu sechzehn unterschiedlichen PDFs dargestellt werden.
  • Für die Darstellung von mehreren Triphonknoten kann eine spezielle PDF verwendet werden. Entsprechend stellen die akustischen Modelle jeden Triphonknoten als eine Sammlung von Gewichtsfaktoren wk dar, die bis zu sechzehn unterschiedlichen PDFs Nk zugeordnet sind und jede PDF Nk unter Verwendung eines Durchschnittsvektors k und einer Kovarianzmatrix ck getrennt darstellen.
  • Eine Diktiergrammatik mit großem Vokabular kann mehrere Diktierthemen enthalten (z. B. "Medizin" oder "Recht"), wobei jedes eine eigene Vokabulardatei hat, die es jedem Diktierthema erlaubt, sein eigenes Sprachmodell zu haben. Ein Diktierthema besteht aus einer Gruppe von Wörtern, die das aktive Vokabular 230 repräsentieren. In einem typischen Beispiel kann ein Thema ungefähr 30.000 Wörter enthalten, die bei der normalen Spracherkennung berücksichtigt werden.
  • Ein vollständiges Diktiervokabular besteht aus dem aktiven Vokabular 230 zuzüglich eines Backup-Wörterbuches 245. Das Backup-Wörterbuch kann Dateien beinhalten, die benutzerspezifische Wörter des Backup-Vokabulars und Wörter des systemweiten Backup-Vokabulars enthalten.
  • Wörter des benutzerspezifischen Backup-Vokabulars beinhalten Wörter, die ein Benutzer während der Benutzung der Spracherkennungssoftware geschaffen hat. Diese Wörter werden in Vokabulardateien für den Benutzer und für das Diktat gespeichert und sind einerseits benutzerunabhängig als Teil des Backup-Wörterbuches für das Diktierthema verfügbar und stehen andererseits dem Benutzer zur Verfügung, unabhängig davon, welches Diktierthema verwendet wird. Wenn ein Benutzer zum Beispiel ein medizinisches Thema verwendet und dem Diktiervokabular das Word "Ganglion" hinzufügt, hat jeder andere Benutzer des medizinischen Themas sofort Zugang zu dem Wort "Ganglion". Außerdem wird das Wort in das benutzerspezifische Backup-Vokabular eingetragen. Wenn dann der Benutzer "Ganglion" sagt, während er ein juristisches Thema verwendet, wird das Wort "Ganglion" während der Korrektur vom Backup-Wörterbuch verfügbar.
  • Zusätzlich zu dem vorstehend genannten benutzerspezifischen Backup-Vokabular gibt es ein systemweites Backup-Vokabular. Das systemweite Backup-Vokabular enthält alle Wörter, die dem System bekannt sind, einschließlich der Wörter, die sich momentan in einem aktiven Vokabular befinden.
  • Während der Fehlerkorrektur beginnen Wortsuchen der Backup-Vokabularien mit dem benutzerspezifischen Backup-Vokabular und durchsuchen dann das systemweite Backup-Vokabular. Die Backup-Vokabularien werden auch dann durchsucht, wenn Text, den ein Benutzer eingegeben hat, neue Wörter enthält.
  • 4a veranschaulicht ein weiteres Beispiel einer Beschränkungsgrammatik für einen Auswahlbefehl, der für das Auswählen eines zuvor erkannten Textes verwendet wird. Wie zu sehen ist, kann eine Beschränkungsgrammatik als ein Zustandsdiagramm 400 dargestellt werden. Der Auswahlbefehl beinhaltet das Wort "Auswahl" gefolgt von einem oder mehreren zuvor erkannten Wörtern, wobei die Wörter in der Reihenfolge stehen, in der sie erkannt wurden. Der erste Zustand 405 der Beschränkungsgrammatik gibt an, dass das erste Wort des Auswahlbefehls "Auswahl" sein muss. Nach dem Wort "Auswahl" erlaubt die Beschränkungsgrammatik einen Übergang entlang eines Pfades 410 in einen zweiten Zustand 415, der erfordert, dass das nächste Wort in dem Befehl ein zuvor erkanntes Wort ist. Ein Pfad 420, der in den zweiten Zustand 415 zurückführt, gibt an, dass der Befehl zusätzliche zuvor erkannte Wörter beinhalten kann. Ein Pfad 425, der aus dem zweiten Zustand 415 hinausführt und den Befehl vervollständigt, gibt an, dass der Befehl nur zuvor erkannte Wörter beinhalten darf. 4B veranschaulicht das Zustandsdiagramm 450 der Beschränkungsgrammatik für den Auswahlbefehl, wenn eine zuvor erkannte Äußerung "four score and seven" ist, Dieses Zustandsdiagramm könnte insofern erweitert werden, dass es Wörter von weiteren Äußerungen beinhaltet.
  • Die Beschränkungsgrammatik kann auch in Backus-Naur-Form (BNF) oder erweiterter BNF (EBNF) ausgedrückt werden. In der EBNF ist die Grammatik für den Befehl "Auswahl":
    <Erkennungsergebnis> ::= Auswahl <Wort>,
    wobei
    <Wort> ::= [PRW1[PRW2[PRW3.. PRWn]]] |
    [PRW2[PRW3.. PRWnn]] | .. PRWn,
    "PRWi" das zuvor erkannte Wort i ist,
    [ ] optional bedeutet,
    < > eine Regel bedeutet,
    | eine ODER-Funktion bedeutet und
    := "ist definiert als" oder "ist" bedeutet.
  • Wie in den 4A und 4B veranschaulicht gibt diese Notation an, dass "Auswahl" von einer Sequenz von zuvor erkannten Wörtern beliebiger Reihenfolge gefolgt sein kann. Beschränkungsgrammatiken werden detailliert in unserer Europäischen Patentanmeldung Nr. 96308181.5 behandelt (Veröffentlichungsnummer EP-A-0785540).
  • Andere Beschränkungsgrammatiken 225 beinhalten eine Inline-Diktiermakros-Grammatik für Diktierbefehle, wie zum Beispiel "Initialengroß", um ein Wort mit einem Großbuchstaben beginnen zu lassen. und "Neuer Absatz", um einen neuen Absatz zu beginnen; eine Auswahl X Y Z- Grammatik, die für das AusAuswahln von Text verwendet wird, eine Grammatik mit Befehlen zur Fehlerkorrektur; eine Grammatik zum Bearbeiten von Diktaten, eine Grammatik zur Anwendungssteuerung und -kontrolle, die für die Steuerung eines bestimmten Anwendungsprogramms 155 verwendet werden kann; eine globale Grammatik zur Steuerung und Kontrolle, die für die Steuerung des Betriebssystems 150 und der Spracherkennungssoftware 160 verwendet werden kann; eine Menü- und Dialogrückverfolgungsgrammatik, die für die Menüsteuerung verwendet werden kann; und eine Grammatik zur Steuerung der Tastatur, die es erlaubt, anstelle von Eingabeeinrichtungen wie zum Beispiel die Tastatur 115 oder die Maus 110 Sprache zu verwenden.
  • Im Folgenden wird erneut auf 2 verwiesen, um zu zeigen, dass die Erkennungseinrichtung 215 parallel mit einem Vorfilterverfahren 240 arbeiten kann. Bei der Initiierung des Verarbeitungsprozesses einer Äußerung fordert die Erkennungseinrichtung 215 vom Vorfilterverfahren 240 eine Liste mit Wörtern an, die als erstes Wort der Äußerung gesprochen worden sein könnten (d. h. Wörter, die mit dem ersten und den folgenden Frames der Äußerung korrespondieren könnten). Das Vorfilterverfahren 240 führt einen groben Vergleich der Framesequenz mit dem aktiven Vokabular 230 durch, um eine Untergruppe des Vokabulars zu identifizieren, für die ein umfassenderer Vergleich unter Verwendung der Erkennungseinrichtung gerechtfertigt ist.
  • Aus den 5 und 6 ist ersichtlich, dass das Vorfilterverfahren 240 einen lexikalischen Baum 500 verwendet, der initialisiert wird, bevor die Verarbeitung beginnt. Der lexikalische Baum stellt das aktive Vokabular 230 basierend auf den phonetischen Zusammenhängen zwischen Wörtern des Vokabulars dar. Der lexikalische Baum enthält einen Wurzelknoten 505, der neue Wörter darstellt, die in den lexikalischen Baum kommen. Vom Wurzelknoten 505 erstreckt sich der Baum weiter zu einer Gruppe 510 von Knoten, die mit Phonemen korrespondieren, mit denen Wörter starten. Ein Sprechpause-Knoten 512, der Sprechpausen darstellt, kann ebenfalls vom Wurzelknoten 505 aus erreicht werden.
  • Jeder Knoten der Gruppe 510 stellt ein Phonem dar, das am Anfang eines oder mehrerer Wörter erscheint. In dem Teil 600 des lexikalischen Baums 500, der in 6 dargestellt ist, korrespondiert beispielsweise ein Knoten 610 mit allen Wörtern des Vokabulars, die mit dem Phonem "H" beginnen. In ihrer Gesamtheit enthalten die Knoten der Gruppe 510 Repräsentationen der Startphoneme jedes Wortes des Vokabulars.
  • Der lexikalische Baum erstreckt sich weiter, bis er Blattknoten 515 erreicht, die die aktuellen Wörter des Vokabulars darstellen. Wie durch die quadratische Markierung angegeben, korrespondiert beispielsweise der Blattknoten 615 von 6 mit dem Wort "healing". Ein interner Knoten des Baumes kann ebenfalls ein Wort des Vokabulars darstellen. Der Knoten 520 könnte beispielsweise zusätzlich zu den ersten beiden Phonemen anderer Wörter des Vokabulars auch ein bestimmtes Wort des Vokabulars darstellen. In ähnlicher Weise korrespondiert der Blattknoten 620 von 6 mit den Wörtern "heal" und "heel", während er gleichzeitig mit den ersten drei Phonemen der Wörter "heals", "heels" und "healing" korrespondiert. Ferner zeigt der Knoten 620, dass ein Blattknoten mit mehr als einem Wort korrespondieren kann, da mehrere Wörter die gleiche phonetische Schreibweise haben können. Wie in 6 gezeigt, können Blattknoten auf unterschiedlichen Ebenen innerhalb des lexikalischen Baumes erscheinen. Blattknoten können auch mit Befehlen korrespondieren. Ein Blattknoten kann beispielsweise mit dem Wort "wählen" und dem Befehl "AUSWAHL" korrespondieren. Wie vorstehend erwähnt, können Befehle bestimmten Beschränkungsgrammatiken 225 zugeordnet werden.
  • In 7 ist der Ablauf des Vorfilterverfahrens 240 dargestellt. Das Vorfilterverfahren beginnt mit der Suche nach dem nächsten Parameter-Frame für eine Äußerung (Schritt 700). Der nächste Frame unmittelbar nach der Initialisierung wird der erste Frame für die Äußerung sein. Danach wird der nächste Frame derjenige sein, der dem letzten Frame folgt, der von dem Vorfilterverfahren verarbeitet wurde, als das Vorfilterverfahren letztmals aufgerufen wurde. Zwischen den Anfragen für Wörterlisten initialisiert das Vorfilterverfahren den lexikalischen Baum nicht erneut. Dementsprechend korrespondiert der Zustand des lexikalischen Baums, wenn eine Wörterliste angefragt wird, mit dem Zustand des lexikalischen Baums nach dem Rücklauf einer früheren Wörterliste.
  • Nach dem Auffinden eines Daten-Frames sucht das Vorfilterverfahren einen aktiven Knoten in dem Baum ohne unverarbeitete aktive Nachfolger (Schritt 705). Nachfolger eines Knotens können auch als Unterknoten des Knotens bezeichnet werden. Bei der Initialisierung des lexikalischen Baumes ist der Sprechpause-Knoten 512 der einzige aktive Knoten.
  • Als nächstes verarbeitet das Vorfilterverfahren den aktuellen Knoten (Schritt 710) gemäß einem Knotenverarbeitungsverfahren 1100, das nachfolgend unter Bezugnahme auf 11 behandelt wird. Das Knotenverarbeitungsverfahren bestimmt, ob der Knoten zusätzliche aktive Knoten erzeugen sollte, und ob der Knoten deaktiviert werden sollte. Wenn es sich um einen Blattknoten handelt, bestimmt das Knotenverarbeitungsverfahren auch, ob das mit dem Knoten korrespondierende Wort für eine dem Knoten zugeordnete Zeit einer Wörterliste hinzugefügt werden sollte.
  • Nach der Verarbeitung des Knotens (Schritt 710) bestimmt das Vorfilterverfahren, ob der Knoten der höchste Knoten des Baumes ist (d. h. der Wurzelknoten) (Schritt 715). Wenn der Knoten nicht der höchste Knoten ist, geht das Vorfilterverfahren zum nächsten Knoten, der keine unverarbeiteten aktiven Unterknoten hat (Schritt 720) und verarbeitet diesen Knoten (Schritt 710). Bei der Suche nach dem nächsten zu verarbeitenden Knoten berücksichtigt das Vorfilterverfahren inaktive Knoten mit aktiven Unterknoten oder aktiven gleichgestellten Knoten.
  • Wenn der verarbeitete Knoten der höchste aktive Knoten ist (Schritt 715), verarbeitet das Vorfilterverfahren den Sprechpause-Knoten 512 (Schritt 725). Im Allgemeinen wird der Sprechpause-Knoten durch das Vergleichen eines Frames mit einem Modell für Sprechpausen verarbeitet sowie dem Hinzufügen der daraus resultierenden Wertung zu dem Minimum der aktuellen Wertung für den Sprechpause-Knoten und der Wertung für den Wurzelknoten 505.
  • Als nächstes legt das Vorfilterverfahren den lexikalischen Baum neu an (Schritt 730). Das Vorfilterverfahren legt den Baum neu an, wann auch immer der Sprechpause-Knoten 512 aktiv ist oder ein Wort von einem Blattknoten des lexikalischen Baums produziert wurde, unabhängig davon, ob das Wort der Wörterliste hinzugefügt wurde. Das Vorfilterverfahren legt den Baum neu an, indem es die Wertung für den Wurzelknoten 505 durch das Minimum der Wertung für den Sprechpause-Knoten 512 und der Wertungen für jegliches Wort, das von Blattknoten des lexikalischen Baums für den aktuellen Frame produziert wurde, ersetzt. Wenn der Sprechpause-Knoten inaktiv ist und kein Blattknoten ein Wort produziert hat, ersetzt das Vorfilterverfahren die Wertung für den Wurzelknoten 505 durch eine schlechte Wertung (d. h. eine Wertung mit einem größeren Wert als ein Pruning-Schwellenwert).
  • Danach bestimmt das Vorfilterverfahren, ob der Wörterliste für die angefragte Zeit noch mehr Wörter hinzugefügt werden können (Schritt 735). Wenn in dem lexikalischen Baum keine aktiven Knoten sind, die Sprache entsprechen, die zu, vor oder kurz nach dem Startzeitpunkt startete, für den die Liste angefragt wurde, und wenn der letzte zu verarbeitende Frame mit einem Zeitpunkt korrespondiert, der kurz nach dem Startzeitpunkt liegt, für den die Liste angefragt wurde, können der Wörterliste keine Wörter mehr hinzugefügt werden. Ein von dem lexikalischen Baum produziertes Wort wird der Wörterliste hinzugefügt, die mit dem Startzeitpunkt des Wortes korrespondiert, sowie Wörterlisten, die mit Zeitpunkten korrespondieren, die dem Startzeitpunkt des Wortes vorausgehen und folgen. Aus diesem Grund wartet das Vorfilterverfahren, bis im Baum keine aktiven Knoten sind, die mit Sprache korrespondieren, die kurz nach dem Startzeitpunkt der Wörterliste starteten. Wenn noch mehr Wörter hinzugefügt werden können, sucht das Vorfilterverfahren den nächsten Parameter-Frame (Schritt 700) und wiederholt die vorstehend genannten Schritte.
  • Wenn der Wörterliste keine Wörter hinzugefügt werden können (Schritt 735), schickt das Vorfilterverfahren die Wörterliste an die Erkennungseinrichtung 215 zurück (Schritt 740). Wenn die Wörterliste mehr als eine vordefinierte Anzahl von Wörtern enthält, entfernt das Vorfilterverfahren Wörter aus der Liste, bevor es dieselbige zurückschickt. Das Vorfilterverfahren entfernt die Wörter mit der geringsten Wahrscheinlichkeit, dass sie mit Sprache des Benutzers korrespondieren, und es entfernt genügend Wörter, um die Anzahl der Wörter in der Liste auf die vordefinierte Anzahl zu reduzieren. Ferner löscht das Verfahren alle Wörterlisten für Zeitpunkte, die vor dem angefragtem Startzeitpunkt liegen.
  • Jeder Knoten des lexikalischen Baums 500 (5) repräsentiert eine Sequenz von Zuständen für ein bestimmtes Phonem. 8a zeigt beispielsweise einen Knoten 800, der einen ersten Zustand 805, einen zweiten Zustand 810 und einen dritten Zustand 815 beinhaltet. Ein Vergleich mit einem Parameter-Frame kann die Wertung in einem bestimmten Zustand dazu veranlassen, in diesem Zustand zu bleiben (durch einen Pfad 820). Eine Wertung bleibt in dem Zustand, wenn die Wertung, nachdem sie basierend auf einem Vergleich mit einem Modell für diesen Zustand angepasst wurde, besser ist als eine Wertung, die von einem vorherigen Zustand oder Knoten übermittelt wurde, oder wenn keine Wertung von einem vorherigen Zustand oder Knoten übermittelt wird. Ferner kann der Vergleich bewirken, dass die Wertung durch einen Pfad 825 an einen nachfolgenden Zustand übermittelt wird. Eine Wertung wird an einen nachfolgenden Zustand übermittelt, wenn die Wertung, nachdem sie basierend auf einem Vergleich mit einem Modell für den nachfolgenden Zustand angepasst wurde, besser ist als die Wertung in dem nachfolgenden Zustand, oder wenn dem nachfolgenden Zustand keine Wertung zugeordnet ist. Die Wertung für den dritten Zustand 815 kann durch einen Pfad 830 an einen oder mehrere nachfolgende Knoten übermittelt werden.
  • In 8B ist der Knoten 512, der mit einer Sprechpause korrespondiert, durch einen einzelnen Zustand 840 dargestellt. Jeder Vergleich mit einem Parameter-Frame kann bewirken, dass eine Wertung in dem Knoten in dem Zustand 840 bleibt (durch den Pfad 845). Ferner kann er bewirken, dass die Wertung durch einen Pfad 850 an den Wurzelknoten 505 übermittelt wird.
  • In 8C wird der Wurzelknoten 505 durch einen einzelnen Zustand 860 dargestellt. Ein Vergleich mit einem Frame bewirkt, dass die Wertung in dem Knoten durch einen Pfad 865 an einen oder mehrere nachfolgende Knoten (einschließlich des Sprechpause-Knotens 512) übermittelt wird.
  • Jeder Zustand eines Knotens kann durch vier Werte dargestellt werden: eine Wertung, ein Startzeitpunkt, eine Zustandswechselstrafe und eine Zustandsverweilstrafe. Die Wertung stellt die Wahrscheinlichkeit dar, dass eine Reihe von Frames den lexikalischen Baum in diesen Zustand versetzt hat (d. h. die Wahrscheinlichkeit, dass die Reihe von Frames mit dem Wort oder dem Teil eines Wortes korrespondiert, mit dem der Zustand korrespondiert). Die Wertungen werden als negative logarithmische Werte verwaltet.
  • Der Startzeitpunkt identifiziert die angenommene Zeit, zu der der Benutzer begann, das Wort oder Wörter zu sagen, die von dem Zustand dargestellt werden. Insbesondere identifiziert der Startzeitpunkt die Zeit, zu der die Wertung, die dem Zustand zugeordnet ist, in den lexikalischen Baum einging (d. h. die Zeit, zu der die Wertung vom Zustand 840 entlang des Pfades 850 weitergeleitet wurde).
  • Die Zustandswechsel- und die Zustandsverweilstrafe sind festgelegte Werte, die dem Zustand zugeordnet sind. Die Zustandsverweilstrafe wird jeder Wertung hinzugefügt, die in dem Zustand verbleibt. Die Zustandsverweilstrafe steht in umgekehrtem Bezug zu der Länge des Lautes, der von dem Zustand dargestellt wird, und zu der Länge des Phonems, das von dem Knoten dargestellt wird, zu dem der Zustand gehört. Die Zustandsverweilstrafe könnte beispielsweise proportional sein zu -log (1 – 1/davg), wobei davg die durchschnittliche Dauer, in Frames, des Lautes ist, der von dem Zustand dargestellt wird.
  • Die Zustandsverweilstrafe hat also einen relativ großen Wert, wenn der mit dem Zustand korrespondierende Laut nur für eine kurze Zeit auftritt, und einen relativ kleinen Wert, wenn der mit dem Zustand korrespondierende Laut für eine längere Zeit auftritt.
  • Die Zustandswechselstrafe wird jeder Wertung hinzugefügt, die den Zustand verlässt, und beinhaltet eine Dauerkomponente und eine Sprachmodellkomponente. Die Dauerkomponente steht in direktem Bezug zu der Länge des Lautes, der von dem Zustand dargestellt wird, und zu der Länge des Phonems, das von dem Knoten dargestellt wird, zu dem der Zustand gehört. Die Dauerkomponente der Zustandswechselstrafe könnte beispielsweise proportional sein zu -log (1/davg). Die Dauerkomponente der Zustandswechselstrafe hat also einen relativ großen Wert, wenn der mit dem Zustand korrespondierende Laut für eine lange Zeit auftritt, und einen relativ kleinen Wert, wenn der mit dem Zustand korrespondierende Laut für eine kurze Zeit auftritt.
  • Die Sprachmodellkomponenten der Zustandswechselstrafen für alle Zustände in einem bestimmten Knoten repräsentieren in ihrer Gesamtheit eine Sprachmodellwertung für das Phonem, das diesem Knoten zugeordnet ist. Die Sprachmodellwertung stellt die Wahrscheinlichkeit dar, dass ein Wort, das das Phonem enthält, in der Sprache auftreten wird. Die in den Zustandswechselstrafen für einen Knoten enthaltene Sprachmodellwertung ist der Anstieg in der besten Sprachmodellwertung für den Zweig des lexikalischen Baums, der mit dem Knoten beginnt, im Vergleich zu dem Zweig des lexikalischen Baums, der mit dem Mutterknoten des Knotens beginnt.
  • In den nachfolgenden Erklärungen wird vorausgesetzt, dass den Zuständen 840 und 860 keine Zustandswechsel- oder Zustandsverweilstrafen zugeordnet sind. Das gleiche Ergebnis könnte erreicht werden, indem man die Zustandswechsel- und Zustandsverweilstrafen für die Zustände 840 und 860 gleich null setzt. Ferner wird in den nachfolgenden Erklärungen vorausgesetzt, dass der erste Frame der erste Frame ist, der anstelle einer Sprechpause mit Sprache korrespondieren könnte.
  • 9 zeigt ein vereinfachtes Beispiel dafür, wie sich Wertungen im lexikalischen Baum ausbreiten. Vor dem Auffinden des ersten Frames (Reihe 900) hat der Zustand 840 (der mit einer Sprechpause korrespondiert) eine Wertung 0, und es sind keine sonstigen Knoten aktiv. Die Wertung 0 bedeutet, dass die Wahrscheinlichkeit, dass das System ab einer Sprechpause startet, hundert Prozent beträgt.
  • Nach dem Auffinden des ersten Frames (Reihe 905) wird die Wertung für den Zustand 840 (SA1) der akustischen Wertung (AA1) gleichgesetzt, die aus einer akustischen Übereinstimmung des ersten Frames mit einem akustischen Modell resultiert, das mit dem Zustand 840 korrespondiert (d. h. dem akustischen Modell für eine Sprechpause). Die Wertung für den Zustand 840 (SA1) wird also der Wahrscheinlichkeit gleichgesetzt, dass der erste Frame mit einer Sprechpause korrespondiert.
  • Ferner bewirkt das Auffinden des ersten Frames, dass der Zustand 805 zu einem aktiven Zustand wird. Unter der Voraussetzung, dass der Knoten 800 mit einem Phonem korrespondiert, mit dem ein Wort beginnt, wird die Wertung für den Zustand 805 (SB1) der akustischen Wertung (AB1) gleichgesetzt, die aus einer akustischen Übereinstimmung des ersten Frames mit dem akustischen Modell resultiert, das mit dem Zustand 805 korrespondiert. Die Wertung für den Zustand 805 (SB1) wird also der Wahrscheinlichkeit gleichgesetzt, dass der erste Frame mit dem Zustand 805 korrespondiert. Der Startzeitpunkt für den Zustand 805 wird gleich der Zeit gesetzt, die dem ersten Frame zugeordnet ist. Dieser Wert für den Startzeitpunkt gibt an, dass die Wertung im Zustand 805 ein Wort darstellt, das zu einem Zeitpunkt begann, der mit dem ersten Frame korrespondiert. Der Startzeitpunkt bewegt sich mit der Wertung entsprechend dem Ausbreiten der Wertung im lexikalischen Baum.
  • Nach dem Auffinden des zweiten Frames (Reihe 910) wird die Wertung für den Zustand 840 (SA2) der Summe der vorherigen Wertung für den Zustand (SA1) und der akustischen Wertung (AA2), die aus einer akustischen Übereinstimmung des zweiten Frames mit dem akustischen Modell für eine Sprechpause resultiert, gleichgesetzt: SA2 = SA1 + AA2 = AA1 + AA2
  • Wie vorstehend erklärt, korrespondiert jede Wertung mit einer negativen logarithmischen Wahrscheinlichkeit. Dementsprechend korrespondiert das Addieren von Wertungen mit dem Multiplizieren der Wahrscheinlichkeiten. Die Wertung für den Zustand 840 (SA2) ist also gleich der Wahrscheinlichkeit, dass sowohl der erste als auch der zweite Frame mit einer Sprechpause korrespondieren. Dieses Verfahren wird bei nachfolgenden Frames wiederholt (z. B. Zeilen 915 und 920), so dass die Wertung für den Zustand 840 bei einem Frame "n" (SAn) gleich:
    Figure 00150001
  • Dieser Ausdruck setzt voraus, dass der Sprechpause-Knoten 512 nicht vom Wurzelknoten 505 neu angelegt wird. Würde bei einem Frame n ein Neuanlegen stattfinden, würde der Wert SAn-1 durch die Wertung im Wurzelknoten 505 für den Frame n-1 ersetzt werden.
  • Nach dem Auffinden des zweiten Frames wird die Wertung für den Zustand 805 (SB2) gleichgesetzt mit: SBn = min (SB1 + verweilB, SA1) + AB2, wobei AB2 die akustische Wertung ist, die aus einer akustischen Übereinstimmung des zweiten Frames mit dem akustischen Modell resultiert, das mit dem Zustand 805 korrespondiert, und verweilB die Zustandsverweilstrafe für den Zustand 805 ist. Die Wertung für den Zustand 805 (SB2) korrespondiert mit der wahrscheinlicheren von zwei Alternativen: (1) der erste Frame war eine Sprechpause und der zweite Frame war der vom Zustand 805 dargestellte Laut, oder (2) sowohl der erste als auch der zweite Frame waren der vom Zustand 805 dargestellte Laut. Die erste Alternative korrespondiert mit einem Übergang vom Zustand 840 in den Zustand 805 entlang des Pfades 850. Die zweite Alternative korrespondiert mit einem Übergang vom Zustand 805 zurück in den Zustand 805 entlang des Pfades 820. Wenn die erste Alternative die wahrscheinlichere ist, wird der Startzeitpunkt, der mit dem ersten Frame korrespondiert, der zuvor für den Zustand 805 gespeichert wurde, durch einen Wert ersetzt, der mit dem zweiten Frame korrespondiert. Dieser Wert gibt an, dass die Wertung im Zustand 805 ein Wort darstellt, das mit dem zweiten Frame startete.
  • Nach dem Auffinden des zweiten Frames wird der Zustand 810 zu einem aktiven Zustand. Die Wertung für den Zustand 810 (SC2) wird gleichgesetzt mit: SC2 = SB1 + wechselB + AC2,wobei AC2 die akustische Wertung ist, die aus einer akustischen Übereinstimmung des zweiten Frames mit dem akustischen Modell resultiert, das mit dem Zustand 810 korrespondiert, und wechselB die Zustandswechselstrafe für den Zustand 805 ist. Ähnlich sind wechselC und wechselD Zustandswechselstrafen für den Zustand 810 beziehungsweise 815. Die Summe der Sprachmodellkomponenten von wechselB, wechselC und wechselD repräsentiert die Sprachmodellwertung für das vom Knoten 800 dargestellte Phonem.
  • Die Methodik zum Bestimmen von Zustandswertungen für andere Zustände als der Sprechpause-Zustand kann allgemeiner ausgedrückt werden als: Si,,j = min (Si,j-1 + verweili, Si-1,j-1 + wechselj-1) + Ai,j,für i größer als null (wobei i gleich null mit einer Sprechpause korrespondiert), und mit der Grenzbedingung, dass die Wertung für einen inaktiven Zustand gleich unendlich oder gleich einem hinreichend großen Wert ist. Der Startzeitpunkt für den Zustand kann wie folgt dargestellt werden: ti,,j = ti,,j-1 für Si,j-1 + verweili ≤ Si-1,j-1 + wechselj-1,oder ti,,j = ti-1,,j-1 für Si,j-1 + verweili > Si-1,j-1 + wechselj-1,für i und j größer als null und mit der Grenzbedingung, dass der Zeitwert für einen erneut aktiven Zustand den Frame darstellt, bei dem der Zustand aktiv wurde. Wie zuvor erklärt, können Zustandswertungen für den Sprechpause-Zustand wie folgt bestimmt werden:
    Figure 00170001
    mit der Grenzbedingung, dass S0,0 gleich null ist. Eine noch allgemeinere Form, in der die Wertungen als Funktionen der verschiedenen Parameter ausgedrückt werden, wird in 10 veranschaulicht.
  • Wie in 11 zu sehen ist, kann ein Knoten gemäß einem Knotenverarbeitungsverfahren 1100 verarbeitet werden. Zunächst aktualisiert das Knotenverarbeitungsverfahren die Wertungen und Zeitwerte für jeden Zustand des Knotens (Schritt 1105). Das Knotenverarbeitungsverfahren aktualisiert die Wertungen und Zeitwerte, indem es unter Verwendung der vorstehend genannten Gleichungen akustische Wertungen erzeugt.
  • Wenn der letzte Zustand des Knotens vor der Aktualisierung der Wertungen für den Knoten aktiv war, verwendet das Knotenverarbeitungsverfahren zum Erzeugen von Wertungen für jeglichen inaktiven Unterknoten des Knotens die Wertung für den letzten Zustand. Wenn die für einen Unterknoten erzeugte Wertung einen Pruning-Schwellenwert nicht überschreitet, aktiviert das Knotenverarbeitungsverfahren diesen Unterknoten und erteilt dem Unterknoten die erzeugte Wertung.
  • Als nächstes bestimmt das Knotenverarbeitungsverfahren, ob die Wertung für irgendeinen Zustand des Knotens den Pruning-Schwellenwert überschreitet (Schritt 1100). Wenn eine Wertung den Pruning-Schwellenwert überschreitet, geht man davon aus, dass die Wahrscheinlichkeit, dass das von der Wertung dargestellte Wort gesagt wurde, zu klein ist, um weiter berücksichtigt zu werden. Aus diesem Grund beschneidet das Verfahren den lexikalischen Baum, indem es alle Zustände deaktiviert, die eine Wertung haben, die den Pruning-Schwellenwert überschreitet (Schritt 1115). Wenn jeder Zustand des Knotens deaktiviert ist, aktiviert das Knotenverarbeitungsverfahren auch den Knoten. Das Knotenverarbeitungsverfahren kann einen Knoten oder Zustand deaktivieren, indem es einen Eintrag löscht, der dem Knoten oder Zustand zugeordnet ist, oder indem es in dem Eintrag angibt, dass der Knoten oder Zustand inaktiv ist. Ähnlich kann das Knotenverarbeitungsverfahren einen Knoten oder Zustand aktivieren, indem es einen Eintrag erstellt und den Eintrag dem Knoten oder Zustand zuordnet, oder indem es in einem vorhandenen Eintrag angibt, dass der Knoten oder Zustand aktiv ist. Das Verfahren kann einen dynamischen Pruning-Schwellenwert verwenden, der Änderungen in der durchschnittlichen oder besten Wertung im lexikalischen Baum zu einem gegebenen Zeitpunkt Rechnung trägt Als nächstes bestimmt das Knotenverarbeitungsverfahren, ob ein Wort einer Wörterliste hinzugefügt werden soll (Schritt 1120). Ein Wort wird der Wörterliste hinzugefügt, wenn der Knoten, der verarbeitet wird, mit dem letzten Phonem eines Wortes korrespondiert, eine Wertung sich aus dem letzten Zustand des Knotens bewegt hat und die Wertung kleiner ist als ein Listenschwellenwert. Vor dem Vergleichen der Wertung mit dem Listenschwellenwert fügt das Knotenverarbeitungsverfahren der Wertung eine Sprachmodellwertung hinzu. Die Sprachmodellwertung korrespondiert mit der Differenz zwischen der Sprachmodellwertung für das Wort und der inkrementalen Sprachmodellwertung, die bereits in der Wertung enthalten ist. Im Allgemeinen hat der Listenschwellenwert einen kleineren Wert als der Pruning-Schwellenwert. Wenn der Knoten, der verarbeitet wird, mit dem letzten Phonem mehrerer Wörter korrespondiert, die die gleiche phonetische Schreibweise haben, werden alle Wörter, mit denen der Knoten korrespondiert, der Wörterliste hinzugefügt.
  • Wenn die genannten Bedingungen erfüllt sind, fügt das Knotenverarbeitungsverfahren der Liste das Wort oder die Wörter hinzu (Schritt 1125). Ein Wort wird zusammen mit der Wertung, die aus dem letzten Zustand kam, in der Wörterliste gespeichert. Wenn das Wort bereits in der Liste ist, speichert das Knotenverarbeitungsverfahren in der Liste die bessere Wertung, das heißt die bereits in der Liste gespeicherte Wertung oder die Wertung, die aus dem letzten Zustand kam. Die Wertungen für Wörter in einer Wörterliste werden zusammen mit der Wörterliste zurückgeschickt. Die Erkennungseinrichtung 215 verwendet diese Wertungen zur Herstellung der detaillierten Übereinstimmung.
  • Ferner fügt das Knotenverarbeitungsverfahren das Wort Wörterlisten hinzu für Zeiten, die dem Startzeitpunkt vorausgehen oder folgen, um möglichen Ungenauigkeiten des Startzeitpunktes des Wortes Rechnung zu tragen, die daraus resultieren können, dass man die bessere Wertung wählt von einer Wertung, die in einem Zustand bleibt, und einer Wertung, die aus einem früheren Zustand stammt. Das Verteilen des Wortes über mehrere Listen stellt sicher, dass sich diese Ungenauigkeiten nicht auf die Genauigkeit des Spracherkennungssystems auswirken. Das Knotenverarbeitungsverfahren verteilt das Wort auf der Basis der Länge des Wortes über mehrere Listen.
  • Wenn ein Wort der Wörterliste hinzugefügt wurde (Schritt 1125), speichert das Knotenverarbeitungsverfahren die Wertung, die dem Wort zugeordnet ist, als eine Neuanlage-Wertung zur Verwendung beim Neuanlegen des Baumes (Schritt 1130). Die Produktion eines Wortes durch den lexikalischen Baum bedeutet, dass der aktuelle Frame mit dem letzten Frame des Wortes korrespondieren kann (wobei die Wahrscheinlichkeit einer solchen Übereinstimmung durch die Wertung wiedergegeben wird, die dem Wort zugeordnet ist). Dies bedeutet, dass der nächste Frame mit dem Anfang eines Wortes korrespondieren kann oder mit einer Sprechpause, die aus einer Pause zwischen Wörtern resultiert. Das Vorfilterverfahren legt den Baum neu an (Schritt 730 von 7), um dieser Möglichkeit Rechnung zu tragen.
  • Für einen gegebenen Frame können mehrere Knoten Wörter produzieren. Der Baum muss jedoch nur einmal neu angelegt werden. Um dies zu berücksichtigen, speichert das Knotenverarbeitungsverfahren nur dann die Wertung, die einem Wort (SW) zugeordnet ist, als die Neuanlage-Wertung (SRS), wenn das Wort das erste Wort ist, das vom Baum für den aktuellen Frame erzeugt werden soll, oder wenn die Wortwertung kleiner ist als die Wertung für alle anderen Wörter, die von zuvor verarbeiteten Knoten für den aktuellen Frame (SRS') erzeugt wurden: SRS = min (SW, SRS')
  • Indem man nur die kleinste Wertung speichert (d. h. die Wertung, die die größte Wahrscheinlichkeit angibt, dass der aktuelle Frame der letzte Frame eines Wortes war), stellt man sicher, dass der Baum neu angelegt wird unter Verwendung der größten Wahrscheinlichkeit, dass der nächste Frame der erste Frame eines neuen Wortes ist.
  • Um den Baum neu anzulegen (Schritt 730 von 7), aktiviert das Vorfilterverfahren den Wurzelknoten 505 und ordnet dem Wurzelknoten das Minimum der Neuanlage-Wertung (SRS) und der Wertung für den Sprechpause-Knoten 512 zu. Während der Verarbeitung des nächsten Frames kann der aktive Wurzelknoten 505 verwendet werden, um Knoten in der Gruppe 510 zu aktivieren oder um den Sprechpause-Knoten 512 zu aktivieren.
  • Die Verarbeitung des Knotens ist abgeschlossen, nachdem das Knotenverarbeitungsverfahren eine Wertung gespeichert hat, die verwendet wird, um den Baum neu anzulegen (Schritt 1130), oder wenn der Wörterliste kein Wort hinzugefügt werden muss (Schritt 1120). Das Vorfilterverfahren des lexikalischen Baums wird detailliert in unserer Europäischen Patentanmeldung Nr. 97306528.7 (Veröffentlichungsnr. EP-A-0825586) behandelt.
  • Nachdem das Vorfilterverfahren die angefragte Wörterliste bereitgestellt hat, initiiert die Erkennungseinrichtung eine Hypothese für jedes Wort aus der Liste und vergleicht akustische Modelle für das Wort mit den Parameter-Frames, die die Äußerung repräsentieren. Die Erkennungseinrichtung verwendet die Ergebnisse dieser Vergleiche, um Wertungen für die Hypothesen zu erzeugen. Hypothesen mit exzessiven Wertungen werden nicht weiter berücksichtigt. Wie vorstehend erklärt, werden Hypothesen, die mit keiner Beschränkungsgrammatik übereinstimmen, ebenfalls eliminiert.
  • Wenn die Erkennungseinrichtung bestimmt, dass ein Wort einer Hypothese zu Ende ist, fordert die Erkennungseinrichtung vom Vorfilterverfahren eine Liste von Wörtern an, die kurz nach Beenden des Wortes gesagt worden sein könnten. Dann erzeugt die Erkennungseinrichtung eine neue Hypothese für jedes Wort der Liste, wobei die neue Hypothese die Wörter der alten Hypothese zuzüglich des neuen Wortes enthält.
  • Beim Erzeugen der Wertung für eine Hypothese verwendet die Erkennungseinrichtung akustische Wertungen für Wörter der Hypothese, eine Sprachmodellwertung, die die Wahrscheinlichkeit angibt, dass Wörter der Hypothese zusammen verwendet werden, und Wertungen, die durch das Vorfilterverfahren für jedes Wort der Hypothese bereitgestellt werden. Die durch das Vorfilterverfahren bereitgestellten Wertungen beinhalten Komponenten, die mit einem groben akustischen Vergleich korrespondieren, und eine Sprachmodellwertung, die bezeichnend ist für die Wahrscheinlichkeit, dass ein Wort kontextunabhängig verwendet wird. Die Erkennungseinrichtung kann jegliche Hypothese eliminieren, die zwar einer Beschränkungsgrammatik zugeordnet ist (z. B. eine Befehlshypothese), aber nicht mit der Beschränkungsgrammatik korrespondiert.
  • In 12 arbeitet die Erkennungseinrichtung 215 gemäß dem Verfahren 1200. Vor der Verarbeitung initialisiert die Erkennungseinrichtung 215 zunächst wie vorstehend beschrieben den lexikalischen Baum 500 (Schritt 1205). Dann sucht die Erkennungseinrichtung 215 einen Parameter-Frame (Schritt 1210) und bestimmt, ob für den Frame Hypothesen berücksichtigt werden müssen (Schritt 1215). Der erste Frame korrespondiert stets mit einer Sprechpause, so dass für den ersten Frame keine Hypothesen berücksichtigt werden müssen.
  • Wenn für den Frame Hypothesen berücksichtigt werden müssen (Schritt 1215), geht die Erkennungseinrichtung 215 zu der ersten Hypothese (Schritt 1220). Dann vergleicht die Erkennungseinrichtung den Frame mit akustischen Modellen 235 für das letzte Wort der Hypothese (Schritt 1225) und aktualisiert, basierend auf dem Vergleich, eine Wertung, die der Hypothese zugeordnet ist (Schritt 1230).
  • Nach der Aktualisierung der Wertung (Schritt 1230) bestimmt die Erkennungseinrichtung, ob es wahrscheinlich ist, dass der Benutzer das Wort oder Wörter gesagt hat, die mit der Hypothese korrespondieren (Schritt 1235). Die Erkennungseinrichtung führt dieses Bestimmen aus, indem sie die aktuelle Wertung für die Hypothese mit einem Schwellenwert vergleicht. Wenn die Wertung den Schwellenwert überschreitet, bestimmt die Erkennungseinrichtung 215, dass die Hypothese zu unwahrscheinlich ist, um weiterhin berücksichtigt zu werden, und löscht die Hypothese (Schritt 1240).
  • Wenn die Erkennungseinrichtung bestimmt, dass es wahrscheinlich ist, dass das Wort oder Wörter, die mit der Hypothese korrespondieren, vom Benutzer gesagt wurden, bestimmt die Erkennungseinrichtung, ob das letzte Wort der Hypothese zu Ende ist (Schritt 1245). Die Erkennungseinrichtung bestimmt, dass ein Wort zu Ende ist, wenn der Frame mit der letzten Komponente des Modells für das Wort korrespondiert. Wenn die Erkennungseinrichtung bestimmt, dass ein Wort zu Ende ist (Schritt 1245), setzt die Erkennungseinrichtung eine Markierung, die angibt, dass der nächste Frame mit dem Anfang eines Wortes korrespondieren könnte (Schritt 1250).
  • Wenn zusätzliche Hypothesen für den Frame berücksichtigt werden müssen (Schritt 1255), wählt die Erkennungseinrichtung die nächste Hypothese (Schritt 1260) und wiederholt den Vergleich (Schritt 1225) und die anderen Schritte. Wenn für den Frame keine weiteren Hypothesen berücksichtigt werden müssen (Schritt 1255), bestimmt die Erkennungseinrichtung, ob für die Äußerung weitere Frames berücksichtigt werden müssen (Schritt 1265). Die Erkennungseinrichtung bestimmt, dass weitere Frames berücksichtigt werden müssen, wenn zwei Bedingungen erfüllt sind. Erstens müssen weitere Frames verfügbar sein. Zweitens muss der Knoten mit der besten Wertung für den aktuellen Frame oder für einen oder mehrere einer vorbestimmten Anzahl von unmittelbar vorausgehenden Frames ein anderer Knoten gewesen sein als der Sprechpause-Knoten (d. h. die Äußerung ist beendet, wenn der Sprechpause-Knoten der Knoten mit der besten Wertung für den aktuellen Frame und für eine vorbestimmte Anzahl von konsekutiv vorausgehenden Frames ist).
  • Wenn weitere Frames berücksichtigt werden müssen (Schritt 1265) und die Markierung gesetzt wurde, die angibt, dass ein Wort zu Ende ist (Schritt 1270), oder wenn für den Frame keine Hypothesen berücksichtigt werden mussten (Schritt 1215), fordert die Erkennungseinrichtung vom Vorfilterverfahren 240 eine Liste mit Wörtern an, die mit dem nächsten Frame starten können (Schritt 1275).
  • Nach Erhalt der Wörterliste vom Vorfilterverfahren verwendet die Erkennungseinrichtung die Wörterliste, um Hypothesen zu erzeugen oder um jegliche Hypothese zu erweitern, für die ein Wort zu Ende ging (Schritt 1280). Jedes Wort in der Liste hat eine zugeordnete Wertung. Vor dem Hinzufügen eines Wortes der Liste zu einer Hypothese modifiziert die Erkennungseinrichtung die Listenwertung (SL) für das Wort, um eine modifizierte Listenwertung (SML) zu erhalten: SML = SL + LC – LL,wobei LL eine Sprachmodellwertung ist, die die Häufigkeit darstellt, mit der das Wortpaar, das das Wort der Liste und das in der Hypothese unmittelbar vorausgehende Wort enthält, in der Sprache zusammen verwendet wird, und LL eine Sprachmodellwertung ist, die in der Listenwertung enthalten ist und mit der Häufigkeit korrespondiert, mit der das Wort der Liste kontextunabhängig in der Sprache verwendet wird. Dann fügt die Erkennungseinrichtung der Wertung für die Hypothese die modifizierte Listenwertung zu und vergleicht das Ergebnis mit einem Schwellenwert. Wenn das Ergebnis kleiner ist als der Schwellenwert, hält die Erkennungseinrichtung an der Hypothese fest. Andernfalls bestimmt die Erkennungseinrichtung, dass die Hypothese nicht weiter berücksichtigt werden muss und gibt die Hypothese auf. Als ein zusätzlicher Teil des Erzeugens oder Erweiterns der Hypothesen vergleicht die Erkennungseinrichtung die Hypothesen mit den aktiven Beschränkungsgrammatiken 225 und gibt alle Hypothesen auf, die nicht mit einer aktiven Beschränkungsgrammatik korrespondieren. Dann sucht die Erkennungseinrichtung den nächsten Frame (Schritt 1210) und wiederholt das Verfahren.
  • Wenn keine Sprach-Frames mehr verarbeitet werden müssen, übermittelt die Erkennungseinrichtung 215 die wahrscheinlichsten Hypothesen als Erkennungskandidaten an das Steuer-/Schnittstellenmodul 220 (Schritt 1285).
  • Das Steuer-/Schnittstellenmodul 220 steuert den Betrieb der Spracherkennungssoftware und stellt eine Schnittstelle zu anderer Software oder zum Benutzer her. Das Steuer-/Schnittstellenmodul empfängt von der Erkennungseinrichtung die Liste der Erkennungskandidaten für jede Äußerung. Erkennungskandidaten können mit diktiertem Text, Spracherkennungsbefehlen oder externen Befehlen korrespondieren. Wenn der Erkennungskandidat mit der besten Wertung mit diktiertem Text korrespondiert, liefert das Steuer-/Schnittstellenmodul den Text an eine aktive Anwendung, beispielsweise an ein Textverarbeitungsprogramm. Ferner kann das Steuer-/Schnittstellenmodul dem Benutzer durch eine graphische Benutzeroberfläche den Erkennungskandidaten mit der besten Wertung anzeigen. Das Steuer-/Schnittstellenmodul steuert auf Spracherkennungsbefehle hin (z. B. "wach auf", "tue dies") den Betrieb der Spracherkennungssoftware, und es leitet externe Befehle an die geeignete Software weiter.
  • Ferner steuert das Steuer-/Schnittstellenmodul das aktive Vokabular, akustische Modelle und Beschränkungsgrammatiken, die von der Erkennungseinrichtung verwendet werden. Wenn zum Beispiel die Spracherkennungssoftware zusammen mit einer bestimmten Anwendung verwendet wird (z. B. Microsoft Word), aktualisiert das Steuer-/Schnittstellenmodul das aktive Vokabular, um Befehlswörter einzufügen, die dieser Anwendung zugeordnet sind, und aktiviert Beschränkungsgrammatiken, die der Anwendung zugeordnet sind.
  • Weitere Funktionen, die das Steuer-/Schnittstellenmodul 220 bereitstellt, beinhalten einen Vokabularanpasser und einen Vokabularmanager. Der Vokabularanpasser optimiert das Sprachmodell eines bestimmten Themas durch Prüfen von Text, der vom Benutzer bereitgestellt wurde. Der Vokabularmanager ist ein Entwicklerwerkzeug, das verwendet wird, um Vokabularien, Grammatiken und Makros zu überprüfen und zu verwalten. Jede derartige Funktion des Steuer-/Schnittstellenmoduls 220 kann als ein Ausführungsprogramm durchgeführt werden, das unabhängig von der Hauptspracherkennungssoftware ist. Ähnlich kann auch das Steuer-/Schnittstellenmodul 220 als ein separates Ausführungsprogramm eingesetzt werden.
  • Ferner kann das Steuer-/Schnittstellenmodul 220 ein Registrierungsprogramm bereitstellen, das einen Registrierungstext und eine korrespondierende Registrierungsgrammatik verwendet, um die Spracherkennungssoftware an einen bestimmten Benutzer anzupassen. Insbesondere verwendet die Erkennungseinrichtung 215, wenn ein Benutzer den Registrierungstext vorliest, die Registrierungsgrammatik, um eine Sequenz von Benutzeräußerungen an aufeinanderfolgende Teile des Registrierungstextes anzupassen, und verwendet akustische Informationen von den Benutzeräußerungen, um akustische Modelle 235 zu trainieren oder anzupassen, die mit den zusammenpassenden Teilen des Registrierungstextes korrespondieren.
  • Das Registrierungsprogramm kann eine Liste mit vom Benutzer frei wählbaren Registrierungstexten bereitstellen, von denen jeder über eine korrespondierende Registrierungsgrammatik verfügt. Alternativ kann der Benutzer einen Registrierungstext von einer anderen Quelle eingeben. In diesem Fall kann das Registrierungsprogramm anhand des eingegebenen Registrierungstextes eine Registrierungsgrammatik erzeugen oder eine zuvor erzeugte Registrierungsgrammatik verwenden.
  • 13 zeigt eine Benutzeroberfläche 1300 des Registrierungsprogramms. Die Benutzeroberfläche 1300 zeigt dem Benutzer einen vorzulesenden Registrierungstext 1310 an und zeigt, zum Beispiel unter Verwendung eines sich im Registrierungstext bewegenden Pfeils 1320, die aktuelle Position des Benutzers an, die auch als "Registrierungsposition" bezeichnet wird. Die Anzeige von 13 zeigt zum Beispiel eine Registrierungsposition bei dem Wort "for" und gibt damit an, dass das Registrierungsprogramm erkannt hat, dass der Benutzer den Registrierungstext bis zu dem Wort "for" gelesen hat, und dass das Registrierungsverfahren fortgesetzt wird, wenn der Benutzer beginnend mit dem Wort "for" weiterliest. Die Anzeige von 14 hingegen gibt eine Registrierungsposition bei dem Wort "program" an.
  • Unter Verwendung der Benutzerschnittstelle 1300 von 13 startet der Benutzer ein Registrierungsprogramm, indem er durch einen Sprachbefehl oder eine Eingabeeinrichtung, beispielsweise eine Maus, den Aufnahmeknopf 1330 wählt. Danach liest der Benutzer den angezeigten Text 1310 beginnend mit dem Text an der Registrierungsposition, die durch den Pfeil 1320 angegeben wird. Wenn der Benutzer liest, passt die Erkennungseinrichtung 215 die Sprache des Benutzers unter Verwendung der Registrierungsgrammatik an den Registrierungstext an und rückt die Registrierungsposition (und den Pfeil 1320) zum Beginn des nächsten zu sprechenden Wortes vor. Akustische, mit dem Registrierungstext korrespondierende Modelle werden auf der Basis der zusammenpassenden Benutzeräußerungen aktualisiert. Im Allgemeinen verwendet die Erkennungseinrichtung 215 während des Registrierungsverfahrens nicht das Vorfilterverfahren 240.
  • Wie in 15 gezeigt, beginnt das Registrierungsprogramm mit dem Setzen der Registrierungsposition am Anfang des Registrierungstextes (Schritt 1510) und dem Anzeigen des Pfeils an der Registrierungsposition (Schritt 1520). Danach empfängt das Registrierungsprogramm die digitalisierte Sprache des Benutzers für eine Äußerung (Schritt 1530). Die Erkennungseinrichtung 215 bestimmt unter Verwendung der mit dem Registrierungstest korrespondierenden Registrierungsgrammatik, ob die Äußerung zu einem Teil des Registrierungstextes, beginnend an der Registrierungsposition, passt (Schritt 1540). Da der Teil des Textes, mit der eine Äußerung korrespondiert, nicht spezifiziert ist, verwendet die Erkennungseinrichtung 215 die Registrierungsgrammatik zum Identifizieren eines Teils des Registrierungstextes, beginnend an der Registrierungsposition, die am besten zu der Äußerung passt.
  • Falls keine Übereinstimmung besteht, wiederholt das Registrierungsprogramm das Verfahren des Auffindens und Vergleichens der Sprache des Benutzers mit dem Registrierungstext (Schritte 1530, 1540). Falls Übereinstimmung besteht, aktualisiert das Registrierungsprogramm basierend auf der Benutzeräußerung die akustischen Modelle 235, die mit dem zusammenpassenden Teil des Registrierungstextes korrespondieren (Schritt 1550). Alternativ kann das Registrierungsprogramm die akustischen Modelle nach dem Erkennen bestimmter Segmente (zum Beispiel Sätze oder Absätze) des Registrierungstextes oder nach dem Erkennen des gesamten Registrierungstextes aktualisieren.
  • Falls nach dem zusammenpassenden Teil des Registrierungstextes (Schritt 1560) kein Registrierungstext mehr übrigbleibt (Schritt 1560), endet das Registrierungsprogramm für diesen Registrierungstext (Schritt 1570). Wenn das Registrierungsprogramm mehrere Registrierungstexte vorsieht, kann das Registrierungsprogramm nach Beenden eines Registrierungstextes automatisch mit dem nächsten Registrierungstext beginnen, indem es den neuen Registrierungstext anzeigt und die Registrierungsposition an den Beginn dieses neuen Textes setzt (Schritt 1510).
  • Falls in Schritt 1560 noch Registrierungstext übrigbleibt, wird die Registrierungsposition zu dem Wort, das dem zusammenpassenden Teil des Registrierungstextes folgt, vorgerückt (Schritt 1580), die Pfeilanzeige wird aktualisiert, um die aktualisierte Registrierungsposition anzuzeigen (Schritt 1520), und das Registrierungsverfahren wird fortgesetzt.
  • Für das Bestimmen, ob eine Benutzeräußerung zu einem Teil des Registrierungstextes passt, können unterschiedliche Verfahren verwendet werden (Schritt 1540). Die Registrierungsgrammatik kann zum Beispiel eingesetzt werden, um zu erkennen, dass unterschiedliche Benutzer möglicherweise an unterschiedlichen Stellen eine Pause im Registrierungstext machen, was dazu führt, dass Äußerungen von unterschiedlichen Benutzern nicht einheitlich mit dem gleichen Teil des Registrierungstextes korrespondieren. Wie vorstehend angegeben kann die Registrierungsgrammatik in solchen Situationen so vorgehen, dass sie es erlaubt, dass unterschiedliche Längen von Registrierungstext zu einer Benutzeräußerung passen.
  • Die Registrierungsgrammatik kann eingesetzt werden, um erwartete Variationen im Lesen des Registrierungstextes durch den Benutzer zu erkennen und entsprechend zu behandeln, indem man bestimmt, ob eine Benutzeräußerung zu einem Teil des Registrierungstextes passt. Ein Beispiel für solch eine Variation ist die Diktat-Übereinkunft, Satzzeichen auszudrücken: Am Ende des Satzes kann der Benutzer das Wort "Punkt" sagen. Eine Vorgehensweise in dieser Situation ist das Einsetzen der Registrierungsgrammatik, um das Wort "Punkt" am Ende von Sätzen als optional zu erkennen. Wenn dann der Benutzer "Punkt" sagt, passt die Registrierungsgrammatik die Sprache des Benutzers an das Wort "Punkt" an, um die akustischen Modelle zu aktualisieren. Wenn der Benutzer nicht "Punkt" sagt, überspringt die Registrierungsgrammatik das optionale Wort "Punkt" und geht zum nächsten Wort im Registrierungstext.
  • Ähnliche Regeln können eingesetzt werden, um mit dem Ausdrücken des Benutzers von Abständen (z. B. neue Zeile oder neuer Absatz) und Formatierungsübereinkünften (z. B. Großschreibung, Fettschrift, Unterstreichen oder Kursivschrift) umzugehen. Die Registrierungsgrammatik für die in 13 dargestellte Textpassage kann zum Beispiel in EBNF wie folgt ausgedrückt werden:
    <Erkennungsergebnis> ::= [Initialengroß] dragon
    [Initialengroß] systems is pleased to acknowledge
    [Initialengroß] arthur [Initialengroß] c [Punkt]
    [Initialengroß] clarke and [Initialengroß] harper
    [Initialengroß] collins [Initialengroß] publishers for allowing us to use selections from [Initialengroß]
    arthur [Initialengroß] c [Punkt] [Initialengroß]
    [clarke's I Clarke Apostroph s] novel three thousand [und] one [Doppelpunkt] [Initialengroß] the
    [Initialengroß] final [Initialengroß] odyssey [Komma] for our training program [Punkt]
  • Die Registrierungsgrammatik wird entsprechend dem Fortschreiten des Benutzer im Registrierungstext modifiziert. Wenn der Benutzer beispielsweise im Text beim Wort "for" ist, wie durch den Pfeil 1320 in 13 angezeigt, kann die Registrierungsgrammatik in EBNF wie folgt ausgedrückt werden:
    < Erkennungsergebnis > ::= for our training program [Punkt]
  • Alternativ kann die Registrierungsgrammatik als eine Gruppe von Regeln ausgedrückt werden. Anhang A beinhaltet eine mögliche regelbasierte Grammatik für den in 13 gezeigten Registrierungstext. Ein Vorteil der regelbasierten Grammatik liegt darin, dass sie nicht entsprechend dem Fortschreiten des Benutzers im Text modifiziert werden muss.
  • Im Allgemeinen reduziert das Registrierungsprogramm die Erkennungsfehlerrate des Spracherkennungssystems durch das Anpassen von benutzerunabhängigen akustischen Modellen an Sprache des Benutzers, basierend auf des Benutzers Aussprache von Lauten, die mit diesen akustischen Modellen korrespondieren, während des Vorlesens des Registrierungstextes. Wenn der Benutzer jedoch etwas Anderes sagt als den erwarteten Registrierungstext, sollte die Sprache des Benutzers nicht verwendet werden, um die akustischen Modelle zu aktualisieren, die mit dem erwarteten Registrierungstext korrespondieren. Diese Situation kann zum Beispiel eintreten, wenn der Benutzer eine Zeile in dem angezeigten Text 1310 auslässt, statt dem angezeigten Wort versehentlich ein anderes liest oder während dem Lesen des angezeigten Textes unterbrochen und in ein externes Gespräch verwickelt wird. Ferner kann diese Situation eintreten, wenn das Spracherkennungssystem andere Laute aufgreift als die Sprache des Benutzers, zum Beispiel ein Husten oder ein Niesen, oder ein Umgebungsgeräusch, beispielsweise Verkehrsgeräusche oder das Bellen eines Hundes.
  • Die Registrierungsgrammatik erlaubt es der Erkennungseinrichtung 215, den Teil des Registrierungstextes zu finden, der am besten mit der Benutzeräußerung korrespondiert. Die Registrierungsgrammatik erlaubt der Erkennungseinrichtung 215 jedoch nicht die Überprüfung, ob die Äußerung tatsächlich mit dem Registrierungstext korrespondiert. Zu diesem Zweck verwendet das Registrierungsprogramm eine Rückweisungsgrammatik in Verbindung mit der Registrierungsgrammatik, um Situationen zu identifizieren, in denen der von der Erkennungseinrichtung ermittelte Laut nicht zu dem erwarteten Registrierungstext passt.
  • 16 veranschaulicht genau das Verfahren von Schritt 1540 von 15, bei dem sowohl die Registrierungsgrammatik als auch die Rückweisungsgrammatik verwendet werden, um Situationen zu ermitteln, in denen die Benutzeräußerung nicht zum Aktualisieren der akustischen Modelle für Registrierungstext verwendet werden sollte. Das Registrierungsprogramm identifiziert einen besten Erkennungskandidaten, der mit der Registrierungsgrammatik korrespondiert, und legt die von der Erkennungseinrichtung 215 gelieferte Wertung für diesen Kandidaten als die Registrierungswertung fest (Schritt 1541). Die Erkennungseinrichtung 215 kann die Wertung für den Kandidaten basierend auf Kriterien wie zum Beispiel zusammenpassende akustische Modelle und Wortkontext bestimmen.
  • Selbst der beste Erkennungskandidat passt möglicherweise nicht gut zum Registrierungstext. Wenn zum Beispiel die Registrierungsposition wie in 13 gezeigt bei "for" ist, und die Benutzeräußerung "from Arthur C. Clarke's novel" von der vorherigen Zeile ist, wird die Erkennungseinrichtung 215 versuchen, die Äußerung an den Teil der Registrierungsgrammatik anzupassen, der mit "for" beginnt, und einen Erkennungskandidaten produzieren, der mit der besten Übereinstimmung mit diesem Teil der Registrierungsgrammatik korrespondiert.
  • Ferner identifiziert das Registrierungsprogramm einen besten Erkennungskandidaten, der mit der Rückweisungsgrammatik korrespondiert, und legt einen von der Erkennungseinrichtung 215 für diesen Kandidaten gelieferte Wertung als eine Rückweisungswertung fest (Schritt 1542). Im Allgemeinen sollte die Rückweisungswertung besser sein als die Registrierungswertung, wenn die Benutzeräußerung nicht mit dem erwarteten Teil der Registrierungstextes korrespondiert.
  • Die Rückweisungsgrammatik kann in EBNF wie folgt ausgedrückt werden:
    <Erkennungsergebnis> ::= <Phoneme>
    wobei
    <Phoneme> ::= Phonem [<Phoneme>]
    und Phonem ein beliebiges Phonem einer Gruppe von Phonemen der Rückweisungsgrammatik ist. Die Phonem-Gruppe der Rückweisungsgrammatik ist so gewählt, dass die meisten Laute in der erwarteten Sprache leidlich dargestellt werden können. Wenn die Rückweisungsgrammatik wie in dem vorstehenden Beispiel jegliche Kombination dieser Phoneme erlaubt, kann die für das Ermitteln der am besten zu einer Äußerung passenden Phoneme erforderliche Verarbeitung kostenaufwändig sein. Dementsprechend kann die Phonem-Gruppe der Rückweisungsgrammatik nur eine Untergruppe der von der Spracherkennung verwendeten Phonem-Gruppe beinhalten. Der beifolgende Anhang B zeigt zum Beispiel eine Gruppe von fünfzig Phonemen, wobei eine Untergruppe von neunzehn der Phoneme in der Phonem-Gruppe der Rückweisungsgrammatik enthalten ist.
  • Die Rückweisungsgrammatik passt die Akustik der Benutzeräußerung an eine Sequenz von Phonemen aus der Phonem-Gruppe der Rückweisungsgrammatik an. Die Wertung, die einem Erkennungskandidaten der Rückweisungsgrammatik zugeordnet ist, spiegelt den Grad wieder, mit dem die Benutzeräußerung mit der zusammenpassenden Sequenz von Phonemen korrespondiert, und ist so festgelegt, dass die Rückweisungswertung erwartungsgemäß besser ist als die Registrierungswertung, falls die Benutzeräußerung nicht zu einem Teil des Registrierungstextes passt.
  • Unter erneuter Bezugnahme auf das vorstehende Beispiel von 13, in der die Registrierungsposition bei "for" ist und die Benutzeräußerung "from Arthur C. Clarke's novel" ist, wird die Registrierungsgrammatik erwartungsgemäß einen Erkennungskandidaten mit einer Wertung ergeben, die für eine schlechte Übereinstimmung steht. Andererseits wird die Registrierungsgrammatik einen Erkennungskandidaten ergeben, der möglicherweise nicht genau "from Arthur C. Clarke's novel" ist, dem aber wohl näher kommt als der Registrierungs-Erkennungskandidat, der mit "for" beginnt. Dementsprechend sollte die Rückweisungsgrammatik einen Erkennungskandidaten mit einer besseren Übereinstimmung und einer besseren Wertung ergeben.
  • Das Registrierungsprogramm bestimmt, ob die Benutzeräußerung zu einer Registrierungsäußerung passt, indem es die Registrierungswertung mit der Rückweisungswertung vergleicht (Schritt 1543). Das genaue Verfahren des Vergleichens kann variieren. In einem einfachen Ansatz vergleicht zum Beispiel das Registrierungsprogramm die Registrierungs- und Rückweisungswertungen, und wenn die Registrierungswertung besser ist als Rückweisungswertung, bestimmt es, dass die Benutzeräußerung zu einem Teil des Registrierungstextes passt (Schritt 1544). Alternativ, wenn die Rückweisungswertung wie in dem vorstehenden Beispiel besser ist als die Registrierungswertung, bestimmt das Registrierungsprogramm, dass die Benutzeräußerung nicht zu einem Teil des Registrierungstextes passt (Schritt 1545).
  • Die Rückweisungsgrammatik wurde unter Bezugnahme auf ihre Verwendung mit der Registrierungsgrammatik beschrieben. Sie kann jedoch auch unter anderen Umständen verwendet werden. Im Allgemeinen wird sie stets verwendet, wenn die Beschränkungsgrammatik für Diktat mit großem Vokabular nicht aktiv ist. Die Spracherkennungssoftware kann beispielsweise einen "Geh schlafen"-Befehl enthalten, der alle Beschränkungsgrammatiken deaktiviert, außer der Rückweisungsgrammatik und einer Grammatik zum Erkennen eines "Wach auf"-Befehls. Im Allgemeinen wird die Erkennungseinrichtung 215 nach der Ausführung des "Geh schlafen"-Befehls nur den "Wach auf"-Befehl erkennen. Die Rückweisungsgrammatik ermöglicht es dem Steuer-/Schnittstellenmodul 220, zwischen dem "Wach auf"-Befehl und Geräuschen oder sonstigen Lauten zu unterscheiden.
  • Das Registrierungsprogramm schafft ein sprecherangepasstes Modell für den Benutzer, indem es, basierend auf der Benutzeräußerung, sprecherunabhängige akustische Modelle anpasst, die mit dem Registrierungstext korrespondieren. Wie vorstehend beschrieben stellen sprecherunabhängige akustische Modelle jeden Triphonknoten als eine Mischung von Gauß-Wahrscheinlichkeitsdichtefunktionen ("PDFs") Nk mit Durchschnittsvektoren k und Kovarianzmatrizen ck dar, wobei der Beitrag jeder PDF zum Triphonknoten durch einen Gewichtsfaktor wk dargestellt wird. Das sprecherangepasste Modell verwendet die Gewichtsfaktoren wk und die Kovarianzmatrizen ck des sprecherunabhängigen Modells, aber es verwendet angepasste Durchschnittsvektoren kA.
  • In 17 erzeugt das Registrierungsprogramm die angepassten Durchschnittsvektoren kA gemäß einem Verfahren 1700. Beginnend mit den Durchschnittsvektoren k des sprecherunabhängigen Modells (Schritt 1705) verwendet das Registrierungsprogramm einen transformationsbasierten Ansatz, um die angepassten Durchschnittsvektoren kA zu produzieren. Der transformationsbasierte Ansatz setzt voraus, dass ein angepasster Durchschnittsvektor kA wie folgt ausgedrückt werden kann: kA = A k + b,wobei A und b Transformierte sind. Wenn jeder Durchschnittsvektor 24 Eingänge hat, ist A eine 24 × 24 Matrix und b hat 24 Eingänge.
  • Danach erzeugt das Registrierungsprogramm Sammlungen von PDFs, von denen man annimmt, dass sie eine gemeinsame Transformation teilen (Schritt 1710). Eine Sammlung C könnte die PDFs beinhalten, die ähnlich lautende Triphone darstellen, wie zum Beispiel alle PDFs, die Vokalen zugeordnet sind, oder alle PDFs, die Konsonanten zugeordnet sind. Ein anderer Ansatz zum Erzeugen von Sammlungen ist das Gruppieren von PDFs, die Durchschnittsvektoren k mit ähnlichen Werten haben. Dieser Ansatz erlaubt vereinfachtes Erzeugen einer großer Anzahl von Sammlungen. Im Allgemeinen können Ausführungen zwischen einer und mehreren Hundert unterschiedliche Sammlungen enthalten. Ergebnisse anfänglicher Untersuchungen zeigen, dass der erste Ansatz bessere Ergebnisse liefert (d. h. Ergebnisse mit kleineren Erkennungsfehlerquoten). Im Allgemeinen können die Sammlungen vor der Registrierungssitzung identifiziert werden.
  • Danach stellt das Registrierungsprogramm für jede Sammlung alle Sprecherdaten für die PDFs zusammen, die in der Sammlung enthalten sind (Schritt 1715). Diese Sprecherdaten korrespondieren mit den Benutzeräußerungen, die während der Registrierungssitzung erzeugt wurden.
  • Anschließend bestimmt das Registrierungsprogramm y[j], den Durchschnittswert des Sprecherdatenvektors, für jede PDF j (Schritt 1720). Wenn f[n] der Vektor für den n-ten Sprecherdaten-Frame ist, pj(n) die Wahrscheinlichkeit ist, dass der n-te Sprecherdaten-Frame mit einer PDF j (d. h. dem Gewichtsfaktor wj für den dem n-ten Sprecherdaten-Frame zugeordneten Triphonknoten) korrespondiert und N die Gesamtanzahl von Sprecherdaten-Frames ist, dann können y[j] und die Anzahl von Frames, N(j], für den Rahmen j wie folgt bestimmt werden:
    Figure 00300001
  • Dies bezeichnet man üblicherweise als den Baum-Welch- oder EM-Algorithmus.
  • Danach produziert das Registrierungsprogramm unter Verwendung der Beziehung zwischen den Durchschnittswerten der Sprecherdaten und der PDFs des sprecherunabhängigen Modells (Schritt 1725) Transformierte (Ac und bc) für jede Sammlung C. Diese Beziehung kann allgemein wie folgt ausgedrückt werden: y[j] = Acx[j] + bc + e,wobei x[j] mit dem Durchschnittsvektor j für eine PDF j korrespondiert und e ein Fehlerterm ist. Basierend auf dieser Beziehung kann AC T, die Transponierte der Transformierten Ac, wie folgt bestimmt werden:
    Figure 00300002
    wobei xT [j] die Transponierte von x[j] ist, yT [j] die Transponierte von y[j] ist, und Nc die Anzahl der Komponenten in der Sammlung C ist.
  • Danach wird durch Transponieren von AC T die Transformierte Ac produziert, und die Transformierte bC wird wie folgt bestimmt:
    Figure 00300003
  • Unter Verwendung der Transformierten bestimmt das Registrierungsprogramm angepasste Durchschnittsvektoren, jA, für jede Komponente in der Sammlung C (Schritt 1730). Insbesondere werden die angepassten Durchschnittsvektoren wie folgt bestimmt: jA, = Ac j, + bC.
  • Anschließend speichert das Registrierungsprogramm die angepassten Durchschnittsvektoren jA zusammen mit einem Sprecheridentifizierer als ein sprecherangepasstes Modell zur späteren Verwendung in der Spracherkennung durch den Benutzer (Schritt 1735). Dieses Verfahren kann mehrere Male unter Verwendung der angepassten Modelle wiederholt werden, um die Anzahl der Frames, Sprecher (N[j] und y[j]) sowie die Transformiertenmatrix zu aktualisieren.
  • In einer anderen Ausführungsform können Brüche der sprecherunabhängigen Mittel (x[j]) und der sprecherspezifischen Mittel verwendet werden, um y[j] und N[j] zu berechnen:
    Figure 00310001
    wobei r den relativen Wichtigkeitsgrad der sprecherunabhängigen Mittel und der beobachteten Daten steuert. Der Wert von r wird als eine Funktion des Betrags der verfügbaren Anpassungsdaten optimiert.
  • Andere Ausführungsformen sind machbar. Ein Registrierungsprogramm kann beispielsweise mehrere Registrierungstexte beinhalten, von denen jeder mit Registrierungsgrammatiken korrespondiert, die es einem Benutzer erlauben, einen oder mehrere Texte für die Registrierung auszuwählen. Der Benutzer kann einen Registrierungstext erzeugen, für den das Registrierungsprogramm eine korrespondierende Registrierungsgrammatik erzeugt. Die speziellen Verfahren, mit denen die Registrierungs- und Rückweisungsgrammatiken eine Benutzeräußerung bewerten, können variieren. Ähnlich kann das Verfahren variieren, mit dem die Wertungen bewertet werden, um zu bestimmen, ob die Benutzeräußerung zu einem Teil des Registrierungstextes passt.
  • Die Benutzeroberfläche kann die Registrierungsposition unter Verwendung unterschiedlicher Techniken anzeigen. Zusätzlich zu dem vorstehend genannten und in den Figuren gezeigten Pfeil beinhalten die Möglichkeiten beispielsweise das Hervorheben von erkannten Textteilen oder das Anzeigen eines Positionsanzeigers an der Registrierungsposition.
  • Die hier beschriebenen Techniken sind nicht auf eine bestimmte Hardware- oder Softwarekonfiguration beschränkt, sondern sie können vielmehr in einer beliebigen Rechner- oder Verarbeitungsumgebung, die für Spracherkennung genutzt werden kann, Anwendung finden. Die Techniken können in Hardware oder Software oder aber in einer Kombination von beiden implementiert werden. Vorzugsweise werden die Techniken in Computerprogrammen implementiert, die auf programmierbaren Computern laufen, die jeweils einen Prozessor, ein vom Prozessor lesbares Speichermedium (einschließlich flüchtiger und nicht-flüchtiger Speicher und/oder Speicherelemente), mindestens eine Eingabeeinrichtung und eine oder mehrere Ausgabeeinrichtungen enthalten. Auf Daten, die unter Verwendung der Eingabeeinrichtung eingegeben werden, wird Programmcode angewendet, um die beschriebenen Funktionen auszuführen und Ausgabeinformationen zu erzeugen. Die Ausgabeinformationen werden auf eine oder mehrere Ausgabeeinrichtungen angewendet.
  • Jedes Programm wird vorzugsweise in einer höheren, verfahrens- oder objektorientierten Programmiersprache implementiert, um mit einem Computersystem zu kommunizieren. Falls gewünscht können die Programme jedoch in Assembler- oder Maschinensprache implementiert werden. In jedem Fall kann die Sprache eine kompilierte oder interpretierte Sprache sein.
  • Jedes derartige Computerprogramm wird vorzugsweise auf einem Speichermedium oder einem Speichergerät (z. B. CD-ROM, Festplatte oder Magnetdiskette) gespeichert, das von einem programmierbaren Mehrzweck- oder Spezialcomputer lesbar ist, um den Computer zu konfigurieren und zu bedienen, wenn das Speichermedium oder Speichergerät vom Computer gelesen wird, um die in diesem Dokument beschriebenen Verfahren auszuführen. Ferner kann in Erwägung gezogen werden, das System als computerlesbares Speichermedium zu implementieren, das mit einem Computerprogramm konfiguriert ist, wobei das so konfigurierte Speichermedium einen Computer veranlasst, in einer speziellen und vordefinierten Weise zu arbeiten.
  • FIG. 1
    Figure 00330001
  • FIG. 2
    Figure 00340001
  • FIG. 3
    Figure 00350001
  • FIG. 4A und 4B
    Figure 00360001
  • FIG. 7
    Figure 00370001
  • FIG. 9 und FIG. 10
    Figure 00380001
  • FIG. 11
    Figure 00390001
  • FIG. 12
    Figure 00400001
  • FIG. 13 und FIG. 14
    Figure 00410001
  • FIG. 15
    Figure 00420001
  • FIG. 16
    Figure 00430001
  • FIG. 17
    Figure 00440001

Claims (15)

  1. Computerimplementiertes Verfahren zum Registrieren eines Benutzers in einem Spracherkennungssystem, umfassend: Präsentieren eines Registrierungstextes (1310), Empfangen einer Benutzeräußerung; Analysieren von akustischem Inhalt der Benutzeräußerung; Bestimmen, basierend auf der Analyse, eines Teils eines Registrierungstextes (1310), der zu der Benutzeräußerung passt; und falls ein Teil des Registrierungstextes (1310) zu der Benutzeräußerung passt, Verwenden des akustischen Inhalts der Benutzeräußerung, um akustische Modelle (235), die mit dem Teil des Registrierungstextes (1310) korrespondieren, zu aktualisieren.
  2. Verfahren nach Anspruch 1, wobei ein Teil des Registrierungstextes (1310), der zu der Benutzeräußerung passt, ein Verwenden einer mit dem Registrierungstext (1310) korrespondierenden Registrierungsgrammatik umfasst.
  3. Verfahren nach Anspruch 2, wobei das Bestimmen eines Teils des Registrierungstextes (1310), der zu der Benutzeräußerung passt, ferner ein Verwenden einer Registrierungsgrammatik umfasst.
  4. Verfahren nach Anspruch 3, wobei die Zurückweisungsgrammatik eine Phonemgrammatik ist.
  5. Verfahren nach Anspruch 4, wobei die Zurückweisungsgrammatik eine Äußerung unter Verwendung einer Gruppe von Phonemen modelliert, die kleiner ist als eine von der Registrierungsgrammatik verwendete Gruppe von Phonemen.
  6. Verfahren nach einem der vorstehenden Ansprüche, ferner mit einem Bestimmen einer Registrierungsposition innerhalb des Registrierungstextes (1310), wobei das Bestimmen eines Teils des Registrierungstextes (1310), der zu der Benutzeräußerung passt, ein Bestimmen dahingehend umfasst, ob die Benutzeräußerung zu einem Teil des an der Registrierungsposition beginnenden Registrierungstextes (1310) passt.
  7. Verfahren nach Anspruch 6, ferner mit einem Anzeigen der Registrierungsposition.
  8. Verfahren nach Anspruch 6 oder Anspruch 7, ferner mit einem Vorrücken der Registrierungsposition im Registrierungstext (1310) hinter den zusammenpassenden Teil, falls ein Teil des Registrierungstextes (1310) zu der Benutzeräußerung passt.
  9. Verfahren nach Anspruch 1, ferner umfassend: Bestimmen einer Registrierungsposition innerhalb des Registrierungstextes (1310); Bestimmen, unter Verwendung einer Registrierungsgrammatik, eines Teils des an der Registrierungsposition beginnenden Registrierungstextes (1310), der am besten zu der Benutzeräußerung passt; Bestimmen, unter Verwendung der Registrierungsgrammatik, einer Registrierungswertung für den am besten passenden Teil des Registrierungstextes (1310); Bestimmen, unter Verwendung einer Zurückweisungsgrammatik, eines Erkennungskandidaten, der am besten zu der Benutzeräußerung passt; Bestimmen, unter Verwendung einer Zurückweisungsgrammatik, einer Zurückweisungswertung für den am besten passenden Erkennungskandidaten, wobei das Bestimmen eines Teils des Registrierungstextes (1310), der zu der Benutzeräußerung passt, auf der Registrierungswertung und der Zurückweisungswertung basiert.
  10. Verfahren nach einem der vorstehenden Ansprüche, ferner mit einem Auswählen des Registrierungstextes (1310) aus einer Mehrzahl von Registrierungstexten.
  11. Verfahren nach Anspruch 10, wobei jeder aus der Mehrzahl von Registrierungstexten eine korrespondierende Registrierungsgrammatik aufweist und das Bestimmen eines Teils eines Registrierungstextes, der zu der Benutzeräußerung passt, ferner ein Verwenden der mit dem ausgewählten Registrierungstext korrespondierenden Registrierungsgrammatik umfasst.
  12. Verfahren nach einem der Ansprüche 1 bis 9, ferner mit einem Empfangen eines Registrierungstextes zur Verwendung als der Registrierungstext.
  13. Verfahren nach Anspruch 12, ferner mit einem Erzeugen einer mit dem empfangenen Registrierungstext korrespondierenden Registrierungsgrammatik, wobei das Bestimmen eines Teils des Registrierungstextes, der zu der Benutzeräußerung passt, die erzeugte Registrierungsgrammatik verwendet.
  14. Verfahren nach einem der vorstehenden Ansprüche, ferner mit einem Ignorieren der Benutzeräußerung, falls ein Teil des Registrierungstextes nicht zu der Benutzeräußerung passt.
  15. Spracherkennungssystem zum Registrieren eines Benutzers, mit: einer Anzeige (120), die so ausgebildet ist, dass ein Registrierungstext (1310) einem Benutzer angezeigt werden kann; einer Eingabeeinrichtung (105), die so ausgebildet ist, dass sie Sprachsignale empfangen kann; einem Prozessor, der so ausgebildet ist, dass dieser jeweils eine Benutzeräußerung aus einem empfangenen Sprachsignal bestimmen kann, einen akustischen Inhalt einer Benutzeräußerung analysieren kann, basierend auf der akustischen Analyse bestimmen kann, ob die Benutzeräußerung zu einem Teil eines Registrierungstextes (1310) passt, und die Benutzeräußerung dazu verwenden kann, akustische Modelle (235), die mit dem Teil des Registrierungstextes korrespondieren, zu aktualisieren, falls die Benutzeräußerung zu einem Teil des Registrierungstextes (1310) passt.
DE69829235T 1997-03-28 1998-03-27 Registrierung für die Spracherkennung Expired - Lifetime DE69829235T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/825,536 US6212498B1 (en) 1997-03-28 1997-03-28 Enrollment in speech recognition
US825536 1997-03-28

Publications (2)

Publication Number Publication Date
DE69829235D1 DE69829235D1 (de) 2005-04-14
DE69829235T2 true DE69829235T2 (de) 2006-02-09

Family

ID=25244260

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69829235T Expired - Lifetime DE69829235T2 (de) 1997-03-28 1998-03-27 Registrierung für die Spracherkennung

Country Status (3)

Country Link
US (1) US6212498B1 (de)
EP (2) EP1515306A1 (de)
DE (1) DE69829235T2 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102019002791A1 (de) 2019-04-16 2019-10-17 Daimler Ag Verfahren und Vorrichtung zur Verarbeitung von Spracheingaben, vorzugweise Adresseingaben

Families Citing this family (72)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6601027B1 (en) * 1995-11-13 2003-07-29 Scansoft, Inc. Position manipulation in speech recognition
US8209184B1 (en) * 1997-04-14 2012-06-26 At&T Intellectual Property Ii, L.P. System and method of providing generated speech via a network
US6012027A (en) * 1997-05-27 2000-01-04 Ameritech Corporation Criteria for usable repetitions of an utterance during speech reference enrollment
US7630895B2 (en) * 2000-01-21 2009-12-08 At&T Intellectual Property I, L.P. Speaker verification method
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
US6163768A (en) * 1998-06-15 2000-12-19 Dragon Systems, Inc. Non-interactive enrollment in speech recognition
US6457031B1 (en) * 1998-09-02 2002-09-24 International Business Machines Corp. Method of marking previously dictated text for deferred correction in a speech recognition proofreader
US6501751B1 (en) * 1998-09-30 2002-12-31 Symantec Corporation Voice communication with simulated speech data
US6324507B1 (en) 1999-02-10 2001-11-27 International Business Machines Corp. Speech recognition enrollment for non-readers and displayless devices
DE19929462A1 (de) * 1999-06-26 2001-02-22 Philips Corp Intellectual Pty Verfahren zum Training eines automatischen Spracherkenners
US6678658B1 (en) * 1999-07-09 2004-01-13 The Regents Of The University Of California Speech processing using conditional observable maximum likelihood continuity mapping
US6477493B1 (en) * 1999-07-15 2002-11-05 International Business Machines Corporation Off site voice enrollment on a transcription device for speech recognition
US7120582B1 (en) * 1999-09-07 2006-10-10 Dragon Systems, Inc. Expanding an effective vocabulary of 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
JP3426176B2 (ja) * 1999-12-27 2003-07-14 インターナショナル・ビジネス・マシーンズ・コーポレーション 音声認識装置、方法、コンピュータ・システム及び記憶媒体
JP2001197379A (ja) * 2000-01-05 2001-07-19 Matsushita Electric Ind Co Ltd 機器設定装置、機器設定システムおよび機器設定処理プログラムを記録した記録媒体
AU2001259446A1 (en) * 2000-05-02 2001-11-12 Dragon Systems, Inc. Error correction in speech recognition
US7457750B2 (en) * 2000-10-13 2008-11-25 At&T Corp. Systems and methods for dynamic re-configurable speech recognition
US7103549B2 (en) * 2001-03-22 2006-09-05 Intel Corporation Method for improving speech recognition performance using speaker and channel information
EP1256934B1 (de) * 2001-05-08 2004-07-14 Sony International (Europe) GmbH Verfahren zur Adaption von Sprecheridentifikationsdaten unter Verwendung von im Betrieb gewonnener Sprache
JP3795409B2 (ja) * 2001-09-14 2006-07-12 富士通株式会社 音声認識装置及び方法
US7263694B2 (en) * 2001-10-26 2007-08-28 International Business Machines Corporation Directed non-cyclic graph walking system for data processing and analysis in software application
US7054813B2 (en) * 2002-03-01 2006-05-30 International Business Machines Corporation Automatic generation of efficient grammar for heading selection
US7047200B2 (en) * 2002-05-24 2006-05-16 Microsoft, Corporation Voice recognition status display
US7286987B2 (en) * 2002-06-28 2007-10-23 Conceptual Speech Llc Multi-phoneme streamer and knowledge representation speech recognition system and method
US7191130B1 (en) * 2002-09-27 2007-03-13 Nuance Communications Method and system for automatically optimizing recognition configuration parameters for speech recognition systems
US7584102B2 (en) * 2002-11-15 2009-09-01 Scansoft, Inc. Language model for use in speech recognition
US7389228B2 (en) 2002-12-16 2008-06-17 International Business Machines Corporation Speaker adaptation of vocabulary for speech recognition
US7676366B2 (en) * 2003-01-13 2010-03-09 Art Advanced Recognition Technologies Inc. Adaptation of symbols
EP1639579A1 (de) * 2003-07-01 2006-03-29 France Telecom Verfahren und system zur sprachanalyse zur kompakten darstellung von sprechern
US20050240406A1 (en) * 2004-04-21 2005-10-27 David Carroll Speech recognition computing device display with highlighted text
US7895039B2 (en) 2005-02-04 2011-02-22 Vocollect, Inc. Methods and systems for optimizing model adaptation for a speech recognition system
US8200495B2 (en) 2005-02-04 2012-06-12 Vocollect, Inc. Methods and systems for considering information about an expected response when performing speech recognition
US7865362B2 (en) 2005-02-04 2011-01-04 Vocollect, Inc. Method and system for considering information about an expected response when performing speech recognition
US7827032B2 (en) 2005-02-04 2010-11-02 Vocollect, Inc. Methods and systems for adapting a model for a speech recognition system
US7949533B2 (en) 2005-02-04 2011-05-24 Vococollect, Inc. Methods and systems for assessing and improving the performance of a speech recognition system
US7424431B2 (en) * 2005-07-11 2008-09-09 Stragent, Llc System, method and computer program product for adding voice activation and voice control to a media player
EP2005418B1 (de) * 2006-04-03 2012-06-27 Vocollect, Inc. Verfahren und systeme zur adaption eines modells für ein spracherkennungssystem
US8510109B2 (en) 2007-08-22 2013-08-13 Canyon Ip Holdings Llc Continuous speech transcription performance indication
US8731925B2 (en) * 2006-12-22 2014-05-20 Nuance Communications, Inc. Solution that integrates voice enrollment with other types of recognition operations performed by a speech recognition engine using a layered grammar stack
US9973450B2 (en) 2007-09-17 2018-05-15 Amazon Technologies, Inc. Methods and systems for dynamically updating web service profile information by parsing transcribed message strings
US8595642B1 (en) 2007-10-04 2013-11-26 Great Northern Research, LLC Multiple shell multi faceted graphical user interface
US8165886B1 (en) 2007-10-04 2012-04-24 Great Northern Research LLC Speech interface system and method for control and interaction with applications on a computing system
US8219407B1 (en) 2007-12-27 2012-07-10 Great Northern Research, LLC Method for processing the output of a speech recognizer
US10032127B2 (en) 2011-02-18 2018-07-24 Nuance Communications, Inc. Methods and apparatus for determining a clinician's intent to order an item
US9904768B2 (en) 2011-02-18 2018-02-27 Nuance Communications, Inc. Methods and apparatus for presenting alternative hypotheses for medical facts
US10460288B2 (en) 2011-02-18 2019-10-29 Nuance Communications, Inc. Methods and apparatus for identifying unspecified diagnoses in clinical documentation
US8768723B2 (en) 2011-02-18 2014-07-01 Nuance Communications, Inc. Methods and apparatus for formatting text for clinical fact extraction
US8914290B2 (en) 2011-05-20 2014-12-16 Vocollect, Inc. Systems and methods for dynamically improving user intelligibility of synthesized speech in a work environment
US9569594B2 (en) 2012-03-08 2017-02-14 Nuance Communications, Inc. Methods and apparatus for generating clinical reports
US9064492B2 (en) 2012-07-09 2015-06-23 Nuance Communications, Inc. Detecting potential significant errors in speech recognition results
CN103577072A (zh) * 2012-07-26 2014-02-12 中兴通讯股份有限公司 一种终端语音辅助编辑的方法及装置
US20140122078A1 (en) * 2012-11-01 2014-05-01 3iLogic-Designs Private Limited Low Power Mechanism for Keyword Based Hands-Free Wake Up in Always ON-Domain
US10504622B2 (en) 2013-03-01 2019-12-10 Nuance Communications, Inc. Virtual medical assistant methods and apparatus
US11024406B2 (en) 2013-03-12 2021-06-01 Nuance Communications, Inc. Systems and methods for identifying errors and/or critical results in medical reports
US9978395B2 (en) 2013-03-15 2018-05-22 Vocollect, Inc. Method and system for mitigating delay in receiving audio stream during production of sound from audio stream
US11183300B2 (en) 2013-06-05 2021-11-23 Nuance Communications, Inc. Methods and apparatus for providing guidance to medical professionals
US10496743B2 (en) 2013-06-26 2019-12-03 Nuance Communications, Inc. Methods and apparatus for extracting facts from a medical text
US9940927B2 (en) * 2013-08-23 2018-04-10 Nuance Communications, Inc. Multiple pass automatic speech recognition methods and apparatus
US9779722B2 (en) * 2013-11-05 2017-10-03 GM Global Technology Operations LLC System for adapting speech recognition vocabulary
US10366424B2 (en) 2014-06-04 2019-07-30 Nuance Communications, Inc. Medical coding system with integrated codebook interface
US10319004B2 (en) 2014-06-04 2019-06-11 Nuance Communications, Inc. User and engine code handling in medical coding system
US10331763B2 (en) 2014-06-04 2019-06-25 Nuance Communications, Inc. NLU training with merged engine and user annotations
US10373711B2 (en) 2014-06-04 2019-08-06 Nuance Communications, Inc. Medical coding system with CDI clarification request notification
US10754925B2 (en) 2014-06-04 2020-08-25 Nuance Communications, Inc. NLU training with user corrections to engine annotations
US10366687B2 (en) 2015-12-10 2019-07-30 Nuance Communications, Inc. System and methods for adapting neural network acoustic models
US11152084B2 (en) 2016-01-13 2021-10-19 Nuance Communications, Inc. Medical report coding with acronym/abbreviation disambiguation
US10714121B2 (en) 2016-07-27 2020-07-14 Vocollect, Inc. Distinguishing user speech from background speech in speech-dense environments
US10949602B2 (en) 2016-09-20 2021-03-16 Nuance Communications, Inc. Sequencing medical codes methods and apparatus
US11133091B2 (en) 2017-07-21 2021-09-28 Nuance Communications, Inc. Automated analysis system and method
US11024424B2 (en) 2017-10-27 2021-06-01 Nuance Communications, Inc. Computer assisted coding systems and methods
GB2568902B (en) * 2017-11-29 2020-09-09 Auris Tech Ltd System for speech evaluation

Family Cites Families (47)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5054085A (en) 1983-05-18 1991-10-01 Speech Systems, Inc. Preprocessing system for speech recognition
US4618984A (en) 1983-06-08 1986-10-21 International Business Machines Corporation Adaptive automatic discrete utterance recognition
US4718088A (en) * 1984-03-27 1988-01-05 Exxon Research And Engineering Company Speech recognition training method
US4817158A (en) 1984-10-19 1989-03-28 International Business Machines Corporation Normalization of speech signals
US4759068A (en) 1985-05-29 1988-07-19 International Business Machines Corporation Constructing Markov models of words from multiple utterances
US4833712A (en) 1985-05-29 1989-05-23 International Business Machines Corporation Automatic generation of simple Markov model stunted baseforms for words in a vocabulary
US4819271A (en) 1985-05-29 1989-04-04 International Business Machines Corporation Constructing Markov model word baseforms from multiple utterances by concatenating model sequences for word segments
US4783803A (en) 1985-11-12 1988-11-08 Dragon Systems, Inc. Speech recognition apparatus and method
US4776016A (en) 1985-11-21 1988-10-04 Position Orientation Systems, Inc. Voice control system
JPS62232000A (ja) 1986-03-25 1987-10-12 インタ−ナシヨナル・ビジネス・マシ−ンズ・コ−ポレ−シヨン 音声認識装置
CA1311059C (en) 1986-03-25 1992-12-01 Bruce Allen Dautrich Speaker-trained speech recognizer having the capability of detecting confusingly similar vocabulary words
JPH0632020B2 (ja) 1986-03-25 1994-04-27 インタ−ナシヨナル ビジネス マシ−ンズ コ−ポレ−シヨン 音声合成方法および装置
JPS62231993A (ja) 1986-03-25 1987-10-12 インタ−ナシヨナル ビジネス マシ−ンズ コ−ポレ−シヨン 音声認識方法
US4827521A (en) 1986-03-27 1989-05-02 International Business Machines Corporation Training of markov models used in a speech recognition system
US4882759A (en) 1986-04-18 1989-11-21 International Business Machines Corporation Synthesizing word baseforms used in speech recognition
US4903305A (en) 1986-05-12 1990-02-20 Dragon Systems, Inc. Method for representing word models for use in speech recognition
US4829578A (en) 1986-10-02 1989-05-09 Dragon Systems, Inc. Speech detection and recognition apparatus for use with background noise of varying levels
US4829576A (en) 1986-10-21 1989-05-09 Dragon Systems, Inc. Voice recognition system
US4914703A (en) 1986-12-05 1990-04-03 Dragon Systems, Inc. Method for deriving acoustic models for use in speech recognition
US4805219A (en) 1987-04-03 1989-02-14 Dragon Systems, Inc. Method for speech recognition
US4805218A (en) 1987-04-03 1989-02-14 Dragon Systems, Inc. Method for speech analysis and speech recognition
US5231670A (en) 1987-06-01 1993-07-27 Kurzweil Applied Intelligence, Inc. Voice controlled system and method for generating text from a voice controlled input
US4926488A (en) 1987-07-09 1990-05-15 International Business Machines Corporation Normalization of speech by adaptive labelling
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
JPH01102599A (ja) 1987-10-12 1989-04-20 Internatl Business Mach Corp <Ibm> 音声認識方法
US5072452A (en) 1987-10-30 1991-12-10 International Business Machines Corporation Automatic determination of labels and Markov word models in a speech recognition system
US4984177A (en) 1988-02-05 1991-01-08 Advanced Products And Technologies, Inc. Voice language translator
US4931950A (en) 1988-07-25 1990-06-05 Electric Power Research Institute Multimedia interface and method for computer system
US5027406A (en) 1988-12-06 1991-06-25 Dragon Systems, Inc. Method for interactive speech recognition and training
US5054074A (en) 1989-03-02 1991-10-01 International Business Machines Corporation Optimized speech recognition system and method
JPH0636156B2 (ja) 1989-03-13 1994-05-11 インターナショナル・ビジネス・マシーンズ・コーポレーション 音声認識装置
JPH03163623A (ja) 1989-06-23 1991-07-15 Articulate Syst Inc 音声制御コンピュータ・インターフェース
DE3931638A1 (de) 1989-09-22 1991-04-04 Standard Elektrik Lorenz Ag Verfahren zur sprecheradaptiven erkennung von sprache
US5036538A (en) 1989-11-22 1991-07-30 Telephonics Corporation Multi-station voice recognition and processing system
US5202952A (en) 1990-06-22 1993-04-13 Dragon Systems, Inc. Large-vocabulary continuous speech prefiltering and processing system
US5278942A (en) 1991-12-05 1994-01-11 International Business Machines Corporation Speech coding apparatus having speaker dependent prototypes generated from nonuser reference data
US5280563A (en) * 1991-12-20 1994-01-18 Kurzweil Applied Intelligence, Inc. Method of optimizing a composite speech recognition expert
US5333236A (en) 1992-09-10 1994-07-26 International Business Machines Corporation Speech recognizer having a speech coder for an acoustic match based on context-dependent speech-transition acoustic models
EP0590173A1 (de) 1992-09-28 1994-04-06 International Business Machines Corporation Computersystem zur Spracherkennung
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
US5384892A (en) * 1992-12-31 1995-01-24 Apple Computer, Inc. Dynamic language model for speech recognition
US5467425A (en) 1993-02-26 1995-11-14 International Business Machines Corporation Building scalable N-gram language models using maximum likelihood maximum entropy N-gram models
US5497447A (en) 1993-03-08 1996-03-05 International Business Machines Corporation Speech coding apparatus having acoustic prototype vectors generated by tying to elementary models and clustering around reference vectors
US5465317A (en) 1993-05-18 1995-11-07 International Business Machines Corporation Speech recognition system with improved rejection of words and sounds not in the system vocabulary
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
US5710864A (en) 1994-12-29 1998-01-20 Lucent Technologies Inc. Systems, methods and articles of manufacture for improving recognition confidence in hypothesized keywords
US5715367A (en) 1995-01-23 1998-02-03 Dragon Systems, Inc. Apparatuses and methods for developing and using models for speech recognition

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102019002791A1 (de) 2019-04-16 2019-10-17 Daimler Ag Verfahren und Vorrichtung zur Verarbeitung von Spracheingaben, vorzugweise Adresseingaben

Also Published As

Publication number Publication date
EP0867857A3 (de) 1999-04-14
DE69829235D1 (de) 2005-04-14
US6212498B1 (en) 2001-04-03
EP0867857B1 (de) 2005-03-09
EP1515306A1 (de) 2005-03-16
EP0867857A2 (de) 1998-09-30

Similar Documents

Publication Publication Date Title
DE69829235T2 (de) Registrierung für die Spracherkennung
DE69827988T2 (de) Sprachmodelle für die Spracherkennung
DE69923379T2 (de) Nicht-interaktive Registrierung zur Spracherkennung
DE102020205786B4 (de) Spracherkennung unter verwendung von nlu (natural language understanding)-bezogenem wissen über tiefe vorwärtsgerichtete neuronale netze
DE60201262T2 (de) Hierarchische sprachmodelle
DE69822296T2 (de) Mustererkennungsregistrierung in einem verteilten system
DE112014006542B4 (de) Einrichtung und Verfahren zum Verständnis von einer Benutzerintention
DE69834553T2 (de) Erweiterbares spracherkennungssystem mit einer audio-rückkopplung
DE69634239T2 (de) Erkennung kontinuierlich gesprochener Texte und Befehle
DE69923191T2 (de) Interaktive anwenderschnittstelle mit spracherkennung und natursprachenverarbeitungssystem
DE69725802T2 (de) Vorfilterung mittels lexikalischer Bäumen für die Spracherkennung
DE60318544T2 (de) Sprachmodell für die Spracherkennung
US6064959A (en) Error correction in speech recognition
DE69914131T2 (de) Positionshandhabung bei der Spracherkennung
EP1466317B1 (de) Betriebsverfahren eines automatischen spracherkenners zur sprecherunabhängigen spracherkennung von worten aus verschiedenen sprachen und automatischer spracherkenner
DE69818231T2 (de) Verfahren zum diskriminativen training von spracherkennungsmodellen
DE19847419A1 (de) Verfahren zur automatischen Erkennung einer buchstabierten sprachlichen Äußerung
DE60215272T2 (de) Verfahren und Vorrichtung zur sprachlichen Dateneingabe bei ungünstigen Bedingungen
DE602005000308T2 (de) Vorrichtung für sprachgesteuerte Anwendungen
EP0874353A2 (de) Erzeugung von Aussprachevarianten für die Spracherkennung
EP1217610A1 (de) Verfahren und System zur multilingualen Spracherkennung
EP0797185A2 (de) Verfahren und Vorrichtung zur Spracherkennung
EP3010014B1 (de) Verfahren zur interpretation von automatischer spracherkennung
DE60318385T2 (de) Sprachverarbeitungseinrichtung und -verfahren, aufzeichnungsmedium und programm
EP0836175B1 (de) Verfahren und Anordnung zum Ableiten wenigstens einer Folge von Wörtern aus einem Sprachsignal

Legal Events

Date Code Title Description
8364 No opposition during term of opposition