Sicherstellung semantischer Präzision mit Mindestscore

Verbessern Sie die semantische Präzision durch die Verwendung von Schwellenwerten für die Mindestscore. Der Artikel enthält konkrete Beispiele für die semantische und hybride Suche.

Elasticsearch ist vollgepackt mit neuen Funktionen, die Ihnen dabei helfen, die besten Suchlösungen für Ihren Anwendungsfall zu entwickeln. Erfahren Sie in unserem praktischen Webinar zum Thema „Aufbau einer modernen Such-KI-Erfahrung“, wie Sie diese Erkenntnisse in die Praxis umsetzen können. Sie können jetzt auch eine kostenlose Cloud-Testversion starten oder Elastic auf Ihrem lokalen Rechner testen.

Die semantische Suche hat eine Vielzahl von Möglichkeiten für die Suchrelevanz eröffnet. Hochwertige dünn und dicht besetzte Modelle wie ELSER, E5 und Jina Embedding v4 liefern relevante Ergebnisse, die auf der Bedeutung von Wörtern basieren und nicht auf der Übereinstimmung von Schlüsselwörtern. Allerdings liefert die semantische Suche gelegentlich irrelevante Ergebnisse am Ende der Liste oder bei Suchanfragen, für die es keine relevanten Ergebnisse im Index gibt. Diese Eigenschaft von spärlichen und dichten Modellen kann Nutzer verwirren oder wertvolle Token für große Sprachmodelle (LLMs) verschwenden.

In diesem Artikel erfahren Sie, wie Sie den Parameter „Mindestscore“ verwenden können, um die Genauigkeit Ihrer semantischen Suchergebnisse zu erhöhen. Wenn Sie die in diesem Blogbeitrag bereitgestellten Beispiele testen möchten, besuchen Sie das zugehörige Jupyter-Notizbuch.

Hintergrund: Präzision und Abruf

In der Suchrelevanz sind Präzision und Recall Schlüsselkonzepte. Lesern, die noch nicht mit diesen Themen vertraut sind, wird dringend empfohlen, sich darüber zu informieren. Nachfolgend eine Zusammenfassung.

  • Genauigkeit: Der Anteil der zurückgegebenen Suchergebnisse, die für den Nutzer relevant sind.
  • Recall: Der Anteil aller relevanten Dokumente im Korpus, die in den Suchergebnissen enthalten sind.

Oder, mit anderen Worten, Präzision gibt nur relevante Ergebnisse zurück; und Recall gibt alle relevanten Ergebnisse zurück. Wie Sie sich vorstellen können, handelt es sich dabei oft um konkurrierende Anforderungen. Die semantische Suche weist tendenziell eine sehr hohe Trefferquote auf, hat aber mitunter Schwierigkeiten mit der Präzision. Lesen Sie weiter, um zu erfahren, wie Sie diese Eigenschaft umgehen können.

Einführung des Mindestscore-Parameters

Der ‘min_score’-Parameter ermöglicht es uns, die Präzision zu verbessern, indem ein Mindestscore festgelegt wird, der das Ergebnisset durch Entfernen aller Treffer mit einem Score unter dem definierten Schwellenwert kürzt. Nachfolgend ein einfaches Beispiel:

Normalisierung des Scores

Die Festlegung eines Mindestscores ist schön und gut, aber nicht alle semantischen Modelle liefern einen Score, die sich für einen statischen Schwellenwert eignet. ELSER gibt beispielsweise einen unbegrenzten Score zurück. Einige Scores des dichten Modells sind eng gruppiert und nur im Zusammenhang mit der spezifischen Anfrage sinnvoll.

