Bag-of-Words do klasyfikacji tekstu: Dlaczego nie użyć częstotliwości słów zamiast TFIDF?

24

Powszechnym podejściem do klasyfikacji tekstu jest wyszkolenie klasyfikatora z „worka słów”. Użytkownik bierze tekst do sklasyfikowania i zlicza częstotliwości słów w każdym obiekcie, po czym następuje pewnego rodzaju przycinanie, aby zachować wynikową macierz o możliwym do zarządzania rozmiarze.

Często widzę, jak użytkownicy konstruują wektor cech za pomocą TFIDF. Innymi słowy, częstotliwości tekstu wspomniane powyżej są obniżone przez częstotliwość słów w korpusie. Rozumiem, dlaczego TFIDF byłby użyteczny do wybierania „najbardziej wyróżniających” słów danego dokumentu do, powiedzmy, wyświetlenia dla ludzkiego analityka. Ale w przypadku kategoryzacji tekstu przy użyciu standardowych nadzorowanych technik ML, po co zawracać sobie głowę zmniejszaniem wagi przez częstotliwość dokumentów w korpusie? Czy sam uczeń nie będzie decydował o znaczeniu przypisywanym każdemu słowu / kombinacji słów? Byłbym wdzięczny za twoje przemyślenia na temat wartości, jaką dodaje IDF, jeśli w ogóle.

shf8888
źródło

Odpowiedzi:

29

Odpowiedź jest bardzo prosta: TF-IDF może osiągnąć lepsze wyniki niż proste częstotliwości w połączeniu z niektórymi nadzorowanymi metodami.

Kanoniczny przykład wykorzystuje podobieństwo kosinusowe do pomiaru podobieństwa między dokumentami. Przyjmując cosinus kąta między reprezentacją wektorową dokumentów TF-IDF można z powodzeniem wyszukiwać odpowiednie podobne dokumenty z większą dokładnością niż sam TF.

Wynika to z faktu, że IDF zmniejsza wagę zwykłych słów i uwypukla rzadkie słowa w dokumencie. Większość artykułów informacyjnych nie dotyczy strusi, więc artykuł zawierający „struś” jest niezwykły i chcielibyśmy o tym wiedzieć, próbując znaleźć podobne dokumenty.

Ale w przypadku kategoryzacji tekstu przy użyciu standardowych nadzorowanych technik ML, po co zawracać sobie głowę zmniejszaniem wagi przez częstotliwość dokumentów w korpusie? Czy sam uczeń nie będzie decydował o znaczeniu przypisywanym każdemu słowu / kombinacji słów?

xyxyy), wtedy znacznie ułatwiliśmy sobie i naszym biednym, przepracowanym komputerom! Myślę, że jest to niedoceniany element tej dziedziny - ludzie spędzają dużo czasu studiując i rozważając algorytmy, ponieważ są niezależne od domeny, ale wiedza na temat twoich danych i problemu, który próbujesz rozwiązać, może sugerować ścieżki do ulepszone zbieranie danych lub reprezentacja danych, które sprawiają, że zadanie jest o wiele łatwiejsze - i tak łatwe, że model ozdobnego wyrafinowania nie jest potrzebny.

Można tu znaleźć wiele zasobów , które odtwarzam dla wygody.

  • K. Sparck Jones. „Statystyczna interpretacja specyficzności terminów i jej zastosowanie w wyszukiwaniu”. Journal of Documentation, 28 (1). 1972

  • G. Salton i Edward Fox i Wu Harry Wu. „Rozszerzone wyszukiwanie informacji logicznych”. Komunikacja ACM, 26 (11). 1983.

  • G. Salton i MJ McGill. „Wprowadzenie do nowoczesnego wyszukiwania informacji”. 1983

  • G. Salton i C. Buckley. „Podejścia oparte na ważeniu terminów w automatycznym wyszukiwaniu tekstu”. Przetwarzanie i zarządzanie informacjami, 24 (5). 1988.

  • H. Wu i R. Luk i K. Wong i K. Kwok. „Interpretacja wag terminów TF-IDF jako podejmowanie trafnych decyzji”. Transakcje ACM w systemach informatycznych, 26 (3). 2008.

Sycorax mówi Przywróć Monikę
źródło
Dzięki za notatkę @ user777! Doceniam to. Spoglądam na te artykuły. Czy istnieją ogólne klasy algorytmów, w których spodziewamy się preferencyjnego korzystania z TFIDF w porównaniu do samego TF?
shf8888
@ shf8888 Nie jestem pewien, czy istnieją ogólne klasy, w których jedna jest lepsza. To jest możliwe! O ile mi wiadomo, pierwszym odruchem osoby pracującej nad zadaniem NLP jest wypróbowanie TF, a następnie TF-IDF jako podstawowych metod przed przejściem do bardziej skomplikowanego modelu. W ten sposób możesz obliczyć, ile zwiększysz wydajność przy zwiększonym nakładzie pracy, używając coraz bardziej skomplikowanych modeli.
Sycorax mówi Przywróć Monikę
Dziękuję bardzo! Cóż, odpowiedź, że „empirycznie TFIDF może zapewnić większą wydajność w porównaniu z TF za pomocą niektórych algorytmów” (jeśli nie sprzeciwisz się mojemu podsumowaniu jednego zdania) jest zdecydowanie dobra z mojej perspektywy. Dziękuję za referencje.
shf8888
2

W typowym przypadku możesz mieć o wiele więcej dokumentów w swoim korpusie niż dokumenty z etykietami. Oznacza to, że IDF można obliczyć znacznie dokładniej i bardziej kompletnie przy użyciu całego korpusu.

Następnie rozważmy przypadek, w którym korpus, który można dostać do tej pory, jest cały oznaczony lub podzbiór oznaczony jest „wystarczająco duży”. W tym przypadku liczba iteracji potrzebnych do treningu może być mniejsza w przypadku korzystania z TfIDF, ponieważ algorytm uczenia nie musiałby się uczyć tak dużo.

Wreszcie, w tym samym przypadku, możesz również podać tylko tf lub tf i idf osobno (lub nawet dołączyć tfidf). Sądzę, że może to potencjalnie generować lepsze wyniki, na przykład przy użyciu wyrafinowanej funkcji jądra.

shuri
źródło