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