2. Hidden Markov Modelle (HMM)
i. Geschichte
ii. Markovkette
iii. Wahrscheinlichkeitsgrundlagen
iv. HMM Theorie
v. Spracherkennung
vi. Forward Algorithmus
vii. Viterbi Algorithmus
viii. Part of Speech Tagger
ix. Ausblick
von Bilal Erkin, Domenico Strigari und Terbish Biambasuren
Proseminar Künstliche Intelligenz Universität zu Köln SS2009 Mittwoch, 8. Juli 2009
3. Andrei Andrejewitsch Markow
(1856-
(1856-1922)
1874-1878 - Universität in St. Petersburg,
an der Fakultät für Physik und Mathematik
1885 Habilitationsschrift “Über einige
Anwendungen algebraischer Kettenbrüche“
Ab 1886 Professor an der Universität
in St. Peterburg
1913 Ansatz über Berechnung der
Buchstabensequenzen in russischer
Literatur (A.A.Pushkin “Eugen Onegin”)
-> stochastischer Markow-Prozess
Wesentliche Beiträge zur Wahrscheinlichkeits-
theorie und Analysis
4. 1940-
1940-1950 - "verspätete" westliche Rezeption von
Markovs Forschungen in den USA
1960-
1960-1970 Hidden Markow Modelle (HMM) und andere
Markow-
Markow-Prozesse
Bedeutung erst mit der Verbreitung der
Computertechnologie
ab 80er bis heute sehr populär
5. „Eugen Onegin” A.S.Puschkin
Onegin”
Seine Untersuchung betrifft 20.000 russische Buchstaben
ohne Sonderzeichen (1 Kapitel und 16 Paragraphen des 2
Kapitels)
Zerlegt in 200 einzelne Folgen, je 100 Buchstaben
7 Wahrscheinlichkeitsparameter, die anhand der
Häufigkeiten der Vokale, Konsonanten und ihren
Kombinationen, geschätzt wurden
Ergebnisse von Häufigkeiten durch entsprechende
Zeilensumme geteilt in einer Tabelle eingetragen
-> Statistische Charakterisierung jedes Buchstaben im
Text mit Wahrscheinlichkeit für jeden möglichen
Nachfolgebuchstaben
6. 7 Wahrscheinlichkeitsparameter
in der „Eugen Onegin“ Forschung
p - Wahrscheinlichkeit, dass ein Buchstabe ein Vokal ist
p - Vokal
p1 - Vokal Vokal
p0 - Konsonant Vokal
p1,1 - (Vokal Vokal) Vokal
p1,0 - (Vokal Konsonant) Vokal
p0,1 - (Konsonant Vokal) Vokal
p0,0 - (Konsonant Konsonat) Vokal
Der Wert von p wird durch das Zählen der
Buchstabenkombinationen geschätzt.
7. Ergebnisse der Markov Forschung
an englischer Übersetzung des „Eugen
Onegin”
(35 Strophen = 430 Zeilen)
9. Statistische Daten
dynamischer Vorgang
Startbuchstaben auswählen
Gemäß des Wahrscheinlichkeitswertes den
Nachfolgebuchstaben wählen
Den Vorgang wiederholen für den
neugewählten Buchstaben
11. Stochastischer Prozess
Stochastischer Prozess ist eine mathematische
Beschreibung von zeitlich geordneten, zufälligen
Vorgängen.
Der Vorgang besteht in einem wiederholten Springen von
einem Zustand zum anderen, wobei die Wahl des nächsten
Zustands zufällig ist.
Wiederholte Beobachtungen des Vorgangs führen auf
Grund des Zufallsfaktors zu unterschiedlichen Ergebnissen.
Durch Markov erstmalig beschriebene stochastische
Prozesse werden als Markov-Ketten bezeichnet
12. Markov-
Markov-Kette
Eine spezielle Klasse von stochastischen
Prozessen.
Ziel: Wahrscheinlichkeiten für das Auftreten
zukünftiger Ereignisse anzugeben.
Eigenschaft: bei Kenntnis der gesamten oder
begrenzten Vorgeschichte des Prozesses sind
Prognosen über die zukünftige Entwicklung
möglich.
13. Markov-
Markov-Kette erster Ordnung
Die Zukunft des Systems hängt nur von der Gegenwart
(dem aktuellen Zustand) und nicht von der
Vergangenheit ab.
->Gedächtnislosigkeit oder Eigenschaft der Markov-
Kette
Die Markov–Kette erster Ordnung ist die einfachste Art
der Form der Markov-Prozesse.
Vergangenheiten werden berücksichtigt (erweiterte
Markov-Eigenschaft).
14. Markov-
Markov-Modell
Ist ein Endlicher Automat, der sich bei der Wahl
zwischen zwei oder mehr Listen nach vorher
festgelegten Wahrscheinlichkeitswerten
entscheidet
(bsw. für Liste von A besteht eine Chance von 0,02
und für Liste von B 0,3).
15. Anwendungen der Markov-Kette
Markov-
Biologie: Die Ausbreitung von Arten und ihre
Wechselwirkungen.
Physik: Die Bewegung von Staubteilchen in der Luft
(Brownsche Bewegung).
Chemie: Die Sequenzberechnung in DNS-Molekülen.
Informatik: Die Analyse von Computer-Netzwerken und
Spracheingaben
Ökonomie: Die Dynamik von Börsenkursen und
Branchenindizes
Logistik und Verkehr: Die Analyse von Warteschlangen und
Verkehrsnetzwerken
Qualitäts- und Sicherheitstechnik: Die Verfügbarkeit und
Sicherheit von technischen Systemen
Soziologie: Die Beschreibung von sozialen Netzwerken und
sozialem Verhalten
16. Anwendungsbeispiel
Google PageRank
Verfahren, welches verlinkte Dokumente in einem
vordefinierten Netz bezüglich ihrer Netzintegrität bewertet
und gewichtet.
Ein Dokument ist um so wichtiger , je häufiger es von
anderen verlinkt wird.
Wenn die verlinkte Seite selbst einen guten PageRank-Wert
hat, dann ist der Link von ihr auf andere Seiten wieder
etwas wichtiger.
Häufig verlinkte Seiten werden so öfter aufgerufen als
weniger stark ins Netz eingebundene und erhalten somit
einen höheren Rang.
19. Wie groß ist die Wahrscheinlichkeit, dass nach
einem sonnigen Tag
das Wetter an den folgenden 5 Tagen
“sonnig, regnerisch, regnerisch, bewölkt, sonnig ”
ist?
22. Wahrscheinlichkeit
Relative Häufigkeit:
-Ereignis A, das bei N-Versuchen m-Mal auftaucht.
-je mehr Versuche, umso weniger Variation der Ergebnisse
-Verallgemeinerung: f(A) = P(A)
P(A)=0 unmögliches Ereignis
P(A)=1 sicheres Ereignis
24. Hidden Markov Modelle
• definiert als ein stochastisches Modell, das sich
durch 2 Zufallsprozesse beschreiben lässt.
• erste Prozess: Markov-Kette, mit verborgenen
Zuständen;
• zweiter Zufallsprozess: zu jedem Zeitpunkt
beobachtbare Ausgabesymbole.
• Ausgabesymbol = Observation Ot
25. Hidden Markov Modell
0,375
Regen
0,25 0,375
0,125 0,675
Sonne 0,375 Wolken
0,5 0,125
0,25
Trocken : 0,6 Trocken : 0,05 Trocken : 0,25
Eher trocken Eher trocken Eher trocken
Observationen :0,2 :0,1 :0,25
Eher feucht : Eher feucht : Eher feucht :
0,15 0,35 0,25
Feucht : 0,05 Feucht : 0,5 Feucht : 0,25
26. Hidden Markov Modelle
Hidden Markov Model ist ein Quintupel.
=( ) mit
S = {S1,S2,…,SN}, endliche Anzahl an Zustände
V = {V1,V2,…,VM}, Ausgabealphabet
A={aij} , Übergangswahrscheinlichkeitsmatrix
B={bj(k)}, Ausgabewahrscheinlichekitsmatrix
i, Startwahrscheinlichkeit von Si
27. Hidden Markov Modelle
− Wenn Zustandsstartwahrscheinlichkeiten und
Übergangswahrscheinlichkeiten des Modells bekannt, lässt
sich Auftrittswahrscheinlichkeit einer bestimmten
Zustandsfolge berechnen.
28. Hidden Markov Modelle
-Wenn Zustandsfolge gegeben, und wir Observationen mit
berücksichtigen möchten, und ausrechnen wollen, mit
welcher Wahrscheinlichkeit eine Observationsfolge mit einer
bekannten Zustandsfolge zusammen auftritt, muss die oben
stehende Formel erweitert werden.
29. Hidden Markov Modelle
-Da bei Hidden Markov Modellen die Zustände verborgen,
und somit die Zustandsfolge unbekannt, kann diese Formel
nicht ohne weiteres angewendet werden.
-Lösung: nicht eine Zustandsfolge betrachten, sondern alle
möglichen Zustandsfolgen berücksichtigen.
Diese Formel erlaubt es, ohne Kenntnis der Zustandsfolge,
die Auftrittswahrscheinlichkeit der Symbolfolge zu
berechnen. (Brute-Force-Methode Laufzeit: O(T NT))
30. Hidden Markov Modelle
- Exponentielle Berechnungen für die möglichen
Zustandsfolgen für eine gegebene Observationsfolge
-ineffizent, da hohe Rechenleistung
2 Hauptprobleme :
1) Wenn eine Observationsfolge O zu einem HMM gegeben
ist, wie lässt sich die Auftrittswahrscheinlichkeit am
effizientesten berechnen?
2) Wenn eine Observationsfolge O zu einem HMM gegeben
ist, wie lässt sich die verborgene Zustandsfolge ausrechnen?
31. Fragestellungen an ein Hidden Markov Modell
1. Die Wahrscheinlichkeit, dass eine beliebige
Zustandssequenz durch eine gegebene
Observationssequenz von dem Modell generiert
wird 1,O2,…,OT} P(O| )
Evaluation
2. Die wahrscheinlichste verborgene Zustandsfolge
bei gegebener Observationssequenz? Dekodierung
3. Die Modellparameter derart einstellbar das
P(O| ) optimiert wird. Training
32. Forward Algorithmus
Es wird ein Trainingsset gesucht, welches am
besten bzw. wahrscheinlichsten mit dem
Gesprochen zusammenpasst (Spracherkennung)
33. Forward Algorithmus
Gesucht ist in unserem Beispiel die
Wahrscheinlichkeit, dass eine beliebige
Zustandssequenz von der Observationssequenz
Trocken, Eher Trocken, Eher Feucht, Feucht
generiert wird P(O| ).
34. Forward Algorithmus
S={H,A,B,E,N}
H bH(O1) aHA bA(O2) aAB
bB(O3) aBE bE(O4) aEN bN(O5)
Diese Berechnung für „haben“ müsste nun N^T
oft gemacht werden, also für jede mögliche
Zustandsfolge
35. Naives Verfahren
O1
O2 i S oder W oder R
S W R
O3 S W R S W R S W R
O4
S W R S W R S W R S W R S W R S W R S W R S W R S W R
t=1 (bi(O1) und i zu berücksichtigen)
P(S) (+) P(W) (+) P(R)
36. Naives Verfahren
O1
O2 i S oder W oder R
S W R
O3 S W R S W R S W R
O4
S W R S W R S W R S W R S W R S W R S W R S W R S W R
t=2 (bi(O1) bi(O2) )
P(SS,WS und RS) (+) P(SW,WW und RW) (+) P(SR,WR und RR)
37. Naives Verfahren
O1
O2 i S oder W oder R
S W R
O3 S W R S W R S W R
O4
S W R S W R S W R S W R S W R S W R S W R S W R S W R
t=3 (bi(O1) bi(O2) bi(O3) )
P(SSS,WSS,RSS,SWS,WWS,RWS,SRS,WRS,RRS) (+)
P(SSW,WSW,RSW,SWW,WWW,RWW,SRW,WRW,RRW) (+)
P(SSR,WSR,RSR,SWR,WWR,RWR,SRR,WRR,RRR)
38. Naives Verfahren
O1 i S oder W oder R
O2
S W R
O3 S W R S W R S W R
O4
S W R S W R S W R S W R S W R S W R S W R S W R S W R
t=4 (bi(O1)bi(O2) bi(O3)bi(O4))
N^T=81 Kombinationsmöglichkeiten einer Zustandsfolge
exponentielle Laufzeit
39. Forward Algorithmus
Es wird ein Alpha definiert, welcher die
Wahrscheinlichkeiten aller vorherigen
Zustandsmöglichkeiten abspeichert
dadurch wird eine Berechnung dieser im
nächsten Schritt nicht mehr nötig
48. Forward Algorithmus Beispiel
Zust.Obs. Trocken Eher Trocken Eher Feucht Feucht
Sonne 0.378 0.041237503 0.00480545 0.000273973
Wolken 0.0425 0.026640628 0.005336778 0.0019189683
Regen 0.01 0.011418751 0.008603575 0.0032144971
Wahrscheinlichkeit der Observationsfolge Trocken, Eher Trocken,
Eher Feucht und Feucht liegt bei etwa 0,0054074386 und dabei jede
Zustandsfolge möglich
49. Laufzeit
Beispiel N=3 T=4
O(N²T) Berechnungen beim Forward
Algorithmus
O(NT) Speicherbedarf
36 Berechnungen
Naives Verfahren O(2TN^T)
648 Berechnungen
51. Viterbi Algorithmus
Gesucht ist die wahrscheinlichste verborgene
Zustandsfolge bei gegebener
Observationssequenz: Trocken, Eher Trocken,
Eher Feucht, Feucht.
52. Viterbi Algorithmus
Wir definieren ein Delta, welches uns im
Vergleich zum Forward Algorithmus nur den
wahrscheinlichsten Ausgangszustand
heraussucht.
64. Spracherkennung -
Vorverarbeitung
• Entfernung von Störgeräuschen
• Entfernung von Sprachsignalen anderer Personen
Ziel: Vereinfachung und Beschleunigung der
Weiterverarbeitung
65. Spracherkennung -
Merkmalsextraktion
• Blockweise Aufteilung des Audiosignals
• Abfolge von Merkmalsvektoren
66. Spracherkennung -
Untereinheitenvergleich
• Umwandlung der Merkmalsvektoren in Phoneme,
Silben und Wörter
• Angewendete Sprachmoddelle:
– Hidden-Markov-Modelle
– Neuronale Netze
–…
73. Spracherkennung-
Spracherkennung- HMM
-Wörter, Silben oder Phoneme werden durch HMM
repräsentiert
-2 Ansätze: Ganzwortmodell vs Phonemmodell
Ganzwortmodelle: für kleinere spezialisierte Wortschätze
(Bahnauskunft)
74. Ganzwortmodelle – Schritte
Schritte:
-Festlegung eines Vokabulars
-Beschaffung von Referenzäußerungen
-Worttraining
-innere Struktur eines Wortes ist nötig,
-Optimierung: Anzahl der Zustände = Anzahl der Phoneme
Nachteil:
-ein und derselbe Laut, wird immer neu generiert, wenn es in
anderen Wörtern vorkommt.
unnötiger Speicherplatzbedarf
75. Phonemmodelle
-Modellierung von Wortuntereinheiten sind
wesentlich flexibler
Wörter können nach Baukastenprinzip erstellt
werden
-Inventar: Gesamtheit der Modelle (Phoneme)
-Bei Aufnahme eines Wortes in das Vokabular, wird
es in Phoneme unterteilt
77. Kombination zu Wortmodellen
-Folge von Phonemen, werden einander angehängt
-In der kontinuierlichen Sprache müssen Vorgänger und
Nachfolger mit berücksichtigt werden
79. Spracherkennung – Perspektiven
Keinen universellen Spracherkenner
Systeme für spezielle Anwendungen
Optimierung bei der Entfernung der
Umgebungsgeräusche
Erkennung unbekannter Wörter
80. Part of Speech Tagger
„ Unter Part-of-speech Tagging versteht man die
Zuordnung von Wörtern eines Textes zu
Wortarten (engl.: part of speech).“ Wikipedia
81. Part of Speech Tagger
Sie bieten die Möglichkeit:
Sätze in Tokens aufzuteilen
Alle möglichen Tags für ein Wort zu finden
(morphologische Analyse)
Eindeutige Wortartklärung der Wörter
(Disambiguierung)
Training vorhandener Sets oder es können
neue angelegt werden
82. Part of Speech Tagger
Beispiel:
Eingabe: Where is the teacher? Observation
Ausgabe: Where_WRB is_VB the_DT teacher_NN ?
die Ausgabeform ist je nach Tagger unterschiedlich
Tags je nach Corpus unterschiedlich (Brown Corpus für
Englisch)
jeder Corpus hat meist ein unterschiedliches Tagset
ein bekanntes Tagset ist das Penn Treebank Tagset
http://www.mozart-oz.org/mogul/doc/lager/brill-tagger/penn.html
83. Part of Speech Tagger
Beispiel:
Where is the teacher? Observation
Gesucht sind die Wortarten (Zustände)
„Where“ kann sowohl Konjunktion sein, also einleitender
Wortbestandteil eines Nebensatzes , als auch ein
Adverb im Sinne eines Frage-wortes.
Alle anderen Satzbestandteile sind eindeutig einer
Wortart zuweisbar.
84. Part of Speech Tagger
Beispiel:
…,where the teacher is. Nebensatz mit Konjunktion
Unser Modell ermöglicht es also, die Wortart der
Konjunktion auszuschließen, da nach einer Konjunktion
in der Regel kein „is“ folgt.
Per Training der Modelle lassen sich so neue Sprachen
modellieren und somit leßbar machen
85. Schlusswort
Vorteile:
hervorragendes Werkzeug zum Modellieren von
stochastisch berechenbaren Vorgängen
die Erreichbarkeit zwischen den Zuständen in
beliebig vielen Schritten leicht berechenbar
unendlich große Anzahl an Einsatzmöglichkeiten
und Anwendungen
einfache Definition
leichte Erlernbarkeit und Lesbarkeit
86. Schlusswort
Nachteile:
Mit steigender Komplexität des abzubildenden
Systems wächst die Komplexität der Markow-
Kette rapide an, sodass sie schnell
unübersichtlich bzw. aufwendiger wird
Etwaige Nachbesserungen und Korrekturen
werden aus obiger Erkenntnis schwieriger und
aufwändiger