DE112021004694T5 - Trainieren eines frage-antwort-dialogsystems zum vermeiden von gegnerischen angriffen - Google Patents

Trainieren eines frage-antwort-dialogsystems zum vermeiden von gegnerischen angriffen Download PDF

Info

Publication number
DE112021004694T5
DE112021004694T5 DE112021004694.2T DE112021004694T DE112021004694T5 DE 112021004694 T5 DE112021004694 T5 DE 112021004694T5 DE 112021004694 T DE112021004694 T DE 112021004694T DE 112021004694 T5 DE112021004694 T5 DE 112021004694T5
Authority
DE
Germany
Prior art keywords
statement
answer
question
opponent
entity
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE112021004694.2T
Other languages
English (en)
Inventor
Sara Rosenthal
Avirup Sil
Mihaela Ancuta BORNEA
Radu Florian
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE112021004694T5 publication Critical patent/DE112021004694T5/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/9032Query formulation
    • G06F16/90332Natural language query formulation or dialogue systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/54Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by adding security routines or objects to programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/335Filtering based on additional data, e.g. user or group profiles
    • G06F16/337Profile generation, learning or modification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/577Assessing vulnerabilities and evaluating computer system security
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biophysics (AREA)
  • Molecular Biology (AREA)
  • Bioethics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Machine Translation (AREA)
  • Electrically Operated Instructional Devices (AREA)
  • User Interface Of Digital Computer (AREA)
  • Feedback Control In General (AREA)

Abstract

Ein Verfahren, ein Computerprogrammprodukt und/oder ein Computersystem schützen ein Frage-Antwort-Dialogsystem davor, von gegnerischen Aussagen angegriffen zu werden, die eine Frage falsch beantworten. Eine Datenverarbeitungseinheit greift auf eine Mehrzahl von gegnerischen Aussagen zu, die in der Lage sind, einen gegnerischen Angriff auf ein Frage-Antwort-Dialogsystem durchzuführen, das darauf trainiert ist, eine korrekte Antwort auf eine bestimmte Art von Frage bereitzustellen. Die Datenverarbeitungseinheit verwendet die Mehrzahl von gegnerischen Aussagen, um ein Modell für maschinelles Lernen für das Frage-Antwort-Dialogsystem zu trainieren. Die Datenverarbeitungseinheit verstärkt anschließend das trainierte Modell für maschinelles Lernen, indem es gegnerische Richtlinien, die mehrere Arten gegnerischer Aussagen identifizieren, auf das trainierte Modell für maschinelles Lernen urlädt. Die Datenverarbeitungseinheit verwendet dann das trainierte und urgeladene Modell für maschinelles Lernen, um bei der Beantwortung von Fragen, die an das Frage-Antwort-Dialogsystem gestellt werden, gegnerische Angriffe zu vermeiden.

