-
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.
wobei
p(W
p|W
p) die Wahrscheinlichkeit
einer vorhergesagten Wortsequenz W
p einer
vorgegebenen tatsächlichen
Wortsequenz W
c ist; P(W
p)
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 W
p 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 W
p. φ(W
p) stellt die Spracheinheitssequenz dar,
die der Wortsequenz W
p 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:
wobei E[WER] die Erwartung
der Wortfehlerrate für
den Testtext
500 ist; E[e
i] der
erwartete Wert der Anzahl von Fehlern für den Satz i in dem Testtext
ist; N
i 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[e
i] 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:
-
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.