Hidden Markov Models

Werbung
Hidden Markov Models
Kursfolien
Karin Haenelt
09.05.2002
Karin Haenelt, Hidden Markov Models
1
Letzte Änderung 18.07.2002
Hidden Markov Models
• Besondere Form eines
probabilistischen endlichen Automaten
• Weit verbreitet in der statistischen
Sprachverarbeitung
09.05.2002
Karin Haenelt, Hidden Markov Models
2
Übergangsnetzwerke
Endlicher Automat
Markov Model
0.5
ein
Beispiel
0.5
ein
Hidden Markov Model
0.5
Beispiel
0.005
0.5
0.5
Dete
0.5
Nomn
0.005
ein .11 Beispiel .081
A. Übergangsmatrix A. Übergangsmatrix A. Übergangsmatrix
B. B. Emissionsmatrix
B. C. Startwahrschein- C. StartwahrscheinC. Startzustände
lichkeiten
lichkeiten
3
09.05.2002
Karin Haenelt, Hidden Markov Models
Endlicher Automat
wir
werden
geschickt
09.05.2002
Karin Haenelt, Hidden Markov Models
4
Endlicher Automat
Übergangsmatrix
geschickt werden
geschickt
0
1
werden
1
1
wir
0
1
09.05.2002
Karin Haenelt, Hidden Markov Models
wir
0
1
0
Startzustand
s0
1
1
1
5
Markov Model
.5
.3
.3
wir
.4
.2
.4
werden
.3
.4
.3
.4
geschickt
09.05.2002
.2
Karin Haenelt, Hidden Markov Models
.3
6
Markov Model
Übergangsmatrix
geschickt werden
geschickt
.3
.4
werden
.4
.2
wir
.3
.4
09.05.2002
Karin Haenelt, Hidden Markov Models
wir
.3
.4
.3
AnfangsWahrscheinlichkeit
π
.2
.3
.5
7
Markov Model
Zweck
Beschreibung einer Sequenz von Zufallsvariablen,
die nicht unabhängig voneinander sind,
deren Wert von vorangegangenen
Elementen der Sequenz abhängt
X = (X1, …, XT)
Sequenz von Zufallsvariablen
S = {s1, …, sN}
Zustandsmenge
(Wertebereich von X)
Beispiel:
X3=s1
09.05.2002
Karin Haenelt, Hidden Markov Models
Wort3 = „geschickt“
8
Manning/Schütze, 2000: 318
Markov Eigenschaften
Begrenzter Horizont Jeder Wert in der Sequenz
(Limited Horizon)
hängt nur vom Wert des Vorgängers ab
P(Xt+1 = sk | X1, …, Xt) = P(Xt+1 = sk | Xt)
Zeitinvarianz
= P(X2 = sk | X1)
hiermit Eigenschaften eines endlichen Automaten sichergestellt
09.05.2002
Karin Haenelt, Hidden Markov Models
9
Manning/Schütze, 2000: 318
Markov-Kette
Kann beschrieben werden durch
•Stochastische Übergangsmatrix A
aij = P( Xt + 1 = sj | Xt = si )
aij ≥ 0
N
∑a
i, j
=1
j =1
∀i, j
∀i
geschickt werden
geschickt
.3
.4
werden
.4
.2
wir
.3
.4
Π
•Anfangswahrscheinlichkeiten
πi = P( X 1 = si )
N
∑π =1
i
i =1
09.05.2002
Karin Haenelt, Hidden Markov Models
π
geschickt
werden
wir
.2
.3
.5
10
Manning/Schütze, 2000: 318
wir
.3
.4
.3
Markov-Kette
Wahrscheinlichkeit der Sequenz der Zustände X1 … XT
P ( X 1,..., XT )
= P ( X 1) P ( X 2 | X 1) P ( X 3 | X 2, X 1)...P ( XT | X 1,..., XT − 1)
= P( X 1) P( X 2 | X 1) P ( X 3 | X 2)...P( XT | XT − 1)
=π
T −1
X1Π
t =1
a X t X t +1
09.05.2002
Karin Haenelt, Hidden Markov Models
11
Manning/Schütze, 2000: 320
Hidden Markov Model
… …
wir .2
.3
.2
.1
Nomn
.4
.2
.2
.2
sein
…
werden .3
AuxV
.2
.1
.4
.2
.1
.1
Adje
.1
.2
.3
.1
KopV
.1
.2
.2
geschickt .2
…
…
.3
.1
sein
…
werden .5
.2
.1
.3
Part
geschickt .4
…
…
.2
09.05.2002
.3
Karin Haenelt, Hidden Markov Models
.2
.3
.1
12
Hidden Markov Model
Übergangsmatrix
Adje
AuxV
KopV
Nomn
Part
Emissionssmatrix
Adje AuxV KopV Nomn Part geschickt werden
.2
.1
.1
.4
.2
.2
0
.2
.2
.2
.2
.2
0
.3
.2
.2
.2
.3
.1
0
.5
.1
.4
.3
.1
.1
0
0
.3
.1
.2
.1
.3
.4
0
09.05.2002
Karin Haenelt, Hidden Markov Models
wir
0
0
0
.2
0
AnfangsWahrscheinlichkeit
π
.3
.2
.1
.3
.1
13
Programm für Markov Prozess
• t:=1;
• Start in state sj with probability
(i.e., X1 = i)
• Forever do
πi
– Move from state si to state sj with probability aij
(i.e. Xt+1 = j)
– Emit observation symbol ot = k with probability
bijk
– t := t+1
• end
09.05.2002
Karin Haenelt, Hidden Markov Models
14
Manning/Schütze, 2000: 325
Hidden Markov Model
Formal spezifiziert durch Fünf-Tupel ( S , K , Π, A, B )
S = {s1,..., sN}
Menge der Zustände
K = {k 1,..., kM } = {1,..., M }
Ausgabe-Alphabet
Π = {πi}, i ∈ S
Wahrscheinlichkeiten
der Startzustände
A = {aij},
N
∑a
i, j ∈ S
ij
j =1
B = {bijk},
i, j ∈ S ,
k∈K
M
∑b
k =1
09.05.2002
Karin Haenelt, Hidden Markov Models
ijk
= 1 Wahrscheinlichkeiten
der Zustandsübergänge
= 1 Wahrscheinlichkeiten
der Symbolemissionen
15
Manning/Schütze, 2000: 326
Hidden Markov Model
• State Emission Model
– Zur Zeit t emittiertes Symbol
hängt ab von
• Zustand zur Zeit t
• Arc Emission Model
– Zur Zeit t emittiertes Symbol
hängt ab von
• Zustand zur Zeit t und
• Zustand zur Zeit t+1
09.05.2002
Karin Haenelt, Hidden Markov Models
t
t+1
o
o
t
t+1
o
16
Drei grundlegende Aufgaben für
HMMs
1. Dekodierung: Wahrscheinlichkeit einer
Beobachtung finden
•
•
brute force
Forward-Algorithmus / Backward-Algorithmus
2. Beste Pfad-Sequenz finden
•
•
brute force
Viterbi-Algorithmus
3. Training: Aufbau des besten Modells aus
Trainingsdaten
09.05.2002
Karin Haenelt, Hidden Markov Models
17
Manning/Schütze, 2000: 325
HMM [A1]: Wahrscheinlichkeit
einer Beobachtung finden
gegeben eine Sequenz von Beobachtungen
O=(wir,werden,geschickt)
µ = ( A, B, Π )
ein Modell
Adje AuxV KopV Nomn
Adje .2
.1
.1
.4
AuxV .2
.2
.2
.2
KopV .2
.2
.2
.3
Nomn .1
.4
.3
.1
Part .3
.1
.2
.1
gesucht
Part g‘schicktwerden wir
.2
.2
0
0
.2
0
.3
0
.1
0
.5
0
.1
0
0
.2
.3
.4
0
0
die Wahrscheinlichkeit
O = (o1,..., oT )
π
.3
.2
.1
.3
.1
P (O | µ )
P ( wir , werden, geschickt | µ )
09.05.2002
Karin Haenelt, Hidden Markov Models
18
HMM [A1]: Wahrscheinlichkeit
einer Beobachtung finden
Lösungsweg 1: brute force
Für alle möglichen Zustandsfolgen
Berechnung der Wahrscheinlichkeit der
Beobachtungen
Summierung der Wahrscheinlichkeiten
P (O | µ )
= ∑ P (O | X , µ ) P ( X | µ )
X
=
09.05.2002
Karin Haenelt, Hidden Markov Models
T −1
∑ π X Π aX
X 1... Xt +1
1
t =1
b
X X
o
t t +1 t t +1 t
X
state
transition
symbol
emission
19
Manning/Schütze, 2000: 326
HMM [A1]: Wahrscheinlichkeit
einer Beobachtung finden
Lösungsweg 1: brute force: Beispiel
P(O | µ )
=
T −1
aX X
b
∑ π X1Π
t
=
1
t t + 1 X t X t + 1ot
X 1... Xt +1
P(wir,werden,geschickt | Adje Adje Adje, μ)
+ P(wir,werden,geschickt | Adje Adje AuxV, μ)
+…
+ P(wir,werden,geschickt | Nomn AuxV Part, μ)
+…
+ P(wir,werden,geschickt | Nomn KopV Adje, μ)
+…
+ P(wir,werden,geschickt | Part Part Part, μ)
=…
09.05.2002
Karin Haenelt, Hidden Markov Models
Beispiel für
state emission HMM
=0.0
.3 x .2 x .4 x .3 x .2 x .4 =0.000576
.3 x .2 x .3 x .5 x .2 x .2 =0.000360
=0.0
=0.000936
20
HMM [A1]: Wahrscheinlichkeit
einer Beobachtung finden
Lösungsweg 1: brute force: Effizienz
P(O | µ )
=
T −1
∑ π X Π aX
X 1... Xt +1
1
t =1
b
t t + 1 X t X t + 1ot
X
Lösungsweg ist hoffnungslos ineffizient
Benötigt im allgemeinen Fall, d.h.
Start in jedem Zustand möglich,
Jeder Zustand kann auf jeden folgen
(2T + 1) x NT+1 Multiplikationen
09.05.2002
Karin Haenelt, Hidden Markov Models
T Anzahl der Beobachtungen
21
N Anzahl der Zustände
Manning/Schütze, 2000: 326
HMM [A1]: Wahrscheinlichkeit
einer Beobachtung finden
Lösungsweg 2: Vorwärts- und Rückwärts-Verfahren
Forward procedure
Backward procedure
Merken partieller Ergebnisse statt
Wiederholter Berechnung
09.05.2002
Karin Haenelt, Hidden Markov Models
22
Manning/Schütze, 2000: 326ff
HMM [A2]:
Beste Pfadsequenz finden
gegeben eine Sequenz von Beobachtungen
O=(wir,werden,geschickt)
µ = ( A, B, Π )
ein Modell
Adje AuxV KopV Nomn
Adje .2
.1
.1
.4
AuxV .2
.2
.2
.2
KopV .2
.2
.2
.3
Nomn .1
.4
.3
.1
Part .3
.1
.2
.1
gesucht
O = (o1,..., oT )
Part g‘schicktwerden wir
.2
.2
0
0
.2
0
.3
0
.1
0
.5
0
.1
0
0
.2
.3
.4
0
0
π
.3
.2
.1
.3
.1
die wahrscheinlichste Pfadsequenz
P ( wir , werden, geschickt | µ )
09.05.2002
Karin Haenelt, Hidden Markov Models
arg x max P (O | µ )
23
HMM [A2]:
Beste Pfadsequenz finden
Lösungsweg 1: brute force:
Wie in [A1]: alle Varianten berechnen
die wahrscheinlichste auswählen
hoffnungslos ineffizient
Lösungsweg 2: beste Einzelzustände
Für jeden Zeitpunkt t
Zustand mit höchster Ausgabewahrscheinlichkeit
auswählen
Zusammensetzung kann unwahrscheinliche Sequenzen
ergeben
09.05.2002
Karin Haenelt, Hidden Markov Models
24
HMM [A2]:
Beste Pfadsequenz finden
Lösungsweg 3: Viterbi-Algorithmus
Speichert für jeden Zeitpunkt t
die Wahrscheinlichkeit des wahrscheinlichsten
Pfades, der zu einem Knoten führt
.| Ω
wir|Adje
wir|AuxV
wir|KopV
wir|Nomn
wir|Part
09.05.2002
Karin Haenelt, Hidden Markov Models
werden|Adje
werden|AuxV
werden|KopV
werden|Nomn
werden|Part
geschickt|Adje
geschickt|AuxV
geschickt|KopV
geschickt|Nomn
geschickt|Part
25
HMM [A3]:
Training der Modellparameter
gegeben eine Sequenz von Beobachtungen
In einem Trainingscorpus
O = (o1,..., oT )
gesucht
µ = ( A, B, Π )
ein Modell
das für die beobachteten Sequenzen im Trainingscorpus
die maximalen Wahrscheinlichkeiten erzeugt
arg µ max P(OTraining | µ )
09.05.2002
Karin Haenelt, Hidden Markov Models
26
Manning/Schütze, 2000: 333ff
HMM [A3]:
Training der Modellparameter
Lösung
Baum-Welch oder
Forward-backward-Algorithmus
09.05.2002
Karin Haenelt, Hidden Markov Models
27
Manning/Schütze, 2000: 333ff
Literatur
• Allen, James (1995): Natural Language Understanding. 2nd
edition. Addison-Wesley Publishing Co.
• Haenelt, Karin: Der Viterbi-Algorithmus. Eine Erläuterung der
formalen Spezifikation am Beispiel des Part-of-Speech Tagging.
Kursskript. 11.05.2002 http://kontext.fraunhofer.de/haenelt/kurs/
folien/Viterbi-Tutor.doc
http://kontext.fraunhofer.de/haenelt/kurs/folien/Viterbi-Tutor.htm
• Manning, Christopher D.; Schütze, Hinrich (1999): Foundations
of Statistical Natural Language Processing. Cambridge, Mass.,
London: The MIT Press. (vgl.:
http://www.sultry.arts.usyd.edu.au/fsnlp)
09.05.2002
Karin Haenelt, Hidden Markov Models
28
Herunterladen