Algorytm Leska

Algorytm Leska jest klasycznym algorytmem ujednoznaczniającym znaczenie słów, wprowadzonym przez Michaela E. Leska w 1986 roku.

Przegląd

Algorytm Leska opiera się na założeniu, że słowa w danym „sąsiedztwie” (fragmencie tekstu) będą miały wspólny temat. Uproszczona wersja algorytmu Leska polega na porównaniu słownikowej definicji niejednoznacznego słowa z terminami zawartymi w jego sąsiedztwie. Wersje zostały przystosowane do korzystania z WordNet . Implementacja może wyglądać tak:

  1. dla każdego ujednoznacznionego znaczenia słowa należy policzyć liczbę słów, które znajdują się zarówno w sąsiedztwie tego słowa, jak iw słownikowej definicji tego znaczenia
  2. sens, który ma być wybrany, to sens, który ma największą liczbę tego licznika.

Często używanym przykładem ilustrującym ten algorytm jest kontekst „szyszka”. Stosowane są następujące definicje słownikowe:

 SOSNA 1. rodzaje wiecznie zielonych drzew o liściach w kształcie igieł 2. obumieranie przez smutek lub chorobę 
 STOŻKA 1. stałe ciało, które zwęża się do szpilki 2. coś o tym kształcie, pełne lub puste 3. owoce niektórych wiecznie zielonych drzew 

Jak widać, najlepszym przecięciem jest Sosna #1 ⋂ Stożek #3 = 2.

Uproszczony algorytm Leska

W algorytmie Uproszczonego Leska poprawne znaczenie każdego słowa w danym kontekście jest ustalane indywidualnie poprzez zlokalizowanie sensu, który najbardziej pokrywa się między jego definicją słownikową a danym kontekstem. Zamiast jednoczesnego określania znaczeń wszystkich słów w danym kontekście, podejście to traktuje każde słowo indywidualnie, niezależnie od znaczenia innych słów występujących w tym samym kontekście.

„Ocena porównawcza przeprowadzona przez Vasilescu i in. (2004) wykazała, że ​​uproszczony algorytm Leska może znacznie przewyższyć pierwotną definicję algorytmu, zarówno pod względem precyzji, jak i wydajności. Oceniając algorytmy ujednoznaczniające w języku angielskim Senseval-2 wszystkie słów, mierzą 58% precyzję przy użyciu uproszczonego algorytmu Leska w porównaniu z zaledwie 42% w ramach oryginalnego algorytmu.

Uwaga: Vasilescu i in. implementacja uwzględnia strategię back-off dla słów nieobjętych algorytmem, składającą się z najczęstszego znaczenia zdefiniowanego w WordNet. Oznacza to, że słowa, których wszystkie możliwe znaczenia prowadzą do zerowego pokrywania się z bieżącym kontekstem lub innymi definicjami słów, mają domyślnie przypisany sens numer jeden w WordNet”.

Uproszczony algorytm LESK z inteligentnym domyślnym wyczuciem słowa (Vasilescu i in., 2004)

funkcja UPROSZCZONE LESK( słowo,zdanie ) zwraca najlepsze znaczenie słowa
najlepsze-sens <- najczęstsze znaczenie dla słowa
max-nakładanie się <- 0
kontekst <- zbiór słów w zdaniu
dla każdego znaczenia w znaczeniach słowa do
sygnatura <- zbiór słowa w glosie i przykłady sensu
nakładają się <- COMPUTEOVERLAP ( podpis,kontekst )
if pokrywają się > max-overlap then
max-overlap <- pokrywają się
best-sense <- sense

koniec powrotu ( najlepszy rozsądek )

Funkcja COMPUTEOVERLAP zwraca liczbę słów wspólnych dla dwóch zestawów, ignorując słowa funkcyjne lub inne słowa z listy zatrzymania. Oryginalny algorytm Leska definiuje kontekst w bardziej złożony sposób.

Krytyka i inne metody oparte na Lesku

Niestety podejście Leska jest bardzo wrażliwe na dokładne sformułowanie definicji, więc brak określonego słowa może radykalnie zmienić wyniki. Ponadto algorytm określa nakładanie się tylko wśród glos rozważanych zmysłów. Jest to znaczące ograniczenie, ponieważ glosy słownikowe są zwykle dość krótkie i nie zapewniają wystarczającego słownictwa, aby odnieść się do drobnoziarnistych rozróżnień zmysłowych.

Pojawiło się wiele prac oferujących różne modyfikacje tego algorytmu. Prace te wykorzystują do analizy inne zasoby (tezaurusy, słowniki synonimów lub modele morfologiczne i składniowe): na przykład mogą wykorzystywać takie informacje, jak synonimy, różne pochodne lub słowa z definicji słów z definicji.

Istnieje wiele opracowań dotyczących Leska i jego przybudówek:

  • Wilks i Stevenson, 1998, 1999;
  • Mahesh i in., 1997;
  • Cowie i in., 1992;
  • Yarowsky, 1992;
  • Pook i Catlett, 1988;
  • Kilgarriff i Rosensweig, 2000;
  • Kwong, 2001;
  • Nastase i Szpakowicz, 2001;
  • Gelbuch i Sidorow, 2004.

Warianty Leska

  • Oryginalny Lesk (Lesk, 1986)
  • Adapted/Extended Lesk (Banerjee i Pederson, 2002/2003): W adaptacyjnym algorytmie Lesk tworzony jest wektor słów odpowiadający każdemu słowu treści w glosie Wordnet. Łączenie glos powiązanych pojęć w WordNet może być użyte do rozszerzenia tego wektora. Wektor zawiera liczbę współwystępowań słów współwystępujących z w w dużym korpusie. Dodanie wszystkich wektorów słów dla wszystkich słów treści w jego połysku tworzy wektor połysku g dla pojęcia. Pokrewieństwo jest określane przez porównanie wektora połysku przy użyciu podobieństwa Cosinus .

Zobacz też