DE69707876T2 - Verfahren und vorrichtung fuer dynamisch eingestelltes training zur spracherkennung - Google Patents
Verfahren und vorrichtung fuer dynamisch eingestelltes training zur spracherkennungInfo
- Publication number
- DE69707876T2 DE69707876T2 DE69707876T DE69707876T DE69707876T2 DE 69707876 T2 DE69707876 T2 DE 69707876T2 DE 69707876 T DE69707876 T DE 69707876T DE 69707876 T DE69707876 T DE 69707876T DE 69707876 T2 DE69707876 T2 DE 69707876T2
- Authority
- DE
- Germany
- Prior art keywords
- phonetic unit
- phonetic
- probability
- word
- computer system
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
- 238000012549 training Methods 0.000 title claims description 99
- 238000000034 method Methods 0.000 title claims description 78
- 239000013598 vector Substances 0.000 claims description 40
- 230000008569 process Effects 0.000 claims description 16
- 230000001419 dependent effect Effects 0.000 claims description 9
- 238000001514 detection method Methods 0.000 claims 3
- 230000007704 transition Effects 0.000 description 25
- 238000010586 diagram Methods 0.000 description 15
- 238000013139 quantization Methods 0.000 description 12
- 238000012545 processing Methods 0.000 description 8
- 238000004364 calculation method Methods 0.000 description 7
- 239000000203 mixture Substances 0.000 description 5
- 206010003830 Automatism Diseases 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000003203 everyday effect Effects 0.000 description 1
- 230000003862 health status Effects 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000026676 system process Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/06—Creation of reference templates; Training of speech recognition systems, e.g. adaptation to the characteristics of the speaker's voice
- G10L15/063—Training
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/06—Creation of reference templates; Training of speech recognition systems, e.g. adaptation to the characteristics of the speaker's voice
- G10L15/063—Training
- G10L2015/0635—Training updating or merging of old and new templates; Mean values; Weighting
Landscapes
- Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Machine Translation (AREA)
- Electrically Operated Instructional Devices (AREA)
Description
- Die vorliegende Erfindung betrifft die Computerspracherkennung und insbesondere das Trainieren eines Computerspracherkennungssystems.
- Die schnelle und genaue Erkennung von menschlicher Sprache durch ein Computersystem ist seit langem das Ziel von Computersystementwicklern. Die Vorteile, die aus einer derartigen Computerspracherkennung (CSR) erwachsen würden, sind immens. Anstelle beispielsweise ein Dokument in ein Computersystem einzutippen, könnte eine Person die Worte des Dokuments einfach sprechen, wobei das CSR-System dann die Worte erkennt und die Zeichen für jedes Wort genau so speichert, wie wenn die Wörter eingetippt worden wären. Weil Menschen allgemein schneller sprechen als tippen können, könnte dadurch die Effizienz verbessert werden. Computer könnten dann auch für viele Anwendungen verwendet werden, wo sie gegenwärtig nicht verwendet werden können, weil die Hände einer Person mit anderen Aufgaben als dem Eintippen beschäftigt sind.
- Typische CSR-Systeme erkennen Wörter, indem sie eine gesprochene Äußerung mit einem Modell jedes Worts in einem Wortverzeichnis vergleichen. Das Wort, dessen Modell der Äußerung am besten entspricht, wird als das gesprochene Wort erkannt. Ein CSR-System kann jedes Wort als eine Sequenz von Phonemen modellieren, die das Wort bilden. Um eine Äußerung zu erkennen, identifiziert das CSR-System eine Wortsequenz, deren Phoneme der Äußerung am besten entsprechen. Diese Phoneme müssen jedoch nicht exakt den Phonemen entsprechen, die das Wort bilden. Deshalb verwenden CSR-Systeme üblicherweise eine Wahrscheinlichkeitsanalyse, um zu bestimmen, welches Wort den identifizierten Phonemen am besten entspricht.
- Beim Erkennen einer Äußerung wandelt ein CSR-System das analoge Signal, das die Äußerung wiedergibt, in eine für die weitere Verarbeitung besser verwendbare Form um. Das CSR-System wandelt das analoge Signal zuerst in eine digitale Form um. Dann wendet das CSR-System eine Signalverarbeitungstechnik wie etwa eine schnelle Fouriertransformierte (FFT), ein lineare Vorauscodierung (LPC) oder Filterbänke auf die digitale Form an, um eine entsprechende parametrische Wiedergabe der Äußerung zu erhalten. Eine häufig verwendete Wiedergabe ist ein "Merkmalvektor" mit FFT- oder LPC-Koeffizienten, die die Frequenz und/oder die Energiebänder der Äußerung bei verschiedenen Intervallen wiedergeben (als "Rahmen" bezeichnet). Die Intervalle können kurz oder lang sein, je nach der Rechenleistung des Computersystems und der gewünschten Genauigkeit des Erkennungsprozesses. Typische Intervalle können im Bereich von 10 Millisekunden liegen. Das heißt, das CSR-System erzeugt einen Merkmalvektor für alle 10 Millisekunden der Äußerung. Jeder Rahmen ist üblicherweise 25 ms lang. Deshalb wird alle 10 ms ein 25 ms langer Rahmen erzeugt. Es besteht also eine Überlappung zwischen aufeinander folgenden Rahmen.
- Um die Verarbeitung der Merkmalvektoren zu vereinfachen, wird jeder Vektor zu einem von einer begrenzten Anzahl (z. B. 256) "Quantisierungsvektoren" quantisiert. Das heißt, das CSR-System definiert eine Anzahl von Quantisierungsvektoren, die ausgewählt werden, um typische oder durchschnittliche Bereiche von Merkmalvektoren wiederzugeben. Das CSR- System vergleicht dann jeden Merkmalvektor mit jedem der Quantisierungsvektoren und wählt den Quantisierungsvektor, der dem Merkmalvektor am ähnlichsten ist, um den Merkmalvektor wiederzugeben. Jeder Quantisierungsvektor wird eindeutig durch eine Nummer (z. B. zwischen 1 und 256) identifiziert, die als "Codewort" bezeichnet wird. Wenn ein Merkmalvektor als Quantisierungsvektor wiedergegeben wird, ist damit ein Informationsverlust verbunden, weil viele verschiedene Vektoren auf denselben Quantisierungsvektor gemappt werden. Um sicherzustellen, dass dieser Informationsverlust die Erkennung nicht wesentlich beeinträchtigt, können CSR-Systeme Tausende oder Millionen von Quantisierungsvektoren definieren. Der Speicherplatzbedarf zum Speichern der Definitionen einer derart großen Menge von Quantisierungsvektoren kann beträchtlich sein. Um also die erforderliche Speichergröße zu reduzieren, segmentieren CSR-Systeme die Merkmalvektoren und quantisieren jedes Segment zu einem von einer kleinen Anzahl (z. B. 256) Quantisierungsvektoren. Auf diese Weise wird jeder Merkmalsvektor durch einen Quantisierungsvektor (durch ein Codewort identifiziert) für jedes Segment wiedergegeben. Der einfacheren Darstellung halber wird hier ein CSR-System beschrieben, das einen Merkmalvektor nicht segmentiert und deshalb nur ein Codewort pro Merkmalvektor (oder Rahmen) aufweist.
- Wie weiter oben erläutert, entspricht eine gesprochene Äußerung häufig nicht exakt einem Modell eines Wortes. Die Schwierigkeit, eine exakte Entsprechung zu finden, ist auf die große Variation der Sprache zurückzuführen, die nicht vollständig und genau durch die Wortmodelle erfasst werden kann. Diese Variationen resultieren zum Beispiel aus dem Akzent des Sprechers, der Geschwindigkeit und Tonhöhe, mit der eine Person spricht, dem Gesundheitszustand des Sprechers (Erkältungen usw.), dem Alter und Geschlecht des Sprechers usw. CSR-Systeme, die probabilistische Techniken verwenden, sind erfolgreicher bei der genauen Erkennung von Sprache als Techniken, die eine exakte Entsprechung suchen.
- Eine solche probabilistische Technik, die häufig zur Spracherkennung verwendet wird, sind verborgene Markovmodelle (Hidden Markov Models = "HMMs") für jedes Wort im Wortverzeichnis. Das HMM für ein Wort setzt Wahrscheinlichkeitsinformationen voraus, aus denen die Wahrscheinlichkeit abgeleitet werden kann, dass eine Sequenz von Codewörtern diesem Wort entspricht. Um also eine Äußerung zu erkennen, wandelt ein CSR-System die Äußerung zu einer Sequenz von Codewörtern um und verwendet dann das HMM für jedes Wort, um die Wahrscheinlichkeit zu bestimmen, dass dieses Wort der Äußerung entspricht. Das CSR-System erkennt die Äußerung als das Wort mit der höchsten Wahrscheinlichkeit.
- Ein HMM wird durch ein Zustandsdiagramm wiedergegeben. Zustandsdiagramme werden herkömmlicherweise verwendet, um einen Zustand zu bestimmen, in dem sich ein System befindet, nachdem es eine Sequenz von Eingaben erhalten hat. Ein Zustandsdiagramm umfasst Zustände und Übergänge zwischen Quell- und Zielzuständen. Jeder Übergang ist mit einer Eingabe assoziiert, die angibt, dass wenn das System diese Eingabe empfängt und im Quellzustand ist, das System zum nächsten Zielzustand übergeht. Ein derartiges Zustandsdiagramm kann beispielsweise durch ein System verwendet werden, das jede Sequenz von Codewörtern erkennt, die die Wörter in einem Wortverzeichnis bilden. Wenn das System jedes Codewort verarbeitet, bestimmt das System den nächsten Zustand auf Basis des aktuellen Zustands und des verarbeiteten Codeworts. In diesem Beispiel enthält das Zustandsdiagramm jedoch einen bestimmten Endzustand für jedes Wort. Wenn mehrere Aussprachen eines Wortes wiedergegeben werden, kann jedes Wort mehrere Endzustände aufweisen. Wenn das System nach der Verarbeitung der Codewörter in einem Endzustand ist, der einem Wort entspricht, dann wird diese Sequenz von Codewörtern als das Wort des Endzustands erkannt.
- In einem HMM ist weiterhin eine Wahrscheinlichkeit mit jedem Übergang von einem Zustand zu einem anderen Zustand für jedes Codewort assoziiert. Wenn beispielsweise ein HMM im Zustand 2 ist, dann kann die Wahrscheinlichkeit 0,1 sein, dass ein bestimmtes Codewort einen Übergang von dem aktuellen Zustand zu einem folgenden Zustand verwendet, oder 0,2, dass dasselbe Codewort einen Übergang von dem aktuellen Zustand zu einem anderen folgenden Zustand verursacht. Entsprechend kann die Wahrscheinlichkeit 0,01 sein, dass ein anderes Codewort einen Übergang von dem aktuellen Zustand zu einem folgenden Zustand verursacht. Weil bei einem HMM Wahrscheinlichkeiten im Zustandsdiagramm assoziiert sind, kann die Bestimmung des Endzustands für eine bestimmte Sequenz von Codewörtern nur in Wahrscheinlichkeiten ausgedrückt werden. Um also die Wahrscheinlichkeit jedes möglichen Endzustands für eine Sequenz von Codewörtern zu bestimmen, muss jede mögliche Sequenz von Zuständen für das Zustandsdiagramm des HMM identifiziert werden und müssen die assoziierten Wahrscheinlichkeiten berechnet werden. Jede derartige Sequenz von Zuständen wird als ein Zustandspfad bezeichnet.
- Um die Erkennung zu vereinfachen, repräsentieren CSR-Systeme üblicherweise jede mögliche phonetische Einheit mit einem HMM und geben jedes Wort als eine Sequenz aus phonetischen Einheiten aus, anstatt ein HMM mit einem großen Zustandsdiagramm zu verwenden, das die Wahrscheinlichkeiten für jede mögliche Sequenz von Codewörtern für jedes mögliche Wort verwendet. Herkömmlicherweise ist die phonetische Einheit ein Phonem. Es werden jedoch auch andere phonetische Einheiten wie etwa Senonen verwendet. (Siehe Hwang et al. "Predicting Unseen Triphones with Senones" Proc. ICASSP,93, 1993, Vol. II, pp. 311-314.) Mit einem HMM für jede phonetische Einheit, bewertet ein CSR-System die Wahrscheinlichkeit, dass eine Sequenz von Phonemen ein bestimmtes Wort wiedergibt, indem es die HMMs für die Phoneme des Wortes verkettet und das resultierende HMM bewertet.
- Jedes HMM enthält für jeden Zustand die Wahrscheinlichkeit, dass jedes Codewort in einem Übergang zu einem anderen Zustand resultiert. Die mit jedem Zustandsübergang assoziierten Wahrscheinlichkeiten werden durch Codewort-abhängige Ausgabewahrscheinlichkeiten für diesen Zustand und Codewort-unabhängige Übergangswahrscheinlichkeiten für diesen Zustand wiedergegeben. Die Codewort-abhängige Ausgabewahrscheinlichkeit für einen Zustand gibt die Wahrscheinlichkeit wieder, dass das Phonem das Codewort enthält, da das nächste Codewort nach einer Sequenz von Codewörtern zur Folge hat, dass das HMM in diesem Zustand ist. Die Codewort-unabhängige Übergangswahrscheinlichkeit für einen Zustand gibt die Wahrscheinlichkeit an, dass das HMM von diesen Zustand zu jedem folgenden Zustand übergeht. Die Wahrscheinlichkeit, ob das HMM von einem gegenwärtigen Zustand zu einem folgenden Zustand übergeht, wenn ein Codewort eingegeben wird, ist also das Produkt aus der Übergangswahrscheinlichkeit von dem gegenwärtigen Zustand zu dem folgenden Zustand und der Ausgabewahrscheinlichkeit für das empfangene Codewort.
- Fig. 1 stellt ein beispielhaftes HMM für ein Phonem dar. Das HMM enthält drei Zustände und zwei Übergänge aus jedem Zustand. Allgemein verwenden CSR-Systeme dasselbe Zustandsdiagramm, um die Phoneme darzustellen, wobei jedoch Phonem-abhängige Ausgabe- und Übergangswahrscheinlichkeiten verwendet werden. In Übereinstimmung mit diesem HMM kann ein Übergang nur zu demselben Zustand oder dem folgenden Zustand auftreten, was der Links-nach-Rechts-Natur der Sprache entspricht. Jeder Zustand ist mit einer Ausgabewahrscheinlichkeitstabelle assoziiert, die die Ausgabe- und Übergangswahrscheinlichkeiten enthält. Wie in Fig. 1 gezeigt, ist die Ausgabewahrscheinlichkeit für das Codewort 5 gleich 0,1, wenn das HMM im Zustand 2 ist, und ist die Übergangswahrscheinlichkeit in den Zustand 3 gleich 0,8, wenn das HMM im Zustand 2 ist. Die Wahrscheinlichkeit, dass das HMM vom Zustand 2 zum Zustand 3 übergeht, wenn das Codewort 5 empfangen wird, ist also 0,08 (d. h. 0,1 · 0,8).
- Um die Wahrscheinlichkeit zu bestimmen, dass eine Sequenz von Codewörtern ein Phonem wiedergibt, kann das CSR-System ein Wahrscheinlichkeitsgitter erzeugen. Das Wahrscheinlichkeitsgitter für das HMM eines Phonems gibt eine Berechnung der Wahrscheinlichkeiten für jeden möglichen Zustandspfad für die Sequenz von Codewörtern wieder. Das Wahrscheinlichkeitsgitter enthält einen Knoten für jeden möglichen Zustand, in dem das HMM sein kann, für jedes Codewort in der Sequenz. Jeder Knoten enthält die akkumulierte Wahrscheinlichkeit, dass die bisher verarbeiteten Codewörter zur Folge haben, dass das HJMM in dem mit diesem Knoten assoziierten Zustand ist. Die Summe der Wahrscheinlichkeiten in den Knoten für ein bestimmtes Codewort gibt die Wahrscheinlichkeit an, dass die bisher verarbeiteten Codewörter einen Präfixteil des Phonems wiedergeben.
- Fig. 2 ist ein Diagramm, dass ein Wahrscheinlichkeitsgitter darstellt. Das Wahrscheinlichkeitsgitter gibt eine Berechnung der Wahrscheinlichkeiten für jeden möglichen Zustand des in Fig. 1 gezeigten HMMs wieder, wenn die Codewortsequenz "7,5,2,1,2" verarbeitet wird. Die horizontale Achse entspricht den Codewörtern und die vertikale Achse entspricht den Zuständen des HMMs. Jeder Knoten des Gitters enthält die maximale Wahrscheinlichkeit jedes Quellenzustands multipliziert mit den Ausgabe- und Übergangswahrscheinlichkeiten, und nicht die Summe der Wahrscheinlichkeiten. Beispielsweise enthält der Knoten 201 eine Wahrscheinlichkeit von 8,6E-6, was das Maximum von 3,6E-4 · 0,01 · 0,9 und 1,4E-3 · 0,03 · 0,2 ist. Es gibt viele verschiedene Zustandspfade (d. h. Zustandssequenzen), die zu einem Knoten führen können. Beispielsweise kann der Knoten 201 über die Pfade "1,2,3,3", "1,2,2,3" und "1,1,2,3" erreicht werden. Jeder Zustandspfad weist eine Wahrscheinlichkeit auf, dass das HMM diesem Zustand bei der Verarbeitung der Codewortsequenz folgt. Die Wahrscheinlichkeit in jedem Knoten ist das Maximum der Wahrscheinlichkeiten jedes Zustandspfads, der zu dem Knoten führt. Diese maximalen Wahrscheinlichkeiten werden wie im Folgenden erläutert für die Viterbi-Ausrichtung verwendet.
- Fig. 3 stellt ein Wahrscheinlichkeitsgitter für ein Wort dar. Die vertikale Achse entspricht der Verkettung der Zustände des HMMs für die Phoneme des Wortes. Der Knoten 301 gibt einen Endzustand für das Wort wieder und enthält die maximale Wahrscheinlichkeit von allen Zustandspfaden, die zu diesem Knoten führen. Die dicken Linien von Fig. 3 geben den Zustandspfad mit der höchsten Wahrscheinlichkeit an, der am Knoten 301 endet. Bei bestimmten Anwendungen (z. B. dem Trainieren eines CSR-Systems), ist es hilfreich, den Zustandspfad zu identifizieren, der mit der höchsten Wahrscheinlichkeit zu einem bestimmten Knoten führt. Ein wohlbekannter Algorithmus zum Identifizieren eines derartigen Zustandspfades ist der Viterbie-Algorithmus. Nachdem der Viterbi-Algorithmus den wahrscheinlichsten Zustandspfad zum Endzustand bestimmt hat, kann von den Endknoten im Gitter zurückgegangen werden und der jeweils vorhergehende Knoten auf dem wahrscheinlichsten Zustandspfad bis zurück zum Ausgangsstatus bestimmt werden. Zum Beispiel ist der Zustandspfad, der mit der größten Wahrscheinlichkeit am Knoten 203 von Fig. 2 endet: "1,2,2,2,2,3". Wenn das Wahrscheinlichkeitsgitter die Phoneme wiedergibt, die ein Wort bilden, kann jeder Zustand durch das Phonem und den Zustand in dem Phonem identifiziert werden.
- Die Genauigkeit eines CSR-Systems hängt teilweise von der Genauigkeit der Ausgabe- und Übergangswahrscheinlichkeiten des HMM für jedes Phonem ab. Typische CSR-Systeme "trainieren" das CSR-System, so dass die Ausgabe- und Übergangswahrscheinlichkeiten die Sprache des durchschnittlichen Sprechers genau wiedergeben. Während des Trainings sammelt das CSR-System Codewortsequenzen von verschiedenen Sprechern für viele verschiedene Wörter. Die Wörter sind so gewählt, dass jedes Phonem viele Male gesprochen wird. Aus diesen Codewortsequenzen berechnet das CSR-System Ausgabe- und Übergangswahrscheinlichkeiten für jedes HMM. Verschiedene iterative Ansätze zum Berechnen dieser Wahrscheinlichkeiten sind wohlbekannt und werden in Huang et al. "Hidden Markov Models for Speech Recognition", Edinburgh University Press, 1990 beschrieben.
- Ein Problem bei derartigen Trainingstechniken besteht jedoch darin, dass derartige durchschnittliche HMMs die Sprache von Menschen nicht genau modellieren, deren Aussprache vom Durchschnitt abweicht. Allgemein enthält die Sprache jedes Menschen bestimmte Sprachmuster, die vom Durchschnitt abweichen. Folglich geben CSR-Systeme einem Sprecher die Möglichkeit, die HMMs zu trainieren, damit diese auf die Sprachmuster des Sprechers angepasst werden. Mit einem derartigen Training verfeinern CSR-Systeme die HMM-Parameter wie etwa die Ausgabe- und Übergangswahrscheinlichkeiten sowie die durch die Codewörter wiedergegebenen Quantisierungsvektoren, indem sie die durch den tatsächlichen Benutzer des Systems gesprochenen Trainingsäußerungen verwenden. Die angepassten Parameter werden abgeleitet, indem sowohl die durch den Benutzer bereitgestellten Daten als auch die aus der großen Menge von Sprecher-unabhängigen Daten erzeugten Informationen und Parameter verwendet werden. Auf diese Weise geben die Wahrscheinlichkeiten Sprecher-abhängige Eigenschaften wieder. Eine derartige Trainingstechnik ist in Huang und Lee "On Speaker-Independent, Speaker-Dependent und Speaker-Adaptive Speech Recognition", Proc. ICASSP 91, 1991, pp. 877-880.
- Ein CSR-System wird typischerweise trainiert, indem eine große Vielzahl von vorgewählten Wörtern einem Sprecher präsentiert werden. Diese Wörter wurden gewählt, um sicherzustellen, dass eine repräsentative Sprachprobe für jedes Phonem erfasst werden kann. Mit diesem repräsentativen Beispiel kann das CSR-System sicherstellen, dass HMMs, die die Aussprache dieses Phonems durch den Sprecher wiedergeben, entsprechend angepasst werden können. Wenn ein zusätzliches Training durchgeführt wird, weil der Sprecher beispielsweise nicht mit der Genauigkeit des Trainings zufrieden ist, präsentiert das CSR-System dem Sprecher weitere vorgewählte Wörter.
- Obwohl die Verwendung von vorgewählten Wörtern ein angemessenes Training ermöglicht, können Sprecher überfordert werden, wenn sie eine große Anzahl von Wörtern sprechen müssen. Weil die Wörter eigentlich vorgewählt wurden, um jedes Phonem zu enthalten, wird der Sprecher tatsächlich dazu aufgefordert, auch Wörter zu sprechen, deren Phonem mit einer annehmbaren Genauigkeit modelliert werden. Es wäre deshalb nützlich, über ein Trainingssystem zu verfügen, dass Wörter dynamisch für das Training aussucht, wobei es die Genauigkeit des Trainings optimiert und die Anzahl von Wörtern reduziert, die ein Sprecher sprechen muss.
- EP-A 0 623 914 gibt ein Verfahren und ein System für die Sprecher-unabhänige Erkennung von isolierten Wörtern auf der Basis eines hybriden Erkennungssystems an, das neuronale Netze verwendet, wobei vollständige Wörter mit Links-zu-Rechts-Markov-Modellautomatismen mit einer Rekursion auf Zuständen modelliert werden, die jeweils einem akustischen Teil des Worts entsprechen, wobei die Erkennung erhalten wird, indem eine dynamische Programmierung in Übereinstimmung mit dem Viterbi-Algorithmus auf allen Automatismen durchgeführt wird, um denjenigen mit dem einfachsten Pfad festzustellen, der dem erkannten Wort entspricht, wobei weiterhin die Emissionswahrscheinlichkeiten durch ein neuronales Netz mit Rückkopplung berechnet werden, ein herkömmliches Training vorgesehen ist und die Übergangswahrscheinlichkeiten in geeigneter Weise geschätzt werden.
- Das US-Patent Nr. 5,390,278 gibt ein Spracherkennungssystem mit flexiblem Wortschatz zum Erkennen von über das öffentliche Telefonnetz übertragener Sprache an, das ein auf Phonemen basierendes System ist. Die Phoneme werden als verborgene Markovmodelle modelliert. Das Wortverzeichnis wird durch verkettete Phonemmodelle wiedergegeben. Die Phonemmodelle werden unter Verwendung eines Viterbi-Trainings trainiert, das dadurch verbessert ist, dass die Kovarianzmatrix von bestimmten Phonem durch andere ersetzt wird und dass Energiestufenschwellwerte und stimmhafte, stimmlose und leise Etikettierungsbeschränkungen während des Viterbi-Trainings angewendet werden.
- EP-A 0 706 171 gibt ein Verfahren und eine Vorrichtung zur Spracherkennung an, die verborgene Markovmodelle mit kontinuierlicher Mischung für die Wahrscheinlichkeitsverarbeitung verwenden, wobei ein erster HMM-Typ mit einer kleinen Anzahl von Mischungen und ein zweiter HMM-Typ mit einer großen Anzahl von Mischungen vorgesehen ist. Erste Ausgabewahrscheinlichkeiten für die eingegebene Sprache werden unter Verwendung des HMM-Typs mit der kleinen Anzahl von Mischungen und zweite Ausgabewahrscheinlichkeiten für die eingegebene Sprache werden unter Verwendung des HMM-Typs mit der großen Anzahl von Mischungen für ausgewählte Zustände gebildet, die den höchsten Ausgabewahrscheinlichkeiten des ersten HMM-Typs entsprechen. Die Eingabesprache wird sowohl aus den ersten und als auch aus den zweiten Ausgabewahrscheinlichkeiten erkannt.
- Es ist eine Aufgabe der vorliegenden Erfindung, ein Verfahren und ein System anzugeben, welche die Genauigkeit des Trainings optimieren und die Anzahl von Wörtern reduzieren, die ein Sprecher sprechen muss.
- Diese Aufgabe wird durch das Verfahren nach dem unabhängigen Anspruch 1 und das System nach dem unabhängigen Anspruch 27 gelöst. Bevorzugte Ausführungsformen der vorliegenden Erfindung sind Gegenstand der abhängigen Ansprüche.
- Die vorliegende Erfindung gibt ein Verfahren und ein System zum dynamischen Auswählen von Wörtern für das Trainieren eines Spracherkennungssystems an. Jedes Wort wird durch das Spracherkennungssystem auf der Basis von enthaltenen phonetischen Einheiten modelliert. Das Trainingssystem sammelt gesprochene Äußerungen, für die das entsprechende Wort bekannt ist. Das Trainingssystem identifiziert aus den gesprochenen Äußerungen, welche phonetischen Einheiten durch das Spracherkennungssystem nicht genau modelliert wurden. Das Trainingssystem wählt dann Wörter, die eine nicht identifizierte phonetische Einheit enthalten, für das Trainieren des Spracherkennungssystems aus.
- Gemäß einem Aspekt der vorliegenden Erfindung modelliert das Spracherkennungssystem jedes Wort als eine Sequenz von Phonemen und sieht ein HMM für jedes Phonem vor. Das Trainingssystem identifiziert, welche Phoneme ungenau modelliert wurden, indem es jedes Codewort jeder Äußerung mit den Phonemen des bekannten Worts, dem die gesammelte Äußerung entspricht, auf der Basis der Phonemmodelle ausrichtet. Das Trainingssystem berechnet dann eine Genauigkeitsangabe, dass das Phonem genau modelliert ist, indem es die Phoneme bewertet, mit denen jedes Codewort ausgerichtet ist, und diese mit anderen Phonemen vergleicht.
- Fig. 1 stellt ein beispielhaftes HMM für ein Phonem dar.
- Fig. 2 ist ein Diagramm, dass ein Wahrscheinlichkeitsgitter darstellt.
- Fig. 3 stellt ein Wahrscheinlichkeitsgitter für ein Wort dar.
- Fig. 4 zeigt die Ausrichtung jedes Codeworts mit einem Phonem.
- Fig. 5A zeigt die Wahrscheinlichkeit, dass jedes Phonem ein Codewort enthält.
- Fig. 5B zeigt den Rang jedes Phonems für jedes Codewort.
- Fig. 5C zeigt die Ränge jedes Phonems für das Codewort jedes Rahmens.
- Fig. 6 zeigt eine beispielhafte Berechnung des durchschnittlichen Rangs der Codewörter, die mit den Phonemen ausgerichtet sind.
- Fig. 7 ist ein Blockdiagramm eines Computersystems, auf dem ein bevorzugtes Trainingssystem ausgeführt wird.
- Fig. 8 ist ein Flussdiagramm des Trainingssystems.
- Fig. 9 ist ein Flussdiagramm einer Prozedur zum Rangordnen von Phonemen auf der Basis der Genauigkeit der HMMs.
- Die vorliegende Erfindung gibt ein Verfahren und ein System zum dynamischen Auswählen von Wörtern für das Trainieren eines Computerspracherkennungssystems (CSR) an. In einer Ausführungsform identifiziert das Trainingssystem, welche phonetischen Einheiten wie etwa Phoneme am wenigsten genau durch dass CSR-System modelliert sind. Das Trainingssystem identifiziert dann Wörter, die eines oder mehrere dieser am wenigstens genau modellierten Phoneme enthalten. Das Trainingssystem fordert den Sprecher auf, diese identifizierten Wörter zu sprechen. Das Trainingssystem passt dann das Modell der Phoneme den gesprochenen Wörtern entsprechend an. Durch das Auswählen von Wörtern, die am wenigsten genau modellierte Phoneme enthalten, kann sich das Trainingssystem darauf konzentrieren, das Modell dort zu trainieren, wo das Modell am stärksten von dem tatsächlichen Sprachmuster des Sprechers abweicht. Darüber hinaus muss der Sprecher keine Wörter sprechen, die bereits genau modelliert werden.
- Das Trainingssystem bestimmt, welche Phoneme am wenigsten genau modelliert werden, indem es verschiedene durch den Sprecher gesprochene Äußerungen bewertet, für die das entsprechende Wort bereits bekannt ist. Das Trainingssystem wandelt die Äußerungen zu Codewörtern um und bestimmt dann mit Hilfe eines Prozesses, der als das Ausrichten von Codewörtern mit Phonemen bezeichnet wird, zu welchem Phonem jedes Codewort während der Spracherkennung gerechnet wird. Sobald die Ausrichtung abgeschlossen ist, bestimmt das Trainingssystem für jedes Codewort die Genauigkeit des Modells des ausgerichteten Phonems bei der Erkennung, dass das Codewort Teil des Phonems ist. Wenn ein Codewort beispielsweise mit einem Phonem ausgerichtet ist und das Modell voraussagt, dass eine geringe Wahrscheinlichkeit besteht, dass das Codewort bei einem Vergleich mit anderen Phonemen in diesem Phonem enthalten ist, ist die Genauigkeit dieses Modells bei der Erkennung des Codeworts als Teil des Phonems niedrig. Nachdem die Genauigkeit von Phonemmodellen für jedes Codewort bestimmt wurde, berechnet das Trainingssystem die Gesamtgenauigkeit des Modells bei der Erkennung der ausgerichteten Codewörter als Teil des Phonems. Die Gesamtgenauigkeit eines Phonems kann berechnet werden, indem die Genauigkeit für jedes mit diesem Phonem ausgerichtete Codewort gemittelt wird. Die Phoneme mit den geringsten Gesamtgenauigkeiten sind am wenigsten genau modelliert.
- Das Trainingssystem wählt Wörter für das Training, die am wenigsten genau modellierte Phoneme enthalten. Das Trainingssystem kann verschiedene Auswahltechniken verwenden. Das Trainingssystem kann eine bestimmte Anzahl der am wenigsten genau modellierten Phoneme identifizieren. Das Trainingssystem kann dann ein beliebiges Wort wählen, das wenigstens eines der identifizierten Phoneme enthält. Alternativ dazu kann das Trainingssystem vorzugsweise Wörter wählen, die mehr als eines der identifizierten Phoneme enthalten, um die Anzahl der Wörter zu reduzieren, die ein Sprecher sprechen muss, um mit den identifizierten Phonemen zu trainieren. Weiterhin kann das Trainingssystem vorzugsweise Wörter auswählen, die allgemein üblich sind, um sicherzustellen, dass der Sprecher keine ausgefallenen Wörter aussprechen muss, die dem Sprecher nicht vertraut sind.
- Das Trainingssystem richtet eine Sequenz von Codewörtern mit den Phonemen eines Wortes aus, indem es zuerst ein Wahrscheinlichkeitsgitter für die Codewörter und das bekannte Wort erzeugt. Das Trainingssystem identifiziert dann den wahrscheinlichsten Zustandspfad, der zu dem wahrscheinlichsten Zustand führt. Die Identifikation eines derartigen Zustandspfads verwendet vorzugsweise einen Viterbi-basierten Algorithmus. Das Trainingssystem verwendet dann den Zustandspfad, um zu identifizieren, welche Codewörter als Teil welcher Phoneme erkannt werden (mit diesen ausgerichtet sind).
- Das Trainingssystem kann Sprache für die Verwendung bei der Bestimmung der Genauigkeit des phonetischen Modells bestimmen, indem es entweder einen Sprecher für ein Training auffordert oder durch das CSR-System falsch erkannte Äußerungen zusammen mit den korrekten Wörtern speichert. Die jeweilige Aufforderung wird während einer Trainingssitzung gemacht. Das Trainingssystem beginnt damit, den Sprecher zum Aussprechen von verschiedenen vorgewählten Wörtern aufzufordern, und passt das Modell dann entsprechend an. Das Trainingssystem wählt dann Wörter mit Phonemen aus, die am wenigsten genau erkannt werden, und fordert den Sprecher auf, diese Wörter auszusprechen, um das Modell anzupassen. Das Trainingssystem kann eine derartige Anpassung wiederholt ausführen. Wenn die erfasst Sprache falsch erkannte Äußerungen umfasst, wählt das Trainingssystem zu Beginn Wörter aus, die Phoneme dieser falsch verstandenen und als am wenigsten genau bestimmten Äußerungen enthalten. Welche Phonemmodelle am wenigsten genau modelliert sind, kann bestimmt werden, indem die Phonemausrichtung der Äußerung und des falsch erkannten Worts mit der Phonemausrichtung des korrekten Worts verglichen wird. Zu den Faktoren, mit deren Hilfe ein Maß der Genauigkeit des Phonemmodells erhalten werden kann, gehören: die Häufigkeit, mit der ein Phonem in dem falsch erkannten Wort falsch erkannt wird, die Häufigkeit, mit der ein Phonem in dem korrekten Wort nicht erkannt wird, und die Differenz in den Wahrscheinlichkeitswerten der korrekten und falschen Phonemmodelle. Der Vorteil der Verwendung der nicht erkannten Äußerungen besteht darin, dass das Training auf Phonemen in Wörtern basiert, die tatsächlich durch den Sprecher während des normalen Sprechens verwendet werden.
- Ein bevorzugtes CSR-System bestimmt automatisch, wann das Training vorgenommen werden soll. Normalerweise finden es Sprecher unständlich, eine Trainingssitzung durchzuführen. Deshalb werden sie wohl kaum eine Trainingssitzung beginnen, außer wenn bei der Genauigkeit des Spracherkennungssystems Probleme auftreten. Weil das Training umständlich ist, versuchen Sprecher außerdem häufig, ihre Sprachmuster an das Modell anzupassen. Um den Trainingsprozess benutzerfreundlicher zu machen, kann das CSR- System automatisch eine kurze Trainingssitzung periodisch oder dann initiieren, wenn eine ausreichende Anzahl von Senonen als ungenau modelliert bestimmt wurden, so dass ein Training als erforderlich betrachtet wird. Beispielsweise kann eine Trainingssitzung automatisch jeden Tag oder dann initiiert werden, wenn 20 Senone als nicht ausreichend genau durch das Modell wiedergegeben bestimmt werden.
- Die Techniken der vorliegenden Erfindung können auch verwendet werden, um einem Sprecher die richtige Aussprache von Wörtern zu lehren, beispielsweise wenn der Sprecher eine neue Sprache lernt. Anstatt die ungenau modellierten Phoneme zu betrachten, betrachtet ein Lehrsystem, ob die Phoneme durch den Sprecher falsch ausgesprochen werden. Wenn dabei die am wenigsten genauen Phoneme identifiziert wurden, kann sich das Lehrsystem darauf konzentrieren, dem Sprecher beizubringen, wie Wörter mit diesen Phonemen auszusprechen sind. Außerdem kann das Lehrsystem die Aussprache der Sprecher auf Basis der Genauigkeit der gesprochenen Phoneme benoten, die unter Verwendung der modellierten Phoneme berechnet wird.
- In einer bevorzugten Ausführungsform basiert das Trainingssystem die Wahrscheinlichkeit, dass ein bestimmtes Phonem ein bestimmtes Codewort enthält, auf einer akustischen Modellwahrscheinlichkeit, dass das Phonem das Codewort enthält. Für jedes Codewort, ordnet das Trainingssystem jedes Phonem in Übereinstimmung mit seiner Wahrscheinlichkeit in eine Ranordnung ein. Das heißt, dem Phonem mit der höchsten Wahrscheinlichkeit wird der höchste Rang (d. h. der Rang 1) zugewiesen. Diese Ränge werden dann verwendet, wenn die Genauigkeit der Modelle berechnet wird. Insbesondere berechnet das Trainingssystem den durchschnittlichen Rang der Phoneme unter Verwendung aller damit ausgerichteten Codewörter. Das Trainingssystem wählt dann Wörter, die diese Phoneme mit durchschnittlichen Rängen enthalten, für das Training aus.
- Die Fig. 4 bis 6 stellen eine Berechnung der Genauigkeiten von verschiedenen Phonemen dar. Dieses Beispiel illustriert die Berechnung auf der Basis eines einzelnen gesprochenen Wortes. In der Praxis basiert eine derartige Berechnung jedoch auf vielen Wörtern. Das eingegebene Wort enthält die Phoneme 10, 12 und 2. Das Trainingssystem hat die entsprechende Äußerung in 15 Rahmen mit den Codewörtern 5, 10, 255, 2, 3, 50, 32, 256, 6, 4, 6, 100, 2, 3 und 5 unterteilt. Das Trainingssystem richtet die Codewörter dann mit den Phonemen aus. Fig. 4 zeigt die Ausrichtung jedes Codeworts mit einem Phonem. Die horizontale Achse der Tabelle 401 entspricht den Phonemen, und die vertikale Achse entspricht den Rahmen. Die Einträge der Tabelle geben die Codewörter an, mit denen jedes Phonem ausgerichtet ist. Die Codewörter 5, 10, 255 und 2 sind mit dem Phonem 10 ausgerichtet; die Codewörter 3, 50, 32, 256, 6 und 4 sind mit dem Phonem 12 ausgerichtet; und die Codewörter 6, 10, 2, 3 und 5 sind mit dem Phonem 2 ausgerichtet.
- Fig. 5A zeigt die Akustikmodellcodewort/Phonemwahrscheinlichkeits-Tabelle. Die vertikale Achse der Tabelle entspricht den Codewörtern und die horizontale Achse entspricht dem Phonem. Jeder Eintrag in der Tabelle gibt die Wahrscheinlichkeit an, dass das entsprechende Phonem das Codewort enthält. Zum Beispiel ist die Wahrscheinlichkeit, dass das Phonem 10 das Codewort 6 enthält, gleich 0,01; und die Wahrscheinlichkeit, dass das Phonem 3 das Codewort 5 enthält, ist gleich 0,04. Die Summe der Wahrscheinlichkeiten jeder Spalte ist gleich 1.
- Fig. 5B zeigt die Codewort/Phonem-Rangordnungstabelle. Diese Tabelle enthält für jedes Codewort den Rang der Wahrscheinlichkeit für dieses Codewort relativ zu jedem Phonem. Beispielsweise weist das Codewort 6 einen Rang 33 für das Phonem 10, was bedeutet, dass das Codewort 6 wahrscheinlicher in 32 anderen Phonemen als in dem Phonem 10 enthalten ist und auch dass das Codewort 6 wahrscheinlicher im Phonem 10 als in 7 anderen Phonemen ist (wenn man insgesamt 40 Phoneme annimmt). Jede Reihe der Tabelle enthält also einen Eintrag mit einer Nummer von 1 bis 40.
- Der Rang der Phoneme für jedes Codewort kann auf verschiedene Weise erzeugt werden. Zum Beispiel kann das CSR-System für jeden Rahmen eine Akustikmodellwahrscheinlichkeit identifizieren, die angibt, ob ein Phonem das Codewort für diesen Rahmen erzeugen kann. Für diesen Rahmen wird dem Phonem mit der höchsten Wahrscheinlichkeit ein Rang von 1 zugewiesen, dem Phonem mit der zweithöchsten Wahrscheinlichkeit wird ein Rang von 2 zugewiesen usw. Die Ränge können dynamisch aus den Informationen aus der Codewort/Phonem-Wahrscheinlichkeitstabelle berechnet werden. Fig. 5C zeigt den Rang jedes Phonems für das Codewort jedes Rahmens. Diese Ränge für einen Rahmen können erzeugt werden, indem die Wahrscheinlichkeiten für alle Phoneme für diesen Rahmen in einer absteigenden Reihenfolge dynamisch sortiert werden. Alternativ hierzu kann der Rang in Abhängigkeit von der Größe der verfügbaren Speichers einmal wie in der Codewort/Wahrscheinlichkeitsrang-Tabelle gezeigt erzeugt werden.
- Fig. 6 zeigt eine beispielhafte Berechnung des durchschnittlichen Rangs der Phoneme unter Verwendung der Rahmen, die mit diesen Phonemen ausgerichtet sind. Die horizontale Achse entspricht den Phonemen und die vertikale Achse entspricht den Codewörtem der eingegebenen Äußerung. Jeder Eintrag der Tabelle enthält den Rang des entsprechenden Phonems für das ausgerichtete Codewort. Beispielsweise sind die Codewörter 5, 10, 225 und 2 mit dem Phonem 2 ausgerichtet, und für diese Codewörter weist das Phonem 10 jeweils die Ränge 19, 31, 15 und 1 auf. Unter in der Tabelle sind die Summe der Ränge, die Zahl der ausgerichteten Codewörter und der durchschnittliche Rang angegeben. Zum Beispiel ist die Summe der Ränge für das Phonem 10 gleich 66, ist die Zahl der ausgerichteten Codewörter gleich 4 und ist der durchschnittliche Rang für das Phonem 10 dementsprechend gleich 16. Wie gezeigt, ist der durchschnittliche Rang für das Phonem 12 gleich 13 und für das Phonem 2 gleich 19. Weil das Phonem 12 den höchsten durchschnittlichen Rang hat, schließt das CSR-System, dass dieses Phonem genauer als die zwei anderen Phoneme modelliert ist. Weil umgekehrt das Phonem 2 den niedrigsten durchschnittlichen Rang hat, schließt das CSR-System, dass dieses Phonem weniger genau modellierst ist als die beiden anderen Phoneme, und wählt vorzugsweise dieses Phonem für das Training aus.
- Fig. 7 ist ein Blockdiagramm eines Computersystems, auf dem ein bevorzugtes Trainingssystem ausgeführt wird. Das Computersystem 700 umfasst einen Speicher 701, eine zentrale Verarbeitungseinheit 702, eine Speichereinrichtung 703 und eine Anzeigeeinrichtung 704. Das Trainingssystem kann permanent auf einem Computerlesbaren Speichermedium wie etwa einer Platte gespeichert sein und für die Ausführung in den Speicher des Computersystems geladen werden. Ein bevorzugtes CSR-System umfasst eine Erkennungskomponente 705, eine HMM-Komponente 706 und eine Trainingskomponente 710. Die HMM-Komponente umfasst ein verborgenes Markovmodell für jedes Phonem und ein Mapping jedes Wortes auf seine Phoneme. Die Trainingskomponente enthält eine Probenerfassungskomponente 711, eine Codewort/Phonem-Ausrichtungskomponente 712, eine Phonemrangordnungskomponente 714 und eine Wortauswahlkomponente 714. Die Probenerfassungskomponente erfasst verschiedene Proben von Äußerungen und deren entsprechende Wörter, indem sie entweder einen Benutzer eigens auffordert oder falsch erkannte Äußerungen sammelt. Die Probenerfassungskomponente wandelt die Äußerungen zu Codewörtern um. Die Codewort/Phonem-Ausrichtungskomponente empfängt die Codewörter und deren entsprechende Wörter und verwendet die HMMs, um jedes Codewort mit den Phonemen der Wörter auszurichten. Die Phonemranordnungskomponente verwendet die Ausrichtung der Codewörter mit Phonemen, um die durchschnittliche Rangordnung dieser Phoneme unter Verwendung der mit den Phonemen ausgerichteten Codewörter zu berechnen. Die Wortauswahlkomponente verwendet dann die durchschnittliche Rangordnung, um Wörter aus dem verfügbaren Wortverzeichnis (nicht gezeigt) auszuwählen.
- Fig. 8 ist ein Flussdiagramm des Trainingssystems. In Schritt 801 ordnet das Trainingssystem alle Phoneme auf der Basis der Genauigkeit des HMMs für jedes Phonem wie in Fig. 9 beschrieben in eine Rangordnung ein. In Schritt 802 identifiziert das Trainingssystem die Phoneme, die am ungenauesten modelliert sind - d. h. die Phoneme mit den niedrigsten Rängen. In Schritt 803 wählt das Trainingssystem Wörter für das Training zu den nicht identifizierten Phonem aus. In Schritt 804 fordert das Trainingssystem den Sprecher auf, jedes der ausgewählten Wörter auszusprechen. In Schritt 805 passt das Trainingssystem das HMM auf der Basis der Äußerungen für die ausgewählten Wörter an.
- Fig. 9 ist ein Flussdiagramm einer Prozedur zum Einordnen von Phänomenen in eine Rangordnung auf Basis der Genauigkeit der HMMs. In einer Ausführungsform erfasst diese Prozedur Äußerungen für die Verwendung in der Rangordnung, indem sie den Sprecher dazu auffordert, Trainingswörter auszusprechen. Die Prozedur berechnet dann eine Angabe der Genauigkeit jedes Phonems. In Schritt 901 wählt die Prozedur ein folgendes Trainingswort, wobei sie mit dem ersten Trainingswort beginnt. Die Trainingswörter können ein vorbestimmter Satz von Trainingswörtern sein oder zuvor dynamische ausgewählt worden sein. Wenn in Schritt 902 bereits alle Trainingswörter ausgewählt wurden, fährt die Prozedur mit Schritt 911 fort, ansonsten fährt die Prozedur in Schritt 903 fort. In Schritt 903 fordert die Prozedur den Sprecher auf, das ausgewählte Wort auszusprechen, und empfängt die entsprechende Äußerung. In Schritt 904 wandelt die Prozedur die Äußerung in eine Sequenz von Codewörtern um. In Schritt 905 richtet die Prozedur jedes Codewort mit den Phonemen des Wortes aus, dem es am ehesten entspricht. In den Schritten 906 bis 910 durchläuft die Prozedur eine Schleife zum Auswählen jedes Codeworts sowie zum Akkumulieren des Rangs des Phonems, das mit diesem Codewort ausgerichtet ist. In Schritt 906 wählt die Prozedur das nächste Codewort aus, wobei sie mit dem ersten Codewort beginnt. Wenn in Schritt 907 bereits alle Codewörter ausgewählt wurde, springt die Prozedur zurück zu Schritt 901, um das nächste Trainingswort auszuwählen; ansonsten fährt die Prozedur mit Schritt 908 fort. In Schritt 908 identifiziert die Prozedur den Rang des Phonems in dem ausgerichteten Codewort. In Schritt 909 akkumuliert die Prozedur den identifizierten Rang für das ausgerichtete Phonem. In Schritt 910 inkrementiert die Prozedur eine Zählung der Anzahl von Codewörtern, die mit diesem Phonem ausgerichtet sind, und springt zu Schrill 906, um das nächste Codewort auszuwählen. In Schritt 911 berechnet die Prozedur den durchschnittlichen Rang jedes Phonems, indem es den akkumulierten Rang durch die Zählung teilt und dann abschließt.
- Die vorliegende Erfindung wurde mit Bezug auf eine bevorzugte Ausführungsform beschrieben, wobei die vorliegende Erfindung jedoch nicht auf diese Ausführungsform beschränkt ist. Modifikationen im Geist der Erfindung können durch den Fachmann vorgenommen werden. Während beispielsweise die vorliegende Erfindung für die Erkennung von diskreten Sprachäußerungen beschrieben wurde, kann die vorliegende Erfindung natürlich auch in Erkennungssystemen für kontinuierlich gesprochene Sprache verwendet werden. Außerdem können die Techniken der vorliegenden Erfindung zusammen mit Erkennungssystemen verwendet werden, die andere Modele als das verstecke Markow-Modell verwenden. Weiterhin können die Ränge der Phoneme unter Verwendung anderer Maße als der Akustikmodellwahrscheinlichkeit der Erzeugung des Codeworts berechnet werden, etwa unter Verwendung der Anzahl von falschen Phonemerkennungen bei Verwendung des Erkenners. Die Ränge der phonetischen Einheiten können auf der Basis von anderen Aggregationsebenen als der Rahmenebene berechnet werden. Zum Beispiel können die Ränge auf einer Sprachsegmentebene aggregiert werden, wobei ein Sprachsegment mehrere Rahmen oder eine variable Länge von Sprache umfasst. Die Ränge der phonetischen Einheiten und die Auswahl der phonetischen Einheiten in für das Training ausgewählten Wörtern kann auf anderen Ebenen als den Phonemen, den Zuständen in einem Phonem den Senonen, einem Zustand in einem Kontext-abhängigen Phonem oder dem vollständigen Wort durchgeführt werden. Ein Kontext-abhängiges Phonem kann vom Kontext von mehreren umgebenden Phonemen oder Wörtern abhängen. Ein vollständiges Wort kann auch als eine Einheit zum Modellieren und Auswählen im Training betrachtet werden. Die Verwendung von Einheiten von vollständigen Wörtern ist vorteilhaft, wenn die Größe des Wortverzeichnisses klein ist oder wenn bestimmte Wörter häufig verwendet werden oder einfach verwechselt werden können wie etwa die Buchstaben des Alphabets oder Ziffern. Ein CSR-System kann andere Genauigkeitsmaße als die Ränge verwenden. Beispielsweise kann ein CSR-System die Differenz oder das Verhältnis der Wahrscheinlichkeit des Phonems und der besten Phonemwahrscheinlichkeit für diesen Rahmen verwenden. Weiterhin können der Rang oder die Genauigkeitsmaßinformationen von verschiedenen Rahmen unter einer anderen Technik als der Durchschnittsbildung kombiniert werden, etwa durch eine Berechnung des Maximums, des Minimums oder der gewichteten Summe der Genauigkeitsmaße bei mehrfachem Auftreten derselben phonetischen Einheit. Schließlich kann ein CSR-System gesammelte Informationen zu der Genauigkeit der Phonemmodelle (kollektiv als Fehlerprofil bezeichnet) verwenden, um den Erkennungsprozess selbst zu verbessern. Zum Beispiel kann die Wahrscheinlichkeit einer phonetischen Einheit während der Erkennung erhöht werden, wenn das Fehlerprofil angibt, dass die Chancen zum Erkennen dieses Phonemmodells während seiner bekannten Instanzen niedrig ist. Der Umfang der vorliegenden Erfindung wird durch die beigefügten Ansprüche definiert.
Claims (48)
1. Verfahren für ein Computersystem (700) zum dynamischen Auswählen von Wörtern,
die jeweils aus phonetischen Einheiten bestehen, wobei das Verfahren folgende Schritte
umfasst:
Erfassen einer Vielzahl von gesprochenen Äußerungen, für die das entsprechende
Wort bekannt ist,
Bestimmen (802), welche phonetischen Einheiten ungenau durch das
Computersystem (700) modelliert wurden, indem die phonetischen Einheiten der Wörter der
gesprochenen Äußerungen und die Modelle der entsprechenden phonetischen Einheiten des
Computersystems (700) verwendet werden, und
Auswählen (803) von Wörtern, die eine oder mehrere der bestimmten phonetischen
Einheiten enthalten, um entweder ein Spracherkennungssystem neu zu trainieren oder um
die Aussprache eines Sprechers zu verbessern.
2. Verfahren nach Anspruch 1, wobei die phonetische Einheit ein Phonem ist.
3. Verfahren nach Anspruch 1, wobei die phonetische Einheit ein Senon ist.
4. Verfahren nach Anspruch 1, wobei die phonetische-Einheit ein Kontext-abhängiges
Phonem ist.
5. Verfahren nach Anspruch 1, wobei die phonetische Einheit ein Wort ist.
6. Verfahren nach wenigstens einem der Ansprüche 1 bis 5, wobei das System ein
Modell für jede phonetische Einheit umfasst, das eine Wahrscheinlichkeit angibt, dass eine
Sequenz von quantisierten Vektoren dieser phonetischen Einheit entspricht, wobei der
Schritt zum Bestimmen (802) umfasst:
für jede erfasste Äußerung
Umwandeln (903) der erfassten Äußerung in eine Sequenz von quantisierten
Vektoren,
Ausrichten (904) jedes quantisierten Vektors in der Sequenz mit einer phonetischen
Einheit eines bekannten Worts auf der Basis des Modells für die phonetischen Einheiten des
bestimmten Worts, und
Identifizieren einer Wahrscheinlichkeit, dass jeder ausgerichtete quantisierte Vektor
als Teil der phonetischen Einheit gesprochen wird, mit der er ausgerichtet ist.
7. Verfahren nach wenigstens einem der Ansprüche 1 bis 6, das weiterhin umfasst:
Präsentieren (804) der ausgewählten Wörter vor einem Sprecher für das Training.
8. Verfahren nach Anspruch 7, wobei jedes Wort eine Sprachmodellwahrscheinlichkeit
aufweist, welche die Wahrscheinlichkeit angibt, dass das Wort gesprochen wird, wobei die
ausgewählten Wörter in einer Reihenfolge vor dem Sprecher präsentiert werden, die auf der
Sprachmodellwahrscheinlichkeit der Wörter basiert.
9. Verfahren nach wenigstens einem der Ansprüche 1 bis 8, wobei das Auswählen (803)
der Wörter umfasst:
Auswählen von Wörtern mit mehr als einer phonetischen Einheit, die nicht genau
modelliert ist.
10. Verfahren nach Anspruch 9, das weiterhin umfasst.
Präsentieren (804) der ausgewählten Wörter vor einem Sprecher für das Training.
11. Verfahren nach Anspruch 10, wobei jedes Wort eine Sprachmodellwahrscheinlichkeit
aufweist, welche die Wahrscheinlichkeit angibt, dass das Wort gesprochen wird, wobei die
ausgewählten Wörter in einer Reihenfolge vor dem Sprecher präsentiert werden, die auf der
Sprachmodellwahrscheinlichkeit der Wörter basiert.
12. Verfahren nach wenigstens einem der Ansprüche 1 bis 11, wobei das Erfassen der
Vielzahl von gesprochenen Äußerungen während eines Erkennungsprozesses stattfindet,
wobei der Erkennungsprozess periodisch einen Sprecher auffordert, auf den ausgewählten
Wörtern zu trainieren.
13. Verfahren nach Anspruch 12, wobei das Training und Erkennen wiederholt
durchgeführt werden.
14. Verfahren nach wenigstens einem der Ansprüche 1 bis 11, wobei das Erfassen der
Vielzahl von gesprochenen Äußerungen während eines Erkennungsprozesses
vorgenommen wird, wobei ein Training auf den ausgewählten Wörtern durchgeführt wird, wenn der
Erkennungsprozess identifiziert, dass er einen bestimmten Teil der gesprochenen
Äußerungen falsch erkennt.
15. Verfahren nach wenigstens einem der Ansprüche 1 bis 11, wobei das Erfassen der
Vielzahl von gesprochenen Äußerungen während eines Erkennungsprozesses
vorgenommen wird, wenn die gesprochenen Äußerungen während des Erkennungsprozesses falsch
erkannt wurden.
16. Verfahren nach Anspruch 1, wobei das Bestimmen (802) umfasst:
Ausrichten (904) der Merkmalvektoren der gesprochenen Äußerung mit den
phonetischen Einheiten,
Berechnen (908) eines Rahmengenauigkeitsmaßes für jeden Merkmalvektor auf der
Basis der ausgerichteten phonetischen Einheit und des Merkmalvektors, und.
Berechnen (909) eines kombinierten Genauigkeitsmaßes für jeweils jede phonetische
Einheit durch das Kombinieren der Rahmengenauigkeitsmaße, die auf dieser phonetischen
Einheit basieren.
17. Verfahren nach Anspruch 16, wobei das Rahmengenauigkeitsmaß ein Verhältnis
zwischen der Wahrscheinlichkeit, dass die gesprochene Äußerung dieses Rahmens in der
phonetischen Einheit enthalten ist, mit welcher er ausgerichtet ist, und der höchsten
Wahrscheinlichkeit ist, dass die gesprochene Äußerung des Rahmens in einer phonetischen
Einheit enthalten ist.
18. Verfahren nach Anspruch 16, wobei das Rahmengenauigkeitsmaß eine Differenz
zwischen der Wahrscheinlichkeit ist, dass die gesprochene Äußerung dieses Rahmens in
der phonetischen Einheit enthalten ist, mit welcher er ausgerichtet ist, und der höchsten
Wahrscheinlichkeit ist, dass die gesprochene Äußerung dieses Rahmens in einer
phonetischen Einheit enthalten ist.
19. Verfahren nach Anspruch 16, wobei das Rahmengenauigkeitsmaß ein Durchschnitt
der Wahrscheinlichkeit ist, dass die gesprochene Äußerung jedes Rahmens, der mit dieser
phonetischen Einheit ausgerichtet ist, in dieser phonetischen Einheit enthalten ist.
20. Verfahren nach Anspruch 16, wobei das Rahmengenauigkeitsmaß ein Durchschnitt
eines Maximums der Wahrscheinlichkeiten ist, dass die gesprochene Äußerung jedes
Rahmens, der mit dieser phonetischen Einheit ausgerichtet ist, in dieser phonetischen
Einheit enthalten ist.
21. Verfahren nach Anspruch 16, wobei das Rahmengenauigkeitsmaß ein Minimum der
Wahrscheinlichkeiten ist, dass die gesprochene Äußerung jedes Rahmens, der mit dieser
phonetischen Einheit ausgerichtet ist, in dieser phonetischen Einheit enthalten ist.
22. Verfahren nach Anspruch 16, wobei das Rahmengenauigkeitsmaß eine Summe
eines gewichteten Durchschnitts der Wahrscheinlichkeiten ist, dass die gesprochene
Äußerung jedes Rahmens, der mit die er phonetischen Einheit ausgerichtet ist, in dieser
phonetischen Einheit enthalten ist.
23. Verfahren nach wenigstens einem der Ansprüche 1 bis 22, wobei die Bestimmung
(802) umfasst:
Zählen der Häufigkeit, mit der eine phonetische Einheit während der Erkennung in
einem falsch erkannten Wort erkannt wird.
24. Verfahren nach wenigstens einem der Ansprüche 1 bis 23, wobei die Bestimmung
(802) umfasst:
Zählen der Häufigkeit, mit der eine phonetische Einheit während der Erkennung in
einem richtigen Wort nicht erkannt wird.
25. Verfahren nach wenigstens einem der Ansprüche 1 bis 24, wobei das Bestimmen
(802) auf Differenzen zwischen Wahrscheinlichkeitswerten von korrekten und falschen
Phonemmodellen basiert.
26. Verfahren nach wenigstens einem der Ansprüche 1 bis 25, wobei das Bestimmen
(802) umfasst:
Ausrichten einer Sequenz von Rahmen der gesprochenen Äußerungen mit
phonetischen Einheiten, und
Berechnen eines Rangs einer phonetischen Einheit auf der Basis einer
Wahrscheinlichkeit, dass die ausgerichteten Sequenzen von Rahmen in dieser phonetischen
Einheit enthalten sind.
27. Computersystem (700) zum dynamischen Auswählen von Wörtern, die jeweils
phonetische Einheiten umfassen, mit:
einer Probenerfassungskomponente (711), die eine Vielzahl von gesprochenen
Äußerungen erfasst, für die das entsprechende Wort bekannt ist,
eine Phonetikeinheiten-Rangordnungskomponente (713), die bestimmt (802), welche
phonetischen Einheiten durch das Computersystem (700) ungenau modelliert wurden, indem
es die phonetischen Einheiten dieser Wörter der gesprochenen Äußerungen und die Modelle
der entsprechenden phonetischen Einheiten des Computersystems (700) verwendet, und
eine Wortauswahlkomponente (714), die Wörter auswählt (803), die eine oder
mehrere der bestimmten phonetischen Einheiten enthalten, um entweder ein
Spracherkennungssystem neu zu trainieren oder um die Aussprache eines Sprechers zu verbessern.
28. Computersystem (700) nach Anspruch 27, wobei das Spracherkennungssystem über
in Modell für jede phonetische Einheit verfügt, um eine Wahrscheinlichkeit anzugeben, dass
eine Sequenz von quantisierten Vektoren der phonetischen Einheit entspricht, wobei eine
Ausrichtungskomponente (712) jedes Codewort mit einer phonetischen Einheit des
bestimmten Wortes auf der Basis des Modells für die phonetischen Einheiten des
bestimmten Wortes ausrichtet, und wobei die Phonetikeinheiten-Rangordnungskomponente
(713) eine Wahrscheinlichkeit identifiziert, dass jedes ausgerichtete Codewort als Teil der
phonetischen Einheit gesprochen wird, mit der es ausgerichtet ist.
29. Computersystem (700) nach Anspruch 27 oder 28, wobei jedes Wort eine
Sprachmodellwahrscheinlichkeit aufweist, welche die Wahrscheinlichkeit angibt, dass das Wort
gesprochen wird, mit weiterhin:
einer Präsentationskomponente (704) zum Präsentieren von ausgewählten Wörtern
vor dem Sprecher in einer Reihenfolge, dei auf der Sprachmodellwahrscheinlichkeit der
Wörter basiert.
30. Computersystem (700) nach wenigstens einem der Ansprüche 27 bis 29, wobei die
Wortauswahlkomponente (714) Wörter mit mehr als einer phonetischen Einheit auswählt, die
ungenau modelliert sind.
31. Computersystem (700) nach wenigstens einem der Ansprüche 27 bis 30, wobei die
phonetische Einheit ein Wort, ein Senon, ein Phonem oder ein Kontext-abhängiges Phonem
ist.
32. Computersystem (700) nach wenigstens einem der Ansprüche 27 bis 31, wobei jede
erfasste Äußerung in eine Sequenz von quantisierten Vektoren umgewandelt wird, wobei
eine Ausrichtungskomponente (712) jeden quantisierten Vektor in der Sequenz mit einer
phonetischen Einheit eines bekannten Wortes ausrichtet, und wobei die Phonetikeinheit-
Rangordnungseinheit (713) eine Wahrscheinlichkeit identifiziert, dass jeder ausgerichtete
quantisierte Vektor als Teil der phonetischen Einheit gesprochen wird, mit der er ausgerichtet
ist.
33. Computersystem (700) nach wenigstens einem der Ansprüche 27 bis 32, mit
weiterhin:
einer Einrichtung (704) zum Präsentieren (804) der ausgewählten Wörter vor einem
Sprecher für das Training.
34. Computersystem (700) nach Anspruch 33, wobei jedes Wort eine
Sprachmodellwahrscheinlichkeit aufweist, welche die Wahrscheinlichkeit angibt, dass das Wort
gesprochen wird, wobei die auswählten Wörter vor dem Sprecher in einer Reihenfolge präsentiert
werden, die auf der Sprachmodellwahrscheinlichkeit der Wörter basiert.
35. Computersystem (700) nach wenigstens einem der Ansprüche 27 bis 34, wobei das
Erfassen der Vielzahl von gesprochenen Äußerungen während eines Erkennungsprozesses
vorgenommen wird, wobei der Erkennungsprozess periodisch einen Sprecher zum
Trainieren auf den ausgewählten Wörtern auffordert.
36. Computersystem (700) nach Anspruch 35, wobei das Training und das Erkennen
wiederholt durchgeführt werden.
37. Computersystem (700) nach wenigstens einem der Ansprüche 27 bis 34, wobei das
Erfassen der Vielzahl von gesprochenen Äußerungen während eines Erkennungsprozesses
vorgenommen wird, wobei auf den ausgewählten Wörtern trainiert wird, wenn der
Erkennungsprozess identifiziert, dass ein bestimmter Teil der gesprochenen Äußerungen
falsch erkannt wird.
38. Computersystem (700) nach wenigstens einem der Ansprüche 27 bis 34, wobei das
Erfassen der Vielzahl von gesprochenen Äußerungen während eines Erkennungsprozesses
vorgenommen wird, wenn die gesprochenen Äußerungen während des
Erkennungsprozesses falsch erkannt wurden.
39. Computersystem (700) nach Anspruch 27, wobei das Bestimmen (802) umfasst:
Ausrichten (904) der Merkmalvektoren der gesprochenen Äußerung mit den
phonetischen Einheiten,
Berechnen (908) eines Rahmengenauigkeitsmaßes für jeden Merkmalsvektor auf der
Basis der ausgerichteten phonetischen Einheit und des Merkmalvektors, und
Berechnen (909) eines kombinierten Genauigkeitsmaßes für jeweils jede phonetische
Einheit durch das Kombinieren der Rahmengenauigkeitsmaße, die auf dieser phonetischen
Einheit basieren.
40. Computersystem (700) nach Anspruch 39, wobei das Rahmengenauigkeitsmaß ein
Verhältnis zwischen der Wahrscheinlichkeit, dass die gesprochene Äußerung dieses
Rahmens in der phonetischen Einheit enthalten ist, mit welcher er ausgerichtet ist, und der
höchsten Wahrscheinlichkeit ist, dass die gesprochene Äußerung des Rahmens in einer
phonetischen Einheit enthalten ist.
41. Computersystem (700) nach. Anspruch 39, wobei das Rahmengenauigkeitsmaß eine
Differenz zwischen der Wahrscheinlichkeit ist, dass die gesprochene Äußerung dieses
Rahmens in der phonetischen Einheit enthalten ist, mit welcher er ausgerichtet ist, und der
höchsten Wahrscheinlichkeit ist, dass die gesprochene Äußerung dieses Rahmens in einer
phonetischen Einheit enthalten ist.
42. Computersystem (700) nach Anspruch 39, wobei das Rahmengenauigkeitsmaß ein
Durchschnitt der Wahrscheinlichkeit ist, dass die gesprochene Äußerung jedes Rahmens,
der mit dieser phonetischen Einheit ausgerichtet ist, in dieser phonetischen Einheit enthalten
ist.
43. Computersystem (700) nach Anspruch 39, wobei das Rahmengenauigkeitsmaß ein
Durchschnitt eines Maximums der Wahrscheinlichkeiten ist, dass die gesprochene Äußerung
jedes Rahmens, der mit dieser phonetischen Einheit ausgerichtet ist, in dieser phonetischen
Einheit enthalten ist.
44. Computersystem (700) nach Anspruch 39, wobei das Rahmengenauigkeitsmaß ein
Minimum der Wahrscheinlichkeiten ist, dass die gesprochene Äußerung jedes Rahmens, der
mit dieser phonetischen Einheit ausgerichtet ist, in dieser phonetischen Einheit enthalten ist.
45. Computersystem (700) nach Anspruch 39, wobei das Rahmengenauigkeitsmaß eine
Summe eines gewichteten Durchschnitts der Wahrscheinlichkeiten ist, dass die gesprochene
Äußerung jedes Rahmens, der mit dieser phonetischen Einheit ausgerichtet ist, in dieser
phonetischen Einheit enthalten ist.
46. Computersystem (700) nach wenigstens einem der Ansprüche 27 bis 45, wobei die
Bestimmung (802) umfasst:
Zählen der Häufigkeit, mit der eine phonetische Einheit während der Erkennung in
einem falsch erkannten Wort erkannt wird.
47. Computersystem (700) nach wenigstens einem der Ansprüche 27 bis 46, wobei die
Bestimmung (802) umfasst:
Zählen der Häufigkeit, mit der eine phonetische Einheit während der Erkennung in
einem richtigen Wort nicht erkannt wird.
48. Computersystem (700) nach wenigstens einem der Ansprüche 27 bis 47, wobei das
Bestimmen (802) auf Differenzen zwischen Wahrscheinlichkeitswerten von Phonemmodellen
basiert.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/673,435 US5963903A (en) | 1996-06-28 | 1996-06-28 | Method and system for dynamically adjusted training for speech recognition |
PCT/US1997/011683 WO1998000834A1 (en) | 1996-06-28 | 1997-06-27 | Method and system for dynamically adjusted training for speech recognition |
Publications (2)
Publication Number | Publication Date |
---|---|
DE69707876D1 DE69707876D1 (de) | 2001-12-06 |
DE69707876T2 true DE69707876T2 (de) | 2002-04-11 |
Family
ID=24702640
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE69707876T Expired - Lifetime DE69707876T2 (de) | 1996-06-28 | 1997-06-27 | Verfahren und vorrichtung fuer dynamisch eingestelltes training zur spracherkennung |
Country Status (6)
Country | Link |
---|---|
US (1) | US5963903A (de) |
EP (1) | EP0907949B1 (de) |
JP (1) | JP3672573B2 (de) |
CN (1) | CN1165887C (de) |
DE (1) | DE69707876T2 (de) |
WO (1) | WO1998000834A1 (de) |
Families Citing this family (64)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6807537B1 (en) * | 1997-12-04 | 2004-10-19 | Microsoft Corporation | Mixtures of Bayesian networks |
US6418431B1 (en) * | 1998-03-30 | 2002-07-09 | Microsoft Corporation | Information retrieval and speech recognition based on language models |
US6085160A (en) * | 1998-07-10 | 2000-07-04 | Lernout & Hauspie Speech Products N.V. | Language independent speech recognition |
US6260014B1 (en) * | 1998-09-14 | 2001-07-10 | International Business Machines Corporation | Specific task composite acoustic models |
WO2000054168A2 (en) * | 1999-03-05 | 2000-09-14 | Canon Kabushiki Kaisha | Database annotation and retrieval |
DE60022976T2 (de) * | 1999-07-08 | 2006-07-06 | Koninklijke Philips Electronics N.V. | Spracherkennungseinrichtung mit transfermitteln |
US6836761B1 (en) * | 1999-10-21 | 2004-12-28 | Yamaha Corporation | Voice converter for assimilation by frame synthesis with temporal alignment |
US6789060B1 (en) * | 1999-11-01 | 2004-09-07 | Gene J. Wolfe | Network based speech transcription that maintains dynamic templates |
US6546387B1 (en) * | 1999-11-15 | 2003-04-08 | Transcom Software Inc. | Computer network information management system and method using intelligent software agents |
US7881935B2 (en) * | 2000-02-28 | 2011-02-01 | Sony Corporation | Speech recognition device and speech recognition method and recording medium utilizing preliminary word selection |
US6912498B2 (en) * | 2000-05-02 | 2005-06-28 | Scansoft, Inc. | Error correction in speech recognition by correcting text around selected area |
US6865528B1 (en) * | 2000-06-01 | 2005-03-08 | Microsoft Corporation | Use of a unified language model |
US7031908B1 (en) | 2000-06-01 | 2006-04-18 | Microsoft Corporation | Creating a language model for a language processing system |
US20050135180A1 (en) * | 2000-06-30 | 2005-06-23 | Micron Technology, Inc. | Interface command architecture for synchronous flash memory |
US7216077B1 (en) * | 2000-09-26 | 2007-05-08 | International Business Machines Corporation | Lattice-based unsupervised maximum likelihood linear regression for speaker adaptation |
US6832189B1 (en) | 2000-11-15 | 2004-12-14 | International Business Machines Corporation | Integration of speech recognition and stenographic services for improved ASR training |
US6928409B2 (en) * | 2001-05-31 | 2005-08-09 | Freescale Semiconductor, Inc. | Speech recognition using polynomial expansion and hidden markov models |
US20030055634A1 (en) * | 2001-08-08 | 2003-03-20 | Nippon Telegraph And Telephone Corporation | Speech processing method and apparatus and program therefor |
JP4947861B2 (ja) * | 2001-09-25 | 2012-06-06 | キヤノン株式会社 | 自然言語処理装置およびその制御方法ならびにプログラム |
US20030088416A1 (en) * | 2001-11-06 | 2003-05-08 | D.S.P.C. Technologies Ltd. | HMM-based text-to-phoneme parser and method for training same |
US20030120493A1 (en) * | 2001-12-21 | 2003-06-26 | Gupta Sunil K. | Method and system for updating and customizing recognition vocabulary |
GB2385698B (en) * | 2002-02-26 | 2005-06-15 | Canon Kk | Speech processing apparatus and method |
JP2004053742A (ja) * | 2002-07-17 | 2004-02-19 | Matsushita Electric Ind Co Ltd | 音声認識装置 |
US8959019B2 (en) | 2002-10-31 | 2015-02-17 | Promptu Systems Corporation | Efficient empirical determination, computation, and use of acoustic confusability measures |
US7603276B2 (en) * | 2002-11-21 | 2009-10-13 | Panasonic Corporation | Standard-model generation for speech recognition using a reference model |
JP2004191705A (ja) * | 2002-12-12 | 2004-07-08 | Renesas Technology Corp | 音声認識装置 |
US7146319B2 (en) * | 2003-03-31 | 2006-12-05 | Novauris Technologies Ltd. | Phonetically based speech recognition system and method |
US20040230431A1 (en) * | 2003-05-14 | 2004-11-18 | Gupta Sunil K. | Automatic assessment of phonological processes for speech therapy and language instruction |
US7302389B2 (en) * | 2003-05-14 | 2007-11-27 | Lucent Technologies Inc. | Automatic assessment of phonological processes |
US7373294B2 (en) * | 2003-05-15 | 2008-05-13 | Lucent Technologies Inc. | Intonation transformation for speech therapy and the like |
US7200559B2 (en) | 2003-05-29 | 2007-04-03 | Microsoft Corporation | Semantic object synchronous understanding implemented with speech application language tags |
US8301436B2 (en) * | 2003-05-29 | 2012-10-30 | Microsoft Corporation | Semantic object synchronous understanding for highly interactive interface |
US20040243412A1 (en) * | 2003-05-29 | 2004-12-02 | Gupta Sunil K. | Adaptation of speech models in speech recognition |
US8019602B2 (en) * | 2004-01-20 | 2011-09-13 | Microsoft Corporation | Automatic speech recognition learning using user corrections |
US7809567B2 (en) * | 2004-07-23 | 2010-10-05 | Microsoft Corporation | Speech recognition application or server using iterative recognition constraints |
CN1296887C (zh) * | 2004-09-29 | 2007-01-24 | 上海交通大学 | 用于嵌入式自动语音识别系统的训练方法 |
GB0426347D0 (en) | 2004-12-01 | 2005-01-05 | Ibm | Methods, apparatus and computer programs for automatic speech recognition |
US7475016B2 (en) * | 2004-12-15 | 2009-01-06 | International Business Machines Corporation | Speech segment clustering and ranking |
GB2428853A (en) | 2005-07-22 | 2007-02-07 | Novauris Technologies Ltd | Speech recognition application specific dictionary |
US7970613B2 (en) | 2005-11-12 | 2011-06-28 | Sony Computer Entertainment Inc. | Method and system for Gaussian probability data bit reduction and computation |
WO2007095277A2 (en) * | 2006-02-14 | 2007-08-23 | Intellectual Ventures Fund 21 Llc | Communication device having speaker independent speech recognition |
US8010358B2 (en) * | 2006-02-21 | 2011-08-30 | Sony Computer Entertainment Inc. | Voice recognition with parallel gender and age normalization |
US7778831B2 (en) * | 2006-02-21 | 2010-08-17 | Sony Computer Entertainment Inc. | Voice recognition with dynamic filter bank adjustment based on speaker categorization determined from runtime pitch |
US8135590B2 (en) * | 2007-01-11 | 2012-03-13 | Microsoft Corporation | Position-dependent phonetic models for reliable pronunciation identification |
CN101465123B (zh) * | 2007-12-20 | 2011-07-06 | 株式会社东芝 | 说话人认证的验证方法和装置以及说话人认证系统 |
CN101286317B (zh) * | 2008-05-30 | 2011-07-27 | 同济大学 | 语音识别装置、模型训练方法、及交通信息服务平台 |
US8155961B2 (en) * | 2008-12-09 | 2012-04-10 | Nokia Corporation | Adaptation of automatic speech recognition acoustic models |
US8788256B2 (en) | 2009-02-17 | 2014-07-22 | Sony Computer Entertainment Inc. | Multiple language voice recognition |
US8442829B2 (en) | 2009-02-17 | 2013-05-14 | Sony Computer Entertainment Inc. | Automatic computation streaming partition for voice recognition on multiple processors with limited memory |
US8442833B2 (en) | 2009-02-17 | 2013-05-14 | Sony Computer Entertainment Inc. | Speech processing with source location estimation using signals from two or more microphones |
CN101577118B (zh) * | 2009-06-12 | 2011-05-04 | 北京大学 | 面向智能服务机器人的语音交互系统的实现方法 |
JP5471858B2 (ja) * | 2009-07-02 | 2014-04-16 | ヤマハ株式会社 | 歌唱合成用データベース生成装置、およびピッチカーブ生成装置 |
GB2489489B (en) * | 2011-03-30 | 2013-08-21 | Toshiba Res Europ Ltd | A speech processing system and method |
US9153235B2 (en) | 2012-04-09 | 2015-10-06 | Sony Computer Entertainment Inc. | Text dependent speaker recognition with long-term feature based on functional data analysis |
US9972306B2 (en) * | 2012-08-07 | 2018-05-15 | Interactive Intelligence Group, Inc. | Method and system for acoustic data selection for training the parameters of an acoustic model |
WO2014052326A2 (en) * | 2012-09-25 | 2014-04-03 | Nvoq Incorporated | Apparatus and methods for managing resources for a system using voice recognition |
TWI508033B (zh) * | 2013-04-26 | 2015-11-11 | Wistron Corp | 語言學習方法與裝置以及電腦可讀記錄媒體 |
US20160063990A1 (en) * | 2014-08-26 | 2016-03-03 | Honeywell International Inc. | Methods and apparatus for interpreting clipped speech using speech recognition |
US9953646B2 (en) | 2014-09-02 | 2018-04-24 | Belleau Technologies | Method and system for dynamic speech recognition and tracking of prewritten script |
EP3193328B1 (de) * | 2015-01-16 | 2022-11-23 | Samsung Electronics Co., Ltd. | Verfahren und vorrichtung zur durchführung von spracherkennung mit einem grammatikmodell |
US10229672B1 (en) | 2015-12-31 | 2019-03-12 | Google Llc | Training acoustic models using connectionist temporal classification |
GB2552723A (en) * | 2016-08-03 | 2018-02-07 | Cirrus Logic Int Semiconductor Ltd | Speaker recognition |
CN110148403B (zh) * | 2019-05-21 | 2021-04-13 | 腾讯科技(深圳)有限公司 | 解码网络生成方法、语音识别方法、装置、设备及介质 |
CN111105799B (zh) * | 2019-12-09 | 2023-07-07 | 国网浙江省电力有限公司杭州供电公司 | 基于发音量化和电力专用词库的离线语音识别装置及方法 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4783803A (en) * | 1985-11-12 | 1988-11-08 | Dragon Systems, Inc. | Speech recognition apparatus and method |
US4866778A (en) * | 1986-08-11 | 1989-09-12 | Dragon Systems, Inc. | Interactive speech recognition apparatus |
JPH01102599A (ja) * | 1987-10-12 | 1989-04-20 | Internatl Business Mach Corp <Ibm> | 音声認識方法 |
US5027406A (en) * | 1988-12-06 | 1991-06-25 | Dragon Systems, Inc. | Method for interactive speech recognition and training |
US5182773A (en) * | 1991-03-22 | 1993-01-26 | International Business Machines Corporation | Speaker-independent label coding apparatus |
US5465318A (en) * | 1991-03-28 | 1995-11-07 | Kurzweil Applied Intelligence, Inc. | Method for generating a speech recognition model for a non-vocabulary utterance |
US5390278A (en) * | 1991-10-08 | 1995-02-14 | Bell Canada | Phoneme based speech recognition |
US5278942A (en) * | 1991-12-05 | 1994-01-11 | International Business Machines Corporation | Speech coding apparatus having speaker dependent prototypes generated from nonuser reference data |
US5293584A (en) * | 1992-05-21 | 1994-03-08 | International Business Machines Corporation | Speech recognition system for natural language translation |
US5682464A (en) * | 1992-06-29 | 1997-10-28 | Kurzweil Applied Intelligence, Inc. | Word model candidate preselection for speech recognition using precomputed matrix of thresholded distance values |
US5455889A (en) * | 1993-02-08 | 1995-10-03 | International Business Machines Corporation | Labelling speech using context-dependent acoustic prototypes |
IT1270919B (it) * | 1993-05-05 | 1997-05-16 | Cselt Centro Studi Lab Telecom | Sistema per il riconoscimento di parole isolate indipendente dal parlatore mediante reti neurali |
GB2290684A (en) * | 1994-06-22 | 1996-01-03 | Ibm | Speech synthesis using hidden Markov model to determine speech unit durations |
JP3581401B2 (ja) * | 1994-10-07 | 2004-10-27 | キヤノン株式会社 | 音声認識方法 |
US5715367A (en) * | 1995-01-23 | 1998-02-03 | Dragon Systems, Inc. | Apparatuses and methods for developing and using models for speech recognition |
-
1996
- 1996-06-28 US US08/673,435 patent/US5963903A/en not_active Expired - Lifetime
-
1997
- 1997-06-27 WO PCT/US1997/011683 patent/WO1998000834A1/en active IP Right Grant
- 1997-06-27 EP EP97934052A patent/EP0907949B1/de not_active Expired - Lifetime
- 1997-06-27 DE DE69707876T patent/DE69707876T2/de not_active Expired - Lifetime
- 1997-06-27 JP JP50449498A patent/JP3672573B2/ja not_active Expired - Lifetime
- 1997-06-27 CN CNB971959366A patent/CN1165887C/zh not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
CN1165887C (zh) | 2004-09-08 |
CN1223739A (zh) | 1999-07-21 |
WO1998000834A1 (en) | 1998-01-08 |
DE69707876D1 (de) | 2001-12-06 |
EP0907949B1 (de) | 2001-10-31 |
EP0907949A1 (de) | 1999-04-14 |
JP2000514206A (ja) | 2000-10-24 |
JP3672573B2 (ja) | 2005-07-20 |
US5963903A (en) | 1999-10-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69707876T2 (de) | Verfahren und vorrichtung fuer dynamisch eingestelltes training zur spracherkennung | |
DE69311303T2 (de) | Sprachtrainingshilfe für kinder. | |
DE69315374T2 (de) | Spracherkennungssystem zur naturgetreuen Sprachübersetzung | |
DE60305568T2 (de) | Schlüsselworterkennung in einem Sprachsignal | |
DE69519297T2 (de) | Verfahren und vorrichtung zur spracherkennung mittels optimierter partieller buendelung von wahrscheinlichkeitsmischungen | |
DE602005002706T2 (de) | Verfahren und System für die Umsetzung von Text-zu-Sprache | |
DE3337353C2 (de) | Sprachanalysator auf der Grundlage eines verborgenen Markov-Modells | |
DE69518723T2 (de) | Verminderung des Suchraumes bei Spracherkennung unter Verwendung von Phonemgrenzen und Phonemklassen | |
DE69613338T2 (de) | Verfahren und system zur mustererkennung mittels baumstrukturierten wahrscheinlichkeitsdichten | |
DE60026637T2 (de) | Verfahren zur Erweiterung des Wortschatzes eines Spracherkennungssystems | |
DE69225371T2 (de) | Schlüsselwörtererkennung in einem zusammenhängenden Text mittels zweier "Hidden Markov" Modelle | |
DE69832393T2 (de) | Spracherkennungssystem für die erkennung von kontinuierlicher und isolierter sprache | |
DE69425776T2 (de) | Spracherkennungseinrichtung mit verbesserter Ausschliessung von Wörtern und Tönen welche nicht im Vokabular enthalten sind | |
DE60203705T2 (de) | Umschreibung und anzeige eines eingegebenen sprachsignals | |
DE602004012909T2 (de) | Verfahren und Vorrichtung zur Modellierung eines Spracherkennungssystems und zur Schätzung einer Wort-Fehlerrate basierend auf einem Text | |
DE69829187T2 (de) | Halbüberwachte Sprecheradaptation | |
DE60009583T2 (de) | Sprecheradaptation auf der Basis von Stimm-Eigenvektoren | |
DE69127818T2 (de) | System zur verarbeitung kontinuierlicher sprache | |
DE102007015497B4 (de) | Spracherkennungsvorrichtung und Spracherkennungsprogramm | |
DE3878071T2 (de) | Sprachnormierung durch adaptive klassifizierung. | |
DE69818231T2 (de) | Verfahren zum diskriminativen training von spracherkennungsmodellen | |
DE102008017993B4 (de) | Sprachsuchvorrichtung | |
DE69226796T2 (de) | Zeitliche Dekorrelationsverfahren zur störsicheren Sprechererkennung | |
DE69414752T2 (de) | Sprecherunabhängiges Erkennungssystem für isolierte Wörter unter Verwendung eines neuronalen Netzes | |
DE20004416U1 (de) | Spracherkennungsvorrichtung unter Verwendung mehrerer Merkmalsströme |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition |