61
304 Syntaktyczne modelowanie języka Bartosz Ziółko Wykorzystano materiały Dawida Skurzoka, MIT i Wikipedii

Syntaktyczne - Zespół Przetwarzania Sygnałów [DSP AGH]dydaktyka:tmosyntaktyczne.pdf · Trigramy z Dijkstry Ala ale ma ładnego łapie następny koszt ładnego 0.2 łapie 1.1 0.1

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

Hierarchia Chomskiego

309

310

MIT

Regina

Barzilay

Michael

Collins

N = noun,

V = verb,

D = determiner

311

312

313

Disambiguity in parsing

314

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

Sekwencje słów są przewidywalne

316

Mathematica demo:

Nonsense sentence generator

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

320 320

Naprawianie n-gram

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 ?,

Histogram n-gramów

330

Przykład wyliczeń modelu n-gramowego

331

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

333

Przykład wyliczeń modelu n-gramowego

334

Algorytm Dijkstry

335

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

Zipf Law

339

Demo Mathematica

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.

Przykład wygładzania modelu n-gramowego Add-one

344

345

Przykład wygładzania modelu n-gramowego Add-one

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.

Przykład wyliczania rozkładu brzegowego

350

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

. ale ma 1

następny poprzedni koszt

ma . 1

ale ma .

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

Rzeczywisty przypadek

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.

Filtr Blooma

363

Podsumowanie

364

Hierarchia Chomskyego

Parser

Tagger

N-gram model

Stosowanie n-gramów

Algorytm Dijkstry

Właściwości n-gramów (Zipf, histogram,

konieczność wygładzania)

Filtr Blooma