Für die meisten Fälle der semantischen Suche empfehlen wir, vor der Anwendung von „min_score“ einen Normalisierungsansatz zu verwenden. Durch die Normalisierung wird sichergestellt, dass der Dokumentenscore innerhalb eines definierten Intervalls liegt. Elasticsearch-Retriever bieten zwei solcher Normalisierer, ‘l2_norm’ und ‘minmax’. Am häufigsten wird die „minmax“-Methode verwendet, da sie leicht verständlich ist und in vielen Szenarien gut funktioniert. Wichtige Eigenschaften von ‘minmax’ umfassen:

  • Die Dokumentenscores liegen im Bereich von 0 bis 1.
  • Das Dokument mit der höchsten Punktzahl erhält immer den Score 1.
  • Das Dokument mit der niedrigsten Punktzahl erhält immer den Score 0.
    • Dies kann die Eignung für die Stichwortsuche beeinträchtigen. Weitere Informationen finden Sie im Abschnitt „Hybride Suche“.

Im Folgenden ein Beispiel für eine normalisierte semantische Abfrage mit min_score. Die Größe des Ranking-Fensters wurde auf 500 erhöht, damit wir eine längere Liste von Suchergebnissen zurückgeben können, angefangen bei 100.

Die Größe wurde auf einen höheren Wert als in der Produktion üblich eingestellt. So können wir die Qualität der Suchergebnisse inspizieren und die Ergebnisse optimieren.

Hybridsuche mit dem linearen Retriever

Für die Hybridsuche ist der einfachste Ansatz, alle Scores zu normalisieren, Gewichte zuzuweisen und einen Mindestscore anzuwenden. Beachten Sie, dass Sie durch die Wahl von Gewichtungen mit einer Summe von 1 den Gesamtscore innerhalb eines Bereichs von 0 bis 1 halten. Dadurch lassen sich die Endergebnisse leicht nachvollziehen und die Melodie min_score stimmen. Nachfolgend ein Beispiel:

Hybridsuche mit RRF

Mit BM25 steuern wir die Präzision oft durch andere Mittel, wie die Verwendung des AND-Operators oder minimum_should_match. Darüber hinaus werden Abfragen, die aus einzelnen, präzisen und seltenen Begriffen bestehen, natürlicherweise zu Suchergebnissen mit wenigen Suchergebnissen führen, die oft alle hochrelevant sind. Dies kann zu Folgendem führen:

  • Ergebnisse, die weiter hinten im Ergebnis stehen, erhalten im BM25-Retriever einen niedrigen normalisierten Score, selbst wenn der absolute BM25-Score nahe an den Treffern mit den höchsten Scores liegt.
  • Wenn ein sehr niedriger BM25-Score zum semantischen Score hinzugefügt wird, kann die Summe als semantischer Score approximiert werden.
  • Das Fehlen eines BM25-Score-Beitrags kann dazu führen, dass das Dokument von min_score threshold verworfen wird.

Als Lösung können wir stattdessen die reziproke Rangfusion (RRF) verwenden, um BM25- und semantische Ergebnisse zu kombinieren. RRF umgeht die Herausforderung, Scores verschiedener Suchalgorithmen zu vergleichen, indem es sich stattdessen auf die Position in jedem Ergebnis auf konzentriert. In diesem Szenario wird die min_score nur auf den semantischen Retriever angewendet.

Fazit

Mit min_score haben wir gezeigt, wie wir die Anzahl der Fehlalarme in unseren Ergebnissätzen reduzieren können, die durch den hohen Recall semantischer Suchalgorithmen verursacht werden. Um mehr über Retriever zu erfahren, siehe bitte diesen Blogbeitrag und die Elasticsearch-Dokumentation.

Zugehörige Inhalte

Sind Sie bereit, hochmoderne Sucherlebnisse zu schaffen?

Eine ausreichend fortgeschrittene Suche kann nicht durch die Bemühungen einer einzelnen Person erreicht werden. Elasticsearch wird von Datenwissenschaftlern, ML-Ops-Experten, Ingenieuren und vielen anderen unterstützt, die genauso leidenschaftlich an der Suche interessiert sind wie Sie. Lasst uns in Kontakt treten und zusammenarbeiten, um das magische Sucherlebnis zu schaffen, das Ihnen die gewünschten Ergebnisse liefert.

Probieren Sie es selbst aus