2009-03-17 5 views

Antwort

8

Lucenes eingebaute Similarity ist ein ziemlich Standard "Inverse Document Frequency" Scoring-Algorithmus. Der Wikipedia-Artikel ist kurz, deckt aber die Grundlagen ab. Das Buch Lucene in Action gliedert die Lucene-Formel detaillierter auf; Es spiegelt nicht die aktuelle Lucene-Formel perfekt wider, aber alle Hauptkonzepte werden erklärt.

erste Linie variiert die Punktzahl mit der Anzahl der Zeiten, die in dem aktuellen Dokument (die Zeitfrequenz) und invers mit der Anzahl, wie oft ein Begriff in allen Dokumenten auftritt (die Dokumenthäufigkeit) Term auftritt . Die anderen Faktoren in der Formel sind zweitrangig, wobei die Punktzahl angepasst wird, um zu erreichen, dass die Bewertungen aus verschiedenen Anfragen miteinander vergleichbar sind.

+0

-1 Das Buch sagt weniger als die JavaDocs, also kaufen Sie nicht. –

3

Stellen Sie sich jedes Dokument und jeden Suchbegriff als einen Vektor vor, dessen Koordinaten ein Maß dafür darstellen, wie wichtig jedes Wort im gesamten Korpus von Dokumenten für das jeweilige Dokument oder den Suchbegriff ist. Ähnlichkeit sagt dir die Entfernung zwischen zwei verschiedenen Vektoren.

Angenommen, Ihr Korpus ist normalisiert, um einige Begriffe zu ignorieren, dann würde ein Dokument, das nur aus diesen Begriffen besteht, am Ursprung eines Diagramms aller Ihrer Dokumente in dem von Ihrem Korpus definierten Vektorraum liegen. Jedes Dokument, das einige andere Begriffe enthält, stellt dann einen Punkt in dem Raum dar, dessen Koordinaten durch die Wichtigkeit dieses Begriffs im Dokument relativ zu diesem Begriff im Korpus definiert sind. Zwei Dokumente (oder ein Dokument und eine Suche), deren Koordinaten ihre "Punkte" näher zusammenbringen, sind ähnlicher als diejenigen mit Koordinaten, die ihre "Punkte" weiter voneinander trennen.

1

Wie von Erickson in Lucene erwähnt wurde, ist Cosinusähnlichkeit Begriff Frequenz-Inverse Dokument Häufigkeit (TF-IDF). Stellen Sie sich vor, Sie haben zwei Begriffe in der Abfrage und im Dokument. Diese Messungen stimmen nur genau mit den Begriffen überein und enthalten im Folgenden ihre semantischen Gewichte. Begriffe mit sehr häufigen Vorkommnissen haben ein geringeres Gewicht (Wichtigkeit), weil Sie sie in vielen Dokumenten finden können. Aber das ernste Problem, was ich sehe, dass Cosinus-Ähnlichkeit TF-IDF ist nicht so robust auf inkonsistenten Daten, wo Sie Ähnlichkeit zwischen der Abfrage und das Dokument robuster z. Rechtschreibfehler, typographische und phonetische Fehler. Weil die Wörter genau übereinstimmen müssen.