-
Gebiet der Erfindung
-
Die
Erfindung bezieht sich allgemein auf Spracherkennungssysteme und
bezieht sich vor allem auf einen Ansatz zum automatischen Nachtrainieren
eines Spracherkennungssystems.
-
Hintergrund der Erfindung
-
Die
meisten Spracherkennungssysteme sind auf spezifischen Anwendungen
oder Kontexte „trainiert". Das Trainieren
eines Spracherkennungssystems involviert allgemein das Erzeugen
eines statistischen Modells für
einen Beispielssatz von Sprachäußerungen,
die für
eine spezifische Anmeldung oder Kontext repräsentativ sind. Der Beispielssatz von
Sprachäußerungen
wird typischerweise als ein „Trainingssatz" bezeichnet. Das
Generieren eines statistischen Modells für einen Trainingssatz involviert
zwei fundamentale Schritte. Zu erst werden Messungen mit dem Trainingssatz
durchgeführt,
um einen Körper
an Messdaten für
den Trainingssatz zu erzeugen, der die Attribute und Charakteristika
des Trainingssatzes spezifiziert. Einige Trainingssätze benötigen wegen
der Zahl und der Eigenschaften der Sprachäußerungen, die in dem Trainingssatz
enthaltend sind, eine große
Menge an Messdaten. Weiterhin ist eine große Menge an Messdaten oft wünschenswert,
da die Genauigkeit der statistischen Modelle allgemein ansteigt,
wenn die Menge der Messdaten ansteigt. Überprüfung und Bestätigung der Messergebnisse
durch den Menschen wird oft angewandt, um die Genauigkeit der Messdaten
zu verbessern, was sehr arbeitsintensiv sein und viel Zeit in Anspruch
nehmen kann.
-
Sobald
die Messdaten erzeugt wurden, wird statistische Analyse mit den
Messdaten durchgeführt,
um statistische Modelldaten zu erzeugen, die ein statistisches Modell
für die
Messdaten definieren. Das statistische Modell ist eine multidimensionale mathematische
Darstellung, die von dem Trainingssatz abgeleitet wurde.
-
Sobald
das statistische Modell erzeugt wurde, wird eine erhaltene Sprachäußerung gegen
das statistische Modell, bei einem Versuch die erhaltene Sprachäußerung mit
einer Sprachäußerung aus
dem Trainingssatz abzugleichen, evaluiert. Manchmal werden getrennte
statistische Modelle für
verschiedene Anwendungen und Kontexte verwendet, um die Genauigkeit
zu verbessern.
-
Statistische
Modelle bedürfen
periodisch des Nachtrainierens, um Änderungen der Anwendungen oder
Kontexte zu berücksichtigen,
für die
die statistischen Modelle ursprünglich
bestimmt wurden. Zum Beispiel kann eine bestimmte Anwendung neue
Worte oder Subjekte verwenden, die nicht in dem statistischen Modell
für die
jeweilige Anwendung dargestellt sind. Folglich kann das statistische
Modell nicht einen hohen Grad an Genauigkeit bezüglich der neuen Worte oder
Subjekte bereitstellen. Das Nachtrainieren ermöglicht dem statistischen Modell
die neuen Worte oder Subjekte wiederzuspiegeln.
-
Konventionelles
Nachtrainieren wird gewöhnlich
in einem manuellen offline Prozess durchgeführt, indem die Trainingsdaten
mit den neuen Worten oder Subjekten ergänzt werden und dann das statistische
Modell aus den ergänzten
Trainingsdaten wieder aufgebaut wird. Ein Problem bei diesem Ansatz
ist, dass das manuelle Nachtrainieren sehr arbeitsintensiv sein
kann (und erheblicher menschlicher Überwachung bedarf) und lange
Zeit zur Implementierung benötigt.
Dies bedeutet, dass die statistischen Modelle nicht schnell auf
den aktuellen Stand gebracht werden können, um Änderungen bei den Äußerungen
zu erkennen. Ein anderes Problem bei den konventionellen Nachtrainierungstechniken
ist, dass die Menge der Messdaten, die beibehalten werden muss, über die
Zeit weiter wächst,
wie auch die Zahl oder Größe der Trainingssatze
ansteigt. Folglich benötigen
die Messdaten eine stetig ansteigenden Menge an Systemressourcen,
z. B., nicht flüchtigen Speicher
wie Platten, um Daten zu speichern. Bei Spracherkennungssystemen,
die eine große
Zahl von statistischen Modellen benötigen, z. B. für verschiedene
Anwendungen, verschiene Benützer,
oder verschiedene Inhalte kann die Menge der Messdaten sehr groß werden.
-
Ein
weiteres anderes Problem bei den konventionellen Nachtrainierungsansätzen ist,
dass neue Messdaten oft nicht adäquat
in den statistischen Modellen dargestellt werden. Das tritt, zum Beispiel,
während
des Nachtrainierens auf, wenn eine relativ kleine Menge von neuen
Messdaten mit einer relativ größeren Menge
an vorherigen Messdaten prozessiert wird, um neue statistische Modelldaten
zu erzeugen. Die relativ größere Menge
an vorherigen Messdaten neigt dazu, die Wirkung der relativ kleineren
Menge an neuen Messdaten auszudünnen. Folglich
können
Sprachäußerungen,
die mit den neuen Messdaten assoziiert sind, in den neuen statistischen
Modelldaten nicht adäquat
repräsentiert
sein, was zu einem geringeren Genauigkeitsgrad führt.
-
Basierend
auf dem zuvor gesagten gibt es einen Bedarf nach einem Ansatz zum
Nachtrainieren von Spracherkennungssystemen, der die Beschränkungen
der vorherigen Ansätze
vermeidet.
-
Es
gibt insbesondere einen Bedarf für
einen Computer implementierten Ansatz zum automatischen Nachtrainieren
eines Spracherkennungssystems, der eine geringere menschliche. Überwachung benötigt. Es
gibt auch einen Bedarf für
einen Ansatz zum Nachtrainieren eines Spracherkennungssystems, der
die Menge der vorherigen Messdaten vermindert, die erhalten werden
muss.
-
Es
gibt weiter einen Bedarf für
einen Nachtrainierungsansatz, der sich des Problems des Ausdünnens der
neuen Messdaten annimmt.
-
„LONG-TERM
ON-LINS SPEAKER ADAPATION OF THE LARGE VOCABULARY DICATION", Eric Thelen, Proceedings
of the International Conference an Spoken Language Processing, Band
4, 3. Okt. 1996, Seiten 2139 bis 2142 offenbart ein online Sprecheradaptionsverfahren
für Spracherkennungs-Diktieranwendungen,
die eine Sprecherunabhängige
Erkennungsleistung ohne eine abgetrennte Benützer-spezifische Trainerphase
benötigen.
Das Verfahren verwendet bayessche Sprecheradaption, Hintergrundinformation,
die in (z. B. Sprecher-unabhängige)
Referenzmodelle inkorporiert wird und Sprecher-spezifische Information,
die während
eines Adaptionsprozesses gesammelt wird. Abschnitt 3.2 von Thelen
beschreibt den Online-Adaptionsprozess detailliert in der Form eines
dreiteiligen Prozesses, der eine partielle Rückverfolgungstechnik verwendet, in
dem eine Viterbi-Zeitzuordnung für
jedes erkannte Wort oder jede erkannte Sequenz an gesprochenen Worten
in einer überwachten
Adapationsprozedur durchgeführt
wird; für
jede Beobachtung, wird ein normal verteiltes Mittel einer normal
Wahrscheinlichkeitsdichtefunktion bestimmt und mit eine rekursiven Formel
aktualisiert, die den Adaptionsprozess auf eine vorbestimmte Anzahl
von früheren
Beobachtungen für
die Dichte beschränkt.
-
Zusammenfassung der Erfindung
-
Die
vorstehenden Bedürfnisse
und anderen Bedürfnisse
und Ziele, die aus der folgenden Beschreibung offenbar werden, werden
durch die vorliegende Erfindung erreicht, die in einem Aspekt ein Verfahren
zum automatischen Nachtraineren eines Spracherkennungssystems umfasst.
Die Erfindung stellt ein Verfahren, wie in Anspruch 1 definiert,
ein System wie in Anspruch 6 definiert, ein Computerprogramm, wie
in Anspruch 7 definiert und einen Computer lesbaren Speicher, wie
in Anspruch 8 definiert, zur Verfügung.
-
Kurze Beschreibung der Zeichnungen
-
Die
Ausführungsformen
werden mittels von Beispielen und nicht mittels Beschränkungen
in den Figuren der beigefügten
Zeichnungen veranschaulicht, in denen die Bezeichnerziffern ähnliche
Elemente bezeichnen und in denen folgendes gilt:
-
1 ist
ein Blockdiagramm eines Systems zum Nachtrainieren eines Spracherkennungssystems
gemäß einer
Ausführungsform.
-
2A ist
ein Flussdiagramm eines konventionellen Ansatzes zu Nachtrainieren
eines Spracherkennungssystems.
-
2B ist
ein Flussdiagramm eines Prozesses zum Durchführen von Nachtraineren mit
variabler Gewichtung gemäß einer
Ausführungsform.
-
2C ist
ein Flussdiagramm eines Prozesses zum Durchführen von Nachtrainieren mit
variabler Gewichtung gemäß einer
anderen Ausführungsform.
-
3A ist
ein Diagramm, das einen variablen Gewichtungsfaktor, der gemäß einer
Ausführungsform
bestimmt wurde, veranschaulicht.
-
3B ist
ein Diagramm, das einen variablen Gewichtungsfaktor, der gemäß einer
anderen Ausführungsform
bestimmt wurde, veranschaulicht.
-
4 ist
ein Flussdiagramm eines Prozesses zum Nachtrainieren eines Spracherkennungssystems
mit variabler Gewichtung.
-
5 ist
ein Blockdiagramm eines Computersystems, auf dem Ausführungsformen
implementiert werden können.
-
Eingehende Beschreibung der bevorzugten
Ausführungsform
-
In
der folgenden Beschreibung werden, zum Zwecke der Erklärung, spezifische
Details angegeben, um ein eingehendes Verständnis der Erfindung zu ermöglichen.
Jedoch wird klar werden, dass die Erfindung ohne diese spezifischen
Details ausgeführt werden
kann. In einigen Fällen
werden wohl bekannte Strukturen und Geräte in Blockdiagrammform dargestellt,
um unnötiges
Verschleiern der Erfindung zu vermeiden.
-
Zahlreiche
Aspekte und Eigenschaften von beispielhaften Ausführungsformen
werden detaillierter in den folgenden Abschnitten beschrieben: (1) Einführung; (2) Übersicht über das
System; (3) Nachtrainieren mit variabler Gewichtung; (4) inkrementelles
Nachtrainieren; und (5) Implementationsmechanismen.
-
1. Einführung
-
Ein
Ansatz zum automatischen Nachtrarnieren eines Spracherkennungssystems
wird beschrieben. Im Allgemeinen wird variabler Gewichtung verwendet,
um die relativen Einfluss neuer Messdaten auf statistische Modelldaten
zu ändern.
Zusätzlich wird
ein inkrementeller Nachtrainierungsansatz verwendet, um die Menge
der vorherigen Messdaten zu vermindern, die erhalten und prozessiert
werden müssen,
indem vorherige statistische Modelldaten wieder verwendet werden.
Inkrementelles Nachtrainieren kann auch in Kombination mit variabler
Gewichtung implementiert werden.
-
2. Übersicht über das
System
-
1 veranschaulicht
ein System 100, das hier verwendet wird, um zahlreiche
Aspekte und Merkmale der Erfindung zu beschreiben. System 100 schließt eine
Anwendung 102 ein, die mit einem Spracherkennungssystem
(SRS) 104 interagiert. Anwendung 102 ist jede
Einheit, die die Spracherkennungsdienste von SRS 104 verwendet.
Beispiele von Anwendung 102 schließen ein, sind aber nicht beschränkt auf,
ein stimmaktiviertes System oder einen telefonbasierten Dienst.
Anwendung 102 ist kommunikativ mit SRS 104 über eine
Verbindung 106 gekoppelt.
-
SRS 104 schließt eine
Erkennungseinheit 108, eine nicht flüchtigen Speicher 110,
wie eine oder mehrere Platten, die Messdaten 112 enthalten,
einen nicht flüchtigen
Speicher 114, der statistische Modelldaten 116 enthält, und
eine Nachtrainierungseinheit 118 ein. Erkennungseinheit 108 ist
kommunikativ mit nicht flüchtigem
Speicher 110 über
Verbindung 120 gekoppelt.
-
Erkennungseinheit 108 ist
kommunikativ mit nicht flüchtigem
Speicher 114 über
Verbindung 122 gekoppelt. Nachtrainierungseinheit 118 ist
kommunikativ mit nicht flüchtigem
Speicher 110 über
Verbindung 124 gekoppelt. Verbindungen 106, 120, 122, 124 und 126 können unter
Verwendung jedes Mechanismus implementiert werden, um den Austausch der
Daten zwischen ihren jeweiligen verbundenen Einheiten zu gewährleisten.
Beispiele der Verbindungen 106, 120, 122, 124 und 126 schließen ein,
sind aber nicht beschränkt
auf, Netzwerkverbindungen, Drähte,
Fiber-optische Verbindungen und drahtlose Kommunikationsverbindungen.
-
Erkennungseinheit 108 ist
ein Mechanismus, der konfiguriert ist, empfangene Sprachäußerungen mit
bekannten Sprachäußerungen
basierend auf statistischen Modelldaten 116 zu analysieren
und abzugleichen. Die statistischen Modelldaten 116 definieren
Charakteristika oder Attribute von bekannten Sprachäußerungen.
Sie statistischen Modelldaten 116 werden erzeugt, indem
eine oder mehrere statistische Analysen der Messdaten 112 durchgeführt werden,
die von Messungen erhalten werden, die mit bekannten Sprachäußerungen
durchgeführt
werden. Um die erhaltenen Sprachäußerungen
zu analysieren, werden die Charakteristika der erhaltenen Sprachäußerungen
bestimmt und mit den statistischen Modelldaten 116 verglichen,
um die spezifischen bekannten Sprachäußerungen zu bestimmen, die
mit den erhaltenen Sprachäußerungen übereinstimmen.
-
Erkennungseinheit 108 kann
als jeder Typ von Erkennungseinheit implementiert werden und die Ausführungsformen
sind nicht auf einen bestimmten Typ von Erkennungseinheit beschränkt.
-
Gemäß einer
Ausführungsform
der Erfindung stellt Nachtrainierungseinheit 118 automatisches
Nachtrainieren von SRS 104 zur Verfügung. Insbesondere aktualisiert
Nachtrainierungseinheit 118 automatisch die statistischen
Modelldaten 116, um Änderungen
wiederzuspiegeln, die an Messdaten 112 gemäß den variablen
Gewichtungs- und inkrementellen Nachtrainingsansätzen vorgenommen werden, die
hier detaillierter beschrieben werden. Änderungen der Messdaten 112 können Änderungen an
den existierenden Daten umfassen, die in den Messdaten 112 enthalten
sind oder können
neue Daten einschließen,
die zu dem Messdaten 112 hinzugefügt werden. Gemäß einer
Ausführungsform
kann Nachtrainierungseinheit 118 einen Teilsatz der Messdaten 112 auswählen, um
die statistischen Modelldaten 116 basierend auf einem Satz
von Kriterien für
die Messdatenselektion zu aktualisieren. Dieser Teilsatz besteht
aus solchen Äußerungen,
von denen es wahrscheinlich ist, das sie korrekt durch Erkennungseinheit 108 erkannt
werden, und daher kann die Ausgabe von Erkennungseinheit 108 zum
Trainieren statt einer manuellen Transkription verwendet werden.
-
Die
Erfindung ist nicht auf irgendwelche Kriterien für die Messdatenselektion beschränkt und kann,
zum Beispiel, einschließen,
Konfidenzwerte oder -messungen, Bestätigungsdaten oder jegliche andere
Daten einschließen,
die nützlich
sind beim Auswählen
eines Teilsatzes von Messdaten 112 zum Nachtrainieren.
Die Auswahl einer Teilsatzes von Messdaten 112 zum Nachtrainieren
kann auch außerhalb
der Nachtrainierungseinheit 118 durchgeführt werden,
zum Beispiel, durch einen getrennten Filtermechanismus oder durch
die Erkennungseinheit 108.
-
SRS 104 kann
andere Komponenten einschließen,
die hier nicht veranschaulicht oder beschrieben sind, um nicht die
zahlreichen Aspekte und Merkmale der Erfindung zu verschleiern.
Zum Beispiel, kann SRS 104 zahlreiche verfügbare Software-Entwicklungstools
und Anwendungs-Testtools enthalten, um bei dem Entwicklungsprozess
zu helfen. Ein solches Tool ist das kommerziell verfügbare Paket
von wieder verwendbaren Software-Modulen, die als DialogModulesTM bekannt sind, die durch Speechworks International,
Inc. in Boston, Massachusetts bereit gestellt werden.
-
3. Nachtrainieren mit variabler Gewichtung
-
Gemäß einer
Ausführungsform,
wird ein Ansatz, der hier als „variable
Gewichtung" bezeichnet wird,
während
des Nachtrainierens verwendet, um den relativen Einfluss von bestimmten
Messdaten zu ändern,
der in einem statistischem Modell widergespiegelt werden soll. Zum
Zwecke der Erklärung
wird der variable Gewichtungsansatz in dem Kontext des Aufbauens
von neuen statistischen Messmodelldaten basierend auf vorherigen
Messdaten und neuen Messdaten beschrieben. Wie hier verwendet, bezeichnet
der Begriff „vorherige
Messdaten" Messdaten,
die durch Messungen bestimmt werden, die auf einem neuen Satz von
Sprachäußerungen
durchgeführt
werden, die, wenn sie mit den vorherigen Messdaten kombiniert werden,
verwendet werden, um die neuen statistischen Modelldaten zu bestimmen.
-
Der
variable Gewichtungsansatz erlaubt es, dass statistische Modelldaten
kürzliche Änderungen der
Messdaten widerspiegeln, während
sie Änderungen
bei der Menge der neuen Messdaten verglichen mit den vorherigen
Messdaten kompensieren. Zum Beispiel kann in einigen Situationen
die Menge der Daten in den vorherigen Messdaten dem Vielfachen der
Daten in den neuen Messdaten entsprechen. In diesen Situationen
kann, wenn die früheren
Messdaten und die neuen Messdaten kombiniert und dann analysiert
werden, um die neuen statistischen Modelldaten zu bestimmen, die
Wirkung der neuen Messdaten durch die vorherigen Messdaten verdünnt sein.
Folglich können
Sprachäußerungen,
die durch die neuen Messdaten repräsentiert werden, nicht adäquat in
den neuen statistischen Modelldaten repräsentiert sein. Diese Unterrepräsentierung
kann in verminderter Genauigkeit der neuen Sprachäußerungen
resultieren.
-
Variable
Gewichtung kann auf jegliche Daten angewendet werden, die sich in
einem statistischen Modell widerspiegeln sollen und die Erfindung
ist nicht beschränkt
auf die die Anwendung von variabler Gewichtung auf irgendwelche
bestimmten Daten. Zum Beispiel kann variable Gewichtung auf entweder die
vorherigen Messdaten oder die neuen Messdaten angewendet werden.
Wenn sie auf die vorherigen Messdaten angewendet wird, hat die variable
Gewichtung die Wirkung den Einfluss der vorherigen Messdaten relativ
zu den neuen Messdaten zu ändern.
Wenn sie auf die neuen Messdaten angewendet wird, hat variable Gewichtung
die Wirkung, dass der relative Einfluss der neuen Messdaten relativ
zu den vorherigen Messdaten geändert
wird.
-
Der
variable Gewichtungsansatz zum Nachtrainieren statistischer Modelldaten
wird nun unter Bezug auf 2A–2C beschrieben. 2A ist ein
Flussdiagramm 200, das einen konventionellen Nachtrainierungsansatz
zum Aktualisieren statistischer Modelldaten in einem Spracherkennungssystem
veranschaulicht. Vorherige Messdaten 202 und neue Messdaten 204 werden
kombiniert und mit einer statistischen Analyse prozessiert, um neue
statistische Modelldaten 206 zu erzeugen. Neue statistische
Modelldaten 206 definieren Attribute und Charakteristika
von Sprachäußerungen,
auf denen vorherige Messdaten 202 und neue Messdaten 204 basieren.
Es sollte angemerkt werden, dass das „+" Symbol, das in 2A–2C verwendet
wird, verwendet wird, um jeglichen Kombinierungstyp zu repräsentieren
und nicht auf eine simple Addition beschränkt ist. 2B ist
ein Flussdiagramm 208, das einen Ansatz zum Nachtrainieren
eines Spracherkennungssystems mit variabler Gewichtung gemäß einer
Ausführungsform
veranschaulicht. Vorherige Messdaten 202 werden zuerst
mit einem Gewichtungsfaktor 210 gewichtet, um gewichtete
vorherige Messdaten 212 zu erzeugen. Gewichtungsfaktor 210 kann
verursachen, dass vorherige Messdaten 204 einen relativ
geringeren oder relativ größeren Einfluss auf
die neuen statistischen Modelldaten 214 besitzen. Gewichtete
vorherige Messdaten 212 werden dann mit den neuen Messdaten 204 kombiniert
und mit statistischen Analysen prozessiert, um neue statistische
Modelldaten 214 zu erzeugen.
-
2C ist
ein Flussdiagramm 216, das einen Ansatz zum Nachtrainieren
eines Spracherkennungssystems mit variabler Gewichtung gemäß einer Ausführungsform
darstellt. Neue Messdaten 204 werden mit einen Gewichtungsfaktor 218 gewichtet, um
gewichtete neue Messdaten 220 zu erzeugen. Gewichtungsfaktor 218 kann
bewirken, dass neue Messdaten 204 einen relativ geringeren
oder relativ größeren Einfluss
auf die neuen statistischen Modelldaten 222 besitzen. Gewichtete
neue Messdaten 220 werden dann mit den vorherigen Messdaten 202 kombiniert
und mit statistischen Analysen prozessiert, um neue statistische
Modelldaten 222 zu erzeugen.
-
Gewichtungsfaktoren 210, 218 können die gleichen
oder verschiedene seien, und die Ansätze, die in 2B und 2C veranschaulicht
werden, können
in den neuen statistischen Modelldaten 214 resultieren,
die mathematisch äquivalent
zu den neuen statistischen Modelldaten 222 sind. Zusätzlich können die
Gewichtungsfaktoren 210, 218 konstant sein oder
können,
linear oder nicht linear, variieren abhängig von den spezifizierten
Gewichtungskriterien. Gemäß einer
Ausführungsform
spezifizieren die Gewichtungskriterien eine Konstante. In dieser
Situation sind Gewichtungsfaktoren 210, 218 Konstanten,
die auf die vorherigen Messdaten 202 bzw. die neuen Messdaten 204 angewendet
werden, unabhängig
von der Menge der Daten, die in den vorherigen Messdaten 202 und
den neuen Messdaten 204 enthalten sind.
-
Gemäß einer
anderen Ausführungsform
berücksichtigen
die Gewichtungskriterien die Menge an Daten, die in vorherigen Messdaten 202 und
neuen Messdaten 204 enthalten sind. Zum Beispiel, wir beziehen
uns auf ein Diagramm 300 in 3A, veranschaulicht
Linie 302, wie die Größe des Gewichtungsfaktors 218,
dargestellt durch Achse 304, mit der Menge der Daten variiert,
die in vorherigen Messdaten 202 enthalten ist, die durch
Achse 306 dargestellt wird. Insbesondere Gewichtungsfaktor 218 erhöht sich
(nicht linear), wenn sich die Menge der Daten in den vorherigen
Messdaten 202 erhöht.
Dieser Ansatz erhöht
den relativen Einfluss der neuen Messdaten 204 auf die
neuen statistischen Modelldaten 222, wenn die Menge der
Daten in den vorherigen Messdaten 202 ansteigt.
-
Gemäß einer
anderen Ausführungsform
berücksichtigen
die Gewichtungskriterien ein Verhältnis der Menge an Daten in
den vorherigen Messdaten 202 zu der Menge an Daten in den
neuen Messdaten 204. Zum Beispiel, wir beziehen uns auf
ein Diagramm 310 in 3B, veranschaulicht
Linie 312, wie die Größe des Gewichtungsfaktors 218,
dargestellt durch Achse 314, mit dem Verhältnis der
Menge an Daten in den vorherigen Messdaten 202 zu der Menge
an Daten in den neuen Messdaten 204 variiert, die durch
Achse 316 dargestellt wird. Gemäß diesem Ansatz erhöht sich
Gewichtungsfaktor 218, wenn sich das Verhältnis der
Daten in den vorherigen Messdaten 202 zu den Daten in den
neuen Messdaten 204 erhöht,
um für
eine relativ größere Menge
der vorherigen Messdaten 202 zu kompensieren.
-
Viele
andere Typen von Gewichtungskriterien können verwendet werden. Zum
Beispiel können die
Gewichtungskriterien bestimmte Gewichtungskriterien für bestimmte
Subjekte spezifizieren. Somit wird, wenn der neue Satz von Sprachäußerungen sich
auf Subjekt A bezieht, der Gewichtungsfaktor A angewendet. Wenn
sich der neue Satz von Sprachäußerungen
sich auf Subjekt B bezieht, dann wird der Gewichtungsfaktor B angewendet.
Dies ist insbesondere nützlich,
zum Beispiel, wenn von den neuen Sprachäußerungen, die sich auf bestimmte
Subjekte beziehen, bekannt ist, dass sie mehr oder weniger für statistische
Verdünnung
empfänglich
sind.
-
4 ist
ein Flussdiagramm 400, das einen Ansatz zum Nachtrainieren
eines Spracherkennungssystems mit variabler Gewichtung gemäß einer Ausführungsform
veranschaulicht. Nach dem Starten in Schritt 402, werden
in Schritt 404 die vorherigen Messdaten 202 bezogen.
In Schritt 406 werden neue Messdaten 204 bezogen.
Vorherige Messdaten 202 und neue Messdaten 204 werden
typischerweise von einem nicht flüchtigen Speicher wie einer
Platte bezogen.
-
In
Schritt 408 wird eine Bestimmung gemacht, ob Gewichtungsfaktor 210, 218 auf
die neuen Messdaten 204 angewandt wird. Wenn dem so ist, dann
wird in Schritt 410 Gewichtungsfaktor 218, wie durch
spezifizierte Gewichtungskriterien bestimmt, auf neue Messdaten 204 angewendet,
um gewichtete neue Messdaten 220 zu erzeugen. Dann werden
in Schritt 412 neue statistische Modelldaten 222 basierend
auf vorherigen Messdaten 202 und auf gewichteten neuen
Messdaten 220 bestimmt.
-
Wenn
in Schritt 408 eine Bestimmung gemacht wird, dass Gewichtungsfaktor 210, 218 nicht auf
die neuen Messdaten 204 angewendet werden soll, dann wird
in Schritt 414 Gewichtungsfaktor 210 auf vorherige
Messdaten 202 angewendet, um gewichtete vorherige Messdaten 212 zu
erzeugen. Dann werden in Schritt 416 neue statistische
Modelldaten 214 basierend auf gewichteten vorherigen Messdaten 212 und
neuen Messdaten 204 bestimmt. Der Prozess ist dann in Schritt 418 vollständig. Wie hier
zuvor beschrieben, kann der Gewichtungsfaktor entweder auf vorherige
Messdaten oder neue Messdaten abhängig von den Anforderungen
einer bestimmten Anwendung angewendet werden und kann abhängig von
den verwendeten Gewichtungsfaktoren mathematisch äquivalent
seinen.
-
Es
sollte angemerkt werden, dass obwohl hier zahlreiche Ausführungsformen
in dem Kontext von spezifischen Typen von Messdaten beschrieben wurden,
die Erfindung nicht beschränkt
ist auf bestimmten Typen von Messdaten und mit jedem Typ von Messdaten
verwendet werden kann. Weiterhin ist die Erfindung, obwohl zahlreiche
Ausführungsformen
hier in dem Kontext von spezifischen statistischen Analysedaten
und -prozessen beschrieben wurden, nicht auf irgendwelche bestimmten
statistischen Analysedaten und -prozessen beschränkt und kann mit jeglichen
statistischen Analysedaten und -prozessen verwendet werden.
-
5. Implementierungsmechanismen
-
A. Überblick
-
Der
hier beschriebene Ansatz für
das automatische Nachtrainieren eines Spracherkennungssystems kann
in einer Computersoftware, als Hardwareschaltkreis, oder als eine
Kombination von Computersoftware und Hardwareschaltkreis implementiert
werden. Entsprechend ist die Erfindung nicht auf eine bestimmte
Computersoftware und Hardwareschaltkreis beschränkt. Zum Beispiel kann der
Ansatz in der Nachtrainierungseinheit 118 als Teil eine Spracherkennungssystems 104 implementiert
werden. Alternativ kann der Ansatz als Teil der Erkennungseinheit 108 implementiert
werden. Als eine anderes Beispiel kann der Ansatz als ein eigenständiger Mechanismus
implementiert werden, der periodisch verwendet wird, um die statistischen
Modelldaten 116 zu aktualisieren, um die Messdaten 112 korrekt
wiederzugeben. Der Ansatz kann mit jedem Typ von Spracherkennungssystem
implementiert werden, zum Beispiel, als ein Telefon basiertes interaktives
Spracherkennungssystem.
-
B. Beispielhafte Implementierungshardware
-
5 ist
ein Blockdiagramm, das ein beispielhaftes Computersystem 600 darstellt,
auf dem eine Ausführungsform
der Erfindung implementiert werden kann. Computersystem 600 schließt einen Bus 602 oder
andere Kommunikationsmechanismen zum Kommunizieren von Information,
und eine Prozessor 604, der mit dem Bus 602 zum
Prozessieren von Information gekoppelt ist, ein. Computersystem 600 schließt auch
einen Hauptspeicher 606, wie einen Direktzugriffsspeicher
(RAM) oder ein anderes dynamisches Speichergerät, das mit dem Bus 602 zum
Speichern von Information und Instruktionen, die auf dem Prozessor 604 ausgeführt werden
sollen, gekoppelt ist, ein. Computersystem 600 schließt ferner
einen Lesespeicher (ROM) 608 oder anderes statisches Speichergerät, das mit
dem Bus 602 zum Speichern von statischer Information und
Instruktionen für
den Prozessor 604 gekoppelt ist, ein. Ein Speichergerät 610,
wie eine magnetische Platte oder optische Platte, wird bereitgestellt
und mit Bus 602 zum Speichern von Information und Instruktionen
gekoppelt.
-
Computersystem 600 kann über Bus 602 mit einer
Anzeige 612 gekoppelt sein, wie einer Kathodenstrahlröhre (CRT)
zum Anzeigen von Information für
einen Computernutzer. Ein Eingabegerät 614, was alphanumerische
und andere Tasten einschließt, wird
mit dem Bus 602 zum Kommunizieren von Information und Befehlsauswahlen
mit Prozessor 604 gekoppelt. Ein anderer Typ von Eingabegerät ist die Cursorkontrolle 616,
wie eine Maus, ein Trackball, oder Cursorrichtungstasten zum Kommunizieren
von Richtungsinformation und Befehlsauswahlen an Prozessor 604 und
zum Kontrollieren der Cursorbewegung auf der Anzeige 612.
Dieses Eingabegerät
besitzt typischerweise zwei Freiheitsgrade in zwei Achsen, eine
erste Achse (z. B. x) und einer zweite Achse (z. B. y), die es dem
Gerät erlauben,
Positionen in einer Ebene zu spezifizieren.
-
Die
Erfindung bezieht sich auf die Verwendung von Computersystem 600 zum
automatischen Nachtrainieren eines Spracherkennungssystems. Gemäß einer
Ausführungsform
der Erfindung wird das Nachtrainieren eine Spracherkennungssystems durch
Computersystem 600 in Reaktion auf Prozessor 604 bereitgestellt,
der eine oder mehrere Folgen von einer oder mehreren Anweisungen,
die in Hauptspeicher 606 enthalten sind, ausführt. Solche
Anweisungen können
in den Hauptspeicher 606 von einem anderen Computer lesbaren
Medium, wie einem Speichergerät 610,
eingelesen werden. Die Ausführung
der Anweisungsfolgen, die in Hauptspeicher 606 enthalten
sind, bewirkt, dass Prozessor 604 die hier beschriebenen
Prozessschritte durchführt.
Einer oder mehrere Prozessoren in einer Multiprozessoranordnung
können
auch eingesetzt werden, um die Anweisungsfolgen, die in Hauptspeicher 606 enthalten
sind, auszuführen.
In alternativen Ausführungsformen
können
fest verdrahtete Schaltkreise statt oder in Kombination mit Softwareanweisungen
verwendet werden, um die Erfindung zu implementieren. Somit sind
die Ausführungsformen
der Erfindung nicht auf eine irgendeine spezifische Kombination von
Hardwareschaltkreis und Software beschränkt.
-
Der
Begriff „Computer
lesbares Medium", wie
hier verwendet, bezieht sich auf jegliches Medium, das dazu beisteuert,
dass Anweisungen an den Prozessor 604 zur Ausführung bereitgestellt
werden. Solch ein Medium kann viele Formen annehmen, einschließlich, aber
nicht beschränkt
auf, nicht flüchtige Medien,
flüchtige
Medien und Übertragungsmedien. Nicht
flüchtige
Medien schließen,
zum Beispiel, optische und magnetische Platten, wie ein Speichergerät 610 ein.
Flüchtige
Medien schließen
dynamischen Speicher, wie den Hauptspeicher 606 ein. Übertragungsmedien
schließen
Koaxialkabel, Kupferdraht und Fiberoptiken, einschließlich der
Drähte,
die Bus 602 umfassen, ein. Übertragungsmedien können auch
die Form von akustischen oder Lichtwellen annehmen, wie denjenigen,
die durch Radiowellen- und Infrarotdatenübertragung erzeugt werden.
-
Übliche Formen
der Computer lesbaren Medien schließen, zum Beispiel, eine Floppydiskette, eine
flexible Platte, Festplatte, ein magnetisches Band oder anderes
magnetisches Medium, eine CD-ROM,
ein anderes optisches Medium, Lochkarten, Papierband, jegliches
anderes physikalisches Medium mit Lochmustern, ein RAM, ein PROM
und EPROM, ein FLASH-EPROM, jeglichen anderen Speicherchip oder
Speichereinheit, eine Trägerwelle, wie
sie hiernach beschrieben wird, oder jedes andere Medium ein, von
dem eine Computer lesen kann.
-
Zahlreiche
Formen von Computer lesbaren Medien können dabei involviert seinen,
die eine oder mehrere Folgen von einer oder mehreren Anweisungen
an den Prozessor 604 zur Ausführung zu tragen. Zum Beispiel
können
die Anweisungen anfangs auf einer magnetischen Platte eines entfernten
Computers gespeichert werden. Der entfernte Computer kann die Anweisungen
in seinen dynamischen Speicher laden und die Anweisungen über eine
Telefonleitung mit einem Modem senden. Ein Modem, lokal am Computersystem 600,
kann die Daten auf der Telefonleitung erhalten und einen Infrarottransmitter verwenden,
um die Daten in ein Infrarotsignal umzuwandeln. Ein Infrarotdetektor,
der an Bus 602 gekoppelt ist, kann die Daten erhalten,
die auf dem Infrarotsignal getragen werden und die Daten auf den
Bus 602 platzieren. Bus 602 trägt die Daten zum Hauptspeicher 606,
von dem der Prozessor 604 die Anweisungen bezieht und ausführt. Die
Anweisungen, die durch den Hauptspeicher 606 erhalten werden,
können
optional auf einem Speichergerät 610 gespeichert
werden, entweder vor oder nach Ausführung durch den Prozessor 604.
-
Computersystem 600 schließt auch
eine Kommunikationsschnittstelle 618 ein, die mit Bus 602 gekoppelt
ist. Kommunikationsschnittstelle 618 stellt eine beidseitige
Datenkommunikation bereit, die mit einer Netzwerkverbindung 620 gekoppelt
ist, die mit einem lokalen Netzwerk 622 verbunden ist.
Zum Beispiel kann Kommunikationsschnittstelle 618 eine diensteintegrierendes
digitales Netzwerk (ISDN)-Karte oder ein Modem sein, um eine Datenkommunikationsverbindung mit
einem entsprechenden Typ von Telefonleitung bereitzustellen. Als
ein weiteres Beispiel kann die Kommunikationsschnittstelle 618 eine
lokale Netzwerk (LAN)-Karte sein, um eine Datenkommunikationsverbindung
mit einem kompatiblen LAN bereitzustellen. Schnurlose Verbindungen
können
auch implementiert werden. In jeder solchen Implementierung schickt
und empfängt
die Kommunikationsschnittstelle 618 elektrische, elektromagnetische
oder optische Signale, die digitale Datenströme tragen, die zahlreiche Typen
von Information repräsentieren.
-
Netzwerkverbindung 620 stellt
typischerweise Datenkommunikation durch eine oder mehrere Netzwerke
für andere
Datengeräte
zur Verfügung. Zum
Beispiel kann Netzwerkverbindung 620 eine Verbindung durch
lokales Netzwerk 622 an einen Host-Computer 624 oder
an eine Datengerät,
das durch einen Intemetdienstbereitsteller (ISP) 626 betrieben
wird, bereitstellen. ISP 626 seinerseits stellt Datenkommunikationsdienste
durch das weltweite Datenpaketkommunikationsnetzwerk bereit, das
gewöhnlich
als das „Internet" 628 bezeichnet
wird. Lokales Netzwerk 622 und Internet 626 verwenden
beide elektrische, elektromagnetische oder optische Signale, die
digitale Datenströme
tragen. Die Signale durch die zahlreichen Netzwerke und die Signale
auf der Netzwerkverbindung 620 und durch die Kommunikationsschnittstelle 618,
die digitale Daten zu und von Computersystem 600 trägt, sind
beispielhafte Formen von Trägerwellen,
die Information transportieren.
-
Computersystem 600 kann,
einschließlich von
Programmcode, durch das(die) Netzwerk(e), Netzwerkverbindung 620 und
Kommunikationsschnittstelle 618 Nachrichten senden und
Daten empfangen. In dem Internet-Beispiel kann ein Server 630 einen
angefragten Code für
ein Anwendungsprogramm durch Internet 628, ISP 626,
lokales Netzwerk 622 und Kommunikationsschnittstelle 618 übertragen.
Gemäß der Erfindung
stellt eine solche herunter geladene Anwendung automatisches Nachtrainieren einer
Spracherkennungssystems, wie hier beschrieben, bereit.
-
Der
erhaltene Code kann durch Prozessor 604 ausgeführt werden,
sobald er empfangen wurde, und/oder in Speichergerät 610 oder
einem anderen nicht flüchtigen
Speicher für
die spätere
Ausführung gespeichert
werden. Auf diese Weise kann Computersystem 600 Anwendungscode
in der Form einer Trägerwelle
erhalten.
-
Der
in diesem Dokument beschriebene Ansatz zum automatischen Nachtrainieren
eines Spracherkennungssystems stellt zahlreiche Vorteile über vorherige
Nachtrainierungsansätze
bereit. Insbesondere vermindert die hier beschriebene Computer-basierte
Implementierung die Menge an menschlichen Ressourcen, z. B. Überwachung
durch den Menschen, die benötigt
werden, um ein Spracherkennungssystem nachzutrainieren. Dies stellt
den Vorzug bereit, dass es möglich
ist, ein Spracherkennungssystem schnell nachzutrainieren, um einen neuen
Satz von Äußerungen
oder Änderungen
der existierenden Äußerungen
zu erkennen. Variable Gewichtung ermöglicht es, den relativen Einfluss
bestimmter Messdaten zu ändern,
was ein flexibleres Nachtraining ermöglicht, insbesondere wenn eine kleine
Menge von neuen Messdaten in ein neues statistisches Modell eingeschlossen
werden soll. Zusätzlich
vermindert inkrementelles Training die Menge an vorherigen Äußerungsdaten,
d. h., Wellenformdaten, und Messdaten, die beibehalten werden müssen, indem
vorherige statistische Daten verwendet werden, die mit den vorherigen
Messdaten assoziiert sind. In der vorstehenden Beschreibung wurden
bestimmte Ausführungsformen
beschrieben. Es wird jedoch evident sein, dass zahlreiche Modifikationen und Änderungen
daran vorgenommen werden können,
ohne vom breiteren Umfang der Erfindung abzuweichen. Die Beschreibung
und die Zeichnungen sind entsprechend eher in einer veranschaulichenden
als einer beschränkenden
Weise zu verstehen.