18.09.2013 Aufrufe

Sprachliche Mensch-Maschine-Kommunikation

Sprachliche Mensch-Maschine-Kommunikation

Sprachliche Mensch-Maschine-Kommunikation

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

12.5 Spracherkennung mit Hidden Markov Modellen 203<br />

Abb. 12.9 zeigt das Wort-HMM für das Wort ” Tat“ bestehend aus den<br />

drei Phonemen t, a und noch einmal t. Obwohl das Wort mit neun Zuständen<br />

modelliert wird, werden nur sechs verschiedene Emissionswahrscheinlichkeitsmodelle<br />

(Gauß-Mischverteilungen) verwendet. Die ersten drei und die letzten<br />

drei Zustände benutzen dieselben Parameter.<br />

Neben der schnell einleuchtenden gemeinsamen Nutzung von Parametern<br />

für die selben Laute an verschiedenen Stellen eines Wortes oder Textes gibt<br />

es eine Reihe weiterer Gründe, warum Parameter gekoppelt werden sollten.<br />

Dadurch wird nicht nur die Möglichkeit, beliebige nichttrainierte Wörter<br />

zu bilden, erleichtert, sondern auch die Robustheit der Modelle erhöht. So<br />

werden im Beispiel der Abb. 12.9 die drei linken Gauß-Mischverteilungen mir<br />

mehr Trainingsdaten trainiert. Ohne Diese Kopplung würde ein Erkenner<br />

mir mehr als ca. 50 Vokabularwörtern mehr Parameter benötigen als ein<br />

ungekoppelter. Und somit würden auf jeden Parameter im Schnitt weniger<br />

Trainingsbeispiele fallen.<br />

12.5.3 Numerische Probleme in der Praxis<br />

Wenn wir eine Berechnung von Merkmalsvektoren in Abständen von 10ms<br />

zugrunde legen und annehmen, daß ein Forward-Algorithmus (oder auch<br />

Backward- bzw. Viterbi-Algorithmus) auf einer 10s langen Aufnahme durchgerechnet<br />

werden soll, dann berechnet sich am Ende der Wert αT(j) als ein<br />

Produkt von 2000 Wahrscheinlichkeiten (bei diskreten HMMs) bzw. 1000<br />

Wahrscheinlichkeiten und 1000 Dichtewerten (bei kontinuierlichen HMMs).<br />

Man erkennt schnell, daß der Wertebereich der üblichen IEEE-32-Bit<br />

Fließkommazahlen nicht ausreicht, ja selbst der Bereich der IEEE-64-Bit<br />

Zahlen kann leicht gesprengt werden und das Produkt kann zu 0.0 werden.<br />

Zwei verschiedene Gegenmaßnahmen bieten sich an: Erstens die regelmäßige<br />

Skalierung und zweitens das Rechnen im logarithmischen Bereich.<br />

Bei der regelmäßigen Skalierung gehen wir davon aus, daß uns der Absolutwert<br />

der Wahrscheinlichkeit der Beobachtung P(x) nicht interessiert.<br />

Sowohl zur Berechnung der Trainingsfaktoren γt(i) als auch zum Vergleich<br />

von P(x|λ1) mit P(x|λ2) genügt es, statt αt(i) ein skaliertes αt(i) · kt für ein<br />

beliebiges (aber bezüglich i konstantes) k zu verwenden. Der Skalierungsfaktor<br />

k kürzt sich in allen relevanten Rechnungen heraus.<br />

αt(j) = kt · bj(xt) ·<br />

N<br />

αt−1(i) · aij<br />

i1<br />

(12.25)<br />

Um zu vermeiden, daß kt im voraus (manuell) bestimmt werden muß,<br />

kann man einen Schwellwert θ festlegen, und so lange kt = 1 lassen, bis zum<br />

Zeitpunkt t1 für einen Zustand i der Wert αt1(i) < θ ist. die Multiplikation

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!