Semantische Suche im maschinellen Lernen, Teil 1 | von Xin Cheng | Juni 2023

0
24


Suchen Sie mit Bedeutung, Absicht und Kontext

Dies ist der vierte Artikel von Entwicklung LLM-gestützter KI-Anwendungen Serie. Von dem Vorheriger Artikelhaben wir Einbettungen/Vektoren eingeführt, die die Technologien für die semantische Suche ermöglichen.

Wir haben die semantische Suche eingeführt zweiter Artikel der Serie. Eine kurze Zusammenfassung: Die semantische Suche versteht die Absicht des Suchenden und die kontextuelle Bedeutung von Begriffen. Ein weiterer Artikel zur semantischen Suche.

Der Artikel stellt die semantische Suche vor und erwähnt zwei Einbettungen in NLP: Worteinbettung und Satzeinbettung (kann Bilder, Audio, Videoeinbettung sein, sofern dies der Fall ist). numerische Darstellung einer Information) und Überlegungen, wenn Sie entscheiden, ob Sie die semantische Suche verwenden möchten oder nicht.

Der Artikel verwendet die Bibliothek txtai.embeddings, um die semantische Suche zu demonstrieren.

Transformer-basierte Modelle können den Kontext von Wörtern und Phrasen besser verstehen und so die Bereitstellung relevanterer Suchergebnisse erleichtern; Unter multimodaler Suche versteht man die Möglichkeit, in mehreren Modi wie Textual content, Bildern und Movies nach Informationen zu suchen.

  1. Intelligente Abfrage/Suche/Fragenbeantwortung: Mit der semantischen Suche können Benutzer Suchanfragen eingeben, die aus Wörtern, semantischen Ausdrücken oder Beispieldokumenten bestehen, und Ergebnisse abrufen, die nach semantischer Ähnlichkeit sortiert sind. Es hilft dabei, Informationen zu finden, die Absicht des Benutzers zu verstehen und relevante Suchergebnisse bereitzustellen.
  2. Metadatenextraktion/Indizierung/Kategorisierung: Semantische Suchhilfen beim Extrahieren von Metadaten aus verschiedenen Quellen wie Bildern und Dokumenten. Es ermöglicht die Kategorisierung von Informationen basierend auf ihrer Absicht und kontextuellen Bedeutung und ermöglicht so eine effiziente Verwaltung und Organisation unstrukturierter Daten.
  3. Wissensmanagement: Semantische Suchlösungen erleichtern das Wissensmanagement innerhalb von Organisationen. Sie ermöglichen die Suche und den Abruf unternehmensweiter Informationen, die Stimmungsanalyse von Bewertungen und Kommentaren sowie die nahtlose Integration von Enterprise-Intelligence-Strategien.
  4. Rechtschreibtoleranz: Die semantische Suche kann Rechtschreibfehler und Variationen in Suchanfragen verarbeiten. Es korrigiert automatisch einfache Fehler wie das Einschließen, Weglassen, Vertauschen und Permutation von Zeichen und verbessert so die Suchgenauigkeit und das Benutzererlebnis.

In dem Artikel geht es um den Aufbau einer Lösung zur Beantwortung von Fragen mithilfe eines Open-Supply-Heuhaufens, der die folgenden Anwendungsfälle ermöglicht

  • Extraktive Fragebeantwortung, bei der Antworten aus dem Textkörper „extrahiert“ werden.
  • Generative Fragebeantwortung, bei der Antworten aus vorhandenen Beispielfragen und korrekten Antworten „generiert“ werden.
  • FAQ-Suche: Generierung von Antworten auf Fragen basierend auf einem Korpus bestehender Fragen und Antworten.
  • Suchen Sie in textbasierten internen Systemen wie Finanzberichten oder Rechtsfall-Suchsystemen (Dokumentensuche).

Haystack unterstützt viele Backend-Datenspeicher (Sie können Elasticsearch und beliebte Vektordatenbanken sehen) und dient als Indexierungs- und Abfrage-Frontend. Es hat auch Pipeline (z. B. Elasticsearch-Retriever-Knoten, Frage-Antwort-Knoten).

Weitere Komponenten der Heuhaufen-basierten semantischen Suche:

  • EmbeddingRetriever
  • FAISSDocumentStore
  • DocumentSearchPipeline

Wenn Sie mit den Ergebnissen des Retrievers unzufrieden sind, können Sie einen „Ranker“-Knoten hinzufügen, um Dokumente neu einzustufen.

Eine einfache kleine Suchanwendung, die OpenAI-Einbettungen zum Konvertieren von Dokumenten verwendet (die resultierenden Einbettungen werden dann in einer neuen Spalte des Datenrahmens gespeichert und in einer CSV-Datei gespeichert), wobei bei der Abfrage cosine_similarity zur Berechnung der Ähnlichkeit verwendet wird. So aktivieren Sie die semantische Suche:

  1. Einbettungsgenerator
  2. Einbettungsshop
  3. Einbetten der Indizierung (für eine effiziente Suche, wie die Indizierung relationaler Datenbanken)
  4. Einbettung der Retriever-/Abfrage-Engine

