Copyright ©
Mindbreeze GmbH, A-4020 Linz, 2024.
Alle Rechte vorbehalten. Alle verwendeten Hard- und Softwarenamen sind Handelsnamen und/oder Marken der jeweiligen Hersteller.
Diese Unterlagen sind streng vertraulich. Durch die Übermittlung und Präsentation dieser Unterlagen alleine werden keine Rechte an unserer Software, an unseren Dienstleistungen und Dienstleistungsresultaten oder sonstigen geschützten Rechten begründet. Die Weitergabe, Veröffentlichung oder Vervielfältigung ist nicht gestattet.
Aus Gründen der einfacheren Lesbarkeit wird auf die geschlechtsspezifische Differenzierung, z.B. Benutzer/-innen, verzichtet. Entsprechende Begriffe gelten im Sinne der Gleichbehandlung grundsätzlich für beide Geschlechter.
Die große Popularität und vielen Anwendungsmöglichkeiten von OpenAIs ChatGPT Lösung zeigen, wie relevant das Thema Generative AI auf Basis von Large Language Models (LLMs) ist. Gerade im Unternehmenskontext kann diese Technologie einen großen Mehrwert bieten. Der Einsatz wird jedoch durch Themen wie Halluzinationen, fehlende Aktualität, Datensicherheit, kritische Fragen bezgl. geistiges Eigentum und technische Umsetzung bei sensiblen Daten erschwert. Mindbreeze bietet eine Lösung in Form einer Kombination aus Insight Engine und LLMs, die in der Lage ist genau diese Schwächen auszugleichen. Das Ergebnis ist die ideale Basis für Generative AI im Unternehmenskontext.
Diese Basis trägt den Namen „Natural Language Question Answering“, kurz NLQA und vereint die semantische Suche mit dem „Question Answering“. Die semantische Suche ermöglicht das Arbeiten mit vollständigen Sätzen, womit man durch die Eingabe von Sätzen nach Informationen suchen kann. Das „Question Answering“ ist für das Identifizieren von Antwort zuständig, wodurch Antworten in natürlicher Sprache inklusive umliegendem Kontext und Quellenverweis wiedergegeben werden.
In den folgenden Kapiteln wird erklärt, wie die Basiskonfiguration für das NLQA durchgeführt wird. Für weitere Fragen über die Konfiguration und Nutzung des Features, ist das FAQ zu empfehlen. Auch Informationen über die Unterstützung eigener Sprachmodelle und die Handhabung von Feedback ist dort zu finden.
Achtung: Bei der semantischen Suche über trainierte Modelle kann keine 100% vollständige und korrekte Suche gewährleistet werden. Eine Anpassung der Modelle wird nur bei dedizierten Projekten unterstützt, wobei die gelabelten Trainings- und Testdaten von der Kundenumgebung bereitgestellt werden. Zusätzlich ist zu beachten, dass wesentlich mehr Rechenleistung für die Aufbereitung der Daten verwendet wird. Bitte beachten Sie, dass dadurch die Indizierungszeit länger dauen kann. Daher ist nicht gewährleistet, dass die volle Dokumentanzahl mit diesem Feature betrieben werden kann.
In diesem Abschnitt wird beschrieben, Konfigurationsschritte notwendig sind, damit Natural Language Question Answering (NLQA) aktiviert wird.
Navigieren Sie im Mindbreeze Management Center (MMC) zum „Configuration“ Menü und wechseln Sie zum „Indices“ Tab. Fügen Sie anschließend einen neuen Index hinzu („+ Add Index“) und aktivieren Sie „Advanced Settings“.
Aktivieren Sie im nächsten Schritt folgende Optionen im Bereich „Semantic Text Extraction“:
Enable Language Detection | Aktiviert |
Enable Sentence Transformation | Aktiviert |
Weitere Einstellungen, die angepasst werden können:
Static Sentence Transformer Restricted Zones Pattern | Wenn andere Zonen als „content“ oder „title“ für NLQA verfügbar sein sollen. Empfohlener Wert: “content|title” (Standardwert) |
Falls nur Dokumente gewisser Dokumentsprachen für NLQA verfügbar sein sollen, können Sie dies hier einschränken. Zum Beispiel wenn deutsche und englische Dokumente verarbeitet werden sollen: „en|de“ Standardwert: be|bg|br|bs|ca|cs|cy|da|de|el|en|es|et|eo|eu|fi|fo|fr|fy|ga|gd|gl|gv| |
Konfigurieren Sie ihre Datenquelle. Dokumentation der von Mindbreeze InSpire unterstützen Datenquellen finden sie auf help.mindbreeze.com im Bereich „Datenquellen“.
Warten Sie, bis die Indizierung abgeschlossen ist. Testen Sie ihre Konfiguration mithilfe der Standard Mindbreeze InSpire Insight App.
Ja, Sie können NLQA auch auf bestehenden Indizes aktivieren. Konfigurieren Sie „Named Entity Recognition (NER)“ und „Sentence Transformation“, so wie oben beschrieben. Anschließend muss der Index neu aufgebaut werden. Führen Sie einen der folgenden Schritte durch:
Standardmäßig werden die Antworten direkt über den Suchresultaten angezeigt. Darüber hinaus kann die Visualisierung der Antworten frei an Ihre Bedürfnisse angepasst und auch vollständig deaktiviert werden. Siehe dazu Entwicklung von Insight Apps – answers.
Das NLQA-Feature kann mit der bestehenden Mindbreeze InSpire Lizenz genutzt werden. Für weitere Informationen wenden Sie sich bitte an support@mindbreeze.com.
Die Basis für die semantische Suche wird von Transformer-Based-Language-Models im ONNX-Format gebildet. Durch die Verwendung dieses offenen Standards können vortrainierte (pre-trained Models) oder selbst trainierte LLMs in Mindbreeze InSpire integriert werden. Die Konfiguration von Custom Sentence Transformer Models ist in Konfiguration – Mindbreeze InSpire – Sentence Transformation beschrieben.
Es gibt verschiedene Möglichkeiten, die angezeigten Antworten zu beeinflussen:
Filtern von Antworten aufgrund der Qualität oder Anzahl:
Antworten werden nach Ähnlichkeitsfaktor sortiert, wobei die beste Antwort an erster Stelle steht. Der minimale Ähnlichkeitsfaktor für die Anzeige einer Antwort beträgt standardmäßig 50%. Dieser Wert („Minimum Score“) sowie die maximale Anzahl von Antworten („Answer Count“) können in der jeweiligen Index- und Client-Service-Konfiguration (Konfiguration – Mindbreeze InSpire – Sentence Transformation) eingestellt werden.
Reihenfolge der Antworten kann beeinflusst werden (Boostings):
Mindbreeze-Komponenten zur Beeinflussung der Relevanz von Suchtreffern wie der Term2DocumentBoost Transformer und Personalisierte Relevanz können auch für das Boosten von Antworten verwendet werden. Darüber hinaus werden Boostings, die in der api.v2.search-Schnittstelle definiert werden, auch für die Relevanz von Answers angewendet.
Standardmäßig werden die Sentence Embeddings nur für „content“ und „title“ berechnet, weswegen die semantische Suche nur Antworten von diesen Metadaten liefert. Um auch Antworten von anderen Metadaten zu bekommen, konfigurieren Sie die Option „Static Sentence Transformer Restricted Zones Pattern“. Z.B.: Es sollen zusätzlich auch Antworten vom Metadatum „description“ kommen, dann muss Static Sentence Transformer Restricted Zones Pattern“ mit folgendem Wert konfiguriert werden: "content|title|description".
Außerdem ist es wichtig, dass das Metadatum bei der Suche explizit angefordert wird (in unserem Beispiel „description“). Dazu gibt es zwei Möglichkeiten, falls das Metadatum noch nicht angefordert wird:
Ja, es gibt erweiterte Konfigurationsoptionen für NLQA in Konfiguration – Mindbreeze InSpire – Sentence Transformation. Diese Optionen sind normalerweise nur dann für Sie relevant, wenn Sie spezielle Anwendungsfälle haben, die eine spezielle Konfiguration erfordern. Bitte kontaktieren Sie support@mindbreeze.com, wenn Sie für Ihr Data-Science-Projekt Unterstützung benötigen, z.B. wenn Sie ein anderes Modell als das standardmäßig mitgelieferte Sentence Transformer Modell verwenden wollen.
Grundsätzlich: Je mehr Daten von den Sentence Transformern verarbeitet werden, desto länger dauert die Invertierung und desto größer wird auch der (invertierte) Index. Je größer der Index, desto mehr Rechenaufwand ist auch zum Suchzeitpunkt nötigt. Das heißt: Wird der Index verkleinert, wirkt sich dies im Normalfall auch positiv auf die Invertierungsdauer und Suchperformance aus. Dazu gibt es folgende Möglichkeiten in den Index-Einstellungen (Abschnitt Semantic Text Extraction):
Sentence Transformers Model ID Setting | “Default” hat die beste Performance (bezogen auf Invertierungs- und Suchdauer). Hinweis: Wenn der Index mit Mindbreeze InSpire 24.1 oder früher erzeugt wurde und inzwischen keine vollständige Re-Invertierung stattgefunden hat, wird der alte Default „multi-qa-mpnet-base-dot-v1“ verwendet. |
Sentence Transformer Max Batches | Wenn sehr große Dokumente (mit sehr viel Text) indiziert werden, kann sich das auch negativ auf die Performance auswirken. Mit dieser Option kann definiert werden, wie viele Satz-„Batches“ maximal vom Sentence Transformer verarbeitet werden. Z.B.: Sentence Transformer Batch Size: 10 |
Sentence Transformer Restrict to Language Pattern | Wenn z.B. nur englische Dokumente für die Similarity Search relevant sind, kann dies hier mit „en“ eingeschränkt werden. |
Restricted Zones Pattern Static Sentence Transformer Restricted Zones Pattern, Dynamic Sentence Transformer Excluded Zones Pattern | Standardmäßig werden Sentence Embeddings nur für „content“ und „title“ berechnet (Standardwert Static Sentence Transformer Restricted Zones Pattern: „content|title“). Es wird nicht empfohlen, mittels “.*” alle Metadaten mit Sentence Transformers zu prozessieren. Besser ist, die Option „Static Sentence Transformer Restricted Zones Pattern“ zu erweitern, z.B. „content|title|description“, wenn „description“ ein Metadatum mit relevanten Informationen ist. |
Weitere Informationen zu diesen Einstellungen siehe Konfiguration – Mindbreeze InSpire – Sentence Transformation
Das Voting-Feature bietet die Möglichkeit, Feedback eines Users zu einem Answer-Suchresultat zu erhalten. Dieses Feedback wird ebenfalls in der app.telemetry aufgezeichnet. Die InSpire Beta-Version von NLQA unterstützt derzeit keine automatische Anpassung der Relevanz von Antworten für Benutzer auf der Grundlage ihres Feedbacks.
Darüber hinaus werden andere User-Interaktionen mit Answers in app.telemetry aufgezeichnet, z.B. wenn ein Benutzer auf das Quell-Dokument der Answer klickt. Diese Interaktionen sowie das Feedback der Nutzer können im app.telemetry Insight App Reporting Dashboard grafisch dargestellt und ausgewertet werden.
Ja, es gibt Erweiterungen der Mindbreeze Query Language für NLQA.
Wenn NLQA aktiviert ist, wird bei jeder Suche automatisch eine sogenannte Ähnlichkeitssuche (englisch: „Similarity Search“) ausgeführt. Dieses Standardverhalten kann in der Index-Konfiguration angepasst werden. Siehe dafür die Einstellung „Transform Terms to Similarity“ in Konfiguration – Mindbreeze InSpire – Sentence Transformation.
Um eine Ähnlichkeitssuche explizit mithilfe der Mindbreeze Query Language abzusetzen (unabhängig von der Einstellung „Transform Terms to Similarity“), kann folgende Syntax verwendet werden:
~"<Frage>"
Beispiel: ~"Wie viele Konnektoren bietet Mindbreeze InSpire an?"
Die Ähnlichkeitssuche kann auch in Kombination mit der Metadaten-Suche verwendet werden:
<Metadatum>:~"<Frage>"
Beispiel: content:~"Wie viele Konnektoren bietet Mindbreeze InSpire an?"
Die Ähnlichkeitssuche unterstützt auch Optionen, wobei mehrere Optionen in einer Query angegeben werden können:
~[<Option>:<Wert> …]"<Frage>"
Beispiele:
Folgende Optionen stehen dabei zur Verfügung: