Wie normalisiert man Lucene Scores?

8

Ich muss die Lucene-Werte zwischen 0 und 1 normalisieren.

Zum Beispiel gibt eine zufällige Abfrage die folgenden Punkte zurück ...

%Vor%

Was ist die größte Punktzahl? 10.0?

Danke

    
aneuryzm 21.03.2011, 14:38
quelle

5 Antworten

8

Sie können alle Partituren mit der maximalen Punktzahl teilen, um Partituren zwischen 0 und 1 zu erhalten.

Beachten Sie jedoch, dass die normalisierten Ergebnisse nur zum Vergleich der Ergebnisse einer einzigen Abfrage verwendet werden sollten. Es ist nicht richtig, die Ergebnisse (normalisiert oder nicht) der Ergebnisse von 2 verschiedenen Abfragen zu vergleichen.

    
nikhil500 21.03.2011, 15:35
quelle
5

Es gibt keinen guten Standard, um die Werte mit Lucene zu normalisieren. Lies dies: ScoresAsPercentages und dies Erklärung

In Ihrem Fall ist die höchste Punktzahl die Punktzahl des ersten Ergebnisses, wenn die Ergebnisse nach Punktzahl sortiert sind. Aber dieses Ergebnis wird für jede andere Abfrage anders sein.

Siehe auch how-do-i-normalize-a-solr -Lucen-Score

    
morja 21.03.2011 15:24
quelle
1

Es gibt keine maximale Punktzahl in Solr, es hängt von zu vielen Variablen ab, daher kann es nicht vorhergesagt werden.

Sie können jedoch etwas implementieren, das normalisierte Punkte ( Punkte als Prozentwerte ) genannt wird und nicht empfohlen wird.

>

Siehe verwandte Links für weitere Details:

Ist es möglich um einen Solr Score-Schwellenwert "vernünftig" zu setzen, unabhängig von den zurückgegebenen Ergebnissen? (d. h. ist Solr Scoring in irgendeiner Weise standardisiert)

Wie normalisiere ich einen solr / lucene Score?

Entfernen Sie Ergebnisse unterhalb eines bestimmten Score-Schwellenwerts in Solr / Lucene?

    
kenorb 02.04.2013 13:34
quelle
0

Eine regelmäßige Normalisierung hilft Ihnen nur dabei, die Scoring-Verteilung zwischen den Abfragen (und ihren abgerufenen Listen) zu vergleichen. Sie können die Bewertung nicht einfach normalisieren, um die Leistung zwischen Abfragen zu vergleichen. Stellen Sie sich eine Abfrage vor, bei der alle abgerufenen Dokumente sehr relevant sind und die gleiche erhalten haben (Highscore), und bei einer anderen Abfrage, dass die abgerufene Liste ein gerstenrelevantes Dokument enthält (wieder mit der gleichen Punktzahl) - jetzt unabhängig von der Normalisierung pro Abfrage Sie machen - die normalisierte Punktzahl wird gleich sein.

Sie müssen an einen Querabfragefaktor denken, der alle Punkte auf die gleiche Ebene bringen kann.

Zum Beispiel - vielleicht Ähnlichkeit zwischen der Abfrage und dem gesamten Index zu berechnen, und verwenden Sie diese Punktzahl irgendwie zusammen mit dem Dokument-Score

    
user2537953 27.10.2015 14:39
quelle
0

Wenn Sie zwei oder mehr Abfragen vergleichen möchten, habe ich einen Workaround gefunden. Sie können Ihr Dokument mit dem höchsten Ergebnis mit Ihrem Queryterm vergleichen, indem Sie die Klasse LevendesteinDistance oder LuceneLevenstheinDistance (Damerau) verwenden, um die Entfernung zwischen Ihrem Queryterm und Ihrem Ergebnis zu ermitteln. Das Ergebnis ist die Ähnlichkeit zwischen ihnen. Tun Sie dies für jede Abfrage, mit der Sie vergleichen möchten. Jetzt haben Sie ein Werkzeug, um Ihre Abfragen zu vergleichen, indem Sie die Ähnlichkeit Ihres Anfragetherms mit Ihrem höchsten Ergebnis vergleichen. Sie können nun die Abfrage mit der höchsten Übereinstimmung auswählen und diese für die nächsten geeigneten Aktionen verwenden.

%Vor%     
Blackeye 11.08.2016 10:38
quelle

Tags und Links