Semantische Suche schnell aufbauen

Erfahren Sie mehr über den Einsatz semantischer Methoden des maschinellen Lernens, um relevantere Suchergebnisse in Ihrem Unternehmen zu erzielen.

Semantische Suche ist ein großartiges Werkzeug, das Ihren Kunden oder Mitarbeitern hilft, die richtigen Produkte oder Informationen zu finden. Sie können sogar schwer zu indexierende Informationen aufdecken und so bessere Ergebnisse erzielen. Das heißt, wenn Ihre semantischen Methoden nicht schnell eingesetzt werden, werden sie Ihnen nichts nützen. Der Kunde oder Mitarbeiter wird nicht einfach nur rumsitzen, während das System sich mit der Beantwortung seiner Anfrage Zeit lässt – und wahrscheinlich werden tausend andere Anfragen zur gleichen Zeit eingegeben.

Mit einer langsamen semantischen Suche ist es nicht getan. Wie können Sie also die semantische Suche schnell machen?

Glücklicherweise ist dies die Art von Problem, die Lucidworks gerne löst. Wir haben vor kurzem einen mittelgroßen Cluster getestet – lesen Sie weiter, um mehr Details zu erfahren -, der 1500 RPS (Anfragen pro Sekunde) für eine Sammlung von über einer Million Dokumenten mit einer durchschnittlichen Antwortzeit von etwa 40 Millisekunden ergab. Das ist eine beachtliche Geschwindigkeit.

Implementierung der semantischen Suche

Lucidworks hat die semantische Suche mit dem Ansatz der semantischen Vektorsuche implementiert, um die Magie des maschinellen Lernens blitzschnell umzusetzen. Es gibt zwei entscheidende Teile.

Teil Eins: Das Modell für maschinelles Lernen

Zunächst benötigen Sie eine Möglichkeit, Text in einen numerischen Vektor zu kodieren. Bei dem Text kann es sich um eine Produktbeschreibung, eine Suchanfrage eines Benutzers, eine Frage oder sogar eine Antwort auf eine Frage handeln. Ein semantisches Suchmodell wird darauf trainiert, Text so zu kodieren, dass Text, der anderen Texten semantisch ähnlich ist, in Vektoren kodiert wird, die numerisch „nah“ beieinander liegen. Dieser Kodierungsschritt muss schnell sein, um die Tausenden von möglichen Kundensuchen oder Benutzeranfragen pro Sekunde zu unterstützen.

Teil Zwei: Die Vektorsuchmaschine

Zweitens brauchen Sie eine Möglichkeit, um schnell die besten Übereinstimmungen mit der Kundensuche oder Benutzeranfrage zu finden. Das Modell wird diesen Text in einen numerischen Vektor kodiert haben. Diesen müssen Sie dann mit allen numerischen Vektoren in Ihrem Katalog oder in den Listen mit Fragen und Antworten vergleichen, um die besten Übereinstimmungen zu finden – die Vektoren, die dem Abfragevektor „am nächsten“ kommen. Sie benötigen eine Vektormaschine, die all diese Informationen effektiv und blitzschnell verarbeiten kann. Die Engine könnte Millionen von Vektoren enthalten; Sie wollen nur die besten zwanzig Übereinstimmungen mit Ihrer Anfrage. Und natürlich muss sie etwa tausend solcher Abfragen pro Sekunde verarbeiten.

Milvus, die semantische Suche Engine, bewältigt diese Herausforderungen innerhalb der Lucidworks-Plattform. Milvus ist eine Open-Source-Software, und sie ist schnell. Milvus verwendet FAISS(Facebook AI Similarity Search), dieselbe Technologie, die Facebook in der Produktion für seine eigenen Initiativen zum maschinellen Lernen einsetzt. Bei Bedarf kann es sogar noch schneller auf der GPU laufen. Wenn Lucidworks Fusion 5.3 (oder höher) mit der Komponente für maschinelles Lernen installiert wird, wird Milvus automatisch als Teil dieser Komponente installiert, so dass Sie alle diese Funktionen problemlos aktivieren können.

Die Größe der Vektoren in einer bestimmten Sammlung, die bei der Erstellung der Sammlung angegeben wird, hängt von dem Modell ab, das diese Vektoren erzeugt. Eine bestimmte Sammlung könnte zum Beispiel die Vektoren enthalten, die durch die Kodierung (über ein Modell) aller Produktbeschreibungen in einem Produktkatalog erstellt wurden. Ohne eine semantische Suchmaschine wie Milvus wäre eine Ähnlichkeitssuche im gesamten Vektorraum nicht durchführbar. Die Ähnlichkeitssuche müsste sich also auf eine Vorauswahl von Kandidaten aus dem Vektorraum (z.B. 500) beschränken und hätte sowohl eine geringere Leistung als auch qualitativ schlechtere Ergebnisse. Milvus kann Hunderte von Milliarden von Vektoren über mehrere Vektorsammlungen hinweg speichern, um sicherzustellen, dass die Suche schnell und die Ergebnisse relevant sind.

Semantische Suche verwenden

