DE602004012909T2 - Verfahren und Vorrichtung zur Modellierung eines Spracherkennungssystems und zur Schätzung einer Wort-Fehlerrate basierend auf einem Text - Google Patents

Verfahren und Vorrichtung zur Modellierung eines Spracherkennungssystems und zur Schätzung einer Wort-Fehlerrate basierend auf einem Text Download PDF

Info

Publication number
DE602004012909T2
DE602004012909T2 DE602004012909T DE602004012909T DE602004012909T2 DE 602004012909 T2 DE602004012909 T2 DE 602004012909T2 DE 602004012909 T DE602004012909 T DE 602004012909T DE 602004012909 T DE602004012909 T DE 602004012909T DE 602004012909 T2 DE602004012909 T2 DE 602004012909T2
Authority
DE
Germany
Prior art keywords
model
speech
sequence
predicted
speech units
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
DE602004012909T
Other languages
English (en)
Other versions
DE602004012909D1 (de
Inventor
Milind Mahajan
Yonggang Deng
Alejandro Acero
Asela J.R. Gunawardana
Ciprian Chelba
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 DE602004012909D1 publication Critical patent/DE602004012909D1/de
Application granted granted Critical
Publication of DE602004012909T2 publication Critical patent/DE602004012909T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B29WORKING OF PLASTICS; WORKING OF SUBSTANCES IN A PLASTIC STATE IN GENERAL
    • B29CSHAPING OR JOINING OF PLASTICS; SHAPING OF MATERIAL IN A PLASTIC STATE, NOT OTHERWISE PROVIDED FOR; AFTER-TREATMENT OF THE SHAPED PRODUCTS, e.g. REPAIRING
    • B29C45/00Injection moulding, i.e. forcing the required volume of moulding material through a nozzle into a closed mould; Apparatus therefor
    • B29C45/17Component parts, details or accessories; Auxiliary operations
    • B29C45/38Cutting-off equipment for sprues or ingates
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/18Speech classification or search using natural language modelling
    • G10L15/183Speech classification or search using natural language modelling using context dependencies, e.g. language models
    • G10L15/19Grammatical context, e.g. disambiguation of the recognition hypotheses based on word sequence rules
    • G10L15/197Probabilistic grammars, e.g. word n-grams
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B29WORKING OF PLASTICS; WORKING OF SUBSTANCES IN A PLASTIC STATE IN GENERAL
    • B29CSHAPING OR JOINING OF PLASTICS; SHAPING OF MATERIAL IN A PLASTIC STATE, NOT OTHERWISE PROVIDED FOR; AFTER-TREATMENT OF THE SHAPED PRODUCTS, e.g. REPAIRING
    • B29C2945/00Indexing scheme relating to injection moulding, i.e. forcing the required volume of moulding material through a nozzle into a closed mould
    • B29C2945/76Measuring, controlling or regulating
    • B29C2945/76344Phase or stage of measurement
    • B29C2945/76418Ejection
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/18Speech classification or search using natural language modelling
    • G10L15/183Speech classification or search using natural language modelling using context dependencies, e.g. language models

Description

  • HINTERGRUND DER ERFINDUNG
  • Die vorliegende Erfindung betrifft Spracherkennung. Im Besonderen betrifft die vorliegende Erfindung das Modellieren der Leistung von Spracherkennungssystemen.
  • Bei der Spracherkennung wird ein akustisches Signal unter Verwendung eines Akustikmodells und eines Sprachmodells in eine Sequenz von Wörtern umgewandelt. Das Akustikmodell wandelt Merkmale des akustischen Signals in mögliche Sequenzen von Teilwort-Spracheinheiten, wie Laute (Phone), mit Wahrscheinlichkeiten um. Das Sprachmodell stellt Wahrscheinlichkeitsverteilungen für verschiedene Sequenzen von Wörtern bereit, die aus den Sequenzen von Lauten gebildet werden können, die von dem Akustikmodell identifiziert wurden.
  • Akustikmodelle werden typischerweise trainiert, indem ein Sprecher einen bekannten Text vorliest und dann das Akustikmodell so angefertigt wird, dass es den Trainingstext anhand der Trainingssprache vorhersagt. Sprachmodelle werden typischerweise anhand großer Korpora von Text trainiert, indem einfach die Wahrscheinlichkeit verschiedener Wortsequenzen in den Korpora identifiziert wird.
  • Die Leistung des resultierenden Spracherkennungssystems ist in gewissem Maße an den Trainingstext gebunden, der zum Trainieren des Akustikmodells und des Sprachmodells verwendet wurde. Als Folge zeigt das Spracherkennungssystem bei bestimmten Aufgabengebieten eine bessere Leistung als bei anderen Aufgabengebieten. Um zu bestimmen, wie ein Spracherkennungssystem in einem bestimmten Aufgabengebiet arbeiten wird, muss jemand die Wörter sprechen, von denen erwartet wird, dass sie ein Benutzer beim Durchführen der Aufgabe verwendet, um Akustikdaten zu erzeugen, die von dem System decodiert werden können. Das Einstellen von Personen zum Erzeugen einer ausreichenden Menge von Akustikdaten zum Bestimmen der Leistung des Spracherkennungssystems ist kostspielig und bildet ein Hindernis für das Entwickeln sprachaktivierter Computeranwendungen.
  • Das Dokument „Predicting Speech Recognition Performance" von Nakamura, ESCA, Eurospeech 97, Rhodes, Band 3, Seite 1567 bis 1570, offenbart den relevanten Stand der Technik.
  • Außerdem wurden, da das Erzeugen von Akustikdaten kostspielig ist, solche Daten bisher nicht für die gesamten Korpora erzeugt, die zum Trainieren des Sprachmodells verwendet werden. Als Folge wurde das Sprachmodell bisher typischerweise trainiert, ohne zu untersuchen, welche Leistung das Akustikmodell an den Sprachmodellkorpora zeigen wird. Daher wäre es vorteilhaft, über ein System zu verfügen, das ermöglicht, dass ein Korpus von Text beim Messen der Leistung der Kombination aus einem Akustikmodell und einem Sprachmodell verwendet werden kann, ohne dass Akustikdaten benötigt werden. Dies würde diskriminatives Training von Sprachmodellen in Verbindung mit Akustikmodellen ermöglichen.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Die Erfindung wird durch die angehängten Ansprüche definiert.
  • Ein Verfahren zum Modellieren eines Spracherkennungssystems enthält Decodieren eines anhand eines Trainingstextes erzeugten Sprachsignals, um eine Sequenz vorhergesagter Spracheinheiten zu erzeugen. Der Trainingstext umfasst eine Sequenz tatsächlicher Spracheinheiten, die mit der Sequenz vorhergesagter Spracheinheiten verwendet wird, um ein Streumodell auszubilden. Bei weiteren Ausführungen wird das Streumodell zum Decodieren eines Textes verwendet, um eine Fehlerrate zu identifizieren, die zu erwarten wäre, wenn das Spracherkennungssystem Sprache auf Basis des Textes decodieren würde.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • 1 ist ein Blockdiagramm einer allgemeinen Rechenumgebung, in der Ausführungen der vorliegenden Erfindung praktiziert werden können.
  • 2 ist ein Flussdiagramm eines Verfahrens zum Konstruieren und Verwenden eines Streumodells unter Ausführungen der vorliegenden Erfindung.
  • 3 ist ein Blockdiagramm von Komponenten, die zum Trainieren eines Streumodells unter Ausführungen der vorliegenden Erfindung verwendet werden.
  • 4 ist eine zeichnerische Zustandsdarstellung eines HHM-Streumodells unter einer Ausführung der vorliegenden Erfindung.
  • 5 ist ein Blockdiagramm eines Decodierers, der Text und ein Streumodell zum Bestimmen einer Wortfehlerrate nutzt.
  • 6 ist ein Trellis-Diagramm, das die Pfade zeigt, die beim Decodieren unter einer Ausführung der vorliegenden Erfindung ausgebildet werden.
  • AUSFÜHRLICHE BESCHREIBUNG DARSTELLENDER AUSFÜHRUNGEN
  • 1 stellt ein Beispiel für eine geeignete Rechensystemumgebung 100 dar, in der die Erfindung implementiert werden kann. Die Rechensystemumgebung 100 ist lediglich ein Beispiel für eine geeignete Rechenumgebung und soll nicht den Eindruck einer Beschränkung in Bezug auf den Umfang der Verwendung oder Funktionalität der Erfindung erwecken. Gleichfalls sollte die Rechenumgebung 100 nicht so interpretiert werden, als besäße sie eine Abhängigkeit oder Anforderung in Bezug auf eine Komponente oder eine Kombination von Komponenten, die bei der beispielhaften Arbeitsumgebung 100 dargestellt werden.
  • Die Erfindung ist mit zahlreichen anderen Altzweck- oder Spezialrechensystemumgebungen oder -konfigurationen funktionsfähig. Zu Beispielen für wohlbekannte Rechensysteme, -umgebungen und/oder -konfigurationen, die zur Verwendung mit der Erfindung geeignet sein können, gehören, ohne jedoch darauf beschränkt zu sein, Personalcomputer, Servercomputer, Handheld- oder Laptop-Vorrichtungen, Multiprozessorsysteme, mikroprozessorbasierte Systeme, Set-Top-Boxen, programmierbare Konsumelektronik, Netzwerk-PC, Kleinrechner, Großrechner, Telefoniesysteme, verteilte Rechenumgebungen, die eine(s) der vorgenannten Systeme oder Vorrichtungen enthalten, und Ähnliches.
  • Die Erfindung kann in dem allgemeinen Kontext von durch Computer ausführbaren Befehlen beschrieben werden, wie Programmmodule, die von einem Computer ausgeführt werden. Im Allgemeinen enthalten Programmmodule Routinen, Programme, Objekte, Komponenten, Datenstrukturen usw., die bestimmte Aufgaben durchführen oder bestimmte abstrakte Datentypen implementieren. Die Erfindung ist so konstruiert, dass sie in verteilten Rechenumgebungen praktiziert werden kann, in denen Aufgaben durch Fernverarbeitungsvorrichtungen durchgeführt werden, die über ein Kommunikationsnetz verbunden sind. In einer verteilten Rechenumgebung sind Programmmodule sowohl in lokalen als auch in entfernten Computerspeichermedien angeordnet, die Memory-Speichervorrichtungen enthalten.
  • Mit Bezugnahme auf 1 enthält ein beispielhaftes System zum Implementieren der Erfindung eine Allzweckrechenvorrichtung in der Form eines Computers 110. Komponenten des Rechners 110 können, ohne jedoch darauf beschränkt zu sein, eine Verarbeitungseinheit 120, einen Systemspeicher 130 und einen Systembus 121 enthalten, der verschiedene Systemkomponenten, einschließlich des Systemspeichers, mit der Verarbeitungseinheit 120 verbindet. Der Systembus 121 kann einer von mehreren Typen von Busstrukturen sein, die einen Speicherbus oder eine Speicher-Steuereinheit, einen Peripheriebus und einen lokalen Bus unter Verwendung einer von einer Vielfalt von Busarchitekturen enthalten. Als Beispiel, und nicht als Beschränkung, enthalten solche Architekturen einen Industry Standard Architecture(ISA)-Bus, einen Micro Channel Architecture(MCA)-Bus, einen Enhanced ISA(EISA)-Bus, einen lokalen Video Electronics Standards Association(VESA)-Bus und einen Peripheral Component Interconnect(PCI)-Bus, außerdem als Mezzanine-Bus bekannt.
  • Der Computer 110 enthält typischerweise eine Vielfalt computerlesbarer Medien. Computerlesbare Medien können verfügbare Medien sein, auf die der Computer 110 zugreifen kann und enthalten sowohl flüchtige als auch nichtflüchtige Medien, sowohl wechselbare als auch nichtwechselbare Medien. Als Beispiel, und nicht als Beschränkung, können computerlesbare Medien Computerspeichermedien und Kommunikationsmedien enthalten. Computerspeichermedien enthalten sowohl flüchtige als auch nichtflüchtige Medien, sowohl wechselbare als auch nichtwechselbare Medien, die in einem Verfahren oder in einer Technologie zum Speichern von Informationen, wie computerlesbare Befehle, Datenstrukturen, Programmmodule oder andere Daten, implementiert werden. Zu Computerspeichermedien gehören, ohne jedoch darauf beschränkt zu sein, RAM, ROM, EEPROM, Flash-Speicher oder andere Speichertechnologie, CD-ROM, Digital Versstile Disks (DVD) oder ein anderer optischer Plattenspeicher, Magnetkassetten, Magnetband, Magnetplattenspeicher oder andere Magnetspeichervorrichtungen oder ein anderes Medium, das zum Speichern der gewünschten Informationen verwendet werden kann und auf das der Computer 110 zugreifen kann. Kommunikationsmedien beinhalten typischerweise computerlesbare Befehle, Datenstrukturen, Programmmodule oder andere Daten in einem modulierten Datensignal, wie eine Trägerwelle oder ein anderer Transportmechanismus, und enthalten Informationszustellungsmedien. Der Begriff „moduliertes Datensignal" bedeutet ein Signal, bei dem eine oder mehrere seiner Kennlinien so eingestellt oder geändert werden, dass Informationen in dem Signal codiert werden. Als Beispiel, und nicht als Beschränkung, enthalten Kommunikationsmedien verdrahtete Medien, wie ein verdrahtetes Netz oder eine direktverdrahtete Verbindung, und drahtlose Medien, wie akustische Medien, Hochfrequenzmedien, Infrarotmedien und andere drahtlose Medien. Außerdem sollten Kombinationen der Vorgenannten in dem Umfang computerlesbarer Medien enthalten sein.
  • Der Systemspeicher 130 enthält Computerspeichermedien in der Form flüchtigen und/oder nichtflüchtigen Speichers, wie ein Nur-Lese-Speicher (ROM) 131 und ein Direktzugriffsspeicher (RAM) 132. Ein Basic Input-Output System 133 (BIOS), das die Basisroutinen enthält, die beim Übertragen von Informationen zwischen Elementen in dem Computer 110, wie beim Hochfahren, helfen, ist typischerweise in dem ROM 131 gespeichert. Der RAM 132 enthält typischerweise Daten und/oder Programmmodule, auf die die Verarbeitungseinheit 120 unmittelbar zugreifen kann und/oder die die Verarbeitungseinheit 120 aktuell bearbeitet. Als Beispiel, und nicht als Beschränkung, stellt 1 ein Betriebssystem 134, Anwendungsprogramme 135, andere Programmmodule 136 und Programmdaten 137 dar.
  • Der Computer 110 kann außerdem andere wechselbare/nichtwechselbare flüchtige/nichtflüchtige Computerspeichermedien enthalten. Lediglich als Beispiel stellt 1 ein Festplattenlaufwerk 141, das von nichtwechselbaren, nichtflüchtigen Magnetmedien liest oder auf diese schreibt, ein Magnetplattenlaufwerk 151, das von einer wechselbaren, nichtflüchtigen Magnetplatte 152 liest oder auf diese schreibt, und ein optisches Plattenlaufwerk 155 dar, das von einer wechselbaren, nichtflüchtigen optischen Platte 156, wie eine CD-ROM oder andere optische Medien, liest oder auf diese schreibt. Andere wechselbare/nichtwechselbare, flüchtige/nichtflüchtige Computerspeichermedien, die bei der beispielhaften Arbeitsumgebung verwendet werden können, enthalten, ohne jedoch darauf beschränkt zu sein, Magnetbandkassetten, Flash-Speicherkarten, Digital Versstile Disks, digitales Videoband, Festkörper-RAM, Festkörper-ROM und Ähnliches. Das Festplattenlaufwerk 141 ist typischerweise über eine Schnittstelle nichtwechselbaren Speichers, wie die Schnittstelle 140, mit dem Systembus 121 verbunden und das Magnetplattenlaufwerk 151 und das optische Plattenlaufwerk 155 sind typischerweise über eine Schnittstelle wechselbaren Speichers, wie die Schnittstelle 150, mit dem Systembus 121 verbunden.
  • Die Laufwerke und ihre zugehörigen Computerspeichermedien, die oben besprochen und in 1 dargestellt wurden, stellen Speicherung von computerlesbaren Befehlen, Datenstrukturen, Programmmodulen und anderen Daten für den Computer 110 bereit. In 1 wird zum Beispiel das Festplattenlaufwerk 141 so dargestellt, dass es ein Betriebssystem 144, Anwendungsprogramme 145, andere Programmmodule 146 und Programmdaten 147 speichert. Es ist zu beachten, dass diese Komponenten entweder die Gleichen wie das Betriebssystem 134, die Anwendungsprogramme 135, die anderen Programmmodule 136 und die Programmdaten 137 sein können oder sich von diesen unterscheiden können. Das Betriebssystem 144, die Anwendungsprogramme 145, die anderen Programmmodule 146 und die Programmdaten 147 erhalten hier andere Nummern, um darzustellen, dass sie mindestens unterschiedliche Kopien sind.
  • Ein Benutzer kann über Eingabevorrichtungen, wie eine Tastatur 162, ein Mikrofon 163 und eine Zeigevorrichtung 161, wie eine Maus, eine Rollkugel oder ein Touchpad, Befehle und Informationen in den Computer 110 eingegeben. Zu anderen Eingabevorrichtungen (nicht gezeigt) können ein Joystick, ein Gamepad, eine Satellitenschüssel, eine Abtastvorrichtung oder Ähnliches gehören. Diese und andere Eingabevorrichtungen sind oft über eine mit dem Systembus verbundene Benutzerschnittstelle 160 mit der Verarbeitungseinheit 120 verbunden, können aber über andere Schnittstellen- und Busstrukturen, wie ein paralleler Anschluss, ein Gameport oder ein universeller serieller Bus (USB), verbunden sein. Außerdem ist ein Monitor 191 oder ein anderer Anzeigevorrichtungstyp über eine Schnittstelle, wie eine Videoschnittstelle 190, mit dem Systembus 121 verbunden. Zusätzlich zu dem Monitor können Computer außerdem andere periphere Ausgabevorrichtungen, wie Lautsprecher 197 und ein Drucker 196, enthalten, die über eine periphere Ausgabeschnittstelle 195 verbunden sein können.
  • Der Computer 110 wird in einer vernetzten Umgebung betrieben, wobei logische Verbindungen zu einem oder mehreren Ferncomputern, wie ein Ferncomputer 180, verwendet werden. Der Ferncomputer 180 kann ein Personalcomputer, eine Handheld-Vorrichtung, ein Server, ein Router, ein Netzwerk-PC, eine Peer-Vorrichtung oder ein anderer üblicher Netzwerkknoten sein und enthält typischerweise viele oder alle der oben in Bezug auf den Computer 110 beschriebenen Elemente. Die in 1 gezeigten logischen Verbindungen enthalten ein lokales Netzwerk (LAN) 171 und ein Fernnetzwerk (WAN) 173, können aber außerdem andere Netzwerke enthalten. Solche Vernetzungsumgebungen sind in Büros, unternehmensweiten Computernetzwerken, Intranets und dem Internet üblich.
  • Bei Verwendung in einer LAN-Vernetzungsumgebung ist der Computer 110 über eine Netzwerkschnittstelle oder einen Adapter 170 mit dem LAN 171 verbunden. Bei Verwendung in einer WAN-Vernetzungsumgebung enthält der Computer 110 typischerweise ein Modem 172 oder eine andere Einrichtung zum Herstellen von Verbindungen über das WAN 173, wie das Internet. Das Modem 172, das intern oder extern sein kann, kann über die Benutzereingabeschnittstelle 160 oder einen anderen geeigneten Mechanismus mit dem Systembus 121 verbunden sein. In einer vernetzten Umgebung können die in Bezug auf den Computer 110 gezeigten Programmmodule oder Teile davon in der Fern-Memory-Speichervorrichtung gespeichert werden. Als Beispiel, und nicht als Beschränkung, stellt 1 Fernanwendungsprogramme 185 so dar, dass sie in dem Ferncomputer 180 resident sind. Es ist festzustellen, dass die gezeigten Netzwerkverbindungen beispielhaft sind und andere Einrichtungen zum Herstellen einer Kommunikationsverbindung zwischen den Computern verwendet werden können.
  • Unter der vorliegenden Erfindung wird ein Modell der Leistung eines Spracherkennungssystems konstruiert und wird verwendet, um die wahrscheinliche Fehlerrate eines Spracherkennungssystems bei einem vorgegebenen Text zu identifizieren. Dieses Modell wird in der Beschreibung im Folgenden als Streumodell bezeichnet. Durch die Nutzung des Streumodells werden keine Akustikdaten benötigt, um einzuschätzen, welche Leistung das Spracherkennungssystem beim Decodieren von Sprache erbringt, die anhand eines bestimmten Textes erzeugt wird.
  • 2 stellt ein Flussdiagramm eines Verfahrens zum Konstruieren und Verwenden eines Streumodells unter der vorliegenden Erfindung bereit. In Schritt 200 von 2 wird ein Akustikmodell 300 trainiert. Dies beinhaltet, dass eine Person 308 einen Teil eines Trainingstextes 304 vorträgt, um ein akustisches Signal zu erzeugen. Das akustische Signal wird von einem Empfänger 309 erfasst, der das Signal in ein elektrisches Signal umwandelt. Das elektrische Signal wird einer Merkmalextrahiereinrichtung bereitgestellt, die ein oder mehrere Merkmale aus dem elektrischen Signal extrahiert. Verfahren zum Identifizieren solcher Merkmalvektoren sind auf dem Gebiet wohlbekannt und enthalten Extrahierung 13-dimensionaler Mel-Frequenz-Cepstrum-Koeffizienten (Mel-Frequency Cepstrum Coefficients (MFCC)), wodurch 13 Cepstralwerte pro Merkmalvektor erzeugt werden. Der cepstrale Merkmalvektor stellt den spektralen Inhalt des Sprachsignals in einem entsprechenden Rahmen des elektrischen Signals dar. Die extrahierten Merkmalvektoren werden einem Trainer 302 bereitgestellt, der die Merkmale zum Trainieren des Akustikmodells 300 verwendet. Verfahren zum Konstruieren von Akustikmodellen sind auf dem Gebiet wohlbekannt. Das Akustikmodell kann eine gewünschte Form annehmen, wobei dies ein Hidden-Markov-Modell einschließt, ohne jedoch darauf beschränkt zu sein.
  • In Schritt 202 wird ein Teil von Trainingsdaten 304 wird von einer Person 308 gesprochen, um ein Testsignal zu erzeugen, das unter Verwendung des trainierten Akustikmodells decodiert wird. Das akustische Signal wird von dem Empfänger 309 und der Merkmalextrahiereinrichtung 310 in Merkmalvektoren umgewandelt und die Merkmalvektoren werden einem Decodierer 312 bereitgestellt.
  • Der Decodierer 312 verwendet das Akustikmodell 300, ein Wörterbuch 315 und ein Trainingssprachmodell 314, um die Merkmale in eine vorhergesagte Sequenz von Spracheinheiten zu decodieren. Bei vielen Ausführungen sind die Spracheinheiten phonetische Einheiten, wie Phone, Biphone oder Triphone.
  • Es ist zu beachten, dass die Schritte 200 und 202 unter Verwendung der Leave-one-out-Technik durchgeführt werden können, bei der Trainingsdaten 304 in mehrere Sätze von Trainingsdaten geteilt werden. Zum Konstruieren des Akustikmodells werden alle Sätze außer einem verwendet und der Satz, der nicht zum Konstruieren des Modells verwendet wird, wird unter Verwendung des Akustikmodells und des Sprachmodells decodiert. Die Schritte 200 und 202 werden dann wiederholt, indem ein unterschiedlicher Satz aus den Trainingsdaten als der zu decodierende Satz ausgewählt wird und das Akustikmodell anhand der restlichen Sätze konstruiert wird. Dies wird für jeden Datensatz in den Trainingsdaten 304 wiederholt, so dass für jeden Datensatz in den Trainingsdaten 304 ein getrennter Satz vorhergesagter Spracheinheiten bereitgestellt wird.
  • Wenn das beim Decodieren der Trainingsdaten verwendete Sprachmodell ebenfalls unter Verwendung der Trainingsdaten trainiert wurde, wäre es außerdem notwendig, das Sprachmodell unter Verwendung einer ähnlichen Leave-one-out-Prozedur zu trainieren. Die Leave-one-out-Technik ist vorteilhaft, um Verzerrung bei den vorhergesagten Spracheinheiten zu vermeiden.
  • In Schritt 204 wird die vorhergesagte Sequenz von Spracheinheiten mit der tatsächlichen Sequenz von Spracheinheiten aus den Trainingsdaten 304 abgeglichen. Dies wird durch ein Abgleichmodul 316 in 3 durchgeführt. Unter einer Ausführung wird dieser Abgleich unter Verwendung dynamischen Programmierens durchgeführt, wobei mögliche Abgleiche miteinander verglichen werden und der bestmögliche Abgleich auf Basis der Optimierung einer Zielfunktion ausgewählt wird. Unter einer Ausführung ist diese Zielfunktion eine Fehlerfunktion, die den Grad anzeigt, in dem sich die vorhergesagte Sequenz von Spracheinheiten von der tatsächlichen Sequenz von Spracheinheiten unterscheidet, nachdem der Abgleich abgeschlossen ist. Unter einigen Ausführungen ist die Fehlerfunktion eine einfache binäre Funktion, bei der ein Fehlerwert von eins erzeugt wird, wenn die zwei Spracheinheiten, die abgeglichen werden, nicht übereinstimmen, und ein Fehlerwert von null erzeugt wird, wenn die zwei Spracheinheiten übereinstimmen. Bei anderen Ausführungen werden unterschiedliche Gewichtungen auf unterschiedliche Typen von Fehlern angewendet. Zum Beispiel können Spracheinheiten, die ähnliche Töne bereitstellen, einen niedrigeren Fehlerwert aufweisen als Spracheinheiten, die im Wesentlichen unterschiedliche Töne bereitstellen.
  • Der Schritt des Abgleichens der vorhergesagten Sequenz mit der tatsächlichen Sequenz von Spracheinheiten wird in Schritt 204 nur dann durchgeführt, wenn das Streumodell abgeglichene Spracheinheiten erfordert, bevor es trainiert werden kann. Bei einigen Typen von Streumodellen, wie Hidden-Markov-Modelle, ist ein derartiger Abgleich nicht erforderlich, da das Training des Modells einen inhärenten Schritt des Abgleichens der Spracheinheiten enthält.
  • In Schritt 206 wird ein Streumodell 320 durch einen Streumodelltrainer 318 konstruiert. Unter einer Ausführung wird ein Hidden-Markov-Modell als Streumodell 320 konstruiert.
  • 4 zeigt ein Vier-Zustands-Hidden-Markov-Modell unter einer Ausführung des Streumodells der vorliegenden Erfindung. Unter dieser Ausführung der Erfindung wird für jede tatsächliche Spracheinheit ein getrenntes Hidden-Markov-Modell konstruiert. Jedes Hidden-Markov-Modell erzeugt als Ausgang die vorhergesagten Spracheinheiten, die anhand dieser bestimmten tatsächlichen Spracheinheit erzeugt werden können.
  • Das Vier-Zustands-Modell enthält die Zustände 400, 402, 404 und 406. Bei dem Streumodell sind die Zustände 400 und 406 nichtemittierende Zustände und Transitionen, die diese Zustände verlassen, führen nicht zu der Erzeugung einer vorhergesagten Spracheinheit. Dagegen erzeugen Transitionen, die die Zustände 402 und 404 verlassen, jedes Mal, wenn diese Transitionen verwendet werden, eine einzelne vorhergesagte Spracheinheit. Bei den Zuständen 402 und 404 besteht eine getrennte Ausgabewahrscheinlichkeit zum Erzeugen jeder möglichen vorhergesagten Spracheinheit.
  • Die Zustände sind durch Transitionen verbunden, die zugehörige Wahrscheinlichkeiten aufweisen. Die Summe der Wahrscheinlichkeiten für die Transitionen, die einen Zustand verlassen, entspricht 1. Somit ist die Summe der Transitionswahrscheinlichkeiten für die Transitionen 408 und 410 gleich 1 und die Summe der Wahrscheinlichkeiten für die Transitionen 412 und 414 entspricht 1.
  • Unterschiedliche Pfade durch das Modell von 4 stellen unterschiedliche Ersetzungs- und Einfügungsmöglichkeiten dar. Zum Beispiel stellt der Pfad von Zustand 400 zu Zustand 406 entlang der Transition 410 das Ersetzen der tatsächlichen Spracheinheit ohne Phoneinheit in der vorhergesagten Sequenz von Spracheinheiten dar. Der Pfad von Zustand 400 über die Zustände 402 und 406 entlang den Transitionen 408 und 414 stellt das Ersetzen einer tatsächlichen Spracheinheit durch eine einzelne vorhergesagte Spracheinheit dar. Es ist zu beachten, dass dieser Pfad die Situation enthält, bei der die tatsächliche Spracheinheit die gleiche ist wie die vorhergesagte Spracheinheit. Der Pfad von Zustand 400 über die Zustände 402, 404 und 406 entlang den Transitionen 408, 412 und 418 stellt das Ersetzen der tatsächlichen Spracheinheit durch zwei vorhergesagte Spracheinheiten dar, wobei eine vorhergesagte Spracheinheit auf der Transition aus dem Zustand 402 heraus erzeugt wird und eine zweite Spracheinheit auf der Transition aus dem Zustand 404 heraus erzeugt wird.
  • Der Zustand 404 enthält eine Selbsttransition 416, die einen Mechanismus bereitstellt, um eine Anzahl vorhergesagter Spracheinheiten an Stelle der tatsächlichen Spracheinheit zu haben.
  • Jedes Hidden-Markov-Modell, wie das Modell von 4, wird trainiert, indem zuerst gleiche Wahrscheinlichkeiten für jede vorhergesagte phonetische Spracheinheit in den Zuständen 402 und 404 angenommen werden und gleiche Transitionswahrscheinlichkeiten für jede der Transitionen angenommen werden. Dieses einfache Modell wird verwendet, um einen besten Abgleich zwischen den tatsächlichen Spracheinheiten und den vorhergesagten Spracheinheiten zu identifizieren und dadurch einen Abgleich bereitzustellen, der verwendet werden kann, um die Zustandswahrscheinlichkeiten und Transitionswahrscheinlichkeiten für jedes HMM zu trainieren. Mit den aktualisierten Modellen wird der Abgleich angepasst und das Modell unter Verwendung des neuen Abgleichs neu trainiert. Dies setzt sich fort, bis das Modell stabil wird. Diese Trainingsprozedur ist außerdem als Viterbi-Training bekannt. Bei einer leichten Abwandlung dieses Trainingsprozesses können mehrere Abgleiche zwischen den tatsächlichen und den vorhergesagten Spracheinheiten berücksichtigt werden. Dies ist als Forward-Backward- oder Baum-Welch-Training bekannt.
  • Bei anderen Ausführungen wird das Streumodell als ein regelbasiertes Modell konstruiert, bei dem jede Regel die Wahrscheinlichkeit einer Umwandlung von einer einzelnen Spracheinheit in der tatsächlichen Sequenz von Spracheinheiten in null Spracheinheiten, eine Spracheinheit oder mehr als eine Spracheinheit in der vorhergesagten Sequenz von Spracheinheiten bereitstellt. Unter Ausführungen der vorliegenden Erfin dung kann jede Regel kontextunabhängig oder kontextabhängig sein. Bei kontextabhängigen Regeln kann die Regel von dem Kontext auf der linken Seite, auf der rechten Seite oder auf der linken und rechten Seite der einzelnen Spracheinheit in der tatsächlichen Sequenz abhängig sein. Zusätzlich kann eine Anzahl von Spracheinheiten auf der linken Seite oder auf der rechten Seite der einzelnen Spracheinheit unter der vorliegenden Erfindung verwendet werden und Kombinationen unterschiedlicher Kontextlängen können zusammen so verwendet werden, dass zwei unterschiedliche Regeln zwei unterschiedliche Wahrscheinlichkeiten bereitstellen können, um eine tatsächliche Spracheinheit in eine Sequenz vorhergesagter Spracheinheiten umzuwandeln, wobei eine Regel eine Kontextlänge verwendet und die andere Regel eine längere Kontextlänge verwendet. Die Wahrscheinlichkeiten können über Interpolation kombiniert werden oder eine Einzelregelwahrscheinlichkeit kann auf Basis des Kontextes ausgewählt werden.
  • Um die Regelwahrscheinlichkeiten zu trainieren, wird der Abgleich zwischen der tatsächlichen Sequenz von Spracheinheiten und der vorhergesagten Sequenz von Spracheinheiten untersucht, um die Anzahl der Male zu bestimmen, die jede Regel verwendet werden kann, um eine tatsächliche Spracheinheit in eine Sequenz vorhergesagter Spracheinheiten umzuwandeln. Dieser Zählwert wird durch die Anzahl der Male geteilt, die die einzelne Spracheinheit in der tatsächlichen Sequenz von Spracheinheiten in dem bestimmten Kontext in Verbindung mit der Regel zu finden ist. Somit zeigt jede Wahrscheinlichkeit die Mutmaßlichkeit des Erzeugens einer Sequenz vorhergesagter Spracheinheiten bei einer vorgegebenen tatsächlichen Spracheinheit und, soweit gewünscht, einen bestimmten Kontext in der Sequenz tatsächlicher Spracheinheiten an.
  • Unter einer Ausführung der Erfindung können Spracheinheiten in die vorhergesagte Sequenz eingefügt werden, ohne dass das Ersetzen einer tatsächlichen Spracheinheit erforderlich ist. Dies wird erreicht, indem eine leere Spracheinheit, ε, vor dem Abgleich zwischen jede Spracheinheit in der tatsächlichen Sequenz von Spracheinheiten eingefügt wird. Beim Abgleich werden solche leeren Spracheinheiten typischerweise mit nichts in der vorhergesagten Sequenz abgeglichen. Gelegentlich jedoch wird die ε-Spracheinheit mit einer oder mehreren Spracheinheiten in der vorhergesagten Sequenz abgeglichen. Als Folge werden Regeln erzeugt, um von der leeren Spracheinheit in die vorhergesagten Spracheinheiten umzuwandeln, die bei dem Abgleich zu finden sind.
  • Unter einer Ausführung der Erfindung werden, nachdem die Wahrscheinlichkeit für jede Regel erzeugt wurde, einige der Regeln beschnitten, um die Anzahl von Regeln in dem Regelsatz zu verringern und dadurch das Decodieren zu vereinfachen. Dieses Beschneiden kann auf Basis der Anzahl von Malen durchgeführt werden, die der Kontext und die einzelne Spracheinheit in der tatsächlichen Sequenz von Spracheinheiten zu finden sind, oder kann auf Basis der Anzahl von Malen durchgeführt werden, die der Kontext und die tatsächliche Spracheinheit eine bestimmte Sequenz vorhergesagter Spracheinheiten erzeugen. In dem letzteren Fall müssen die Wahrscheinlichkeiten für die Regeln, die den gleichen Kontext teilen wie die Regel, die beschnitten wurde, aber eine unterschiedliche Sequenz vorhergesagter Spracheinheiten bereitstellen, neu berechnet werden, so dass die Summe der Wahrscheinlichkeiten mit dem gleichen Kontext und der tatsächlichen Spracheinheit eins entspricht.
  • Nachdem das Streumodell in Schritt 206 konstruiert wurde, kann es verwendet werden, um die Leistung des Akustikmodells zu modellieren, ohne dass das Erzeugen eines akustischen Signals erforderlich ist. In Schritt 208 wird ein Testtext 500 von 5 durch einen Decodierer 502 unter Verwendung eines Streumodells 504, eines Wörterbuches 508 und eines Sprachmodells 506 decodiert. Der Decodierer 502 erzeugt einen Satz vorhergesagter Sequenzen von Wörtern zusammen mit den Wahrscheinlichkeiten für jede Sequenz gemäß der Berechnung unter Verwendung des Streumodells 504, des Wörterbuches 508 und des Sprachmodells 506. Der Decodierer 502 leitet außerdem die tatsächlichen Wortsequenzen in dem Testtext 500 weiter.
  • Das von dem Decodierer 502 verwendete Sprachmodell 506 unterscheidet sich bei den meisten Ausführungen von dem Trainings-Sprachmodell 314. Typischerweise wird das Trainings-Sprachmodell 314 so ausgewählt, dass es ein schwaches Sprachmodell ist, so dass das Streumodell die Schwächen des Akustikmodells 300 anzeigt. Dagegen ist das Sprachmodell 506 ein starkes Sprachmodell, das dem Sprachmodell, das in einem Spracherkennungssystem verwendet werden wird, ähnlicher ist. Bei einigen Ausführungen werden unterschiedliche Sprachmodelle mit dem gleichen Streumodell 504 und Testtext 500 verwendet, um die relative Leistung der zwei Sprachmodelle auf Basis einer Wortfehlerrate zu bestimmen, die berechnet wurde, wie weiter unten besprochen.
  • Unter einem regelbasierten Streumodell wendet der Decodierer 502 die Regeln in dem Streumodell 504 an, um ein Netzwerk zu konstruieren, das einen Satz von Pfaden darstellt, die mögliche Sequenzen vorhergesagter Spracheinheiten darstellen, wie die Pfade von 6. In 6 werden Transitionen zwischen den Zuständen 600, 602, 604, 606, 608 und 610 gezeigt. Die Transitionen zwischen zwei Zuständen stellen Sequenzen vorhergesagter Spracheinheiten dar, die einige Wahrscheinlichkeit aufweisen, an Stelle einer bestimmten Spracheinheit in der tatsächlichen Sequenz von Spracheinheiten verwendet zu werden, die durch den Testtext 500 dargestellt werden. Zum Beispiel stellen die Transitionen zwischen Zustand 602 und 604 alle der vorhergesagten Sequenzen von Spracheinheiten dar, die an Stelle einer Spracheinheit P1 verwendet werden können. Auf ähnliche Weise stellen die Transitionen zwischen Zustand 604 und 606 alle Transitionen dar, die zwischen der Spracheinheit P1 und der Spracheinheit P2 der tatsächlichen Sequenz von Spracheinheiten eingefügt werden können. Es ist zu beachten, dass für keine Spracheinheit in der vorhergesagten Sequenz von Spracheinheiten eine Transition bereitgestellt werden kann. Somit kann eine der Transitionen zwischen Zustand 602 und 604 ein ε enthalten, das keine Spracheinheit darstellt. Dies zeigt an, dass die tatsächliche Spracheinheit P1 in der vorhergesagten Sequenz von Spracheinheiten einfach entfernt wird. Das Netzwerk enthält außerdem Zustände und Transitionen, die der leeren Spracheinheit ε entsprechen. Diese werden in wechselnden Positionen zusammen mit den tatsächlichen Spracheinheiten, wie in 6 gezeigt, zwischen Zustand 600 und 602; Zustand 604 und 606 eingefügt. Diese Transitionen entsprechen den Regeln für das Einfügen, die der leeren Spracheinheit ε entsprechen.
  • In 6 hat jede Transition eine bestimmte Wahrscheinlichkeit. Um vorhergesagte Wortsequenzen anhand des Netzwerkes vorherzusagen, das für den Testtext erzeugt wurde, erkundet der Decodierer die Pfade in dem Netzwerk, indem er das Netzwerk durchquert. Hier können Standard-Graphdurchquerungsstrategien, wie Tiefe-zuerst-Suche oder Breite-zuerst-Suche, verwendet werden. Jeder von dem Decodierer erkundete Pfad entspricht einer Sequenz vorhergesagter Spracheinheiten.
  • Um die Effizienz zu erhöhen und um die Anzahl von Pfaden zu beschränken, die von dem Decodierer erkundet werden, kann der Decodierer entscheiden, Teilpfade zu beschneiden (d. h. aus weiterer Berücksichtigung zu streichen), die während der Durch querung erzeugt wurden. Wenn zum Beispiel ein Teilpfad einer vorhergesagten Spracheinheitssequenz entspricht, die nicht mit einem Teilpräfix einer Spracheinheitssequenz übereinstimmt, die einer Wortsequenz entspricht, dann kann ein solcher Teilpfad beschnitten werden. Außerdem können Teilpfade mit niedriger Wahrscheinlichkeit im Vergleich zu anderen Teil- oder Komplettpfaden beschnitten werden.
  • Um weitere Anleitung zum Beschneiden bereitzustellen, kann der Decodierer zuerst die vorhergesagte Spracheinheitssequenz erzeugen, die mit der tatsächlichen Spracheinheitssequenz identisch ist. Eine solche Sequenz hat typischerweise eine hohe Wahrscheinlichkeit und hilft bei dem Identifizieren anderer Pfade mit niedriger Wahrscheinlichkeit.
  • Wenn der Decodierer 502 den Endzustand 612 entlang einem bestimmten Pfad erreicht, steht ihm die Sequenz vorhergesagter Spracheinheiten, die dem erkundeten Pfad entspricht, zusammen mit ihrer zugehörigen Wahrscheinlichkeit zur Verfügung. Der Decodierer identifiziert dann all die Wortsequenzen, die die vorhergesagte Spracheinheitssequenz erzeugen können, indem er die Spracheinheitssequenz, die der Worteinheitssequenz entspricht, mit der vorhergesagten Spracheinheitssequenz abgleicht.
  • Nachdem der Decodierer alle Pfade in dem Netzwerk erkundet hat, weist er den vorhergesagten Wortsequenzen Wahrscheinlichkeiten gemäß der nachfolgenden Gleichung zu. Es ist zu beachten, dass wir zur Vereinfachung der Darstellung beim Herleiten der Gleichung mehrere vereinfachende Annahmen getroffen haben. Zum Beispiel haben wir angenommen, dass für jedes Wort eine einzige Aussprache (d. h. eine Spracheinheitssequenz) besteht.
    Figure 00150001
    wobei p(Wp|Wp) die Wahrscheinlichkeit einer vorhergesagten Wortsequenz Wp einer vorgegebenen tatsächlichen Wortsequenz Wc ist; P(Wp) die Sprachmodellwahrscheinlichkeit für die vorhergesagte Wortsequenz ist; die Summierung im Nenner die Summierung aller Sprachmodellwahrscheinlichkeiten für alle vorhergesagten Wortsequenzen ist, die die gleiche Sequenz von Spracheinheiten aufweisen wie die vorhergesagte Wortsequenz Wp und p(t -|φc) die Gesamtwahrscheinlichkeit entlang einem Pfad t - durch das Netzwerk ist, wobei die Summe über alle Pfade hinweg ermittelt wird, die die gleiche Sequenz von Spracheinheiten erzeugen wie die Sequenz in Wp. φ(Wp) stellt die Spracheinheitssequenz dar, die der Wortsequenz Wp entspricht, und φ(t -)stellt die vorhergesagte Spracheinheitssequenz entlang Pfad t - dar. Die Wahrscheinlichkeit für jeden Pfad, p(t -|φc) wird als das Produkt der einzelnen Wahrscheinlichkeiten bestimmt, die mit jeder Transition entlang dem Pfad verbunden sind. Es ist zu beachten, dass unterschiedliche Pfade durch das Decodierer-Gitter auf Grund der ε-Transitionen, die zum Zweck des Bestimmens der Ähnlichkeit der Pfade nicht als Spracheinheiten erachtet werden, die gleiche Sequenz vorhergesagter Spracheinheiten aufweisen können. Zum Beispiel würde die Sequenz t-ε-iy als die Gleiche wie die Sequenz t-iy-ε erachtet werden, da die ε-Spracheinheiten beim Bestimmen der Ähnlichkeit der Sequenzen ignoriert werden.
  • Nachdem die Wahrscheinlichkeiten für jede der vorhergesagten Wortsequenzen bestimmt wurden, werden in Schritt 210 Fehler zwischen den vorhergesagten Wortsequenzen und den tatsächlichen Wortsequenzen durch eine Wortfehlerraten-Berechnungseinrichtung 510 identifiziert. Die Fehler werden bestimmt, indem Unterschiede zwischen Wörtern in der vorhergesagten Wortsequenz und Wörtern in der von dem Decodierer 502 bereitgestellten tatsächlichen Wortsequenz identifiziert werden.
  • In Schritt 212 werden die Fehler verwendet, um eine Wortfehlerrate für den Testtext 500 zu erzeugen. Unter einer Ausführung wird der erwartete Wert für die Wortfehlerrate bestimmt als:
    Figure 00160001
    wobei E[WER] die Erwartung der Wortfehlerrate für den Testtext 500 ist; E[ei] der erwartete Wert der Anzahl von Fehlern für den Satz i in dem Testtext ist; Ni die Anzahl von Wörtern in dem tatsächlichen Satz i ist und I die Gesamtzahl von Sätzen in dem Testtext 500 ist.
  • Unter einer Ausführung entspricht E[ei] der Summe des Produkts der Anzahl von Fehlern für jede Wortsequenz, die für Satz i vorhergesagt wird, und der Wahrscheinlichkeit dieser vorhergesagten Wortsequenz. Dies kann außerdem als eine Gleichung geschrieben werden:
    Figure 00170001
  • Hier ist Wc die tatsächliche Wortsequenz in Satz i; ErrCount(Wp,Wc) ist die Anzahl von Fehlern, die durch Abgleichen der vorhergesagten Wortsequenz Wp mit der tatsächlichen Wortsequenz Wc identifiziert wurde; und p(Wp|Wc) ist die Wahrscheinlichkeit der vorhergesagten Wortsequenz Wp bei der vorgegebenen tatsächlichen Wortsequenz Wc. Die Summierung wird unter allen der vorhergesagten Wortsequenzen ermittelt.
  • Bei anderen Ausführungen wird die erwartete Anzahl von Fehlern für einen Satz berechnet, indem Fehler auf Basis der Typen von Fehlern, die gemacht wurden, gewichtet werden. Mit anderen Worten erfolgt die Berechnung von ErrCount(Wp, Wc) durch Gewichten von Fehlern auf Basis der Fehlertypen.
  • Somit kann unter Verwendung von Gleichung 2 eine Wortfehlerrate für den Testtext erzeugt werden. Da jeder Satz in dem Testtext getrennt untersucht wird, können außerdem diejenigen Wortsequenzen in dem Testtext identifiziert werden, bei denen es wahrscheinlich ist, dass sie große Anzahlen von Fehlern erzeugen, wenn sie von dem Spracherkennungssystem decodiert werden. Es ist zu beachten, dass das oben gezeigte System keine akustischen Daten benötigt, um zu bestimmen, welche Leistung das Spracherkennungssystem bei dem Text zeigen wird. Dies verringert in großem Maße die Kosten für das Bewerten eines Spracherkennungssystems in Bezug auf verschiedene Aufgaben. Dies ermöglicht außerdem Entwicklern, die Art und Weise zu ändern, wie sie Benutzer um Eingabe bitten, so dass der Benutzer angeleitet wird, Sequenzen von Wörtern zu verwenden, die das Spracherkennungssystem leichter decodieren kann.
  • Zusätzlich ermöglicht die vorliegende Erfindung, dass mehrere Sprachmodelle miteinander verglichen werden können. Dies kann durchgeführt werden, indem die Wortfehlerrate unter Verwendung eines Sprachmodells bestimmt wird und dann die Fehlerrate unter Verwendung eines zweiten Sprachmodells bestimmt wird. Die Wortfehlerraten werden dann miteinander verglichen, um die relative Leistung der Sprachmodelle zu bestimmen.
  • Zusätzlich ermöglicht die vorliegende Erfindung, dass Sprachmodelle mit dem Akustikmodell unter Verwendung diskriminativen Trainings trainiert werden können, das auf der in Schritt 212 berechneten Wortfehlerrate basiert. Unter einem solchen Training wird das Sprachmodell modifiziert, um die Wortfehlerrate zu verbessern. Da dieses Training zum Teil auf der Leistung des Akustikmodells basiert, wird davon ausgegangen, dass die resultierenden Sprachmodelle eine bessere Leistung zeigen als Sprachmodelle, die ohne Bezugnahme auf die Leistung des Akustikmodells trainiert werden.
  • Auch wenn die vorliegende Erfindung mit Bezugnahme auf bestimmte Ausführungen beschrieben wurde, werden Fachpersonen erkennen, dass Änderungen an Form und Einzelheiten durchgeführt werden können, ohne von dem Umfang der Erfindung abzuweichen, die durch die angehängten Ansprüche definiert wird.

Claims (15)

  1. Verfahren zum Modellieren eines Spracherkennungssystems, wobei das Verfahren umfasst: Decodieren eines anhand eines Trainingstextes erzeugten Sprachsignals, wobei der Trainingstext eine Sequenz tatsächlicher Spracheinheiten umfasst, um eine Sequenz vorhergesagter Spracheinheiten zu erzeugen; Konstruieren eines Streumodells (confusion model) auf Basis der Sequenz tatsächlicher Spracheinheiten und der Sequenz vorhergesagter Spracheinheiten; und Decodieren eines Testtextes unter Verwendung des Streumodells und eines Sprachmodells, um wenigstens eine auf Modellbasis vorgesagte Sequenz von Spracheinheiten zu erzeugen.
  2. Verfahren nach Anspruch 1, das des Weiteren Erzeugen einer Wahrscheinlichkeit für jede auf Modellbasis vorhergesagte Sequenz von Spracheinheiten umfasst.
  3. Verfahren nach Anspruch 2, das des Weiteren Verwenden der Wahrscheinlichkeit für eine auf Modellbasis vorhergesagte Sequenz von Spracheinheiten umfasst, um Wortsequenzen in dem Testtext zu identifizieren, die wahrscheinlich eine fehlerhafte, auf Modellbasis vorhergesagte Sequenz von Spracheinheiten erzeugen.
  4. Verfahren nach Anspruch 1, das des Weiteren umfasst: Decodieren des Testtextes unter Verwendung eines ersten Sprachmodells mit dem Streumodell, um einen ersten Satz auf Modellbasis vorhergesagter Spracheinheiten auszubilden; und Decodieren des Testtextes unter Verwendung eines zweiten Sprachmodells mit dem Streumodell, um einen zweiten Satz auf Modellbasis vorhergesagter Spracheinheiten auszubilden.
  5. Verfahren nach Anspruch 4, das des Weiteren Verwenden des ersten und des zweiten Satzes auf Modellbasis vorhergesagter Spracheinheiten umfasst, um die Leistung des ersten Sprachmodells mit der Leistung des zweiten Sprachmodells zu vergleichen.
  6. Verfahren nach Anspruch 4, wobei die Schritte des Decodierens des Testtextes unter Verwendung des ersten und des zweiten Sprachmodells Teil eines Verfahrens des diskriminativen Trainings eines Sprachmodells bilden.
  7. Verfahren nach Anspruch 1, wobei Decodieren des Sprachsignals Verwenden eines Trainings-Sprachmodells zum Decodieren des Sprachsignals umfasst und das Trainings-Sprachmodell keine so gute Leistung erbringt, wie das zum Decodieren des Testtextes verwendete Sprachmodell.
  8. Computerlesbares Medium, das durch Computer ausführbare Befehle zum Durchführen aller Schritte des Verfahrens nach Anspruch 1 aufweist, wobei Decodieren des Testtextes, der tatsächliche Sequenzen von Spracheinheiten umfasst, um Sequenzen vorhergesagter Spracheinheiten zu erzeugen, das Streumodell verwendet, das Wahrscheinlichkeiten für Sequenzen vorhergesagter Spracheinheiten bei gegebenen Sequenzen tatsächlicher Spracheinheiten schafft; und des Weiteren Durchführen des Schrittes des Bestimmens einer Fehlerrate auf Basis einer Sequenz vorhergesagter Spracheinheiten und der Sequenz tatsächlicher Spracheinheiten.
  9. Computerlesbares Medium nach Anspruch 8, wobei Decodieren eines Testtextes des Weiteren Verwenden eines Sprachmodells mit dem Streumodell umfasst.
  10. Computerlesbares Medium nach Anspruch 9, das durch Computer ausführbare Befehle zum Durchführen eines weiteren Schrittes des Verwendens der Fehlerrate zum Trainieren des Sprachmodells aufweist.
  11. Computerlesbares Medium nach Anspruch 8, das durch Computer ausführbare Befehle zum Durchführen eines weiteren Schrittes des Identifizierens von Wörtern aufweist, die durch Teile der Sequenz tatsächlicher Spracheinheiten dargestellt werden, die hohe Fehlerraten erzeugen.
  12. Computerlesbares Medium nach Anspruch 8, wobei das Streumodell einen Satz Regeln umfasst und jede Regel eine Umwandlung von einer tatsächlichen Spracheinheit in wenigstens eine vorhergesagte Spracheinheit sowie eine Wahrscheinlichkeit des Durchführens einer derartigen Umwandlung bereitstellt.
  13. Computerlesbares Medium nach Anspruch 12, wobei eine erste Regel zum Umwandeln einer tatsächlichen Spracheinheit in wenigstens eine vorhergesagte Spracheinheit kontextabhängig von einer ersten Anzahl tatsächlicher Spracheinheiten ist und eine zweite Regel zum Umwandeln der tatsächlichen Spracheinheit in die wenigstens eine vorhergesagte Spracheinheit kontextabhängig von einer zweiten Anzahl tatsächlicher Spracheinheiten ist.
  14. Computerlesbares Medium nach Anspruch 12, das durch Computer ausführbare Befehle zum Durchführen weiterer Schritte aufweist, die Trainieren des Streumodells umfassen.
  15. Computerlesbares Medium nach Anspruch 14, wobei Trainieren des Streumodells umfasst: Decodieren eines Sprachsignals, das aus einem Trainingstext erzeugt wird, um eine Sequenz vorhergesagter Spracheinheiten zu erzeugen; Identifizieren einer Sequenz von Trainings-Spracheinheiten in dem Trainingstext; Abgleichen der Sequenz vorhergesagter Spracheinheiten mit der Sequenz von Trainings-Spracheinheiten; und Verwenden der abgeglichenen Sequenzen, um das Streumodell zu trainieren.
DE602004012909T 2003-02-13 2004-02-13 Verfahren und Vorrichtung zur Modellierung eines Spracherkennungssystems und zur Schätzung einer Wort-Fehlerrate basierend auf einem Text Expired - Lifetime DE602004012909T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US365850 2003-02-13
US10/365,850 US7117153B2 (en) 2003-02-13 2003-02-13 Method and apparatus for predicting word error rates from text

Publications (2)

Publication Number Publication Date
DE602004012909D1 DE602004012909D1 (de) 2008-05-21
DE602004012909T2 true DE602004012909T2 (de) 2009-06-10

Family

ID=32681724

Family Applications (1)

Application Number Title Priority Date Filing Date
DE602004012909T Expired - Lifetime DE602004012909T2 (de) 2003-02-13 2004-02-13 Verfahren und Vorrichtung zur Modellierung eines Spracherkennungssystems und zur Schätzung einer Wort-Fehlerrate basierend auf einem Text

Country Status (7)

Country Link
US (2) US7117153B2 (de)
EP (1) EP1447792B1 (de)
JP (1) JP4528535B2 (de)
KR (1) KR101004560B1 (de)
CN (1) CN100589179C (de)
AT (1) ATE391985T1 (de)
DE (1) DE602004012909T2 (de)

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8793127B2 (en) 2002-10-31 2014-07-29 Promptu Systems Corporation Method and apparatus for automatically determining speaker characteristics for speech-directed advertising or other enhancement of speech-controlled devices or services
US8050918B2 (en) * 2003-12-11 2011-11-01 Nuance Communications, Inc. Quality evaluation tool for dynamic voice portals
US7505906B2 (en) * 2004-02-26 2009-03-17 At&T Intellectual Property, Ii System and method for augmenting spoken language understanding by correcting common errors in linguistic performance
US7509259B2 (en) * 2004-12-21 2009-03-24 Motorola, Inc. Method of refining statistical pattern recognition models and statistical pattern recognizers
US7877387B2 (en) * 2005-09-30 2011-01-25 Strands, Inc. Systems and methods for promotional media item selection and promotional program unit generation
US7809568B2 (en) * 2005-11-08 2010-10-05 Microsoft Corporation Indexing and searching speech with text meta-data
US7831428B2 (en) * 2005-11-09 2010-11-09 Microsoft Corporation Speech index pruning
US7831425B2 (en) * 2005-12-15 2010-11-09 Microsoft Corporation Time-anchored posterior indexing of speech
US8234120B2 (en) * 2006-07-26 2012-07-31 Nuance Communications, Inc. Performing a safety analysis for user-defined voice commands to ensure that the voice commands do not cause speech recognition ambiguities
ATE466361T1 (de) * 2006-08-11 2010-05-15 Harman Becker Automotive Sys Spracherkennung mittels eines statistischen sprachmodells unter verwendung von quadratwurzelglättung
JP2008134475A (ja) * 2006-11-28 2008-06-12 Internatl Business Mach Corp <Ibm> 入力された音声のアクセントを認識する技術
US7925505B2 (en) * 2007-04-10 2011-04-12 Microsoft Corporation Adaptation of language models and context free grammar in speech recognition
WO2009078256A1 (ja) * 2007-12-18 2009-06-25 Nec Corporation 発音変動規則抽出装置、発音変動規則抽出方法、および発音変動規則抽出用プログラム
US9659559B2 (en) * 2009-06-25 2017-05-23 Adacel Systems, Inc. Phonetic distance measurement system and related methods
US8782556B2 (en) 2010-02-12 2014-07-15 Microsoft Corporation User-centric soft keyboard predictive technologies
US9224386B1 (en) * 2012-06-22 2015-12-29 Amazon Technologies, Inc. Discriminative language model training using a confusion matrix
CN103578463B (zh) * 2012-07-27 2017-12-01 腾讯科技(深圳)有限公司 自动化测试方法及测试装置
US9292487B1 (en) 2012-08-16 2016-03-22 Amazon Technologies, Inc. Discriminative language model pruning
BR112015003830B1 (pt) * 2012-08-30 2021-06-01 Interactive Intelligence, Inc Método e sistema para prever o desempenho de reconhecimento de discurso
US10019983B2 (en) * 2012-08-30 2018-07-10 Aravind Ganapathiraju Method and system for predicting speech recognition performance using accuracy scores
US9613619B2 (en) 2013-10-30 2017-04-04 Genesys Telecommunications Laboratories, Inc. Predicting recognition quality of a phrase in automatic speech recognition systems
US9953646B2 (en) 2014-09-02 2018-04-24 Belleau Technologies Method and system for dynamic speech recognition and tracking of prewritten script
US10540957B2 (en) * 2014-12-15 2020-01-21 Baidu Usa Llc Systems and methods for speech transcription
US10229672B1 (en) * 2015-12-31 2019-03-12 Google Llc Training acoustic models using connectionist temporal classification
KR20180001889A (ko) * 2016-06-28 2018-01-05 삼성전자주식회사 언어 처리 방법 및 장치
US9977729B1 (en) * 2016-11-23 2018-05-22 Google Llc Testing applications with a defined input format
CN112528611A (zh) * 2019-08-27 2021-03-19 珠海金山办公软件有限公司 一种编辑表格的方法、装置、计算机存储介质及终端
CN111402865B (zh) * 2020-03-20 2023-08-08 北京达佳互联信息技术有限公司 语音识别训练数据的生成方法、语音识别模型的训练方法
CN112151014B (zh) * 2020-11-04 2023-07-21 平安科技(深圳)有限公司 语音识别结果的测评方法、装置、设备及存储介质
EP4281965A1 (de) * 2021-01-21 2023-11-29 Alibaba Group Holding Limited Qualitätsschätzung für automatische spracherkennung
CN113192497B (zh) * 2021-04-28 2024-03-01 平安科技(深圳)有限公司 基于自然语言处理的语音识别方法、装置、设备及介质
CN113936643B (zh) * 2021-12-16 2022-05-17 阿里巴巴达摩院(杭州)科技有限公司 语音识别方法、语音识别模型、电子设备和存储介质

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4817156A (en) * 1987-08-10 1989-03-28 International Business Machines Corporation Rapidly training a speech recognizer to a subsequent speaker given training data of a reference speaker
JPH01102599A (ja) * 1987-10-12 1989-04-20 Internatl Business Mach Corp <Ibm> 音声認識方法
DE69322894T2 (de) * 1992-03-02 1999-07-29 At & T Corp Lernverfahren und Gerät zur Spracherkennung
US5467425A (en) * 1993-02-26 1995-11-14 International Business Machines Corporation Building scalable N-gram language models using maximum likelihood maximum entropy N-gram models
US5515475A (en) * 1993-06-24 1996-05-07 Northern Telecom Limited Speech recognition method using a two-pass search
CA2126380C (en) * 1993-07-22 1998-07-07 Wu Chou Minimum error rate training of combined string models
US5737723A (en) * 1994-08-29 1998-04-07 Lucent Technologies Inc. Confusable word detection in speech recognition
US5802057A (en) * 1995-12-01 1998-09-01 Apple Computer, Inc. Fly-by serial bus arbitration
JPH1097271A (ja) * 1996-09-24 1998-04-14 Nippon Telegr & Teleph Corp <Ntt> 言語モデル構成法、音声認識用モデル及び音声認識方法
US6137863A (en) * 1996-12-13 2000-10-24 At&T Corp. Statistical database correction of alphanumeric account numbers for speech recognition and touch-tone recognition
US6101241A (en) * 1997-07-16 2000-08-08 At&T Corp. Telephone-based speech recognition for data collection
WO1999031654A2 (en) * 1997-12-12 1999-06-24 Koninklijke Philips Electronics N.V. Method of determining model-specific factors for pattern recognition, in particular for speech patterns
US6182039B1 (en) * 1998-03-24 2001-01-30 Matsushita Electric Industrial Co., Ltd. Method and apparatus using probabilistic language model based on confusable sets for speech recognition
US6185530B1 (en) * 1998-08-14 2001-02-06 International Business Machines Corporation Apparatus and methods for identifying potential acoustic confusibility among words in a speech recognition system
US6684185B1 (en) * 1998-09-04 2004-01-27 Matsushita Electric Industrial Co., Ltd. Small footprint language and vocabulary independent word recognizer using registration by word spelling
US6385579B1 (en) * 1999-04-29 2002-05-07 International Business Machines Corporation Methods and apparatus for forming compound words for use in a continuous speech recognition system
US6611802B2 (en) * 1999-06-11 2003-08-26 International Business Machines Corporation Method and system for proofreading and correcting dictated text
CN1207664C (zh) * 1999-07-27 2005-06-22 国际商业机器公司 对语音识别结果中的错误进行校正的方法和语音识别系统
US6622121B1 (en) * 1999-08-20 2003-09-16 International Business Machines Corporation Testing speech recognition systems using test data generated by text-to-speech conversion
US6711541B1 (en) * 1999-09-07 2004-03-23 Matsushita Electric Industrial Co., Ltd. Technique for developing discriminative sound units for speech recognition and allophone modeling
US20060074664A1 (en) * 2000-01-10 2006-04-06 Lam Kwok L System and method for utterance verification of chinese long and short keywords
US7219056B2 (en) 2000-04-20 2007-05-15 International Business Machines Corporation Determining and using acoustic confusability, acoustic perplexity and synthetic acoustic word error rate
US20010056345A1 (en) * 2000-04-25 2001-12-27 David Guedalia Method and system for speech recognition of the alphabet
WO2001084535A2 (en) * 2000-05-02 2001-11-08 Dragon Systems, Inc. Error correction in speech recognition
US7031908B1 (en) * 2000-06-01 2006-04-18 Microsoft Corporation Creating a language model for a language processing system
US20040049386A1 (en) * 2000-12-14 2004-03-11 Meinrad Niemoeller Speech recognition method and system for a small device
US6859774B2 (en) * 2001-05-02 2005-02-22 International Business Machines Corporation Error corrective mechanisms for consensus decoding of speech
US7013276B2 (en) * 2001-10-05 2006-03-14 Comverse, Inc. Method of assessing degree of acoustic confusability, and system therefor
JP4024614B2 (ja) * 2002-08-02 2007-12-19 日本電信電話株式会社 言語モデル生成方法、装置およびプログラム、テキスト分析装置およびプログラム

Also Published As

Publication number Publication date
EP1447792B1 (de) 2008-04-09
US7103544B2 (en) 2006-09-05
US20040162730A1 (en) 2004-08-19
EP1447792A2 (de) 2004-08-18
US7117153B2 (en) 2006-10-03
KR20040073398A (ko) 2004-08-19
US20050228670A1 (en) 2005-10-13
ATE391985T1 (de) 2008-04-15
JP4528535B2 (ja) 2010-08-18
DE602004012909D1 (de) 2008-05-21
CN1571013A (zh) 2005-01-26
EP1447792A3 (de) 2005-01-19
CN100589179C (zh) 2010-02-10
KR101004560B1 (ko) 2011-01-03
JP2004246368A (ja) 2004-09-02

Similar Documents

Publication Publication Date Title
DE602004012909T2 (de) Verfahren und Vorrichtung zur Modellierung eines Spracherkennungssystems und zur Schätzung einer Wort-Fehlerrate basierend auf einem Text
DE60126564T2 (de) Verfahren und Anordnung zur Sprachsysnthese
DE69818231T2 (de) Verfahren zum diskriminativen training von spracherkennungsmodellen
DE69822296T2 (de) Mustererkennungsregistrierung in einem verteilten system
DE69908047T2 (de) Verfahren und System zur automatischen Bestimmung von phonetischen Transkriptionen in Verbindung mit buchstabierten Wörtern
DE60111329T2 (de) Anpassung des phonetischen Kontextes zur Verbesserung der Spracherkennung
DE69832393T2 (de) Spracherkennungssystem für die erkennung von kontinuierlicher und isolierter sprache
DE69629763T2 (de) Verfahren und Vorrichtung zur Ermittlung von Triphone Hidden Markov Modellen (HMM)
DE602005001125T2 (de) Erlernen der Aussprache neuer Worte unter Verwendung eines Aussprachegraphen
DE60009583T2 (de) Sprecheradaptation auf der Basis von Stimm-Eigenvektoren
DE60124842T2 (de) Rauschrobuste Mustererkennung
DE102007015497B4 (de) Spracherkennungsvorrichtung und Spracherkennungsprogramm
DE602005002706T2 (de) Verfahren und System für die Umsetzung von Text-zu-Sprache
DE69831114T2 (de) Integration mehrfacher Modelle für die Spracherkennung in verschiedenen Umgebungen
DE60126722T2 (de) Aussprache von neuen Wörtern zur Sprachverarbeitung
DE102017124264B4 (de) Computerimplementiertes Verfahren und Rechensystem zum Bestimmen phonetischer Beziehungen
EP0797185B1 (de) Verfahren und Vorrichtung zur Spracherkennung
EP1273003B1 (de) Verfahren und vorrichtung zum bestimmen prosodischer markierungen
DE602005000603T2 (de) Verfahren zur Bestimmung von Wahrscheinlichkeitsparametern für ein veränderliches Zustandsraummodell
DE112010006037T5 (de) Spracherkennungsvorrichtung und Navigationssystem
DE19942178C1 (de) Verfahren zum Aufbereiten einer Datenbank für die automatische Sprachverarbeitung
DE69738116T2 (de) Lokalisierung eines Musters in einem Signal
DE602004004310T2 (de) System mit kombiniertem statistischen und regelbasierten Grammatikmodell zur Spracherkennung und zum Sprachverstehen
DE60133537T2 (de) Automatisches umtrainieren eines spracherkennungssystems
EP3010014B1 (de) Verfahren zur interpretation von automatischer spracherkennung

Legal Events

Date Code Title Description
8364 No opposition during term of opposition