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