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