Nachdem wir nun ein wenig darüber erfahren haben, warum Milvus so wichtig sein könnte, lassen Sie uns zum Arbeitsablauf der semantischen Suche zurückkehren. Die semantische Suche besteht aus drei Phasen. In der ersten Phase wird das maschinelle Lernmodell geladen und/oder trainiert. Danach werden die Daten in Milvus und Solr indiziert. Die letzte Phase ist die Abfragephase, in der die eigentliche Suche stattfindet. Im Folgenden werden wir uns auf die letzten beiden Phasen konzentrieren.

Indizierung in Milvus

Wie im obigen Diagramm dargestellt, finden während der Indizierungsphase die folgenden Schritte für jedes Dokument in der bereitgestellten Datenquelle statt:

  1. Ein Dokument wird an die Index-Pipeline von Smart Answers gesendet.
  2. Das ausgewählte Dokumentfeld (z.B. eine Antwort in einem Q&A-System oder eine Produktbeschreibung in einem E-Commerce-System) wird an das ML-Modell gesendet.
  3. Das ML-Modell liefert einen numerischen Vektor (kodiert aus dem Feld). Der Typ des Modells bestimmt die Größe des Vektors.
  4. Der Vektor und eine eindeutige ID werden in einer Milvus-Sammlung gespeichert.
  5. Das Dokument und die vorherige eindeutige ID werden in Solr gespeichert.

Natürlich kann es Variationen geben, z.B. mehr als ein Feld, das in Milvus kodiert und gespeichert wird. Kommen wir zu Phase zwei.

Milvus abfragen

Wie im obigen Diagramm zu sehen ist, beginnt die Abfragephase ähnlich wie die Indizierungsphase, wobei anstelle von Dokumenten Abfragen kommen. Für jede Abfrage:

  1. Die Anfrage wird an die Index-Pipeline von Smart Answers gesendet.
  2. Die Anfrage wird dann an das ML-Modell gesendet.
  3. Das ML-Modell liefert einen numerischen Vektor (verschlüsselt aus der Abfrage). Auch hier bestimmt die Art des Modells die Größe des Vektors.
  4. Der Vektor wird an Milvus gesendet, das feststellt, welche Vektoren in der angegebenen Milvus-Sammlung am besten zu dem angegebenen Vektor passen.
  5. Milvus gibt eine Liste mit eindeutigen IDs und Entfernungen zurück, die den in Schritt vier ermittelten Vektoren entsprechen.
  6. Eine Abfrage mit diesen IDs und Entfernungen wird an Solr gesendet.
  7. Solr gibt dann eine geordnete Liste der Dokumente zurück, die mit diesen IDs verbunden sind.

Skalentests

Um die optimale Effizienz unserer semantischen Suchflüsse für Kunden sicherzustellen, führen wir Skalierungstests auf der Google Cloud Platform durch. Diese Tests verwenden Gatling-Skripte und umfassen einen Lucidworks Fusion-Cluster mit jeweils acht Replikaten des ML-Modells und des Abfragedienstes sowie eine einzelne Instanz von Milvus. Die Tests wurden mit den Milvus-Indizes FLAT und HNSW durchgeführt. Der FLAT-Index hat eine 100%ige Trefferquote, ist aber weniger effizient – außer bei kleinen Datensätzen. Der HNSW-Index (Hierarchical Small World Graph) hat immer noch qualitativ hochwertige Ergebnisse und eine bessere Leistung bei größeren Datensätzen.

Lassen Sie uns ein paar Zahlen aus einem kürzlich von uns durchgeführten Beispiel betrachten:

Erste Schritte

Die Smart Answers-Pipelines sind so konzipiert, dass sie einfach zu verwenden sind. Lucidworks verfügt über vortrainierte Modelle, die einfach einzusetzen sind und in der Regel gute Ergebnisse liefern – obwohl das Training Ihrer eigenen Modelle in Verbindung mit vortrainierten Modellen die besten Ergebnisse liefert.

Setzen Sie sich noch heute mit uns in Verbindung, um zu erfahren, wie Sie diese Initiativen in Ihre Suchtools integrieren können, um effektivere und attraktivere Ergebnisse zu erzielen.

Sie befinden sich noch in der Forschungsphase? Schauen Sie sich als nächstes diesen Blogbeitrag an: „Wie die semantische Suche den Nutzern hilft, sich selbst zu helfen„.

You Might Also Like

KI-Agenten dominieren den Einkauf. Ist Ihre Website auf die KI-gestützte Suche vorbereitet?

Generative KI-Agenten wie ChatGPT definieren die Produktsuche neu. Erfahren Sie, wie Sie...

Read More

Vom Suchunternehmen zum praktischen KI-Pionier: Unsere Vision für 2025 und darüber hinaus

CEO Mike Sinoway gibt Einblicke in die Zukunft der KI und stellt...

Read More

Wenn KI schief geht: Fehlschläge in der realen Welt und wie man sie vermeidet

Lassen Sie nicht zu, dass Ihr KI-Chatbot einen 50.000 Dollar teuren Tahoe...

Read More

Quick Links