Po co dodawać odwrotną częstotliwość dokumentów?

9

Mój podręcznik podaje idf jako gdzielog(1+Nnt)

  • N : liczba dokumentów
  • nt : liczba dokumentów zawierających termint

Wikipedia wymienia tę formułę jako wygładzoną wersję rzeczywistego . Rozumiem to: waha się od do co wydaje się intuicyjne. Ale przechodzi z do co wydaje się takie dziwne ... Wiem trochę o wygładzaniu z modelowania językowego, ale dodam coś do licznika jak również w mianowniku, ponieważ martwisz się masą prawdopodobieństwa. Ale dodanie nie ma dla mnie sensu. Co staramy się tutaj osiągnąć?log(Nnt)log(NN)=0
log(1+Nnt)log(1+1)
1

użytkownik2740
źródło
powiązane, ale nie duplikat: stats.stackexchange.com/questions/152182/...
Sycorax mówi Przywróć Monikę
Poprawnym wygładzeniem będzie
log(N(1+nt))
ashishpatel.co.in

Odpowiedzi:

7

Jak zauważyłeś w innym miejscu, że tf-idf jest omawiany, nie ma uniwersalnie uzgodnionej pojedynczej formuły do ​​obliczania tf-idf, a nawet (jak w twoim pytaniu) idf . Celem jest osiągnięcie jednego z dwóch celów: a) uniknięcie dzielenia przez zero , tak jak wtedy, gdy termin nie pojawia się w żadnych dokumentach, nawet jeśli nie byłoby to możliwe w podejściu typu „worek słów” lub b) aby ustawić dolną granicę, aby uniknąć przypisania terminu zerowej wagi tylko dlatego, że pojawił się we wszystkich dokumentach.+1

Tak naprawdę nigdy nie widziałem receptur , chociaż wspominasz o podręczniku. Ale celem jest ustawienie dolnej granicy zamiast zera, jak poprawnie interpretujesz. Widziałem 1 + , który określa dolną granicę 1. Najczęściej stosowanym obliczeniem wydaje się być , jak w Manning, Christopher D, Prabhakar Raghavan i Hinrich Schütze (2008) Wprowadzenie do wyszukiwania informacji , Cambridge University Press, str. 118 lub Wikipedia (na podstawie podobnych źródeł).log(1+Nnt)log(2)log(Nnt)log(Nnt)

Nie dotyczy bezpośrednio twojego zapytania, ale górna granica nie jest , ale raczej gdzie zależności od formuły wygładzania. Dzieje się tak w przypadku terminów pojawiających się w dokumentach 0 lub 1 (ponownie, zależy od tego, czy wygładzasz za pomocą aby zdefiniować je dla terminów o zerowej częstotliwości dokumentów - jeśli nie, wówczas maksymalna wartość występuje dla terminów pojawiających się tylko w jednym dokumencie). IDF gdy i .k+log(N/s)k,s0,1s1+nt=1N

Ken Benoit
źródło