Semantyka języka naturalnego

Download Report

Transcript Semantyka języka naturalnego

Metody statystyczne
w inżynierii lingwistycznej, cz.1
listopad, 2005
1
Statystyka a język naturalny
Chomsky, 1969
„It must be recognized that the notion of a ‘probability of a
sentence’ is an entirely useless one, under any interpretation of
this term”
Powszechnie zaakceptowane powinno być stwierdzenie, że
‘prawdopodobieństwo zdania’ jest pojęciem całkowicie
nieprzydatnym, niezależnie od sposobu jego zdefiniowania.
… ale jednak tak nie jest
listopad, 2005
2
Podejście statystyczne



dane: teksty w języku naturalnym
metody analizy: liczenie wyrazów, liter, znaków i ich
sekwencji
możliwe wnioski:
– kolejność słów, stałe frazy (nazwy produktów, firm, ...)
– współwystępowanie słów (np. w tekście, w którym często pojawia się
słowo ‘drzewa’ słowo ‘bal’ ma pewnie znaczenie inne niż w tekście, w
którym występuje często słowo ‘suknia’ czy ‘frak’) - podział tekstów
na kategorie tematyczne
– rozpoznanie języka, w którym jest tekst (nie trzeba mieć słownika),
np. duża liczba słów zaczynających się od wielkiej litery może
sugerować niemiecki, częstotliwość zbitek ‘th’ lub ‘ph’ angielski ...
listopad, 2005
3
Podejście statystyczne, cd.
Przykładowe pytania:
- dokumenty dotyczące pieców
- czasowniki, które łączą się z frazami w bierniku
Wnioski zależne od dostępnych anotacji:
 0 wersja: same słowa
- Znajdujemy tylko wymienione formy
 1 wersja: anotacje morfologiczne wzięte ze słownika, niejednoznaczne:
piec
rzeczownik, r. m3, mianownik,
czasownik, bezokolicznik
- znajdujemy wszystkie formy, ale czasem też formy innych słow (np.
pieczesz)
 2 wersja: anotacje ujednoznacznione (ręcznie lub automatycznie , w
szczególności metodami statystycznymi)
piec czasownik, bezokolicznik chleb rzeczownik, biernik
 3: inne rodzaje anotacji: informacje o granicach zdań, fraz, o strukturze
składniowej
...
listopad, 2005
4
Podejście statystyczne, cd.

Co można osiągnąć?
– anotacje ujednoznacznione znacznie zwiększają skuteczność
wyszukiwania,
np. w odpowiedzi na pytanie ‘mama’ (we wszystkich formach)
nie otrzymamy form czasownika mieć
aby jednak dalej poprawić skuteczność potrzebne są anotacje
semantyczne:
np. ‘serwis’ : porcelanowy, sportowy/giełdowy czy początek gry
– wyszukiwać określonego typu informacje bnez znajomości
dokładnej struktury tekstu
– formułowanie hipotez o budowie tekstu (znajdowanie granic
fraz, zdań, wzorców syntaktycznych)
listopad, 2005
5
Rozstrzyganie niejednoznaczności.
Reguły czy statystyka?

Przykłady problemów - jednoznaczność w kontekście, np.:
– she books, ona pali --> books, pali (?) to czasowniki
–
–
–
–
reguła: jeżeli niejednoznaczne słowo (rzeczownik/czasownik)
poprzedzone jest (zgodnym) zaimkiem, to jest to czasownik
ale nie zawsze, np. przecież ona pali nie przesunęła
niejasne sytuacje:
on pali, nie potnie teraz tych pali
on pali, o ile wiem, nie potnie, pali
pociąć bal -> czasowniki narzucają wymagania na typ obiektów
opisywanych przez ich wymagania
przygotowywać się na bal
podnieść bal
ale: tańczyć na balu
listopad, 2005
6
Rozstrzyganie niejednoznaczności.
Reguły czy statystyka?
Kolejne przykłady :

referencje zaimków (zaimki osobowe wiążą się na ogół z ostatnimi,
pasującymi frazami rzeczownikowymi)
– Marek zobaczył Anię i zawołał ją głośno.
ale nie zawsze:
– Marek zobaczył Anię i zawołał go głośno.
listopad, 2005
7
Postulaty
 Nie
zgaduj, jeśli wiesz
– morfologia (odmiana)
– słowniki (listy słów)
– jednoznaczne nazwy
– być może część stałych fraz
– reguły syntaktyczne??
 Wykorzystuj
statystykę (opierając się o dane rzeczywiste)
dla ustalania preferencji
listopad, 2005
8
Statystyczne podejście do
języka, SNLP

