Wissen Sie, wo ich eine High-Level-Erklärung von Lucene Similarity Class Algorithmus finden kann. Ich werde es gerne verstehen, ohne die ganze Mathematik und die mit der Suche und Indexierung verbundenen Begriffe entziffern zu müssen.High-Level-Erklärung der Ähnlichkeitsklasse für Lucene?
Antwort
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.
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.
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.
- 1. Ruby Alternative für Lucene
- 2. Braucht Zend Lucene Java Lucene?
- 3. Lucene/Python
- 4. Leistungsvergleich zwischen Zend Lucene und Java Lucene
- 5. Lucene: Filter für Dokumente kein Begriff
- 6. Lucene Abfragesyntax
- 7. Wie BooleanQuery und Filter für Lucene kombinieren?
- 8. Lucene als Backing-Speicher für Memcached
- 9. Lucene absichtlich korrupten Index für Unit-Test
- 10. Kann jemand gute Tutorien für Lucene empfehlen?
- 11. Ermitteln der Position von Suchtreffern aus Lucene
- 12. Verbesserte Leistung der standortbasierten Suche mit Lucene
- 13. Der Prozess, den Lucene Text in Tokenize
- 14. Lucene Version
- 15. Lucene Abfragesyntax
- 16. Lucene SpanQuery - für was ist es gut?
- 17. Verwendet StackOverflow Lucene für markierte Suchanfragen?
- 18. Wie frage ich Lucene für leere Felder?
- 19. Gute Lucene .NET-Alternative für ASP.NET-Website
- 20. Liste der "Tokens" auf Lucene 3
- 21. Lucene Suchergebnis
- 22. Lucene QueryParser
- 23. Lucene Jackrabbit
- 24. Akzentpunkte während der Indexierung in Lucene beibehalten
- 25. Liste der durch Lucene indizierten Begriffe finden
- 26. Lucene - Felder von der Suche ausschließen
- 27. So erhalten Sie alle Begriffe für ein Lucene-Feld in Lucene 4
- 28. Lucene kein Buchstabe Regex
- 29. Lucene/Lucene.NET - Document.SetBoost() Werte?
- 30. Lucene Textmarker mit Stemmanalysator
-1 Das Buch sagt weniger als die JavaDocs, also kaufen Sie nicht. –