[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

DE69707876T2 - Verfahren und vorrichtung fuer dynamisch eingestelltes training zur spracherkennung - Google Patents

Verfahren und vorrichtung fuer dynamisch eingestelltes training zur spracherkennung

Info

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
Application number
DE69707876T
Other languages
English (en)
Other versions
DE69707876D1 (de
Inventor
Hsiao-Wuen Hon
D. Huang
Mei-Yuh Hwang
Jiang
Yun-Cheng Ju
V. Mahajan
J. Rozak
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.)
Microsoft Corp
Original Assignee
Microsoft Corp
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 Microsoft Corp filed Critical Microsoft Corp
Publication of DE69707876D1 publication Critical patent/DE69707876D1/de
Application granted granted Critical
Publication of DE69707876T2 publication Critical patent/DE69707876T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; 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 TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; 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/0635Training 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.
DE69707876T 1996-06-28 1997-06-27 Verfahren und vorrichtung fuer dynamisch eingestelltes training zur spracherkennung Expired - Lifetime DE69707876T2 (de)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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 &#34;Hidden Markov&#34; 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