Wstęp do przetwarzania języka naturalnego Wykład 5 Ukryte
Transkrypt
Wstęp do przetwarzania języka naturalnego Wykład 5 Ukryte
Przypomnienie Ukryty Model Markowa Wstęp do przetwarzania języka naturalnego Wykład 5 Ukryte Modele Markowa Wojciech Czarnecki 29 stycznia 2014 Wojciech Czarnecki WPJN - Wykład 5 Przypomnienie Ukryty Model Markowa Section 1 Przypomnienie Wojciech Czarnecki WPJN - Wykład 5 Przypomnienie Ukryty Model Markowa N-gramy i model języka Cel: obliczyć prawdopodobieństwo zdań P(W ) = P(w1 , ..., wn ) Podobne: prawdopodobieństwa kolejnego słowa P(wk |w1 , ..., wk−1 ) Dowolny z takich rozkładów P(W ) lub P(wk |w1 , ..., wk−1 ) nazywamy statystycznym modelem języka Wojciech Czarnecki WPJN - Wykład 5 Przypomnienie Ukryty Model Markowa Nowe google n-grams Google’s Ngram Viewer Goes Wild (The Atlantic, Oct 17) https://books.google.com/ngrams Wojciech Czarnecki WPJN - Wykład 5 Przypomnienie Ukryty Model Markowa Ale fajne! Skąd oni w zasadzie wiedzą dla tak olbrzymich zasobów jaką częścią mowy są poszczególne słowa? Wojciech Czarnecki WPJN - Wykład 5 Przypomnienie Ukryty Model Markowa Section 2 Ukryty Model Markowa Wojciech Czarnecki WPJN - Wykład 5 Przypomnienie Ukryty Model Markowa Zanim nauczymy się latać, musimy nauczyć się chodzić Wojciech Czarnecki WPJN - Wykład 5 Przypomnienie Ukryty Model Markowa Proces Markowa Wojciech Czarnecki WPJN - Wykład 5 Przypomnienie Ukryty Model Markowa Proces Markowa Stan zależy wyłącznie od stanu poprzedniego Stan jest niezależny od czasu Wojciech Czarnecki WPJN - Wykład 5 Przypomnienie Ukryty Model Markowa Ukryty Model Markowa Wojciech Czarnecki WPJN - Wykład 5 Przypomnienie Ukryty Model Markowa Ukryty Model Markowa Wojciech Czarnecki WPJN - Wykład 5 Przypomnienie Ukryty Model Markowa Ukryty Model Markowa Wojciech Czarnecki WPJN - Wykład 5 Przypomnienie Ukryty Model Markowa Ukryty Model Markowa Sun Cloud Rain Sun 0.5 0.375 0.125 T = Cloud 0.25 0.125 0.625 Rain 0.25 0.375 0.375 Wojciech Czarnecki WPJN - Wykład 5 Przypomnienie Ukryty Model Markowa Ukryty Model Markowa Dry Dryish Damp Soggy Sun 0.6 0.2 0.15 0.05 E= Cloud 0.25 0.25 0.25 0.25 Rain 0.05 0.10 0.35 0.5 Wojciech Czarnecki WPJN - Wykład 5 Przypomnienie Ukryty Model Markowa Ukryty Model Markowa h i Rozkład początkowy π = 0.63 0.17 0.20 Macierz przejść (transition matrix/state transition matrix) Sun Cloud Rain Sun 0.5 0.375 0.125 T = Cloud 0.25 0.125 0.625 Rain 0.25 0.375 0.375 Macierz emisji (emission matrix/confusion matrix) Dry Dryish Damp Soggy Sun 0.6 0.2 0.15 0.05 E= Cloud 0.25 0.25 0.25 0.25 Rain 0.05 0.10 0.35 0.5 Wojciech Czarnecki WPJN - Wykład 5 Przypomnienie Ukryty Model Markowa Ukryty Model Markowa Ukryty Model Markowa Trójkę (π, T , E ) nazywamy Ukrytym Modelem Markowa (Hidden Markov Model, HMM), gdy π jest wektorem rozkładu prawdopodobieństwa rozmiaru n, T jest macierzą n × n, której każdy rząd jest wektorem rozkładu prawdopodobieństwa a E jest macierzą n × m o tej samej własności. Wojciech Czarnecki WPJN - Wykład 5 Przypomnienie Ukryty Model Markowa Podstawowe zadania HMM Dla zadanego HMM i zadanego ciągu obserwacji (O1 , ..., Ok ) oceń jak jest to prawdopodobne zdarzenie Dla zadanego HMM i zadanego ciągu obserwacji (O1 , ..., Ok ) znajdź najbardziej prawdopodobny ciąg stanów ukrytych (H1 , ..., Hk ) Dla zbioru obserwacji {(O1 , ..., Oki )}N i=1 znajdź najbardziej prawdopodobny HMM o określonej strukturze (n,m) Dla zadanego zbioru HMM i zadanego ciągu obserwacji (O1 , ..., Ok ) wskaż najbardziej prawdopodobny HMM Wojciech Czarnecki WPJN - Wykład 5 Przypomnienie Ukryty Model Markowa Podstawowe zadania HMM Dla zadanego HMM i zadanego ciągu obserwacji (O1 , ..., Ok ) oceń jak jest to prawdopodobne zdarzenie Dla zadanego HMM i zadanego ciągu obserwacji (O1 , ..., Ok ) znajdź najbardziej prawdopodobny ciąg stanów ukrytych (H1 , ..., Hk ) Dla zbioru obserwacji {(O1 , ..., Oki )}N i=1 znajdź najbardziej prawdopodobny HMM o określonej strukturze (n,m) Dla zadanego zbioru HMM i zadanego ciągu obserwacji (O1 , ..., Ok ) wskaż najbardziej prawdopodobny HMM Wojciech Czarnecki WPJN - Wykład 5 Przypomnienie Ukryty Model Markowa Przykład O = (O1 , O2 , O3 ) = (dry , damp, soggy ) P(O|HMM) =? Wojciech Czarnecki WPJN - Wykład 5 Przypomnienie Ukryty Model Markowa Trellis Wojciech Czarnecki WPJN - Wykład 5 Przypomnienie Ukryty Model Markowa Podejście naiwne O = (O1 , O2 , O3 ) = (dry , damp, soggy ) Wojciech Czarnecki WPJN - Wykład 5 Przypomnienie Ukryty Model Markowa Podejście naiwne O = (O1 , O2 , O3 ) = (dry , damp, soggy ) P(O|HMM) = P(O|(sunny , sunny , sunny ))P((sunny , sunny , sunny ))+ +P(O|(sunny , sunny , cloudy ))P((sunny , sunny , cloudy ))+ ... + P(O|(rain, rain, rain))P((rain, rain, rain)) = Wojciech Czarnecki WPJN - Wykład 5 Przypomnienie Ukryty Model Markowa Podejście naiwne O = (O1 , O2 , O3 ) = (dry , damp, soggy ) P(O|HMM) = P(O|(sunny , sunny , sunny ))P((sunny , sunny , sunny ))+ +P(O|(sunny , sunny , cloudy ))P((sunny , sunny , cloudy ))+ ... + P(O|(rain, rain, rain))P((rain, rain, rain)) = X = (H1 ,H2 ,H3 P(O|(H1 , H2 , H3 ))P((H1 , H2 , H3 )) )∈{sunny ,cloudy ,rain}3 Wojciech Czarnecki WPJN - Wykład 5 Przypomnienie Ukryty Model Markowa Podejście naiwne Zwraca poprawny wynik Wymaga policzenia n|O| prawdopodobieństw, gdzie n to liczba stanów ukrytych a O to ciąg obserwacji Nie korzysta z własności Markowa Wojciech Czarnecki WPJN - Wykład 5 Przypomnienie Ukryty Model Markowa Trellis Wojciech Czarnecki WPJN - Wykład 5 Przypomnienie Ukryty Model Markowa Forward algorithm αt (x) = P(Ot |Ht = x)P(all paths to x before t) Wojciech Czarnecki WPJN - Wykład 5 Przypomnienie Ukryty Model Markowa Forward algorithm α1 (x) = P(O1 |H1 = x)πx = Ex,O1 πx αt+1 (x) = P(Ot+1 |Ht+1 = x) n X αt (i)Ti,x = Ex,Ot+1 i=1 i=1 P(O|HMM) = n X α|O| (i) i=1 Wojciech Czarnecki n X WPJN - Wykład 5 αt (i)Ti,x Przypomnienie Ukryty Model Markowa Forward algorithm http://czarnecki.faculty.wmi.amu.edu.pl/nlp/HMM_ forward.html Wojciech Czarnecki WPJN - Wykład 5 Przypomnienie Ukryty Model Markowa Forward algorithm 1 Policz α1 (x) dla każdego stanu ukrytego x, dla pierwszej obserwacji O1 2 Dla każdej obserwacji Ot (t > 1) i każdego stanu ukrytego x policz αt (x) używając αt−1 (y ) 3 Zwróć sumę α|O| (x) po wszystkich stanach ukrytych x Wojciech Czarnecki WPJN - Wykład 5 Przypomnienie Ukryty Model Markowa Forward algorithm Zwraca poprawny wynik Ma złożoność |O|n (zamiast n|O| ) (przy ewaluacji od lewej do prawej) Korzysta z własności Markowa Wojciech Czarnecki WPJN - Wykład 5 Przypomnienie Ukryty Model Markowa Podstawowe zadania HMM Dla zadanego HMM i zadanego ciągu obserwacji (O1 , ..., Ok ) oceń jak jest to prawdopodobne zdarzenie Dla zadanego HMM i zadanego ciągu obserwacji (O1 , ..., Ok ) znajdź najbardziej prawdopodobny ciąg stanów ukrytych (H1 , ..., Hk ) Dla zbioru obserwacji {(O1 , ..., Oki )}N i=1 znajdź najbardziej prawdopodobny HMM o określonej strukturze (n,m) Dla zadanego zbioru HMM i zadanego ciągu obserwacji (O1 , ..., Ok ) wskaż najbardziej prawdopodobny HMM Wojciech Czarnecki WPJN - Wykład 5 Przypomnienie Ukryty Model Markowa Podstawowe zadania HMM Dla zadanego HMM i zadanego ciągu obserwacji (O1 , ..., Ok ) oceń jak jest to prawdopodobne zdarzenie Dla zadanego HMM i zadanego ciągu obserwacji (O1 , ..., Ok ) znajdź najbardziej prawdopodobny ciąg stanów ukrytych (H1 , ..., Hk ) Dla zbioru obserwacji {(O1 , ..., Oki )}N i=1 znajdź najbardziej prawdopodobny HMM o określonej strukturze (n,m) Dla zadanego zbioru HMM i zadanego ciągu obserwacji (O1 , ..., Ok ) wskaż najbardziej prawdopodobny HMM Wojciech Czarnecki WPJN - Wykład 5 Przypomnienie Ukryty Model Markowa Przykład - Pogoda Załóżmy, że mamy wymodelowane poszczególne pory roku jako Ukryte Modele Markowa. Mając dany ciąg obserwacji naszej rośliny z kilku dni - w jaki sposób odpowiedzieć na pytanie “Jaką mamy porę roku?” Wojciech Czarnecki WPJN - Wykład 5 Przypomnienie Ukryty Model Markowa Przykład - NLP Załóżmy, że mamy wymodelowane wypowiedzi różnych osób jako Ukryte Modele Markowa. Mając dany ciąg słów (zdanie) - w jaki sposób odpowiedzieć na pytanie “Kto jest autorem tych słów?” Wojciech Czarnecki WPJN - Wykład 5 Przypomnienie Ukryty Model Markowa Dane: HMMs = {HMM1 , ..., HMMl } O Rozwiązanie: arg max HMM∈HMMs Wojciech Czarnecki P(HMM)P(O|HMM) WPJN - Wykład 5 Przypomnienie Ukryty Model Markowa HMM a NB W tym konkretnym zastosowaniu - bardzo podobne do Naive Bayesa, tylko poziom abstrakcji wyżej arg max HMM∈HMMs P(HMM)P(O|HMM) arg max P(c)P(d|c) c∈C Wojciech Czarnecki WPJN - Wykład 5 Przypomnienie Ukryty Model Markowa Podstawowe zadania HMM Dla zadanego HMM i zadanego ciągu obserwacji (O1 , ..., Ok ) oceń jak jest to prawdopodobne zdarzenie Dla zadanego HMM i zadanego ciągu obserwacji (O1 , ..., Ok ) znajdź najbardziej prawdopodobny ciąg stanów ukrytych (H1 , ..., Hk ) Dla zbioru obserwacji {(O1 , ..., Oki )}N i=1 znajdź najbardziej prawdopodobny HMM o określonej strukturze (n,m) Dla zadanego zbioru HMM i zadanego ciągu obserwacji (O1 , ..., Ok ) wskaż najbardziej prawdopodobny HMM Wojciech Czarnecki WPJN - Wykład 5 Przypomnienie Ukryty Model Markowa Tagging Tagowanie tekstu [ML] Mając dany tekst w formie ciągu słów d = word1 , ..., wordk oraz ciągu tagów td = tag1 , ..., tagk celem tagowania jest zbudowanie funkcji f : words → tags, która dobrze odwzorowje to tagowanie, tj. minimalizuje jakąś funkcję błędu E (f (d), td ). Wojciech Czarnecki WPJN - Wykład 5 Przypomnienie Ukryty Model Markowa Tagowanie a klasyfikacja słów Najczęściej spotykaną różnicą “koncepcyjną” jest fakt, że tagowanie z zasady jest problemem kontekstowym, tj. bardzo rzadko jest to problem, który można rozwiązać bez analizy otaczających słów Wojciech Czarnecki WPJN - Wykład 5 Przypomnienie Ukryty Model Markowa Przykłady Wykrywanie czy kropka jest końcem zdania czy użyto jej w innej formie Określanie czy dane słowo jest nazwą własną Określanie części mowy Wojciech Czarnecki WPJN - Wykład 5 Przypomnienie Ukryty Model Markowa Part of speech Part of Speech (word class) - części mowy Noun: a part of speech inflected for case, signifying a concrete or abstract entity Verb: a part of speech without case inflection, but inflected for tense, person and number, signifying an activity or process performed or undergone Participle: a part of speech sharing the features of the verb and the noun Interjection: a part of speech expressing emotion alone Pronoun: a part of speech substitutable for a noun and marked for a person Preposition: a part of speech placed before other words in composition and in syntax Adverb: a part of speech without inflection, in modification of or in addition to a verb, adjective, clause, sentence, or other adverb WPJN - Wykład 5 Conjunction: a Wojciech part ofCzarnecki speech binding together the discourse Przypomnienie Ukryty Model Markowa Jednoznaczność Brown Corpus - 87 tagów Claws5 - 62 tagi Penn Treebank - 45 tagów Wojciech Czarnecki WPJN - Wykład 5 Przypomnienie Ukryty Model Markowa Penn Treebank POS PART-OF-SPEECH Adjective Adjective, comparative Adjective, cardinal number Adverb Conjunction, coordination Conjunction, subordinating Determiner Determiner, postdeterminer Noun Noun, plural Noun, proper, singular Noun, proper, plural Pronoun, personal Pronoun, question Verb, base present form TAG JJ JJR CD RB CC IN DT JJ NN NNS NNP NNPS PRP WP VBP Wojciech Czarnecki PRZYKŁAD happy, bad happier, worse 3, fifteen often, particularly and, or although, when this, each, other, the, a, some many, same aircraft, data women, books London, Michael Australians, Methodists you, we, she, it who, whoever take, live WPJN - Wykład 5 Przypomnienie Ukryty Model Markowa Naiwne podejście Dla danego słowa w 1 Jeśli w nie ma w zbiorze uczącym to zwróć tag, który występuje najczęściej w tym zbiorze 2 W przeciwnym razie zwróć tag, który wystepuje w zbiorze uczącym najczęściej dla słowa w Wojciech Czarnecki WPJN - Wykład 5 Przypomnienie Ukryty Model Markowa Naiwne podejście Jak skuteczne jest tego typu podejście? Wojciech Czarnecki WPJN - Wykład 5 Przypomnienie Ukryty Model Markowa Naiwne podejście Jak skuteczne jest tego typu podejście? ok. 90% dla języka angielskiego (dla podstawowej wersji V /Adj/N/Det) Wojciech Czarnecki WPJN - Wykład 5 Przypomnienie Ukryty Model Markowa Przykład the lead paint is unsafe the/Det lead/N paint/N is/V unsafe/Adj Wojciech Czarnecki WPJN - Wykład 5 Przypomnienie Ukryty Model Markowa Po co? Podstawowe zadanie statystycznego NLP (jedno z najstarszych) Łatwe w ewaluacji (ile tagów jest poprawnych) Punkt wyjścia dla większości bardziej złożonych algorytmów i modeli Wojciech Czarnecki WPJN - Wykład 5 Przypomnienie Ukryty Model Markowa Rozbiór zdania Wojciech Czarnecki WPJN - Wykład 5 Przypomnienie Ukryty Model Markowa Wieloznaczność słów Wojciech Czarnecki WPJN - Wykład 5 Przypomnienie Ukryty Model Markowa POS jako HMM Założenia: Tag (część mowy) słowa wi zależy wyłącznie od tagu (części mowy) poprzedniego słowa wi−1 Tag jest niezależny od czasu Słowo jest “generowane” przez swój tag (część mowy), czyli jest zależne tylko od niego Od strony matematycznej: Założenie Markowa Stacjonarność procesu Wojciech Czarnecki WPJN - Wykład 5 Przypomnienie Ukryty Model Markowa POS jako HMM Rozwiązujemy problem POS używając HMM: Stany ukryte to możliwe części mowy Stany widzialne (obserwacje) to słowa z języka Wojciech Czarnecki WPJN - Wykład 5 Przypomnienie Ukryty Model Markowa Podstawowe zadania HMM Dla zadanego HMM i zadanego ciągu obserwacji (O1 , ..., Ok ) oceń jak jest to prawdopodobne zdarzenie Dla zadanego HMM i zadanego ciągu obserwacji (O1 , ..., Ok ) znajdź najbardziej prawdopodobny ciąg stanów ukrytych (H1 , ..., Hk ) Dla zbioru obserwacji {(O1 , ..., Oki )}N i=1 znajdź najbardziej prawdopodobny HMM o określonej strukturze (n,m) Dla zadanego zbioru HMM i zadanego ciągu obserwacji (O1 , ..., Ok ) wskaż najbardziej prawdopodobny HMM Wojciech Czarnecki WPJN - Wykład 5 Przypomnienie Ukryty Model Markowa Naiwne podejście O = (dry , damp, soggy ) arg max (H1 ,H2 ,H3 )∈H 3 Wojciech Czarnecki P(O|(H1 , H2 , H3 )) WPJN - Wykład 5 Przypomnienie Ukryty Model Markowa Naiwne podejście O = (dry , damp, soggy ) arg max (H1 ,H2 ,H3 )∈H 3 P(O|(H1 , H2 , H3 )) = = arg max{P(O|(sunny , sunny , sunny )), P(O|(sunny , sunny , cloudy )), ..., P(O|(cloudy , cloudy , clody ))} Wojciech Czarnecki WPJN - Wykład 5 Przypomnienie Ukryty Model Markowa Naiwne podejście Bardzo podobna sytuacja do poprzedniej Złożoność wykładnicza ze względu na długość obserwacji ... ale zwraca dobry wynik Wojciech Czarnecki WPJN - Wykład 5 Przypomnienie Ukryty Model Markowa Viterbi - podejście trellis Wojciech Czarnecki WPJN - Wykład 5 Przypomnienie Ukryty Model Markowa Viterbi - najbardziej prawdopodobne ścieżki Wojciech Czarnecki WPJN - Wykład 5 Przypomnienie Ukryty Model Markowa Viterbi - najbardziej prawdopodobne ścieżki Pbest,t (X ) =? Wojciech Czarnecki WPJN - Wykład 5 Przypomnienie Ukryty Model Markowa Viterbi - najbardziej prawdopodobne ścieżki Najlepsza ścieżka do x musi mieć postać: ... A x ... B x ... C x Wojciech Czarnecki WPJN - Wykład 5 Przypomnienie Ukryty Model Markowa Viterbi - najbardziej prawdopodobne ścieżki Najlepsza ścieżka do x musi mieć postać: ... A x Pbest,t (X ) = Pbest,t−1 (A)P(A → X )P(Ot |X ) ... B x Pbest,t (X ) = Pbest,t−1 (B)P(B → X )P(Ot |X ) ... C x Pbest,t (X ) = Pbest,t−1 (C )P(C → X )P(Ot |X ) Wojciech Czarnecki WPJN - Wykład 5 Przypomnienie Ukryty Model Markowa Viterbi - najbardziej prawdopodobne ścieżki Najlepsza ścieżka do x musi mieć postać: ... A x Pbest,t (X ) = Pbest,t−1 (A)P(A → X )P(Ot |X ) ... B x Pbest,t (X ) = Pbest,t−1 (B)P(B → X )P(Ot |X ) ... C x Pbest,t (X ) = Pbest,t−1 (C )P(C → X )P(Ot |X ) Pbest,t (X ) = max Pbest,t−1 (i)P(i → X )P(Ot |X ) i Wojciech Czarnecki WPJN - Wykład 5 Przypomnienie Ukryty Model Markowa Viterbi - najbardziej prawdopodobne ścieżki Pbest,1 (X ) = πx P(O1 |X ) Pbest,t (X ) = max Pbest,t−1 (i)P(i → X )P(Ot |X ) i δt (X ) = max δt−1 (i)Ti,X EX ,Ot i Wojciech Czarnecki WPJN - Wykład 5 Przypomnienie Ukryty Model Markowa Viterbi - najbardziej prawdopodobne ścieżki Mamy prawdopodobieństwo ścieżki, trzeba ją tylko odzyskać Wojciech Czarnecki WPJN - Wykład 5 Przypomnienie Ukryty Model Markowa Viterbi - najbardziej prawdopodobne ścieżki Wojciech Czarnecki WPJN - Wykład 5 Przypomnienie Ukryty Model Markowa Viterbi - najbardziej prawdopodobne ścieżki δt (X ) = max δt−1 (i)Ti,X EX ,Ot i φt (x) = arg max δt−1 (i)P(i → x) = arg max δt−1 (i)Ti,x i Wojciech Czarnecki i WPJN - Wykład 5 Przypomnienie Ukryty Model Markowa Viterbi - najbardziej prawdopodobne ścieżki Majac dane O, HMM Obliczamy δ, φ Odpowiadamy H = (Ha1 , ..., Ha|O| ), gdzie : a|O|+1 := arg max δ|O| (i) at = φt+1 (at+1 ) Wojciech Czarnecki WPJN - Wykład 5 Przypomnienie Ukryty Model Markowa Viterbi algorithm http://czarnecki.faculty.wmi.amu.edu.pl/nlp/HMM_ viterbi.html Wojciech Czarnecki WPJN - Wykład 5 Przypomnienie Ukryty Model Markowa Kolejny wykład Jak uczyć modele HMM? W kierunku wektoryzacji tekstu i modeli największej entropii Wojciech Czarnecki WPJN - Wykład 5 Przypomnienie Ukryty Model Markowa Quiz (+1 pkt z aktywności) Mamy dwa stany ukryte A, B oraz dwa widzialne a, b. ! T = 0.8 0.2 0.3 0.7 E= 0.8 0.2 0.3 0.7 ! π = 0.5 0.5 Czyli np. prawdopodobieństwo że będąc w stanie A zaobserwujemy b wynosi 0.2, a że zaobserwujemy a odpowiednio 0.8. Zaobserwowaliśmy a, a, b, jaki jest najbardziej prawdopodobny ciąg stanów ukrytych? Wojciech Czarnecki WPJN - Wykład 5