Semantische Suche mit Vektoren

Veröffentlicht: 2022-11-01

Wenn Sie die neuesten Nachrichten in der Suche verfolgt haben, haben Sie wahrscheinlich schon von der Vektorsuche gehört.

Und vielleicht haben Sie sogar begonnen, sich mit dem Thema zu beschäftigen, um mehr darüber zu erfahren, nur um am anderen Ende verwirrt herauszukommen. Hast du das Mathe nicht auf dem College aufgegeben?

Der Aufbau einer Vektorsuche ist schwierig. Verständnis muss nicht sein.

Und zu verstehen, dass die Vektorsuche nicht die Zukunft ist, sondern die Hybridsuche – das ist genauso wichtig.

Was sind Vektoren?

Wenn wir im Zusammenhang mit maschinellem Lernen von Vektoren sprechen, meinen wir Folgendes: Vektoren sind Gruppen von Zahlen, die etwas darstellen.

Dieses Ding könnte ein Bild, ein Wort oder fast alles sein.

Die Fragen sind natürlich, warum diese Vektoren nützlich sind und wie sie erstellt werden.

Schauen wir uns zuerst an, woher diese Vektoren kommen. Die kurze Antwort: Maschinelles Lernen.

Jay Alammar hat vielleicht den besten Blogbeitrag geschrieben, der jemals darüber geschrieben wurde, was Vektoren sind .

Zusammenfassend lässt sich jedoch sagen, dass Modelle des maschinellen Lernens Elemente eingeben (nehmen wir ab jetzt nur Wörter an) und versuchen, die besten Formeln herauszufinden, um etwas anderes vorherzusagen.

Beispielsweise haben Sie möglicherweise ein Modell, das das Wort „Biene“ aufnimmt, und es versucht, die besten Formeln herauszufinden, die genau vorhersagen, dass „Biene“ in ähnlichen Kontexten wie „Insekten“ und „Wespen“ gesehen wird.

Sobald dieses Modell die beste Formel hat, kann es das Wort „Biene“ in eine Gruppe von Zahlen umwandeln, die zufällig der Gruppe von Zahlen für „Insekten“ und „Wespen“ ähneln.

Warum Vektoren leistungsfähig sind

Aus diesem Grund sind Vektoren wirklich mächtig: Große Sprachmodelle wie Generative Pre-trained Transformer 3 (GPT-3) oder die von Google berücksichtigen Milliarden von Wörtern und Sätzen, sodass sie anfangen können, diese Verbindungen herzustellen und wirklich intelligent zu werden.

Es ist leicht zu verstehen, warum Menschen so begeistert davon sind, diese Intelligenz für die Suche einzusetzen.

Einige sagen sogar, dass die Vektorsuche die Schlüsselwortsuche ersetzen wird, die wir seit Jahrzehnten kennen und lieben.

Die Sache ist jedoch, dass die Vektorsuche die Schlüsselwortsuche nicht vollständig ersetzt. Zu denken, dass die Schlüsselwortsuche keinen immensen Wert behalten wird, lässt zu viel Optimismus in das Neue und Glänzende fließen.

Die Vektorsuche und die Stichwortsuche haben jeweils ihre eigenen Stärken und funktionieren am besten, wenn sie zusammenarbeiten.

Vektorsuche für Long-Tail-Abfragen

Wenn Sie in der Suche arbeiten, sind Sie wahrscheinlich mit dem langen Ende von Abfragen bestens vertraut.

Dieses Konzept, das von Chris Anderson populär gemacht wurde, um digitale Inhalte zu beschreiben , besagt, dass es einige Artikel (für Suchanfragen) gibt, die viel beliebter sind als alles andere, aber dass es viele einzelne Artikel gibt, die immer noch von jemandem gesucht werden.

So ist es mit der Suche.

Einige Abfragen (auch „Kopf“-Abfragen genannt) werden jeweils viel gesucht, aber die große Mehrheit der Abfragen wird sehr wenig gesucht – vielleicht sogar nur ein einziges Mal.

Die Zahlen unterscheiden sich von Website zu Website, aber auf einer durchschnittlichen Website kann etwa ein Drittel der gesamten Suchanfragen von nur wenigen Dutzend Suchanfragen stammen, während fast die Hälfte des Suchvolumens von Suchanfragen stammt, die außerhalb der 1.000 beliebtesten liegen.

Long-Tail-Abfragen sind in der Regel länger und können sogar Abfragen in natürlicher Sprache sein.

Untersuchungen meiner Firma Algolia haben gezeigt, dass 75 % der Suchanfragen aus zwei oder weniger Wörtern bestehen. 90 % der Suchanfragen bestehen aus vier oder weniger Wörtern. Dann brauchen Sie 13 Wörter, um zu 99 % der Suchanfragen zu gelangen!

