8 Lexical Acquisition

Transkrypt

8 Lexical Acquisition
8
Lexical Acquisition
Kilka definicji na początek:
• Language acquisition - nauka/przyswajanie języka, odkrywanie własności słów.
• Lexicon - rozszerzony słownik, sformatowany tak aby komputery mogły z niego korzystać
Jednym z podstawowych zastosowań jest uzupełnianie luk w istniejących
słownikach. Większość słowników pisana jest dla ludzi a nie dla komputerów. Dodatkowo wpisy w słownikach są nie kompletne. Język jest bardzo
produktywny. Cały czas wymyślamy nowe słowa, lub nowe zastosowania do
istniejących już słów. Jeżeli nawet uda nam się dzisiaj stworzyć kompletny
słownik, za kilka miesięcy będzie już częściowo nieaktualny.
Niektóre teorie zakładają, że cała wiedza lingwistyczna to wiedza o słowach.
8.1
Evaluation Measures
Dla wielu problemów mamy dwa zbiory: set of targets (zbiór celów, np.
powiązane dokumenty, zdania w których słowo ma określone znaczenie) oraz
set of selection (konsekwentnie z poprzednim przykładem, zbiór wskazań systemu, czyli dokumenty które system uznał za ważne oraz zdania w których
sądzi że słowo ma określone znaczenie):
Otrzymujemy macierz przypadków:
System
target
selected
true positive (tp)
¬ selected false negative (fn) (type I errors)
1
¬ target
false positive (fp) (type II errors)
true negative (tn)
Precyzja:
P =
tp
tp + f p
Precyzja mierzy proporcję pomiędzy wybranymi a wybranymi poprawnie
przypadkami.
Recall:
R=
tp
tp + f n
Recall mierzy proporcję pomiędzy celem a wybranymi przypadkami
Fallout:
φ=
fp
f p + tn
Fallout mierzy proporcję pomiędzy przypadkami poza celem, a błędnie wskazanymi
Dla łatwiejszej oceny, można połączyć precyzję i recall w jedną miarę:
F =
α P1
1
+ (1 − α) R1
gdzie:
• P - precyzja
• R - recall
• α - pozwala określić co jest ważniejsze, P czy R, dla α = 0.5 traktujemy
je jak tak samo istotne wówczas wzór się upraszcza:
F =
8.2
2P R
R+P
Verb Subcategorization
Subcategorization frame - zbiór syntaktycznych kategorii w których
czasownik może wystąpić. Używamy nazwy ”subcategorization” ponieważ
możemy myśleć o czasownikach z określonym zbiorem semantycznych argumentów jako o jednej kategorii. Każda taka kategoria może mieć kilka podkategorii zbudowanych przy użyciu innych składniowych znaczeń. Przykład:
2
Frame
Functions
NP
subject
NP NP S subject, object, clause
NP NP
subject, object
Verb
walk
tell
find
Example
She walked.
She told [the man] [where Peter grew up.]
She found [the place [where Peter grew up.]]
Znając odpowiednie ramki możemy w 2 zdaniu wyrażenie ”where Peter grew
up” połączyć z told, a w 3 przykładzie z ”the place”. Niestety mało słowników
podaje tego typu informacje.
W 1993 Brent zaproponował prosty algorytm na pod-kategoryzacje (zaimplementowany w systemie ”Lerner”). Przypuśćmy, że chcemy zdecydować
(bazując na korpusie) czy czasownik v ma ramkę f . Decyzja odbywa się w
dwóch krokach:
• Wskazówki: Definiujemy wzór słowa i syntaktycznej kategorii, który wskazuje wystąpienie ramki z wysokim prawdopodobieństwem. Dla
wskazówki cj określamy prawdopodobieństwo błędu ξj , czyli jak prawdopodobna jest pomyłka, jeżeli przypiszemy ramkę f czasownikowi v
bazując na wskazówce cj
Wzór którego użył Brent dla ramki NP NP:
(OBJ|SU BJ OBJ|CAP )(P U N C|CC)
gdzie:
– OBJ - zaimki osobowe, np: me, him
– SUBJ OBJ - może być zarówno podmiot jak i dopełnienie np: you,
it
– CAP - słowo pisane dużymi literami
– PUNC - znak interpunkcyjny
– CC - łącznik np: if, as, before
Jest małe prawdopodobieństwo błędnego dopasowania. Przykład:
zdanie pasujące do ramki: ... greet Peter, ... (V CAP PUNC)
zdanie błędnie pasujące do ramki: I came Thursday, before the
storm started. (V CAP PUNC) (Thusday nie jest dopełnienie, to
okolicznik)
• Testowanie hipotez. Zakładamy że ramka jest niepoprawna dla czasownika (hipoteza H0 ). Mając zdefiniowane wskazówki możemy analizować korpus. Dla każdej kombinacji czasownik-ramka zliczmy ile razy
3
wzór się dopasował do czasownika. Przypuśćmy, że czasownik v i wystąpił n razy w korpusie. Zaobserwowaliśmy m ¬ n wystąpień wskazówki
dla ramki f j . Możemy odrzucić H0 , z następującym prawdopodobieństwem błędu:
pE = P (v i (f j ) = 0|C(v i , cj ) ­ m) =
n
X
r=m
!
n r
ξ (1 − ξj )n−r
r j
gdzie
– v i (f j ) = 0 - czasownik v i nie występuje z ramką f j
– C(v i , cj ) - liczba wystąpień v i ze wskazówką cj
– ξj - błąd wskazówki
Wyniki (zwłaszcza precyzja) są wysokie, około 100%, mniejszy jest recall.
Wysoka precyzja i niski recall są konsekwencją wykorzystania testowania
hipotez. Znajdujemy tylko podkategorię które są dobrze przetestowane. To
znaczy, że znajdujemy mało przypadków, które są rzadkie. Manning (1993)
zaproponował aby najpierw uruchomić na danych tagger, co zwiększy ilość
wskazówek. Przykładowe błędy pojawiają się np. z wyrażeniami przyimkowymi:
• bridge between
• retire in
Książka tłumaczy to tym, że ciężko jest rozróżnić czy są okolicznikami, czy
należą do jakiejś kategorii.
8.3
Attachment Ambiguity
Jeżeli chcemy określić składniową strukturę zdania (rozkład logiczny?)
częstym problemem są niejednoznaczności. Problem będzie bliżej opisany w
rozdziale 12. Ogólnie podczas analizy tworzone jest drzewo i są wyrażenia,
które mogą być podłączone do więcej niż jednego węzła. Przykład:
The children ate the cake with a spoon.
Zdanie może oznaczać, że dzieci jadły ciasto łyżką, lub że zjadły ciasto z
dołączoną łyżką. Jak rozwiązywać takie niejednoznaczności? W przykładzie z
łyżką, wiedząc, że jest to narzędzie służące do jedzenia ciasta możemy wybrać
4
bardziej prawdopodobną wersję. Okazuje się, że polegając na prostej analizie statystycznej można rozwiązać większość tego typu problemów. Przykład:
Moscow sent more than 100,000 soldiers into Afghanistan
W korpusie znajdziemy dużo przypadków w których ”into” jest używane
wraz z ”send”, a tylko kilka w których występuje wraz z ”soldiers”. Rozważmy
następujący wzór:
P (p|v)
λ(v, n, p) = log
P (p|n)
gdzie:
• P (p|v) to prawdopodobieństwo zaobserwowania przyimka p po czasowniku v
• P (p|n) to prawdopodobieństwo zaobserwowania przyimka p po rzeczowniku n
Dla λ > 0 możemy dołączać do czasownika, dla λ < 0 do rzeczownika.
Rozważmy kolejny przykład:
Chrysler confirmed that it would end its troubled venture with Maserati
Przyimek ”with” pojawia się często zarówno po ”end” (the show ended
with song) i ”venture”. W książce przeprowadzono analizę na korpusie ”New
York”:
słowo
end
venture
częstość słowa częstość pary
5156
607
1442
155
Czyli:
155
607
= 0.118 > 0.107 =
= P (p|n)
5156
1442
Jak widać, prosty model nie zawsze się sprawdza :/
P (p|v) =
8.3.1
Hindle and Rooth
W tym podrozdziale będziemy rozważać model zaproponowany przez Hindlea i Rootha (1993). Rozważmy wyrażenia postaci ”v...n...PP” (v - czasownik, n - rzeczownik, PP - wyrażenie przyimkowe). Będziemy zadawać pytanie,
5
czy bardziej prawdopodobne jest dołączenie danego przyimka do czasowników czy do rzeczowników.
VA: czy jest wyrażenie przyimkowe poprzedzone przez przyimek p i poprzedzające czasownik v, które łączy się z tym czasownikiem? (VA = 1),
jeżeli nie (VA = 0)
NA: czy jest wyrażenie przyimkowe poprzedzone przez przyimek p i i
poprzedzające rzeczownik n, które łączy się z tym rzeczownikiem n? (NA =
1), jeżeli nie (NA = 0)
Ze względu na ogólność pytań, może się zdarzyć, że na oba pytania odpowiemy twierdząco. Taka sytuacja zajdzie między innymi dla zdania:
He put the book [on World War II] [on the table].
Chcemy obliczyć prawdopodobieństwo dołączenia wyrażenia przyimkowego (PP) do czasownika (v) i rzeczownika (n), warunkowane przez v i n.
P (V Ap , N Ap |v, n) = P (V Ap |v, n)P (N Ap |v, n) = P (V Ap |v)P (N Ap |n)
Jak widać, zakładamy dodatkowo niezależność dwóch przyłączeń. Jeżeli czasownik łączy się z wyrażeniem przyimkowym, nie zależy to od rzeczownika
i odwrotnie. Początkowo to założenie może wydawać się nieintuicyjne, sam
problem był przedstawiany jako wybór pomiędzy jedną a druga możliwością,
jednak w tym modelu obie sytuacje mogą być prawdziwe.
Przypuśćmy, że chcemy oszacować przyłączenie pierwszego PP do rzeczownika n. Otrzymamy następujący wzór:
P (Attach(P ) = n|v, n) = P (V Ap = 0∨V Ap = 1|v)·P (N Ap = 1|n) = 1·P (N Ap = 1|n)
Nie musimy zastanawiać się czy VA=0 czy VA = 1, ponieważ mogą być inne
wyrażenia przyimkowe dotyczące czasownika, których tutaj nie bierzemy pod
uwagę. Jeżeli VA = 1 i NA = 1 to i tak nie może zachodzić P (Attach(P ) = v.
Dlaczego? Jeżeli zarówno VA = 1 i NA = 1, to w zdaniu mamy dwa PP
(nie można dołączać jednocześnie do v i do n). Pierwszy z PP musi być
dołączony do n, ponieważ nie możemy mieć krzyżującej się struktury zdania.
Dla czasownika jest odwrotnie, VA = 1 i NA = 0:
P (Attach(P ) = v|v, n) = P (V Ap = 1, N Ap = 0|v, n) = P (V Ap = 1|v)P (N Ap = 0|n)
Możemy teraz zapisać:
λ(v, n, p) = log2
P (V Ap = 1|v)P (N Ap = 0|v)
P (Attach(p) = v|v, n)
= log2
P (Attach(p) = n|v, n)
P (N Ap = 1|n)
6
Do obliczeń będziemy stosować następujące wzory:
P (V Ap = 1|v) =
C(v, p)
C(v)
C(n, p)
C(v)
gdzie C(v) i C(n) to ilość wystąpień c i v, a C(v, p) i C(n, p) to ilość przyłączeń odpowiednio do p i v w korpusie. Kolejnym jednak problemem jest
oszacowanie tej pary wartości na nieetykietowanym korpusie.
P (V Ap = 1|n) =
Zaproponowane rozwiązanie:
1. W pierwszym kroku określ jednoznaczne podłączenia. Np.
The road to London is long and winding.
2. Użyj modelu dla przypadków niejednoznacznych, jeżeli λ > 2.0 dla
czasowników, lub λ < −2.0 dla rzeczowników.
3. Rozdziel równomiernie pozostałe przypadki.
Przykład:
Moscow sent more then 100,000 soldiers into Afghanistan.
P (V Ainto = 1|send) =
86
C(send, into)
=
= 0, 049
C(send)
1742, 5
C(soldiers, into)
1
=
= 0, 0007
C(soldeirs)
1478
0, 049 · 0, 9993
λ(send, soldiers, into) = log2
= 6, 13
0, 0007
Czyli połączenie z czasownikiem jest około 70 razy bardziej prawdopodobne.
P (N Ainto = 1|soldiers) =
8.3.2
General remarks on PP attachment
Powyższy model ma kilka ograniczeń. Analizuje on tylko trójkę v,n,p.
Celność ludzi zwiększa się o około 5% jeżeli dostają dodatkowe informacje.
Przykład pary takich zdań.
I examined the man with a stethoscope.
I examined the man with a broken leg.
7
Other attachment issues
Attachment ambiquity nie dotyczy tylko wyrażeń przyimkowych, ale także ”noun compounds” (rzeczowników złożonych). Problem ten nie jest dogłębnie opisany, a tylko wspomniany. Wyrażenie zawierające trzy lub więcej
rzeczowniki ma strukturę ”left-branching” - [[door bell] manufacturer], lub
”right branching” [women [aid worker]]. Left-branching jest podobne do dołączenia wyrażenia przyimkowego do czasownika, right-branching do rzeczownika. Możemy więc stosować podobny formalizm, jednak problemem mogą
być bardziej rozrzucone dane. Na koniec kolejne zdanie:
We have not signed a settlement agreement with them.
Wyrażenie przyimkowe powinno być dołączone zarówno do rzeczownika i
do czasownika.
8.4
Selectional Preferences
Większość czasowników preferuje argumenty o określonym typie. Takie
ograniczenia nazywamy ”selectional preferences” lub ”selectional restrictions”.
Np. dopełnieniem czasownika ”eat” powinno być jedzenie, podmiotem ”bark”
powinien być pies. Nie są to oczywiście zasady które muszą być zawsze spełnione, ale sytuacje w ogólności najbardziej prawdopodobne. Metafory postaci ”fear eats the soul” są także poprawne. Jakie to może mieć zastosowanie
praktyczne? Przykład:
Susan had never eaten a fresh durian before.
Jeżeli w słowniku nie ma słowa ”durian”, korzystając z powyższych zasad,
możemy przypuszczać, że ”durian” to rodzaj jedzenia (w rzeczywistości jest
to owoc).
Ograniczenia te mogą także służyć do tworzenia rankingów podczas parsowania zdań. Jeżeli czasownik łączy się ze swoim naturalnym dopełnieniem,
wówczas otrzyujemy wyższy wynik.
Model Resnik (1993,1996)
Bierzemy pod uwagę tylko czołowy rzeczownik, np. apple w wyrażeniu
Susan ate the green apple Nie będziemy analizować poszczególnych rzeczowników, tylko ich klasy. Selectional preference strength - określa jak silne
8
są ograniczenia
S(v) = D(P (C|v)||P (C)) =
X
P (c|v)log
c
P (c|v)
P (c)
gdzie
• P (C) to prawdopodobieństwo klas (wszystkich) C
• P (C|v) prawdopodobieństwo warunkowe, dla czasownika v
• iterujemy po wszystkich klasach
Na podstawie selectional preference strength, definiujemy selectional association: pomiedzy czasownikiem v i klasą c (pojedyncza klasa):
A(v, c) =
P (c|v)log PP(c|v)
(c)
S(v)
Dla rzeczowników o kilku klasach, wybierz największą wartość:
A(v, n) = maxc∈classes(n) A(v, c)
Przykład dla krzesła:
Co może powodować błędy? Wybieramy maksymalną wartość, przykładowo ”hear story” i ”hear issue”. Zarówno ”story” i ”issue” należą do klasy:
komunikacja. Model może wybrać rzadszą interpretację (”issue”)
Na koniec jeszcze jedno zastosowanie. Model zaproponowany przez Resinka może być wykorzystany również dla określenia czy czasownik ma tzw.
”implicit object alternation”. Przykład:
Mate ate the cake.
9
Mike ate.
Mamy alternatywę pomiędzy jawnym określeniem dopełnienia a niejawnym. Intuicyjnie ”eat” ma mocne ”selectional preference”, więc nie trzeba
zawsze podawać dopełnienia. Można się go domyślić.
8.5
Semantic Similarity
Nieosiągalnym jak na razie celem jest wyciąganie pełnego znaczenia tekstów. Dużo prac skupia się na ”semantic similarity”, czyli podobieństwie
słowa do innych znanych słów. Jest to zagadnienie prostsze od określania znaczenia słów. Semantyczne podobieństwo wykorzystuje się do generalizowania.
Zakładamy, że podobne słowa, zachowują się w podobny sposób. Semantyczne podobieństwo jest rozszerzeniem pojęcia synonimu. Przykład:
Susan had never eaten a fresh durian before.
Jeżeli wiemy, że ”durian” jest semantycznie podobny do ”apple”, ”banana” i ”mango”, możemy założyć, że będzie dobrym argumentem dla czasownika ”eat”.
Similarity-based generalization jest bliskie class-based generalization. W
pierwszym podejściu analizujemy tylko najbliższych znaczeniowo sąsiadów.
W drugim bierzemy pod uwagę klasę do której możemy przypisać słowo.
8.5.1
Vector space measures
Macierz reprezentuje słowa jako wektor w przestrzeni dokumentów. Wpis aij
zawiera liczbę wystąpień słowa j w dokumencie i. Słowa są podobne, jeżeli
występują w podobnych dokumentach. ”Space”, ”cosmonaut” i ”astronaut”
są uznane za niepodopbne. (nie mają wspólnych dokumentów), za to ”truck”
10
i ”car” są podobne. Jeżeli transponujemy macierz otrzymamy podobieństwo
dokumentów.
Macierz reprezentuje słowa w przestrzeni słów. Wpis bij zawiera liczbę wspólnych wystąpień słów. Wspólne wystąpienia mogą być rozważane w całych
dokumentach lub np. w akapitach. W tym przykładzie ”astronaut” i ”cosmonaut” są podobne, ponieważ występują razem z księżycem. Zachodzi związek
B = AT A. Macierz jest symetryczna.
Macierz reprezentuje słowa w przestrzeni modyfikatorów. Wpis cij opisuje ile
razy ”head” j był modyfikowany przez ”modifier” i. Słowa są uznawane za
podobne jeżeli są rozszerzane przez te same modyfikatory. Znowuż ”astronaut” i ”cosmonaut” są podobne. Jeżeli transponujemy macierz otrzymamy
podobieństwo modyfikatorów.
Teraz kilka przykładów:
11
Podobieństwo wektorów binarnych
• Matching coefficient:
X ∩Y
Matching coefficient - liczmy liczbę wymiarów w których oba wektory
są niezerowe
• Dice coefficent
2|X ∩ Y |
|X| + |Y |
Dice coefficent - dodatkowo normalizuje, otrzymujemy wyniki od 0 do
1
• Jaccard coefficent
|X ∩ Y |
|X ∪ Y |
Jaccard coefficent - karze za małą liczbę wspólnych wpisów
• Overlap coefficent
|X ∩ Y |
min(|X|, |Y |)
Overlap coefficent - mierzy inkluzje, 1 gdy X ⊆ Y lub Y ⊆ X
• Cosine
|X ∩ Y |
q
|X|x|Y |
Cosine - podobna do Dice, karze mniej jeśli liczba niezerowych elementów bardzo się różni
Podobieństwo wektorów
Wspomniane są
1. odległość (wspomniana tylko euklidesowa, inne przykłady chociażby na
wykładzie z CI, lub na http://pl.wikipedia.org/wiki/Przestrze\
%C5\%84_metryczna)
2. kąt
cosα =
Przykład:
12
v1 · v2
|v1 ||v2 |
8.5.2
Probabilistic measures
Macierze z powyższego podrozdziału łatwo mogą być zmienione ma macierze prawdopodobieństwa. Wystarczy podzielić każdy element wiersza przez
sumę elementów w tym wierszu. Miary:
• KL divergence
D(p||q) =
X
pi log
i
pi
qi
Określa jak bardzo rozkład q aproksymuje rozkład p, czyli ile informacji
jest tracone jeżeli przyjmiemy że mamy rozkład q, a w rzeczywistości
p. Możemy uzyskać inf jeżeli jest ”wymiar” z qi = 0 i pi ! = 0
• information radius
D(p||
p+q
p+q
) + D(q||
)
2
2
Intuicyjnie opisujemy rozkład dwóch zmiennych przez ich średnią. W
przeciwieństwie do powyższej jest symetryczna, nie ma też problemu z
wartościami nieskończonymi.
• L1 norm (manhattan norm)
X
|pi − qi |
i
8.6
The Role of Lexical Acquisition in Statistical NLP
Lexical Acquisition jest ważne dla NLP. Dostępne zasoby słownikowe mają braki. Dla wielu zagadnień profesjonalnie wykształceni ludzie wydobędą
więcej danych niż automatyczne procedury. Jednak budowanie tych zasobów
ręcznie jest kosztowne. Książka podaje, że stworzenie całkiem nowego wpisu
zajmuje średnio pół godziny. Komputery za to, często są wykorzystywane do
zbierania informacji ilościowych.
13
Większość słowników (i innych zasobów leksykalnych: encyklopedie, tezaurusy, pisma urzędowe) jest stworzonych dla ludzi. Wymagają dodatkowej
informacji do zrozumienia zawartości. Dla przykładu pokazuje się, że nie
można uczyć się nowego języka korzystając tylko z dwujęzycznego słownika,
np. nieregularna liczba mnoga słowa ”postman” nie jest często podawana,
ponieważ zachodzi oczywista analogia ze słowem ”man”.
Język jest bardzo produktywny. Cały czas powstają nowe słowa, zmieniają się znaczenia istniejących. Język musi nadążać za zmianami w świecie.
Słowniki cały czas muszą być uaktualniane. Co więcej, nawet mając dostęp
do dobrych słowników, mogą się przydać automatyczne metody. Sampson
przeprowadził test ze słownikiem (około 70.000 wpisów) na korpusie. Około
3% symboli nie było rozpoznanych:
Caramello, Chdteau-Chalon
proper noun
perestroika
foreign word
code
RlOl
x1
mathematical objec
technical vocabulary
normoglycaemia
i inne. Większość nierozponanych słów był nazwami własnymi.
8.7
Further Reading
Co czytać? Patrz książka.
14