2016-05-09 35 views
5

Jak obliczyć tf-idf dla zapytania? Rozumiem, jak obliczyć tfidf dla zestawu dokumentów z następującymi definicjami:Jak obliczyć TF-IDF zapytania?

TF = wystąpień w dokumencie/razem słów w dokumencie

IDF = log (#documents/#documents gdzie występuje określenie

Ale ja nie rozumiem, jak to koreluje z zapytaniami.

Na przykład, czytałem a resource zadeklarowanej wartości zapytania "life learning"

życia | tf = .5 | idf = 1.405507153 | tf_idf = 0.702753576
uczenie | tf = .5 | idf = 1.405507153 | tf_idf = 0,702753576

Wartości tf Rozumiem każdy termin pojawia się tylko raz z dwóch możliwych terminów, więc 1/2, ale nie mam pojęcia gdzie idf pochodzi.
Myślę, że # dokumenty = 1 i wystąpienie = 1, log (1) = 0, więc idf będzie 0, ale nie wydaje się, aby tak było. Czy opiera się na dokumentach, z których korzystasz? Jak obliczyć tf-idf dla zapytania?

Odpowiedz

2

Tylko tf (życie) zależy od samego zapytania. Jednak idf zapytania zależy od dokumentów w tle, więc idf (życie) = 1+ ln (3/2) ~ = 1.405507153. Dlatego właśnie tf-idf jest zdefiniowany jako przemnożenie komponentu lokalnego (częstotliwość termin) z komponentem globalnym (częstotliwość odwróconego dokumentu).

0

Załóżmy zapytanie jest najlepiej ubezpieczenie samochodu, całkowity słownictwo zawiera samochód, najlepszy, auto, ubezpieczenia i masz N=1,000,000 dokumentów. Więc zapytanie jest coś takiego jak poniżej:

enter image description here

i jeden z dokumentu mogą być:

enter image description here

teraz obliczyć cosinus podobieństwa między TF-IDF twoich Query i Document.