Description

  • HINTERGRUND
  • Die vorliegende Erfindung bezieht sich auf das Gebiet von Frage-Antwort-Dialogsystemen, die zum Beantworten von Fragen verwendet werden. Die vorliegende Erfindung bezieht noch genauer auf das Gebiet des Schutzes von Frage-Antwort-Dialogsystemen vor gegnerischen Angriffen, die solche Frage-Antwort-Dialogsysteme manipulieren.
  • KURZDARSTELLUNG
  • In einer oder mehreren Ausführungsformen der vorliegenden Erfindung schützt ein Verfahren ein Frage-Antwort-Dialogsystem davor, von gegnerischen Aussagen angegriffen zu werden, die eine Frage falsch beantworten. Eine Datenverarbeitungseinheit greift auf eine Mehrzahl von gegnerischen Aussagen zu, die in der Lage sind, einen gegnerischen Angriff auf das Frage-Antwort-Dialogsystem durchzuführen, das darauf trainiert ist, eine korrekte Antwort auf eine bestimmte Art von Frage bereitzustellen. Die Datenverarbeitungseinheit verwendet die Mehrzahl von gegnerischen Aussagen, um ein Modell für maschinelles Lernen für das Frage-Antwort-Dialogsystem zu trainieren. Die Datenverarbeitungseinheit verstärkt anschließend das trainierte Modell für maschinelles Lernen, indem es gegnerische Richtlinien, die mehrere Arten gegnerischer Aussagen identifizieren, auf das trainierte Modell für maschinelles Lernen urlädt (bootstrapping). Die Datenverarbeitungseinheit verwendet dann das trainierte und urgeladene Modell für maschinelles Lernen, um bei der Beantwortung von Fragen, die an das Frage-Antwort-Dialogsystem gestellt werden, gegnerische Angriffe zu vermeiden.
  • In einer oder mehreren Ausführungsformen der vorliegenden Erfindung wird das trainierte und urgeladene Modell für maschinelles Lernen von der Datenverarbeitungseinheit getestet: Umwandeln einer Frage für das Frage-Antwort-Dialogsystem in eine Aussage mit einem Platzhalter für eine Antwort; zufälliges Auswählen einer Antwortentität aus der Antwort und Hinzufügen der zufällig ausgewählten Antwortentität an die Stelle des Platzhalters, um eine gegnerische Aussage zu erzeugen; Erzeugen eines Angriffs auf das trainierte und urgeladene Modell für maschinelles Lernen mit der gegnerischen Aussage; Messen einer Reaktion auf den erzeugten Angriff von dem trainierten und urgeladenen Modell für maschinelles Lernen; und Ändern des trainierten und urgeladenen Modells für maschinelles Lernen, um einen Reaktionsgrad der Reaktion auf den erzeugten Angriff zu erhöhen.
  • In einer oder mehreren Ausführungsformen der vorliegenden Erfindung umfasst die Kontextpassage eine korrekte Antwort, die eine korrekte Antwortentität umfasst, die spezifische Art der Frage umfasst eine spezifische Art der Frageentität, und das Verfahren umfasst weiterhin, dass die Datenverarbeitungseinheit: eine gegnerische RARQ-Aussage (RARQ - Random Answer Random Question - zufällige Antwort auf zufällige Frage) erzeugt/abruft, wobei die gegnerische RARQ-Aussage eine zufällige Antwortentität aufweist, die die korrekte Antwortentität in der korrekten Antwort ersetzt, und wobei die gegnerische RARQ-Aussage eine zufällige Frageentität aufweist, die die korrekte Frageentität in der korrekten Antwort ersetzt; eine gegnerische RAOQ-Aussage (RAOQ - Random Answer Original Question - zufällige Antwort auf ursprüngliche Frage) erzeugt/abruft, wobei die gegnerische RAOQ-Aussage eine zufällige Antwortentität aufweist, die die korrekte Antwortentität in der korrekten Antwort ersetzt, und wobei die gegnerische RAOQ-Aussage die korrekte Frageentität von der korrekten Antwort umfasst; eine gegnerische NARQ-Aussage (NARQ- No Answer Random Question - keine Antwort auf zufällige Frage) erzeugt/abruft, wobei die gegnerische NARQ-Aussage die korrekte Antwortentität in der korrekten Antwort durch keine Antwort ersetzt, und wobei die gegnerische NARQ-Aussage eine zufällige Frageentität aufweist, die die korrekte Frageentität in der korrekten Antwort ersetzt; eine gegnerische NAOQ-Aussage (NAOQ- No Answer Original Question - keine Antwort auf ursprüngliche Frage) erzeugt/abruft, wobei die gegnerische NAOQ-Aussage die korrekte Antwortentität in der korrekten Antwort durch keine Antwort ersetzt und wobei die gegnerische NAOQ-Aussage die korrekte Frage der korrekten Antwort aufweist; und die gegnerische RARQ- Aussage, die gegnerische RAOQ- Aussage, die gegnerische NARQ-Aussage und die gegnerische NAOQ- Aussage als Eingaben verwendet, um das Modell für maschinelles Lernen für das Frage-Antwort-Dialogsystem weiter zu trainieren, um gegnerische Aussagen zu erkennen.
  • In einer oder mehreren Ausführungsformen der vorliegenden Erfindung sind die ursprüngliche Frage, die in dem Frage-Antwort-Dialogsystem verwendet wird, die ursprüngliche Kontextpassage, die in dem Frage-Antwort-Dialogsystem verwendet wird, und/oder die gegnerischen Aussagen, die für das Frage-Antwort-Dialogsystem erzeugt werden, in einer oder mehreren verschiedenen Sprachen verfasst, sodass das Frage-Antwort-Dialogsystem in der Lage ist, mit gegnerischen Angriffen in mehreren Sprachen umzugehen.
  • In einer oder mehreren Ausführungsformen wird (werden) das (die) hier beschriebene(n) Verfahren durch Ausführen eines Computerprogrammprodukts und/oder eines Computersystems durchgeführt.
  • Figurenliste
    • 1 zeigt ein beispielhaftes System und Netzwerk, in dem die vorliegende Erfindung in verschiedenen Ausführungsformen implementiert ist;
    • 2 veranschaulicht einen allgemeinen Überblick über eine beispielhafte Angriffspipeline, die beim Ausführen eines Frage-Antwort(QA)-Dialog-/Lernsystems verwendet wird, das gemäß einer oder mehreren Ausführungsformen der vorliegenden Erfindung in den Kontextpassagen gegnerische Aussagen enthält;
    • 3 zeigt verschiedene Arten von gegnerischen Passagen, die in einer oder mehreren Ausführungsformen der vorliegenden Erfindung verwendet werden;
    • 4 veranschaulicht einen beispielhaften Ablauf von Schritten zum Erzeugen von gegnerischen Aussagen in einer oder mehreren Ausführungsformen der vorliegenden Erfindung;
    • 5 zeigt einen beispielhaften Prozess zum Verwenden eines trainierten Modells zur Verteidigung gegen gegnerische Aussagen/Angriffe in einem Frage-Antwort-Dialogsystem gemäß einer oder mehreren Ausführungsformen der vorliegenden Erfindung;
    • 6 veranschaulicht eine allgemeine Übersicht über ein rekursives Trainieren eines Transformer-Modellsystems gemäß einer oder mehreren Ausführungsformen der vorliegenden Erfindung;
    • 7 zeigt eine beispielhafte Ausführungsform des in 6 dargestellten Transformer-Modellsystems unter Verwendung einer mehrsprachigen bidirektionalen Codierer-Darstellung von Transformern (z.B. MBERT) gemäß einer oder mehreren Ausführungsformen der vorliegenden Erfindung;
    • 8 veranschaulicht ein beispielhaftes Frage-Antwort-Dialogsystem, wie es in einer oder mehreren Ausführungsformen der vorliegenden Erfindung verwendet wird;
    • 9 zeigt ein beispielhaftes tiefes neuronales Netzwerk, das von dem in 8 dargestellten QA-Dialogsystem 800 verwendet wird, um auf eine neue Frage gemäß einer oder mehreren Ausführungsformen der vorliegenden Erfindung zu antworten;
    • 10 veranschaulicht einen Übersichtsablaufplan für einen oder mehrere Schritte, die von einem Verfahren gemäß einer oder mehreren Ausführungsformen der vorliegenden Erfindung durchgeführt werden;
    • 11 zeigt eine Cloud-Computing-Umgebung gemäß einer oder mehreren Ausführungsformen der vorliegenden Erfindung; und
    • 12 veranschaulicht Abstraktionsmodellschichten einer Cloud-Computing-Umgebung gemäß einer oder mehreren Ausführungsformen der vorliegenden Erfindung.
  • AUSFÜHRLICHE BESCHREIBUNG
  • In einer oder mehreren Ausführungsformen handelt es sich bei der vorliegenden Erfindung um ein System, ein Verfahren und/oder ein Computerprogrammprodukt auf jedem möglichen technischen Detaillierungsgrad der Integration. In einer oder mehreren Ausführungsformen umfasst das Computerprogrammprodukt (ein) durch einen Computer lesbare(s) Speichermedium (oder -medien), auf dem (denen) durch einen Computer lesbare Programmanweisungen gespeichert ist (sind), um einen Prozessor dazu zu veranlassen, Aspekte der vorliegenden Erfindung auszuführen.
  • Bei dem durch einen Computer lesbaren Speichermedium kann es sich um eine physische Einheit handeln, die Anweisungen zur Verwendung durch eine Einheit zur Ausführung von Anweisungen behalten und speichern kann. Bei dem durch einen Computer lesbaren Speichermedium kann es sich zum Beispiel um eine elektronische Speichereinheit, eine magnetische Speichereinheit, eine optische Speichereinheit, eine elektromagnetische Speichereinheit, eine Halbleiterspeichereinheit oder jede geeignete Kombination daraus handeln, ohne auf diese beschränkt zu sein. Zu einer nicht erschöpfenden Liste spezifischerer Beispiele des durch einen Computer lesbaren Speichermediums gehören die Folgenden: eine tragbare Computerdiskette, eine Festplatte, ein Direktzugriffsspeicher (RAM), ein Nur-Lese-Speicher (ROM), ein löschbarer programmierbarer Nur-Lese-Speicher (EPROM bzw. Flash-Speicher), ein statischer Direktzugriffsspeicher (SRAM), ein tragbarer Kompaktspeicherplatte-Nur-Lese-Speicher (CD-ROM), eine DVD (digital versatile disc), ein Speicher-Stick, eine Diskette, eine mechanisch codierte Einheit wie zum Beispiel Lochkarten oder gehobene Strukturen in einer Rille, auf denen Anweisungen gespeichert sind, und jede geeignete Kombination daraus. Ein durch einen Computer lesbares Speichermedium soll in der Verwendung hier nicht als flüchtige Signale an sich aufgefasst werden, wie zum Beispiel Funkwellen oder andere sich frei ausbreitende elektromagnetische Wellen, elektromagnetische Wellen, die sich durch einen Wellenleiter oder ein anderes Übertragungsmedium ausbreiten (z.B. Lichtwellenleiterkabel durchlaufende Lichtimpulse) oder durch einen Draht übertragene elektrische Signale.
  • Hier beschriebene, durch einen Computer lesbare Programmanweisungen können von einem durch einen Computer lesbaren Speichermedium auf jeweilige Datenverarbeitungs-/Verarbeitungseinheiten oder über ein Netzwerk wie zum Beispiel das Internet, ein lokales Netzwerk, ein Weitverkehrsnetzwerk und/oder ein drahtloses Netzwerk auf einen externen Computer oder eine externe Speichereinheit heruntergeladen werden. Das Netzwerk kann Kupferübertragungskabel, Lichtwellenübertragungsleiter, drahtlose Übertragung, Leitwegrechner, Firewalls, Vermittlungseinheiten, Gateway-Computer und/oder Edge-Server aufweisen. Eine Netzwerkadapterkarte oder Netzwerkschnittstelle in jeder Datenverarbeitungs-/Verarbeitungseinheit empfängt durch einen Computer lesbare Programmanweisungen aus dem Netzwerk und leitet die durch einen Computer lesbaren Programmanweisungen zur Speicherung in einem durch einen Computer lesbaren Speichermedium innerhalb der entsprechenden Datenverarbeitungs-/Verarbeitungseinheit weiter.
  • In einer oder mehreren Ausführungsformen umfassen durch einen Computer lesbare Programmanweisungen zum Ausführen von Arbeitsschritten der vorliegenden Erfindung Assembler-Anweisungen, ISA-Anweisungen (Instruction-Set-Architecture), Maschinenanweisungen, maschinenabhängige Anweisungen, Mikrocode, Firmware-Anweisungen, zustandssetzende Daten oder entweder Quellcode oder Objektcode, die in einer beliebigen Kombination aus einer oder mehreren Programmiersprachen geschrieben werden, darunter objektorientierte Programmiersprachen wie Smalltalk, C++ o.ä. sowie herkömmliche prozedurale Programmiersprachen wie die Programmiersprache „C“ oder ähnliche Programmiersprachen. In einer oder mehreren Ausführungsformen werden die durch einen Computer lesbaren Programmanweisungen vollständig auf dem Computer des Benutzers, teilweise auf dem Computer des Benutzers, als eigenständiges Software-Paket, teilweise auf dem Computer des Benutzers und teilweise auf einem entfernt angeordneten Computer oder vollständig auf dem entfernt angeordneten Computer oder Server ausgeführt. In letzterem Fall und in einer oder mehreren Ausführungsformen ist der entfernt angeordnete Computer mit dem Computer des Benutzers durch eine beliebige Art Netzwerk verbunden, darunter ein lokales Netzwerk (LAN) oder ein Weitverkehrsnetz (WAN), oder die Verbindung kann mit einem externen Computer hergestellt werden (zum Beispiel über das Internet unter Verwendung eines Internet-Dienstanbieters). In einigen Ausführungsformen führen elektronische Schaltungen, darunter zum Beispiel programmierbare Logikschaltungen, vor Ort programmierbare Gatter-Anordnungen (FPGA, field programmable gate arrays) oder programmierbare Logikanordnungen (PLA, programmable logic arrays) die durch einen Computer lesbaren Programmanweisungen aus, indem sie Zustandsinformationen der durch einen Computer lesbaren Programmanweisungen nutzen, um die elektronischen Schaltungen zu personalisieren, um Aspekte der vorliegenden Erfindung durchzuführen.
  • Aspekte der vorliegenden Erfindung sind hier unter Bezugnahme auf Ablaufpläne und/oder Blockschaubilder bzw. Schaltbilder von Verfahren, Vorrichtungen (Systemen) und Computerprogrammprodukten gemäß Ausführungsformen der Erfindung beschrieben. Es wird darauf hingewiesen, dass jeder Block der Ablaufpläne und/oder der Blockschaubilder bzw. Schaltbilder sowie Kombinationen von Blöcken in den Ablaufplänen und/oder den Blockschaubildern bzw. Schaltbildern mittels durch einen Computer lesbare Programmanweisungen ausgeführt werden können.
  • In einer oder mehreren Ausführungsformen werden diese durch einen Computer lesbaren Programmanweisungen einem Prozessor eines Universalcomputers, eines Spezialcomputers oder einer anderen programmierbaren Datenverarbeitungsvorrichtung bereitgestellt, um eine Maschine zu erzeugen, sodass die über den Prozessor des Computers bzw. der anderen programmierbaren Datenverarbeitungsvorrichtung ausgeführten Anweisungen ein Mittel zur Umsetzung der in dem Block bzw. den Blöcken der Ablaufpläne und/oder der Blockschaltbilder bzw. Schaubilder festgelegten Funktionen/Schritte erzeugen. In einer oder mehreren Ausführungsformen sind diese durch einen Computer lesbaren Programmanweisungen auch auf einem durch einen Computer lesbaren Speichermedium gespeichert, das in einer oder mehreren Ausführungsformen einen Computer, eine programmierbare Datenverarbeitungsvorrichtung und/oder andere Einheiten so steuert, dass sie auf eine bestimmte Art funktionieren, sodass das durch einen Computer lesbare Speichermedium, auf dem Anweisungen gespeichert sind, einen Herstellungsartikel aufweist, darunter Anweisungen, welche Aspekte der/des in dem Block bzw. den Blöcken des Ablaufplans und/oder der Blockschaubilder bzw. Schaltbilder angegebenen Funktion/Schritts umsetzen.
  • In einer oder mehreren Ausführungsformen werden die durch einen Computer lesbaren Programmanweisungen auch auf einen Computer, eine andere programmierbare Datenverarbeitungsvorrichtung oder eine andere Einheit geladen, um das Ausführen einer Reihe von Prozessschritten auf dem Computer bzw. der anderen programmierbaren Vorrichtung oder anderen Einheit zu verursachen, um einen auf einem Computer ausgeführten Prozess zu erzeugen, sodass die auf dem Computer, einer anderen programmierbaren Vorrichtung oder einer anderen Einheit ausgeführten Anweisungen die in dem Block bzw. den Blöcken der Ablaufpläne und/oder der Blockschaltbilder bzw. Schaubilder festgelegten Funktionen/Schritte umsetzen.
  • Die Ablaufpläne und die Blockschaubilder bzw. Schaltbilder in den Figuren veranschaulichen die Architektur, die Funktionalität und den Betrieb möglicher Ausführungen von Systemen, Verfahren und Computerprogrammprodukten gemäß verschiedenen Ausführungsformen der vorliegenden Erfindung. In diesem Zusammenhang stellt jeder Block in den Ablaufplänen oder Blockschaltbildern bzw. Schaubildern ein Modul, ein Segment oder einen Teil von Anweisungen dar, die eine oder mehrere ausführbare Anweisungen zur Ausführung der bestimmten logischen Funktion(en) aufweisen. In einigen alternativen Implementierungen finden die in dem Block angegebenen Funktionen in einer anderen Reihenfolge als in den Figuren gezeigt statt. Zwei nacheinander gezeigte Blöcke werden zum Beispiel in Wirklichkeit im Wesentlichen gleichzeitig ausgeführt, oder die Blöcke werden manchmal je nach entsprechender Funktionalität in umgekehrter Reihenfolge ausgeführt. Es ist ferner anzumerken, dass jeder Block der Blockschaltbilder bzw. Schaubilder und/oder der Ablaufpläne sowie Kombinationen aus Blöcken in den Blockschaltbildern bzw. Schaubildern und/oder den Ablaufplänen in einer oder mehreren Ausführungsformen durch spezielle auf Hardware beruhende Systeme umgesetzt werden, welche die festgelegten Funktionen oder Schritte durchführen, oder Kombinationen aus Spezial-Hardware und Computeranweisungen ausführen.
  • Mit Bezug nunmehr auf die Figuren und insbesondere mit Bezug auf 1 wird ein Blockschaltbild eines beispielhaften Systems und Netzwerks gezeigt, das von der und/oder zur Implementierung der vorliegenden Erfindung verwendet werden kann. Es ist zu beachten, dass die beispielhafte Architektur, einschließlich der dargestellten Hardware und Software, die für und innerhalb des Computers 101 gezeigt wird, ganz oder teilweise von der künstlichen Intelligenz 124 und/oder dem Software-Implementierungsserver 150 und/oder dem (den) Textdokumentserver(n) 152 und/oder dem (den) Audiodateiserver(n) 154 und/oder dem Frage-Antwort-Dialogsystem 156 und/oder dem Fragenübertragungssystem 158 und/oder dem (den) Videodateiserver(n) 160, die in 1 dargestellt ist (sind), und/oder der Steuereinheit 601, die in 6 dargestellt ist, und/oder dem System 724 für die mehrsprachige bidirektionale Codierer-Darstellung von Transformern (z.B. MBERT), das in 7 dargestellt ist, und/oder einem oder mehreren der Neuronen/Knoten, die in dem tiefen neuronalen Netzwerk 924, das in 9 dargestellt ist, verwendet werden kann.
  • Der beispielhafte Computer 101 umfasst einen Prozessor 104, der mit einem Systembus 106 verbunden ist. Der Prozessor 104 kann einen oder mehrere Prozessoren verwenden, von denen jeder einen oder mehrere Prozessorkerne aufweist. Ein Videoadapter 108, der eine Anzeige 110 steuert/unterstützt, ist ebenfalls mit dem Systembus 106 verbunden. Der Systembus 106 ist über eine Busbrücke 112 mit einem Eingangs-/Ausgangsbus (E/A-Bus) 114 verbunden. Eine E/A-Schnittstelle 116 ist mit dem E/A-Bus 114 verbunden. Die E/A-Schnittstelle 116 ermöglicht eine Datenübertragung mit verschiedenen E/A-Einheiten, darunter eine Tastatur 118, eine Maus 120, ein Medieneinschub 122 (der Speichereinheiten wie z.B. CD-ROM-Laufwerke, Multimedia-Schnittstellen usw. enthalten kann), eine künstliche Intelligenz 124 und einen oder mehrere externe USB-Anschlüsse 126. Das Format der an die E/A-Schnittstelle 116 angeschlossenen Anschlüsse kann zwar jedes dem Fachmann für Computerarchitektur bekannte Format aufweisen, in einer Ausführungsform handelt es sich jedoch bei einigen oder allen dieser Anschlüsse um USB-Anschlüsse (Universal Serial Bus - USB).
  • Wie dargestellt, ist der Computer 101 auch in der Lage, über eine Netzwerkschnittstelle 130 zu einem Netzwerk 128 Daten mit der künstlichen Intelligenz 124 und/oder dem Software-Implementierungsserver 150 und/oder dem (den) Textdokumentserver(n) 152 und/oder dem (den) Audiodateiserver(n) 154 und/oder dem Frage-Antwort-Dialogsystem 156 und/oder dem Fragenübertragungssystem 158 und/oder dem (den) Videodateiserver(n) 160 zu übertragen. Die Netzwerkschnittstelle 130 ist eine Hardware-Netzwerkschnittstelle, z.B. eine Netzwerkschnittstellenkarte (network interface card - NIC) usw. Bei dem Netzwerk 128 kann es sich um ein externes Netzwerk wie das Internet oder um ein internes Netzwerk wie ein Ethernet oder ein virtuelles privates Netzwerk (VPN) handeln. Im Folgenden werden ein oder mehrere Beispiele einer physischen Einheit 154 vorgestellt.
  • Eine Festplattenschnittstelle 132 ist ebenfalls mit dem Systembus 106 verbunden. Die Festplattenschnittstelle 132 ist mit einem Festplattenlaufwerk 134 verbunden. In einer Ausführungsform befüllt das Festplattenlaufwerk 134 einen Systemspeicher 136 mit Daten, der ebenfalls mit dem Systembus 106 verbunden ist. Ein Systemspeicher ist definiert als eine unterste Ebene eines flüchtigen Speichers im Computer 101. Dieser flüchtige Speicher umfasst zusätzliche höhere Ebenen eines flüchtigen Speichers (nicht dargestellt), darunter Cache, Register und Puffer, ohne auf diese beschränkt zu sein. Zu Daten, mit dem der Systemspeicher 136 befüllt ist, gehören das Betriebssystem (BS) 138 des Computers 101 und die Anwendungsprogramme 144.
  • Das BS 138 umfasst eine Shell 140, die einem Benutzer einen transparenten Zugriff auf Ressourcen, z.B. die Anwendungsprogramme 144, bereitstellt. Im Allgemeinen handelt es sich bei der Shell 140 um ein Programm, das einen Interpreter und eine Schnittstelle zwischen dem Benutzer und dem Betriebssystem bereitstellt. Genauer ausgedrückt, führt die Shell 140 Befehle aus, die über eine Befehlszeilen-Benutzerschnittstelle oder über eine Datei eingegeben werden. Die Shell 140, die auch als Befehlsprozessor bezeichnet wird, ist demnach in der Regel die höchste Ebene in der Hierarchie der Betriebssystemsoftware und dient als Befehls-Interpreter. Die Shell stellt eine Eingabeaufforderung bereit, interpretiert Befehle, die über eine Tastatur, eine Maus oder andere Benutzereingabemedien eingegeben werden, und sendet die interpretierten Befehle zum Verarbeiten an die entsprechenden unteren Ebenen des Betriebssystems (z.B. einen Kernel 142). Es ist zu beachten, dass es sich bei der Shell 140 zwar um eine textgestützte, zeilenorientierte Benutzerschnittstelle handelt, die vorliegende Erfindung jedoch ebenso gut andere Benutzerschnittstellenmodi unterstützt, z.B. grafische, sprachgesteuerte, gestengesteuerte, usw.
  • Wie dargestellt, umfasst das BS 138 auch den Kernel 142, der niedrigere Funktionsebenen für das BS 138 umfasst, darunter Bereitstellen wesentlicher Dienste, die von anderen Teilen des BS 138 und den Anwendungsprogrammen 144 benötigt werden, darunter Speicherverwaltung, Prozess- und Aufgabenverwaltung, Festplattenverwaltung sowie Maus- und Tastaturverwaltung.
  • Die Anwendungsprogramme 144 umfassen eine Wiedergabefunktion (renderer), beispielhaft dargestellt als Browser 146. Der Browser 146 umfasst Programmmodule und Anweisungen, die es einem World-Wide-Web(WWW)-Client (d.h. dem Computer 101) ermöglichen, Netzwerknachrichten über das Internet unter Verwendung des Hypertext-Übertragungsprotokolls (hypertext transfer protocol - HTTP) zu senden und zu empfangen und so die Datenübertragung mit dem Software-Implementierungsserver 150 und anderen Computersystemen zu ermöglichen.
  • Die Anwendungsprogramme 144 im Systemspeicher des Computers 101 (sowie im Systemspeicher des Software-Implementierungsservers 150) umfassen auch eine Schutzlogik für das Frage-Antwort-Dialogsystem (question answering dialog system protection logic - QADSPL) 148. Die QADSPL 148 umfasst einen Code zum Implementieren der nachstehend beschriebenen Prozesse, einschließlich der in den 2 bis 10 beschriebenen Prozesse. In einer Ausführungsform ist der Computer 101 in der Lage, die QADSPL 148 vom Software-Implementierungsserver 150 herunterzuladen, darunter auf Abruf, wobei der Code in der QADSPL 148 erst heruntergeladen wird, wenn er zur Ausführung benötigt wird. Weiterhin ist zu beachten, dass in einer Ausführungsform der vorliegenden Erfindung der Software-Implementierungsserver 150 alle Funktionen, die der vorliegenden Erfindung zugehörig sind (einschließlich der Ausführung der QADSPL 148), durchführt, sodass der Computer 101 nicht seine eigenen internen Datenverarbeitungsressourcen zum Ausführen der QADSPL 148 verwenden muss.
  • Bei dem (den) Textdokumentserver(n) 152 handelt es sich um Server, die Kontext (d.h. Textpassagen wie z.B. die in 3 gezeigten) an den Computer 101, an die Kl 124 und/oder das QA-Frage-Antwort-Dialogsystem 156 senden, indem sie eine bestimmte Art von Frage (empfangen vom Computer 101, der Kl 124 und/oder vom QA-Frage-Antwort-Dialogsystem 156) mit einem bestimmten Satz von Kandidaten-Antworttexten abgleichen.
  • Bei dem (den) Audiodateiserver(n) 154 handelt es sich um Server, die Kontext (d.h. Audiodateien) an den Computer 101, die KI 124 und/oder das QA-Frage-Antwort-Dialogsystem 156 senden, indem sie eine bestimmte Art von Frage (empfangen vom Computer 101, der Kl 124 und/oder dem QA-Frage-Antwort-Dialogsystem 156) mit einem bestimmten Satz von Kandidatenantwort-Audiodateien abgleichen. Das heißt, dass der (die) Audiodateiserver 154 die Art einer empfangenen Frage interpretiert (interpretieren) und eine zugehörige Audiodatei zurücksendet (zurücksenden) (z.B. identifiziert durch Metadaten, die jede Audiodatei beschreiben), deren Gegenstand der Art der Frage entspricht. Wenn sich die Frage beispielsweise auf eine bestimmte Art von Musik bezieht, gibt (geben) der (die) Audiodateiserver 154 Audiodateien mit einer Meta-Kennzeichnung (metatag) aus, die diese bestimmte Art von Musik beschreibt.
  • Bei dem QA-Dialogsystem 156 handelt es sich um ein System, das auf Fragen (z.B. von einem Fragenübertragungssystem 158) antwortet und dabei die hier beschriebenen Prozesse/Systeme verwendet.
  • Bei dem (den) Videodateiserver(n) 160 handelt es sich um Server, die Kontext (d.h. Videodateien) an den Computer 101, die KI 124 und/oder das QA-Frage-Antwort-Dialogsystem 156 senden, indem sie eine bestimmte Art von Frage (empfangen vom Computer 101, der Kl 124 und/oder dem QA-Frage-Antwort-Dialogsystem 156) mit einem bestimmten Satz von Kandidatenantwort-Videodateien abgleichen. Das heißt, dass der (die) Videodateiserver 160 die Art einer empfangenen Frage interpretiert (interpretieren) und eine zugehörige Videodatei zurücksendet (zurücksenden) (z.B. identifiziert durch Metadaten, die jede Videodatei beschreiben), deren Gegenstand der Art der Frage entspricht. Wenn sich die Frage beispielsweise auf eine bestimmte Art von visueller Kunst bezieht, gibt (geben) der (die) Videodateiserver 160 Videodateien mit einer Meta-Kennzeichnung aus, die diese bestimmte Art von visueller Technik beschreibt.
  • Es sei darauf hingewiesen, dass die in Computer 101 dargestellten Hardware-Elemente keinen Anspruch auf Vollständigkeit erheben, sondern vielmehr repräsentativ sind, um wesentliche, für die vorliegende Erfindung erforderliche Komponenten hervorzuheben. So kann der Computer 101 z.B. alternative Speichereinheiten wie Magnetbandkassetten, DVDs (Digital Versatile Disks), Bernoulli-Kassetten usw. umfassen. Diese und andere Varianten sollen in den Anwendungsbereich der vorliegenden Erfindung fallen.
  • Frage-Antwort(QA)-Systeme, die auch als Frage-Antwort-Dialogsysteme bezeichnet werden, sind ein wichtiges Werkzeug für Menschen, die Antworten auf Fragen suchen. Ein beispielhaftes QA-System empfängt Fragen (z.B. „Welches ist das älteste Cafe in Paris?“), durchsucht einen Korpus von Text-, Video-, Audio- und anderen Ressourcen und liefert die korrekte Antwort (z.B. „Café X").
  • Daher ist es wünschenswert, dass solche QA-Systeme zuverlässig sind, damit gewährleistet ist, dass sie den Benutzern korrekte Antworten bereitstellen können. Das heißt, ein QA-System ist schwach, wenn es bei bösartigen Angriffen versagt (dies wird nachstehend ausführlich erörtert), und es ist zuverlässig, wenn es sich erfolgreich gegen bösartige Angriffe verteidigen kann (wie in einer oder mehreren Ausführungsformen der vorliegenden Erfindung beschrieben und beansprucht).
  • Somit stellen eine oder mehrere Ausführungsformen der vorliegenden Erfindung ein zuverlässiges QA-System bereit, das sich nicht nur gegen bösartige Angriffe verteidigt, sondern auch in der Lage ist, mehrsprachige bösartige Angriffe abzuwehren.
  • Wie hier beschrieben, verwenden eine oder mehrere Ausführungsformen der vorliegenden Erfindung eine oder mehrere neue Arten von gegnerischen Aussagen, um Schwachstellen in mehrsprachigen Frage-Antwort(MLQA)-Systemen (multilingual question answer - MLQA) aufzudecken.
  • Diese neuen Arten von gegnerischen Aussagen werden zum Trainieren eines QA-Modells verwendet, wodurch das trainierte QA-Modell beim Abwehren von bösartigen Angriffen zuverlässiger wird.
  • In einer oder mehreren Ausführungsformen der vorliegenden Erfindung wird das trainierte QA-Modell durch Urladen von gegnerischen Richtlinien verstärkt (z.B. Richtlinien, die beschreiben, welche der neuen Arten von gegnerischen Arten überwacht werden sollen), wodurch ein noch wirksameres QA-Modell zum Trainieren eines MLQA-Systems erzeugt wird.
  • Somit erzeugt in einer oder mehreren Ausführungsformen der vorliegenden Erfindung ein Verfahren/eine Vorrichtung angreifende Aussagen in einer beliebigen Sprache für ein MLQA-System durch: Umwandeln einer ursprünglichen Frage in eine allgemeine Aussage mithilfe eines Platzhalters für die Antwort; zufälliges Auswählen verschiedener Entitäten, um die in der ursprünglichen Frage gefundene Frage- und/oder Antwortentität zu ersetzen und so gegnerische Aussagen zu erzeugen; zufälliges Hinzufügen der gegnerischen Aussagen zum Kontext, um das MLQA-System anzugreifen; Trainieren des MLQA-Systems mit Daten, die zusätzlich zu den ursprünglichen Daten noch die gegnerischen Aussagen enthalten; Verstärken des trainierten MLQA-Modells durch Urladen von gegnerischen Richtlinien (d.h. Hinzufügen von Richtlinien für den Umgang mit gegnerischen Aussagen) auf das trainierte MLQA; und daraufhin Verwenden des trainierten MLQA mit den urgeladenen gegnerischen Richtlinien, um Fragen zu beantworten, die in ihrer Bedeutung dem verstärkten trainierten MLQA-Modell ähnlich sind.
  • Jüngste Fortschritte bei Open-Domain-Frage-Antwort(QA)-Systemen drehen sich hauptsächlich um maschinelles Leseverständnis (machine reading comprehension - MRC), bei dem die Aufgabe darin besteht, einen gegebenen Text zu lesen und zu verstehen und dann darauf beruhende Fragen zu beantworten. Ein großer Teil des Verdienstes, den Stand der Technik (state-of-the-art - SOTA) bei englischen MRC-Datensätzen erreicht zu haben, ist auf die Erfindung großer vortrainierter Sprachmodelle (language model - LM) zurückzuführen. Einem Beantworten mehrsprachiger Fragen wurde auf dem bisherigen Stand der Technik weit weniger Aufmerksamkeit geschenkt.
  • Daher legen eine oder mehrere Ausführungsformen der vorliegenden Erfindung den Schwerpunkt auf ein mehrsprachiges QA-System (multi-lingual question answer - MLQA). Genauer gesagt, eine oder mehrere Ausführungsformen der vorliegenden Erfindung befassen sich mit dem Problem gegnerischer Angriffe auf einen MLQA-Datensatz (d.h. Kontext/Passagen, die vom MLQA-System zum Beantworten von Fragen verwendet werden), indem neuartige mehrsprachige gegnerische Aussagen verwendet werden, um das MLQA-System darin zu trainieren, mehrsprachige Angriffe durch die Verwendung eines zuverlässigen MLQA-Modells zu erkennen.
  • In einer oder mehreren Ausführungsformen der vorliegenden Erfindung werden mehrsprachige QA-Modelle mit einer mehrsprachigen bidirektionalen Codierer-Darstellung von Transformern (z.B. MBERT) trainiert, die wie nachstehend in 7 ausführlich beschrieben Transformer verwendet. Ein Transformer ist ein logischer Mechanismus, der eine ganze Folge von Wörtern aus einer Passage liest, ohne dabei durch Lesen von links nach rechts oder von rechts nach links eingeschränkt zu sein. Das heißt, ein Transformer ist als eine Logik definiert, die identifiziert, wie verschiedene Wörter miteinander in Beziehung stehen, wie nachstehend in Schritt 1 (Element 402) und Schritt 2 (Element 404) des Ablaufplans 400 in 4 beschrieben.
  • Wie nachstehend in 4 beschrieben, wird die Frage in eine entsprechende Aussage mit einem Platzhalter für die Antwort umgewandelt, die dann dazu verwendet wird, gegnerische Aussagen zu erzeugen, die wie die korrekte Antwort „aussehen“ (aufgrund ähnlicher Begriffe, Passagen, die in der korrekten Antwort vorkommen), es aber in Wirklichkeit nicht sind. Diese gegnerischen Aussagen, die in einer oder mehreren Ausführungsformen der vorliegenden Erfindung Übersetzungen der gegnerischen Aussagen enthalten, die in eine oder mehrere andere Sprachen übersetzt wurden, werden verwendet, um das bestehende mehrsprachige QA-Modell anzugreifen und ein neues mehrsprachiges QA-Modell zu trainieren.
  • Sobald das trainierte mehrsprachige QA-Modell erstellt ist, wird es von einem System mit künstlicher Intelligenz verwendet, um gegnerische Angriffe (die gegnerische Aussagen enthalten) zu erkennen und zu verhindern, dass sie an einen Fragesteller, der das QA-System benutzt, zurückgesendet werden.
  • Mit Bezug nunmehr auf 2 ist ein allgemeiner Überblick über eine beispielhafte Angriffspipeline dargestellt, die beim Trainieren eines Frage-Antwort-Lernsystems verwendet wird, um gegnerische Aussagen in Kontextpassagen gemäß einer oder mehreren Ausführungsformen der vorliegenden Erfindung zu erkennen.
  • Wie in 2 in Block 202 gezeigt, werden eine ursprüngliche Frage und ein ursprünglicher Kontext (z.B. eine Textpassage, eine Videodatei usw.), der die ursprüngliche Frage beantwortet, in einen Speicherbereich eines Frage-Antwort(QA)-Systems (z.B. das in 1 gezeigte QA-Dialogsystem 156) eingegeben. Wenn es sich sowohl bei der Frage als auch beim Kontext um Text handelt, sind sie in einer oder mehreren Ausführungsformen der vorliegenden Erfindung in einer beliebigen Sprache abgefasst.
  • Wie in Block 204 gezeigt, werden eine oder mehrere gegnerische Aussagen, bei denen es sich um neue Aussagen handelt, die den im ursprünglichen Kontext/in der ursprünglichen Passage/Antwort gefundenen Informationen widersprechen, dem ursprünglichen Kontext/der ursprünglichen Passage/Antwort hinzugefügt.
  • In einer oder mehreren Ausführungsformen der vorliegenden Erfindung sind diese gegnerischen Aussagen, die sich an der ursprünglichen Frage orientieren und dennoch im Widerspruch zu den Informationen im ursprünglichen Kontext/in der ursprünglichen Passage/Antwort stehen, in anderen Sprachen abgefasst als in der ursprünglichen Frage und/oder dem ursprünglichen Kontext/der ursprünglichen Passage/Antwort.
  • In einer oder mehreren Ausführungsformen der vorliegenden Erfindung sind diese gegnerischen Aussagen in der gleichen Sprache wie die ursprüngliche Frage und/oder der ursprüngliche Kontext/die ursprüngliche Passage/Antwort abgefasst.
  • In einer oder mehreren Ausführungsformen der vorliegenden Erfindung und wie nachstehend ausführlich beschrieben, haben diese gegnerischen Aussagen die Form einer gegnerischen Aussage mit zufälliger Antwort auf eine zufällige Frage (random answer random question - RARQ), einer gegnerischen Aussage mit zufälliger Antwort auf eine ursprüngliche Frage (random answer original question - RAOQ), einer gegnerischen Aussage ohne Antwort auf eine zufällige Frage (no answer random question - NARQ) und/oder einer gegnerischen Aussage ohne Antwort auf eine ursprüngliche Frage (no answer original question - NAOQ), wie nachstehend ausführlich in 3 und 4 beschrieben wird.
  • Wie in Block 206 von 2 dargestellt, durchlaufen die ursprünglichen Kontexte mit den hinzugefügten gegnerischen Aussagen anschließend ein Frage-Antwort(QA)-Modell in einem System mit künstlicher Intelligenz (KI). Das heißt, die ursprünglichen Kontexte mit der (den) hinzugefügten gegnerischen Aussage(n) werden als Eingaben in ein KI-System verwendet, das durch ein Frage-Antwort(QA)-Modell darauf trainiert wurde, eine bestimmte Art von Frage (die mit Parametern, Begriffen, Kontext usw. der ursprünglichen Frage übereinstimmt) mit einer bestimmten Art von Kontext/Passage/Antwort (die mit Parametern, Begriffen usw. des ursprünglichen Kontexts/der ursprünglichen Passage/Antwort übereinstimmt) abzugleichen.
  • Zu diesem Zeitpunkt ist das System jedoch noch nicht darauf trainiert, die in Block 204 hinzugefügte(n) gegnerische(n) Aussage(n) zu erkennen, sodass die in Block 208 angezeigte ausgegebene Antwort fehlerhafte Informationen enthalten kann, die auf die in Block 204 hinzugefügte(n) gegnerische(n) Aussage(n) zurückzuführen sind.
  • Mit Bezug nunmehr auf 3 sind verschiedene Arten von gegnerischen Passagen dargestellt, die in einer oder mehreren Ausführungsformen der vorliegenden Erfindung verwendet werden.
  • Wie in Block 301 gezeigt, wird angenommen, dass sich das Thema einer Anfrage auf den Artikel „Pariser Cafes“ bezieht. Es wird weiterhin angenommen, dass die ursprüngliche Frage 304, die an das QA-System gestellt wird, lautet: „Welches ist das älteste Cafe in Paris?“. Die korrekte/ursprüngliche Antwort auf diese ursprüngliche Frage ist ,,Café X'', die von der (dem) in Block 303 gezeigten ursprünglichen/korrekten Passage/Kontext abgeleitet wurde und sich an Position 302 in Block 303 befindet. In diesem Beispiel handelt es sich bei Position 302 um die Position des 25. Wortes in der (dem) in Block 303 gezeigten ursprünglichen/korrekten Passage/Kontext.
  • Die (der) ursprüngliche/korrekte Passage/Kontext in Block 303 kann jedoch durch Verwenden gegnerischer Aussagen verändert werden, wie sie z.B. in der gegnerischen Passage A (Block 305), der gegnerischen Passage B (Block 309), der gegnerischen Passage C (Block 313) und der gegnerischen Passage D (Block 317) gezeigt werden.
  • Die gegnerische Aussage, die der gegnerischen Passage hinzugefügt wird, wird durch Umwandeln der Frage in eine Aussage mit einem Platzhalter für eine Antwort erzeugt. Die Aussage kann wie in 3 dargestellt unter Verwendung einer der unten beschriebenen Angriffsmethoden geändert werden.
  • So umfasst mit Bezug auf 3 die in Block 305 dargestellte gegnerische Passage A eine gegnerische Aussage mit zufälliger Antwort auf eine zufällige Frage (RARQ) 307, in der eine zufällige Antwortentität („Unternehmen A“) in der gegnerischen Aussage enthalten ist und eine zufällige Frageentität („Arktischer Ozean“) die richtige Frageentität („Paris“) in der gegnerischen Aussage in den Blöcken 301/303 ersetzt.
  • Die in Block 309 gezeigte gegnerische Passage B umfasst eine gegnerische Aussage mit zufälliger Antwort auf eine ursprüngliche Frage (RAOQ) 311, in der eine zufällige Antwortentität („Staatlichkeit Alaskas“) in der gegnerischen Aussage enthalten ist, während die spezifische Art der Frageentität („Paris“) aus der in den Blöcken 301/303 dargestellten korrekten Antwort gleich bleibt.
  • Die in Block 313 gezeigte gegnerische Passage C umfasst eine gegnerische Aussage mit keiner Antwort auf eine zufällige Frage (NARQ) 315, in der keine Antwortentität hinzugefügt wird (als „_“ bezeichnet, um zu verdeutlichen, dass kein Wort vorhanden ist), und eine zufällige Frageentität („Brooklyn“) die korrekte Frageentität („Paris“) ersetzt, die in der in den Blöcken 301/303 gezeigten korrekten Antwort enthalten ist.
  • Die in Block 317 gezeigte gegnerische Passage D umfasst eine gegnerische Aussage mit keiner Antwort auf eine ursprüngliche Frage (NAOQ) 319, in der keine Antwortentität hinzugefügt wird (als „_“ bezeichnet, um zu verdeutlichen, dass kein Wort vorhanden ist), während die korrekte Frageentität („Paris“) der in den Blöcken 301/303 gezeigten korrekten Antwort gleich bleibt.
  • Wie vorstehend in der Beschreibung von Block 204 in 2 erwähnt, sind in einer oder mehreren Ausführungsformen der vorliegenden Erfindung die gegnerischen Aussagen in anderen Sprachen abgefasst als die der ursprünglichen Frage und/oder der ursprüngliche Kontext/die ursprüngliche Passage/Antwort. Solche gegnerischen Aussagen in anderen Sprachen entstehen dadurch, dass das Frage-Antwort-System eine fremdsprachige Passage abruft oder dass das Frage-Antwort-System eine der oben genannten gegnerischen Aussagen übersetzt. In jeder dieser Ausführungsformen zeigt Block 321 die gegnerische Passage A', in der die gegnerische RARQ-Aussage 307 („Corporation A is the oldest cafe in the Arctic Ocean.“) in eine deutsche gegnerische Aussage 323 („Unternehmen A ist das älteste Cafe im Arktischen Ozean.“) übersetzt und in die ursprüngliche/korrekte Passage in Block 303 eingefügt wird.
  • Mit Bezug nunmehr auf 4 wird ein beispielhafter Ablaufplan 400 mit Schritten zum Erzeugen der in 3 gezeigten beispielhaften gegnerischen Aussagen gemäß einer oder mehreren Ausführungsformen der vorliegenden Erfindung vorgestellt.
  • Wie in Block 402 gezeigt, führt Schritt 1 in einer oder mehreren Ausführungsformen der vorliegenden Erfindung linguistische Vorverarbeitungsschritte für die Frage 412 („Welches ist das älteste Cafe in Paris?“) durch, was auch in Block 301 in 3 gezeigt wird. Zu diesen beispielhaften linguistischen Vorverarbeitungsschritten gehören: 1) UDP (Universal Dependency Parsing - Parsen von universellen Abhängigkeiten) und 2) NER (Named Entity Recognition - Eigennamenerkennung). Mithilfe von Markup-Regeln und Parsing wird in Schritt 1 ein Stammbegriff (z.B. Element 446) identifiziert, der die Art der gestellten Frage („was/welches“) grob identifiziert, sowie die gekennzeichnete Frageentität 426 (Ort, z.B. Paris). Das heißt, diese Analyse identifiziert in der Frage 412 die Fokuswörter (z.B. welches, was usw.) anhand der entsprechenden Wortartkennzeichnungen (z.B. wrb für ein Adverb wie „wo“ und vb für ein Verb wie „ist“), die der Parser erzeugt. Diese Analyse führt zu einer Tiefensuche in der Syntaxanalyse (parse) und markiert alle Wortart-Token, die auf der gleichen Ebene liegen oder ein Kind des Fokuswortes als Bestandteil der Frageregel sind. Dieser Ansatz erzeugt Tausende von Mustern in einem Frage-Antwort-Datensatz, der als Trainingssatz verwendet wird, wobei einige nur einmal vorkommen. Einige Beispielmuster umfassen „was/welches nn“, „was/welches vb“, „wer vb“, „wie viele“ und „was/welches vb“.
  • Zusätzlich und in einer oder mehreren Ausführungsformen der vorliegenden Erfindung markiert das System alle Entitäten (z.B. Wörter) in der Frage 412.
  • In einer oder mehreren Ausführungsformen der vorliegenden Erfindung wird den von der NER gekennzeichneten Entitäten, die nicht Teil des Fragemusters sind, Vorrang eingeräumt. Wenn solche Entitäten jedoch nicht gefunden werden, sucht das System vorzugsweise nach Substantiven und dann nach Verben, um eine bessere Abdeckung zu gewährleisten.
  • In dem in 4 gezeigten Beispiel ist „was/welcher vb“ demnach das Muster, das in „Welches ist das älteste Cafe in Paris?“ gefunden wird.
  • Wie in Block 404 gezeigt, wird in einer oder mehreren Ausführungsformen der vorliegenden Erfindung in Schritt 2 die Frage 412 in die Aussage 414 umgewandelt.
  • In einer oder mehreren Ausführungsformen der vorliegenden Erfindung wird das in Schritt 1 gefundene Muster verwendet, um aus mehreren Regeln auf der Grundlage der allgemeinen Fragewörter: {„wer“, „was“, „wann“, „warum“, „welcher“, „wo“, „wie“} und einem Sammelkriterium für alle Muster, die keine Fragewörter enthalten (in der Regel handelt es sich dabei um schlecht formulierte Fragen oder Rechtschreibfehler wie z.B. „Der Name von Herrn Smith's Großmutter war?“), eine Auswahl zu treffen. Die Regel wandelt die Frage 412 („Welches ist das älteste Cafe in Paris?“) in die Aussage 414 („<ANTWORT> ist das älteste Cafe in Paris?“) um, die die gekennzeichnete Frageentität 426 („Paris“) enthält und einen Platzhalter 424 (<ANTWORT>) anstelle des Stammbegriffs „Welches ist“ (Element 446) hinzufügt.
  • Wenn das erste im Muster gefundene Fragewort „was/welches“ ist, ersetzt die Regel „was/welches vb“ „was/welches“ durch <ANTWORT>, z.B. „<ANTWORT> ist das älteste Cafe in Paris“, wie in Aussage 414 gezeigt. Manchmal wird die Antwort an das Ende der Aussage angehängt. Das Muster „wann vb vb“ löst die Regel für „wann“ aus, die „Wann hat die Rockband ABC ihr zweites Album veröffentlicht?“ in „Rockband ABC veröffentlichte ihr zweites Album <ANTWORT>“ umwandelt.
  • Wie in Block 406 gezeigt, wird in einer oder mehreren Ausführungsformen der vorliegenden Erfindung in Schritt 3 eine oder mehrere gegnerische Aussagen auf der Grundlage verschiedener Strategien erzeugt. In der in 4 dargestellten beispielhaften Ausführungsform werden angesichts der Frage 412 und der Aussage 414 die beispielhafte angreifende Aussage RARQ 407 (analog zur gegnerischen Aussage 307 in 3), die angreifende Aussage RAOQ 411 (analog zur gegnerischen Aussage 311 in 3), die angreifende Aussage NARQ 415 (analog zur gegnerischen Aussage 315 in 3) und die angreifende Aussage NAOQ 419 (analog zur gegnerischen Aussage 319 in 3) erzeugt.
  • Wie in 4 dargestellt, werden RARQ 407, RAOQ 411, NARQ 415 und NAOQ 419 erzeugt, um <ANTWORT> und/oder Frageentitäten auf der Grundlage des Angriffs zu ersetzen. In einer oder mehreren Ausführungsformen der vorliegenden Erfindung werden die Kandidatenentitäten zufällig aus den Entitäten ausgewählt, die in den Trainingsdaten des Frage-Antwort-Datensatzes auf der Grundlage ihrer Art gefunden wurden. Die Art der Antwortentität wird auf der Grundlage der Entität gewählt, die das System für die Entwicklungs-/Testfrage in einer nichtgegnerischen Umgebung vorhersagt.
  • In einer oder mehreren Ausführungsformen der vorliegenden Erfindung werden die Datums- und Zahlenentitäten nicht aus den Trainingsdaten des Frage-Antwort-Datensatzes ausgewählt, sondern einfach zufällig erzeugt.
  • Die Kandidatenentitäten werden angewendet, um die gegnerische Aussage zu erzeugen, indem die folgenden Transformationen von der komplexesten zur einfachsten angewendet werden.
  • RARQ 407, bei der es sich um eine gegnerische/angreifende Aussage mit zufälliger Antwort auf eine zufällige Frage handelt, weist eine zufällige Antwortentität 428 („Unternehmen A“) auf, die den Platzhalter 424 (<ANTWORT>) ersetzt, und die Frageentität 430 („Arktischer Ozean“) wird zufällig von der gekennzeichneten Frageentität 426 („Paris“) in Aussage 414 geändert. Es sei darauf hingewiesen, dass „Unternehmen A“ eine falsche Antwort auf Frage 412 ist, was beabsichtigt ist, da die RARQ407 dazu verwendet wird, das QA-System darin zu trainieren, RARQ-Angriffe/gegnerische Aussagen zu erkennen.
  • RAOQ411, bei der es sich um eine angreifende/gegnerische Aussage mit zufälliger Antwort auf eine ursprüngliche Frage handelt, weist eine zufällige Antwortentität 432 („Staatlichkeit Alaskas“) auf, aber ihre Frageentität 426 („Paris“) ist dieselbe Frageentität 426 wie in Aussage 414. Es sei darauf hingewiesen, dass es sich bei der RAOQ411 ebenfalls um eine falsche Aussage handelt, die dazu dient, das QA-System darin zu trainieren, RARQ-Angriffe/gegnerische RARQ-Aussagen zu erkennen.
  • NARQ 415, bei der es sich um eine angreifende/gegnerische Aussage mit keiner Antwort auf eine zufällige Frage handelt, weist keine Antwortentität in Abschnitt 436 auf und verfügt über eine zufällig erzeugte Frageentität 438 („Brooklyn“). Es sei darauf hingewiesen, dass es sich bei der NARQ415 ebenfalls um eine falsche Aussage handelt, die dazu dient, das QA-System darin zu trainieren, RARQ-Angriffe/gegnerische RARQ-Aussagen zu erkennen.
  • NAOQ419, bei der es sich um eine angreifende/eine gegnerische Aussage mit keiner Antwort auf eine ursprüngliche Frage handelt, weist keine Antwortentität in Abschnitt 440 auf, umfasst jedoch die Frageentität 426 („Paris“), die in der Aussage 414 gefunden wurde. Es sei darauf hingewiesen, dass es sich bei der NAOQ 419 ebenfalls um eine falsche Aussage handelt, die dazu dient, das QA-System darin zu trainieren, NAOQ-Angriffe/gegnerische NAOQ-Aussagen zu erkennen.
  • Wie in Block 408 gezeigt, werden in Schritt 4 eine oder mehrere der in Schritt 3 erzeugten angreifenden/gegnerischen Aussagen in eine andere Sprache übersetzt. Das heißt, in einer oder mehreren Ausführungsformen der vorliegenden Erfindung werden die in Schritt 3 erzeugten angreifenden/gegnerischen Aussagen zunächst in der gleichen Sprache erzeugt, in der eine Frage gestellt wird (z.B. Englisch). Da das QA-System einen mehrsprachigen Datensatz und ein mehrsprachiges Modell auswertet, werden diese angreifenden/gegnerischen Aussagen vom QA-System dann in mehrere andere Sprachen übersetzt, sofern sie nicht bereits in einer anderen Sprache vorliegen, wenn sie von dem/den in 1 gezeigten Textdokumentserver(n) 152 gesendet werden.
  • Zum Beispiel wird die angreifende/gegnerische Aussage RARQ407 ins Deutsche übersetzt, um die RARQ 423 zu erzeugen (analog zur deutschen gegnerischen Aussage 323 in 3).
  • Wie in Block 410 gezeigt, werden in Schritt 5 dann die in Schritt 3 und/oder Schritt 4 erzeugten angreifenden/gegnerischen Aussagen nach dem Zufallsprinzip in den Kontext eingefügt (z.B. die/der ursprüngliche/korrekte Passage/Kontext, wie in Block 303 in 3 gezeigt), um die in 3 gezeigten gegnerischen Passagen A, B, C, D und A' zu erzeugen. Das heißt, die erzeugten gegnerischen Aussagen (z.B. RARQ 407, RAOQ411, NARQ415, NAOQ419, RARQ 423 usw.) werden an zufälligen Positionen in einen Kontext eingefügt, z.B. die ursprüngliche/korrekte Passage in Block 303 in 3, die in 4 als gegnerische Passage 425 dargestellt ist. Dadurch entsteht eine neue Instanz (Qx, Cy, Ay, Sz), wobei x, y, z ∈ L die Sprachen für die Frage, den Kontext bzw. die Aussage sind und nicht identisch sein müssen, wie in den Blöcken 305, 309, 313, 317 und 321 in 3 gezeigt.
  • Die vorstehend beschriebenen angreifenden/gegnerischen Aussagen ermöglichen es dem QA-System, die Unbeständigkeit des MLQA-Datensatzes und von MBERT zu untersuchen, indem es gezwungen wird, die falsche Antwort nicht nur in einer, sondern in mehreren Sprachen vorherzusagen, sodass die Frage, der Kontext und die gegnerische Aussage alle in der gleichen oder in verschiedenen Sprachen vorhanden sein können.
  • Mit Bezug nunmehr auf 5 wird somit ein beispielhafter Prozess zum Verwenden eines trainierten Modells zur Verteidigung gegen gegnerische Angriffe/Aussagen in einem Frage-Antwort-Dialogsystem gemäß einer oder mehreren Ausführungsformen der vorliegenden Erfindung dargestellt.
  • Wie in Block 501 gezeigt, beginnt der Prozess mit Abrufen eines Frage-Antwort(QA)-Datensatzes bekannter Fragen und ihrer bekannten korrekten Antworten (z.B. Frage-Antwort-Paare wie in Block 301 in 3 gezeigt).
  • Wie in Block 503 in 5 gezeigt, werden angreifende/gegnerische Aussagen mehrerer Arten (z.B. RARQ, RAOQ, NARQ und/oder NAOQ) und/oder in mehreren Sprachen wie in 4 beschrieben dem Kontext/den Passagen für den gesamten Trainingsdatensatz (von Frage-Antwort-Paaren) hinzugefügt.
  • Wie vorstehend mit Bezug auf 4 beschrieben, wurde ein QA-Modell erzeugt, indem die Frage 412 in die Aussage 414 umgewandelt und dann die Frage 412 mit der Aussage 414 korreliert wurde. Wie in Block 505 in 5 beschrieben, wird dieses QA-Modell dann geändert, um ein mehrsprachiges QA(MLQA)-Modell zu erzeugen. In einer oder mehreren Ausführungsformen der vorliegenden Erfindung wird das MLQA-Modell in zwei Schritten erzeugt.
  • Der erste Schritt besteht darin, die Passage 303 absichtlich wie in 4 mit einer oder mehreren der angreifenden/gegnerischen Aussagen in mehreren Sprachen zu verunreinigen/befüllen, um zusätzliche Lerndaten für das MLQA-Modell zu erzeugen.
  • Weiterhin kann eine Passage mehrmals mit einer oder mehreren gegnerischen Aussagen befüllt werden, wobei die gleichen oder unterschiedliche Angriffe verwendet werden, um neue Passagen als zusätzliche Lerndaten für das MLQA-Modell zu erzeugen.
  • Die ursprüngliche(n) Frage/Antwort/Passagen und die in 4 erzeugte(n) neue(n) Frage/Antwort/Passagen werden verwendet, um das ursprüngliche MLQA-Modell wie in 5 beschrieben neu zu trainieren.
  • Der zweite Schritt besteht darin, gegnerische Richtlinien in die mit den Angriffen neu trainierte Version des MLQA-Modells urzuladen (d.h., Richtlinien für den Umgang mit den verschiedenen angreifenden/gegnerischen Aussagen in verschiedenen Sprachen hinzuzufügen), um das neu trainierte MLQA-Modell zu verbessern. Dieses neu trainierte MLQA-Modell wird wie in Pfeilblock 506 dargestellt von einem System mit künstlicher Intelligenz (Kl) rekursiv mithilfe von Verstärkungslernen trainiert.
  • Wie in Block 507 gezeigt, durchläuft (durchlaufen) bei jeder Iteration die Frage/Antwort/Passagen mit gegnerischen Angriffen die neu trainierte MLQA, die über mehrere Sprachen verfügt, um zu bewerten, ob das neu trainierte MLQA-Modell zuverlässig ist, d.h. unempfindlich gegen Angriffe.
  • In einer oder mehreren Ausführungsformen der vorliegenden Erfindung verwendet das in Block 503 und/oder Block 505 in 5 dargestellte Verfahren künstliche Intelligenz, z.B. die in 1 dargestellte künstliche Intelligenz 124. Eine solche künstliche Intelligenz 124 liegt gemäß einer oder mehreren Ausführungsformen der vorliegenden Erfindung in verschiedenen Formen vor. Zu solchen Formen gehören ein auf Transformer gestütztes Verstärkungslernsystem, das eine mehrsprachige bidirektionale Codierer-Darstellung von Transformern (MBERT), ein tiefes neuronales Netzwerk (deep neural network - DNN), ein rekursives neuronales Netzwerk (recursive neural network - RNN), ein faltendes neuronales Netzwerk (convolutional neural network - CNN) usw. verwendet, ohne auf diese beschränkt zu sein.
  • In einer oder mehreren Ausführungsformen der vorliegenden Erfindung handelt es sich bei dem nachstehend in 7 beschriebenen MBERT-System um ein auf Transformer gestütztes System zur Verwendung mit verstärktem Lernen wie in 5 dargestellt. Das heißt, eine Kombination von Transformern und verstärktem Lernen ermöglicht es dem System, zu ermitteln, welche urgeladenen gegnerischen Richtlinien zu verwenden sind, um zu entscheiden 1) die in 3 und 4 beschriebenen gegnerischen RAOQ-Aussagen, gegnerischen NAOQ-Aussagen usw. aus einem Kontext zu erzeugen, wie z.B. die in Block 303 in 3 gezeigte beispielhafte Passage; 2) eine Frage wie die in 4 gezeigte beispielhafte Frage 412 in eine andere Sprache zu übersetzen; 3) und/oder eine Antwort wie die in 4 gezeigte beispielhafte Aussage 414 in eine andere Sprache zu übersetzen.
  • Das heißt, in einer Verstärkungslernkonfiguration in einer oder mehreren Ausführungsformen der vorliegenden Erfindung findet das System (z.B. das in 1 gezeigte QA-Dialogsystem 156) die beste Kombination aus einer oder mehreren gegnerischen Richtlinien über einen Richtlinien-Gradienten-Algorithmus, wie z.B. den Algorithmus REINFORCE (VERSTÄRKEN) (nachstehend erörtert), und wendet dann diese Richtlinie(n) auf einen großen Pool von gegnerischen Aussagen, Übersetzungen usw. an, die zum Trainieren der Verteidigung des Systems verwendet werden, das bei jeder Iteration neu erzeugt werden kann.
  • Wie hier beschrieben, wird in einer oder mehreren Ausführungsformen der vorliegenden Erfindung ein Kandidatenkontext (z.B. eine(r) oder mehrere der in den Blöcken 303, 305, 309, 313, 317, 321 in 3 gezeigten Kontexte/Passagen) bewertet, um eine Position einer korrekten Antwort innerhalb solcher Kontexte/Passagen zu ermitteln, auch wenn diese möglicherweise mit gegnerischen Zuständen (z.B. den in 3 gezeigten Elementen 307, 311, 315, 319, 323) manipuliert wurden.
  • Mit Bezug nunmehr auf 6 wird ein allgemeiner Überblick über eine oder mehrere Ausführungsformen der vorliegenden Erfindung vorgestellt.
  • Ein Transformer-Modellsystem 624 (d.h. ein System, das wie hier beschrieben Kontexte durch die Verwendung von Transformern modelliert), analog zur KI 124 in 1, empfängt eine Frage 604 (analog zur Frage 304 in 3) und einen Kandidatenkontext 600 (analog zu einigen oder allen Kontexten, die in den Blöcken 303, 305, 309, 313, 317, 321 in 3 dargestellt sind) als Eingaben. Der Kandidatenkontext 600 hat auch Kandidatenantwortpositionen 602, die zeigen, wo der Kandidatenkontext 600 innerhalb des Kandidatenkontexts 600 laut Vorhersage eine korrekte Antwort auf die Frage 604 speichert. Das Transformer-Modellsystem 624 verwendet diese verschiedenen Antwortpositionen 602, um das Transformer-Modellsystem 624 darauf zu trainieren, die korrekte Antwortposition aus den Kandidatenantwortpositionen 602 genau zu identifizieren. Wie in Block 604 dargestellt, werden in einer oder mehreren Ausführungsformen der vorliegenden Erfindung die Frage 604, der Kandidatenkontext 600 und die Kandidatenantwortpositionen 602 zu einer einzigen Gruppe zusammengefasst. Unabhängig davon, ob die Frage 604, der Kandidatenkontext 600 und die Kandidatenantwortpositionen 602 zu einer einzigen Gruppe zusammengefasst sind, sendet die Steuereinheit 601 (z.B. der in 1 gezeigte Computer 101) in einer oder mehreren Ausführungsformen der vorliegenden Erfindung verschiedene Fragen, Kandidatenkontexte und/oder Kandidatenantwortpositionen an das Transformer-Modellsystem 624, um das Transformer-Modellsystem 624 zu trainieren und/oder verschiedene Fragen, Kandidatenkontexte und/oder Kandidatenantwortpositionen zu bewerten.
  • Mit Bezug nunmehr auf 7 wird ein beispielhaftes mehrsprachiges bidirektionales Codierer-Darstellungssystem von Transformern (MBERT) 724 vorgestellt, wie es in einer oder mehreren Ausführungsformen der vorliegenden Erfindung verwendet wird.
  • Das MBERT-System 724 (d.h. ein Trainingssystem, das künstliche Intelligenz verwendet, um eine Position eines korrekten Antwortbegriffs innerhalb eines Kontexts/einer Passage zu identifizieren, einschließlich eines Kontexts/einer Passage, der/die durch eine gegnerische Aussage manipuliert wurde, wie in 3 und 4 dargestellt) verwendet den/die in 6 beschriebenen Kandidatenkontext(e) 600, die Kandidatenantwortposition(en) 602 und die Frage 604 als Eingaben. Diese Eingaben werden in Einbettungen (Vektoren) umgewandelt. Die Einbettung Eap (Element 702) für die Kandidatenantwortposition 602 beschreibt Kandidatenpositionen für eine korrekte Antwort innerhalb des Kandidatenkontexts 600. Bei den Einbettungen Eq1 bis Eqn (Elemente 703 bis 705) handelt es sich um verschiedene Vektoren, die die Begriffe der Frage 604 darstellen. Die Einbettungen Ecc1 bis Eccm (Elemente 707 bis 709) sind verschiedene Vektoren, die die Begriffe im Kandidatenkontext 600 darstellen.
  • Die Knoten 711 (d.h. die Rechenknoten der künstlichen Intelligenz) verwenden dann Gewichtungen, Algorithmen, Abweichungen usw. (ähnlich denen, die in Block 911 für das nachstehend in 9 gezeigte tiefe neuronale Netzwerk 924 beschrieben sind), um die Kandidatenantwortposition 602 als eine korrekte Position im Kandidatenkontext 600 zu bewerten, um eine korrekte Antwort auf die Frage 604 bereitzustellen.
  • Die Knoten 711 geben ihren Zuverlässigkeitsgrad 713 aus, dass eine Position innerhalb des Kandidatenkontexts 600, die an einer Startposition 715 beginnt und an einer Endposition 717 endet, korrekt ist. Diese Zuverlässigkeit 713 wird als Antwortvorhersage 719 ausgegeben (d.h. als Grad der Zuverlässigkeit, dass eine bestimmte Start-/Endposition die Antwort auf die Frage 604 enthält), wie in den Start-/Endpositionsvorhersagen 721 dargestellt. Die Antwortvorhersage 719 und die Start-/Endpositionsvorhersagen 721 werden dann an die Steuereinheit 701 gesendet.
  • Die Linien 723 zeigen, dass die Steuereinheit 701 dann andere Kandidatenkontexte/Fragen/Antwortpositionen als die vom MBERT-System 724 zu trainierenden Kandidatenkontexte/Fragen/Antwortpositionen verwendet, wie durch die zum Block 604 führende Linie 723 angezeigt wird. Wie in 6 können diese unterschiedlichen Kandidatenantwortpositionen, Fragen und/oder Kandidatenkontexte gemäß einer oder mehreren Ausführungsformen der vorliegenden Erfindung gemeinsam und/oder einzeln in das MBERT-System 724 eingegeben werden.
  • Mit Bezug nunmehr auf 8 wird ein QA-Dialogsystem 800 gezeigt, das ein auf Transformer gestütztes System zum Beantworten von Fragen mit einer korrekten Antwort 816 aus Kandidatenkontexten 801 (z.B. eine oder mehrere der in 3 gezeigten Passagen) verwendet.
  • In einer oder mehreren Ausführungsformen der vorliegenden Erfindung kombinieren Transformer (z.B. die von MBERT verwendeten, hier beschriebenen) ein Token (z.B. ein Wort in einem Satz) mit einer Positionskennung einer Position des Tokens innerhalb des Satzes und einer Satzkennung des Satzes, um eine Einbettung zu erzeugen. Diese Einbettungen werden zum Beantworten von Fragen in dem gegebenen Kontext verwendet, wobei der gegebene Kontext gegnerische Aussagen enthalten kann.
  • Ein Verstärkungssystem (z.B. REINFORCE, das einen Gradienten wie z.B. einen Monte-Carlo-Richtlinien-Gradienten verwendet) ermöglicht es dem System dann zu lernen, welche Richtlinien im MLQA-Modell produktiv sind, um zu verstehen, wann es sich bei einer Aussage um einen gegnerischen Angriff handelt.
  • Angenommen, dem auf Transformer gestützten Verstärkungslernsystem 802 stehen mehrere urgeladene gegnerische Richtlinien 804 zur Verfügung, um gegnerische Aussagen zu verstehen (z.B. die vorstehend in 4 gezeigten beispielhaften gegnerischen Aussagen). Das auf Transformer gestützte Verstärkungssystem (z.B. das QA-Dialogsystem 800) verwendet dann einen gradientengestützten Algorithmus, z.B. den Algorithmus REINFORCE, der verschiedene gegnerische Richtlinien von den urgeladenen gegnerischen Richtlinien 804 und der Antwortposition 302 anwendet, bis die geeignete(n) gegnerische(n) Aussage(n) (z.B. die gegnerische RARQ-Aussage 806 und/oder ihre entsprechende(n) übersetzte(n) gegnerische(n) Aussage(n) 814, die durch Vergleich mit Realweltarten von gegnerischen Aussagen ermittelt werden, die das in 1 dargestellte QA-Dialogsystem 156 angreifen), nicht mehr als optimale Trainingsaussagen angesehen werden. Wenn zum Beispiel die Frageaussage ,,Café X ist das älteste Cafe in Paris" in gegnerische Aussage(n) umgewandelt wird (z.B. in die gegnerische RARQ-Aussage „Unternehmen A ist das älteste Cafe in Paris“ (Corporation A is the oldest cafe in the Arctic Ocean")) und/oder ihre übersetzte(n) gegnerische(n) Aussage(n) („Unternehmen A ist das älteste Cafe im Arktischen Ozean“) umgewandelt wird, von denen eine oder beide mit der Art von gegnerischen Aussagen übereinstimmen, die das QA-Dialogsystem 156 tatsächlich (oder voraussichtlich) angreifen, dann werden diese gegnerische(n) Aussage(n) und/oder übersetzte(n) gegnerische(n) Aussage(n) an eine Steuereinheit gesendet (z.B. Computer 101 in 1), um das MLQA-Modell neu zu trainieren (Block 505 in 5), um die Angriffspipeline auszuführen (Block 507 in 5).
  • In einer oder mehreren Ausführungsformen der vorliegenden Erfindung übersetzt das auf Transformer gestützte Lernsystem (z.B. das in 6 gezeigte Transformer-Modellsystem 624) auch die korrekte Aussage in eine andere Sprache (übersetzte korrekte Aussage und/oder ursprüngliche Frage), wodurch das QA-Dialogsystem 156 in die Lage versetzt wird, Fragen/Aussagen in mehreren Sprachen zu verarbeiten, die beim Ausführen der in 4 beschriebenen Schritte verwendet werden.
  • In einer oder mehreren Ausführungsformen der vorliegenden Erfindung verwendet die künstliche Intelligenz 124 eine andere Architektur eines elektronischen neuronalen Netzwerks als das auf Transformer gestützte System (z.B. das Transformer-Modellsystem 624), z.B. eine Architektur eines tiefen neuronalen Netzwerks (DNN), eines faltenden neuronalen Netzwerks (CNN) oder eines rekursiven neuronalen Netzwerks (RNN) mit dem System des verstärkten Lernens.
  • In einer bevorzugten Ausführungsform wird ein tiefes neuronales Netzwerk (DNN) verwendet, um Text/numerische Daten in einem Dokument aus einem Textkorpus zu bewerten, der von dem (den) in 1 dargestellten Textdokumentserver(n) 152 empfangen wird, während ein CNN verwendet wird, um ein Bild aus einem Audio- oder Bildkorpus zu bewerten (z.B. von dem (den) in 1 dargestellten Audiodateiserver(n) 154 bzw. dem (den) Videodateiserver(n) 160).
  • Ein CNN ist einem DNN insofern ähnlich, als beide miteinander verbundene elektronische Neuronen verwenden. Ein CNN unterscheidet sich jedoch von einem DNN dadurch, dass 1) ein CNN über neuronale Schichten verfügt, deren Größe auf Filtergrößen, Schrittweiten, Füllwerten usw. beruht, und 2) ein CNN eine Faltungsstrategie zum Analysieren von Bilddaten verwendet. Ein CNN erhält seinen Namen „faltend“ auf der Grundlage einer Faltung (d.h. einer mathematischen Operation bei zwei Funktionen, um ein Ergebnis zu erhalten) von gefilterten und zusammengefassten Pixeldaten (einer mathematischen Operation bei zwei Funktionen), um eine vorhergesagte Ausgabe zu erzeugen (ein Ergebnis zu erhalten).
  • Ein RNN ist einem DNN insofern ähnlich, als beide miteinander verbundene elektronische Neuronen verwenden. Ein RNN weist jedoch eine viel einfachere Architektur auf, bei der untergeordnete Knoten mithilfe einer Gewichtungsmatrix und einer Nichtlinearität (z.B. einer trigonometrischen Funktion) in übergeordnete Knoten einfließen, die so lange angepasst werden, bis der übergeordnete Knoten einen gewünschten Vektor erzeugt.
  • Logische Einheiten innerhalb eines elektronischen neuronalen Netzwerks (DNN oder CNN oder RNN) werden als „Neuronen“ oder „Knoten“ bezeichnet. Wenn das elektronische neuronale Netzwerk vollständig in Software implementiert ist, ist jedes Neuron/jeder Knoten ein separates Teilsegment eines Codes (d.h. Anweisungen, die bestimmte Maßnahmen durchführen). Wenn das elektronische neuronale Netzwerk vollständig in Hardware implementiert ist, ist jedes Neuron/jeder Knoten ein separates Teilsegment einer Hardware-Logik (z.B. ein Prozessor, eine Gatteranordnung usw.). Wird das elektronische neuronale Netzwerk als eine Kombination aus Hardware und Software implementiert, ist jedes Neuron/jeder Knoten ein Satz von Anweisungen und/oder ein Teilsegment einer Hardware-Logik.
  • Ein neuronales Netzwerk ist, wie der Name schon sagt, einem biologischen neuronalen Netzwerk (z.B. einem menschlichen Gehirn) nachempfunden. Ein biologisches neuronales Netzwerk besteht aus einer Reihe miteinander verbundener Neuronen, die sich gegenseitig beeinflussen. So kann beispielsweise ein erstes Neuron durch eine Synapse mit einem zweiten Neuron elektrisch verbunden sein, indem es Neurotransmitter (von dem ersten Neuron) freisetzt, die vom zweiten Neuron empfangen werden. Diese Neurotransmitter können dazu führen, dass das zweite Neuron erregt (excited) oder unterdrückt (inhibited) wird. Ein Muster von erregten/unterdrückten miteinander verbundenen Neuronen führt schließlich zu einem biologischen Ergebnis, das Gedanken, Muskelbewegungen, Gedächtnisabrufe usw. umfasst. Diese Beschreibung eines biologischen neuronalen Netzwerks ist zwar stark vereinfacht, doch lässt sich prinzipiell sagen, dass ein oder mehrere biologische Neuronen die Operation eines oder mehrerer anderer bioelektrisch verbundener biologischer Neuronen beeinflussen.
  • Ein elektronisches neuronales Netzwerk setzt sich in ähnlicher Weise aus elektronischen Neuronen zusammen. Im Gegensatz zu biologischen Neuronen sind elektronische Neuronen jedoch nie technisch „unterdrückend“, sondern oft nur in unterschiedlichem Maße „erregend“.
  • In einem elektronischen neuronalen Netzwerk sind die Neuronen in Schichten angeordnet, die als Eingabeschicht, verdeckte Schicht(en) und Ausgabeschicht bezeichnet werden. Die Eingabeschicht umfasst Neuronen/Knoten, die Eingabedaten entgegennehmen und sie an eine Reihe von verdeckten Schichten von Neuronen weiterleiten, wobei alle Neuronen einer Schicht in den verdeckten Schichten mit allen Neuronen einer nächsten Schicht in den verdeckten Schichten verbunden sind. Die letzte Schicht in den verdeckten Schichten gibt dann ein Rechenergebnis an die Ausgabeschicht aus, bei der es sich häufig um einen oder mehrere Knoten handelt, die Vektorinformationen enthalten.
  • In einer oder mehreren Ausführungsformen der vorliegenden Erfindung wird ein tiefes neuronales Netzwerk verwendet, um ein MLQA-Modell für ein Frage-Antwort-Dialogsystem zu erzeugen.
  • Mit Bezug nunmehr auf 7 wird ein Transformer (d.h. Teil des MBERT-Systems 724) verwendet, bei dem es sich um eine Form eines beispielhaften tiefen neuronalen Netzwerks (DNN) handelt, um ein MLQA-Modell beim Beantworten von Fragen gemäß einer oder mehreren Ausführungsformen der vorliegenden Erfindung zu erzeugen und zu verwenden.
  • Zur Veranschaulichung sei angenommen, dass die Eingaben in den Transformer/das DNN eine ursprüngliche Frage 412 (z.B. „Was ist das älteste Cafe in Paris?“) und eine korrekte Antwortposition (z.B. die Position in einem oder mehreren der Kandidatenkontexte für ,,Café X") umfassen. Ein solches DNN ist in der Lage, diese Eingaben zu verwenden, um ein ursprüngliches QA-Modell zu erzeugen, indem es Antwortentitäten (z.B. Element 446 und Element 424 in 4) und Frageentitäten (z.B. Element 426 in 4) aufeinander abstimmt.
  • Wie in 8 gezeigt, enthält dieses DNN (dargestellt als QA-Dialogsystem 800) auch Algorithmen, Regeln usw., die urgeladene gegnerische Richtlinien verwenden (z.B. Richtlinien, die vorschreiben, wie verschiedene Arten von angreifenden/gegnerischen Aussagen in einer Passage erkannt werden können); gegnerische RARQ-Aussage(n) 806 (Beispiele dafür sind in 3 und 4 beschrieben); gegnerische RAOQ-Aussage(n) 808 (Beispiele dafür sind in 3 und 4 beschrieben); gegnerische NARQ-Aussage(n) 810 (Beispiele dafür sind in 3 und 4 beschrieben); gegnerische NAOQ-Aussage(n) 812 (Beispiele dafür sind in 3 und 4 beschrieben) sowie Übersetzungen dieser gegnerischen Aussage(n) (z.B. 423 in 4), die als übersetzte gegnerische Aussage(n) 814 dargestellt sind, die in die Kontexte 801 eingegeben werden. Es sei darauf hingewiesen, dass die gegnerische(n) RARQ-Aussage(n) 806, die gegnerische(n) RAOQ-Aussage(n) 808, die gegnerische(n) NARQ-Aussage(n) 810, die gegnerische(n) NAOQ-Aussage(n) 812 und/oder die übersetzte(n) gegnerische(n) Aussage(n) 814 zwar Teil der Kontexte 801 (darin integriert) sind, jedoch werden sie in 8 zum Zwecke der Klarheit in verschiedenen Kästen dargestellt.
  • Die im DNN/QA-Dialogsystem 800 verwendeten Algorithmen, Regeln usw. sind in der Lage, das trainierte MLQA-Modell rekursiv zu definieren und zu verfeinern.
  • 9 zeigt einen allgemeinen Überblick über ein beispielhaftes trainiertes tiefes neuronales Netzwerk (DNN) 924, das verwendet werden kann, um beim Beantworten einer neuen Frage 901 eine korrekte Antwortposition 915 in vorgeschlagenen Antwortkontexten/Passagen 902 bereitzustellen.
  • Bei der automatischen Anpassung werden die mathematischen Funktionen, Ausgabewerte, Gewichtungen und/oder Abweichungen mithilfe von „Rückwärtspropagierung“ angepasst, bei der ein „Gradientenabstiegsverfahren“ ermittelt, wie jede mathematische Funktion, jeder Ausgabewert, jede Gewichtung und/oder jede Abweichung angepasst werden muss, um eine genaue Ausgabe 917 bereitzustellen. Das heißt, die mathematische(n) Funktion(en), der/die Ausgabewert(e), die Gewichtung(en) und/oder der/die Abweichungswert(e), die in Block 911 für den beispielhaften Knoten 909 dargestellt sind, werden rekursiv angepasst, bis der erwartete Vektorwert für das trainierte MLQA-Modell 915 erreicht ist.
  • Eine neue Frage 901 (z.B. „Welches ist das älteste Cafe in Madrid?“) wird zusammen mit vorgeschlagenen Antwortkontexten/Passagen 902 (z.B. bereitgestellt von einer Frage-Antwort-Datenbank, wie oben beschrieben) ebenfalls in die Eingabeschicht 903 eingegeben, die diese Informationen verarbeitet, bevor sie an die mittleren Schichten 905 weitergeleitet werden. Das heißt, unter Verwendung eines ähnlichen Prozesses wie vorstehend in 3 bis 5 beschrieben werden eine oder mehrere Antwortentitäten und eine oder mehrere Frageentitäten in der neuen Frage 901 verwendet, um eine Antwort (ähnlich der in Aussage 414 beschriebenen) aus einem QA-Datensatz abzurufen, der verwendet wird, um ähnliche Arten von Antworten aus Kontexten/Passagen abzurufen. Eine(r) oder mehrere dieser Kontexte/Passagen werden vom DNN 924 ermittelt, um die neue Frage 1001 korrekt zu beantworten, während gegnerische Aussagen ignoriert werden.
  • Als solche bewirken die Elemente, die mathematische(n) Funktion(en), der/die Ausgabewert(e), die Gewichtung(en) und der/die Abweichungswert(e), die in Block 911 gezeigt und in einem oder mehreren oder allen Neuronen im DNN 924 gefunden werden, dass die Ausgabeschicht 907 die Ausgabe 917 erzeugt, die eine korrekte Antwortposition 915 für die korrekte Antwort auf die neue Frage 901 umfasst, einschließlich jener Antworten, die in Passagen gefunden wurden, die gegnerische Aussagen für die neue Frage 901 enthalten.
  • In einer oder mehreren Ausführungsformen der vorliegenden Erfindung wird die korrekte Antwortposition 915 anschließend an den Fragesteller zurückgesendet.
  • In einer oder mehreren Ausführungsformen der vorliegenden Erfindung wird demnach nicht nur nach einer bestimmten bekannten korrekten Antwort („Café X") auf eine bestimmte Art von Frage („Welches ist das älteste Cafe in Paris?“) in einem Kontext/einer Passage gesucht, sondern nach einer korrekten Antwortposition der korrekten Antwort für eine bestimmte Art von Frage, wodurch ein viel zuverlässigeres System als mit einem bloßen Wortsuchprogramm bereitgestellt wird.
  • Mit Bezug nunmehr auf 10 wird ein Übersichtsablaufplan eines oder mehrerer Schritte dargestellt, die gemäß einer oder mehreren Ausführungsformen der vorliegenden Erfindung durchgeführt werden.
  • Nach dem Anfangsblock 1002 greift eine Datenverarbeitungseinheit (z.B. der Computer 101 und/oder die künstliche Intelligenz 124 und/oder das QA-Dialogsystem 156 in 1, das als MBERT-System 724 in 7 implementiert ist, und/oder ein DNN) auf eine Mehrzahl von gegnerischen Aussagen (z.B. die in 3 gezeigten Elemente 307, 311, 315, 319) zu, die wie in Block 1004 gezeigt in der Lage sind, einen gegnerischen Angriff auf ein Frage-Antwort-Dialogsystem durchzuführen. Bei dem in 1 gezeigten Frage-Antwort-Dialogsystem (z.B. die künstliche Intelligenz 124 und/oder das Frage-Antwort-Dialogsystem 156) handelt es sich um ein QA-System, das entwickelt/trainiert wurde, um eine korrekte Antwort auf eine bestimmte Art von Frage bereitzustellen, z.B. „Welches ist das älteste Cafe in einer bestimmten Stadt?“.
  • Wie in Block 1006 gezeigt, wird die Mehrzahl gegnerischer Aussagen beim Trainieren eines Modells für maschinelles Lernen verwendet (z.B. das in 9 gezeigte MLQA-Modell 915).
  • Wie in Block 1008 gezeigt, verstärkt die Datenverarbeitungseinheit das trainierte Modell für maschinelles Lernen, indem es gegnerische Richtlinien (z.B. die urgeladenen gegnerischen Richtlinien 804 in 8) urlädt, die mehrere Arten gegnerischer Aussagen in dem trainierten Modell für maschinelles Lernen identifizieren.
  • Wie in Block 1010 gezeigt, verwendet die Datenverarbeitungseinheit das trainierte und urgeladene Modell für maschinelles Lernen (z.B. das aktualisierte und urgeladene trainierte MLQA-Modell), um gegnerische Angriffe zu vermeiden, wenn sie auf Fragen antwortet, die dem in 8 gezeigten Frage-Antwort-Dialogsystem 800 (z.B. dem in 7 gezeigten MBERT-System 724) gestellt werden.
  • Die Linie 1014 veranschaulicht, dass der Prozess rekursiv abläuft, indem er zu Block 1004 zurückkehrt, bis festgestellt wird, dass das QA-Dialogsystem angemessen trainiert ist (z.B. durch Überschreiten eines vorgegebenen Grades an korrekten Prozentsätzen zum Identifizieren und Überwinden einer gegnerischen Aussage).
  • Der Ablaufplan endet beim Abschlussblock 1012.
  • In einer oder mehreren Ausführungsformen der vorliegenden Erfindung wird das trainierte und urgeladene Modell für maschinelles Lernen von der Datenverarbeitungseinheit getestet: Umwandeln einer Frage für das Frage-Antwort-Dialogsystem in eine Aussage mit einem Platzhalter für eine Antwort; zufälliges Auswählen einer Antwortentität aus der Antwort und Hinzufügen der zufällig ausgewählten Antwortentität an die Stelle des Platzhalters, um eine gegnerische Aussage zu erzeugen; Erzeugen eines Angriffs auf das trainierte und urgeladene Modell für maschinelles Lernen mit einer Frage und einem Kontext/einer Passage, die/der die gegnerische Aussage enthält; Messen einer Reaktion auf den erzeugten Angriff von dem trainierten und urgeladenen Modell für maschinelles Lernen; und Ändern des trainierten und urgeladenen Modells für maschinelles Lernen, um einen Reaktionsgrad der Reaktion auf den erzeugten Angriff zu erhöhen.
  • Das heißt, wie in 3 bis 10 dargestellt, wandelt die Datenverarbeitungseinheit eine Frage für das Frage-Antwort-Dialogsystem in eine Aussage mit einem Platzhalter für eine Antwort um (siehe z.B. Schritt 1 und Schritt 2 in 4). Die Datenverarbeitungseinheit wählt dann zufällig eine Antwortentität aus der Antwort aus und fügt die zufällig ausgewählte Antwortentität anstelle des Platzhalters ein, um eine gegnerische Aussage zu erzeugen (siehe z.B. Schritt 3 in 4). Wie hier beschrieben, gibt der Prozess die gegnerische Aussage zufällig in eine Passage (z.B. einen Kontext/eine Passage) ein, um eine gegnerische Passage zu erzeugen. Die Datenverarbeitungseinheit erzeugt anschließend einen Angriff auf das trainierte und urgeladene Modell für maschinelles Lernen mit einer Frage und einem Kontext/einer Passage, der/die die gegnerische Passage enthält (siehe z.B. Block 206 in 2 und/oder Block 507 in 5), und misst eine Reaktion auf den erzeugten Angriff von dem trainierten und urgeladenen Modell für maschinelles Lernen (z.B. durch die Neuronen in dem in 9 dargestellten trainierten DNN 924). Die Datenverarbeitungseinheit ändert schließlich das trainierte und urgeladene Modell für maschinelles Lernen, um einen Reaktionsgrad auf die Reaktion auf den erzeugen Angriff (z.B. durch Rückwärtspropagierung in dem in 9 dargestellten DNN 924) zu erhöhen (d.h., deutlicher anzuzeigen, dass ein Angriff vorliegt).
  • In einer oder mehreren Ausführungsformen der vorliegenden Erfindung weist die Mehrzahl gegnerischer Aussagen eine erste gegnerische Aussage in einer ersten Sprache und eine zweite gegnerische Aussage in einer anderen zweiten Sprache auf, auch wenn sowohl die erste gegnerische Aussage als auch die zweite gegnerische Aussage die gleiche inkorrekte Antwort auf die Frage bereitstellen. Eine erste gegnerische Aussage (z.B. RARQ 307 in 3 - „Unternehmen A ist das älteste Cafe im Arktischen Ozean“ (Corporation A is the oldest cafe in the Arctic Ocean)) ist zum Beispiel in einer ersten Sprache (Englisch) abgefasst, und eine zweite gegnerische Aussage (z.B. RARQ 323 in 3 - „Unternehmen A ist das älteste Cafe im Arktischen Ozean“) ist in einer anderen zweiten Sprache (Deutsch) abgefasst, obwohl beide gegnerischen Aussagen die gleiche inkorrekte Antwort auf die Frage „Welches ist das älteste Cafe in Paris?“ bereitstellen. Wie hier beschrieben, kann das QA-Trainingssystem (z.B. DNN 924) demnach gegnerische Aussagen in verschiedenen Sprachen aufnehmen.
  • In einer oder mehreren Ausführungsformen der vorliegenden Erfindung erzeugt die Datenverarbeitungseinheit die gegnerische RARQ-Aussage, die gegnerische RAOQ-Aussage, die gegnerische NARQ-Aussage und/oder die gegnerische NAOQ-Aussage (z.B. durch tatsächliches Erzeugen einer oder mehrerer dieser gegnerischen Aussagen).
  • In einer oder mehreren Ausführungsformen der vorliegenden Erfindung ruft die Datenverarbeitungseinheit die gegnerische RARQ-Aussage, die gegnerische RAOQ-Aussage, die gegnerische NARQ-Aussage und/oder die gegnerische NAOQ-Aussage (z.B. aus einem vor Kurzem erzeugten Datensatz) ab.
  • In einer oder mehreren Ausführungsformen der vorliegenden Erfindung verwendet die Datenverarbeitungseinheit die erzeugte oder abgerufene gegnerische RARQ-Aussage, die gegnerische RAOQ-Aussage, die gegnerische NARQ-Aussage und/oder die gegnerische NAOQ-Aussage als Eingaben, um das Modell für maschinelles Lernen für das Frage-Antwort-Dialogsystem weiter zu trainieren, um gegnerische Aussagen zu erkennen (siehe 6 der vorliegenden Patentanmeldung).
  • In einer oder mehreren Ausführungsformen der vorliegenden Erfindung werden mehrere gegnerische Aussagen zufällig auf einmal in einen einzelnen Kontext/eine einzelne Passage gesetzt.
  • In einer oder mehreren Ausführungsformen der vorliegenden Erfindung werden mehrere gegnerische Aussagen nach dem Zufallsprinzip nacheinander in einen einzelnen Kontext/eine einzelne Passage gesetzt, wobei jeder ursprüngliche Kontext/jede ursprüngliche Passage mit der neuen gegnerischen Aussage zu einem neuen Kontext/einer neuen Passage wird.
  • Daher wird hier ein neuartiges mehrsprachiges QA-System beschrieben, bei dem Frage, Kontext und gegnerische Aussage in der gleichen oder in verschiedenen Sprachen vorliegen können. Die gegnerischen/angreifende Aussagen können in einer Sprache erzeugt und anschließend in andere Sprachen übersetzt werden, oder sie können in verschiedenen Sprachen empfangen werden. In jedem Fall verwendet das hier beschriebene QA-System ein einzelnes trainiertes MLQA-Modell, das mit mehreren Sprachen umgehen kann, sodass die Abwehr von Angriffen durch das QA-System wirksam ist, unabhängig davon, ob das Modell Zero-Shot (trainiert auf Daten, bei denen die Frage, der Kontext und die gegnerische Aussage in anderen Sprachen vorliegen als die Testdaten) und/oder mehrsprachig ist (trainiert auf Daten, bei denen die Frage, der Kontext und die gegnerische Aussage in zwei oder mehr verschiedenen Sprachen vorliegen).
  • In einer oder mehreren Ausführungsformen wird die vorliegende Erfindung mithilfe von Cloud-Computing implementiert. Die vorliegende Offenbarung enthält zwar eine ausführliche Beschreibung von Cloud-Computing, es versteht sich jedoch von vornherein, dass die Implementierung der hier dargelegten Lehren nicht auf eine Cloud-Computing-Umgebung beschränkt ist. Stattdessen können Ausführungsformen der vorliegenden Erfindung gemeinsam mit beliebigen Arten von jetzt bekannter oder später entwickelter Datenverarbeitungsumgebung umgesetzt werden.
  • Cloud-Computing ist ein Modell zum Liefern eines Dienstes, der einen problemlosen, bedarfsorientierten Netzwerkzugang zu einem gemeinsamen Pool an konfigurierbaren Datenverarbeitungsressourcen (z.B. Netzwerke, Netzwerkbandbreite, Server, Verarbeitung, Speicher, Anwendungen, virtuelle Maschinen und Dienste) ermöglicht, die rasch bereitgestellt und mit minimalem Verwaltungsaufwand bzw. minimaler Interaktion mit einem Anbieter eines Dienstes freigegeben werden können. Dieses Cloud-Modell enthält mindestens fünf Eigenschaften, mindestens drei Dienstmodelle und mindestens vier Implementierungsmodelle.
  • Bei den Eigenschaften handelt es sich um die Folgenden:
  • On-Demand Self-Service (bedarfsorientierte Selbstbedienung): Ein Cloud-Nutzer kann einseitig automatisch nach Bedarf Datenverarbeitungsfunktionen wie Serverzeit und Netzwerkspeicher bereitstellen, ohne dass eine menschliche Interaktion mit dem Anbieter der Dienste erforderlich ist.
  • Broad Network Access (breiter Netzzugriff): Über ein Netzwerk sind Funktionen verfügbar, auf die durch Standardmechanismen zugegriffen wird, die die Verwendung durch heterogene schlanke oder leistungsintensive Client-Plattformen unterstützen (z.B. Mobiltelefone, Laptops und PDAs).
  • Ressource Pooling (Ressourcen-Bündelung): Die Datenverarbeitungsressourcen des Anbieters werden gebündelt, um mehreren Nutzern unter Verwendung eines Mehrmietermodells zu dienen, wobei verschiedene physische und virtuelle Ressourcen dynamisch nach Bedarf zugewiesen und neu zugewiesen werden. Es gibt eine gefühlte Standortunabhängigkeit, da der Nutzer allgemein keine Kontrolle bzw. Kenntnis über den genauen Standort der bereitgestellten Ressourcen hat, aber in der Lage sein kann, einen Standort auf einer höheren Abstraktionsebene festzulegen (z.B. Land, Staat oder Rechenzentrum).
  • Rapid Elasticity (schnelle Anpassungsfähigkeit): Funktionen können für eine schnelle horizontale Skalierung (scale out) schnell und elastisch bereitgestellt werden, in einigen Fällen auch automatisch, und für ein schnelles Scale-in schnell freigegeben werden. Für den Nutzer erscheinen die für das Bereitstellen verfügbaren Funktionen häufig unbegrenzt und sie können jederzeit in jeder beliebigen Menge gekauft werden.
  • Measured Service (messbarer Dienst): Cloud-Systeme steuern und optimieren die Verwendung von Ressourcen automatisch, indem sie eine Messfunktion auf einer gewissen Abstraktionsebene nutzen, die für die Art von Dienst geeignet ist (z.B. Speicher, Verarbeitung, Bandbreite sowie aktive Benutzerkonten). Die Ressourcennutzung kann überwacht, kontrolliert und protokolliert werden, wodurch Transparenz für den Anbieter und den Kunden des genutzten Dienstes bereitgestellt wird.
  • Software as a Service (Saas) (Software als Dienst): Die dem Nutzer bereitgestellte Funktion besteht darin, die in einer Cloud-Infrastruktur laufenden Anwendungen des Anbieters zu verwenden. Die Anwendungen sind über eine schlanke Client-Schnittstelle wie einen Web-Browser (z.B. auf dem Web beruhende eMail) von verschiedenen Client-Einheiten aus zugänglich. Der Nutzer verwaltet bzw. steuert die zugrunde liegende Cloud-Infrastruktur nicht, darunter das Netzwerk, Server, Betriebssysteme, Speicher bzw. sogar einzelne Anwendungsfunktionen, mit der möglichen Ausnahme von eingeschränkten benutzerspezifischen Einstellungen der Anwendungskonfiguration.
  • Platform as a Service (Paas) (Plattform als Dienst): Die dem Nutzer bereitgestellte Funktion besteht darin, durch einen Nutzer erstellte bzw. erhaltene Anwendungen, die unter Verwendung von durch den Anbieter unterstützten Programmiersprachen und Werkzeugen erstellt wurden, in der Cloud-Infrastruktur einzusetzen. Der Nutzer verwaltet bzw. steuert die zugrunde liegende Cloud-Infrastruktur nicht, darunter Netzwerke, Server, Betriebssysteme bzw. Speicher, hat aber die Kontrolle über die eingesetzten Anwendungen und möglicherweise über Konfigurationen der Hosting-Umgebung der Anwendung.
  • Infrastructure as a Service (laas) (Infrastruktur als Dienst): Die dem Nutzer bereitgestellte Funktion besteht darin, Verarbeiten, Speicher, Netzwerke und andere grundlegende Datenverarbeitungsressourcen bereitzustellen, wobei der Nutzer in der Lage ist, beliebige Software einzusetzen und auszuführen, zu der Betriebssysteme und Anwendungen gehören können. Der Nutzer verwaltet bzw. steuert die zugrunde liegende Cloud-Infrastruktur nicht, hat aber die Kontrolle über Betriebssysteme, Speicher, eingesetzte Anwendungen und möglicherweise eine eingeschränkte Kontrolle über ausgewählte Netzwerkkomponenten (z.B. Host-Firewalls).
  • Es gibt folgende Einsatzmodelle:
  • Private Cloud: Die Cloud-Infrastruktur wird einzig und allein für eine Organisation betrieben. In einer oder mehreren Ausführungsformen wird sie durch die Organisationen oder einen Dritten verwaltet und/oder befindet sich in den eigenen Räumen oder fremden Räumen.
  • Community Cloud (Benutzergemeinschafts-Cloud): Die Cloud-Infrastruktur wird von mehreren Organisationen gemeinsam genutzt und unterstützt eine spezielle Benutzergemeinschaft, die gemeinsame Anliegen hat (z.B. Aufgabe, Sicherheitsanforderungen, Richtlinien sowie Überlegungen bezüglich der Einhaltung von Vorschriften). In einer oder mehreren Ausführungsformen wird sie durch die Organisationen oder einen Dritten verwaltet werden und/oder befindet sich in den eigenen Räumen oder fremden Räumen.
  • Public Cloud (öffentliche Cloud): Die Cloud-Infrastruktur wird der allgemeinen Öffentlichkeit oder einer großen Branchengruppe zur Verfügung gestellt und gehört einer Organisation, die Cloud-Dienste verkauft.
  • Hybrid Cloud (hybride Cloud): Die Cloud-Infrastruktur besteht aus zwei oder mehr Clouds (privat, Benutzergemeinschaft oder öffentlich), die zwar einzelne Entitäten bleiben, aber durch eine standardisierte oder herstellereigene Technologie miteinander verbunden sind, die eine Übertragbarkeit von Daten und Anwendungen ermöglicht (z.B. Cloud-Zielgruppenverteilung für den Lastenausgleich zwischen Clouds).
  • Eine Cloud-Computing-Umgebung ist dienstorientiert und schwerpunktmäßig auf Statusunabhängigkeit, geringe Kopplung, Modularität und semantische Interoperabilität ausgerichtet. Der Kern von Cloud-Computing ist eine Infrastruktur, die ein Netzwerk aus miteinander verbundenen Knoten aufweist.
  • Mit Bezug nunmehr auf 11 ist eine veranschaulichende Cloud-Computing-Umgebung 50 dargestellt. Wie gezeigt, weist die Cloud-Computing-Umgebung 50 einen oder mehrere Cloud-Computing-Knoten 10 auf, mit denen von Cloud-Nutzern verwendete lokale Datenverarbeitungseinheiten wie der persönliche digitale Assistent (PDA) oder das Mobiltelefon 54A, der Desktop-Computer 54B, der Laptop-Computer 54C und/oder das Kraftfahrzeug-Computersystem 54N Daten austauschen können. Die Knoten 10 können darüber hinaus miteinander Daten austauschen. In einer Ausführungsform sind diese Knoten physisch oder virtuell in einem oder mehreren Netzwerken wie private, benutzergemeinschaftliche, öffentliche oder hybride Clouds wie oben beschrieben oder in einer Kombination davon in Gruppen angeordnet (nicht dargestellt). Dies ermöglicht es der Cloud-Computing-Umgebung 50, Infrastruktur, Plattformen und/oder Software als Dienste anzubieten, für die ein Cloud-Nutzer keine Ressourcen auf einer lokalen Datenverarbeitungseinheit vorhalten muss. Es versteht sich, dass die in 11 gezeigten Arten von Datenverarbeitungseinheiten 54A bis 54N nur veranschaulichend sein sollen und die Datenverarbeitungsknoten 10 und die Cloud-Computing-Umgebung 50 mit jeder Art von computergestützter Einheit über jede Art von Netzwerk und/oder netzwerkadressierbarer Verbindung Daten austauschen kann (z.B. über einen Web-Browser).
  • Mit Bezug nunmehr auf 12 wird ein Satz funktionaler Abstraktionsschichten gezeigt, die von der Datenverarbeitungsumgebung 50 (11) bereitgestellt werden. Es versteht sich im Voraus, dass die in 12 dargestellten Komponenten, Schichten und Funktionen nur veranschaulichend sein sollen und Ausführungsformen der Erfindung nicht darauf beschränkt sind. Wie dargestellt, werden die folgenden Schichten und entsprechenden Funktionen bereitgestellt:
  • Die Hardware- und Software-Schicht 60 enthält Hardware- und Software-Komponenten. Zu Beispielen für Hardware-Komponenten gehören: die Großrechner 61; die Server 62 auf Grundlage der RISC-Architektur (RISC = Reduced Instruction Set Computer, Computer mit reduziertem Befehlssatz), die Server 63; die Blade-Server 64; die Speichereinheiten 65; sowie die Netzwerke und Netzwerkkomponenten 66. In einigen Ausführungsformen enthalten die Software-Komponenten die Netzwerkanwendungs-Serversoftware 67 und die Datenbank-Software 68.
  • Die Virtualisierungsschicht 70 stellt eine Abstraktionsschicht bereit, aus der die folgenden Beispiele für virtuelle Entitäten in einer oder mehreren Ausführungsformen bereitgestellt werden: virtuelle Server 71; virtuelle Speicher 72; virtuelle Netzwerke 73; darunter virtuelle private Netzwerke; virtuelle Anwendungen und Betriebssysteme 74; und virtuelle Clients 75.
  • In einem Beispiel stellt die Verwaltungsschicht 80 die nachfolgend beschriebenen Funktionen bereit. Die Ressourcenbereitstellung 81 ermöglicht eine dynamische Bereitstellung von Datenverarbeitungsressourcen und anderen Ressourcen, die verwendet werden, um Aufgaben in der Cloud-Computing-Umgebung durchzuführen. Messen und Preisfindung 82 stellen Kostenverfolgung beim Verwenden von Ressourcen in der Cloud-Computing-Umgebung sowie Abrechnung oder Rechnungsstellung für die Inanspruchnahme dieser Ressourcen bereit. In einem Beispiel weisen diese Ressourcen Lizenzen für Anwendungs-Software auf. Die Sicherheitsfunktion stellt eine Identitätsprüfung für Cloud-Nutzer und Aufgaben sowie Schutz für Daten und andere Ressourcen bereit. Ein Benutzerportal 83 stellt Nutzern und Systemadministratoren den Zugang zur Cloud-Computing-Umgebung bereit. Die Verwaltung der Dienstgüte 84 stellt Zuordnung und Verwaltung von Cloud-Computing-Ressourcen bereit, sodass die erforderliche Dienstgüte erreicht wird. Die Planung und Erfüllung der Dienstgütevereinbarung (Service Level Agreement, SLA) 85 stellt eine Vorabeinteilung und eine Beschaffung von Cloud-Computing-Ressourcen bereit, deren künftiger Bedarf auf der Grundlage einer Dienstgütevereinbarung vorausgesehen wird.
  • Die Arbeitslastschicht 90 stellt Beispiele für Funktionalitäten bereit, für die die Cloud-Computing-Umgebung in einer oder mehreren Ausführungsformen verwendet wird. Zu Beispielen für Arbeitslasten und Funktionen, die von dieser Schicht bereitgestellt werden, gehören: Abbildung und Navigation 91; Software-Entwicklung und Lebenszyklusverwaltung 92; Bereitstellung von Ausbildung in virtuellen Klassenzimmern 93; Datenanalyseverarbeitung 94; Transaktionsverarbeitung 95 und eine Verarbeitung zum Schutz eines QA-Dialogsystems 96, die ein oder mehrere Funktionen der hier beschriebenen vorliegenden Erfindung durchführt.
  • Die hier verwendete Terminologie dient lediglich zum Zweck des Beschreibens von speziellen Ausführungsformen und soll die vorliegende Erfindung nicht einschränken. Wie hier verwendet, sollen die Singularformen „ein/eine/einer/eines“ und „der/die/das“ ebenfalls die Pluralformen umfassen, es sei denn, der Zusammenhang zeigt eindeutig etwas anderes auf. Es versteht sich ferner, dass die Begriffe „aufweisen“ und/oder „aufweisend“, wenn sie in dieser Beschreibung verwendet werden, die Anwesenheit von angegebenen Merkmalen, Ganzzahlen, Schritten, Operationen, Elementen und/oder Komponenten spezifizieren, jedoch nicht die Anwesenheit oder Hinzufügung von einem oder mehreren anderen Merkmalen, Ganzzahlen, Schritten, Operationen, Elementen, Komponenten und/oder Gruppen davon ausschließen.
  • Die entsprechenden Strukturen, Materialien, Maßnahmen und Äquivalente aller Mittel oder Schritt-plus-Funktion-Elemente in den nachfolgenden Ansprüchen sollen alle Strukturen, Materialien oder Maßnahmen zur Durchführung der Funktion in Kombination mit anderen beanspruchten Elementen umfassen, wie dies speziell beansprucht wird. Die Beschreibung der verschiedenen Ausführungsformen der vorliegenden Erfindung wurde zum Zwecke der Veranschaulichung und Beschreibung vorgestellt, soll jedoch nicht erschöpfend oder auf die vorliegende Erfindung in der offenbarten Form beschränkt sein. Für Fachleute ist offensichtlich, dass viele Änderungen und Abwandlungen möglich sind, ohne vom Anwendungsbereich und Gedanken der vorliegenden Erfindung abzuweichen. Die Ausführungsform wurde ausgewählt und beschrieben, um die Grundgedanken der vorliegenden Erfindung und die praktische Anwendung am besten zu erläutern und um anderen Fachleuten ein Verständnis der vorliegenden Erfindung für verschiedene Ausführungsformen mit verschiedenen Änderungen zu ermöglichen, wie sie für die jeweils beabsichtigte Verwendung geeignet sind.
  • In einer oder mehreren Ausführungsformen der vorliegenden Erfindung werden alle in der vorliegenden Offenbarung beschriebenen Verfahren durch die Verwendung eines VHDL-Programms (VHSIC Hardware Description Language) und eines VHDL-Chips implementiert. Bei einer VHDL handelt es sich um eine beispielhafte Entwurfseingabesprache für vor Ort programmierbare Gatter-Anordnungen (FPGAs), anwendungsspezifische integrierte Schaltungen (ASICs) und andere ähnliche elektronische Einheiten. In einer oder mehreren Ausführungsformen der vorliegenden Erfindung werden daher alle hier beschriebenen, durch Software implementierte Verfahren durch ein auf Hardware beruhendes VHDL-Programm emuliert, das dann auf einen VHDL-Chip, z.B. eine FPGA, angewendet wird.
  • Nachdem Ausführungsformen der vorliegenden Erfindung der vorliegenden Anmeldung somit im Einzelnen und mit Bezug auf veranschaulichte Ausführungsformen davon beschrieben wurden, versteht sich, dass Änderungen und Abwandlungen möglich sind, ohne vom Anwendungsbereich der in den beigefügten Ansprüchen definierten vorliegenden Erfindung abzuweichen.

Claims (20)

  1. Verfahren, das umfasst: Zugreifen auf eine Mehrzahl von gegnerischen Aussagen durch eine Datenverarbeitungseinheit, die in der Lage sind, einen gegnerischen Angriff auf ein Frage-Antwort-Dialogsystem durchzuführen, wobei das Frage-Antwort-Dialogsystem darauf trainiert ist, eine korrekte Antwort auf eine bestimmte Art von Frage bereitzustellen; Verwenden der Mehrzahl gegnerischer Aussagen durch die Datenverarbeitungseinheit, um ein Modell für maschinelles Lernen für das Frage-Antwort-Dialogsystem zu trainieren; Verstärken des trainierten Modells für maschinelles Lernen durch die Datenverarbeitungseinheit, indem gegnerische Richtlinien, die mehrere Arten gegnerischer Aussagen identifizieren, auf das trainierte Modell für maschinelles Lernen urgeladen werden; und Verwenden des trainierten und urgeladenen Modells für maschinelles Lernen durch die Datenverarbeitungseinheit, um beim Beantworten von Fragen, die an das Frage-Antwort-Dialogsystem gestellt werden, gegnerische Angriffe zu vermeiden.
  2. Verfahren nach Anspruch 1, das weiterhin Testen des trainierten und urgeladenen Modells für maschinelles Lernen umfasst durch: Umwandeln einer Frage für das Frage-Antwort-Dialogsystem in eine Aussage mit einem Platzhalter für eine Antwort durch die Datenverarbeitungseinheit; zufälliges Auswählen einer Antwortentität aus der Antwort und Hinzufügen der zufällig ausgewählten Antwortentität an die Stelle des Platzhalters durch die Datenverarbeitungseinheit, um eine gegnerische Aussage zu erzeugen; Erzeugen eines Angriffs auf das trainierte und urgeladene Modell für maschinelles Lernen mit der gegnerischen Aussage durch die Datenverarbeitungseinheit; Messen einer Reaktion auf den erzeugten Angriff von dem trainierten und urgeladenen Modell für maschinelles Lernen durch die Datenverarbeitungseinheit; und Ändern des trainierten und urgeladenen Modells für maschinelles Lernen durch die Datenverarbeitungseinheit, um einen Reaktionsgrad der Reaktion auf den erzeugten Angriff zu erhöhen.
  3. Verfahren nach Anspruch 1, wobei die Mehrzahl gegnerischer Aussagen eine erste gegnerische Aussage in einer ersten Sprache und eine zweite gegnerische Aussage in einer anderen zweiten Sprache aufweist, und wobei sowohl die erste gegnerische Aussage als auch die zweite gegnerische Aussage eine gleiche inkorrekte Antwort auf die Frage bereitstellen.
  4. Verfahren nach Anspruch 1, wobei die korrekte Antwort eine korrekte Antwortentität aufweist und korrekten Frageentitäten zugehörig ist, und wobei das Verfahren weiterhin umfasst: Erzeugen einer gegnerischen RARQ-Aussage (RARQ - Random Answer Random Question - zufällige Antwort auf zufällige Frage) durch die Datenverarbeitungseinheit, wobei es sich bei der RARQ-Aussage um eine erste Art von angreifender Aussage handelt, wobei die gegnerische RARQ-Aussage eine zufällige Antwortentität aufweist, die die korrekte Antwortentität in der korrekten Antwort ersetzt, und wobei die gegnerische RARQ-Aussage eine zufällige Frageentität aufweist, die die korrekte Frageentität in der korrekten Antwort ersetzt; Erzeugen einer gegnerischen RAOQ-Aussage (RAOQ - Random Answer Original Question - zufällige Antwort auf ursprüngliche Frage) durch die Datenverarbeitungseinheit, wobei es sich bei der gegnerischen RAOQ-Aussage um eine zweite Art von angreifender Aussage handelt, wobei die gegnerische RAOQ-Aussage eine zufällige Antwortentität aufweist, die die korrekte Antwortentität in der korrekten Antwort ersetzt, und wobei die gegnerische RAOQ-Aussage die korrekte Frageentität aus der korrekten Antwort enthält; Erzeugen einer gegnerischen NARQ-Aussage (NARQ - No Answer Random Question - keine Antwort auf zufällige Frage) durch die Datenverarbeitungseinheit, wobei es sich bei der gegnerischen NARQ-Aussage um eine dritte Art von angreifender Aussage handelt, wobei die gegnerische NARQ-Aussage die korrekte Antwortentität in der korrekten Antwort durch keine Antwort ersetzt, und wobei die gegnerische NARQ-Aussage eine zufällige Frageentität aufweist, die die korrekte Frageentität in der korrekten Antwort ersetzt; Erzeugen einer gegnerischen NAOQ-Aussage (NAOQ - No Answer Original Question - keine Antwort auf ursprüngliche Frage) durch die Datenverarbeitungseinheit, wobei es sich bei der gegnerischen NAOQ-Aussage um eine vierte Art von angreifender Aussage handelt, wobei die gegnerische NAOQ-Aussage die korrekte Antwortentität in der korrekten Antwort durch keine Antwort ersetzt, und wobei die gegnerische NAOQ-Aussage die korrekte Frageentität aus der korrekten Antwort enthält; und Verwenden der gegnerischen RARQ-Aussage, der gegnerischen RAOQ-Aussage, der gegnerischen NARQ-Aussage und der gegnerischen NAOQ-Aussage als Eingaben, um das Modell für maschinelles Lernen für das Frage-Antwort-Dialogsystem innerhalb von Kontextpassagen durch die Datenverarbeitungseinheit weiter zu trainieren, um gegnerische Aussagen zu erkennen.
  5. Verfahren nach Anspruch 1, wobei die korrekte Antwort eine korrekte Antwortentität aufweist und korrekten Frageentitäten zugehörig ist, und wobei das Verfahren weiterhin umfasst: Abrufen einer gegnerischen RARQ-Aussage mit einer zufälligen Antwort auf eine zufällige Frage, wobei es sich bei der RARQ-Aussage um eine erste Art von angreifender Aussage handelt, wobei die gegnerische RARQ-Aussage eine zufällige Antwortentität aufweist, die die korrekte Antwortentität in der korrekten Antwort ersetzt, und wobei die gegnerische RARQ-Aussage eine zufällige Frageentität aufweist, die die korrekte Frageentität in der korrekten Antwort ersetzt; Abrufen einer gegnerischen RAOQ-Aussage mit einer zufälligen Antwort auf eine ursprüngliche Frage, wobei es sich bei der gegnerischen RAOQ-Aussage um eine zweite Art von angreifender Aussage handelt, wobei die gegnerische RAOQ-Aussage eine zufällige Antwortentität aufweist, die die korrekte Antwortentität in der korrekten Antwort ersetzt, und wobei die gegnerische RAOQ-Aussage die korrekte Frageentität aus der korrekten Antwort enthält; Abrufen einer gegnerischen NARQ-Aussage mit keiner Antwort auf eine zufällige Frage, wobei es sich bei der gegnerischen NARQ-Aussage um eine dritte Art von angreifender Aussage handelt, wobei die gegnerische NARQ-Aussage die korrekte Antwortentität in der korrekten Antwort durch keine Antwort ersetzt, und wobei die gegnerische NARQ-Aussage eine zufällige Frageentität aufweist, die die korrekte Frageentität in der korrekten Antwort ersetzt; Abrufen einer gegnerischen NAOQ-Aussage mit keiner Antwort auf eine ursprüngliche Frage, wobei es sich bei der gegnerischen NAOQ-Aussage um eine vierte Art von angreifender Aussage handelt, wobei die gegnerische NAOQ-Aussage die korrekte Antwortentität in der korrekten Antwort durch keine Antwort ersetzt, und wobei die gegnerische NAOQ-Aussage die korrekte Frageentität aus der korrekten Antwort enthält; und Verwenden der gegnerischen RARQ-Aussage, der gegnerischen RAOQ-Aussage, der gegnerischen NARQ-Aussage und der gegnerischen NAOQ-Aussage als Eingaben, um das Modell für maschinelles Lernen für das Frage-Antwort-Dialogsystem innerhalb von Kontextpassagen durch die Datenverarbeitungseinheit weiter zu trainieren, um gegnerische Aussagen zu erkennen und zu ignorieren.
  6. Verfahren nach Anspruch 1, wobei die korrekte Antwort eine korrekte Antwortentität und eine korrekte Frageentität aufweist, und wobei das Verfahren weiterhin umfasst: Abrufen einer gegnerischen RAOQ-Aussage mit einer zufälligen Antwort auf eine ursprüngliche Frage, wobei die gegnerische RAOQ-Aussage eine zufällige Antwortentität aufweist, die die korrekte Antwortentität in der korrekten Antwort ersetzt, und wobei die gegnerische RAOQ-Aussage die korrekte Frageentität aus der korrekten Antwort enthält; und Verwenden der gegnerischen RAOQ-Aussage als Eingabe, um das Modell für maschinelles Lernen für das Frage-Antwort-Dialogsystem innerhalb von Kontextpassagen durch die Datenverarbeitungseinheit weiter zu trainieren, um gegnerische Aussagen zu erkennen und zu ignorieren.
  7. Verfahren nach Anspruch 1, wobei die korrekte Antwort eine korrekte Antwortentität und eine korrekte Frageentität aufweist, und wobei das Verfahren weiterhin umfasst: Abrufen einer gegnerischen NARQ-Aussage mit keiner Antwort auf eine zufällige Frage, wobei die gegnerische NARQ-Aussage die korrekte Antwortentität in der korrekten Antwort durch keine Antwort ersetzt, und wobei die gegnerische NARQ-Aussage eine zufällige Frageentität aufweist, die die korrekte Frageentität in der korrekten Antwort ersetzt; und Verwenden der gegnerischen NARQ-Aussage als Eingabe, um das Modell für maschinelles Lernen für das Frage-Antwort-Dialogsystem innerhalb von Kontextpassagen durch die Datenverarbeitungseinheit weiter zu trainieren, um gegnerische Aussagen zu erkennen und zu ignorieren.
  8. Verfahren nach Anspruch 1, wobei die korrekte Antwort eine korrekte Antwortentität und eine korrekte Frageentität aufweist, und wobei das Verfahren weiterhin umfasst: Abrufen einer gegnerischen NAOQ-Aussage mit keiner Antwort auf eine ursprüngliche Frage, wobei die gegnerische NAOQ-Aussage die korrekte Antwortentität in der korrekten Antwort durch keine Antwort ersetzt, und wobei die gegnerische NAOQ-Aussage eine zufällige Frageentität aufweist, die die korrekte Frageentität in der korrekten Antwort ersetzt; und Verwenden der gegnerischen NAOQ-Aussage als Eingabe, um das Modell für maschinelles Lernen für das Frage-Antwort-Dialogsystem innerhalb von Kontextpassagen durch die Datenverarbeitungseinheit weiter zu trainieren, um gegnerische Aussagen zu erkennen und zu ignorieren.
  9. Computerprogrammprodukt, das ein durch einen Computer lesbares Speichermedium mit darauf gespeichertem Programmcode aufweist, wobei das durch einen Computer lesbare Speichermedium kein nichtflüchtiges Signal an sich ist, wobei der Programmcode durch einen Prozessor lesbar und ausführbar ist, um ein Verfahren zum Vermeiden gegnerischer Angriffe auf ein Frage-Antwort-Dialogsystem durchzuführen, und wobei das Verfahren umfasst: Zugreifen auf eine Mehrzahl von gegnerischen Aussagen, die in der Lage sind, einen gegnerischen Angriff auf ein Frage-Antwort-Dialogsystem durchzuführen, wobei das Frage-Antwort-Dialogsystem darauf trainiert ist, eine korrekte Antwort auf eine bestimmte Art von Frage bereitzustellen; Verwenden der Mehrzahl von gegnerischen Aussagen, um ein Modell für maschinelles Lernen für das Frage-Antwort-Dialogsystem zu trainieren; Verstärken des trainierten Modells für maschinelles Lernen, indem gegnerische Richtlinien, die mehrere Arten gegnerischer Aussagen identifizieren, auf das trainierte Modell für maschinelles Lernen urgeladen werden; und Verwenden des trainierten und urgeladenen Modells für maschinelles Lernen, um beim Beantworten von Fragen, die an das Frage-Antwort-Dialogsystem gestellt werden, gegnerische Angriffe zu vermeiden.
  10. Computerprogrammprodukt nach Anspruch 9, wobei das Verfahren weiterhin Testen des trainierten und urgeladenen Modells für maschinelles Lernen umfasst durch: Umwandeln einer Frage für das Frage-Antwort-Dialogsystem in eine Aussage mit einem Platzhalter für eine Antwort; zufälliges Auswählen einer Antwortentität aus der Antwort und Hinzufügen der zufällig ausgewählten Antwortentität an die Stelle des Platzhalters, um eine gegnerische Aussage zu erzeugen; zufälliges Eingeben der gegnerischen Aussage in eine Passage, um eine gegnerische Passage zu erzeugen; Erzeugen eines Angriffs auf das trainierte und urgeladene Modell für maschinelles Lernen mit der gegnerischen Aussage; Messen einer Reaktion auf den erzeugten Angriff von dem trainierten und urgeladenen Modell für maschinelles Lernen; und Ändern des trainierten und urgeladenen Modells für maschinelles Lernen durch die Datenverarbeitungseinheit, um einen Reaktionsgrad der Reaktion auf den erzeugten Angriff zu erhöhen.
  11. Computerprogrammprodukt nach Anspruch 9, wobei die Mehrzahl gegnerischer Aussagen eine erste gegnerische Aussage in einer ersten Sprache und eine zweite gegnerische Aussage in einer anderen zweiten Sprache aufweist und wobei sowohl die erste gegnerische Aussage als auch die zweite gegnerische Aussage eine gleiche inkorrekte Antwort auf die Frage bereitstellen.
  12. Computerprogrammprodukt nach Anspruch 9, wobei die korrekte Antwort eine korrekte Antwortentität aufweist und korrekten Frageentitäten zugehörig ist, und wobei das Verfahren weiterhin umfasst: Erzeugen einer gegnerischen RARQ-Aussage mit einer zufälligen Antwort auf eine zufällige Frage, wobei es sich bei der RARQ-Aussage um eine erste Art von angreifender Aussage handelt, wobei die gegnerische RARQ-Aussage eine zufällige Antwortentität aufweist, die die korrekte Antwortentität in der korrekten Antwort ersetzt, und wobei die gegnerische RARQ-Aussage eine zufällige Frageentität aufweist, die die korrekte Frageentität in der korrekten Antwort ersetzt; Erzeugen einer gegnerischen RAOQ-Aussage mit einer zufälligen Antwort auf eine ursprüngliche Frage, wobei es sich bei der gegnerischen RAOQ-Aussage um eine zweite Art von angreifender Aussage handelt, wobei die gegnerische RAOQ-Aussage eine zufällige Antwortentität aufweist, die die korrekte Antwortentität in der korrekten Antwort ersetzt, und wobei die gegnerische RAOQ-Aussage die korrekte Frageentität aus der korrekten Antwort enthält; Erzeugen einer gegnerischen NARQ-Aussage mit keiner Antwort auf eine zufällige Frage, wobei es sich bei der gegnerischen NARQ-Aussage um eine dritte Art von angreifender Aussage handelt, wobei die gegnerische NARQ-Aussage die korrekte Antwortentität in der korrekten Antwort durch keine Antwort ersetzt, und wobei die gegnerische NARQ-Aussage eine zufällige Frageentität aufweist, die die korrekte Frageentität in der korrekten Antwort ersetzt; Erzeugen einer gegnerischen NAOQ-Aussage mit keiner Antwort auf eine ursprüngliche Frage, wobei es sich bei der gegnerischen NAOQ-Aussage um eine vierte Art von angreifender Aussage handelt, wobei die gegnerische NAOQ-Aussage die korrekte Antwortentität in der korrekten Antwort durch keine Antwort ersetzt, und wobei die gegnerische NAOQ-Aussage die korrekte Frageentität aus der korrekten Antwort enthält; und Verwenden der gegnerischen RARQ-Aussage, der gegnerischen RAOQ-Aussage, der gegnerischen NARQ-Aussage und der gegnerischen NAOQ-Aussage als Eingaben, um das Modell für maschinelles Lernen für das Frage-Antwort-Dialogsystem innerhalb von Kontextpassagen durch die Datenverarbeitungseinheit weiter zu trainieren, um gegnerische Aussagen zu erkennen und zu ignorieren.
  13. Computerprogrammprodukt nach Anspruch 9, wobei die korrekte Antwort eine korrekte Antwortentität aufweist und korrekten Frageentitäten zugehörig ist, und wobei das Verfahren weiterhin umfasst: Abrufen einer gegnerischen RARQ-Aussage mit einer zufälligen Antwort auf eine zufällige Frage, wobei es sich bei der RARQ-Aussage um eine erste Art von angreifender Aussage handelt, wobei die gegnerische RARQ-Aussage eine zufällige Antwortentität aufweist, die die korrekte Antwortentität in der korrekten Antwort ersetzt, und wobei die gegnerische RARQ-Aussage eine zufällige Frageentität aufweist, die die korrekte Frageentität in der korrekten Antwort ersetzt; Abrufen einer gegnerischen RAOQ-Aussage mit einer zufälligen Antwort auf eine ursprüngliche Frage, wobei es sich bei der gegnerischen RAOQ-Aussage um eine zweite Art von angreifender Aussage handelt, wobei die gegnerische RAOQ-Aussage eine zufällige Antwortentität aufweist, die die korrekte Antwortentität in der korrekten Antwort ersetzt, und wobei die gegnerische RAOQ-Aussage die korrekte Frageentität aus der korrekten Antwort enthält; Abrufen einer gegnerischen NARQ-Aussage mit keiner Antwort auf eine zufällige Frage, wobei es sich bei der gegnerischen NARQ-Aussage um eine dritte Art von angreifender Aussage handelt, wobei die gegnerische NARQ-Aussage die korrekte Antwortentität in der korrekten Antwort durch keine Antwort ersetzt, und wobei die gegnerische NARQ-Aussage eine zufällige Frageentität aufweist, die die korrekte Frageentität in der korrekten Antwort ersetzt; Abrufen einer gegnerischen NAOQ-Aussage mit keiner Antwort auf eine ursprüngliche Frage, wobei es sich bei der gegnerischen NAOQ-Aussage um eine vierte Art von angreifender Aussage handelt, wobei die gegnerische NAOQ-Aussage die korrekte Antwortentität in der korrekten Antwort durch keine Antwort ersetzt, und wobei die gegnerische NAOQ-Aussage die korrekte Frageentität aus der korrekten Antwort enthält; und Verwenden der gegnerischen RARQ-Aussage, der gegnerischen RAOQ-Aussage, der gegnerischen NARQ-Aussage und der gegnerischen NAOQ-Aussage als Eingaben, um das Modell für maschinelles Lernen für das Frage-Antwort-Dialogsystem innerhalb von Kontextpassagen durch die Datenverarbeitungseinheit weiter zu trainieren, um gegnerische Aussagen zu erkennen und zu ignorieren.
  14. Computerprogrammprodukt nach Anspruch 9, wobei die korrekte Antwort eine korrekte Antwortentität und eine korrekte Frageentität aufweist, und wobei das Verfahren weiterhin umfasst: Abrufen einer gegnerischen RAOQ-Aussage mit einer zufälligen Antwort auf eine ursprüngliche Frage, wobei die gegnerische RAOQ-Aussage eine zufällige Antwortentität aufweist, die die korrekte Antwortentität in der korrekten Antwort ersetzt, und wobei die gegnerische RAOQ-Aussage die korrekte Frageentität aus der korrekten Antwort enthält; und Verwenden der gegnerischen RARQ-Aussage als Eingabe, um das Modell für maschinelles Lernen für das Frage-Antwort-Dialogsystem weiter zu trainieren, um gegnerische Aussagen zu erkennen und zu ignorieren.
  15. Computerprogrammprodukt nach Anspruch 9, wobei die korrekte Antwort eine korrekte Antwortentität und eine korrekte Frageentität aufweist, und wobei das Verfahren weiterhin umfasst: Abrufen einer gegnerischen NARQ-Aussage mit keiner Antwort auf eine zufällige Frage, wobei die gegnerische NARQ-Aussage die korrekte Antwortentität in der korrekten Antwort durch keine Antwort ersetzt, und wobei die gegnerische NARQ-Aussage eine zufällige Frageentität aufweist, die die korrekte Frageentität in der korrekten Antwort ersetzt; und Verwenden der gegnerischen NARQ-Aussage als Eingabe, um das Modell für maschinelles Lernen für das Frage-Antwort-Dialogsystem weiter zu trainieren, um gegnerische Aussagen zu erkennen und zu ignorieren.
  16. Computerprogrammprodukt nach Anspruch 9, wobei die korrekte Antwort eine korrekte Antwortentität und eine korrekte Frageentität aufweist, und wobei das Verfahren weiterhin umfasst: Abrufen einer gegnerischen NAOQ-Aussage mit keiner Antwort auf eine ursprüngliche Frage, wobei die gegnerische NAOQ-Aussage die korrekte Antwortentität in der korrekten Antwort durch keine Antwort ersetzt, und wobei die gegnerische NAOQ-Aussage eine zufällige Frageentität aufweist, die die korrekte Frageentität in der korrekten Antwort ersetzt; und Verwenden der gegnerischen NAOQ-Aussage als Eingabe, um das Modell für maschinelles Lernen für das Frage-Antwort-Dialogsystem weiter zu trainieren, um gegnerische Aussagen zu erkennen und zu ignorieren.
  17. Computerprogrammprodukt nach Anspruch 9, wobei der Programmcode als Dienst in einer Cloud-Umgebung bereitgestellt wird.
  18. Computersystem, das einen oder mehrere Prozessoren, einen oder mehrere durch einen Computer lesbare Speicher und eine oder mehrere nichtflüchtige, durch einen Computer lesbare Speichereinheiten und Programmanweisungen aufweist, die in mindestens einem des einen oder mehreren nichtflüchtigen, durch einen Computer lesbaren Speichermedien gespeichert sind, um von mindestens einem des einen oder mehreren Prozessoren über mindestens einen des einen oder mehrere durch einen Computer lesbare Speicher ausgeführt zu werden, wobei die gespeicherten Programmanweisungen ausgeführt werden, um ein Verfahren durchzuführen, das umfasst: Zugreifen auf eine Mehrzahl von gegnerischen Aussagen, die in der Lage sind, einen gegnerischen Angriff auf ein Frage-Antwort-Dialogsystem durchzuführen, wobei das Frage-Antwort-Dialogsystem darauf trainiert ist, eine korrekte Antwort auf eine bestimmte Art von Frage bereitzustellen; Verwenden der Mehrzahl von gegnerischen Aussagen, um ein Modell für maschinelles Lernen für das Frage-Antwort-Dialogsystem zu trainieren; Verstärken des trainierten Modells für maschinelles Lernen, indem gegnerische Richtlinien, die mehrere Arten gegnerischer Aussagen identifizieren, auf das trainierte Modell für maschinelles Lernen urgeladen werden; und Verwenden des trainierten und urgeladenen Modells für maschinelles Lernen, um beim Beantworten von Fragen, die an das Frage-Antwort-Dialogsystem gestellt werden, gegnerische Angriffe zu vermeiden.
  19. Computersystem nach Anspruch 18, wobei die korrekte Antwort eine korrekte Antwortentität aufweist und korrekten Frageentitäten zugehörig ist, und wobei das Verfahren weiterhin umfasst: Abrufen einer gegnerischen RARQ-Aussage mit einer zufälligen Antwort auf eine zufällige Frage, wobei es sich bei der RARQ-Aussage um eine erste Art von angreifender Aussage handelt, wobei die gegnerische RARQ-Aussage eine zufällige Antwortentität aufweist, die die korrekte Antwortentität in der korrekten Antwort ersetzt, und wobei die gegnerische RARQ-Aussage eine zufällige Frageentität aufweist, die die korrekte Frageentität in der korrekten Antwort ersetzt; Abrufen einer gegnerischen RAOQ-Aussage mit einer zufälligen Antwort auf eine ursprüngliche Frage, wobei es sich bei der gegnerischen RAOQ-Aussage um eine zweite Art von angreifender Aussage handelt, wobei die gegnerische RAOQ-Aussage eine zufällige Antwortentität aufweist, die die korrekte Antwortentität in der korrekten Antwort ersetzt, und wobei die gegnerische RAOQ-Aussage die korrekte Frageentität aus der korrekten Antwort enthält; Abrufen einer gegnerischen NARQ-Aussage mit keiner Antwort auf eine zufällige Frage, wobei es sich bei der gegnerischen NARQ-Aussage um eine dritte Art von angreifender Aussage handelt, wobei die gegnerische NARQ-Aussage die korrekte Antwortentität in der korrekten Antwort durch keine Antwort ersetzt, und wobei die gegnerische NARQ-Aussage eine zufällige Frageentität aufweist, die die korrekte Frageentität in der korrekten Antwort ersetzt; Abrufen einer gegnerischen NAOQ-Aussage mit keiner Antwort auf eine ursprüngliche Frage, wobei es sich bei der gegnerischen NAOQ-Aussage um eine vierte Art von angreifender Aussage handelt, wobei die gegnerische NAOQ-Aussage die korrekte Antwortentität in der korrekten Antwort durch keine Antwort ersetzt, und wobei die gegnerische NAOQ-Aussage die korrekte Frageentität aus der korrekten Antwort enthält; und Verwenden der gegnerischen RARQ-Aussage, der gegnerischen RAOQ-Aussage, der gegnerischen NARQ-Aussage und der gegnerischen NAOQ-Aussage als Eingaben, um das Modell für maschinelles Lernen für das Frage-Antwort-Dialogsystem innerhalb von Kontextpassagen durch die Datenverarbeitungseinheit weiter zu trainieren, um gegnerische Aussagen zu erkennen und zu ignorieren.
  20. Computersystem nach Anspruch 18, wobei die gespeicherten Programmanweisungen als Dienst in einer Cloud-Umgebung bereitgestellt werden.
DE112021004694.2T 2020-10-21 2021-08-30 Trainieren eines frage-antwort-dialogsystems zum vermeiden von gegnerischen angriffen Pending DE112021004694T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US17/076,031 2020-10-21
US17/076,031 US11520829B2 (en) 2020-10-21 2020-10-21 Training a question-answer dialog sytem to avoid adversarial attacks
PCT/CN2021/115391 WO2022083291A1 (en) 2020-10-21 2021-08-30 Training question-answer dialog system to avoid adversarial attacks

Publications (1)

Publication Number Publication Date
DE112021004694T5 true DE112021004694T5 (de) 2023-07-06

Family

ID=81186490

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112021004694.2T Pending DE112021004694T5 (de) 2020-10-21 2021-08-30 Trainieren eines frage-antwort-dialogsystems zum vermeiden von gegnerischen angriffen

Country Status (6)

Country Link
US (2) US11520829B2 (de)
JP (1) JP2023545994A (de)
CN (1) CN116324804A (de)
DE (1) DE112021004694T5 (de)
GB (1) GB2615666A (de)
WO (1) WO2022083291A1 (de)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US12001798B2 (en) * 2021-01-13 2024-06-04 Salesforce, Inc. Generation of training data for machine learning based models for named entity recognition for natural language processing
US20220391595A1 (en) * 2021-06-02 2022-12-08 Oracle International Corporation User discussion environment interaction and curation via system-generated responses
CN114648032B (zh) * 2022-05-23 2022-08-19 腾讯科技(深圳)有限公司 语义理解模型的训练方法、装置和计算机设备
CN115938530B (zh) * 2023-01-09 2023-07-07 人工智能与数字经济广东省实验室(广州) 抗后门攻击的智能医疗影像诊断意见自动生成方法
CN117131945A (zh) * 2023-10-26 2023-11-28 北京睿企信息科技有限公司 一种用于llm模型的数据训练方法及存储介质

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9684876B2 (en) 2015-03-30 2017-06-20 International Business Machines Corporation Question answering system-based generation of distractors using machine learning
US9996533B2 (en) 2015-09-30 2018-06-12 International Business Machines Corporation Question answering system using multilingual information sources
US11250332B2 (en) 2016-05-11 2022-02-15 International Business Machines Corporation Automated distractor generation by performing disambiguation operations
CN108509463B (zh) * 2017-02-28 2022-03-29 华为技术有限公司 一种问题的应答方法及装置
US11373632B2 (en) * 2017-05-10 2022-06-28 Oracle International Corporation Using communicative discourse trees to create a virtual persuasive dialogue
CN107423437B (zh) 2017-08-04 2020-09-01 逸途(北京)科技有限公司 一种基于对抗网络强化学习的问答模型优化方法
CN108595629B (zh) 2018-04-24 2021-08-06 北京慧闻科技发展有限公司 用于答案选择系统的数据处理方法及应用
US11481416B2 (en) * 2018-07-12 2022-10-25 International Business Machines Corporation Question Answering using trained generative adversarial network based modeling of text
US11275841B2 (en) 2018-09-12 2022-03-15 Adversa Ai Ltd Combination of protection measures for artificial intelligence applications against artificial intelligence attacks
US11836256B2 (en) 2019-01-24 2023-12-05 International Business Machines Corporation Testing adversarial robustness of systems with limited access
CN111078892B (zh) 2019-11-25 2023-05-23 百度在线网络技术(北京)有限公司 对抗样本生成方法、装置、电子设备及存储介质
CN111444346B (zh) 2020-03-31 2023-04-18 广州大学 一种用于文本分类的词向量对抗样本生成方法及装置

Also Published As

Publication number Publication date
JP2023545994A (ja) 2023-11-01
GB2615666A (en) 2023-08-16
US20230009893A1 (en) 2023-01-12
CN116324804A (zh) 2023-06-23
GB202305817D0 (en) 2023-06-07
US11520829B2 (en) 2022-12-06
US20220121710A1 (en) 2022-04-21
US11755657B2 (en) 2023-09-12
WO2022083291A1 (en) 2022-04-28

Similar Documents

Publication Publication Date Title
DE112021004694T5 (de) Trainieren eines frage-antwort-dialogsystems zum vermeiden von gegnerischen angriffen
DE112019001533T5 (de) Erweiterung von trainingsdaten für die klassifikation von natürlicher sprache
DE112018002984T5 (de) Konformitätsbewusste Laufzeiterzeugung auf Grundlage von Anwendungsmustern und Risikobeurteilung
DE112018005227T5 (de) Merkmalsextraktion mithilfe von multi-task-lernen
DE112020003820T5 (de) Erkennung von Anomalien und Abweichungen unter Verwendung eines domänenindizierten Einschränkungs-Repository
DE112018005459T5 (de) Datenanonymisierung
DE112020003311T5 (de) Verarbeitung natürlicher sprache unter verwendung eines ontologiegestützten modells zur begriffseinbettung
DE112020002110T5 (de) Ressourcenarme entitätsauflösung mit transfer learning
DE112020005095T5 (de) Automatische trennung und extraktion von tabellendaten unter verwendung von maschinellem lernen
DE112019002235T5 (de) Einbinden eines wörterbuch-bearbeitungssystems in ein text mining
DE112018005167T5 (de) Aktualisieren von trainingsdaten
US10157203B2 (en) Question transformation in question answer systems
DE112018004660T5 (de) Verwenden von kommentaren zum bereitstellen von optimierungen
DE112021005782T5 (de) Korrigieren von Antwortpannen
DE112020002886T5 (de) Kontextabhängiges data-mining
DE112018003236T5 (de) Domänenspezifischer lexikalisch gesteuerter prä-parser
DE112020000545T5 (de) Deep-forest-modell-entwicklung und -training
DE112021003583T5 (de) Sprachenübergreifendes transferlernen ohne trainingsbeispiele
DE112021004234T5 (de) Einsetzen von metalernen zum optimieren der automatischen auswahl von pipelinesdes maschinellen lernens
DE112018004140T5 (de) Abstraktion und übertragbarkeit auf eine absichtserkennung
DE102021123058A1 (de) Maskieren von sensiblen informationen in einem dokument
DE112017005015T5 (de) Verarbeiten von gleichgeordneten Aufrufen (SIBLING CALLS)
DE112018001952T5 (de) Verbessertes visuelles dialogsystem für intelligente tutoren
DE112020004806T5 (de) Cluster-sicherheit auf der grundlage von inhalten virtueller maschinen
DE112020005296T5 (de) Durchsuchen von gesprächsprotokollen eines systems mit virtuellen dialogagenten nach kontrastierenden zeitlichen mustern

Legal Events

Date Code Title Description
R012 Request for examination validly filed