Suche und Ranking

Wie semantische, lexikalische und exakte Phrasensuche zusammenspielen, und wie du die Ergebnisse testest.

Jede Suche kombiniert zwei Techniken gleichzeitig gegen deine Resources:

  • Eine semantische Suche, die nach Chunks sucht, die inhaltlich zur Anfrage passen, auch wenn sie völlig andere Wörter verwenden.
  • Eine lexikalische Suche, die nach Chunks sucht, die die tatsächlichen Wörter der Anfrage enthalten.

Keine der beiden reicht allein aus. Semantische Suche macht eine Suche intelligent, weil sie eine Frage beantworten kann, die nie so formuliert war wie der Quelltext. Allein versagt sie aber genau bei dem, was in der Praxis oft am wichtigsten ist, etwa einem Produktcode oder einer Bestellnummer, bei denen die exakte Zeichenfolge der ganze Punkt ist und "Bedeutung" kaum eine Rolle spielt. Lexikalische Suche hat das entgegengesetzte Profil: hervorragend bei exakten Begriffen, blind für eine Umschreibung.

TechnikGut bei
SemantischFragen, die anders formuliert sind als der Quelltext, Synonyme, Umschreibungen.
LexikalischExakte Begriffe: Produktcodes, Bestellnummern, Namen.

Die lexikalische Seite versteht aktuell nur englische Wörter. Inhalte in anderen Sprachen profitieren trotzdem von der semantischen Seite, die sprachübergreifend funktioniert.

Semantische und lexikalische Suche kombinieren

Die Kombination beider Techniken übernimmt der Service automatisch, es gibt nichts, was du pro Knowledge Group konfigurieren müsstest. Die semantischen und lexikalischen Ergebnisse werden zunächst zu einer einzigen Rangliste zusammengeführt, basierend darauf, auf welchem Platz jeder Chunk in der jeweiligen Suche lag, statt rohe Ähnlichkeitswerte zu mischen. Diese zusammengeführte Liste durchläuft dann einen Reranking-Schritt, der die Anfrage und jeden Kandidaten gemeinsam betrachtet, um die endgültige Reihenfolge zu verfeinern, bevor die besten Treffer zurückgegeben werden.

Exact Filter

Setze einen Teil deiner Anfrage in doppelte Anführungszeichen, um eine exakte Phrase zu verlangen: nur Chunks, deren Text genau diesen Wortlaut enthält, werden überhaupt berücksichtigt, selbst wenn ein anderer Chunk sonst eine starke Übereinstimmung für den Rest der Anfrage wäre.

"30 day return"

Eine Anfrage kann eine zitierte Phrase mit einfachen Wörtern mischen. Die einfachen Wörter nehmen weiterhin an der normalen semantischen und lexikalischen Suche teil, sie lockern die Phrasen-Anforderung aber nie:

"30 day return" exceptions

Du kannst auch mehrere Phrasen in derselben Anfrage zitieren; ein Chunk muss dann jede dieser Phrasen enthalten, um berücksichtigt zu werden:

"brand video" "every launch"

Ein paar Dinge, die du über das Phrasen-Matching wissen solltest:

  • Das Matching ist gross-/kleinschreibungsunabhängig und tolerant gegenüber dem Abstand zwischen den Wörtern, "30 day return" findet also auch Text, der als 30-day return geschrieben ist oder über einen Zeilenumbruch verteilt ist.
  • Es findet keine andere Wortform: "brand video" findet nicht "branding videos".
  • Eine Phrase kann keine Satz- oder Klausel-Grenze überschreiten: ein Punkt, Komma, Semikolon, Doppelpunkt, Frage- oder Ausrufezeichen zwischen den Wörtern verhindert das Match.

Enthält nichts in der Knowledge Group die geforderte Phrase, liefert die Suche keine Ergebnisse, zusammen mit einem PHRASE_NOT_FOUND-Hinweis, siehe Ergebnisse verstehen weiter unten.

Ergebnisse verstehen

Der Score jedes Ergebnisses zeigt, wie gut dieser Chunk zur Anfrage passt, nachdem Ranking und Reranking angewendet wurden: je höher der Score, desto besser die Übereinstimmung.

Neben results kann eine Suchantwort ein notes-Array enthalten: kurze, verständliche Hinweise zu etwas Wissenswertem an dieser konkreten Suche, jeweils mit einem reason-Code und einer message, siehe Request-Referenz für die vollständige Liste. Ein Hinweis erscheint zum Beispiel bei einer leeren Knowledge Group, bei einer Anfrage, die zu nichts wirklich gepasst hat, oder bei Ergebnissen, die nur mit einer der beiden Techniken bewertet werden konnten. Du kannst diese Hinweise an das Modell weitergeben, dem du die Ergebnisse übergibst, als allgemeine Metadaten darüber, wie die Suche verlaufen ist, damit es sagen kann, dass nichts Relevantes gefunden wurde, statt aus einer themenfremden Textstelle zu antworten.

Context Preview

Mit Context Preview führst du direkt im Dashboard eine echte Suche gegen die Resources einer Gruppe aus, um die Ergebnisse zu beurteilen, bevor du irgendeinen Integrationscode schreibst. Öffne es über die Resources-Seite einer Gruppe.

Context-Preview-Dialog mit Suchergebnissen und ihren Scores

FeldPflichtBeschreibung
Search queryJaDie Frage oder der Text, nach dem gesucht wird.
Role (optional)NeinFindet nur Resources mit dieser Role oder ganz ohne Role, siehe Role Filter.
Results limitNeinWie viele Chunks zurückgegeben werden, von 1 bis 20. Standard: 5.

Klicke auf Run test, um die passenden Chunks zu sehen, jeweils mit Score und einer Vorschau des Texts.

Context Preview zeigt aktuell nur die Ergebnisse und ihre Scores; das oben beschriebene notes-Array ist über die API verfügbar, siehe Externe Integrationen.

Auf dieser Seite