Każdemu zdaniu W = { w1, w2, ..., wn } przypisujemy
prawdopodobieństwo pojawienia się w kontekście X:
p(W|X)

dla każdego kontekstu X porządkujemy zdania ze
względu na to prawdopodobieństwo ich wystąpienia

Sytuacja idealna:
p(W)
najlepsze zdanie w kontekście X
zdania niepoprawne
listopad, 2005
9
SNLP, sytuacja rzeczywista
 Przy
obecnym poziomie rozwoju gramatyk formalnych nie
jesteśmy w stanie opisać dokładnie zbioru poprawnych
zdań języka naturalnego
 jednym z rozwiązań jest wykorzystanie modelu
statystycznego, opartego na DANYCH
RZECZYWISTYCH i rozpatrywać problem „najlepszego
zdania” nie wnikając w jego „gramatyczność”
najlepsze zdanie
p(W)
Wbest
listopad, 2005
Wworst
10
Podstawowe pojęcia, przypomnienie

Prawdopodobieństwo:
p(A)
– powtarzamy eksperyment wiele razy notując ile razy zaszło
zdarzenie A
– powtarzamy serię eksperymentów wiele razy (liczniki - ci)
– Jeżeli powtórzymy eksperyment naprawdę wiele razy, stosunek
ci/Ti (gdzie Ti jest liczbą eksperymentów w i-tej serii) jest bliski
pewnej nieznanej stałej - stałą tę zwiemy prawdopodobieństwem
A.

p: 2 W  [0,1],
W - zbiór wszystkich możliwych zdarzeń
– p(W) = 1, - dla zdarzeń niezależnych: p(Ai) = i p(Ai)
[NB: powyższe trzy warunki to aksjomaty prawdopodobieństwa ]
listopad, 2005
11
Prawdopodobieństwo warunkowe

p(A,B) = p(A  B)

W
W
Prawdopodobieństwo iloczynu:
A
AB
AB
B
Prawdopodobieństwo warunkowe:
p(A|B) prawdopodobieństwo zajścia A pod warunkiem, że zaszło B
p(A|B) = p(A  B) / p(B)
– estymacja na podstawie liczności:
p(A|B) = p(A,B) / p(B) = (c(A  B) / T) / (c(B) / T) = c(A  B) / c(B)
listopad, 2005
12
Prawo Bayes’a

