Hybride Suche neu betrachtet: Einführung des linearen Retrievers in Elasticsearch!

Entdecken Sie, wie der lineare Retriever die hybride Suche durch die Nutzung gewichteter Scores und MinMax-Normalisierung für präzisere und konsistentere Rangfolgen verbessert, und lernen Sie, wie Sie ihn verwenden.

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.

In unserem vorherigen Blogbeitrag haben wir das von Grund auf neu gestaltete Retriever-Framework vorgestellt, das die Erstellung komplexer Ranking-Pipelines ermöglicht. Wir haben auch untersucht, wie der Reciprocal Rank Fusion (RRF)-Retriever eine hybride Suche ermöglicht, indem er Ergebnisse aus verschiedenen Abfragen zusammenführt. Obwohl RRF einfach zu implementieren ist, weist es eine bemerkenswerte Einschränkung auf: Es konzentriert sich ausschließlich auf relative Ränge und ignoriert tatsächliche Punktzahlen. Dies macht die Feinabstimmung und Optimierung zu einer Herausforderung.

Lernen Sie den Linear Retriever kennen!

In diesem Beitrag stellen wir den linear Retriever vor, unsere neueste Ergänzung zur Unterstützung der Hybridsuche! Im Gegensatz zu rrf berechnet der linear -Retriever eine gewichtete Summe aller Abfragen, die mit einem Dokument übereinstimmen. Dieser Ansatz bewahrt die relative Bedeutung jedes Dokuments innerhalb eines Ergebnissatzes und ermöglicht gleichzeitig eine präzise Kontrolle über den Einfluss jeder Abfrage auf das Endergebnis. Dadurch bietet es eine intuitivere und flexiblere Möglichkeit zur Feinabstimmung der Hybridsuche.

Definieren eines linearen Retrievers, bei dem die endgültige Punktzahl wie folgt berechnet wird:

score=5knn+1.5bm25score = 5 * knn + 1.5 * bm25

Es ist so einfach wie:

Merken Sie, wie einfach und intuitiv es ist? (und sehr ähnlich zu rrf!) Mit dieser Konfiguration können Sie genau steuern, wie viel jeder Abfragetyp zum endgültigen Ranking beiträgt, im Gegensatz zu rrf, das sich ausschließlich auf relative Ränge stützt.

Ein Vorbehalt bleibt bestehen: knn -Wertungen können je nach verwendeter Ähnlichkeitsmetrik streng begrenzt sein. Beispielsweise liegen die Werte bei der Kosinusähnlichkeit oder dem Skalarprodukt einheitsnormalisierter Vektoren immer im Bereich [0, 1] . Im Gegensatz dazu sind bm25 -Werte weniger vorhersehbar und haben keine klar definierten Grenzen.

Skalierung der Ergebnisse: kNN vs. BM25

Eine Herausforderung bei der Hybridsuche besteht darin, dass verschiedene Retriever Ergebnisse auf unterschiedlichen Skalen liefern. Stellen Sie sich beispielsweise das folgende Szenario vor:

Abfrage A-Ergebnisse:

Dokument 1doc2doc3doc4
knn0,3470,350,3480,346
bm251001,510,5

Abfrage B-Ergebnisse:

Dokument 1doc2doc3doc4
knn0,3470,350,3480,346
bm250,630,010,30,4

Sie können die Ungleichheit oben sehen: kNN -Wertungen liegen zwischen 0 und 1, während bm25 -Wertungen stark variieren können. Dieser Unterschied macht es schwierig, statische optimale Gewichte für die Kombination der Ergebnisse festzulegen.

Normalisierung zur Rettung: der MinMax-Normalisierer

Um dieses Problem zu beheben, haben wir einen optionalen minmax -Normalisierer eingeführt, der die Punktzahlen unabhängig für jede Abfrage mithilfe der folgenden Formel auf den [0, 1] -Bereich skaliert:

normalizedscore=(scoremin)/(maxmin)normalized_score = (score - min) / (max - min)

Dadurch bleibt die relative Wichtigkeit jedes Dokuments innerhalb des Ergebnissatzes einer Abfrage erhalten, was die Kombination von Bewertungen verschiedener Abrufer erleichtert. Durch die Normalisierung ergeben sich folgende Werte:

Abfrage A-Ergebnisse:

Dokument 1doc2doc3doc4
knn0,3470,350,3480,346
bm251,000,010,0050,000

Abfrage B-Ergebnisse:

Dokument 1doc2doc3doc4
knn0,3470,350,3480,346
bm251,000,0000,4650,645

