2016-05-09 16 views
5

Wie berechne ich tf-idf für eine Abfrage? Ich verstehe, wie tf-idf für eine Reihe von Dokumenten mit folgenden Definitionen berechnen:Wie berechne ich TF-IDF einer Abfrage?

tf = Vorkommen in Dokument/Gesamt Wörter im Dokument

idf = log (#documents/#documents wo Begriff

tritt Aber ich verstehe nicht, wie das auf Abfragen korreliert.

Zum Beispiel las ich a resource, die die Werte einer Abfrage angegeben "life learning"

Leben | tf = .5 | idf = 1.405507153 | tf_idf = 0.702753576
lernen | tf = .5 | idf = 1.405507153 | tf_idf = 0,702753576

Die tf Werte Ich verstehe, wird jeder Begriff nur einmal aus den beiden möglichen Bedingungen, also 1/2, aber ich habe keine Ahnung, wo die idf herkommt.
Ich würde denken, dass #Dokumente = 1 und Vorkommen = 1, log (1) = 0, also idf wäre 0, aber das scheint nicht der Fall zu sein. Basiert es auf den von Ihnen verwendeten Dokumenten? Wie berechnet man tf-idf für eine Abfrage?

Antwort

2

Nur tf (Leben) hängt von der Abfrage selbst ab. Das IDF einer Abfrage hängt jedoch von den Hintergrunddokumenten ab, also idf (life) = 1+ ln (3/2) ~ = 1.405507153. Aus diesem Grund ist tf-idf definiert als Multiplikation einer lokalen Komponente (Termhäufigkeit) mit einer globalen Komponente (inverse Dokumenthäufigkeit).

0

Angenommen, Ihre Frage ist beste Kfz-Versicherung, Ihre gesamte Wortschatz enthält Auto, am besten, Auto, Versicherungen und Sie haben N=1,000,000 Dokumente. So Ihre Frage ist so etwas wie unten:

enter image description here

Und ein Dokument sein könnte:

enter image description here

Jetzt Kosinusähnlichkeit zwischen TF-IDF Ihren Query und Document berechnen.