Sie sind jedoch nicht immer lang, sie könnten nur undurchsichtig sein. Für eine Website für Damenmode könnte „mauve dress“ eine Long-Tail-Suchanfrage sein, da die Leute nicht sehr oft nach dieser Farbe fragen. „Wristlet“ ist ebenfalls eine selten gesehene Suchanfrage, auch wenn die Website Armbänder zum Verkauf anbietet.

Die Vektorsuche funktioniert im Allgemeinen hervorragend für Long-Tail-Abfragen. Es kann verstehen, dass Armbänder Armbändern ähnlich sind, und die Armbänder auch ohne eingerichtete Synonyme auftauchen. Es kann rosa oder violette Kleider zeigen, wenn jemand nach etwas in Lila sucht.

Die Vektorsuche kann sogar für diese langen oder natürlichen Sprachabfragen gut funktionieren. „Etwas, um meine Getränke kalt zu halten“ bringt bei einer gut abgestimmten Vektorsuche Kühlschränke, während Sie bei einer Stichwortsuche besser darauf hoffen, dass Text irgendwo in einer Produktbeschreibung steht.

Mit anderen Worten, die Vektorsuche erhöht den Abruf von Suchergebnissen oder wie viele Ergebnisse gefunden werden.

So funktioniert die Vektorsuche

Die Vektorsuche tut dies, indem sie die oben beschriebenen Zahlengruppen nimmt und die Vektorsuchmaschine fragt: „Wenn ich diese Zahlengruppen als Linien darstellen würde, welche lägen am nächsten beieinander?“

Eine einfache Möglichkeit, dies zu konzeptualisieren, besteht darin, sich Gruppen vorzustellen, die nur zwei Zahlen haben. Die Gruppe [1,2] wird näher an der Gruppe [2,2] sein als an der Gruppe [2.500].

(Da Vektoren natürlich Dutzende von Zahlen enthalten, werden sie in Dutzenden von Dimensionen „grafisch dargestellt“, was nicht so einfach zu visualisieren ist.)

Dieser Ansatz zur Bestimmung der Ähnlichkeit ist leistungsstark, da die Vektoren, die Wörter wie „Doktor“ und „Medizin“ darstellen, viel ähnlicher „graphisch dargestellt“ werden als die Wörter „Doktor“ und „Felsen“.

Nachteile der Vektorsuche

Die Vektorsuche hat jedoch auch Nachteile.

Erstens sind die Kosten. All das maschinelle Lernen, das wir oben besprochen haben? Es hat Kosten.

Zum einen ist das Speichern der Vektoren teurer als das Speichern eines schlüsselwortbasierten Suchindexes. Die Suche nach diesen Vektoren ist in den meisten Fällen auch langsamer als eine Stichwortsuche.

Nun, Hashing kann diese beiden Probleme mindern.

Ja, wir führen mehr technische Konzepte ein, aber dies ist ein weiteres Konzept, dessen Grundlagen ziemlich einfach zu verstehen sind.

Hashing führt eine Reihe von Schritten aus, um eine Information (wie eine Zeichenfolge oder eine Zahl) in eine Zahl umzuwandeln, die weniger Speicherplatz beansprucht als die ursprüngliche Information.

Es stellt sich heraus, dass wir Hashing auch verwenden können, um die Größe von Vektoren zu reduzieren, während wir gleichzeitig beibehalten, was Vektoren nützlich macht: ihre Fähigkeit, konzeptionell ähnliche Elemente abzugleichen.

Durch die Verwendung von Hashing können wir Vektorsuchen viel schneller machen und die Vektoren insgesamt weniger Platz beanspruchen lassen.

Die Details sind sehr technisch, aber was wichtig ist, ist zu verstehen, dass es möglich ist.

Die fortgesetzte Nützlichkeit der Schlüsselwortsuche

Das bedeutet nicht, dass die Stichwortsuche nicht immer noch nützlich ist! Die Stichwortsuche ist im Allgemeinen schneller als die Vektorsuche.

Außerdem ist es einfacher zu verstehen, warum die Ergebnisse so eingestuft werden, wie sie sind.

Nehmen Sie das Beispiel der Suchanfrage „texas“ und „tejano“ und „state“ als potenzielle Wortübereinstimmungen. „Tejano“ ist eindeutig näher, wenn wir den Vergleich aus einer reinen Keyword-Suchperspektive betrachten. Es ist jedoch nicht so einfach zu sagen, was bei einem Vektorsuchansatz näher wäre.

Die schlüsselwortbasierte Suche versteht „texas“ als ähnlicher zu „tejano“, da sie einen textbasierten Ansatz zum Auffinden von Datensätzen verwendet.

Wenn Datensätze Wörter enthalten, die genau mit denen in der Abfrage übereinstimmen (oder innerhalb einer bestimmten Abweichungsstufe liegen, um Tippfehler zu berücksichtigen), wird der Datensatz als relevant betrachtet und in den Ergebnissätzen wieder angezeigt.