Serie über Einbettungen. In diesem ersten Artikel geht es zunächst um Transformatoren und darum, wo Einbettungen in die Transformatorarchitektur passen. Dann zwei Hauptfamilien

  • BERT-ähnlich, nur unter Verwendung des Encoderteils des Transformators. Intestine in der Klassifizierung, Zusammenfassung und Entitätserkennung.
  • GPT-Familie, nur Decoder. Intestine in generativen Aufgaben wie Übersetzung und Qualitätssicherung.

MTEB/BEIR Benchmark für die Bewertung von Info-Retrieval-Modellen. Aktuelle Einbettungsmodelle auf dem neuesten Stand der Technik:

  • SBERT Die Modelle (all-MiniLM-L6-v2, all-MiniLM-L12-v2 und all-mpnet-base-v2) bieten eine gute Stability zwischen Einfachheit und Rating-Qualität.
  • SGPT (5.8B, 2.7B, 1.3B) ist eine aktuelle Model des LoRa-Feinabgestimmtes Open-Supply-GPT-NeoX-Modell für das Rating.
  • GTR-T5 ist Googles Open-Supply-Einbettungsmodell für die semantische Suche, das das T5 LLM als Foundation verwendet.
  • E5 (v1 und v2) ist das neueste Einbettungsmodell von Microsoft.

Für die meisten Modelle sind mehrsprachige Versionen verfügbar:

Vorteil von Metadaten: Wenn Textdaten Metadaten enthalten, können wir diese Tatsache bei einer Frage-Antwort-Aufgabe leicht ausnutzen – indem wir einen Filter an unsere Retriever-Reader-Pipeline übergeben. Der Retriever wählt dann nur die Dokumente vor, die zu unserem Filter passen. Dadurch reduzieren wir den Suchraum für den Relaxation der Pipeline erheblich, wenn Sie sich beispielsweise jeweils einen Konkurrenten ansehen möchten. Zu diesem Zweck übergeben Sie dem Retriever einen Filter mit dem Namen eines Unternehmens und den Geschäftsjahren, die Sie untersuchen möchten.

Metadatenfilterung: Ein E-Commerce-Store verfügt über eine Produktdatenliste auf seiner Web site, Sie sehen jedoch zusätzliche Filter wie Preisspanne, Farben, Materials. In dem Artikel geht es um die Verwendung von Deep Studying für Filterempfehlungen (z. B. aus der Abfrage „Goldener Anhänger“, Vorhersage der empfohlenen Facetten: Preisspanne, Kettenlänge, Metallfarbe).

Hintergrund: In der Suchwelt ist Elasticsearch Marktführer für Volltextsuche. Es wurde erfunden, bevor Einbettungen weit verbreitet waren. Wie integriert es die semantische Suche?

Der Artikel erwähnt die drei wichtigsten beweglichen Teile der Vektorsuche: Einbettung, Ähnlichkeitsbewertung/-entfernung, ANN-Algorithmus (wie man effizient in hochdimensionalen Einbettungsräumen im Maßstab sucht)

Schritte zum Hinzufügen der Vektorsuche Elasticsearch:

  1. ES verarbeitet die Ausgangsdaten mit einem Inferenzprozessor Dadurch wird für jede Passage eine Einbettung hinzugefügt. Dazu erstellen wir eine Texteinbettungs-Ingest-Pipeline und indizieren dann unsere ursprünglichen Daten mit dieser Pipeline neu.
  2. Wir müssen eine Zuordnung für unseren Zielindex erstellen und definieren, insbesondere für das Feld text_embedding.predicted_value, in dem der Aufnahmeprozessor Einbettungen speichert. Wenn wir das nicht tun, werden Einbettungen in reguläre Float-Felder indiziert und können nicht für die Vektorähnlichkeitssuche verwendet werden. Dann indizieren Sie die Sammlung mit der Pipeline neu.
  3. Holen Sie sich dabei die Einbettung für die Abfrage. Fügen Sie dann den resultierenden dichten Vektor in _knn_search ein.

Elasticsearch 8.8 bietet Unterstützung für native Hybridsuche.

Programmgesteuerte Möglichkeit zum Indizieren und Abfragen mit Vektoren in Elasticsearch.

Die Stichwortsuche ist immer noch related. Ein Vorteil von Schlüsselwörtern ist die Facette: Dabei handelt es sich um Filter zur Verfeinerung der Suchergebnisse, um nur Elemente anzuzeigen, die aufgrund eines gemeinsamen Merkmals von besonderem Interesse sind. Denken Sie an die linke Seite einer Amazon-Suchergebnisseite. Sie basieren auf den mit Ihren Dokumenten verknüpften Metadaten. Je umfangreicher Ihre Metadaten sind, desto bessere Optionen können Sie Ihren Benutzern bieten. In einer Unternehmensumgebung sind geographische Aspekte (Bundesstaat, Land), unternehmensbezogene Aspekte (Abteilung, Geschäftseinheit) und zeitbasierte Aspekte (Veröffentlichungsdatum, Änderungsdatum) üblich.

Semantische Suche im Azure Cognitive Service



Source link

HINTERLASSEN SIE EINE ANTWORT

Please enter your comment!
Please enter your name here