-
Generieren und Löschen von Aussprachevarianten
zur Verringerung der Wortfehlerrate in der Spracherkennung
-
In der phonembasierten Spracherkennung
müssen
für alle
dem Vokabular zugehörigen
Wörter
die ihnen entsprechenden Phonemfolgen bekannt sein. Diese Phonemfolgen
werden im Vokabular eingetragen. Während des eigentlichen Erkennungsvorgangs
erfolgt dann im so genannten Viterbi-Algorithmus eine Suche nach dem besten
Pfad durch die gegebenen Phonemfolgen, die den Wörtern entsprechen. Findet keine
bloße Einzelworterkennung
statt, können
auch Wahrscheinlichkeiten für Übergänge zwischen
den Wörtern
modelliert und in den Viterbi-Algorithmus einbezogen werden.
-
Problematisch erweist sich oft die
Erkennung von gesprochenen Äußerungen,
die von der kanonischen phonetischen Umschreibung eines Wortes,
die üblicherweise
im Vokabular verwendet wird, (Transkription) abweichen bzw. sich
diskriminativ von den Äußerungen
unterscheiden, die während
des Trainings eines Wortmodells zugrunde lagen.
-
Derartige Äußerungen können durch die vorhandenen
Modelle nicht mehr richtig klassifiziert werden und es kommt zu
einer Fehlerkennung. Die Ursachen dieser Unterschiede liegen unter
anderem im speziellen Akzent des Sprechers wie auch in der jeweiligen
Ausprägung
der Äußerung,
die beispielsweise schnell, undeutlich oder sehr langsam gesprochen
sein kann. Stationäre
und impulsive Störgeräusche können ebenfalls zu
einer Fehlklassifikation führen.
-
Des Weiteren unterliegen technische
Systeme, besonders Systeme auf so genannten embedded Plattformen,
also beispielsweise in Mobiltelefonen, einer Ressourcenbeschränkung, welche
sich auf die Größe bzw.
Mächtigkeit
der Modellierung auswirkt.
-
Viele Anwendungsszenarien in der
Spracherkennung beruhen auf einer Erweiterung der Wortmodelle im
Spracherkenner bzw. der Adaption von bereits im Spracherkenner vorhandenen
Wortmodellen.
-
Beim so genannten SayIn wird durch
Einsprechen einer Äußerung (Enrollment)
ein neues Wortmodell generiert. Durch ein zweimaliges Enrollment
stehen dem Spracherkenner zwei unterschiedliche Aussprachevarianten
für die
Klassifikation eines Wortes zur Verfügung. Dadurch wird die Wortfehlerrate
verringert, da die diskriminativen Unterschiede besser erfasst werden.
-
Beim so genannten TypeIn wird durch
vordefinierte Regeln bzw. durch statistische Ansätze von der orthografischen
Schreibweise auf das phonetische Modell geschlossen. Da ein geschriebenes
Wort in unterschiedlichen Sprachen auch unterschiedlich ausgesprochen
wird, können
für jeweils
ein Wort mehrere Aussprachevarianten im Vokabular generiert werden.
In der Literatur existieren daneben zahlreiche Verfahren, Aussprachevarianten
zu erzeugen. Durch die Vielzahl an Aussprachevarianten wird wiederum
die Wortfehlerrate verringert.
-
Diesen Verfahren ist jedoch gemeinsam,
dass zum Zeitpunkt der Modellierung nicht bekannt ist, welche der
jeweiligen Aussprachevarianten für
einen individuellen Anwender bei der Erkennung relevant sind. Dies
ist insbesondere beim TypeIn der Fall, da der jeweilige Akzent des
Sprechers nicht berücksichtigt
wird.
-
Zur Verringerung der Wortfehlerrate
werden Spracherkennungssysteme auf ihren jeweiligen Benutzer angepasst.
Bei der Adaption von Wortmodellen wird durch Transformation, wie
zum Beispiel Maximum Likelihood Linear Regression (MLLR), oder durch
Modellparameter-Vorhersage wie zum Beispiel Regression Model Prediction
(RMP) oder Maximum A Posteriori Prediction (MAP), die den Wortmodellen
zugrunde liegende akustische Modellierung des Merkmalsraums adaptiert,
die beispielsweise als Hidden-Markov-Modell (HMM) vorliegt. Dadurch
wird ein Systemzustand erreicht, der auf den jeweiligen Anwender
stark angepasst ist. Andere Benutzer hingegen werden in einem solchen
System nicht mehr ausreichend gut erkannt.
-
Der Spracherkenner wird hier also
von einem sprecherunabhängigen
zu einem sprecherabhängigen System
verändert.
-
Normalerweise steigt die Komplexität, das heißt der Speicherplatzverbrauch,
mit der Anzahl an möglichen
Worten im Spracherkenner. Bei embedded Systemen steht oft nur ein
sehr begrenzter Speicherplatz zur Verfügung, der bei einer kleinen
Anzahl an Wörtern
im Spracherkenner nicht ausgenutzt wird.
-
Aus den Druckschriften
DE 693 24 428 T2 und
DE 39 31 638 A1 ist
jeweils ein Verfahren zur Spracherkennung bekannt, bei dem zu einem
Wort mehrere Aussprachevarianten vorliegen und/oder generiert werden.
-
Davon ausgehend liegt der Erfindung
die Aufgabe zugrunde, eine Spracherkennung mit einer verringerten
Wortfehlerrate zur Verfügung
zu stellen, die besonders anpassungsfähig ist und nur einen sehr
geringen Ressourcenverbrauch hat.
-
Diese Aufgabe wird durch die in den
unabhängigen
Ansprüchen
angegebenen Erfindungen gelöst. Vorteilhafte
Ausgestaltungen ergeben sich aus den Unteransprüchen.
-
Bei einem Verfahren zur Spracherkennung
sind, beispielsweise im Speicher einer Vorrichtung, die für das Verfahren
eingerichtet ist, zu einem zu erkennenden Wort mehrere Aussprachevarianten
gespeichert. Alternativ oder ergänzend können diese
mehreren Aussprachevarianten aber auch erst generiert und dem Vokabular
hinzugefügt
werden. Bei jedem Erkennungsvorgang wird für dieses Wort registriert,
welche der Aussprachevarianten des Worts erkannt wird. Nach mehreren
Erkennungsvorgängen
wird dann eine Bewertung der Aussprachevarianten anhand der Tatsache
vorgenommen, wie oft die Aussprachevarianten jeweils erkannt wurden.
-
Die Häufigkeit der Erkennung wird
hier als einfachstes und am wenigsten Ressourcen verbrauchendes
Kriterium herangezogen. Natürlich
sind aber auch kompliziertere Bewertungsverfahren denkbar, bei denen beispielsweise
auch das Maß der Übereinstimmung
zwischen der zu erkennenden Äußerung und
der jeweils erkannten Aussprachevariante berücksichtigt wird.
-
Das Verfahren kann mit vorhandenen,
im Vokabular abgespeicherten Wörtern
arbeiten. Einen sehr entscheidenden Vorteil erhält das Verfahren allerdings,
wenn sich die Wortmodelle alternativ oder ergänzend dynamisch erweitern lassen.
Dazu werden bei Hinzufügen
eines neuen Wortes zum Vokabular automatisch mehrere Aussprachevarianten
des neuen Wortes generiert und ebenfalls zum Vokabular hinzugefügt.
-
Mehrere Aussprachevarianten für ein Wort
lassen sich beispielsweise durch Phonem-Ersetzung, Phonem-Auslöschung und/oder
Phonem-Einfügung
generieren.
-
Gerade bei länderunabhängigen Spracherkennern kann
es auch vorteilhaft sein, wenn die Aussprachevarianten für verschiedene
Sprachen generiert werden.
-
Insbesondere beim SayIn können Aussprachevarianten
z.B. auch durch Addition von Rauschen auf das eingesprochene Signal
(Signal im weiteren Sinne, also Sprache, Merkmal, Phonemkette) erstellt
werden.
-
Als Erweiterung kann aber alternativ
oder zusätzlich
auch bei der Erkennung aufgrund einer Äußerung aus dieser Äußerung eine
weitere Aussprachevariante für
das gesprochene Wort generiert werden.
-
Eine besonders gute Ausnutzung des
zur Verfügung
stehenden Speichers lässt
sich erreichen, wenn für
mehrere Worte jeweils eine maximale Anzahl von Aussprachevarianten
generiert wird.
-
Ein weiterer wichtiger Aspekt der
Erfindung betrifft die Bewertung der Aussprachevarianten.
-
Mit dem Verfahren lässt sich
vorteilhaft Speicherplatz sparen, wenn aufgrund der Bewertung der
Aussprachevarianten die Anzahl der gespeicherten Aussprachevarianten
reduziert wird. Dies lässt
sich zum Beispiel dadurch erzielen, dass weniger häufig erkannte
Aussprachevarianten gelöscht
werden.
-
Vorzugsweise werden dabei solche
Aussprachevarianten gelöscht,
deren Konfidenz unter einem Schwellwert liegt.
-
Der Spracherkenner lässt sich
hierbei aber auch weiterhin sprecherunabhängig halten, wenn zusätzlich die
Vorgabe gemacht wird, dass die kanonische Aussprachevariante des
Wortes nie gelöscht
wird.
-
Eine Vorrichtung, die eingerichtet
ist, das zuvor beschriebene Verfahren auszuführen, lässt sich beispielsweise durch
das jeweilige Vorsehen von Mitteln realisieren, durch die jeweils
einer oder mehrere Verfahrensschritte ausführbar sind. Vorteilhafte Ausgestaltungen
der Vorrichtung ergeben sich analog zu den vorteilhaften Ausgestaltungen
des Verfahrens.
-
Ein Programmprodukt für eine Datenverarbeitungsanlage,
das Codeabschnitte enthält,
mit denen eines der geschilderten Verfahren auf der Datenverarbeitungsanlage
ausgeführt
werden kann, lässt
sich durch geeignete Implementierung des Verfahrens in einer Programmiersprache
und Übersetzung
in von der Datenverarbeitungsanlage ausführbaren Code ausführen. Die
Codeabschnitte werden dazu gespeichert. Dabei wird unter einem Programmprodukt
das Programm als handelbares Produkt verstanden. Es kann in beliebiger Form
vorliegen, so zum Beispiel auf Papier, einem computerlesbaren Datenträger oder über ein
Netz verteilt.
-
Weitere wesentliche Vorteile und
Merkmale der Erfindung ergeben sich aus der Beschreibung eines Ausführungsbeispiels.
-
Das vorgeschlagene Verfahren basiert
auf einer dynamischen Erweiterung der Wortmodelle in Kombination
mit einer Bewertung der Aussprachevarianten.
-
Zum Erkennervokabular werden beim
Hinzufügen
eines neuen Wortes gleichzeitig mehrere Aussprachevarianten dieses
Wortes generiert die ebenfalls zum Vokabular hinzugefügt werden.
Diese Varianten unterscheiden sich jeweils phonetisch und können, je
nach verwendeter Technologie, auf unterschiedliche Art und Weise
erstellt werden.
-
Dabei wird der zur Verfügung stehende
Speichersatz für
die Aussprachevarianten optimal ausgenutzt, indem eine maximale
Anzahl an Varianten erzeugt wird.
-
Bei jeder Erkennung wird neben der
eigentlichen Klassifikation der Modelle eine Bewertung aller Aussprachevarianten
durchgeführt.
Bei erfolgreicher Erkennung, also keine Fehlerkennung, werden diese
Konfidenzen jeweils auf bereits erzielte Konfidenzen aus vorhergegangenen
Erkennungsläufen
der Aussprachevarianten aufsummiert, eine einfache "boolsche" Konfidenz
ist hierbei der Wert 1, wenn die Aussprachevarianten die für diese
Erkennung referenziert wurde, der Wert 0 für alle übrigen Varianten. Eine Fehlererkennung
kann unter anderem aus der Reaktion des Benutzers bestimmt werden:
Zum Beispiel wird die Erkennung wiederholt oder es erfolgt der Abbruch
eines per Sprache initiierten Kommandos.
-
Als Erweiterung kann bei der Erkennung
aufgrund der Äußerung eine
weitere Aussprachevariante für das
gesprochene Wort generiert werden. Hierbei ist wieder sicherzustellen,
dass keine Fehlererkennung vorliegt. Dieser Schritt kann auch vom
Benutzer unbemerkt erfolgen.
-
Die bei der Erkennung zu jeder Aussprachevariante
erzeugten akkumulierten Konfidenzen dienen nun dazu, das Vokabular
zu einem gegebenen Zeitpunkt wieder zu verkleinern. Dies geschieht,
indem diejenigen Vokabulareinträge
gelöscht
werden, deren akkumulierte Konfidenz unter einer bestimmten Schwelle
liegen. Diese Einträge
sind im Allgemeinen Aussprachevarianten, die nie oder nur selten
referenziert wurden und sind demnach nicht relevant für einen
Erkennungslauf.
-
Durch die gelöschten Aussprachevarianten
steht nun wieder freier Speicherplatz für neue Worte im Vokabular zur
Verfügung.
-
Die Adaption erfolgt im Gegensatz
zum Stand der Technik nicht auf Ebene der akustischen Modellierung
(zum Beispiel HMM). Stattdessen wird die Adaption durch Auswahl
einer oder mehrerer Sprachvarianten erzielt. Diese Auswahl ist dabei
abhängig
von der Referenzierung in den erfolgreichen Erkennungsläufen. Dabei
wird der zur Verfügung
stehende Speicherplatz unabhängig
von der Anzahl der zu erkennenden Worte optimal ausgenutzt.
-
Wird zum Beispiel bei TypeIn die
originale, kanonische Aussprachevariante weiterhin im Vokabular
behalten, ist die Sprecherunabhängigkeit
weiterhin gewährleistet.
Wird das System durch mehrere Benutzer verwendet, erfolgt die Adaption
auf alle Benutzer, da durchschnittlich die häufig referenzierten Aussprachevarianten
aller Sprecher erhalten bleiben.
-
Ein Vorteil gegenüber anderen Adaptionsverfahren
ist, dass das ursprüngliche
Systemverhalten jederzeit wieder hergestellt werden kann, da das
HMM, also die akustische Modellierung des Merkmalsraums, unangetastet
bleibt. Zur Adaption sind keine weiteren Informationen erforderlich,
wie zum Beispiel die Zuordnung der Zustände zu Merkmalen. Somit kann
das Verfahren ohne großem
zusätzlichen
Code- und Speicheraufwand durchgeführt werden und ist damit auch
für den
Embeddedbereich geeignet.
-
Durch das Löschen der Aussprachevarianten
wird die Erkennungs- bzw. Rückweisungszuverlässigkeit
erhöht,
da die relevanten Einträge,
das heißt
die adaptierten Modelle, im Allgemeinen diskriminativ besser zu
unterscheiden sind. Gleichzeitig wird die Erkennung beschleunigt,
da das Vokabular kleiner wird.
-
In einem phonembasierten Spracherkennungssystem,
zum Beispiel einem HMM-Erkenner, werden Worteinträge im Vokabular
durch ihre Phonemfolge bzw. durch eine Zustandsfolge definiert.
-
Aussprachevarianten können im
Falle des SayIn durch Addition von Rauschen auf die Sprachdaten erzeugt
werden. Eine andere Art, Varianten zu erstellen, ist die gewonnene
Phonem- bzw. Zustandsfolge zu modifizieren. Diese kann mit Hilfe
von Zufallsfaktoren oder aber mit benutzerspezifischen Informationen,
zum Beispiel eine Verwechslungsmatrix aus den letzten Erkennungsläufen, geschehen.
Eine Verwechslungsmatrix kann zum Beispiel durch einen zweiten Erkennungslauf
mit Phonemen erstellt werden.
-
Mittels TypeIn wird von der orthografischen
Schreibweise auf die Phonemfolge geschlossen. Bei der Zuordnung
von Graphemen zu Phonemen sind statistische Verfahren bekannt, die
neben der wahrscheinlichsten Phonemfolge auch alternative Phonemfolgen
liefern. Als Beispiel kann hier die Verwendung von Neuronalen Netzen
dienen.
-
Die Zuordnung kann dabei auch unter
der Berücksichtigung
einer jeweiligen Sprache erfolgen. Beispielsweise wird der Name
"Martin" im Deutschen und im Französischen unterschiedlich ausgesprochen
und daher ergeben sich zwei unterschiedliche Phonemfolgen. Natürlich können die
Zustandsfolgen, wie beim SayIn, auch durch Zufallsfaktoren und benutzerabhängige Informationen
generiert werden.
-
Beispiel 1
-
"Herr Meier" wird als neuer Eintrag
in das Vokabular aufgenommen.
-
Mittels TypeIn wird folgende (deutschsprachige)
kanonische Phonemfolge ermittelt:
Original-1: / h E r m aI
6 /
-
Die Varianten könnten wie folgt aussehen. Es
wird davon ausgegangen, dass insgesamt fünf Vokabulareinträge dem maximal
zulässigen
Speicherbedarf entsprechen:
Variante-1.1: / h e r m aI 6 /
Variante-1.2:
/ h E r m aI er /
Variante-1.3: / h 6 m aI 6 /
Variante-1.4:
/ h e r m aI e 6 /
-
Auswahl bzw. Bestimmung der Konfidenzen
der Varianten Herr Meier wurde zehnmal per Sprachkommando angerufen.
Die fünf
Varianten wurden wie folgt referenziert, was der bereits genannten
boolschen Konfidenz entspricht:
-
Bei dem nun folgenden Adaptionsschritt
werden alle Varianten mit der Konfidenz 0 gelöscht. Das Vokabular enthält damit
nur noch die Varianten "Original-1" und "Variante-1.2".
Original-1:
/ h E r m aI 6 /
Variante-1.2: / h E r m aI er /
-
Das Vokabular wird somit um mehr
als die Hälfte
verkleinert. Das heißt,
die Belastung des Prozessors mit der Spracherkennung (Suche) verringert
sich im gleichen Maße.
Gleichzeitig verringert sich die Verwechslungsgefahr für andere
Kommandos.
-
Da die kanonische Variante "Original-1"
weiterhin vorhanden ist, ist die Sprecherunabhängigkeit für folgende Erkennungsläufe gewahrt.
-
Beispiel 2
-
Zu dem Vokabular in Beispiel 1 wird
nun der Name "Frau Martin" mittels phonembasiertem SayIn hinzugefügt. Die
ermittelte Phonemfolge lautet:
Original 2: / f r aU m a r t
e∼ /
-
Die Varianten zu "Frau Martin" könnten folgendermaßen aussehen:
Variante-2.1:
/ f r aU m A r t i n /
Variante-2.2: / f r aU m A t n /
-
Das Vokabular enthält nun folgende
Einträge:
Original-1:
/ h E r m aI 6 /
Variante-1.2: / h E r m aI er /
Original
2: / f r aU m a r t e∼ /
Variante-2.1:
/ f r aU m A r t i n /
Variante-2.2: / f r aU m A t n /
-
Auswahl bzw. Bestimmung
der Konfidenzen der Varianten
-
Herr Meier wird dreimal, Frau Martin
wird fünfmal
per Sprachkommando angerufen. Die fünf Varianten werden wie folgt
mit Konfidenzen bewertet. Hierbei kommt nun ein Kriterium zum Einsatz,
das heißt
ein Konfidenzmaß,
das für
jede Variante eine Aussage über
die Zuverlässigkeit
der gesprochenen Äußerung zulässt:
Bei dem nun folgenden Adaptionsschritt
werden alle Varianten gelöscht,
die eine Konfidenz kleiner als 25 besitzen. Das Vokabular enthält damit
nur noch die Varianten "Original-1" und "Variante-1.2" und "Original-2".
Original-1:
/ h E r m aI 6 /
Variante-1.2: / h E r m aI er /
Original
2: / f r aU m a r t e∼ /
-
Nun stehen wieder 2 freie Einträge für weitere
Aussprachevarianten bzw. neue Worte zur Verfügung.