p(A,B) = p(B,A)
bo p(A    p(B  
czyli: skoro p(A|B)=p(A  B) /p(B) to
p(A  B) = p(A|B) p(B)
i
p(A  B) = p(B|A) p(A)
p(A|B) p(B) = p(B|A) p(A)
i
p(A|B) = p(B|A) p(A) / p(B)
p(B|A) = p(A|B) p(B) / p(A)
Powyższa reguła znana jest jako prawo Bayes’a. Pozwala ona
na przechodzenie między prawdopodobieństwami p(A|B) i p(B|A)
w zależności od tego, jakimi danymi dysponujemy
listopad, 2005
13
„Noisy Channel Model”
Zadaniem jest odkodowanie sygnału źródłowego
Input
0,1,1,1,0,1,0,1,...
SOURCE

The
Thechannel
channel
(adds noise)
(adds noise)
Output(noisy)
0,1,1,0,0,1,1,0,...
NOISY CHANNEL  DECODER
word
noisy word
guess at original word
Model to prawdopodobieństwo błędów (szumu):
Przykład: p(0|1) = .25 (otrzymaliśmy 1 a było 0 - czyli prawdopodobieństwo
że było ‘0’ pod warunkiem, ze otrzymaliśmy ‘1’)
p(1|1) = .75 (otrzymaliśmy 1 i było 1)
p(1|0) = .5 (otrzymaliśmy 0, a było 1) p(0|0) = .5
listopad, 2005
14
„Noisy Channel’ - zastosowania

Wiele problemów związanych z NLP może być widziane jako problemy
związane z likwidacją szumów (noisy channel problems), m.in.
– OCR
text  print (adds noise), scan  image
– rozpoznawanie pisma odręcznego
text  neurones, muscles (“noise”), scan/digitize  image
– poprawianie błędów pisowni (spelling correctors)
– rozpoznawanie mowy (dyktowanie, wydawanie poleceń)
text  conversion to acoustic signal (“noise”)  acoustic waves
– ??tłumaczenie maszynowe
text in target language  translation (“noise”)  source language
– tagowanie (Part of Speech Tagging)
sequence of tags  selection of word forms  text
listopad, 2005
15
Wykorzystanie prawa Bayes’a

W przypadku zaszumienia sygnału poszukujemy najbardziej prawdopodobnego
ciągu wejściowego, który mógłby odpowiadać zaobserwowanemu sygnałowi.
Poszukujemy więc:
argmax Source P(Source|Signal)

p(A|B) = p(B|A) p(A) / p(B)
Niestety zwykle brak niezbędnych danych. Jednak:
P (Source|Signal) = P (Signal|Source) P(Source) / P (Signal)
co nam daje:
argmax Source P(Signal|Source)P(Source)
W jaki sposób to nam może pomóc, skoro dysponujemy jedynie
zaobserwowanym sygnałem, a nie znamy sygnału właściwego?
 Wiemy, jaka jest przestrzeń możliwych danych początkowych. Możemy wstawić
każdą z nich do powyższego równania, policzyć prawdopodobieństwa i wybrać
hipotezę o najwyższym prawdopodobieństwie.

listopad, 2005
16
Wykorzystanie prawa Bayes’a do
kontroli pisowni


dane (signal):
słowo źle napisane
rezultat (source): poprawne słowo
Załóżmy, że V jest przestrzenią możliwych słów, w oznacza prawidłowe
słowo, a s błędną jego pisownię
w = argmax wV P(w|s) = argmax wV P(s|w)P(w)

Do policzenia powyższego potrzebujemy:
P(s|w) , P(w),
P(s) - prawdopodobieństwo pojawienia się błędnego słowa s
P(w) - prawdopodobieństwo pojawienia się w tekście słowa w
P(s|w) - prawdopodobieństwo pojawienia się s zamiast w

Rozważmy przykład: w tekście pojawiło się acress zamiast actress ...
musimy policzyć prawdopodobieństwo zrobienia takiego błędu ...
listopad, 2005
17
Rodzaje błędów pisowni
Postulat zbadania częstości występowania konkretnych błędów w
poszczególnych słowach jest nierealistyczny. Nie da się zebrać danych
odpowiedniej wielkości
 Trzeba więc policzyć P(s|w) nie dysponując bezpośrednimi danymi.
 Źródła błędów:

– wstawienie zbędnej litery: ther - the, jeje - jej
– brak litery: ther - there, jj - jej
– zastąpienie prawidłowej litery inną: noq - now,
– zmiana kolejności liter: teh - the, nei - nie
 Wystąpienie słowa acress zamiast actress może być potraktowane jako
błąd braku ‘t’, a więc poszukiwane prawdopodobieństwo to ...
 Należy więc w odpowiednio dużym (niepoprawianym) korpusie policzyć
częstość braku litery ‘t’.
listopad, 2005
18
Metoda Kernighan’a (1990)

Tabela prawdopodobieństw pomyłek (na podstawie korpusu)

P (t|c) =
del[c p-1, cp] / count[c p-1cp] if deletion
 ile razy zamiast c p-1cp wystąpiło c p-1
ins[c p-1, tp] / count[cp-1] if insertion
 ile razy zamiast c p-1 wystąpiło c p-1cp
sub[t p, cp] / count[cp] if substitution
 ile razy zamiast cp wystąpiło t p
trans[c p, c p+1 ] / count[c pcp+1] if transposition
 ile razy zamiast c p-1cp wystąpiło cpc p-1

Przykładowo jeśli chcemy podać prawdopodobieństwo błędu jje
zamiast jej liczymy częstość wystąpienia je zamiast ej.
listopad, 2005
19
Metoda Kernighan’a, cd.

założenie podstawowe: w słowie jest tylko jeden błąd

generujemy wszystkie możliwe pojedyncze błędy dla danego
(błędnego) słowa

wyznaczamy wszystkie możliwe rezultaty tych błędów i sprawdzamy,
które z nich są słowami naszego języka

wyznaczamy prawdopodobieństwo wystąpienia poszczególnych słów

proponujemy słowa w kolejności ich prawdopodobieństw
listopad, 2005
20
Wyniki dla acress zamiast
actress

Korpus 44 milionów słów, poprawka dla słów niewystępujących w
korpusie - dodanie 0.5 do wszystkich częstości
P(c) = (C(c)+0.5) /(N+0.5*V) V- liczba słów w słowniku
c
actress
cress
caress
access
across
acres
acres
listopad, 2005
freq(c)
1343
0
4
2280
8436
2879
2879
p(c)
.0000315
. 00000014
. 000001
.000058
.00019
.000065
.000065
p(t|c)
p(t|c)p(c)
.000117
3.69 x 10 -9
.00000144 2.02 x 10-14
.00000164 1.64 x 10-13
.000000209 1.21 x 10-11
.0000093
1.77 x 10-9
.0000342
2.22 x 10-9
.0000342
2.22 x 10-9
%
37%
0%
0%
0%
18%
21%
21%
21
Podsumowanie metody

Brak wykorzystania kontekstu, np.
a stellar and versatile acress whose... (actress)
 Zamiast obliczania prawdopodobieństwa błędu na podstawie korpusu
ustalenie początkowo wszystkich prawdopodobieństw jako równych i
„uczenie się” na podstawie dostarczanych zbiorów danych (pary słów
błędnych i poprawnych)
 ! Jest (bardzo) wiele sposobów, na jakie można w danej sytuacji
zastosować model Bayesa - zależy to głownie od rodzaju danych jakie
chcemy/możemy zebrać
 Problemy związane z tym podejściem:
– potrzeba istnienia korpusów
– szczególne traktowanie słów, które nie wystąpiły ani razu
listopad, 2005
22
Korekta pisowni - minimalna
odległość edycyjna





Liczenie prawdopodobieństw dla poszczególnych typów błędów (zamian
‘e’ na ‘a’, na ‘s’ itd. Wymaga dużych ilości danych
Uproszczone podejście – uznanie, ze zamian jednej litery na inną
‘kosztuje’ tyle samo niezależnie od kontekstu
można proponować słowa, którym „najbliżej” do tego napotkanego, czyli
do uzyskania ich potrzeba najmniej operacji : usuń literę, dostaw lub
zamień ew. przestaw
ustalany jest koszt poszczególnych operacji, na przykład równo na 1
Przykładowo: aby z ‘laka’ powstała ‘łąka’ wystarczy jedna zamiana, aby
powstała ‘lalka’ czy ‘laska’ jedno wstawienie, a aby otrzymać słowo
‘kalka’ jedno wstawienie i jedno przestawienie
listopad, 2005
23
Minimalna odległość edycyjna
Minimalna odległość edycyjna nazywana jest też odległością Levenshteina –
rosyjskiego naukowca, który zaproponował algorytm w 1965 roku.
int LevenshteinDistance(char str1[1..lenStr1], char str2[1..lenStr2])
// d is a table with lenStr1+1 rows and lenStr2+1 columns
declare int d[0..lenStr1, 0..lenStr2] // i and j are used to iterate over str1 and
str2
declare int i, j, cost
for i from 0 to lenStr1 d[i, 0] := i
for j from 0 to lenStr2 d[0, j] := j
for i from 1 to lenStr1
for j from 1 to lenStr2
if str1[i] = str2[j] then cost := 0 else cost := 1
d[i, j] := minimum( d[i-1, j ] + 1, // deletion
d[i , j-1] + 1, // insertion
d[i-1, j-1] + cost // substitution )
return d[lenStr1, lenStr2]
listopad, 2005
24
Problemy
Problemy z często pomijanymi polskimi diakrytami:
dac
 propozycje Word MS: dach, dacz, dąć, dać, Ac
dąc
 propozycje Word MS (słowo nie występuje w jego słowniku):
idąc dmąc drąc dać dąć
Problemy ze słowami, które są poprawne, ale miały być inne:
dal zamiast dla lub dał
Potrzebny kontekst:
kwiaty dla mamy/ kwiaty dał mamie/ kwiaty w dal mamy wysłać
listopad, 2005
25
Automaty z prawdopodobieństwem,
rozpoznawanie mowy

Jeżeli założymy, że reprezentacja wymowy jest niestandardową
pisownią możemy rozpoznawanie mowy potraktować jako szczególny
przykład ‘korektora’ pisowni

Do rozpoznawania mowy konstruujemy automat, w którym
– stany reprezentują elementy wejścia (phones, letters, etc).
– przejścia wzbogacone są o prawdopodobieństwa mówiące jakie
jest jego prawdopodobieństwo, Suma prawdopodobieństw na
przejściach wychodzących z jednego stanu musi wynosić 1
– z uwagi na tradycję symbole zgodnie z którymi dokonywane są
przejścia przypisywane są do stanów, a nie samych przejść
– Ponieważ analizujemy tekst w języku naturalnym ograniczymy
automaty do takich, w których wszystkie przejścia prowadzą „w
przód”
listopad, 2005
26
Prob, FSA, modele słów
Automat rozpoznający wymowę słowa ‘need’
start 
...
n1

n

a14=.11
iy2

 .89
iy
d3 

d
end
...
Observation Sequence (phone symbols)
listopad, 2005
27
Wykorzystanie
probabilistycznych FSA
Wykorzystując probabilistyczne FSA możemy odpowiedzieć
na pytania:




jakie jest prawdopodobieństwo wygenerowania konkretnego
wyrażenia?
Jaka jest najbardziej prawdopodobna ścieżka przejścia dla
danego wyrażenia ?
Jaki jest najbardziej prawdopodobny rezultat (wyjście) dla
danego wejścia?
Jak przypisać prawdopodobieństwa do przejść? (??)
listopad, 2005
28
Model Bayesa dla wymowy
Zadanie:
na podstawie serii fonemów obliczyć najbardziej prawdopodobne
słowo, które im odpowiada (założymy chwilowo, że fonemy te są
prawidłowo rozpoznane i że znamy granice słowa)
Przykład:
 założymy, że rozpatrywaną sekwencją jest [ni]

korpus mówionego języka angielskiego (Switchboard Corpus) podaje
następujące słowa, których wymowa jest [ni]:
– the, neat (neat little), new (New York), need, knee, to (talking to
you) , you !
 Wybór zgodnie z regułą
w’ = argmax wW P(y|w) P(w)
y= [ni], w -jedno z 7 słów

Jak wyznaczyć p(y|w) ?
listopad, 2005
29
Reguły probabilistyczne

Propozycja 1: analogicznie jak dla błędów pisowni (tabele
częstości pojedynczych błędów (dla pisowni były to: zamiana,
opuszczenie, wstawianie, przestawienie kolejności)
– przeszkoda: zmian wymowy może być w jednym słowie wiele, są od
siebie zależne (dotyczą nie tylko jednego fonemu)

Idea: reguły probabilistyczne
przykład: reguła, która mówi, że po wyrazie zakończonym na ‘n’, lub ‘m’
(głoska nosowa) słowo the może być wymówione jako [ni] (a dokładniej
dźwięk [] może być zastąpiony przez [n]):
  n / [+nasal]# __
zmiana ta nie zachodzi jednak zawsze:
[.15]   n / [+nasal]# __
– Jak ustalić wartość [.15]? - odpowiedź: na podstawie korpusu
listopad, 2005
30
Przykład, I need, cd.
Słowo
the
neat
need
new
reguła
nasal assimilation
pominięcie końcowego ‘t’
pominięcie końcowego ‘d’
zmiana ‘u’ przed ‘y’
w
freq(w) p(w)
knee
61
0.00024
the
115
0.046
neat 338
0.00013
need 1417
0.00056
new 2625
0.001
P
  n / [+nasal]# __
t   / V __ #
d   / V __ #
u  i / __ #y
p(y|w)
1
0
0.52
0.11
0.36
[.15]
[.52]
[.11]
[.36]
p(y|w)p(w)
0.000024
0
0.000068
0.000062
0.00036
Poprawa wyniku - uwzględnienie kontekstu (np. bigramy)
listopad, 2005
31
Słowa w kontekście
Reżyser nie podał żadnych konkretów związanych z realizacją
…filmu. Nie wiadomo, kiedy rozpoczną się …zdjęcia, ani też
kiedy dzieło miałoby wejść na …ekrany
W wielu przypadkach jesteśmy w stanie przewidzieć kolejne słowo (a
przynajmniej klasę do jakiej należy)

Rodzaje zasobów wiedzy, z której korzystamy:
– wiedza ogólna o świecie i dotycząca konkretnej dziedziny
– wiedza syntaktyczna
– wiedza leksykalna
listopad, 2005
32
Słowa w kontekście

Postulat:
Dużą część wiedzy niezbędnej do przewidywania możliwego dalszego
ciągu wypowiedzi możemy analizować korzystając z metod
statystycznych.
W szczególności możemy mówić o prawdopodobieństwie zdania
(wypowiedzi)

Czy rzeczywiście chcemy przewidywać jakie będzie następne słowo?
NIE, ale jeżeli umiemy to zrobić, to znaczy, że umiemy porównywać
prawdopodobieństwa pewnych połączeń - umiemy oceniać
prawdopodobieństwo/poprawność zdania.
np. Przy analizie mowy możemy ocenić która z naszych hipotez jest
najbardziej prawdopodobna
listopad, 2005
33
Rzeczywiste błędy pisowni

Wiadomo, że pewne typy błędów prowadzą do słów, które występują w
słowniku (wykrycie ich wymaga uwzględniania kontekstu); sposób
traktowania takich błędów, np.
– budowa listy często mylonych słów: piece/peace, whether/weather/,
their/there etc.
– Jeżeli w zdaniu występuje któreś z często mylonych słów -
konstrukcja alternatywnego zdania,
– zbadanie prawdopodobieństwa konkurencyjnych zdań i wybór słowa,
które wchodziło w skład zdania o większym prawdopod.
– np.: ... blah blah blah the whether... vs blah blah blah the weather...

Prawdopodobieństwo zdania może być widziane jako iloczyn
prawdopodobieństwa słów, w nim występujących, np.
P(The big cat)= P (the ^ big ^ cat)
listopad, 2005
34
Łańcuchy (Chain Rule)
Przypomnijmy definicję prawdopodobieństwa warunkowego:
p(A|B) = p(A^B) / p(B)
czyli p(A ^ B) = p(B|A) p(A) tzn.

p(The ^ dog) = p(dog|the) p(the)
W ogólności:
p(A1, A2, A3, A4, ..., An) =
p(A1|A2,A3,A4,...,An)  p(A2|A3,A4,...,An) 
p(A3|A4,...,An)  ... p(An-1|An)  p(An)

!
inaczej
p(wn1) = p(w 1 )p(w2 | w1) p(w3 |w21) ... p(wn | wn-11)
= n k=1 p(wk | wk-11)
(reguła łańcucha to bezpośrednia konsekwencja reguły Bayesa)
listopad, 2005
35
„Złota reguła ...”
OCR, ASR,
MT,MT,
... ...
OCR,
ASR,HR,
HR,
p(A|B) = p(B|A) p(A) / p(B) (formuła Bayesa)
Abest = argmaxA p(B|A) p(A) („złota zasada”)
 p(B|A): model akustyczny, leksykalny, ... (nazwa zależna od
aplikacji)
 p(A): model języka
W statystycznych aplikacjach dotyczących języka naturalnego
wiedza o źródle danych nazywana jest częściej modelem języka
(Language Model) niż gramatyką.
listopad, 2005
36
Idealny model języka
Język to ciąg form wyrazowych.
 notacja: A W = (w1,w2,w3,...,wd)
 zadanie (cel modelowania):
p(W) = ?
Oczywiście jest reguła:
p(W) = p(w1,w2,w3,...,wd) =
= p(w1)  p(w2|w1)  p(w3|w1,w2) ... p(wd|w1,w2,...,wd-1)
ale niezbyt praktyczna -> zbyt wiele parametrów nawet przy
małym d
listopad, 2005
37
Łańcuchy Markova
 W idealnym
modelu - pamięć nieskończona:
– dla wi, znamy wszystkich poprzedników w1,w2,w3,...,wi-1
 Przybliżanie
- założenie Markova:
P (w n | wn-11)  P (w n | wn-1n-N+1) ,
(robimy założenie, które umożliwia nam zbieranie statystyk)
tzn. pamięć ograniczona:
– zapominamy o „zbyt dawnych” poprzednikach
– pamiętamy tylko kilka (k) poprzedzających słów :
wi-k,wi-k+1,...,wi-1
– metoda ta nazywana jest aproksymacją Markova k-tego rzędu
– “kth order Markov approximation”
listopad, 2005
38
Łańcuchy Markova, bigramy
 pełny
wzór:
P (wn1) = P (w 1) P(w 2 | w 1 ) P(w 3 | w 12)... P(w n | w 1n-1)
=
 P(w k | w 1k-1)
k=1..n
 przybliżenie
- założenie Markova:
P (w n | wn-11)  P (w n | wn-1n-N+1)
 założenie
(N- rząd)
Markova dla bigramów
P (wn1)   P(w k | w k-1)
k=1..n
listopad, 2005
39
Łańcuchy Markova, bigramy
: P(w k | w k-1) na podstawie częstości w korpusie
treningowym
 Estymacja
P (w n | wn-1) = c(w n-1 wn) / 
w
c(w n-1 w) =
= c(w n-1 wn) / c(w n-1)
ogólnie:
P (w n | wn-N+1n-1) = c(w n-N+1n-1 wn) / c(w n-N+1n-1)
powyższy stosunek nazywany jest częstością względną i jest
przykładem metody Maximum Likehood Estimation (MLE)
ponieważ wyliczony parametr jest takim, przy którym zgodność
ze zbiorem testowym przy zadanym modelu jest największa
listopad, 2005
40
Przykłady

x-Gramy
– unigrams: (bez pamięci)
P(dog),
P(sen)
– bigramy: (pamięć jednego słowa)
P(dog|big),
P(sen|kolorowy)
– trigramy: (pamięć dwóch sów)
P(dog|the big)
– quadrigramy:
P(sen|nienaturalnie kolorowy)
(pamięć trzech słów)
P(dog|the big bad)
listopad, 2005
P(sen|bardzo nienaturalnie kolorowy)
41
Przykład systemu
„Berkeley restaurant project”
Prawdopodobieństwa poszczególnych ciągów słów mogą być
przybliżane przez liczebności w odpowiednio dużym korpusie.
system odpowiada na pytania dotyczące restauracji w Berkeley,
California korzystając z odpowiedniej bazy danych
 przykładowe pytania:
I’m looking for Cantonese food.
I’d like to eat dinner someplace nearby.
Tell me about Chez Panisse.
Can you give me a list of the kinds of food that are available?
When is cafe Venezia open during the day?
 Korpus ok. 10 000 zdań, 1616 form wyrazowych

listopad, 2005
42
BERP, bigramy
Counts
I
I
8
want
3
to
3
eat
0
Chinese
2
food
19
lunch
4
Probs
I
I
.0023
want
.0025
to
.00092
eat
0
Chinese .0094
food
.013
lunch
.0087
listopad, 2005
want
1087
0
0
0
0
0
0
want
.32
0
0
0
0
0
0
to
0
786
10
2
0
17
0
to
0
.65
.0031
.0021
0
.011
0
P (w n | wn-1) =c(w n-1 wn) / c(w n-1)
eat
13
0
860
0
0
0
0
eat
.0038
0
.26
0
0
0
0
Chinese food
lunch
0
0
0
6
8
6
3
0
12
19
2
52
0
120
1
0
0
0
0
1
0
Chinese
0
.0049
.00092
.020
0
0
0
food
lunch
0
0
.0066 .0049
0
.0037
.0021 .055
.56
.0047
0
0
.0022 0
43
 uni.
3437
1215
3256
938
213
1506
459
Prawdopodobieństwo zdania
Prawdopodobieństwa policzone z danych:
eat on (on|eat)
- 0.16 eat at
eat some - 0.06
eat Indian eat lunch - 0.06
eat Thai <s> I
- 0.25
I want
- 0.32
British food- .6
want to
to eat
-
0.04
0.04
0.03
.65
.26
Wyliczone prawdopodobieństwo zdania:
P(I want to eat British food) = 0.000016
P(I|<s>) P(want|I) P(to|want) P(eat|to) P(British|eat) P(food|British)
(z uwagi na małe liczby operujemy zwykle na logarytmach)
listopad, 2005
44
Kilka uwag o podanych liczbach:

Częste połaczenia:
P (want|I) = .32 P (to|want) = .65 P (eat|to) = .26
P (food|chinese) = .56 P (lunch|eat) = .055

Rzadkie połączenia:
P (I|I)
P (I|want) P (I|food)

ale nie niemożliwe:
P (I|I) I I I I want...
P (I|want) I want I want
P (I|food) the kind of food I want is...
listopad, 2005
45
N-gramowe modele języka
n-gram Language Models

Aproksymacja Markova (n-1)th rzędu  n-gram LM:
p(W) df i=1..dp(wi|wi-n+1,wi-n+2,...,wi-1)

W szczególności (przy słowniku |V| = 60k):
– 0-gram LM: uniform model,
p(w) = 1/|V|,
– 1-gram LM: unigram model,
– 2-gram LM: bigram model,
– 3-gram LM: trigram model,
listopad, 2005
1 parametr
p(w),
6104 parametry
p(wi|wi-1)
3.6109 parametry
p(wi|wi-2,wi-1) 2.161014 parametry
46
Kilka uwag - wnioski

niewielka liczba zdarzeń występuje z dużą częstością

duża liczba zdarzeń występuje z niska częstością.

! Można szybko zebrać dane dotyczące dużych częstości

! Zebranie danych dotyczących niskich częstości może trwa zbyt długo

! Zera pojawiające się w tabelach są dwojakiego rodzaju:
– rzeczywiste 0
– 0 wynikające ze zbyt małej próby
listopad, 2005
47
Przykład - aproksymowanie
Shakespeara

Unigramy
Every enter now severally so, let.
Hill he late speaks; or! a more to leg less rest you enter.
 Bigramy
What means, sir. I confess she? then all sorts, he is trim, captain.
Why dost stand forth thy canopy, forsooth; he is this palpable hit the
King Henry.
 Trigramy
Sweet prince, Falsta shall die.
This shall forbid it should be branded, if renown made it empty.
Indeed the duke; and had a very good friend.
Fly, and will rid me these news of price.
listopad, 2005
48
Przykład, aproksymowanie
Shakespeara, cd.

Quadrigrams
What! I will go seek the traitor Gloucester.
Will you not tell me who I am?
It cannot be but so.
They say all lovers swear more performance than they are wont to
keep obliged faith unforfeited!
 Proza Shakespeare zawiera 884,647 elementów, 29,000 form; 300,000
bigramów z 844,000,000 możliwych
99.96% bigramów nie występuje wcale


!
Dla 4-elementowych ciągów ten procent jest jeszcze większy -> wyniki
generowania przypominają teksty Shakespeara, bo z nich
bezpośrednio pochodzą.
! Problemy wynikają z liczebności 0
listopad, 2005
49
N-gramy, problem zerowych
wystąpień
– w przypadku generowania tekstów jesteśmy ograniczeni tylko do
tych n-gramów, które wystąpiły w analizowanym korpusie; przy
dostatecznej wielkości korpusu ograniczenie to ma niewielkie
znaczenie praktyczne;
– przy analizie system przypisuje zerowe prawdopodobieństwa
wyrażeniom, które zawierają takie elementy, które nie wystąpiły w
korpusie - tak być nie może.

Metody „obejścia” problemu
– nie wykorzystywać n-gramów wyższego rzędu
– wprowadzenie poprawek do modelu - wygładzanie (smoothing)


zmniejszeni liczności n-gramów, które wystapiły na rzecz tych,
które nie wystąpiły (metody: Witten-Bell)
środki matematyczne (backoff (Katz Backoff), interpolacja)
listopad, 2005
50
Prawo Zipf’a
Wbrew intuicjom wielu osób traktujących język jako coś
nieprzewidywalnego, teksty w języku naturalnym podlegają różnym
zależnościom ilościowym.

Niech c(w) będzie częstością słowa w, tzn. liczbą jego wystąpień w pewnym
tekście. Numer porządkowy słowa w na liście posortowanej malejąco według
częstości nazywamy jego rangą i oznaczamy przez r(w). Prawo Zipfa głosi,
że częstość jest w przybliżeniu odwrotnie proporcjonalna do rangi, czyli:
c(w)  A / r(w),
gdzie A jest stała empiryczną. (dla tekstów angielskich A wynosi około 0,1)

Z powyższego równania wynika wprost, że r(w) * c(w) A

Z prawa Zipfa wynika reguła : "W przeciętnym zbiorze tekstów około połowa
słów pojawia się tylko raz.".
listopad, 2005
51
Prawo Zipf’a a przydatność słów
dla indeksowania

Zarówno słowa występujące bardzo często, jak i te występujące bardzo
rzadko, są mało przydatne z punktu widzenia indeksowania, Luhn (1958).
listopad, 2005
52
Prawo Zipf’a a korpus Brown’a
Warto zauważyć,
że na wykresie w
skali logarytmicznej punkty
(r(w), c(w))
leżą w przybliżeniu na jednej linii
prostej.
listopad, 2005
k = 100,000
53
Prawo Zipf’a a sieć Web

Rozkład Zipf’a charakteryzuje m.in.:
– występowanie słow w tekście w języku naturalnym
– liczbę powiązań do i ze strony www
– długość stron www
– rozkład zarobków
– siłę trzęsień ziemi
listopad, 2005
54
Przykładowe liczności dla niewielkich tekstów
w języku polskim
``Awantura o Basię'' (AwoB0 - połowa I rozdziału, AwoB1 to rozdziały I-V, a AwoB2 to cała
powieść), ``Bezgrzeszne lata'' (BL1, dwa pierwsze rozdziały) oraz zbiór 20 krótkich notatek
z Tygodnika Finansowego z 2003 roku (TgF).
AwoB1 AwoB2 BL AwoB0 TgF
liczba form
5138
11492 3256
942 592
liczba wystąpień
14614 42994 7687
1686 1232
liczba słów gdzie c(w) >=1 1567
3979 846
r(w) AwoB1 c(w) AwoB2 c(w)
1
i
2
się
3
nie
4
na
5
w
6
z
7
że
8
to
9
do
10
pan
listopad,
2005
20
ją
349
348
329
266
254
227
196
179
168
116
68
się
i
nie
w
na
z
że
to
do
pan
tak
BL c(w ) TgF
1052
i 265
w
1038
się 202
na
907
nie 168 akcji
768
w 160
do
767
na 120
z
744
z 117 hoop
490
to 93
zl
456
że 87 akcje
436
jak 71
się
325
jest 67 spółki
186 jednak 34
c(w)
53
38
20
20
19
15
15
14
14
14
55
listopad, 2005
Dziękuję za uwagę.
56