Part-of-Speech Tagging
Transkrypt
Part-of-Speech Tagging
10. Part-of-Speech Tagging Tagowanie nie jest jednoznaczne – to samo zdanie można otagowad na wiele różnych sposobów, np.: (10.1) The-AT representative-NN put-VBD chairs-NNS on-IN the-AT table-NN. oraz – biorąc pod uwagę inny sens słowa put: (10.2) The-AT representative-JJ put-NN chairs-VBZ on-IN the-AT table-NN. 10.1 The Information Sources in Tagging Są 2 ogólne metody ustalania, jaką częścią mowy jest dane słowo: np.: wiedząc, że sekwencja AT JJ NN występuje często, podczas gdy AT JJ VBP prawie wcale, łatwo stwierdzid że play w a new play powinno się otagowad jako NN (syntagmatic patterns). Skutecznośd takiego podejścia to około 77% poprawnie otamowanych słów. jedno słowo może się pojawiad w języku w roli wielu różnych części mowy, jednak jedno z użyd jest z reguły zdecydowanie dominujące. Proste tagowanie – przypisujące słowu jego najczęściej występującą rolę – skutkuje blisko 90% dokładnością tagowania. 10.2 Markov Model Taggers 10.2.1 The probabilistic model Ciąg tagów w tekście traktujemy jako łaocuch Markova. Własnośd Limited Horizon eliminuje długodystansowe zależności w zdaniach, co było głównym zarzutem Chomskiego przeciwko Modelom Markova. MM trenuje się przy użyciu zbioru treningowego – ręcznie otagowanego tekstu. Oznaczenia: Prawdopodobieostwo wystąpienia tagu tk po tj określa się jako: Wracając do przykładu a new play: P(NN|JJ) = 0.45 podczas gdy P(VBP|JJ) = 0.0005 Prawdopodobieosto, że słowo wzięło się z określonego stanu definiuje się jako: Mamy już wszystko co jest potrzebne aby określid najlepsze otagowanie t1,n zdania w1,n: gdzie P(tk|tj) oraz P(wl|tj) to po prostu: 10.2.2 The Viterbi algorithm Jak tagowad wytrenowanym taggerem opartym o Model Markova? Przy pomocy prostego algorytmu dynamicznego: Złożonośd takiego algorytmu szacuje się przez O(T * N2) podczas gdy naiwne generowanie wszystkich możliwych tagowao skutkowałoby złożonością wykładniczą. 10.2.3 Variations Unknown words Co ze słowami, których wytrenowany Model nie zna? Jak je otagowad? Najprościej traktowad jako dowolną częśd mowy – ale to rozwiązanie psuje wszystko co się da zepsud. Dobre okazuje się podejście biorące pod uwagę 3 czynniki: jak bardzo prawdopodobne jest, że dany Tag wygeneruje nieznane słowo jakie jest prawdopodobieostwo wygenerowania przez dany Tag słowa zaczynającego się wielką/małą literą prawdopodobieostwo wygenerowania słowa z myślnikiem lub określonym suffixem gdzie Z to stała normalizująca. Trigram taggers Zwykły tagger oparty o MM to Bigram tagger – rozważa zawsze tylko 2 tagi – obecny oraz poprzedni. Trigram tagger do ustalania bieżącego tagu bierze 2 poprzednie tagi (a nie jeden). Taki mechanizm eliminuje niektóre niejednoznaczności. Interpolation and variable memory Niekiedy tri gramy dają gorsze wyniki od biogramów czy nawet unigramów, gdyż informacje o poprzedzających tagach mogą byd nieporządane – np. bezpośrednio po kropce nie ważne jest, co stało przed kropką. Dlatego można stosowad Variable Memory Markov Model (VMMM), które operują na stanach o różnych długościach – od unigramów do fourgramów. 10.3 Hidden Markov Model Taggers Modele Markova dobrze sobie radzą, gdy dostępny jest duży otagowany zbiór testowy. A co jeśli takiego nie ma? 10.3.1 Applying HMMs to POS tagging Inicjalizacja parametrów modelu danymi losowymi to zły pomysł. Generalnie są 2 metody wykorzystywane do szacowania parametrów modelu. Pierwszą wymyślił Jelinek. Bazuje ona na słowniku: jeśli dane słowo nie występuje w roli jakiejś części mowy, to prawdopodobieostwo emisji słowa przez ten tag jest równe 0. Prawdopodobieostwa opisuje się tym wzorem (bj,l to prawdopodobieostwo, że słowo wl (albo klasa słów – o tym za chwilę) może powstad z tagu tj): gdzie C(wj) to liczba tagów dopuszczalnych dla wj. Sumowanie odbywa się po wszystkich słowach wm ze słownika. Metoda Jelinka zakłada, że prawdopodobieostwo wystąpienia słowa w roli każdej z części mowy jest takie samo. Druga metoda została wymyślona przez Kupca. W tej metodzie grupuje się słowa w klasy (uL), gdzie w danej klasie znajdują się te słowa, które mają ten sam zbiór dopuszczalnych tagów. Np. jeśli NN = t5 a JJ = t8 to u{5,8} będzie zawierał wszystkie słowa, które wg. słownika mają dopuszczalne dokładnie tylko tagi 5 i 8. Następnie postępuje się analogicznie jak w metodzie Jelinka: Przewagą metody Kupca jest większa wydajnośd – parametry wylicza się jednocześnie dla wszystkich słów należących do jednej klasy. Na koniec w celu poprawy wyników stosuje się algorytm szukający maksimum lokalnego. 10.3.2 The effect of initialization on HMM training Nie warto szukad maksimum lokalnego, a jedynie w pewien sposób do tego maksimum się zbliżyd, gdyż wraz ze zbliżaniem się do maksimum zwiększa się szansa przetrenowania modelu. Najprostszą zasadą jest przerwad trening, kiedy wartośd logarytmu z prawdopodobieostwa się nie zwiększa. Ta zasada w niektórych przypadkach także prowadzi do przetrenowania, dlatego sugeruje się sprawdzad poprawę prawdopodobieostwa po każdej iteracji algorytmu maksymalizującego. 10.4 Transformation-Based Learning of Tags Modele Markova nie są idealne. Teoretycznie możnaby poprawid ich wyniki tworząc bardziej skomplikowane modele – np. urzywad tri gramów, fourgramów czy nawet taggerów wyższych rzędów, jednak takie rozwiązania wymagałyby estymowania zbyt dużej ilości parametrów. Transformation-based traning to inne podejście do tagowania. Jedną z mocnych stron jest wykorzystywanie szerszego wachlarza reguł leksykalnych oraz syntaktycznych. W szczególności tagi mogą byd zależne od większego kontekstu. Transformation-based tagging koduje złożone zależności pomiędzy słowami i tagami poprzez sekwencje transformacji zamieniających początkowe otamowanie w inne, mające mniej błędów. Ten rodzaj tagowania wymaga o rząd wielkości mniej obliczeo niż MM. Transformation-based tagging składa się z 2 części: określenia, które transformacje należy przyjąd algorytmu uczącego Jako dane wejściowe potrzebny jest otagowany korpus i słownik. Najpierw każde słowo korpusu treningowego taguje się jego najczęściej występującym tagiem – do tego był potrzebny słownik. Następnie algorytm uczący tworzy listę rankingową transformacji przekształcających początkowe otagowanie w poprawne. Taka lista może byd wykorzystana do otagowania nowego tekstu – najpierw słowom przypisuje się najczęstsze tagi, następnie przeprowadza się transformacje z listy. Bardziej szczegółowo: 10.4.1 Transformations Transformacja składa się z 2 części: triggering environment i rewrite rule. Rewrite rule to t1 t2, co znaczy „zamieo tag t1 na t2”. Triggering environment to warunki, w których może zajśd transformacja, np.: W warunkach można powoływad się albo na występowanie określonych tagów, albo słów, albo nawet – aby określid nieznane słowa – na morfologię (np.: „replace NN by NNS if the unknown word’s suffix is -s”). 10.4.2 The learning algorithm Trzeba jeszcze ustalid jak określid środowisko dla danej transformacji . Interesujący jest fakt, że w tej metodzie, w odróżnieniu od HMM, nie występuje przetrenowanie. 10.4.3 Relation to other models Decision trees Można dostrzec pewne podobieostwo pomiędzy transformation-based learning oraz drzewami decyzyjnymi. Brill (1995)pokazał, że transformation-based learning jest potężniejszym narzędziem niż decision trees. 10.4.4 Automata W metodzie transformation-based tagging, mając już nauczony model, samą operację tagowania można zapisad w postaci automatu skooczonego Roche and Schabes (1995), co znacznie przyspiesza tagowanie w stosunku do metody naiwnej. 10.4.5 Summary Transformation-based tagging jest prostrze i bardziej intuicyjne od innych metod, w dodatku transformation-based learning znalazło zostosowanie w: parsing (Brill 1993b), prepositional phrase attachment (Brill and Resnik 1994), and word sense disambiguation (Dini et al. 1998). 10.5 Other Methods, Other Languages 10.5.1 Other approaches to tagging Do tagowania próbuje się stosowad także następujące metody: neural networks (Benello et al. 1989), decision trees (Schmid 1994), memory-based learning (or k nearest neighbor approaches) (Daelemans et al. 1996), and maximum entropy models (Ratnaparkhi 1996). 10.5.2 Languages other than English Szacuje się, że zaprezentowane metody tagowania sprawdzają się rownie dobrze w większości języków. Badania nad językami europejskimi dowiodły, że rzeczywiście tak jest (Dermatas and Kokkinakis 1995; Kempe 1997). 10.6 Tagging Accuracy and Uses of Taggers 10.6.1 Tagging accuracy Obecnie osiągane wyniki wachają się w granicach 95% – 97%. Wyniki w dużej mierze zależą od: rozmiaru danych treningowych zbioru tagów różnicy pomiędzy danymi treningowymi, a tymi na których się później operuje nieznanych słów 10.6.2 Applications of tagging W większości zastosowao po tagowaniu następuje częściowe parsowanie tekstu. Ważniejsze zastosowania tagowania to information extraction oraz question answering (np.: na pytanie „Who killed President Kennedy” można odpowiedzied „Oswald” zamiast zwracad listę linków – jak to robi Google).