Word Sense Disambiguation
Transkrypt
Word Sense Disambiguation
Word Sense Disambiguation I WSTĘP Rozdział przedstawia kilka najważniejszych algorytmów rozpoznających znaczenie słów w zależności od użytego kontekstu. 1. Jaka jest idea rozpoznawania znaczenia słów? - wiele słów ma więcej niż jedno znaczenie - dla słów wieloznacznych, wyjętych z kontekstu, mamy wiele możliwości interpretacji takiego słowa Np angielskie słowo „bank”: - suchy ląd graniczący z brzegiem rzeki, jeziora lub morza (brzeg) - instytucja finansowa Zadanie: dla danego wieloznacznego słowa w kontekście podjąć decyzję, jakie przypisać mu znaczenie. 2. Typowa konstrukcja problemu w literaturze: - słowo posiada skończoną liczbę znaczeń (źródłem danych może być słownik, tezaurus…) - zadaniem programu jest dokonanie wyboru pomiędzy znaczeniami w przypadku każdorazowego użycia wieloznacznego słowa, w zależności od kontekstu użycia Wady: - brak jednoznaczności definicji słownikowych - słowo „bank” posiada dwa niezależne znaczenia, co ułatwia zadanie (nie jest to jednak typowy przykład) - słowo „title” jest typowym przykładem, którego słownikowa definicja zawiera niekonsekwentnie opisane, powiązane ze sobą znaczenia: * Nazwa książki, posągu, sztuki lub utworu muzycznego * Materiał początkowy filmu * Prawo własności (gruntu) *Dokument poświadczający o tym prawie *Wyraz szacunku dodany do nazwiska danej osoby Niekonsekwencje w powyższym opisie: - dwa znaczenia oznaczające prawo własności, rozróżniające to prawo od dokumentu go poświadczającego -z drugiej strony brak rozróżnienia pomiędzy cechą a przedmiotem określającym cechę w pozostałych przypadkach (np. w zdaniu „Ten obraz nie ma tytułu.” tytuł obrazu – może to być jego nazwa nadana przez autora, albo plakietka z nazwą) - oddzielenie znaczenia nazwy filmu od reszty dzieł sztuki (powód: częste występowanie w znaczeniu „tytuł filmu”) Dla wielu słów, użycie i w związku z tym znaczenie definicji nie są jak pięć kawałków sera, spośród których można wybrać jeden. Bardziej można je porównać do zapiekanki, w której wiele osobnych „części” da się odróżnić, natomiast mnóstwo z nich tworzy treść nieznanego pochodzenia. BARDZO WAŻNE ZASTOSOWANIE: TRANSLATORY !!!!!!!!!!! - słowo mające wiele różnych znaczeń w jednym języku może w zależności od tych znaczeń mieć różne odpowiedniki w innym języku, co może prowadzić do błędów w tłumaczeniach Np. „Bank” – instytucja finansowa - j. niemiecki: Bank „Bank” – brzeg – j. niemiecki: Ufer 3. Inna natura problemu: to samo słowo, inne części mowy. „You should butter your toast.” (tagging, rozdz. 10) - W pewnym sensie problem rozpoznawania semantycznego słów oraz części mowy należą do tej samej dziedziny. - W praktyce metody stosowane w obu przypadkach są różne: - Lokalna analiza kontekstu sprawdza się w przypadku rozpoznawania części mowy. - Do rozpoznawania znaczenia słów potrzebna jest analiza szerszego kontekstu. 4. Trzy podstawowe podejścia: - supervised disambiguation (na podstawie etykietowanego korpusu) - dictionary-based disambiguation (na podstawie słownika, tezaurusa) - unsupervised disambiguation (na podstawie nieetykietowanego korpusu) II Uwagi wstępne (podstawowe pojęcia) - Nadzorowane i nienadzorowane uczenie (supervised and unsupervised learning) - Nadzorowane: znamy faktyczny status (w tym przypadku – etykietę znaczenia) dla każdego kawałka danych, na którym „trenujemy” program (classification – rodział 16) - Nienadzorowane: Nie znamy klasyfikacji danych w treningowej próbce (clustering – rozdział 14) - Etykietowane dane są drogie w produkcji. Istnieje potrzeba algorytmu na nieetykietowanych danych. - Rozwiązania hybrydowe: trening startuje od algorytmów dla nadzorowanych danych, następnie przechodzi do nienadzorowanych (semi-supervised learning, bootstraping) - Wykorzystanie tłumaczeń tekstów lub słowników językowych jako etykietowanych danych. - Pseudowords - Ręczne rozróżnianie znaczeń słów w celu stworzenia danych testowych jest trudne i czasochłonne. - Obejście problemu: tworzenie sztucznych wieloznacznych słów poprzez prostą konkatenację Np. wszystkie wystąpienia słowa „banana” i „door” łączy się do testów w słowo „banana-door” - Dolne i górne oszacowanie wyników - W celu oceny jakości algorytmu należy rozpatrywać jego skuteczność w kontekście użycia do pojedynczego słowa. Rozpoznawanie znaczenia słów bardzo bowiem różni się poziomem trudności. - Górna granica: wyniki osiągane przez człowieka - Dolna granica (base rate – klasyfikator większościowy): efektywność najprostszego algorytmu (dopasowanie najczęstszego znaczenia) III Supervised Disambiguation (algorytmy oparte na nadzorowanym uczeniu) 1. Gale (1992) - algorytm oparty na klasyfikacji Bayesowskiej - traktuje kontekst zdarzenia jako „bag of words”- BoW – „worek” ze słowami - zbiera informacje z całego kontekstu (ze wszystkich słów) 2. Brown (1991) - algorytm oparty na teorii informacji - bierze pod uwagę jedynie specjalną cechę, która niesie ze sobą informację o znaczeniu słowa, tzw. informant Manning: 7.1 Ad. 1 Klasyfikator Bayesowski: - - Bayes decision rule 7.2 Sposób na wyliczenie P(sk|c) Pominięcie P(c) Wyliczenie s’ 7.3 Zalety Naive Bayes: efektywność i zdolność szacowania z dużej ilości cech (wielu słów w kontekście) Naive Bayes Assumption (założenie): wszystkie słowa vj są niezależne 7.4 Dwie konsekwencje założenia: struktura i porządek słów wewnątrz kontekstu są ignorowane (bag of words); nie jest prawdą, że słowa są niezależne (np. president election > president poet) Pomimo tego bardzo dobre wyniki (po części z powodu prawidłowych decyzji pomimo błędnej estymacji prawdopodobieństw) - Decision Rule for Naive Bayes 7.5 P(vj|sk) I P(sk) Cały algorytm Figure 7.1 Ad. 2 Podejście oparte na teorii informacji - Klasyfikator Bayesowiski używał wszystkich słów „okna kontekstu” w celu znalezienia znaczenia słowa. Algorytm oparty na teorii informacji próbuje znaleźć pojedynczą cechę w kontekście, która wiarygodnie wskazuje, który sens wieloznacznego słowa został użyty („indicator” - wskaźnik). - Przykład: Prendre – to take; to make. Prendre une mesure – take a measure (mierzyć) Prendre une de’cision – make a decision (podjąć decyzję) Pozostałe przykłady – tabela 7.3 - algorytm Flip-Flop (Figure 7.2) - miara wzajemnej informacji (rozdz. 2.2.3) - przykład z Take i make Odszukanie znaczenia: - Dla zdarzenia wieloznacznego słowa, znajdź wartość xi „wskaźnika” - Jeśli xi jest w zbiorze Q1, przypisz znaczenie 1, jeśli w Q2, znaczenie 2 - Przykład stworzenia dwóch klas dla tego samego znaczenia (many-to-one mapping from labels to senses) IV Szukanie znaczenia oparte na słownikach 1. Lesk (1986) - bezpośrednie wykorzystanie definicji słownikowych - przykład dla słowa „cone” (szyszka, stożek) - wyjaśnienie algorytmu - słaba skuteczność (między 50% a 70%) -poprawki: kilkukrotna iteracja algorytmu (zamiast sumy Evj bierze pod uwagę tylko znaczenia wybrane przez poprzednią iterację) 2. Yarowsky (1992) - wykorzystanie tezaurusa Rogeta z 1946 (podział znaczeń na kategorie – subject codes) - wykorzystanie Naive Bayes do aktualizacji danych - podstawowa konkluzja w tezaurusowych algorytmach: semantyczna kategoria słów zawartych w danym kontekście rzutuje na semantyczną kategorię całego kontekstu, co pomaga w dobraniu znaczeń poszczególnych słów, jeśli ustalimy kategorię kontekstu -przedstawienie algorytmu -50% trafności, ale dla trudnych słów - wady: kategoryzacja często niewłaściwa dla dziedziny dokumentu (przykład: mysz – zwierzę i urządzenie komputerowe); starzenie się tezaurusa - algorytm Yarowskiego dodaje słowa do kategorii Ti jeśli pojawiają się często w danym kontekście (np. Navratilova – często pojawia się w kontekście sportowym) - w tym celu algorytm używa założenie Naive Bayes, liczy dla każdej pary kontekst – kategoria prawdopodobieństwo P(Tl|ci) 7.7 - przedstawienie algorymu – Figure 7.5 - problem: topic-independent distinctions 3. Dagan, Itai (1994) – algorytm oparty na dwujęzycznym korpusie - omówienie tabelki - wyjaśnienie algorytmu