11 Probabilistic Context Free Grammars Ludzie piszą i mówią wiele rzeczy, a ich wypowiedzi mają zawsze jakąś określoną strukture i regularność. Celem jest znalezienie i wyizolowanie tego typu struktur. Syntaktyka pokazuje więcej niż tylko kolejność czy porządek słów w zdaniu, ukazuje jak grupy słów się łączą i jakie relacje wzajemne zachodzą między nimi. 11.1 PCFG Probabilistic Context Free Grammar są najprostrzymi i najbardziej naturalnymi modelami struktur drzewiastych. PCFG jest to gramatyka bezkontextowa (CFG) z dodanymi do reguł gramatycznych prawdopodobieństwami. Example: The velocity of the seismic waves rises to... PCFG Składa się z: zbioru znaków terminalnych: {w k }, k = 1,..., V zbioru znaków nieterminalnych: {N i }, i = 1,..., n ustalonego symbolu startowego: N 1 zbioru reguł {N i ς j }, gdzie ς j ciąg symboli terminalnych i nieterminalnych. P(N i ς j ) należy tutaj rozumieć jako prawdopodobieństwo warunkowe P(N i ς j N i ). Prawdopodobieństwa produkcji dołącza się w taki sposób, aby suma prawdopodobieństw reguł o tym samym poprzedniku wynosiła 1. i P (N i ς j N i ) = 1 j 1
Notacja {w 1,..., w m } - parsowane zdanie w ad - podłańcuch w a,..., w d N i ab N i - nieterminal dominujący nad podłańcuchem w a,..., w b yield(n j ) = w a,..., w b - poddrzewo z rootem N j dominującym tylko nad ciągiem w a,..., w b Prawdopodobieństwo drzewa parsingu Prawdopodobieństwo zdania P (w 1m ) = P (w 1m, t) = t P (t) {t:yield(t)=w 1m } gdzie t jest wyprowadzeniem zdania w 1m według reguł gramatyki G 2
Example: Przyjmując powyższą gramatykę zdanie [Astronomers saw stars with ears.] posiada dokładnie dwie poprawne metody parsowania. P(t 1 ) = 1.0 x 0.1 x 0.7 x 1.0 x 0.4 x 0.18 x 1.0 x 1.0 x 0.18 = 0.0009072 P(t 2 ) = 1.0 x 0.1 x 0.3 x 0.7 x 1.0 x 0.18 x 1.0 x 1.0 x 0.18 = 0.0006804 P(w 15 ) = P(t 1 ) + P(t 2 ) = 0.0015876 Założenia modelu Niezmienniczość miejsca Identyczne poddrzewa mają zawsze takie same prawdopodobieństwa niezależnie od tego w jakim miejscu znajdują się w drzewie syntaktycznym k P (N j k(k+c) ς) jest to samo 3
Bezkontekstowość Prawdopodobieństwo poddrzewa nie zależy od słów znajdujących się przed poddrzewem. P (N j kl ς slowa poza w k,..., w l ) = P (N j kl ς) Ancestor-free Zewnętrzne węzły poddrzewa nie mają wpływu na jego prawdopodobieństwo. Cechy PCFG P (N j kl ς ancestor nodes N j kl ) = P (N j kl ς) Podczas rozwijania gramatyk do dużych i urozmaiconych korpusów, gramatyki stają się bardzo niejednoznaczne. Wówczas PCFG dają pogląd na prawdopodobieństwo danego zdania. W przeciwieństwie do CFG PCFG może się uczyć. Odporny na błedy gramatyczne PCFG daje probabilistyczny model językowy języka angielskiego. W praktyce PCFG jest gorszym modelem dla języka angielskiego od modelu trigram Modele PCFG dopuszczają, żeby małe drzewa rozbioru były bardziej prawdopodobne Nieodpowiedni rozkład S rhubarbp (1/3) S SSP (2/3) rhubarb 1/3 rhubarb rhubarb 2/3x1/3x1/3 = 2/27 rhubarb rhubarb rhubarb (2/3) 2 x(1/3) 3 x2 = 8/243 P(L)=1/3 + 2/27 + 8/243 +... = 1/2 4
11.2 Zadania dla PCFG Nadanie prawdopodobieństwa każdemu zdaniu w 1m zgodnemu z gramatyką G P (w 1m G) Wyznacza najbardziej prawdopodobne drzewo rozbioru dla danego zdania. argmax t P (t w 1m, G) Zoptymalizowanie reguł danej gramatyki w celu maksymalizacji prawdopodobieństwa zdania Chomsky Normal Form N i N j N k N i w j argmax G P (w 1m G) dla j=1,...,n P (N j N r N s ) + r,s k P (N j w k ) = 1 Gramatyka regularna (PRG) N t w j N k N i w j PCFG i PRG vs HMM HMM - prawdopodobieństwo Stringu o określonej długości n w 1n P (w 1n ) = 1 PCFG i PRG - prawdopodobieństwo zbioru stringów należących do języka L generowanego przez gramatykę G P (w) = 1 w L 5
Example: P (John decide to bake a) Wysokie prawdopodobieństwo w HMM natomiast bardzo nieskie w PCFG i PRG, ponieważ nie jest to kompletne zdanie. Prawdopodobieństwo zewnętrzne Całkowite prawdopodobieństwo generowania ciągu słów poczynając od N 1 do N j pq i wszystkich słów poza w p,..., w q α j (p, q) = P (w 1(p 1), N 1 pq, w (q+1)m G) Prawdopodobieństwo wewnętrzne Całkowite prawdopodobieństwo generowania ciągu słów w p,..., w q wychodząc z nieterminala N j β j (p, q) = P (w pq N j pq, G) 11.3 Prawdopodobieństwo stringu Prawdopodobieństwo wewnętrzne Obliczanie prawdopodobieństwa stringu poprzez liczenie i sumowanie wszystkich prawdopodobieństw rozbioru gramatycznego jest nieefektywne. Efektywnym sposobem na liczenie prawdopodobieństwa jest tzw. algorytm wewnętrzny bazujący na prawdopodobieństwach wewnętrznych. P (w 1m G) = P (N 1 = w 1m G) = β 1 (1, m) 6
Przypadek podstawowy Szukamy β j (k, k) - prawdopodobieństwo reguły N j w k β j (k, k) = P (w k N j kk, G) = P (N j w k G) Indukcja Szukamy β j (p, q) dla p q j, 1 p < q m Example: β V P (2, 5) = P (V P V NP )β v (2, 2)β NP (3, 5)+P (V P V P P P )β v (2, 3)β NP (4, 5) 7
Prawdopodobieństwo zewnętrzne k 1 k m Przypadek podstawowy α 1 (1, m) = 1 α j (1, m) = 0 dla j 1 Indukcja Nieterminal N j pq może pojawić się po lewej jak i prawej stronie gałęzi węzłą rodzica. Sumujemy dwie możliwości przy założeniu, że w pierwszej sumie g j 8
Iloczyn prawdopodobieństwa wewnętrznego i zewnętrznego α j (p, q)β j (p, g) = P (w 1(p 1), Npq, j w (q+1)m G)P (w pq Npq, j G) = P (w 1m, Npq j G) Stąd P (w 1m, N pq G) = α j (p, q)β j (p, g) j 9
Viterbi Algorithm - Wyznaczanie najlepszego drzewa parsingu ϱ i (p, q) - największe wewnętrzne prawdopodobieństwo poddrzewa N i pq Krok. 1 - Inicjalizacja Krok. 2 - Indukcja ϱ i (p, p) = P (N i w p ) Krok. 3 - Odczytanie wyznaczonego drzewa Dla każdego nieterminala poczynając od N 1 1m rekurencyjnie czytamy Ψ i (p, q) = (j,k,r) i wyznaczamy gałęzie: left(&) = N j pr, right(&) = N k (r+1)q Training PCFG Szukamy gramatyki maksymalizującej prawdopodobieństwo danych treningowych. 11.4 Inside-Outside - problemy wolny - każda iteracja O(m 3 n 3 ), gdzie m = w i=1 m i, a n - liczbą nieterminali w gramatyce. problem z lokalnymi maximami - Charniak dla każdego testu otrzymywał różne maxima lokalne (algorytm jest bardzo wrażliwy na dane początkowe) potrzebne jest dużo więcej nieterminali, niż teoretycznie potrzebne do stworzenia dobrej gramatyki, aby otrzymać dobrą gramatyke do nauki. nie ma żadnych gwarancji, że nieterminale, których będzie się uczył algorytm będą miały pokrycie z nieterminalami używanymi podczas analizy językowej. 10