Alle Punktzahlen liegen jetzt im Bereich [0, 1] und die Optimierung der gewichteten Summe ist viel einfacher, da wir jetzt die (im Verhältnis zur Abfrage) Wichtigkeit eines Ergebnisses anstelle seiner absoluten Punktzahl erfassen und die Konsistenz über alle Abfragen hinweg aufrechterhalten.

Beispiel für einen linearen Retriever

Sehen wir uns nun ein Beispiel an, um zu zeigen, wie das oben genannte aussieht und wie der linear -Retriever einige der Mängel von rrf behebt. RRF basiert ausschließlich auf relativen Rängen und berücksichtigt keine tatsächlichen Punkteunterschiede. Beispielsweise bei diesen Ergebnissen:

Dokument 1doc2doc3doc4
knn0,3470,350,3480,346
bm251001,510,5
RRF-Score0,032260,032520,032000,03125

rrf würde die Dokumente wie folgt einstufen:

doc2>doc1>doc3>doc4doc2 > doc1 > doc3 > doc4

Allerdings weist doc1 einen deutlich höheren bm25 -Score als die anderen auf, den rrf nicht erfasst, da nur die relativen Ränge berücksichtigt werden. Der linear -Retriever berücksichtigt in Kombination mit der Normalisierung sowohl die Punktzahlen als auch ihre Unterschiede korrekt und erzeugt so eine aussagekräftigere Rangfolge:

Dokument 1doc2doc3doc4
knn0,3470,350,3480,346
bm2510,010,0050

Wie wir oben sehen können, wird das großartige Ranking von doc1 und score für bm25 richtig berücksichtigt und in den endgültigen Ergebnissen widergespiegelt. Darüber hinaus liegen jetzt alle Ergebnisse im Bereich [0, 1] , sodass wir sie viel intuitiver vergleichen und kombinieren können (und sogar Offline-Optimierungsprozesse erstellen können).

Alles zusammenfügen

Um den linear -Retriever mit Normalisierung optimal zu nutzen, würde die Suchanfrage folgendermaßen aussehen:

Dieser Ansatz kombiniert das Beste aus beiden Welten: Er behält die Flexibilität und intuitive Bewertung des linear -Retrievers bei und gewährleistet gleichzeitig eine konsistente Bewertungsskalierung mit MinMax-Normalisierung.

Wie alle unsere Retriever kann der linear -Retriever in jede Ebene eines hierarchischen Retrieverbaums integriert werden und bietet Unterstützung für Erklärbarkeit, Hervorhebung von Übereinstimmungen, Ausblenden von Feldern und mehr.

Wann Sie sich für den Linear Retriever entscheiden sollten und warum das einen Unterschied macht

Der linear -Retriever:

  • Bewahrt die relative Bedeutung durch die Nutzung tatsächlicher Punktzahlen und nicht nur von Rängen.
  • Ermöglicht eine Feinabstimmung mit gewichteten Beiträgen aus verschiedenen Abfragen.
  • Verbessert die Konsistenz durch Normalisierung und macht die Hybridsuche robuster und vorhersehbarer.

Fazit

Der linear -Retriever ist bereits auf Elasticsearch Serverless und den Versionen 8.18 und 9.0 verfügbar! Weitere Beispiele und Konfigurationsparameter finden Sie auch in unserer Dokumentation. Probieren Sie es aus und sehen Sie, wie es Ihr Hybridsucherlebnis verbessern kann – wir freuen uns auf Ihr Feedback. Viel Spaß beim Suchen!

Häufige Fragen

Wie verbessert der lineare Retriever die Hybridsuche im Vergleich zum vorherigen Ansatz der Reciprocal Rank Fusion (RRF)?

Der lineare Retriever bietet gegenüber RRF bei der Hybridsuche mehrere Vorteile. Während sich RRF ausschließlich auf relative Ränge konzentriert und tatsächliche Punktzahlen ignoriert, berechnet der lineare Retriever eine gewichtete Summe über alle Abfragen hinweg und bewahrt so die relative Wichtigkeit jedes Dokuments. Dieser Ansatz ermöglicht eine präzisere Kontrolle darüber, wie verschiedene Abfragetypen zum endgültigen Ranking beitragen. Darüber hinaus unterstützt der lineare Retriever Normalisierungstechniken wie MinMax, wodurch es einfacher wird, Ergebnisse verschiedener Retriever zu kombinieren und das endgültige Suchergebnis zu optimieren. Diese Flexibilität und Kontrolle ermöglichen ein intuitiveres und feiner abgestimmtes Hybridsuch-Erlebnis.

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