Mit anderen Worten, die Stichwortsuche konzentriert sich auf die Genauigkeit der Suchergebnisse oder stellt sicher, dass die zurückgegebenen Datensätze relevant sind, auch wenn es weniger davon gibt.

Schlüsselwortsuche als vorteilhaft für Kopfabfragen

Aus diesem Grund schneidet die Keyword-Suche bei Kopfabfragen wirklich gut ab: den Abfragen, die am beliebtesten sind.

Kopfabfragen sind in der Regel kürzer und lassen sich auch leichter optimieren. Das bedeutet, wenn ein Schlüsselwort aus irgendeinem Grund nicht mit dem richtigen Text in einem Datensatz übereinstimmt, wird es oft von Analysen erfasst, und Sie können ein Synonym hinzufügen .

Da die Stichwortsuche am besten für Head-Abfragen und die Vektorsuche am besten für Long-Tail-Abfragen funktioniert, arbeiten die beiden am besten zusammen.

Dies wird als hybride Suche bezeichnet.

Bei der hybriden Suche verwendet eine Suchmaschine sowohl die Schlüsselwort- als auch die Vektorsuche für eine einzelne Abfrage und ordnet die Datensätze korrekt ein, unabhängig davon, welcher Suchansatz zu ihnen geführt hat.

Ranking von Datensätzen über Suchquellen hinweg

Das Ranking von Datensätzen, die aus zwei verschiedenen Quellen stammen, ist nicht einfach.

Die beiden Ansätze haben naturgemäß unterschiedliche Möglichkeiten, Rekorde zu bewerten.

Die Vektorsuche gibt eine Punktzahl zurück, während einige schlüsselwortbasierte Suchmaschinen dies nicht tun. Selbst wenn die schlüsselwortbasierten Suchmaschinen eine Punktzahl zurückgeben, gibt es keine Garantie dafür, dass die beiden Punktzahlen gleichwertig sind.

Wenn die Punktzahlen nicht gleichwertig sind, kann man nicht sagen, dass eine Punktzahl von 0,8 von der Keyword-Engine relevanter ist als eine Punktzahl von 0,79 von der Vektor-Engine.

Eine andere Alternative wäre, alle Ergebnisse durch die Bewertung entweder der Vektor-Engine oder der Schlüsselwort-Engine laufen zu lassen.

Dies hat den Vorteil, dass Sie den zusätzlichen Rückruf von der Vektor-Engine erhalten, hat aber auch einige Nachteile. Diese zusätzlichen abgerufenen Ergebnisse, die von der Vektor-Engine stammen, werden von einem Keyword-Score nicht als relevant bewertet, da sie sonst bereits in der Ergebnismenge erschienen wären.

Alternativ könnten Sie alle Ergebnisse – Keywords oder andere – durch das Vektor-Scoring laufen lassen, aber das ist langsam und teuer.

Vektorsuche als Fallback

Aus diesem Grund versuchen einige Suchmaschinen nicht einmal, die beiden zu mischen, sondern zeigen stattdessen immer zuerst die Keyword-Ergebnisse und dann die Vektorergebnisse an zweiter Stelle an.

Der Gedanke hier ist, dass Sie, wenn eine Suche null oder wenige Ergebnisse zurückgibt, auf die Vektorergebnisse zurückgreifen können.

Denken Sie daran, dass die Vektorsuche darauf ausgerichtet ist, die Erinnerung zu verbessern oder mehr Ergebnisse zu finden, und daher möglicherweise relevante Ergebnisse findet, die die Schlüsselwortsuche nicht gefunden hat.

Dies ist ein anständiger Notbehelf, aber nicht die Zukunft der echten Hybridsuche.

Bei der echten Hybridsuche werden mehrere verschiedene Suchquellen in derselben Ergebnismenge eingestuft, indem eine Punktzahl erstellt wird, die über verschiedene Quellen hinweg vergleichbar ist.

Heutzutage wird viel über diesen Ansatz geforscht, aber nur wenige machen es gut und stellen ihre Engine öffentlich zur Verfügung.

Was bedeutet das für Sie?

Im Moment ist das Beste, was Sie wahrscheinlich tun können, sich hinzusetzen und auf dem Laufenden zu bleiben, was in der Branche passiert.

Die vektor- und schlüsselwortbasierte Hybridsuche kommt in den kommenden Jahren und wird für Personen ohne Data-Science-Teams verfügbar sein.

In der Zwischenzeit ist die Stichwortsuche immer noch wertvoll und wird nur verbessert, wenn die Vektorsuche später eingeführt wird.

Mehr Ressourcen:

  • Semantische Suche: Wie es funktioniert und für wen es ist
  • Wie NLP und NLU für die semantische Suche funktionieren
  • Wie Suchmaschinen funktionieren

Vorgestelltes Bild: pluie_r/Shutterstock