Cosinusähnlichkeit und tf-idf
Ich bin verwirrt durch den folgenden Kommentar über TF-IDF und Kosinus-Ähnlichkeit.
War ich zu Lesen, bis auf die beiden und dann auf wiki unter Cosinus-Ähnlichkeit finde ich diesen Satz "Im Falle des information retrieval, der Kosinus-ähnlichkeit zweier Dokumente wird im Bereich von 0 bis 1, da der term-Frequenz (tf-idf-GEWICHTE) nicht negativ sein darf. Der Winkel zwischen zwei term-Frequenz-Vektoren kann nicht größer sein als 90°."
Nun Frage ich mich,....sind Sie das nicht 2 verschiedene Dinge?
Ist tf-idf bereits in der Kosinus-ähnlichkeit? Wenn ja, dann was soll ' s, ich kann nur sehen, das innere dot-Produkte und-euklidischen Längen.
Ich dachte, tf-idf war etwas, das Sie tun konnte vor läuft Kosinus-ähnlichkeit auf die Texte. Hab ich was verpasst?
InformationsquelleAutor der Frage N00programmer | 2011-06-06
Du musst angemeldet sein, um einen Kommentar abzugeben.
Tf-idf ist eine transformation, die Sie anwenden, um Texte, um zwei reellwertige Vektoren. Sie erhalten dann die Kosinus-ähnlichkeit für jedes paar von Vektoren, indem Sie Ihre dot-Produkt-und Aufteilung, die durch das Produkt Ihrer Normen. Das ergibt den Cosinus des Winkels zwischen den Vektoren.
Wenn d2 und q werden tf-idf-Vektoren, dann
wo θ ist der Winkel zwischen den Vektoren. Als θ reicht von 0 bis 90 Grad, cos θ reicht von 1 bis 0. θ kann nur im Bereich von 0 bis 90 Grad, da tf-idf-Vektoren sind nicht-negativ.
Gibt es keine besonders Tiefe Verbindung zwischen tf-idf-und der Kosinus-ähnlichkeit/vector space model); tf-idf funktioniert einfach sehr gut mit den Dokument-term-Matrix. Es hat Anwendungen außerhalb der Domäne ist, obwohl, und im Prinzip kann man ersetzen, eine weitere transformation in eine VSM.
(Formel entnommen aus der Wikipediadamit die d2.)
InformationsquelleAutor der Antwort Fred Foo
TF-IDF ist nur eine Möglichkeit zur Messung der Bedeutung von Token im text, es ist nur eine sehr verbreitete Art und Weise, um aus einem Dokument in einer Liste von zahlen (der Begriff Vektor, enthält eine Kante der Winkel, Sie sind immer die Cosinus).
Berechnen Kosinus-ähnlichkeit, benötigen Sie zwei Dokument-Vektoren; Vektoren repräsentieren jede eindeutige Begriff mit einem index und den Wert an die index ist ein Maß dafür, wie wichtig dieser Begriff ist dem Dokument und dem Allgemeinen Konzept-Dokument-ähnlichkeit im Allgemeinen.
Können Sie einfach zählen die Anzahl, wie oft jeder Begriff trat in das Dokument (Term FREQUENZ) und verwenden Sie die integer-Ergebnis für den Begriff Partitur in den vector, aber das Ergebnis wäre nicht sehr gut. Extrem Allgemeine Begriffe (wie "ist", "und", und "die") würde dazu führen, eine Vielzahl von Dokumenten zu erscheinen ähnlich wie jede andere. (Diese speziellen Beispiele können behandelt werden, indem mit einem stoppwort-Listeaber andere gängige Begriffe sind nicht allgemein genug, um als ein stoppwort verursachen die gleiche Art von Problem. Auf Stackoverflow, das Wort "Frage" könnte in diese Kategorie fallen. Wenn Sie analysieren, Kochen Rezepte, die Sie würde wahrscheinlich laufen in Probleme mit dem Wort "ei".)
TF-IDF stellt die raw-term-Frequenz unter Berücksichtigung, wie Häufig jeder Begriff tritt im Allgemeinen (die Document FREQUENZ). Ichnverse Document FREQUENZ ist in der Regel das Protokoll von der Anzahl der Dokumente dividiert durch die Anzahl der Dokumente die term tritt in (Bild aus Wikipedia):
Denken Sie an die 'log' als eine kleine nuance, die hilft, die Dinge funktionieren auf lange Sicht-es wächst, wenn es Streit wächst, so dass, wenn der Begriff selten ist, die IDF wird hoch sein (viele Dokumente geteilt durch sehr wenige Dokumente), ob der Begriff gebräuchlich ist, die IDF wird niedrig sein (viele Dokumente, geteilt durch eine Vielzahl von Dokumenten ~= 1).
Sagen, Sie haben 100 Rezepte, und alle, aber erfordert, dass die Eier, jetzt haben Sie drei weitere Dokumente, die alle enthalten das Wort "ei", mal in das erste Dokument, zweimal in der zweiten Dokument und einmal in der Dritten Dokument. Der Begriff Frequenz für 'ei' in jedes Dokument, 1 oder 2 ist, und die Dokument-Frequenz ist zu 99 (oder, wohl, 102, wenn Sie zählen die neuen Dokumente. Bleiben wir bei 99).
Den TF-IDF - 'ei' ist:
Diese sind alle ziemlich kleine zahlen; im Gegensatz dazu betrachten wir ein anderes Wort, das tritt nur in 9 von 100 Rezept corpus: 'Rucola'. Es wird zweimal in der ersten doc, drei mal in der Sekunde, und kommt nicht in das Dritte Dokument.
Den TF-IDF für 'Rucola':
'Rucola' ist wirklich wichtig für Dokument 2, zumindest im Vergleich zu 'ei'. Wen interessiert es, wie viele Male ei tritt? Alles enthält ei! Diese term-Vektoren sind viel informativer als einfach zählt, und Sie werden das Ergebnis in den Dokumenten 1 & 2 sind viel näher zusammen (mit Bezug auf Dokument 3) als Sie es wäre, wenn ein einfacher Begriff zählt, verwendet wurden. In diesem Fall das gleiche Ergebnis würde sich wohl ergeben (hey! wir haben nur zwei Begriffe hier), aber der Unterschied wäre kleiner.
Die take-home-hier ist das TF-IDF erzeugt weitere nützliche Maßnahmen, die der Begriff in einem Dokument, so dass Sie nicht den Fokus auf die sehr Allgemeine Begriffe (Stoppwörter, 'ei'), und aus den Augen verlieren die wichtigen Begriffe ('Rucola').
InformationsquelleAutor der Antwort rcreswick
Die vollständige mathematische Verfahren für die Kosinus-ähnlichkeit erklärt sich in diesen tutorials
Nehme an, wenn Sie berechnen möchten, Kosinus-ähnlichkeit zwischen zwei Dokumenten, den ersten Schritt werden zur Berechnung der tf-idf-Vektoren der beiden Dokumente. und dann finden Sie das Skalarprodukt der beiden Vektoren. Diese tutorials wird Ihnen helfen,:)
InformationsquelleAutor der Antwort Gunjan
tf/idf-Gewichtung hat einige Fälle, in denen Sie Versagen und erzeugen NaN Fehler im code while computing. Es ist sehr wichtig, dies zu Lesen:
http://www.p-value.info/2013/02/when-tfidf-and-cosine-similarity-fail.html
InformationsquelleAutor der Antwort Jack Twain
Tf-idf wird nur verwendet, um die Vektoren der Dokumente basierend auf der tf - Term Frequency, die verwendet wird, um festzustellen, wie oft der term im Dokument vorkommt und inverse Dokument-Frequenz - das gibt das Maß an, wie oft der Begriff erscheint in der ganzen Sammlung.
Dann finden Sie die Kosinus-ähnlichkeit zwischen den Dokumenten.
InformationsquelleAutor der Antwort Abhinav Bhatt