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).