GEBIET
Die Vorrichtung und das Verfahren, die in diesem Dokument offenbart sind, beziehen sich auf maschinelles Lernen und insbesondere auf Halluzinationsdetektion und -handhabung für Konversationssysteme auf der Basis eines großen Sprachmodells.
HINTERGRUND
Sofern hier nichts anderes angegeben ist, werden die in diesem Abschnitt beschriebenen Materialien durch Aufnahme in diesen Abschnitt nicht als Stand der Technik eingeräumt.
Große Sprachmodelle (Large Language Models - LLMs) sind in jüngster Zeit zum Schwerpunkt der künstlichen Intelligenz geworden und wurden in vielen Anwendungen verwendet. LLMs, wie z. B. ChatGPT, haben sich als besonders effektiv für die Entwicklung von Konversationssystemen, wie z. B. Frage-Antwort-(Question-Answering - QA)-Systemen, erwiesen. LLMs werden mit enormen Mengen an Trainingsdaten und typischerweise mit mehreren Trainingszielen in Bezug auf die Verarbeitung natürlicher Sprache trainiert. Die Verwendung von LLMs verbessert die Leistung von Downstream-Konversationsaufgaben erheblich. Insbesondere ermöglichen es LLMs Systemen, die Eingabe eines Benutzers besser zu verstehen, reicheres Wissen zu erlernen und Fähigkeiten zur Verarbeitung natürlicher Sprache zu verbessern (z. B. in der Konferenzauflösung, in der Zusammenfassung usw.). Darüber hinaus ermöglichen es LLMs Systemen, mehr natürliche und qualitativ hochwertigere Antworten zu erzeugen. Im Vergleich zur bisherigen Technologie des Stands der Technik können die kürzlich entwickelten Konversationssysteme auf LLM-Basis (z. B. ChatGPT, GPT4) die Absicht eines Benutzers genauer verstehen und viel intelligentere Konversationen mit dem Benutzer erzeugen.
LLMs weisen jedoch immer noch eine Reihe von Schwächen auf. Ein großes Problem bei LLMs ist das sogenannte „Halluzinations“-Problem. Das Halluzinationsproblem kann allgemein als das Phänomen verstanden werden, bei dem das LLM bei einer Anfrage des Benutzers eine Antwort erzeugt, die unwahre oder „halluzinierte“ Informationen enthält. Mit anderen Worten, das LLM kann einen gewissen Inhalt in seiner Antwort erfinden, der nicht auf Fakten basiert, sondern stattdessen enthalten ist, um die Antwort wahrscheinlicher erscheinen zu lassen. Das Halluzinationsproblem ist insbesondere für domänenspezifische Konversationsanwendungen (z. B. Konversationsassistenten für Fahrzeugreparaturarbeiten, Kochassistenten, die Herd-/Ofenarbeiten beinhalten) kritisch, bei denen die Zuverlässigkeit häufig ein Schlüsselfaktor ist, der die Zufriedenheit des Benutzers mit dem System beeinträchtigt. Darüber hinaus kann der halluzinierte Inhalt in Antworten, die durch das LLM-basierte System bereitgestellt werden, verursachen, dass erhebliche Haftungsprobleme (z. B. können Schäden oder Verletzungen verursacht werden) für jene Anwendungen entstehen, die eine hohe Zuverlässigkeit erfordern.
Es wurden verschiedene Ansätze vorgeschlagen, um das Halluzinationsproblem der LLM-basierten Erzeugung natürlicher Sprache zu lindern. Für ein domänenspezifisches QA-System besteht eine effektive Möglichkeit, die Zuverlässigkeit des Systems zu verbessern, darin, den Informationsabruf zu katapultieren, um die Fragebeantwortung zu verbessern. Das heißt, angesichts einer Frage des Benutzers können wir, anstatt sich nur darauf zu verlassen, dass das LLM eine Antwort auf die Frage erzeugt, zuerst den Informationsabruf durchführen, um relevante domänenspezifische Informationen für die gegebene Frage zu finden, und dann das LLM bitten, eine eingeschränkte Antwort auf der Basis des/der Abrufergebnisse(s) zu erzeugen. Auf diese Weise kann die Zuverlässigkeit erheblich verbessert werden, da die durch das LLM erzeugte Antwort weitgehend durch den abgerufenen domänenspezifischen Inhalt gestützt wird. Selbst wenn der Informationsabruf zu dem LLM-basierten domänenspezifischen QA-System hinzugefügt wird, tritt das Halluzinationsproblem jedoch von Zeit zu Zeit immer noch auf, typischerweise aufgrund eines unvollständigen Informationsabrufs oder aufgrund dessen, dass zuvor erlerntes Wissen (das während des Trainings des LLM erlernt wurde) zu stark ist. Was benötigt wird, ist ein Ansatz, der die Halluzinationen weiter reduziert und die Zuverlässigkeit des LLM-basierten domänenspezifischen QA auf ein zufriedenstellendes Niveau verbessert.
ZUSAMMENFASSUNG
Es wird ein Verfahren zum Beantworten von Fragen natürlicher Sprache offenbart. Das Verfahren umfasst das Empfangen einer Frage natürlicher Sprache mit einem Prozessor. Das Verfahren umfasst ferner das Abrufen von Kontextinformationen natürlicher Sprache von einer Informationsquelle mit dem Prozessor unter Verwendung einer ersten Informationsabruftechnik basierend auf der Frage natürlicher Sprache. Das Verfahren umfasst ferner das Erzeugen einer Antwort natürlicher Sprache mit dem Prozessor unter Verwendung eines Sprachmodells basierend auf der Frage natürlicher Sprache und den Kontextinformationen natürlicher Sprache. Das Verfahren umfasst ferner das Erfassen von halluziniertem Inhalt in der Antwort natürlicher Sprache mit dem Prozessor basierend auf den Kontextinformationen natürlicher Sprache.
KURZBESCHREIBUNG DER ZEICHNUNGEN
Die vorstehenden Aspekte und andere Merkmale der Systeme und Verfahren werden in der folgenden Beschreibung in Verbindung mit den beigefügten Zeichnungen erläutert.
- 1 zeigt eine beispielhafte Abfrage und Antwort, die durch ein domänenspezifisches, LLM-basiertes QA-System erzeugt werden.
- 2 zeigt eine beispielhafte Ausführungsform eines domänenspezifischen, LLM-basierten QA-Systems.
- 3 zeigt ein Ablaufdiagramm für ein Verfahren zum Handhaben von halluziniertem Inhalt in einem Fragebeantwortungssystem.
- 4 fasst den Prozess für die satzähnlichkeitsbasierte Halluzinationsdetektionstechnik zusammen.
- 5 zeigt Pseudocode, der die satzähnlichkeitsbasierte Halluzinationsdetektionstechnik zusammenfasst.
- 6 zeigt Pseudocode, der die schlüsselwortbasierte Halluzinationsdetektionstechnik zusammenfasst.
- 7 zeigt Pseudocode, der die satzähnlichkeitsbasierte Halluzinationshandhabungstechnik zusammenfasst.
- 8 zeigt Pseudocode, der die schlüsselwortbasierte Halluzinationshandhabungstechnik zusammenfasst.
- 9 zeigt ein Ablaufdiagramm, das ein hybrides Halluzinationshandhabungs-Rahmenwerk zusammenfasst.
- 10 zeigt Pseudocode, der die satzähnlichkeitsbasierte Halluzinationshandhabungstechnik zusammenfasst.
DETAILLIERTE BESCHREIBUNG
Zum Zweck der Förderung eines Verständnisses der Prinzipien der Offenbarung wird nun auf die Ausführungsformen Bezug genommen, die in den Zeichnungen veranschaulicht und in der folgenden schriftlichen Spezifikation beschrieben sind. Es versteht sich, dass dadurch keine Beschränkung des Umfangs der Offenbarung beabsichtigt ist. Es versteht sich ferner, dass die vorliegende Offenbarung jegliche Änderungen und Modifikationen an den veranschaulichten Ausführungsformen beinhaltet und weitere Anwendungen der Prinzipien der Offenbarung beinhaltet, wie sie einem Fachmann auf dem Gebiet, auf das sich diese Offenbarung bezieht, normalerweise einfallen würden.
Übersicht
Hier werden Systeme und Verfahren zum Erfassen und Reduzieren von Halluzinationen und zum Verbessern der Zuverlässigkeit eines LLM-basierten QA-Systems beschrieben. Insbesondere stellt die Offenbarung einen Satz von Halluzinationserfassungs- und - handhabungsansätzen bereit, die verschiedene Arten von Halluzinationen des QA-Systems ansprechen. Die hier beschriebenen Halluzinationserfassungsansätze beinhalten das Vergleichen einer Antwort natürlicher Sprache mit Kontextinformationen durch Satzähnlichkeitsschätzung und Schlüsselwortabgleich bzw.-zuordnung. Die hier beschriebenen Halluzinationshandhabungsansätze beinhalten das Entfernen von halluzinierten Sätzen aus der Antwort natürlicher Sprache oder das Regenerieren der Antwort natürlicher Sprache unter Verwendung besserer Kontextinformationen in Abhängigkeit von einem in der Antwort natürlicher Sprache erfassten Halluzinationsniveau. Es wird ein hybrides Rahmenwerk bereitgestellt, das die Halluzinationserfassungsansätze und die Halluzinationshandhabungsansätze systematisch zu einem System kombiniert, um eine optimale Halluzinationsreduzierungsleistung für das QA-System zu erreichen.
1 zeigt eine beispielhafte Abfrage und Antwort, die durch ein domänenspezifisches, LLM-basiertes QA-System erzeugt werden. Ein Benutzer stellt eine Frage natürlicher Sprache (z. B. „Wie aktiviere ich das Spracherkennungssystem?“) bereit, die sich auf die bestimmte Domäne des Betriebs eines fahrzeuginternen Infotainmentsystems bezieht. Das QA-System ruft Kontextinformationen einschließlich Text natürlicher Sprache (z. B. „Einführen von Spracherkennungsstart unter Verwendung von Uconnect-Spracherkennung mit ... ") von einer oder mehreren domänenspezifischen Ressourcen (z. B. einem Benutzerhandbuch oder Webseiten für das Auto oder für das fahrzeuginterne Infotainmentsystem) ab.
Als nächstes konstruiert das QA-System eine Abfrage 10 (z. B. „Angesichts des Kontexts: Einführen von Spracherkennungsstart unter Verwendung der Spracherkennung mit ... Beantworten der folgenden Frage: Wie aktiviere ich das Spracherkennungssystem in meinem Fahrzeug?“), die sowohl die Frage natürlicher Sprache als auch die Kontextinformationen natürlicher Sprache beinhaltet. Die Abfrage 10 wird als Eingabe in das LLM (z. B. OpenAI GPT) des QA-Systems eingegeben. Das LLM des QA-Systems erzeugt eine Antwort natürlicher Sprache basierend auf der Abfrage 10 (z. B. „Aktivieren des Spracherkennungssystems, Drücken und Halten der VR-Taste an Ihrem Lenkrad für einige Sekunden, bis Sie ein Piep hören. Alternativ können Sie auch „Hey-System“ oder „Hey-Auto“ sagen, um das System zu aktivieren. Sobald das System aktiviert ist, können Sie Sprachbefehle verwenden, um verschiedene Merkmale Ihres Fahrzeugs zu steuern, wie z. B. Telefonanrufe, Einstellen der Temperatur und Navigieren zu einem Ziel.").
Obwohl das Eingeben der Kontextinformationen in das LLM des QA-Systems dazu beiträgt, Halluzinationen in der erzeugten Antwort natürlicher Sprache zu reduzieren, ist es unwahrscheinlich, dass solche Halluzinationen durch das LLM vollständig vermieden werden und von Zeit zu Zeit immer noch auftreten. Zum Beispiel werden in der veranschaulichten Beispielantwort sowohl der 2-te. als auch der 3-te. Satz halluziniert, d. h. nicht durch die bereitgestellten Kontextinformationen erwähnt oder unterstützt. Herkömmliche QA-Systeme würden dennoch einfach als die erzeugte Antwort natürlicher Sprache von dem QA-System an den Benutzer ausgeben. Das QA-System gemäß der Offenbarung wird jedoch versuchen, die Menge an halluziniertem Inhalt in der erzeugten Antwort natürlicher Sprache zu eliminieren oder zu reduzieren, zum Beispiel durch Löschen des 2ten und des 3ten. Satzes oder durch Abrufen besserer Kontextinformationen und Verwenden derselben, um eine Antwort natürlicher Sprache mit weniger halluziniertem Inhalt zu regenerieren.
Beispielhaftes Frage-Antwort-System
2 zeigt eine beispielhafte Ausführungsform eines domänenspezifischen, LLM-basierten QA-Systems 100. In der veranschaulichten Ausführungsform beinhaltet das QA-System 100 einen Server 110 und eine oder mehrere Client-Vorrichtungen 130. Die Client-Vorrichtung 130 (die hier auch als „persönliche elektronische Vorrichtung“ bezeichnet werden kann) kann ein Desktop-Computer, ein Laptop, ein Smartphone, ein Tablet, eine Smartwatch oder eine andere intelligente Vorrichtung sein. Die Client-Vorrichtung 130 ist konfiguriert, um es einem Benutzer zu ermöglichen, eine Frage natürlicher Sprache zu stellen und die Frage zur Verarbeitung an den Server 110 zu übertragen. Der Server 110 ist konfiguriert, um die Frage natürlicher Sprache von der Client-Vorrichtung 130 zu empfangen und die Frage zu verarbeiten, um eine geeignete Antwort zu bestimmen, die an die Client-Vorrichtung 130 zurückübertragen wird. Die Client-Vorrichtung 130 ist konfiguriert, um die Antwort von dem Server 110 zu empfangen und die Antwort dem Benutzer zu präsentieren.
Der Server 110 und die Client-Vorrichtung 130 sind konfiguriert, um über ein oder mehrere Netzwerke 140 miteinander zu kommunizieren. Das Netzwerk 140 kann ein oder mehrere Teilnetzwerke umfassen, die zusammenwirken, um die Kommunikation zwischen dem Server 110 und der Client-Vorrichtung 130 zu ermöglichen. Das Netzwerk 140 kann teilweise ein oder mehrere bereits bestehende drahtgebundene oder drahtlose Netzwerke umfassen, wie etwa lokale Netzwerke, das Internet, Telefonienetzwerke oder eine beliebige Kombination davon. Es versteht sich, dass, obwohl das QA-System 100 als einen bestimmten Server 110 und eine bestimmte Client-Vorrichtung 130 aufweisend beschrieben wird, in einigen Ausführungsformen eine einzelne Rechenvorrichtung (nicht gezeigt) die kombinierten Komponenten und Merkmale sowohl des Servers 110 als auch der Client-Vorrichtung 130 beinhalten kann.
Unter weiterer Bezugnahme auf2 sind beispielhafte Komponenten des Servers 110 gezeigt. In der veranschaulichten Ausführungsform beinhaltet der Server 110 mindestens einen Prozessor 112, einen Speicher 114, eine Benutzerschnittstelle 116 und ein Netzwerkkommunikationsmodul 118. Es versteht sich, dass die veranschaulichte Ausführungsform des Servers 110 nur eine beispielhafte Ausführungsform eines Servers 110 ist und lediglich repräsentativ für beliebige von verschiedenen Arten oder Konfigurationen eines Servers, eines entfernten Computers oder beliebiger anderer Datenverarbeitungssysteme ist, die auf die hierin dargelegte Art und Weise betriebsfähig sind.
Es versteht sich, dass ein „Prozessor“, wie er hierin verwendet wird, ein beliebiges Hardwaresystem, einen beliebigen Hardwaremechanismus oder eine beliebige Hardwarekomponente beinhaltet, die Daten, Signale und/oder andere Informationen verarbeitet. Der Prozessor 112 kann ein System mit einer zentralen Verarbeitungseinheit, mehreren Verarbeitungseinheiten, dedizierten Schaltungen zum Erzielen von Funktionalität und/oder anderen Systemen beinhalten. Beispielhafte Prozessoren beinhalten Mikroprozessoren (µP), Mikrocontroller (µC), digitale Signalprozessoren (DSP), Grafikverarbeitungseinheit (GPU) oder eine beliebige Kombination davon. Der Prozessor 112 ist betriebsfähig mit dem Speicher 114, der Benutzerschnittstelle 116 und dem Netzwerkkommunikationsmodul 118 verbunden.
Der Server 110 kann lokal oder entfernt von einem Benutzer betrieben werden. Um den lokalen Betrieb zu erleichtern, kann der Server 110 die interaktive Benutzerschnittstelle 116 beinhalten. Über die Benutzerschnittstelle 116 kann ein Benutzer Programmanweisungen, die auf dem Speicher 114 gespeichert sind, modifizieren und/oder aktualisieren, sowie Daten aus dem Speicher 114 sammeln und Daten in diesem speichern. In einer Ausführungsform kann die Benutzerschnittstelle 116 in geeigneter Weise einen LCD-Anzeigebildschirm oder dergleichen, eine Maus oder eine andere Zeigevorrichtung, eine Tastatur oder ein anderes Tastenfeld, Lautsprecher und ein Mikrofon beinhalten, wie es sich für den Fachmann versteht.
Das Netzwerkkommunikationsmodul 118 des Servers 110 stellt eine Schnittstelle bereit, die die Kommunikation mit beliebigen von verschiedenen Vorrichtungen oder Netzwerken ermöglicht und mindestens Sendeempfänger oder andere Hardware beinhaltet, die konfiguriert ist, um mit den Client-Vorrichtungen 30 zu kommunizieren. Insbesondere kann das Netzwerkkommunikationsmodul 118 einen lokalen Netzwerkanschluss beinhalten, der die Kommunikation mit beliebigen von verschiedenen lokalen Computern ermöglicht, die in derselben oder einer nahegelegenen Einrichtung untergebracht sind. In einigen Ausführungsformen beinhaltet das Netzwerkkommunikationsmodul 118 ferner einen Weitbereichsnetzwerkanschluss, der die Kommunikation mit entfernten Computern über das Internet ermöglicht. Alternativ kommuniziert der Server 110 über ein separates Modem und/oder einen separaten Router des lokalen Netzwerks mit dem Internet. In einer Ausführungsform ist das Netzwerkkommunikationsmodul 118 mit einem Wi-Fi-Sendeempfänger oder einer anderen drahtlosen Kommunikationsvorrichtung ausgestattet. Dementsprechend versteht es sich, dass die Kommunikation mit dem Server 110 über drahtgebundene Kommunikation oder über die drahtlose Kommunikation erfolgen kann. Die Kommunikation kann unter Verwendung beliebiger von verschiedenen bekannten Kommunikationsprotokollen erfolgen.
Der Speicher 114 des Servers 110 ist konfiguriert, um Informationen zu speichern, einschließlich sowohl Daten als auch Anweisungen. Der Speicher 114 kann von einer beliebigen Art von Vorrichtung sein, die in der Lage ist, Informationen zu speichern, auf die der Prozessor 112 zugreifen kann, wie z. B. eine Speicherkarte, ein ROM, ein RAM, schreibfähige Speicher, Nur-Lese-Speicher, Festplatten, Platten, Flash-Speicher oder ein beliebiges von verschiedenen anderen computerlesbaren Medien, die als Datenspeichervorrichtungen dienen, wie es sich für den Fachmann versteht. Insbesondere beinhaltet der Speicher 114 ein Fragebeantwortungssystem-Backend 120, das ein LLM beinhaltet, das das Verarbeiten von Fragen natürlicher Sprache, die von der Client-Vorrichtung 130 empfangen werden, und das Bestimmen einer geeigneten Antwort auf die Frage natürlicher Sprache ermöglicht.
Der Speicher 114 speichert auch eine Informationsquelle 122, die einen Korpus von Textinformationen umfasst, die sich auf eine oder mehrere bestimmte Wissensdomänen beziehen können, auf die das System 100 angewendet wird. In einigen Ausführungsformen kann die Informationsquelle 122 eine Datenbank beinhalten, die eine große Anzahl von unterschiedlichen Dokumenten, Webseiten und dergleichen aufweist, die in ein Textformat umgewandelt werden. Alternativ könnte die Informationsquelle 122 nur ein einzelnes umfassendes Dokument oder eine kleine Anzahl von Dokumenten für die bestimmte Wissensdomäne beinhalten, auf die das System 100 angewendet wird. Somit versteht es sich, dass die Art der Informationsquelle 122 je nach Umfang der Wissensdomäne(n), auf die das System 100 angewendet wird, erheblich variieren kann.
Unter weiterer Bezugnahme auf2 sind beispielhafte Komponenten der Client-Vorrichtung 130 gezeigt. In der veranschaulichten Ausführungsform umfasst die Client-Vorrichtung 130 einen Prozessor 132, einen Speicher 134, Sendeempfänger 136, einen Anzeigebildschirm 138 und ein Mikrofon 140. Es versteht sich, dass die veranschaulichte Ausführungsform der Client-Vorrichtung 130 nur eine beispielhafte Ausführungsform einer Client-Vorrichtung 130 ist und lediglich repräsentativ für beliebige von verschiedenen Arten oder Konfigurationen einer Client-Vorrichtung, einer persönlichen elektronischen Vorrichtung oder einer anderen Vorrichtung ist, die auf die hierin dargelegte Art und Weise betriebsfähig ist.
Der Prozessor 132 kann irgendeine Art von Prozessoren sein, wie der Fachmann erkennen wird. Es versteht sich für einen Fachmann in dem technischen Gebiet, dass ein „Prozessor“, wie er hier verwendet wird, ein beliebiges Hardwaresystem, einen beliebigen Hardwaremechanismus oder eine beliebige Hardwarekomponente beinhaltet, die Daten, Signale und/oder andere Informationen verarbeitet. Der Prozessor 132 kann ein System mit einer zentralen Verarbeitungseinheit, mehreren Verarbeitungseinheiten, dedizierten Schaltungen zum Erzielen von Funktionalität und/oder anderen Systemen beinhalten. Beispielhafte Prozessoren beinhalten Mikroprozessoren (µP), Mikrocontroller (µC), digitale Signalprozessoren (DSP), Grafikverarbeitungseinheit (GPU) oder eine beliebige Kombination davon. Der Prozessor 132 ist betriebsfähig mit dem Speicher 134, den Sendeempfängern 136, dem Anzeigebildschirm 138 und dem Mikrofon 140 verbunden.
Der Prozessor 132 ist konfiguriert, um den Anzeigebildschirm 138 und das Mikrofon 140 sowie beliebige andere Schnittstellen wie etwa taktile Tasten, Schalter, Umschalter, Lautsprecher und/oder Verbindungsanschlüsse zu bedienen und/oder mit diesen zu kommunizieren. Der Anzeigebildschirm 138 kann ein LCD-Bildschirm oder ein beliebiger von verschiedenen anderen Bildschirmen sein, die für eine persönliche elektronische Vorrichtung geeignet sind. Der Prozessor 132 betreibt den Anzeigebildschirm 138, um dem Benutzer Grafiken, Text und andere Daten über den Anzeigebildschirm 138 visuell anzuzeigen. In einigen Ausführungsformen ist das Mikrofon 140 konfiguriert, um die Stimme eines Benutzers aufzuzeichnen, der eine Frage natürlicher Sprache stellt, die unter Verwendung des QA-Systems 100 beantwortet werden soll. In weiteren Ausführungsformen tippt der Benutzer die Frage natürlicher Sprache unter Verwendung einer virtuellen Tastatur auf dem Anzeigebildschirm 138 oder einer physischen Tastatur, die mit dem Prozessor 132 verbunden ist.
Die Sendeempfänger 136 beinhalten mindestens einen Sendeempfänger, wie etwa einen Wi-Fi-Sendeempfänger, der konfiguriert ist, um mit dem Server 110 über das Netzwerk 140 zu kommunizieren, können aber auch beliebige von verschiedenen anderen Vorrichtungen beinhalten, die zur Kommunikation mit anderen elektronischen Vorrichtungen konfiguriert sind, einschließlich der Fähigkeit, Kommunikationssignale zu senden und Kommunikationssignale zu empfangen. In einer Ausführungsform beinhalten die Sendeempfänger 136 ferner zusätzliche Sendeempfänger, die für Smartphones, Smartwatches, Laptop-Computer, Tablet-Computer, Desktop-Computer, wie etwa Bluetooth-Sendeempfänger, Ethernet-Adapter und Sendeempfänger, die konfiguriert sind, um über drahtlose Telefonienetzwerke zu kommunizieren, üblich sind.
Der Speicher 134 des Servers 110 ist konfiguriert, um Informationen zu speichern, einschließlich sowohl Daten als auch Anweisungen. Der Speicher 134 kann von einer beliebigen Art von Vorrichtung sein, die in der Lage ist, Informationen zu speichern, auf die der Prozessor 132 zugreifen kann, wie z. B. eine Speicherkarte, ein ROM, ein RAM, schreibfähige Speicher, Nur-Lese-Speicher, Festplatten, Platten, Flash-Speicher oder ein beliebiges von verschiedenen anderen computerlesbaren Medien, die als Datenspeichervorrichtungen dienen, wie es sich für den Fachmann versteht. Der Speicher 134 ist konfiguriert, um Programmanweisungen zu speichern, die, wenn sie von dem Prozessor 132 ausgeführt werden, es der Client-Vorrichtung 130 ermöglichen, die Merkmale, Funktionalität, Eigenschaften und/oder dergleichen wie hierin beschrieben bereitzustellen. Insbesondere beinhaltet der Speicher 134 eine QA-Systemanwendung 142, die es einem Benutzer ermöglicht, eine Frage natürlicher Sprache zu stellen und eine entsprechende Antwort auf die Frage natürlicher Sprache zu empfangen, die von dem Server 110 bereitgestellt wird. Es versteht sich, dass die QA-Systemanwendung 142 eine nativ ausgeführte Anwendung oder eine Webanwendung sein kann, die über einen Webbrowser ausgeführt wird.
Verfahren zum Handhaben von halluziniertem Inhalt in einem Fragebeantwortungssystem
Im Folgenden werden eine Vielzahl von Operationen und Prozessen zum Betreiben des Servers 110 und der Client-Vorrichtung 130 beschrieben, um ein Fragebeantwortungssystem bereitzustellen, das halluzinierten Inhalt besser erfasst und handhabt. In diesen Beschreibungen beziehen sich Aussagen, dass ein Verfahren, ein Prozessor und/oder ein System eine Aufgabe oder Funktion ausführt, auf eine Steuerung oder einen Prozessor (z. B. den Prozessor 112 des Servers 110 oder den Prozessor 132 der Client-Vorrichtung 130), die programmierte Anweisungen ausführen, die in nichtflüchtigen computerlesbaren Speichermedien (z. B. dem Speicher 120 des Servers 110 oder dem Speicher 134 der Client-Vorrichtung 130) gespeichert sind, die betriebsfähig mit der Steuerung oder dem Prozessor verbunden sind, um Daten zu manipulieren oder eine oder mehrere Komponenten in dem Server 110 und der Client-Vorrichtung 130 zu betreiben, um die Aufgabe oder Funktion auszuführen. Darüber hinaus können die Schritte der Verfahren in jeder möglichen chronologischen Reihenfolge durchgeführt werden, unabhängig von der in den Figuren gezeigten Reihenfolge oder der Reihenfolge, in der die Schritte beschrieben werden.
3 zeigt ein Ablaufdiagramm für ein Verfahren 200 zum Handhaben von halluziniertem Inhalt in einem LLM-basierten QA-System. Das Verfahren 200 nutzt vorteilhafterweise einen Satz von Halluzinationserfassungs- und -handhabungsansätzen, die verschiedene Arten von Halluzinationen eines QA-Systems ansprechen. Insbesondere nutzt das Verfahren 200 Satzähnlichkeitsschätzung und Schlüsselwortabgleich zwischen den abgerufenen Kontextinformationen und der Antwort natürlicher Sprache, um halluzinierten Inhalt in der Antwort natürlicher Sprache zu erfassen. Wenn halluzinierter Inhalt erfasst wird, reduziert das Verfahren 200 die Menge an halluziniertem Inhalt in der Antwort natürlicher Sprache durch Entfernen von halluziniertem Inhalt oder Regenerieren der Antwort natürlicher Sprache unter Verwendung besserer Kontextinformationen in Abhängigkeit von einem Halluzinationsniveau in der Antwort natürlicher Sprache. Somit verbessert das Verfahren 200 vorteilhafterweise die Zuverlässigkeit und Vertrauenswürdigkeit des LLM-basierten QA-Systems.
Das Verfahren 200 beginnt mit dem Empfangen einer Frage natürlicher Sprache (Block 210). Insbesondere empfängt der Prozessor 112 eine Frage natürlicher Sprache, z. B. von einem Benutzer. In einigen Ausführungsformen führt der Prozessor 132 der Client-Vorrichtung 130 Programmanweisungen der Fragenbeantwortungssystemanwendung 142 aus, um die Frage natürlicher Sprache von dem Benutzer zu empfangen. In einer Ausführungsform betreibt der Prozessor 132 den Anzeigebildschirm 138, um eine grafische Benutzerschnittstelle auf dem Anzeigebildschirm 138 anzuzeigen, die eine Frageaufforderung beinhaltet, über die der Benutzer die Frage natürlicher Sprache in Form von Text unter Verwendung einer Tastatur oder dergleichen tippen kann. Der Prozessor 132 empfängt den Text, der der Frage natürlicher Sprache entspricht, über eine physische oder virtuelle Tastatur der Client-Vorrichtung 130. Alternativ kann der Benutzer die Frage natürlicher Sprache in das Mikrofon 140 sprechen und der Prozessor 132 empfängt Audio, das der Frage natürlicher Sprache entspricht. In einer Ausführungsform transkribiert der Prozessor 132 das empfangene Audio der Frage natürlicher Sprache in eine Textform. Schließlich betreibt der Prozessor 132 die Sendeempfänger 136, um die Frage natürlicher Sprache entweder in Textform oder Audioform zur Verarbeitung an den Server 110 zu übertragen. Der Prozessor 112 des Servers 110 betreibt das Netzwerkkommunikationsmodul 118, um die Frage natürlicher Sprache von der Client-Vorrichtung 130 zu empfangen.
Das Verfahren 200 fährt mit dem Abrufen von Kontextinformationen natürlicher Sprache unter Verwendung einer Informationsabruftechnik basierend auf der Frage natürlicher Sprache fort (Block 220). Insbesondere ruft der Prozessor 112 Kontextinformationen natürlicher Sprache von der Informationsquelle 122 basierend auf der Frage natürlicher Sprache und unter Verwendung einer entsprechenden Informationsabruftechnik ab. Die Informationsabruftechniken, die durch den Prozessor 112 genutzt werden, sind dazu ausgelegt, Informationen natürlicher Sprache abzurufen, die für eine Antwort auf die Frage natürlicher Sprache relevant sind, die hier als „Kontextinformationen“ bezeichnet werden.
Wie oben erörtert, kann die Informationsquelle 122 eine Datenbank beinhalten, die eine große Anzahl von Textdokumenten und dergleichen aufweist, oder könnte nur ein einzelnes umfassendes Dokument oder eine kleine Anzahl von Dokumenten für die bestimmte Wissensdomäne beinhalten, auf die das System 100 angewendet wird. Die abgerufenen Kontextinformationen können zum Beispiel einen oder mehrere Absätze von Text natürlicher Sprache beinhalten, der aus einem oder mehreren Abschnitten eines Dokuments von der Informationsquelle 122 extrahiert wurde. In Abhängigkeit von der Informationsabruftechnik können mehrere Absätze aus demselben Abschnitt desselben Dokuments, aus verschiedenen Abschnitten desselben Dokuments oder aus verschiedenen Abschnitten verschiedener Dokumente abgerufen werden.
Es versteht sich, dass eine große Vielfalt von Informationsabruftechniken, wie etwa Lucene Search, genutzt werden kann, um relevante Kontextinformationen von der Informationsquelle 122 abzurufen. Verschiedene Informationsabruftechniken können unterschiedliche Qualitäten von Abrufergebnissen mit unterschiedlichem Rechenaufwand bereitstellen. Im Allgemeinen stellen Informationsabruftechniken, die rechenintensiver sind, bessere Abrufergebnisse bereit, wohingegen Informationsabruftechniken, die weniger rechenintensiv sind, niedrigere Qualitätsabrufergebnisse bereitstellen.
In mindestens einigen Ausführungsformen wählt der Prozessor 112 eine Informationsabruftechnik aus einer Vielzahl von verfügbaren Informationsabruftechniken aus und führt den anfänglichen Abruf von Kontextinformationen natürlicher Sprache unter Verwendung der ausgewählten Informationsabruftechnik durch. Wie nachstehend erörtert wird, führt der Prozessor 112 in einigen Fällen später den Informationsabruf erneut unter Verwendung einer anderen Informationsabruftechnik durch. In mindestens einer Ausführungsform wählt der Prozessor 112 die am wenigsten rechenintensive Informationsabruftechnik zum Durchführen des anfänglichen Informationsabrufs aus.
Das Verfahren 200 fährt mit dem Erzeugen einer Antwort natürlicher Sprache unter Verwendung eines Sprachmodells basierend auf der Frage natürlicher Sprache und den Kontextinformationen natürlicher Sprache fort (Block 230). Insbesondere erzeugt der Prozessor 112 eine Antwort natürlicher Sprache unter Verwendung eines Sprachmodells basierend auf der Frage natürlicher Sprache und den Kontextinformationen natürlicher Sprache. Das Sprachmodell ist beispielsweise ein sogenanntes „großes Sprachmodell“ (LLM), wie z. B. die GPT-Sprachmodelle von OpenAI, das konfiguriert ist, um Ausgangstext natürlicher Sprache basierend auf Eingangstext natürlicher Sprache zu erzeugen, und das mit einer sehr großen Menge an Trainingstexten trainiert wurde. In mindestens einigen Ausführungsformen beinhaltet das Sprachmodell ein künstliches neuronales Netzwerk.
In einigen Ausführungsformen konstruiert der Prozessor 112 eine Abfrage natürlicher Sprache basierend auf der Frage natürlicher Sprache und den Kontextinformationen natürlicher Sprache, die dazu ausgelegt ist, eine Antwort von dem Sprachmodell anzufordern, die basierend auf den Kontextinformationen natürlicher Sprache eingeschränkt ist. Der Prozessor 112 erzeugt die Antwort natürlicher Sprache durch Bereitstellen der Abfrage natürlicher Sprache für das Sprachmodell als Eingabe. Unter erneuter Bezugnahme auf1 wurde die Abfrage 10 erzeugt, indem zusätzlicher Text (z. B. „im Kontext“) aufgenommen wurde, der die Kontextinformationen natürlicher Sprache in der Abfrage 10 identifiziert, gefolgt von dem Text der Kontextinformationen natürlicher Sprache. In ähnlicher Weise wurde die Abfrage 10 erzeugt, indem zusätzlicher Text (z. B. „die folgende Frage beantworten“) aufgenommen wurde, der die Frage natürlicher Sprache in der Abfrage 10 identifiziert, gefolgt von dem Text der Frage natürlicher Sprache. Es versteht sich jedoch, dass die Abfrage auf eine große Vielfalt von Weisen konstruiert werden kann, die sowohl die Frage natürlicher Sprache als auch die Kontextinformationen natürlicher Sprache beinhalten und identifizieren, was zu Varianzen in erzeugten Antworten führt und von dem Sprachmodell abhängen kann, das in dem QA-System 100 genutzt wird.
Das Verfahren 200 fährt mit dem Erfassen von halluziniertem Inhalt in der Antwort natürlicher Sprache basierend auf den Kontextinformationen natürlicher Sprache fort (Block 240). Insbesondere erfasst der Prozessor 112 halluzinierten Inhalt in der Antwort natürlicher Sprache basierend auf zuvor abgerufenen Kontextinformationen natürlicher Sprache. Im Allgemeinen erfasst der Prozessor 112 den halluzinierten Inhalt in der Antwort natürlicher Sprache durch Vergleichen von Sätzen und/oder Schlüsselwörtern in der Antwort natürlicher Sprache mit Sätzen und Wörtern in den zuvor abgerufenen Kontextinformationen natürlicher Sprache. Im Folgenden werden jedoch eine Vielzahl von Spezifikations-Halluzinationsdetektionstechniken ausführlich beschrieben.
In einer satzähnlichkeitsbasierten Halluzinationsdetektionstechnik bestimmt der Prozessor 112 eine Ähnlichkeit zwischen Sätzen in der Antwort natürlicher Sprache und Sätzen in den Kontextinformationen natürlicher Sprache. Als nächstes kennzeichnet der Prozessor 112 einen oder mehrere Sätze in der Antwort natürlicher Sprache als halluzinierten Inhalt als Reaktion darauf, dass der Satz weniger als eine Schwellenähnlichkeit mit jedem Satz in den Kontextinformationen natürlicher Sprache aufweist.
4 fasst den Prozess für die satzähnlichkeitsbasierte Halluzinationsdetektionstechnik zusammen. Jeder Satz der Antwort natürlicher Sprache wird mit Sätzen in den Kontextinformationen natürlicher Sprache verglichen, um einen oder mehrere Sätze darin zu identifizieren, die eine Stütze für den Satz in der Antwort natürlicher Sprache bereitstellen. In der Veranschaulichung werden Ähnlichkeitssätze in der Antwort natürlicher Sprache und den Kontextinformationen natürlicher Sprache mit einem Pfeil dargestellt. Wie zu sehen ist, wird unter den fünf Sätzen in der Antwort gefunden, dass der 1te Satz durch den 2ten Satz in den Kontextinformationen (ähnlich zu diesem) gestützt wird, der 2te Satz durch den 5ten und 6ten Satz in den Kontextinformationen gestützt wird und sowohl der 4te als auch der 5te Satz durch den 8ten Satz in den Kontextinformationen gestützt werden. Der 3te Satz wird jedoch als nicht ähnlich zu jedem Satz in den Kontextinformationen gefunden und wird somit als halluzinierter Inhalt gekennzeichnet.
Die Grundidee der satzähnlichkeitsbasierten Halluzinationsdetektionstechnik besteht darin, zu bestimmen, ob jeder Satz in der Antwort natürlicher Sprache auf dem Abrufergebnis, d. h. den Kontextinformationen natürlicher Sprache, gestützt oder durch dieses gestützt wird. Wenn ein Satz nicht durch das Abrufergebnis gestützt wird, wird er wahrscheinlich halluziniert sein oder, mit anderen Worten, das Sprachmodell hat es erfunden. In mindestens einigen Ausführungsformen nutzt der Prozessor 112 zwei verschiedene Arten von Ähnlichkeitsbewertung, um zu bestimmen, ob ein Satz in der Antwort natürlicher Sprache einem oder mehreren Sätzen in den Kontextinformationen natürlicher Sprache ähnlich ist (d. h. auf diesen gestützt ist). Insbesondere nutzt der Prozessor 112 eine satzeinbettungsbasierte Ähnlichkeitsberechnung und eine musterüberlappungsratenbasierte Ähnlichkeitsberechnung. Der Prozessor 112 verwendet diese beiden Arten von Ähnlichkeitsbewertungen in einer hybriden Weise, um eine gemeinsame Entscheidung darüber zu treffen, ob ein bestimmter Satz in der Antwort natürlicher Sprache auf den Kontextinformationen natürlicher Sprache gestützt ist oder nicht. Wenn nicht, kennzeichnet der Prozessor 112 den Satz als halluzinierten Inhalt.
In der satzeinbettungsbasierten Ähnlichkeitsberechnung bestimmt der Prozessor 112 eine jeweilige Satzeinbettung (z. B. einen Vektor) für jeden Satz in der Antwort natürlicher Sprache und für jeden Satz in den Kontextinformationen natürlicher Sprache. Der Prozessor 112 nutzt ein Sprachmodell und/oder einen Codierer davon, um jede der Satzeinbettungen zu erzeugen. Es sollte jedoch beachtet werden, dass das Sprachmodell, das verwendet wird, um den Satzeinbettungsvektor zu erzeugen, nicht notwendigerweise das gleiche Sprachmodell ist, das verwendet wird, um die Antwort natürlicher Sprache zu erzeugen. In einem Beispiel könnte ein erstes Sprachmodell (z. B. GPT von OpenAI) verwendet werden, um die Antwort natürlicher Sprache zu erzeugen, und ein zweites Sprachmodell (z. B. Sentence-BERT) könnte verwendet werden, um die Satzeinbettungen zu erzeugen, die für Satzähnlichkeitsbestimmungen benötigt werden. In mindestens einer Ausführungsform hat das zweite Sprachmodell, das verwendet wird, um die Satzeinbettungen zu erzeugen, eine höhere Effizienz und geringere Kosten im Vergleich zu dem ersten Sprachmodell, das verwendet wird, um die Antwort natürlicher Sprache zu erzeugen.
Für jeden Satz in der Antwort natürlicher Sprache bestimmt der Prozessor 112 eine jeweilige Einbettungsähnlichkeit mit jedem Satz in den Kontextinformationen natürlicher Sprache basierend auf einem Vergleich der jeweiligen Satzeinbettungen. In mindestens einer Ausführungsform bestimmt der Prozessor 112 die Einbettungsähnlichkeit zwischen jeder Kombination von Sätzen durch Berechnen einer Kosinusähnlichkeit zwischen den jeweiligen Satzeinbettungen. Als Reaktion darauf, dass ein Paar von Sätzen eine Einbettungsähnlichkeit aufweist, die eine erste vorbestimmte Schwelle (Threshold_A) überschreitet, identifiziert und/oder kennzeichnet der Prozessor 112 das Paar von Sätzen als einander ähnlich. Diese vorbestimmte Schwelle kann auf einen Entwicklungsdatensatz abgestimmt werden.
Es versteht sich jedoch, dass in einigen Fällen ein Satz in der Antwort natürlicher Sprache mehrere Sätze aus den Kontextinformationen natürlicher Sprache kombinieren kann. Gleichermaßen könnte in einigen Fällen ein Satz aus den Kontextinformationen natürlicher Sprache in mehrere Sätze in der Antwort natürlicher Sprache unterteilt werden. Diese Situation, in der es eine Eins-zu-Mehrere- oder Mehrere-zu-Eins-Zuordnung zwischen Sätzen in der Antwort natürlicher Sprache und Sätzen in den Kontextinformationen natürlicher Sprache gibt, wird durch die satzeinbettungsbasierte Ähnlichkeitsberechnung nicht gut angegangen. Insbesondere könnten die Satzeinbettungen in dieser Situation nicht alle einander ähnlich sein, auch wenn die Sätze einander unterstützen, da der längere Satz signifikante zusätzliche Informationen darin im Vergleich zu dem kürzeren Satz enthalten kann. In solchen Fällen hilft die musterüberlappungsratenbasierte Ähnlichkeitsberechnung, eine solche teilweise Ähnlichkeit zwischen den Sätzen zu erfassen.
In der musterüberlappungsratenbasierten Ähnlichkeitsberechnung bestimmt der Prozessor 112 unter Verwendung einer dynamischen Programmierung mit einem Ziel, die Überlappung zu maximieren, eine jeweilige Zuordnung zwischen Wörtern in dem jeweiligen Satz in der Antwort natürlicher Sprache und Wörtern in dem jeweiligen Satz in den Kontextinformationen natürlicher Sprache. Die dynamische Programmierung vergleicht die zwei Sätze im Fokus mit dem Ziel, die Überlappung zu maximieren, und gibt einen optimalen Pfad (z. B. 0011111001111001000000, wobei 1 eine Wortübereinstimmung repräsentiert, ansonsten 0) aus, der das Zuordnungsergebnis für jeden Schritt enthält. Als nächstes bestimmt der Prozessor 112 eine Wortmuster-Überlappungsrate zwischen dem jeweiligen Satz in der Antwort natürlicher Sprache und dem jeweiligen Satz in den Kontextinformationen natürlicher Sprache basierend auf der bestimmten Zuordnung und/oder dem optimalen Pfad.
Insbesondere bestimmt der Prozessor 112 zuerst eine Überlappungslänge basierend auf der bestimmten Zuordnung und/oder dem optimalen Pfad als eine Summe von überlappenden Wörtern zwischen dem jeweiligen Satz in der Antwort natürlicher Sprache und dem jeweiligen Satz in den Kontextinformationen natürlicher Sprache. In einer Ausführungsform bestimmt der Prozessor 112 die Summe von überlappenden Wörtern als eine Gesamtanzahl von überlappenden Wörtern (d. h. die Summe von 1-en in dem optimalen Pfad). In einer alternativen Ausführungsform bestimmt der Prozessor 112 die Summe von überlappenden Wörtern als nur Wörter in überlappenden Phrasen (d. h. Sequenzen von überlappenden Wörtern) enthaltend, die mindestens eine vorbestimmte Mindestanzahl von Wörtern aufweisen (z. B. überlappende Phrasen, die mindestens 4 Wörter aufweisen). In mindestens einer Ausführungsform ist die vorbestimmte Mindestanzahl von Wörtern ein vorbestimmter Prozentsatz (z. B. 30 %) der Anzahl von Wörtern in einem kürzeren Satz des jeweiligen Satzes in der Antwort natürlicher Sprache und des jeweiligen Satzes in den Kontextinformationen natürlicher Sprache. Auf diese Weise werden relativ kurze überlappende Phrasen (z. B. hochfrequente Wörter wie „die“) ignoriert, um den Einfluss von Rauschen zu reduzieren.
Schließlich bestimmt der Prozessor 112 die Wortmuster-Überlappungsrate durch Dividieren der jeweiligen Überlappungslänge durch die Anzahl von Wörtern in einem kürzeren Satz des jeweiligen Satzes in der Antwort natürlicher Sprache und des jeweiligen Satzes in den Kontextinformationen natürlicher Sprache. Auf diese Weise wird die Wortmuster-Überlappung unabhängig von den unterschiedlichen Längen der Sätze definiert und löst das oben besprochene Problem, in dem es eine Eins-zu-Mehrere- oder Mehrere-zu-Eins-Zuordnung zwischen Sätzen in der Antwort natürlicher Sprache und Sätzen in den Kontextinformationen natürlicher Sprache gibt. Als Reaktion darauf, dass ein Paar von Sätzen eine Wortmuster-Überlappungsrate aufweist, die eine zweite vorbestimmte Schwelle (Threshold_B) überschreitet, identifiziert und/oder kennzeichnet der Prozessor 112 das Paar von Sätzen als einander ähnlich. Diese vorbestimmte Schwelle kann auf einen Entwicklungsdatensatz abgestimmt werden.
Wie oben erwähnt, nutzt der Prozessor 112 in mindestens einigen Ausführungsformen sowohl die satzeinbettungsbasierte Ähnlichkeitsberechnung als auch die musterüberlappungsratenbasierte Ähnlichkeitsberechnung in einer hybriden Weise, um eine gemeinsame Entscheidung darüber zu treffen, ob ein bestimmter Satz in der Antwort natürlicher Sprache halluziniert ist oder nicht. Die beiden Arten von Ähnlichkeitsberechnungen weisen unterschiedliche Umstände auf, unter denen sie am nützlichsten sind. Die satzeinbettungsbasierte Ähnlichkeitsberechnung kann die Zuordnung eines Satzes in der Antwort natürlicher Sprache zu einem anderen Satz in den Kontextinformationen natürlicher Sprache handhaben, wohingegen die musterüberlappungsratenbasierte Ähnlichkeitsberechnung gut in der Handhabung der Situation der Eins-zu-Mehrere- oder Mehrere-zu-Eins-Satzzuordnung ist. Da sie komplementäre Vorteile aufweisen, werden sie vorteilhafterweise zu einem hybriden Halluzinationserfassungsansatz kombiniert.
5 zeigt Pseudocode, der die satzähnlichkeitsbasierte Halluzinationserfassungstechnik zusammenfasst. Insbesondere bestimmt der Prozessor 112 für jeden Satz in der Antwort natürlicher Sprache (sen_A), für jeden Satz in den Kontextinformationen natürlicher Sprache (als sen_C bezeichnet) eine Einbettungsähnlichkeit unter Verwendung der satzeinbettungsbasierten Ähnlichkeitsberechnung und eine Wortmuster-Überlappungsrate unter Verwendung der musterüberlappungsratenbasierten Ähnlichkeitsberechnung. Wenn die satzeinbettungsbasierte Ähnlichkeitsberechnung zu einer Einbettungsähnlichkeit führt, die die erste vorbestimmte Schwelle (Threshold_A) überschreitet, dann identifiziert und/oder kennzeichnet der Prozessor 112 Sätze (sen_A und sen_C) als einander ähnlich. Andernfalls, wenn die musterüberlappungsratenbasierte Ähnlichkeitsberechnung zu einer Wortmuster-Überlappungsrate führt, die die zweite vorbestimmte Schwelle (Threshold_B) überschreitet, dann identifiziert und/oder kennzeichnet der Prozessor 112 Sätze (sen_A und sen_C) als einander ähnlich. Andernfalls identifiziert und/oder kennzeichnet der Prozessor 112 Sätze (sen_A und sen_C) als einander nicht ähnlich. Wenn der Satz in der Antwort natürlicher Sprache (sen_A) keinem Satz in den Kontextinformationen natürlicher Sprache ähnlich ist, dann identifiziert und/oder kennzeichnet der Prozessor 112 den Satz in der Antwort natürlicher Sprache (sen_A) als halluzinierten Inhalt. Mit anderen Worten, der Prozessor 112 identifiziert und/oder kennzeichnet einen jeweiligen Satz in der Antwort natürlicher Sprache als halluzinierten Inhalt als Reaktion darauf, dass (i) die Einbettungsähnlichkeit mit jedem Satz in den Kontextinformationen natürlicher Sprache kleiner als die erste vorbestimmte Schwelle (Threshold_A) ist und (ii) die Wortmuster-Überlappungsrate mit jedem Satz in den Kontextinformationen natürlicher Sprache kleiner als die zweite vorbestimmte Schwelle (Threshold_B) ist.
Im Gegensatz zu der satzähnlichkeitsbasierten Halluzinationsdetektionstechnik, die halluzinierten Inhalt auf einer satzweisen Ebene detektiert, ist auch eine schlüsselwortbasierte Halluzinationsdetektionstechnik vorgesehen, die detektiert, ob die Antwort natürlicher Sprache als Ganzes stark halluziniert ist oder nicht.
In der schlüsselwortbasierten Halluzinationsdetektionstechnik identifiziert der Prozessor 112 Schlüsselwörter in der Antwort natürlicher Sprache und bestimmt, ob die Schlüsselwörter auch in den Kontextinformationen natürlicher Sprache vorhanden sind. Als nächstes kennzeichnet der Prozessor 112 die Antwort natürlicher Sprache als halluzinierten Inhalt enthaltend, wenn mindestens eine vorbestimmte Schwellenmenge der Schlüsselwörter in den Kontextinformationen natürlicher Sprache nicht vorhanden ist. Die vorbestimmte Schwellenmenge kann eine feste Anzahl von Schlüsselwörtern oder ein Prozentsatz aller Schlüsselwörter sein, die in der Antwort natürlicher Sprache gefunden werden.
Die Hauptidee der schlüsselwortbasierten Halluzinationsdetektionstechnik besteht darin, dass angesichts einer Antwort natürlicher Sprache, die durch das Sprachmodell erzeugt wird, wenn ein signifikanter Teil der Schlüsselwörter in der Antwort in den Kontextinformationen natürlicher Sprache nicht vorhanden ist, es sehr wahrscheinlich ist, dass das Sprachmodell die Antwort im Wesentlichen halluziniert hat (d. h. sie wird nicht durch die Kontextinformationen natürlicher Sprache gestützt). Die Wirksamkeit dieses Ansatzes hängt von der Genauigkeit und Effizienz der Schlüsselwortextraktionstechnik ab. Wenn die verwendete Schlüsselwortextraktionstechnik Schlüsselwörter mit hoher Effizienz zuverlässig detektieren kann, kann diese schlüsselwortbasierte Halluzinationsdetektionstechnik robuster und effizienter als die in der satzähnlichkeitsbasierten Halluzinationsdetektionstechnik für die Detektion einer stark halluzinierten Antwort sein.
6 zeigt Pseudocode, der die schlüsselwortbasierte Halluzinationsdetektionstechnik zusammenfasst. Insbesondere extrahiert der Prozessor 112 Schlüsselwörter aus der Antwort natürlicher Sprache unter Verwendung einer Schlüsselwortextraktionstechnik des Stands der Technik. Für jedes extrahierte Schlüsselwort in der Antwort natürlicher Sprache identifiziert und/oder kennzeichnet der Prozessor 112 das Schlüsselwort als potenziell halluziniertes Schlüsselwort, wenn das Schlüsselwort nicht in den Kontextinformationen natürlicher Sprache vorkommt. Wenn ein Verhältnis einer Anzahl von potenziell halluzinierten Schlüsselwörtern und einer Anzahl von Gesamtschlüsselwörtern größer als eine vorbestimmte Schwelle ist, dann identifiziert und/oder kennzeichnet der Prozessor 112 die Antwort natürlicher Sprache als Ganzes als stark halluziniert.
In mindestens einigen Ausführungsformen wird die schlüsselwortbasierte Halluzinationsdetektionstechnik mit der zuvor erörterten satzähnlichkeitsbasierten Halluzinationsdetektionstechnik kombiniert. Insbesondere führt der Prozessor 112 in einigen Ausführungsformen zuerst die schlüsselwortbasierte Halluzinationsdetektionstechnik durch, um zu bestimmen, ob die Antwort natürlicher Sprache als Ganzes stark halluziniert ist. Wenn die Antwort natürlicher Sprache als Ganzes stark halluziniert ist, kann die Halluzinationsdetektion dort anhalten. Wenn die Antwort natürlicher Sprache als Ganzes gemäß der schlüsselwortbasierten Halluzinationsdetektionstechnik jedoch nicht stark halluziniert ist, dann führt der Prozessor 112 anschließend die satzähnlichkeitsbasierte Halluzinationsdetektionstechnik durch, um zu bestimmen, ob einzelne Sätze in der Antwort natürlicher Sprache halluziniert sind.
Unter erneuter Bezugnahme auf3 fährt das Verfahren 200 mit dem Erzeugen einer modifizierten Antwort natürlicher Sprache fort, die den halluzinierten Inhalt in der Antwort natürlicher Sprache reduziert (Block 250). Insbesondere erzeugt der Prozessor 112, wenn bestimmt wird, dass die Antwort natürlicher Sprache halluzinierten Inhalt enthält, eine modifizierte Antwort natürlicher Sprache, die den halluzinierten Inhalt in der Antwort natürlicher Sprache reduziert. In einigen Ausführungsformen erzeugt der Prozessor 112 die modifizierte Antwort natürlicher Sprache durch Löschen des halluzinierten Inhalts aus der Antwort natürlicher Sprache. Alternativ oder zusätzlich ruft der Prozessor 112 in einigen Ausführungsformen modifizierte Kontextinformationen natürlicher Sprache unter Verwendung einer anderen Informationsabruftechnik ab und erzeugt die modifizierte Antwort natürlicher Sprache unter Verwendung des Sprachmodells basierend auf der Frage natürlicher Sprache und den modifizierten Kontextinformationen natürlicher Sprache.
In einer satzähnlichkeitsbasierten Halluzinationshandhabungstechnik können in Kombination mit der satzähnlichkeitsbasierten Halluzinationsdetektionstechnik die modifizierten Kontextinformationen natürlicher Sprache in Abhängigkeit von einem Halluzinationsniveau der Antwort natürlicher Sprache erzeugt werden. Wenn die Antwort nur schwach halluziniert ist, löscht der Prozessor 112 die erfassten halluzinierten Sätze aus der Antwort. Wenn die Antwort jedoch stark halluziniert ist, zeigt sie in der Regel an, dass das LLM keine ausreichenden Informationen aus dem Abrufergebnis finden kann, so dass es etwas erfindet, um die Antwort wahrscheinlich erscheinen zu lassen. In diesem Fall schaltet der Prozessor 112 zu einer besseren (wahrscheinlich rechenintensiveren) Informationsabruftechnik um und führt den Informationsabruf, die schnelle Konstruktion und die LLM-basierte Antworterzeugung erneut aus. Dieser Vorgang wird wiederholt, bis die modifizierte Antwort natürlicher Sprache weniger als eine Schwellenmenge an halluziniertem Inhalt enthält oder bis keine weiteren Informationsabruftechniken zu einer reduzierten Menge des halluzinierten Inhalts in der modifizierten Antwort natürlicher Sprache führen.
7 zeigt Pseudocode, der die satzähnlichkeitsbasierte Halluzinationshandhabungstechnik zusammenfasst. Insbesondere erzeugt der Prozessor 112 angesichts der Frage natürlicher Sprache die Antwort natürlicher Sprache unter Verwendung von Kontextinformationen natürlicher Sprache, die unter Verwendung einer Basisinformationsabruftechnik abgerufen werden. Als nächstes bestimmt der Prozessor 112 ein Halluzinationsniveau, das eine Menge des halluzinierten Inhalts in der Antwort natürlicher Sprache klassifiziert. In einer Ausführungsform ist das Halluzinationsniveau eine Zählung, wie viele oder welcher Prozentsatz der Sätze in der Antwort natürlicher Sprache halluziniert sind.
Während halluzinierter Inhalt in der Antwort natürlicher Sprache erfasst wird, erzeugt der Prozessor 112, wenn das Halluzinationsniveau kleiner als eine vorbestimmte Schwelle ist (z. B. weniger als 30 % der Sätze), was anzeigt, dass die Antwort natürlicher Sprache nur schwach halluziniert ist, die modifizierte Antwort natürlicher Sprache durch Löschen der halluzinierten Sätze aus der Antwort natürlicher Sprache, und die verkürzte Antwort natürlicher Sprache wird als die endgültige modifizierte Antwort natürlicher Sprache bereitgestellt.
Andernfalls ruft der Prozessor 112, wenn das Halluzinationsniveau größer als die vorbestimmte Schwelle ist (z. B. größer als 30 % der Sätze), was anzeigt, dass die Antwort natürlicher Sprache stark halluziniert ist, und wenn eine bessere/andere Informationsabruftechnik verfügbar bleibt, modifizierte Kontextinformationen natürlicher Sprache unter Verwendung der besseren/anderen Informationsabruftechnik ab und regeneriert die Antwort natürlicher Sprache unter Verwendung des Sprachmodells basierend auf der Frage natürlicher Sprache und den modifizierten Kontextinformationen natürlicher Sprache. Der Prozess wird mit der regenerierten Antwort natürlicher Sprache wiederholt, bis das Halluzinationsniveau kleiner als die vorbestimmte Schwelle ist (z. B. kleiner als 30 % der Sätze), was anzeigt, dass die Antwort natürlicher Sprache nur schwach halluziniert ist, oder bis keine besseren/anderen Informationsabruftechniken mehr verfügbar sind. In beiden Fällen erzeugt der Prozessor 112 dann schließlich die modifizierte Antwort natürlicher Sprache durch Löschen des halluzinierten Inhalts aus der Antwort natürlicher Sprache, und die verkürzte Antwort natürlicher Sprache wird als die endgültige modifizierte Antwort natürlicher Sprache bereitgestellt.
In einer schlüsselwortbasierten Halluzinationshandhabungstechnik kann in Kombination mit der schlüsselwortbasierten Halluzinationsdetektionstechnik eine modifizierte Antwort natürlicher Sprache durch Regenerieren modifizierter Kontextinformationen natürlicher Sprache unter Verwendung einer besseren/anderen Informationsabruftechnik erzeugt werden. Insbesondere schaltet der Prozessor 112, wenn die Antwort stark halluziniert ist, zu einer besseren (wahrscheinlich rechenintensiveren) Informationsabruftechnik um und führt den Informationsabruf, die schnelle Konstruktion und die LLM-basierte Antworterzeugung erneut aus. Dieser Vorgang wird wiederholt, bis keine Halluzination in der erzeugten Antwort erfasst wird oder kein besserer Abrufer mehr verfügbar ist.
8 zeigt Pseudocode, der die satzähnlichkeitsbasierte Halluzinationshandhabungstechnik zusammenfasst. Insbesondere erzeugt der Prozessor 112 angesichts der Frage natürlicher Sprache die Antwort natürlicher Sprache unter Verwendung von Kontextinformationen natürlicher Sprache, die unter Verwendung einer Basisinformationsabruftechnik abgerufen werden. Während halluzinierter Inhalt in der Antwort natürlicher Sprache erfasst wird, ruft der Prozessor 112, wenn eine bessere/andere Informationsabruftechnik verfügbar bleibt, modifizierte Kontextinformationen natürlicher Sprache unter Verwendung der besseren/anderen Informationsabruftechnik ab und regeneriert die Antwort natürlicher Sprache unter Verwendung des Sprachmodells basierend auf der Frage natürlicher Sprache und den modifizierten Kontextinformationen natürlicher Sprache. Der Prozess wird mit der regenerierten Antwort natürlicher Sprache wiederholt, bis die Antwort natürlicher Sprache nicht mehr stark halluziniert ist (d. h. nicht mehr die vorbestimmte Schwellenmenge der halluzinierten Schlüsselwörter aufweist) oder bis keine besseren/anderen Informationsabruftechniken mehr verfügbar sind.
In mindestens einigen Ausführungsformen werden die schlüsselwortbasierten Halluzinationsdetektions- und -handhabungstechniken mit den satzähnlichkeitsbasierten Halluzinationsdetektions- und -handhabungstechniken kombiniert. Insbesondere weisen die satzähnlichkeitsbasierten Techniken und die schlüsselwortbasierten Techniken komplementäre Vorteile auf. Das heißt, die schlüsselwortbasierten Techniken können für die Detektion einer stark halluzinierten Antwort auf effiziente Weise vorteilhaft sein, während die satzähnlichkeitsbasierten Techniken leicht halluzinierte Antworten detektieren/handhaben können. Somit ist es vorteilhaft, die satzähnlichkeitsbasierten Techniken und die schlüsselwortbasierten Techniken zu einem hybriden Halluzinationshandhabungs-Rahmenwerk zu kombinieren, das Fälle starker Halluzination effizient detektieren kann und gleichzeitig auch Fälle leichter Halluzination handhaben kann.
9 zeigt ein Ablaufdiagramm, das ein hybrides Halluzinationshandhabungs-Rahmenwerk 300 zusammenfasst, das sowohl satzähnlichkeitsbasierte als auch schlüsselwortbasierte Halluzinationsdetektion und -handhabung enthält. Wie ähnlich vorstehend erörtert, wählt der Prozessor 112 angesichts einer Benutzerabfrage 310 (d. h. einer Frage natürlicher Sprache) eine Basisinformationsabruftechnik aus, z. B. einen effizientesten Abrufansatz (Block 320A), führt den Informationsabruf unter Verwendung der Basisinformationsabruftechnik durch (Block 330) und erzeugt eine Antwort natürlicher Sprache 350 unter Verwendung des Sprachmodells (Block 340). Nachdem die Antwort natürlicher Sprache 350 erzeugt wurde, führt der Prozessor 112 die schlüsselwortbasierte Halluzinationsdetektion durch, um zu bestimmen, ob die Antwort natürlicher Sprache als Ganzes stark halluziniert ist (Block 360). Wenn auf der Grundlage der schlüsselwortbasierten Halluzinationsdetektion bestimmt wird, dass die Antwort natürlicher Sprache 350 stark halluziniert ist, wählt der Prozessor 112 eine andere Informationsabruftechnik aus, z. B. einen besseren, aber weniger effizienten Abrufansatz (Block 320B). Andernfalls, wenn auf der Grundlage der schlüsselwortbasierten Halluzinationsdetektion nicht bestimmt wird, dass die Antwort natürlicher Sprache 350 stark halluziniert ist, führt der Prozessor 112 die satzähnlichkeitsbasierte Halluzinationsdetektion durch, um zu bestimmen, ob jeder Satz in der Antwort natürlicher Sprache halluziniert ist (Block 370). Schließlich entfernt der Prozessor 112 Sätze aus der Antwort natürlicher Sprache, von denen bestimmt wurde, dass sie halluziniert sind (Block 380). Die resultierende verkürzte Antwort natürlicher Sprache wird als die endgültige modifizierte Antwort natürlicher Sprache bereitgestellt (Block 390).
Mit dem hybriden Rahmenwerk von9 wird das Halluzinationsproblem im Zusammenhang mit der LLM-basierten Antworterzeugung stark gemildert. Gleichzeitig kann eine hohe Systemeffizienz aufgrund von zwei Faktoren aufrechterhalten werden. Erstens wird die rechenintensive und bessere Informationsabruftechnik nur bei Bedarf angewendet (d. h. wenn eine starke Halluzination detektiert wird). Zweitens kann die kombinierte Verwendung von schlüsselwortbasierter und ähnlichkeitsbasierter Halluzinationsdetektion die Gesamteffizienz der Halluzinationsdetektion weiter verbessern. Insbesondere wird die schlüsselwortbasierte Halluzinationsdetektion, die typischerweise effizienter ist, zuerst angewendet, um die Notwendigkeit der Verwendung einer besseren Informationsabruftechnik zu identifizieren. Dann wird die satzähnlichkeitsbasierte Halluzinationsdetektion anschließend angewendet, um verbleibenden halluzinierten Inhalt aus der Antwort natürlicher Sprache zu eliminieren.
Unter erneuter Bezugnahme auf3 fährt das Verfahren 200 mit dem Ausgeben der modifizierten Antwort natürlicher Sprache fort (Block 260). Insbesondere wird mindestens eine Benutzerschnittstellenvorrichtung betrieben, um die endgültige modifizierte Antwort natürlicher Sprache an einen Benutzer auszugeben (z. B. den Benutzer, der die Frage natürlicher Sprache bereitgestellt hat). In einigen Ausführungsformen wird ein Lautsprecher betrieben, um die endgültige modifizierte Antwort natürlicher Sprache unter Verwendung von Audioform auszugeben. In einigen Ausführungsformen wird ein Anzeigebildschirm betrieben, um die endgültige modifizierte Antwort natürlicher Sprache in grafischer Form anzuzeigen.
In mindestens einigen Ausführungsformen betreibt der Prozessor 112 des Servers 110 das Netzwerkkommunikationsmodul 118, um die endgültige modifizierte Antwort natürlicher Sprache an die Client-Vorrichtung 130 zu übertragen. Der Prozessor 132 der Client-Vorrichtung 130 betreibt die Sendeempfänger 136, um die endgültige modifizierte Antwort natürlicher Sprache von dem Server 110 zu empfangen. Der Prozessor 132 betreibt mindestens eine Ausgabevorrichtung, um die endgültige modifizierte Antwort natürlicher Sprache wahrnehmbar an den Benutzer auszugeben. In einer Ausführungsform betreibt der Prozessor 132 den Anzeigebildschirm 138, um eine grafische Benutzerschnittstelle auf dem Anzeigebildschirm 138 anzuzeigen, der die endgültige modifizierte Antwort natürlicher Sprache in grafischer Form beinhaltet. In einer Ausführungsform betreibt der Prozessor 132 einen Lautsprecher der Client-Vorrichtung 130, um die Textfolge natürlicher Sprache unter Verwendung einer Text-zu-Sprache-Maschine laut zu lesen.
In einigen Ausführungsformen ist das QA-System 100 zusätzlich zum Erzeugen der endgültigen modifizierten Antwort natürlicher Sprache auch konfiguriert, um Informationen bereitzustellen, die identifizieren, welche Sätze in den Kontextinformationen natürlicher Sprache eine Stütze für jeden Satz in der endgültigen modifizierten Antwort natürlicher Sprache bereitstellen. Angaben der unterstützenden Sätze in den Kontextinformationen natürlicher Sprache werden neben der Antwort natürlicher Sprache auf die gleiche Weise, die oben in Bezug auf das Ausgeben der Antwort natürlicher Sprache erörtert wurde, an den Benutzer ausgegeben (d. h. an die Client-Vorrichtung 130 übertragen und über einen Lautsprecher oder Anzeigebildschirm ausgegeben). Dies bietet vorteilhafterweise eine Rückverfolgbarkeit für ein domänenspezifisches QA-System und stellt nützliche Erkenntnisse für Benutzer bereit.
Beim Durchführen der satzähnlichkeitsbasierten Halluzinationsdetektion auf die oben erörterte Weise identifiziert und/oder kennzeichnet der Prozessor 112 Sätze in der Antwort natürlicher Sprache und den Kontextinformationen natürlicher Sprache, die einander ähnlich sind. Darüber hinaus bestimmt der Prozessor 112 in einigen Ausführungsformen eine Ähnlichkeitsbewertung für jede Paarung von Sätzen (z. B. basierend auf der Kosinusähnlichkeit und/oder der Wortmuster-Überlappungsrate). Basierend auf diesen vorherigen Ähnlichkeitsbestimmungen und/oder Ähnlichkeitsbewertungen identifiziert der Prozessor 112 Sätze in den Kontextinformationen natürlicher Sprache, die eine Stütze für Sätze in dem modifizierten Satz natürlicher Sprache bereitstellen. Insbesondere werden in einer Ausführungsform Sätze in den Kontextinformationen natürlicher Sprache, die als einem bestimmten Satz in der endgültigen modifizierten Antwort natürlicher Sprache ähnlich bestimmt werden, als diesen Satz in der endgültigen modifizierten Antwort natürlicher Sprache unterstützend betrachtet. Alternativ werden in einer anderen Ausführungsform Sätze in den Kontextinformationen natürlicher Sprache, die eine Ähnlichkeitsbewertung größer als eine vorbestimmte Schwelle zu einem bestimmten Satz in der endgültigen modifizierten Antwort natürlicher Sprache aufweisen, als diesen Satz in der endgültigen modifizierten Antwort natürlicher Sprache unterstützend betrachtet.
10 zeigt Pseudocode, der die satzähnlichkeitsbasierte Halluzinationshandhabungstechnik zusammenfasst. Insbesondere bestimmt der Prozessor 112 für jeden Satz in der Antwort natürlicher Sprache (sen_A), für jeden Satz in den Kontextinformationen natürlicher Sprache (als sen_C bezeichnet) eine Einbettungsähnlichkeit unter Verwendung der satzeinbettungsbasierten Ähnlichkeitsberechnung und eine Wortmuster-Überlappungsrate unter Verwendung der musterüberlappungsratenbasierten Ähnlichkeitsberechnung. Wenn die satzeinbettungsbasierte Ähnlichkeitsberechnung zu einer Einbettungsähnlichkeit führt, die die erste vorbestimmte Schwelle (Threshold_A) überschreitet, dann identifiziert und/oder kennzeichnet der Prozessor 112 den Satz in den Kontextinformationen natürlicher Sprache (sen_C) als den Satz in der Antwort natürlicher Sprache (sen_A) unterstützend. Andernfalls, wenn die musterüberlappungsratenbasierte Ähnlichkeitsberechnung zu einer Wortmuster-Überlappungsrate führt, die die zweite vorbestimmte Schwelle (Threshold_B) überschreitet, dann identifiziert und/oder kennzeichnet der Prozessor 112 den Satz in den Kontextinformationen natürlicher Sprache (sen_C) als den Satz in der Antwort natürlicher Sprache (sen_A) unterstützend. Schließlich werden die unterstützenden Sätze oder Angaben davon in den Kontextinformationen natürlicher Sprache an den Benutzer ausgegeben, wie oben erörtert.
Ausführungsformen innerhalb des Umfangs der Offenbarung können auch nichtflüchtige computerlesbare Speichermedien oder maschinenlesbare Medien zum Tragen von oder mit darauf gespeicherten computerausführbaren Anweisungen (auch als Programmanweisungen bezeichnet) oder Datenstrukturen beinhalten. Solche nichtflüchtigen computerlesbaren Speichermedien oder maschinenlesbaren Medien können beliebige verfügbare Medien sein, auf die durch einen Universal- oder Spezialcomputer zugegriffen werden kann. Beispielsweise und nicht beschränkend können solche nichtflüchtigen computerlesbaren Speichermedien oder maschinenlesbaren Medien RAM, ROM, EEPROM, CD-ROM oder andere optische Plattenspeicher, Magnetplattenspeicher oder andere magnetische Speichervorrichtungen oder beliebige andere Medien umfassen, die verwendet werden können, um gewünschte Programmcodemittel in Form von computerausführbaren Anweisungen oder Datenstrukturen zu tragen oder zu speichern. Kombinationen des Vorstehenden sollten ebenfalls innerhalb des Umfangs der nichtflüchtigen computerlesbaren Speichermedien oder maschinenlesbaren Medien eingeschlossen sein.
Computerausführbare Anweisungen beinhalten beispielsweise Anweisungen und Daten, die einen Universalcomputer, Spezialcomputer oder eine Spezialverarbeitungsvorrichtung dazu veranlassen, eine bestimmte Funktion oder Gruppe von Funktionen auszuführen. Computerausführbare Anweisungen beinhalten auch Programmmodule, die von Computern in eigenständigen oder Netzwerkumgebungen ausgeführt werden. Im Allgemeinen beinhalten Programmmodule Routinen, Programme, Objekte, Komponenten und Datenstrukturen usw., die bestimmte Aufgaben ausführen oder bestimmte abstrakte Datentypen implementieren. Computerausführbare Anweisungen, zugehörige Datenstrukturen und Programmmodule stellen Beispiele für die Programmcodemittel zum Ausführen von Schritten der hierin offenbarten Verfahren dar. Die bestimmte Sequenz derartiger ausführbarer Anweisungen oder zugehöriger Datenstrukturen stellt Beispiele für entsprechende Handlungen zum Implementieren der in derartigen Schritten beschriebenen Funktionen dar.
Obwohl die Offenbarung in den Zeichnungen und der vorstehenden Beschreibung ausführlich veranschaulicht und beschrieben wurde, sollte diese als veranschaulichend und nicht einschränkend betrachtet werden. Es versteht sich, dass nur die bevorzugten Ausführungsformen vorgestellt wurden und dass alle Änderungen, Modifikationen und weiteren Anwendungen, die in den Grundgedanken der Offenbarung fallen, geschützt werden sollen.