Kiedy używam każdego?
Ponadto ... czy lematyzacja NLTK jest zależna od części mowy? Czy nie byłoby dokładniejsze, gdyby było?
python
nlp
nltk
lemmatization
TIMEX
źródło
źródło
Odpowiedzi:
Krótkie i zwarte: http://nlp.stanford.edu/IR-book/html/htmledition/stemming-and-lemmatization-1.html
Z dokumentacji NLTK:
źródło
Źródło : https://en.wikipedia.org/wiki/Lemmatisation
źródło
Istnieją dwa aspekty, które pokazują ich różnice:
Stemmer powróci łodygę słowa, które nie muszą być identyczne z morfologicznej korzenia słowa. Zwykle wystarczy, że pokrewne słowa są mapowane na ten sam temat, nawet jeśli temat sam w sobie nie jest prawidłowym rdzeniem, podczas gdy w lematyzacji zwróci on słownikową formę słowa, które musi być ważnym słowem.
W lematyzacji najpierw należy określić część mowy słowa, a reguły normalizacji będą różne dla różnych części mowy, natomiast stemmer operuje na jednym słowie bez znajomości kontekstu, a zatem nie może rozróżniać słów, które mają różne znaczenia w zależności od części mowy.
Źródła http://textminingonline.com/dive-into-nltk-part-iv-stemming-and-lemmatization
źródło
Celem zarówno tematyzacji, jak i lematyzacji jest zmniejszenie zmienności morfologicznej. Kontrastuje to z bardziej ogólnymi procedurami „łączenia terminów”, które mogą również odnosić się do odmian leksykalno-semantycznych, syntaktycznych lub ortograficznych.
Prawdziwa różnica między wyprowadzaniem a lematyzacją jest trojaka:
Stemming redukuje formy wyrazów do (pseudo) tematów, podczas gdy lematyzacja redukuje formy wyrazów do lematów poprawnych językowo. Ta różnica jest widoczna w językach o bardziej złożonej morfologii, ale może być nieistotna dla wielu zastosowań IR;
Lematyzacja zajmuje się tylko wariancją fleksyjną, podczas gdy procesowanie może również zajmować się wariancją derywacyjną;
Pod względem implementacji lematyzacja jest zwykle bardziej wyrafinowana (szczególnie w przypadku języków złożonych morfologicznie) i zwykle wymaga pewnego rodzaju leksyki. Z drugiej strony, satysfakcjonujące korzenie można osiągnąć stosując raczej proste podejście oparte na regułach.
Lemmatyzacja może być również poparta znacznikiem części mowy w celu ujednoznacznienia homonimów.
źródło
Jak zauważył MYYN, procesowanie jest procesem usuwania afiksów fleksyjnych, a czasem pochodnych, do formy podstawowej, do której prawdopodobnie odnoszą się wszystkie oryginalne słowa. Lemmatyzacja polega na uzyskaniu pojedynczego słowa, które pozwala zgrupować kilka form fleksyjnych. Jest to trudniejsze niż wyprowadzanie, ponieważ wymaga wzięcia pod uwagę kontekstu (a tym samym znaczenia słowa), podczas gdy przerywanie ignoruje kontekst.
Jeśli chodzi o to, kiedy użyjesz jednego lub drugiego, jest to kwestia tego, jak bardzo twoja aplikacja zależy od poprawnego zrozumienia słowa w kontekście. Jeśli wykonujesz tłumaczenie maszynowe, prawdopodobnie potrzebujesz lematyzacji, aby uniknąć błędnego tłumaczenia słowa. Jeśli wyszukujesz informacje z ponad miliarda dokumentów, a 99% zapytań obejmuje od 1 do 3 słów, możesz zadowolić się rodzicielstwem.
Jeśli chodzi o NLTK, WordNetLemmatizer używa części mowy, chociaż musisz ją podać (w przeciwnym razie domyślnie rzeczowniki). Podanie go „gołąb” i „v” daje „nurkowanie”, podczas gdy „gołąb” i „n” daje „gołębicę”.
źródło
Oparte na przykładzie wyjaśnienie różnic między lematyzacją a wyprowadzaniem:
Lemmatyzacja obsługuje dopasowywanie „samochodu” do „samochodów” wraz z dopasowywaniem „samochodu” do „samochodu”.
Trzpienie uchwytów dopasowujące „samochód” do „samochodów” .
http://www.ideaeng.com/stemming-lemmatization-0601
źródło
Stemming tylko usuwa lub rodzi kilka ostatnich znaków słowa, często prowadząc do nieprawidłowego znaczenia i pisowni. Lematyzacja uwzględnia kontekst i konwertuje słowo do jego znaczącej formy bazowej, która nazywa się Lematem. Czasami to samo słowo może mieć wiele różnych lematów. Powinniśmy zidentyfikować znacznik Part of Speech (POS) dla słowa w tym konkretnym kontekście. Oto przykłady ilustrujące wszystkie różnice i przypadki użycia:
źródło
ianacl,
ale myślę, że Stemming to brutalny hack, którego ludzie używają do sprowadzenia różnych form tego samego słowa do formy podstawowej, która sama w sobie nie musi być legalnym słowem
Coś takiego jak Porter Stemmer może używać prostych wyrażeń regularnych, aby wyeliminować popularne sufiksy słów
Lemmatyzacja sprowadza słowo do jego rzeczywistej formy podstawowej, która w przypadku czasowników nieregularnych może w niczym nie przypominać słowa wejściowego
Coś w rodzaju Morpha, które używa FST do sprowadzenia rzeczowników i czasowników do ich formy podstawowej
źródło
Stemming to proces usuwania kilku ostatnich znaków danego słowa w celu uzyskania krótszej formy, nawet jeśli ta forma nie ma żadnego znaczenia.
Przykłady,
"beautiful" -> "beauti" "corpora" -> "corpora"
Todygowanie można wykonać bardzo szybko.
Z kolei lematyzacja to proces konwersji danego słowa do jego formy bazowej zgodnie ze słownikowym znaczeniem tego słowa.
Przykłady,
"beautiful" -> "beauty" "corpora" -> "corpus"
Lematyzacja zajmuje więcej czasu niż wyprowadzanie.
źródło