Upload
phamthuy
View
214
Download
0
Embed Size (px)
Citation preview
304
Syntaktyczne modelowanie języka
Bartosz Ziółko
Wykorzystano materiały Dawida Skurzoka, MIT i Wikipedii
• Parsery
• Analizatory morfologiczne / POS tagery
• n-grams
• Wygładzanie modeli
• Filtry Blooma 305
Gramatyka/ modelowanie
syntaktyczne
Nadmiarowość w językach
• Konieczna z tego samego powodu co w kodach transmisyjnych
• Prawdopodobnie stopień nadmiarowości zależy od warunków geograficznych
• Demo z Mathematica (RedundancyInWrittenLanguage)
306
Powody modelowania syntaktycznego
I helped Apple wreck a nice beach.
I helped Apple recognise speech.
307
Niektóre zdania mogą brzmieć bardzo
podobnie:
W języku polskim nawet identycznie:
może / morze
Noam Chomsky
308
Gramatyka formalna składa się z:
• skończonego zbioru symboli końcowych
• skończonego zbioru symboli
niekońcowych
• skończonego zbioru reguł produkcji na
lewo i prawo składających się z
sekwencji tych symboli
• symbol startowy
Analizator morfologiczny / POS tager
Proces zaznaczania słów w tekście jako odpowiadających szczególnym częściom mowy, oparty zarówno na ich definicjach, jak i ich kontekstach.
315
317 317
1-gramy słów (wybrane korpusy)
1) się 1 780 825 (2,6%)
2) i 1 632 596 (2,4%)
3) w 1 569 027 (2,3%)
4) nie 1 445 832 (2,1%)
5) na 1 283 268 (1,9%)
6) z 1 116 819 (1,6 %)
7) do 816 874 (1,2 %)
8) to 801 472 (1,2 %)
9) że 760 078
10) a 479 713
11) o 396 011
12) jak 368 386
13) ale 343 482
14) po 330 381
15) co 329 270
16) jest 302 011
17) tak 279 877
18) za 263 700
19) od 225 843
20) jego 219 587
21) go 217 036
22) już 201 735
23) tym 199 894
24) czy 196 565
318 318
2-gramy słów (wybrane korpusy)
1) się w 116 446 (0,17%)
2) się na 93 751 (0,14%)
3) się z 83 610 (0,12%)
4) się do 83 524 (0,12%)
5) się że 57 126 (0,08%)
6) że nie 50 222 (0,07%)
7) w tym 48 035 (0,07%)
8) nie ma 43 633 (0,06%)
9) o tym 42 041 (0,06%)
10) to nie 39 087
11) się i 38 772
12) się nie 38 622
13) i nie 38 177
14) ale nie 35 241
15) na to 34 259
16) że to 34 171
17) mi się 33 441
18) nie było 31682
19) nie jest 31 615
20) a potem 31 196
21) nigdy nie 31 082
22) mu się 27 209
23) po prostu 26 047
24) w tej 25 461
25) to co 24 661
26) w końcu 23 863
27) co się 23 762
319 319
3-gramy słów (wybrane korpusy)
1) w ten sposób 10 119 (0,015%)
2) na to że 8 619 (0,012%)
3) w tej chwili 8 121 (0,012%)
4) w każdym razie 7 587 (0,011%)
5) po raz pierwszy 7 266 (0,010%)
6) mi się że 6 395 (0,009%)
7) sobie sprawę że 5 514 (0,008%)
8) mam nadzieję że 5 499 (0,008%)
9) w takim razie 5 462 (0,008%)
10) zwrócił się do 5 349
11) wydaje mi się 4 855
12) od czasu do 4 742
13) się z nim 4 609
14) to nie jest 4 538
15) czasu do czasu 4 470
16) w tym momencie 4 455
17) po drugiej stronie 4 445
18) w ogóle nie 4 309
Zastosowanie n-gramów
N-gramy są najpopularniejszym sposobem
modelowania języka w rozpoznawaniu mowy:
Z powodów obliczeniowych, zależność jest
ograniczana do n słów wstecz. Prawdopodobnie
najpopularniejszym jest model trigramowy
ponieważ zależność od dwóch poprzednich słów
jest bardzo silna, podczas gdy komplikacja modelu
jest dość mała a zapotrzebowanie na statystyki
realizowalne. 321
Siatka słów
322
prezydent
rezydent
prezydium
aprobuje
aportuje
operuje
wejście
dwieście
nieście
do
to
dom
o
strefy
trafi
stepy
schengen
szogun
szelkę
Siatka słów z zaznaczonym prawidłowym zdaniem
323
prezydent
rezydent
prezydium
aprobuje
aportuje
operuje
wejście
dwieście
nieście
do
to
dom
o
strefy
trafi
stepy
schengen
szogun
szelkę
Podkreślmy szczególnie prawdopodobne 1- i 2-gramy
324
prezydent
rezydent
prezydium
aprobuje
aportuje
operuje
wejście
dwieście
nieście do
to
dom
o
strefy
trafi
stepy
schengen
szogun
szelkę
Ponownie nałóżmy poprawne zdanie
325
prezydent
rezydent
prezydium aprobuje
aportuje
operuje
wejście
dwieście
nieście do
to
dom
o
strefy
trafi
stepy
schengen
szogun
szelkę
Usuńmy mało prawdopodobne 2-gramy
326
prezydent
rezydent
prezydium
aprobuje
aportuje
operuje
wejście
dwieście
nieście
do
to
dom
o
strefy
trafi
stepy
schengen
szogun
szelkę
… i nałóżmy zdanie
327
prezydent
rezydent
prezydium aprobuje
aportuje
operuje
wejście
dwieście
nieście
do
to
dom
o
strefy
trafi
stepy
schengen
szogun
szelkę
328 328
Zbiory tekstów języka polskiego
Źródło MBajty Mil. słów
Różnych słów
Różnych dwójek
Różnych trójek
Rzeczpospolita 879 104 856 349 18 115 373 43 414 592
Wikipedia 754 97 2 623 358 31 139 080 61 865 543
Literatura 490 68 1 151 043 23 830 490 50 794 854
Transkrypcje 325 32 381 166 6 848 729 16 283 781
Literatura 2 6500 949 6 162 530 153 152 158 441 284 743
Literatura 3 285 181 1 229 331 36 297 382 93 751 340
W Literatura 2 :
Słowa występujące więcej niż 10 razy to 951 844
Dwójki słów występujące więcej niż 10 razy to 6 426 198
Trójki słów występujące więcej niż 10 razy to 5 166 537
Problemy z n-gramami
- Różne pisowanie (np. u - ó),
- błędne formaty,
- sprawdzanie ze słownikiem, np. myspell ?,
Przykład wyliczeń modelu n-gramowego
332
\begin{equation}
E(s,h)=\frac{N(s,h)}{N(h)} \; ,
\end{equation}
Przykład wyliczeń modelu n-gramowego
336
Licząc ścieżkę nie sumujemy dystansów tak jak w
telekomunikacji, a mnożymy prawdopodobieństwa (ze względu
na regułę Bayesa) lub sumujemy logarytmy!
Wyszukiwanie najlepszych ścieżek z użyciem 3-gramów
Ala
ale
Złamała
ma kota
keta
.
ładnego
łapie
.
Ala ma ładnego kota
Klasyczny algorytm Dijkstry (bigramy)
Ala
ale
Złamała
ma kota
keta
.
ładnego
łapie
. 1
1
0.1
0.2
1.2
0.3
koszt = 0.1
koszt = 1
0.4
1.3
0.5
Back-off
340
0),()|()(
0),()|()|(
whNifhwh
whNifhwhwp
N – liczba zliczeń słowa z danych statystycznych
β – bardziej ogólna dystrybucja niż α
- czynnik normalizacyjny zapewniający
spełnianie przez p(w|h) aksjomatu sumowania do
jedności, określony jednoznacznie przez α i β:
0),(:
0),(:
)ˆ|(
)|(1
)(
whNw
whNw
hw
hw
h
jest 3-gramem
a jest 2-gramem
Metoda „Floor”
341
N
hwhwNhw
)|(),()|(
N – liczba słów w danych statystycznych
- parametr, często równy liczbie słów w
słowniku
Metoda przeszacowuje
prawdopodobieństwa wydarzeń z małą
liczbą zliczeń.
Przykład
342
ufortyfikowany zamek nierdzewny 3-gram C = 0
ufortyfikowany zamek 2-gram C > 0
zamek nierdzewny 2-gram C > 0
=> wygładzony model „ ufortyfikowany zamek
nierdzewny” P > 0
ciemny zielony materiał 3-gram C = 0
ciemny zielony 2-gram C > 0
zielony materiał 2-gram C > 0
=> wygładzony model „ciemny zielony
materiał” P > 0
Wygładzanie modeli statystycznych
343
Statystyki wyliczone ze zbiorów danych,
opisują ściśle, rzecz biorąc te zbiory a nie
rzeczywistość, jak na przykład język jako
całokształt.
Z tego powodu model n-gramowy można
wygładzić w celu uzyskania większej
efektywności poprzez zmniejszenie zależności
od specyfiki wykorzystanych zbiorów.
Model interpretacji liniowej z parametrem interpolacyjnym
346
Zdefiniujmy parametr
,10
N
)ˆ|(),(
)1()|( hwN
hwNhw
Wówczas otrzymujemy równanie
interpolacyjne Jelinka
gdzie
Małe zliczenia nie są aż tak bardzo
podbijane dzięki interpolacji.
Wygładzanie Katz’a
347
Katz wprowadził ogólną funkcję
dyskontującą
)(: wdwd
i zależną od niej dyskontowaną
masę prawdopodobieństwa
W
w
wdN
dQ1
)(1
][
Równanie wygładzające wygląda
)|(][)(),(
)|( hwdQN
wdhwNhw
Rozkład brzegowy
348
ni = P(X = i).
ni = ∑ P(X = i,Y = j).
j
Rozkład brzegowy podzbioru
zmiennych losowych jest rozkładem
prawdopodobieństw zmiennych
zawartych w tym podzbiorze.
Przykład wyliczania rozkładu brzegowego
349
Prawdopodobieństwo bycia potrąconym pod
warunkiem określonego światła
p(W|S), gdzie W oznacza wypadek, a S
oznacza typ światła na sygnalizatorze.
Wygładzanie Kneser-Ney z rozkładem brzegowym jako ograniczeniem
351
W metodzie Katza, całkowita zniżka powoduje, że
10)(),(
)|(
dN
wdhwNhw gdzie
Zdefiniujmy Maximum Likelihood Estimation (MLE) dla
rozkładu brzegowego
N
hwNhwp
)ˆ,()ˆ|( i
N
ghNhgp
),ˆ()ˆ|(
gdzie połączona liczba wystąpień jest równa
jeśli i 0 w przeciwnym przypadku. Wówczas ),ˆ( ghN )(gN
gh ˆˆ
v vgNhgg
wgNhgg
dvgNvhN
dwgNhwN
hw]]),([),ˆ([
]),([)ˆ,(
)ˆ|(
0),(,ˆˆ:
0),(,ˆˆ:
Leaving-one-out (również Kneser-Ney)
352
Przygotowujemy model korzystając z danych, tak jakby nie
zawierały konkretnego zdarzenia, które wystąpiło tylko raz.
W przypadku n-gramów, wyliczamy model, pomijając na
przykład jeden trigram, który wystąpił w zbiorach tekstów
tylko raz. Następnie wykorzystujemy model, aby estymować
prawdopodobieństwo usuniętego zdarzenia. Procedurę
powtarzamy wielokrotnie używając rożnych trigramów. Suma
logarytmów wszystkich wyliczonych w ten sposób
prawdopodobieństw daje nam logarytm podobieństwa
leaving-one-out, który następnie służy jak kryterium
optymalizacji .)})ˆ|(({)]ˆ|()(ln[
1),(:),(
vgNvg
gvconstgvgF
Trigramy z Dijkstry
Ala
ale ma
ładnego
łapie
następny koszt
ładnego 0.2
łapie 1.1
0.1
1
Koszt „dotarcia” do
poprzedniego węzła
z punku widzenia
wyróżnionego węzła
Koszt dotarcia do
danego węzła w
zależności od
następnego węzła
Wyróżnione trigramy
. Ala ma
Ala ma ładnego
ma ładnego kota
ładnego kota .
koszt = 0.1
. Ala ma ładnego kota . koszt = 0.4
Wyszukiwanie najlepszych ścieżek
3-gram koszt
. Ala ma 0.1
. Ala ładnego 1
następny poprzedni koszt
ładnego . 1
ma . 0.1
Ala ma
ładnego
.
Wyszukiwanie najlepszych ścieżek
3-gram koszt
Ala ma ładnego 0.1
ale ma ładnego 0.1
Ala ma łapie 1
ale ma łapie 1
Ala
ale ma
ładnego
łapie
następny poprzedni koszt
ładnego
Ala 0.1+0.1 = 0.2
ale 1 + 0.1 = 1.1
łapie Ala 0.1 + 1 = 1.1
ale 1 + 1 = 2
0.1
1
Wyszukiwanie najlepszych ścieżek
3-gram koszt
Ala ładnego kota 1
Ala ładnego keta 1
ma ładnego kota 0.1
ma ładnego keta 1
Złamała ładnego kota 1
Złamałą ładnego keta 1 następny poprzedni koszt
kota
Ala 1 + 1 = 2
ma 0.2 + 0.1 = 0.3
Złamała 1 + 1 = 2
keta
Ala 1 + 1 = 2
ma 1 + 1 = 2
Złamała 1 + 1 = 2
Ala
ma
Złamała
kota
keta
ładnego 1
0.2
1
Wyszukiwanie najlepszych ścieżek
3-gram koszt
ładnego kota . 0.1
łapie kota . 1
następny poprzedni koszt
. ładnego 0.3 + 0.1 = 0.4
łapie 2 + 1 = 3
kota .
ładnego
łapie
0.3
2
dodajemy koszt bigramów dla kropki
Wyszukiwanie najlepszych ścieżek
Ala
ale
Złamała
ma kota
keta
.
ładnego
łapie
.
10 węzłów
17 krawędzi
26 możliwych 3-gramów
Funkcja haszująca
362
Funkcja haszująca jest
każdą, dobrze definiowaną
procedurą lub funkcją
matematyczną, która
zamienia dużą ilość
danych, które mogą mieć
niestałą długość, na małą
reprezentację, często w
postaci jednego integera,
który może służyć na
przykład za indeks.