DE112017006151T5 - Anpassbare Verarbeitungskomponenten - Google Patents

Anpassbare Verarbeitungskomponenten Download PDF

Info

Publication number
DE112017006151T5
DE112017006151T5 DE112017006151.2T DE112017006151T DE112017006151T5 DE 112017006151 T5 DE112017006151 T5 DE 112017006151T5 DE 112017006151 T DE112017006151 T DE 112017006151T DE 112017006151 T5 DE112017006151 T5 DE 112017006151T5
Authority
DE
Germany
Prior art keywords
application
components
component
outputs
output
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
DE112017006151.2T
Other languages
English (en)
Inventor
Siddharth Ajeet Patwardhan
Youngja Park
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 DE112017006151T5 publication Critical patent/DE112017006151T5/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Mathematical Physics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Health & Medical Sciences (AREA)
  • Machine Translation (AREA)
  • Logic Circuits (AREA)
  • Stored Programmes (AREA)

Abstract

Bei der Konfiguration eines Verarbeitungssystems mit einer Anwendung, die aus Machine Learning-Komponenten besteht, wobei die Anwendung an einem Satz von Trainingsdaten trainiert wurde, wird die Anwendung auf dem Verarbeitungssystem unter Verwendung eines weiteren Satzes von Trainingsdaten ausgeführt. Aus dem weiteren Satz von Trainingsdaten erzeugte Ausgaben der Anwendung, die mit Ground-Truth-Daten übereinstimmen, werden identifiziert. Die Komponenten werden angepasst, um Ausgaben der Anwendung, die mit den Ground-Truth-Daten übereinstimmen, unter Verwendung der identifizierten Ausgaben der Anwendung zu erzeugen.

Description

  • HINTERGRUND
  • Technisches Gebiet
  • Ausführungsformen der vorliegenden Erfindung betreffen maschinelles Lernen (Machine Learning) und insbesondere das Anpassen von einzelnen Machine Learning-Komponenten in verschiedenen Anwendungsumgebungen.
  • Beschreibung der verwandten Technik
  • Machine Learning ist ein Bereich der Informatik, durch den Computer-Verarbeitungssysteme ohne explizite Programmierung lernen können. Machine Learning wird in einer Reihe von Datenverarbeitungsaufgaben eingesetzt, bei denen das Entwickeln und Programmieren von expliziten Algorithmen nicht machbar ist; zu Beispiel-Anwendungen gehören, ohne darauf beschränkt zu sein, Netzsicherheit, Spam-Filterung, optische Zeichenerkennung (OCR, optical character recognition), Suchmaschinen, Computer Vision und Verarbeitung natürlicher Sprache (NLP, Natural Language Processing). Ein Kernziel einer Machine Learning-Komponente oder eines „Lernenden“ besteht darin, aus ihrer/seiner Erfahrung heraus zu verallgemeinern, um an neuen, unbekannten Beispielen/Aufgaben eine genaue Leistung zu erbringen, nachdem sie/er Erfahrungen mit einem Lerndatensatz gemacht hat. Trainingsbeispiele können bereitgestellt werden, die als repräsentativ für den Raum des Auftretens gelten, und der Lernende erstellt ein allgemeines Modell über diesen Raum, das es ihm ermöglicht, ausreichend genaue Vorhersagen in neuen Fällen zu erzeugen.
  • Bestimmte Computer-Verarbeitungssysteme und die darauf durchgeführten Anwendungen und Aufgaben weisen viele Komponenten auf, von denen eine oder mehrere Lernende sein können. In einigen Systemen muss jeder der Lernenden jeweils von den anderen getrennt und auch getrennt von dem Training des Systems insgesamt trainiert werden. Moderne, große NLP-Anwendungen zum Beispiel bestehen aus vielen einzelnen auf Machine Learning beruhenden Komponenten, die in herkömmlicher Weise voneinander getrennt und von der Anwendung getrennt, in der sie verwendet werden, trainiert werden. Wenn eine neue Domäne und/oder ein neues Genre von Text in die Anwendung eingeführt wird, muss die Anwendung mit den neuen Trainingsdaten neu trainiert werden, um in der neuen Domäne Genauigkeit zu wahren. Jede NLP-Komponente innerhalb dieser Anwendung muss für diese Domäne und/oder dieses Genre einzeln trainiert oder manuell angepasst werden. Das Beschaffen von Trainingsdaten für solche NLP-Komponenten für neue Domänen ist äußerst kostspielig, da es Eingaben von menschlichen Experten in dieser Domäne erforderlich macht. Das Neutrainieren einer jeden einzelnen NLP-Komponente in einer großen Anwendung wird untragbar kostspielig und in einigen Fällen zulasten der Genauigkeit der Anwendung vernachlässigt.
  • KURZDARSTELLUNG
  • Von einem ersten Aspekt aus betrachtet, stellt die vorliegende Erfindung ein Verfahren bereit, um ein Verarbeitungssystem mit einer Anwendung zu konfigurieren, die eine Vielzahl von Machine Learning-Komponenten nutzt, wobei die Anwendung an einem Satz von Trainingsdaten trainiert wird, wobei das Verfahren aufweist: Ausführen der Anwendung auf dem Verarbeitungssystem unter Verwendung eines weiteren Satzes von Trainingsdaten; Identifizieren von aus dem weiteren Satz von Trainingsdaten erzeugten Ausgaben, die mit Ground-Truth-Daten übereinstimmen; und Anpassen der Vielzahl von Komponenten, um Ausgaben der Anwendung, die mit den Ground-Truth-Daten übereinstimmen, unter Verwendung der identifizierten Ausgaben der Anwendung zu erzeugen.
  • Von einem weiteren Aspekt aus betrachtet, stellt die vorliegende Erfindung eine Vorrichtung bereit, um ein Verarbeitungssystem mit einer Anwendung zu konfigurieren, die eine Vielzahl von Machine Learning-Komponenten nutzt, wobei die Anwendung an einem Satz von Trainingsdaten trainiert wird, wobei die Vorrichtung aufweist: einen Prozessor, der so konfiguriert ist, dass er: die Anwendung auf dem Verarbeitungssystem unter Verwendung eines weiteren Satzes von Trainingsdaten ausführt; Ausgaben der Anwendung identifiziert, die aus dem weiteren Satz von Trainingsdaten erzeugt werden, welche mit Ground-Truth-Daten übereinstimmen; und die Vielzahl von Komponenten anpasst, um Ausgaben der Anwendung, die mit den Ground-Truth-Daten übereinstimmen, unter Verwendung der identifizierten Ausgaben der Anwendung zu erzeugen.
  • Von einem weiteren Aspekt aus betrachtet, stellt die vorliegende Erfindung ein Computerprogrammprodukt bereit, um ein Verarbeitungssystem mit einer Anwendung zu konfigurieren, die eine Vielzahl von Machine Learning-Komponenten nutzt, wobei die Anwendung an einem Satz von Trainingsdaten trainiert wird, wobei das Computerprogrammprodukt ein durch einen Computer lesbares Speichermedium aufweist, das von einer Verarbeitungsschaltung gelesen werden kann und Anweisungen zur Ausführung durch die Verarbeitungsschaltung speichert, um ein Verfahren zur Durchführung der erfindungsgemäßen Schritte durchzuführen.
  • Von einem weiteren Aspekt aus betrachtet, stellt die vorliegende Erfindung ein Computerprogramm bereit, das auf einem durch einen Computer lesbaren Datenträger gespeichert ist und in den internen Hauptspeicher eines digitalen Computers geladen werden kann, wobei das Computerprogramm Teile von Software-Code aufweist, wenn das Programm auf einem Computer ausgeführt wird, um die erfindungsgemäßen Schritte durchzuführen.
  • Ausführungsformen der vorliegenden Erfindung überwinden die vorstehend erwähnten Unzulänglichkeiten in der Technologie, indem sie nicht jede Komponente einzeln neu trainieren, sondern Feedback von der Anwendung selbst verwenden, um die NLP-Komponenten der Anwendung anzupassen und zu trainieren.
  • Bei der vorliegenden Erfindung kann es sich um ein System, ein Verfahren und/oder ein Computerprogrammprodukt handeln, um ein Verarbeitungssystem mit einer Anwendung zu konfigurieren, die eine Vielzahl von Machine Learning-Komponenten nutzt, wobei die Anwendung an einem Satz von Trainingsdaten trainiert wurde, wobei die Anwendung auf dem Verarbeitungssystem unter Verwendung eines weiteren Satzes von Trainingsdaten ausgeführt wird. Aus dem weiteren Satz von Trainingsdaten erzeugte Ausgaben der Anwendung werden identifiziert, die mit Ground-Truth-Daten übereinstimmen. Die Komponenten werden angepasst, um Ausgaben der Anwendung, die mit den Ground-Truth-Daten übereinstimmen, unter Verwendung der identifizierten Ausgaben der Anwendung zu erzeugen.
  • Optional kann eine erste Anzahl von möglichen Ausgaben aus einer jeden der Komponenten generiert werden. Ein Komponentenmodell wird für jede der Komponenten trainiert, indem die Anwendung für jede der ersten Vielzahl von möglichen Ausgaben, die aus dieser Komponente generiert werden, ausgeführt wird. Das Komponentenmodell wird beruhend auf Ergebnissen, die von der Anwendung erzeugt werden, justiert. Die Anwendung wird mit dem trainierten Komponentenmodell für jede der Vielzahl von Komponenten ausgeführt, indem eine zweite Anzahl von möglichen Ausgaben aus jeder Komponente generiert wird. Das trainierte Komponentenmodell für jede Komponente wird angewendet, um eine mögliche Ausgabe für diese Komponente unter der zweiten Anzahl der möglichen Ausgaben, die aus dieser Komponente generiert werden, auszuwählen. Die Anwendung wird unter Nutzung der ausgewählten möglichen Ausgabe für jede der Komponenten ausgeführt.
  • Optional kann das Generieren der möglichen Ausgaben der ersten Anzahl das Generieren der ersten Anzahl von möglichen Ausgaben als Varianten einer primären möglichen Ausgabe beinhalten.
  • Optional können Merkmale für die möglichen Ausgaben der ersten Anzahl, die aus jeder der Komponenten generiert werden, ermittelt werden, und das Komponentenmodell für jede der Komponenten kann trainiert werden, indem die Merkmale einer jeden Ausgabe der möglichen Ausgaben der ersten Anzahl, die aus dieser Komponente generiert werden, beruhend auf Ergebnissen, die von der Anwendung erzeugt werden, gewichtet werden, um die Auswahl einer möglichen Ausgabe für die Anwendung zu ermöglichen.
  • Optional kann ein Komponentenmodell für einen Satz der Komponenten trainiert werden, indem die Anwendung mit einer Ausgabe von einer jeden der ersten Anzahl von möglichen Ausgaben, die aus dem Satz von Komponenten generiert werden, ausgeführt wird. Das Komponentenmodell kann für den Satz von Komponenten beruhend auf Ergebnissen, die von der Anwendung erzeugt werden, justiert werden. Die Anwendung wird mit dem trainierten Komponentenmodell für den Satz von Komponenten ausgeführt.
  • Optional kann das Komponentenmodell beruhend auf einer Ausgabe aus der Anwendung als Reaktion auf eine neue Domäne für die Anwendung trainiert werden.
  • Optional beinhaltet das Trainieren des Komponentenmodells das Messen der Genauigkeit der Ausführung der Anwendung für jede der ersten Anzahl von möglichen Ausgaben und das Justieren des entsprechenden Komponentenmodells beruhend auf der Genauigkeit. Das Gewichten der Merkmale kann das Erhöhen der Gewichtung für Merkmale, die zu einer möglichen Ausgabe gehören, welche eine hohe Genauigkeit erzeugt, und das Verringern der Gewichtung, die zu einer möglichen Ausgabe gehört, welche eine geringe Genauigkeit erzeugt, beinhalten.
  • Das Vorstehende ist eine Kurzdarstellung und enthält somit notwendigerweise Vereinfachungen, Verallgemeinerungen und das Weglassen von Einzelheiten; die Kurzdarstellung dient lediglich der Veranschaulichung und soll in keiner Weise als Einschränkung zu verstehen sein. Weitere Aspekte, erfindungsgemäße Merkmale und Vorteile der vorliegenden Erfindung, wie sie ausschließlich von den Ansprüchen der gegenständlichen Patentanmeldung definiert werden, gehen aus der nachstehenden ausführlichen Beschreibung, die keine Einschränkung darstellt, hervor.
  • Figurenliste
  • Die vorliegende Erfindung wird nun lediglich beispielhalber unter Bezugnahme auf bevorzugte Ausführungsformen beschrieben, die in den folgenden Figuren veranschaulicht sind:
    • 1 veranschaulicht eine Beispielumgebung, in der die vorliegende Erfindung realisiert werden kann.
    • Die 2A bis 2B sind schematische Blockschaubilder einer beispielhaften NLP-Anwendung, die anpassbare Komponenten aufweist, mittels derer die vorliegende Erfindung realisiert werden kann.
    • 3 ist eine Darstellung einer Kernkomponente für natürliche Sprache, mittels der die vorliegende Erfindung realisiert werden kann.
    • Die 4A bis 4B sind schematische Blockschaubilder eines Trainings eines Komponentenanpassungsmodells und einer Nutzung zur Laufzeit in Ausführungsformen der Erfindung.
    • 5 ist ein Blockschaubild eines Trainings einer Komponentenanpassung und einer Nutzung zur Laufzeit von abhängigen Komponenten, mittels derer die vorliegende Erfindung realisiert werden kann.
    • Die 6A bis 6B sind Ablaufpläne von Komponententrainings- und Laufzeitoperationsprozessen, mittels derer die vorliegende Erfindung realisiert werden kann.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Um Natural Language Processing-(NLP-)Komponenten zur Verwendung in einer anderen Domäne, einem anderen Genre oder einer anderen Anwendung ein Training bereitzustellen, stellen Ausführungsformen der Erfindung Techniken bereit, mittels derer die Komponenten unter Verwendung von Informationen trainiert werden, welche man während des Trainings der Anwendung erhält und nicht, indem man jede einzelne Komponente separat trainiert. Der Begriff „Anwendung“ in der Verwendung hierin bezieht sich auf eine durch Prozessoranweisungen (Software) gesteuerte Verarbeitung von Hardware, die eine oder mehrere Aufgaben, gewöhnlich als Reaktion auf eine Benutzereingabe, durchführt. Diese Definition soll der üblichen Verwendung des Begriffs in computerbezogenen Bereichen entsprechen. Ausführungsformen der vorliegenden Erfindung stellen Mittel bereit, mittels derer Komponenten einer Anwendung, die Machine Learning nutzt, z.B. einer NLP-Anwendung, neu trainiert werden können, um neuen Domänen des Diskurses gerecht zu werden und/oder um in anderen Machine Learning-Anwendungen verwendet zu werden. Es sollte darauf hingewiesen werden, dass die vorliegende Erfindung eine Verbesserung des Machine Learning selbst ist, bei dem es sich definitionsgemäß um eine „computerbezogene Technologie“ handelt. Die hierin beschriebenen Verbesserungen ermöglichen die Durchführung von Natural Language- und anderer Machine Learning-Funktionalität durch einen Computer, welche bisher nicht von durch einen Computer ausgeführten Machine Learning-Systemen durchgeführt wurden.
  • Eine Beispielumgebung für Ausführungsformen der vorliegenden Erfindung ist in 1 als die Netzwerkinfrastruktur 10 veranschaulicht. Wie veranschaulicht ist, enthält die Umgebung ein oder mehrere Serversysteme 12a bis 12j, die hierin repräsentativ als Serversystem(e) 12 bezeichnet werden, und ein oder mehrere Client- oder Endbenutzersysteme 14a bis 14k, die hierin repräsentativ als Clientsystem(e) 14 bezeichnet werden. Die Serversysteme 12 und die Clientsysteme 14 können voneinander entfernt sein und über ein Netzwerk 13 Daten austauschen. Das Netzwerk 13 kann durch eine beliebige Anzahl von geeigneten Übertragungsmedien, z.B. Metallleiter, Glasfaser, Luft usw., unter Verwendung von einer oder mehreren Signalübertragungstechniken und möglicherweise gemäß einem oder mehreren standardisierten Übertragungsprotokollen, z.B. dem Internet Protocol (IP), dem Transport Control Protocol (TCP), User Datagram Protocol (UDP) usw. ausgeführt sein. Das Netzwerk 13 kann von geeigneten Hardware-Komponenten unterstützt werden, um Weitverkehrsnetze (WAN), lokale Netze (LAN), Internetzwerke, Intranets usw. auszuführen. Alternativ können die Serversysteme 12 und die Clientsysteme 14 ausreichend lokal zueinander angeordnet sein, um durch direkte oder Sichtlinientechniken, z.B. drahtlose Funkverbindungen, faserlose optische Verbindungen usw. Daten auszutauschen. In bestimmten Ausführungen können Dienste und Funktionalität der Serversysteme 12 und diejenigen der Clientsysteme 14 durch eine gemeinsame Schaltung und gemeinsam benutzte Rechenressourcen in einer einzelnen Einheit, wie beispielsweise einer Workstation, durchgeführt werden.
  • Die Serversysteme 12 und die Clientsysteme 14 können durch ein beliebiges herkömmliches oder ein anderes Computersystem ausgeführt sein, das vorzugsweise mit einem Bildschirm oder Monitor, einer Basis (die z.B. mindestens einen Prozessor (nicht veranschaulicht), einen oder mehrere Hauptspeicher (nicht veranschaulicht) enthält), internen oder externen Netzwerkschnittstellen oder Übertragungseinheiten, z.B. Modem, Netzwerkkarten usw. (nicht veranschaulicht), optionalen Eingabeeinheiten, z.B. einer Tastatur, Maus oder einer anderen Eingabeeinheit, und beliebiger handelsüblicher Open-Source- und benutzerspezifischer Software, z.B. Betriebssystem, Server-/Übertragungssoftware, Browser-/Schnittstellensoftware usw. ausgestattet ist.
  • Ein oder mehrere Clientsysteme 14 und/oder ein oder mehrere Serversysteme 12 können so aufgebaut oder in anderer Weise konfiguriert sein, dass sie eine Informationstechnologie-Infrastruktur (ITI) 20 ausführen. Die ITI 20 stellt ein einheitliches Framework dar, mittels dessen Unternehmensdaten erfasst, gespeichert, abgerufen und verwaltet werden. Die ITI 20 kann unter anderem eine NLP-Plattform 22 ausführen. Die NLP-Plattform 22 stellt ein Machine Framework dar, das NLP-Anwendungen, wie beispielsweise die vorstehend angegebenen, unterstützt.
  • Die NLP-Plattform 22 kann unstrukturierten Eingabetext, der repräsentativ als unstrukturierter Text 15 veranschaulicht ist, gemäß einem festgelegten Informationsmodell 26 erfassen und verarbeiten, so dass die verarbeiteten Daten in das Informationsschema der ITI 20 integriert werden können. Ein „Informationsmodell“ in der Verwendung hierin stellt die sprachlichen Konzepte für jede in der ITI 20 realisierte Domäne des Diskurses sowie die Beziehungen zwischen diesen Konzepten, Einschränkungen, Regeln und Operationen dar, mittels derer der Textgehalt ausgelegt wird, um seine zugrunde liegende Semantik abzuleiten. Das Informationsmodell 26 kann mehrere Ontologien umfassen, wobei eine „Ontologie“ in der Verwendung hierin eine Spezifikation von linguistischen Entitäten ist, mittels derer eine Bedeutung zwischen Agenten in einer Domäne des Diskurses übermittelt wird. Zu einer Ontologie gehören, ohne darauf beschränkt zu sein, die Lexikografie, Morphologien, Grammatik- und Syntaxregeln, spezielle Textmuster usw. für die Domäne des Diskurses. Zu Ontologien können lokale und/oder allgemeine Ontologien, die allgemeine Sprache und unternehmensinterne linguistische Entitäten angeben, und domänenspezifische Ontologien gehören, die linguistische Entitäten von hochspezialisierten Domänen des Diskurses angeben, z.B. diejenigen, die über idiosynkratische Vokabulare und/oder Morphologien verfügen, wie beispielsweise in den Bereichen Gesundheitswesen, Recht, Finanzen, wissenschaftliche Forschung usw. Die vorliegende Erfindung ist nicht auf eine bestimmte Technik beschränkt, bei der Ontologien in einer Informationstechnologie-Infrastruktur 20 realisiert werden. Nach der Durchsicht dieser Offenbarung erkennt der Fachmann in der Computerlinguistik verschiedene Techniken, mittels derer Ontologien in bestimmten Informationsintegrationsanwendungen realisiert werden können, ohne vom vorgesehenen Umfang der vorliegenden Erfindung abzuweichen.
  • Wie in 1 veranschaulicht ist, kann die ITI 20 eine Datenbank (DB) 24 ausführen, in der strukturierte Informationen, wie beispielsweise das Informationsobjekt 100, gespeichert werden. Verschiedene, hierin beschriebene Modelle, z.B. Informationsmodelle, Domänenmodelle, Einordnungsmodelle usw., können ebenfalls in der DB 24 gespeichert werden. Die vorliegende Erfindung ist nicht auf bestimmte Ausführungen der DB 24 beschränkt; nach der Durchsicht dieser Offenbarung erkennt der Fachmann in der Informationstechnologie zahlreiche Techniken zur Speicherung von strukturierten Informationen, die in Verbindung mit der vorliegenden Erfindung verwendet werden können, ohne vom vorgesehenen Umfang der vorliegenden Erfindung abzuweichen.
  • Das Informationsobjekt 100 ist eine beispielhafte Datenstruktur, mit der bestimmte Ausführungsformen der Erfindung durch einen Computer lesbare Informationen in Bezug auf ein Objekt oder eine Entität durch die verschiedenen Natural Language Processing-Operationen transportieren. Es sollte darauf hingewiesen werden, dass in 1 zwar ein einzelnes Informationsobjekt 100 veranschaulicht ist, die DB 24 jedoch Milliarden von Informationsobjekten 100 aufweisen kann, von denen jedes unterschiedlich groß ist und verschiedene informative Daten enthält.
  • Das Informationsobjekt 100 kann unter anderem einen gespeicherten Zustand des Objekts darstellen, welches von dem Informationsobjekt 100 dargestellt wird. Zu den Attributen 110 können jeweilige Variablen, die an der Variablen 112 repräsentativ veranschaulicht sind, und jeweilige, diesen Variablen zugewiesene Werte, welche in 1 als der Wert 114 repräsentativ dargestellt sind, gehören. Die vorliegende Erfindung ist nicht auf bestimmte Arten der Darstellung von Objekten in einer durch einen Computer lesbaren Form beschränkt; das Informationsobjekt 100 ist lediglich ein Beispiel. Überdies sollte darauf hingewiesen werden, dass der Wert 114 nicht auf die Darstellung von numerischen oder Textwerten beschränkt ist. Zum Beispiel kann der Wert 114 einen Zeiger, einen Link oder einen Verweis auf andere Informationsobjekte 100 enthalten (z.B. ein Satz-Informationsobjekt, das Verweise auf Wort-Informationsobjekte enthält, aus denen der Satz zusammengesetzt ist). Die vorliegende Erfindung ist nicht auf einen bestimmten Satz von Attributen beschränkt, die in dem Informationsobjekt 100 dargestellt werden können.
  • Die Metadaten 120 stellen verschiedene andere Informationen über das Objekt, das dargestellt wird, dar. Zum Beispiel können die Metadaten 120 durch einen Computer lesbare Informationen über die Attribute 110 enthalten, z.B. was der dargestellte Zustand für einen Menschen bedeuten würde, was einzelnen Variablen zugewiesene Werte für einen Menschen bedeuten, usw. Die Metadaten 120 können auch durch einen Computer lesbare, die Datenverarbeitung selbst betreffende Informationen, darunter Laufzeit- und Trainingsinformationen, enthalten. Auch andere Informationen können in den Metadaten 120 dargestellt werden, wie der Fachmann in Natural Language Processing und Datenbanktechnologie verstehen wird.
  • NLP-Anwendungen können durch Domänenmodelle 28 trainiert werden, die domänenspezifisches Wissen darstellen. Zu solch domänenspezifischem Wissen können zum Beispiel Hintergrunddaten, Regeln, Formeln, Transformierte, Konstanten usw. gehören, mittels derer jede Verarbeitungsstufe der Anwendung die Ausgabeinformationsobjekte 100 dieser Stufe aus den Eingabeinformationsobjekten 100 dieser Stufe erzeugt. Zum Beispiel realisieren Domänenmodelle 28 in der Domäne Gesundheitswesen eine Methodik, mittels der eine bestimmte medizinische Diagnose aus erfassten Daten, z.B. Krankengeschichte, Laborergebnissen, Arztbriefen usw., abgeleitet wird. Verschiedene Verarbeitungsstufen oder Komponenten der NLP-Plattform 22 können gemäß einem Domänenmodell 28 neue Attribute 110 in Informationsobjekte 100 einfügen, wie beispielsweise als Reaktion auf die Berechnung einer mathematischen Formel, die Verarbeitung von Text usw., beruhend auf der Verarbeitungsfunktionalität der Anwendung, die von dem Domänenmodell 28 definiert wird, Variablen 112 Werte 114 zuweisen, darunter Zahlen, Text, Bilder, Video, Hyperlinks usw.
  • Die 2A und 2B, die hierin gemeinsam als 2 bezeichnet werden, sind schematische Blockschaubilder eines beispielhaften Frage-Antwort-(QA-)Systems 200, das unter der NPL-Plattform 22 ausgeführt oder in anderer Weise von der NLP-Plattform 22 unterstützt wird. Das QA-System 200 kann so aufgebaut oder in anderer Weise konfiguriert sein, dass es Antworten (Schlussfolgerungen) auf durch den Benutzer ausgewählte Fragen (Fragestellungen) generiert, wobei es Natural Language Processing, kognitive Verarbeitung, Machine Learning- und Machine Reasoning-Techniken verwendet. 2A stellt die Konfiguration des QA-Systems 200 zur Laufzeit und 2B stellt die Trainingskonfiguration des QA-Systems 200 dar.
  • Die NLP-Verarbeitungsplattform 22 kann einem NLP-Kern 300, der in verschiedenen Komponenten einer NLP-Anwendung, wie beispielsweise einem QA-System 200, verwendet werden kann, Instanziierung und/oder Anwendungsunterstützung (zum Beispiel Anwendungsprogrammierschnittstelle) bieten. In bestimmten Ausführungsformen kann/können der NLP-Kern 300 und/oder Komponenten davon an neue Domänen des Diskurses und/oder an neue Anwendungen unter der NLP-Plattform 22 angepasst werden, ohne dass die Notwendigkeit besteht, die Komponenten des NLP-Kerns 300 einzeln zu trainieren. Ein beispielhafter NLP-Kern 300 wird nachstehend unter Bezugnahme auf 3 ausführlich erörtert.
  • Wie in 2A veranschaulicht ist, kann eine Frage 205, auf die eine Antwort gesucht wird, zur Laufzeit in das QA-System 200 eingeführt werden, wie beispielsweise durch eine Benutzerschnittstelle der NLP-Anwendung. Bei der Frage 205 kann es sich um eine dynamische, vom Benutzer erstellte Datenbankabfrage und/oder um (eine) zuvor festgelegte Fragestellung(en) handeln, die so gestaltet ist/sind, dass sie standardmäßige und/oder gewöhnliche Ausgabeprodukte (Antworten) generiert/generieren.
  • Die Frageanalysestufe 210 kann den Charakter der Frage 205 feststellen und Frageklassifikationstechniken einsetzen, die Fragetypen oder Teile von Fragen, die eine spezielle Verarbeitung erforderlich machen, identifizieren. Die Frageanalysestufe 210 kann auch eine Wort- oder Nominalphrase in der Frage identifizieren, die den Informationstyp der Antwort auf die Frage, der hierin als lexikalischer Antworttyp (LAT, lexical answer type) bezeichnet wird, angibt. Mögliche Antworten können später durch eine Vertrauensmetrik, ob eine mögliche Antwort als eine Instanz des LAT betrachtet wird, bewertet werden.
  • Die primäre Suchstufe 220 führt eine Suche nach einem Textkörper 280 für Informationen in Bezug auf die Frage 205 durch. Der Textkörper 280 kann Informationen in Bezug auf die Zieldomäne enthalten, z.B. Informationen, die die Arten von Fragen, die in einem bestimmten Problemraum (z.B. Gesundheitswesen, Finanzen usw.) aufkommen, beschreiben oder in anderer Weise anzeigen. Die primäre Suchstufe 220 kann eine Suche über den Textkörper 280 durchführen, um beruhend auf den Ergebnissen der Frageanalysestufe 210 so viel möglicherweise antworttragenden Inhalt wie möglich zu finden. Die primäre Suchstufe 220 kann eine Vielzahl von Suchtechniken realisieren, darunter die Verwendung von mehreren Textsuchmaschinen mit verschiedenen zugrunde liegenden Vorgehensweisen, Dokumentensuche sowie Passagensuche, Wissensbasissuche, das Generieren von mehreren Suchanfragen für eine einzelne Frage und andere.
  • Die Kandidatengenerierungsstufe 230 verwendet die von der primären Suchstufe 220 generierten Ergebnisse, um mögliche Antworten auf die Frage 205 zu erzeugen. Die Kandidatengenerierungsstufe 230 kann Techniken einsetzen, die der Art der abgerufenen Suchergebnisse angemessen sind. Im Falle von Dokumentensuchergebnissen aus „titelorientierten“ Ressourcen zum Beispiel kann der Titel als eine mögliche Antwort entnommen werden. Das System kann mehrere mögliche Antwortvarianten aus demselben Titel beruhend auf einer Substring-Analyse oder einer Link-Analyse (falls die zugrunde liegende Quelle Hyperlinks enthält) generieren. Passagen-Suchergebnisse erfordern eine ausführlichere Analyse des Passagentexts, um mögliche Antworten zu identifizieren. Zum Beispiel kann eine Named Entity Detection verwendet werden, um der Passage mögliche Antworten zu entnehmen. Einige Quellen, wie beispielsweise eine Tripelspeicher- und umgekehrte Wörterbuchsuche erzeugen mögliche Antworten direkt als ihr Suchergebnis.
  • In der Beweisabrufstufe 240 werden mögliche Antworten einem rigorosen Auswertungsprozess unterzogen, der das Erfassen eines zusätzlichen unterstützenden Beweises für jede mögliche Antwort und das Anwenden einer großen Vielzahl an fundierten Bewertungsanalysen einschließt, um den unterstützenden Beweis auszuwerten. Ein Beweis ist eine Information, mittels der eine mögliche Antwort unterstützt oder widerlegt wird. Falls eine mögliche Antwort zum Beispiel eine ähnliche Struktur, einen ähnlichen Kontext und eine ähnliche Semantik wie andere als Beweis erfasste Anwendungsbeispiele hat, ist das Vertrauen, dass die Antwort richtig ist, größer. Falls es keine (oder wenige) Anwendungsbeispiele gibt, die zu der möglichen Antwort passen, wäre das Vertrauen in den Kandidaten geringer.
  • Ausführungsformen der Erfindung können eine Vielzahl von Beweiserfassungstechniken an einer Vielzahl von Quellen, die repräsentativ als der Beweiskörper 290 dargestellt sind, ausführen. Eine beispielhafte Technik führt eine Passagensuche in der primären Suchstufe 220 durch, in der die mögliche Antwort als ein benötigter Begriff in der aus der Frage abgeleiteten Suchanfrage hinzugefügt wird. Dadurch werden Passagen abgerufen, welche die mögliche Antwort im Kontext der ursprünglichen Fragebegriffe enthalten. Unterstützender Beweis kann auch aus anderen Quellen wie Tripelspeicher kommen. Der abgerufene unterstützende Beweis kann fundierten (zielgerichteten) Beweisbewertungsoperationen unterzogen werden, die die mögliche Antwort im Kontext des unterstützenden Beweises auswerten.
  • Die Antwortbewertungs- und -einordnungsstufe 250 führt Bewertungsalgorithmen durch, die den Grad der Gewissheit, dass eine mögliche Antwort beruhend auf dem durch die Beweisabrufstufe 240 abgerufenen Beweis richtig ist, bestimmen. Das QA-System 200 kann viele verschiedene Bewertungstechniken unterstützen, die verschiedene Dimensionen des Beweises berücksichtigen und eine Bewertung erzeugen, die der Frage entspricht, wie gut der Beweis eine mögliche Antwort für eine gegebene Frage unterstützt. Solche Bewertungstechniken können, beruhend auf dem Beweis aus verschiedenen Arten von Quellen, von formalen Wahrscheinlichkeiten über Zählstände bis hin zu kategorischen Merkmalen reichen. Die Bewertungstechniken können Dinge wie den Grad der Übereinstimmung zwischen der Prädikat-Argument-Struktur einer Passage und der Frage, die Verlässlichkeit der Quelle der Passage, die geografisch-räumliche Position, zeitliche Beziehungen, taxonomische Klassifizierung, die lexikalischen und semantischen Beziehungen, an denen der Kandidat bekanntermaßen beteiligt ist, die Korrelation des Kandidaten mit Fragebegriffen, seine Beliebtheit (oder Unklarheit), seine Aliasnamen und so weiter berücksichtigen.
  • Man betrachte die Frage „Wem wurde am 8. September 1974 vom Präsidenten eine vollständige Amnestie zugesichert?,“ die korrekt mit „Nixon“ beantwortet wird, wobei es sich um eine der generierten möglichen Antworten handelt. Eine der abgerufenen Passagen, die als Beweis verwendet werden, kann sein „Ford sicherte Nixon am 8. Sept. 1974 vollständige Amnestie zu.“ Ein beispielhafter Passagen-Scorer kann die Anzahl der mittels Inverser Dokumenthäufigkeit (IDF) gewichteten Begriffe, die die Frage und die Passage gemeinsam haben, zählen. Ein weiterer Passagen-Scorer kann die Längen der längsten ähnlichen Teilsequenzen zwischen der Frage und der Passage messen. Eine dritte Art der Passagenbewertung misst die Ausrichtung der logischen Formen der Frage und der Passage. Eine logische Form ist eine grafische Abstraktion von Text, bei der Knoten Begriffe in dem Text und Kanten entweder grammatikalische Beziehungen, tiefe semantische Beziehungen oder beides darstellen. In dem vorstehenden Beispiel identifiziert die Ausrichtung der logischen Form „Nixon“ als das Objekt der Amnestiezusicherung in der Passage und dass die Frage nach dem Objekt einer Amnestiezusicherung fragt. Die Ausrichtung der logischen Form gibt „Nixon“ unter Berücksichtigung dieses Beweises eine gute Bewertung. Im Gegensatz dazu würde eine mögliche Antwort wie „Ford“ nahezu identische Bewertungen zu „Nixon“ für die Begriffsübereinstimmung und Passagenausrichtung bei dieser Passage, aber eine geringere Bewertung für die Ausrichtung der logischen Form erhalten.
  • Andere Arten von Scorer verwenden Wissen in Tripelspeichern, einfaches Schlussfolgern wie Subsumption und Disjunktion bei Typ-Taxonomien sowie geografisch-räumliches und zeitliches Schlussfolgern. Geografisch-räumliches Schlussfolgern kann verwendet werden, um das Vorhandensein oder die Abwesenheit von räumlichen Beziehungen wie beispielsweise Ausrichtung, Grenzen sowie Abgrenzung zwischen Geoentitäten zu erkennen. Falls eine Frage zum Beispiel nach einer asiatischen Stadt fragt, liefert räumliche Abgrenzung den Beweis, dass Peking ein geeigneter Kandidat ist, wohingegen Sydney dies nicht ist. Ebenso können Geokoordinaten-Informationen, die zu Entitäten gehören, zur Berechnung der relativen Ausrichtung (zum Beispiel Kalifornien liegt südwestlich von Montana; die GW Bridge liegt nördlich des Lincoln-Tunnels und so weiter) verwendet werden.
  • Zeitliches Schlussfolgern kann verwendet werden, um Inkonsistenzen zwischen Daten in dem Beweis und denjenigen, die zu einer möglichen Antwort gehören, zu erkennen. Zum Beispiel sind die beiden wahrscheinlichsten möglichen Antworten, die für die Frage „Wer nahm einen Job als Steuereintreiber in Andalusien in 1594 an?“ generiert werden, „Thoreau“ und „Cervantes“. In diesem Fall wird zeitliches Schlussfolgern verwendet, um Thoreau auszuschließen, da er, 1817 geboren, 1594 nicht lebte, wohingegen Cervantes, die richtige Antwort, 1547 geboren wurde und 1616 starb.
  • Die Antwortbewertungs- und -einordnungsstufe 250 kann Hunderte von möglichen Antworten beruhend auf möglicherweise Hunderttausenden von Bewertungen auswerten, um die einzige am besten unterstützte mögliche Antwort unter Berücksichtigung des Beweises zu identifizieren. Ein Vertrauen in eine bestimmte mögliche Antwort kann geschätzt werden, d.h., die Wahrscheinlichkeit, dass die bestimmte Antwort richtig ist. Da mehrere mögliche Antworten für eine Frage trotz sehr unterschiedlicher Oberflächenformen gleichwertig sein können, kann eine Antwortzusammenführung von der Antwortbewertungs- und -einordnungsstufe 250 angewendet werden, um Konflikte bei Einordnungstechniken zu vermeiden, die relative Unterschiede zwischen Kandidaten nutzen. Ohne eine solche Antwortzusammenführung könnten Einordnungsalgorithmen mehrere Oberflächenformen in einem Versuch, zwischen ihnen zu unterscheiden, vergleichen, die dieselbe Antwort darstellen. Jedoch werden unterschiedliche Oberflächenformen in dem Beweis oftmals unterschiedlich unterstützt und führen zu völlig anderen, wenngleich sich möglicherweise ergänzenden Bewertungen. Ausführungsformen der Erfindung wenden ein ganzes Bündel an Vergleichs-, Normalisierungs- und Co-Referenz-Auflösungsalgorithmen an, mittels derer gleichwertige und verwandte Hypothesen (zum Beispiel Abraham Lincoln und Honest Abe) identifiziert werden.
  • Wie in 2 veranschaulicht ist, enthält das QA-System 200 ein Einordnungsmodell 270, gemäß dem mögliche Antworten eingeordnet und Konfidenzen beruhend auf ihren zusammengeführten Bewertungen geschätzt werden. Ausführungsformen der Erfindung führen Machine Learning-Techniken aus, die über einem Satz von Trainingsfragen mit bekannten Antworten arbeiten, um ein Einordnungsmodell 270 beruhend auf den Bewertungen zu trainieren.
  • Das Trainings-Einordnungsmodell 270 kann mittels Machine Learning-Techniken erreicht werden, die das Ausführen des Systems über einem Satz von Trainingsfragen 203 mit bekannten Antworten einschließen. Der Satz von Trainingsfragen 203 und die jeweiligen bekannten Antworten können als Ground-Truth-Daten 209 dienen. Wie in 2B veranschaulicht ist, können dem QA-System 200 im Trainingsmodus Trainingsfragen 203 bereitgestellt werden. Trainingsfragen 203 können von dem QA-System 200 in einer Weise verarbeitet werden, die im Wesentlichen identisch mit der Weise ist, die unter Bezugnahme auf den in 2A veranschaulichten Laufzeitmodus beschrieben wurde. Die Antwortbewertungsstufe 250' verzichtet jedoch auf ein Einordnen der möglichen Antworten und stellt an ihrem Ausgang bewertete Antworten 207' bereit. Bewertete Antworten 207' werden einer QA-Trainingsstufe 260 bereitgestellt, die Machine-Learning-Techniken anwendet, um das Einordnungsmodell 270 beruhend auf den Antwortbewertungen und Ground-Truth-Daten 209 zu erstellen. Die vorliegende Erfindung ist nicht auf eine bestimmte, von der QA-Trainingsstufe 260 genutzte Machine-Learning-Technik beschränkt. Nach der Durchsicht dieser Offenbarung kann der Fachmann in Machine Learning verschiedene Techniken erkennen, die in Verbindung mit der vorliegenden Erfindung verwendet werden können, ohne vom vorgesehenen Umfang der vorliegenden Erfindung abzuweichen.
  • 3 ist ein Blockschaubild eines beispielhaften NLP-Kerns 300, der in Ausführungsformen der vorliegenden Erfindung verwendet werden kann. Wie in der Figur veranschaulicht ist, kann es sich bei dem NLP-Kern 300 um einen Satz von NLP-Kernkomponenten 310 handeln: eine Tokenizer-Komponente 310a; eine Part-of-speech-(POS-)Tagger-Komponente 310b; eine Syntaxparser-Komponente 310c; eine Named-Entity-Recognizer-(NER-)Komponente 310d; eine Beziehungsdetektorkomponente 310e und eine Co-Referenz-Auflöserkomponente 310f. Die vorliegende Erfindung ist nicht auf die bestimmten, in 3 veranschaulichten NLP-Kernkomponenten 310 beschränkt; sie sind geeignete Beispiele für häufig verwendete NLP-Prozesse, die von der NLP-Plattform 22 zur Verwendung in verschiedenen NLP-Anwendungen unterstützt werden könnten. Ferner können NLP-Kernkomponenten 310 durch öffentlich bekannte Algorithmen und Techniken realisiert werden, darunter Open-Source-, gewerbliche und proprietäre Softwarepakete.
  • Die beispielhafte Tokenizer-Komponente 310a identifiziert und beschreibt (beispielsweise durch das in geeigneter Weise erstellte Informationsobjekt 100) Tokens (z.B. Wörter, Nichtwörter usw.), die in Eingabetext 305 enthalten sind. In Abhängigkeit von der Anwendungskomponente des QA-Systems 200, in der ein bestimmter NLP-Kern 300 genutzt wird, kann man den Eingabetext 305 aus der Frage 205 (für die Frageanalysestufe 210), dem Textkörper 280 (für die primäre Suchstufe 220) oder dem Beweiskörper 290 (für die Beweisabrufstufe 240) zur weiteren Verarbeitung durch den NLP-Kern 300 erhalten.
  • Wie in 3 veranschaulicht ist, kann die Part-of-speech-(POS-)Tagger-Komponente 310b Text (Eingabetoken) einer bekannten Sprache lesen und Redeteile einem jeden Wort (und anderen Token) wie beispielsweise einem Substantiv, Verb, Adjektiv, Adverb, Substantiv-Plural usw. zuweisen.
  • Die Syntaxparser-Komponente 310c kann die Redeteile analysieren, um Grammatikstrukturen, z.B. Phrasen, Sätze usw., zu identifizieren. Die Syntaxparser-Komponente 330 kann zum Beispiel feststellen, welche Gruppen von Wörtern (als Phrasen) zusammenpassen und welche Wörter das Subjekt oder das Objekt eines Verbs sind. Probabilistische Parser verwenden das aus zuvor geparsten Sätzen gewonnene Sprachwissen, um die wahrscheinlichste Analyse neuer Sätze zu erzeugen.
  • Die Named-Entity-Recognizer-(NER-)Komponente 310d erkennt benannte (z.B. Personen, Orte, Unternehmen usw.), numerische (z.B. Geld, Zahlen, Ordnungszahlen, Prozent usw.) und zeitliche (z.B. Datum, Uhrzeit, Dauer, Frist usw.) Entitäten. Benannte Entitäten können unter Verwendung von Sequenztaggern erkannt werden, die an verschiedenen Korpora trainiert werden.
  • Die Beziehungsextraktionskomponente 310e findet Beziehungen zwischen zwei Entitäten (z.B. Syntaxbeziehungen wie Modifizierer und Verb Subjekt/Objekt, Ereignisrahmen-Beziehungen wie beispielsweise Beteiligte usw.). Die meisten Fragen enthalten Beziehungen, seien es syntaktische Subjekt-Verb-Objekt-Prädikate oder semantische Beziehungen zwischen Entitäten.
  • Die Co-Referenz-Auflöserkomponente 310f findet alle Ausdrücke, die sich auf dieselbe Entität in einem Text beziehen. Zum Beispiel kann die Co-Referenz-Auflöserkomponente 310f so konfiguriert sein, dass sie die Wörter „Jack“ und „seinen“ in dem Satz „Jack liebt seinen Hund“ als sich auf dieselbe Person beziehende Wörter identifiziert. Techniken, die Co-Referenzen auflösen, suchen oftmals zuerst nach der nächstgelegenen vorausgehenden Objekterwähnung in dem Text, die zu dem Verweisausdruck passt. Es können jedoch auch andere Co-Referenz-Auflösungstechniken in Verbindung mit der vorliegenden Erfindung verwendet werden.
  • Wie in 3 veranschaulicht ist, generiert jede NLP-Kernkomponente 310 oder erzeugt auf andere Weise mögliche Ausgaben, die hierin repräsentativ als mögliche Ausgaben 320 bezeichnet werden. Zum Beispiel kann die Tokenizer-Komponente 310a mögliche Token 320a erzeugen, eine POS-Tagger-Komponente 310b kann mögliche Redeteile 320b erzeugen, die Syntaxparser-Komponente 310c kann mögliche Grammatikstrukturen 320c erzeugen, die Named-Entity-Recognizer-Komponente 310d kann mögliche benannte Entitäten 320d erzeugen, die Beziehungsdetektorkomponente 310e kann mögliche Beziehungen 320e erzeugen und die Co-Referenz-Auflöserkomponente 310f kann mögliche gleichwertige Entitäten 370f erzeugen. Jede mögliche Ausgabe 320 kann in Informationsobjekten 100 zum Beispiel als mit Anmerkungen versehener oder in anderer Weise gekennzeichneter Text sowohl gegebenenfalls in Attributen 110 als auch als Metadaten 120 dargestellt werden. Ferner kann, wie in 3 veranschaulicht ist, jede mögliche Ausgabe 320 durch ein oder mehrere Merkmale 330 gekennzeichnet sein, die in den Metadaten 120 des entsprechenden Informationsobjekts 100 gespeichert werden können. In der Verwendung hierin ist ein „Merkmal“ ein durch einen Computer lesbares Informationselement, das eine Entität darstellt. In bestimmten Ausführungsformen kann jede mögliche Ausgabe 320 durch mehrere solche Merkmale gekennzeichnet sein, die zu einem Merkmalsvektor zusammengefasst sind. Wenn sie so realisiert ist, kann jede mögliche Ausgabe 320 hinsichtlich ihrer Zusammensetzung ausgewertet werden, indem der entsprechende Merkmalsvektor analysiert wird. Zum Zweck der Beschreibung werden Merkmale 330 hierin auch als Merkmalsvektor 330 bezeichnet, wenngleich die vorliegende Erfindung nicht auf Vektordarstellungen beschränkt ist.
  • Bei den Merkmalsvektoren 330 handelt es sich um informative und Unterscheidung bietende Daten, auf deren Grundlage Machine-Learning-Techniken fortfahren können. Beim Anpassen einer Anwendung an eine neue Domäne sollten die Merkmalsvektoren 330 sorgfältig gewählt oder gestaltet werden, um die Semantik der neuen Domäne zu erfassen, so dass als Folge des Trainings mögliche, die neue Domäne betreffende Antworten beispielsweise durch eine Gewichtungstechnik gegenüber denjenigen in anderen Domänen bevorzugt werden. Solche Merkmalsvektoren 330 und/oder eine für die neue Domäne relevante Merkmalgenerierungsfunktion können als Teil des Domänenmodells 28 erstellt oder in anderer Weise konfiguriert werden.
  • Wie in 3 veranschaulicht ist, kann die Anzahl der möglichen Ausgaben 320, die von einer beliebigen NPL-Kernkomponente 310 für eine einzelne Eingabe erzeugt werden, unabhängig von der Anzahl der möglichen Ausgaben 320 sein, die von den anderen NLP-Kernkomponenten 310 erzeugt werden. Die Anzahl der möglichen Ausgaben 320, die von einzelnen NLP-Kernkomponenten 310 generiert oder in anderer Weise erzeugt werden, kann ein vom Benutzer konfigurierbarer Parameter sein.
  • Wenn eine mögliche Ausgabe 320 aus einer NLP-Kernkomponente 310 einer richtigen Antwort 207 am Ausgang des QA-Systems 200 entspricht, müssen alle möglichen Ausgaben 320 des NLP-Kerns 300 in nachfolgenden Stufen des QA-Systems 200 ebenfalls richtig sein. Diesen möglichen Ausgaben 320 kann der Vorzug gegeben werden, beispielsweise durch eine geeignete Gewichtung. Wenn eine mögliche Ausgabe 320 eine falsche Antwort 207 erzeugt, hat diese Ausgabe 320 eine mögliche Ausgabe 320 in einer anderen Stufe des QA-Systems 200 generiert, die falsch ist. Folglich kann die unzulässige ursprüngliche mögliche Ausgabe 320 vermieden werden, indem geeignete Gewichtungen darauf angewendet werden.
  • Ausführungsformen der Erfindung trainieren, konfigurieren und nutzen die Komponenten 310 des NLP-Kerns 300, um mögliche Ausgaben 320 zu erzeugen, die wahrscheinlicher zu einer richtigen Antwort auf die Frage führen, und die Anzahl der möglichen Ausgaben 320, die weniger wahrscheinlich zur richtigen Antwort führen, verringern. Ein solches Training wird herkömmlicherweise durch manuelle Techniken von Experten in der Domänenmaterie und Informatik-Ingenieuren erreicht. Vorteilhafterweise erreichen Ausführungsformen der vorliegenden Erfindung ein solches Training unter Verwendung von Feedback aus der Ausgabe der Anwendung, z.B. dem QA-System 200.
  • Die 4A und 4B, die hierin gemeinsam als 4 bezeichnet werden, sind schematische Blockschaubilder des QA-Systems 200 in einer beispielhaften Ausführungsform der vorliegenden Erfindung, wobei 4A einen Trainingsmodus und 4B einen Laufzeitmodus darstellt. Im Trainingsmodus von 4A wird jede NLP-Kernkomponente 310 einer jeden Stufe des QA-Systems 200 unter Verwendung von Feedback aus der Ausgabe des QA-Systems 200 selbst trainiert. Falls eine mögliche Ausgabe 320 einer NLP-Kernkomponente 310 dazu führt, dass eine richtige Antwort von dem QA-System 200 erzeugt wird, kann die mögliche Ausgabe 320 und/oder ihre repräsentativen Merkmale eine bevorzugte Verarbeitung, wie beispielsweise durch höhere Gewichtungen, erhalten. In bestimmten Ausführungsformen dürfen mögliche Ausgaben 320 einer jeden NLP-Kernkomponente 310 das QA-System 200 durchlaufen und können mit den Antworten von dem QA-System 200 verlinkt werden, um festzustellen, welche Antworten 207 für Trainingsfragen 205 beruhend auf diesen Kandidaten erzeugt werden. Die möglichen Antworten können durch QA-Trainingsprozeduren ausgewertet werden, welche von der QA-Trainingsstufe 260 ausgeführt werden. Die QA-Trainingsstufe 260 kann zusätzlich zum Trainingseinordnungsmodell 270 einer Anpassungsstufe 450 Informationen bereitstellen, die ein Anpassungsmodell 420 für die NLP-Kernkomponente 310, welche trainiert wird, aktualisiert.
  • Die Anpassungsstufe 450 stellt Mechanismen dar, mittels derer die Anwendungsausgabe, z.B. die Antwortsätze 430a bis 430c, die repräsentativ als der Antwortsatz/die Antwortsätze 430 bezeichnet werden, und ihre Beziehung zu den Ground-Truth-Daten 209 verwendet werden, um einzelne NLP-Kernkomponenten 310 zu trainieren. Die Anpassungsstufe 450 kann vorteilhafterweise erstellt oder in anderer Weise konfiguriert werden, um ein Anpassungsmodell 420 zu erzeugen, zu ändern und zu verwalten, mit dem die NLP-Kernkomponenten 310 in der neuen Domäne oder Anwendung arbeiten. Zum Beispiel kann das Anpassungsmodell 420 Gewichtungsvektoren 422 enthalten, die, wenn sie durch eine Gewichtungsfunktion, welche Gewichtungsvektoren 422 verwendet, auf mögliche Ausgaben 320 oder Merkmalsvektoren davon angewendet wird, möglichen Ausgaben 320, die höchstwahrscheinlich zu einer richtigen Antwort am letzten Ausgang der Anwendung führen, der Vorzug gegenüber möglichen Ausgaben 320 gegeben wird, die weniger wahrscheinlich richtige Antworten am Ausgang der Anwendung erzeugen.
  • Wie in 4A veranschaulicht ist, können der QA-Analysestufe 210 Trainingsfragen 203 aus einer neuen Domäne bereitgestellt werden, und ein Satz von Syntaxanalysebäumen 410a bis 410c, die hierin repräsentativ als der/die Syntaxanalysebaum/Syntaxanalysebäume 410 bezeichnet werden, wird von der Syntaxparser-Komponente 310c der QA-Analysestufe 210 erzeugt. In dem veranschaulichten Beispiel sind die Syntaxanalysebäume 410 mögliche Ausgaben des Syntaxparsers 310c und stellen grammatikalisch verknüpfte Textelemente dar, z.B. Phrasen, Sätze usw. Jeder Syntaxanalysebaum 410 kann durch einen entsprechenden möglichen Merkmalsvektor 415a bis 415c, die hierin repräsentativ als der/die Merkmalsvektor(en) 415 bezeichnet werden, dargestellt werden. In Ausführungsformen der Erfindung kann jeder mögliche Merkmalsvektor 415 durch eine geeignete Funktion oder Gewichtungstechnik, die gemäß der Ausgabe der NLP-Anwendung, z.B. dem QA-System 200, konfiguriert ist, transformiert werden. In bestimmten Ausführungsformen kann die Transformation durch Gewichtungsvektoren 422 erreicht werden, die, wenn sie auf einen möglichen Merkmalsvektor 415 angewendet werden, z.B. durch ein Punktprodukt, eine Bewertung erzeugen, die angibt, wie ein bestimmter möglicher Syntaxanalysebaum 410 (und der entsprechende Merkmalsvektor 415) eine richtige Antwort am Ausgang der Anwendung erzeugt, welche durch einen Vergleich mit den Ground-Truth-Daten 209 festgestellt wird.
  • Jede mögliche Ausgabe 410 kann durch verbleibende Verarbeitungsoperationen des QA-Systems 200 normal übermittelt werden, um entsprechende Antwortsätze 430 zu erzeugen. In bestimmten Ausführungsformen der vorliegenden Erfindung kann jeder mögliche Syntaxanalysebaum 410 das QA-System 200 allein und getrennt von anderen möglichen Syntaxanalysebäumen 410 durchlaufen, um nur den entsprechenden Antwortsatz 430 zu erzeugen. Wenn dies so realisiert ist, werden die Antworten in dem entsprechenden Antwortsatz 430 beispielsweise durch die QA-Trainingsstufe 260 mit den Ground-Truth-Daten 209 verglichen und ihre Rangfolge wird in Abhängigkeit von den Ground-Truth-Daten 209 festgelegt. Beruhend auf einer solchen Analyse kann die QA-Trainingsstufe 260 der Anpassungsstufe 450 einen Hinweis geben, ob die Frage gemäß den Ground-Truth-Daten 209 mit einem bestimmten Vertrauensgrad beantwortet wurde. Folglich kann die Anpassungsstufe 450 ein geeignetes Gewichtungsschema festlegen, z.B. die Gewichtungsvektoren 422 und/oder eine Gewichtungsfunktion, die zum Beispiel eine Bewertung für den möglichen Merkmalsvektor 415 erhöht, was zu einer richtigen Antwort führt, und die Bewertung für den möglichen Merkmalsvektor 415 verringert, was zu einer falschen Antwort führt.
  • In bestimmten Ausführungsformen der Erfindung führt die Anpassungsstufe 450 eine logistische Regressionstechnik aus, wobei sie binäre Kategoriekennzeichnungen (richtig/falsch) der Merkmalsvektoren 415 verwendet. Eine logistische Regression kann verwendet werden, um die Wahrscheinlichkeit zu modellieren, mit der ein gegebener Merkmalsvektor zu einer richtigen Antwort am Ausgang des QA-Systems 200 führt. Eine Gradientenabstiegstechnik kann an den modellierten Statistiken verwendet werden, um Gewichtungsvektoren 422 zu bestimmen, die unter Berücksichtigung des Merkmalsvektors 415 den besten Prädiktor der Ausgabe der Anwendung (die richtige Antwort) erzeugen. Solche Gewichtungsvektoren 422 können gespeichert oder in anderer Weise zu einem Teil des Anpassungsmodells 420 gemacht werden.
  • Zur Laufzeit, wie in 4B veranschaulicht ist, kann jede NLP-Kernkomponente 310 erstellt oder in anderer Weise konfiguriert werden, um einen Satz von möglichen Ausgaben 410 für jedes Eingabeelement gemäß dem Anpassungsmodell 420 zu erzeugen. Das heißt, die Ausgabe des Syntaxparsers 310c wird von einem angepassten Merkmalsvektor 415' und nicht von dem in 4A veranschaulichten entsprechenden Merkmalsvektor 415 dargestellt. In bestimmten Ausführungsformen wird dies erreicht, indem die Merkmalsvektoren 415 mit den Gewichtungsvektoren 422 gewichtet werden, um jeweilige angepasste Merkmalsvektoren 415' zu erzeugen. In bestimmten Ausführungsformen wird eine Bewertung 417 für jede der Ausgaben 410 berechnet und der angepasste Merkmalsvektor 415' der möglichen Ausgabe 410 mit der höchsten Bewertung 417 kann der verbleibenden Verarbeitung des QA-Systems 200 bereitgestellt werden.
  • Die möglichen Ausgaben 320 von einer oder mehreren NLP-Kernkomponenten 310 können entsprechend einem Kriterium in Beziehung gesetzt werden. Zum Beispiel kann der Syntaxparser 310c so konfiguriert sein, dass er an seinem Ausgang die obersten N eingeordneten Syntaxanalysebäume als seine möglichen Ausgaben erzeugt. In bestimmten Ausführungsformen der vorliegenden Erfindung werden die möglichen Ausgaben 320 von einer oder mehreren NLP-Kernkomponenten 310 als Varianten voneinander ausgestaltet. In anderen Ausführungsformen werden domänenspezifische Regeln festgelegt, die Eingabedaten verändern oder verzerren, um mögliche Ausgaben 320 zu generieren. Eine linguistische Regel kann festgelegt werden, die besagt: „Falls in diesem Eingabesyntaxanalysebaum eine Präpositionalphrase an ein Substantiv angefügt ist, trenne die Präpositionalphrase und verbinde sie mit der nächstgelegenen ‚Vorfahren‘-Nominalphrase, sofern vorhanden.“ Diese Regeln erzeugt, wenn sie in geeigneter Weise auf einen möglichen Eingabesyntaxanalysebaum angewendet wird, einen neuen möglichen Syntaxanalysebaum, der den ursprünglichen Syntaxanalysebaum in einem Satz von möglichen Ausgaben der Syntaxparser-Komponente 310c ergänzen kann. Regeln für andere NLP-Kernkomponenten 310 können auf ähnliche Weise erstellt und angewendet werden. Zum Beispiel kann eine Regel für die NER-Komponente 310d festgelegt werden, wodurch ein vorhandener Entitätsname verändert oder verzerrt wird, indem die Spannweite erhöht/verringert oder die Kennzeichnung des Entitätsnamens geändert wird, z.B. kann eine Regel festgelegt werden, die mögliche NER-Spannen COMPANY für jede von der NER-Komponente 310d generierte NER-Spanne PERSON erzeugt.
  • Die vorliegende Erfindung ist nicht auf bestimmte Mechanismen beschränkt, um die hierin beschriebene Anpassung auszuführen. Zum Beispiel können in bestimmten Ausführungsformen NLP-Kernkomponenten 310 mit internen Anpassungs- und/oder Machine Learning-Mechanismen erstellt oder in anderer Weise konfiguriert werden. In weiteren Ausführungsformen kann es sich bei den NLP-Kernkomponenten 310 um Commodity-Komponenten handeln, bei denen eine Anpassung durch eine Machine Learning-Anpassungsschicht erreicht wird, welche der Anwendung über den Anwendungsausgang und NLP-Kernkomponenten hinweg überlagert wird. Nach der Durchsicht dieser Offenbarung erkennt der Fachmann in adaptiven Systemen viele verschiedene Konfigurationen, mittels derer die hierin beschriebene Anpassung erreicht werden kann.
  • In den vorstehend erwähnten Beispielen wird jede NLP-Kernkomponente 310 unabhängig von den anderen NLP-Kernkomponenten 310 trainiert. In bestimmten Ausführungen hängt die Ausgabe einer NLP-Kernkomponente 310 jedoch von der Ausgabe einer anderen NLP-Kernkomponente 310 ab. Bestimmte Ausführungsformen der vorliegenden Erfindung realisieren Techniken, mittels derer solchen Abhängigkeiten Rechnung getragen werden kann.
  • 5 ist ein konzeptionelles Blockschaubild des Trainings und der Nutzung von abhängigen NLP-Kernkomponenten 310 durch Ausführungsformen der vorliegenden Erfindung. In dem veranschaulichten Beispiel wird davon ausgegangen, dass die Ausgabe der NER-Komponente 310d von der Ausgabe abhängig ist, die von der Syntaxparser-Komponente 310c generiert oder in anderer Weise erzeugt wird. Ferner wird davon ausgegangen, dass die NER-Komponente 310d (oder jede beliebige andere NLP-Kernkomponente 310) so konfiguriert sein kann, dass sie eine wählbare Anzahl von möglichen Ausgaben 320 für jeden als ihre Eingabe bereitgestellten Merkmalsvektor erzeugt. Wie in 5 veranschaulicht ist, ist die beispielhafte NER-Komponente 310d so konfiguriert, dass sie drei (3) mögliche Ausgaben 320 aus jeder einzelnen (1) Eingabe erzeugt, bei der es sich um die Ausgabe der Syntaxparser-Komponente 320c handelt. Die Syntaxparser-Komponente 310c kann aus der Frage 205 drei (3) Syntaxanalysebäume 510a bis 510c erzeugen, die hierin repräsentativ als die Syntaxanalysebäume 510 bezeichnet werden. Da die NER-Komponente 310d drei (3) erkannte Entitätsnamen 520 (oder deren Merkmalsvektor-Darstellung) für jeden Syntaxanalysebaum 510 (oder dessen Merkmalsvektor-Darstellung) erzeugt, werden insgesamt neun (9) mögliche erkannte Entitätsnamen 520a bis 520i von der NER-Komponente 310d erzeugt. In bestimmten Ausführungsformen können die erkannten, von demselben Syntaxanalysebaum 510 verzweigenden Entitätsnamen 520 als solche identifiziert werden, zum Beispiel in den Metadaten 120 des entsprechenden Informationsobjekts 100. Folglich kann der ursprüngliche Syntaxanalysebaum 510 eines jeden möglichen erkannten Entitätsnamens 520 identifiziert werden.
  • In bestimmten Ausführungsformen werden die neun (9) Entitätsnamen durch die verbleibenden Verarbeitungsstufen des QA-Systems 200 zu Trainingszwecken übermittelt (anstatt sowohl die Syntaxanalysebäume als auch die Entitätsnamen unabhängig voneinander durch die Verarbeitungsstufen des QA-Systems 200 zu übermitteln), was eine gemeinsame Anpassung von mehreren Komponenten ermöglicht. Die möglichen Entitätsnamen 520 der NER-Komponente 310d können der Ausgabe aus der Anwendung zugeordnet werden, was anzeigt, ob am Ausgang des QA-Systems 200 aus diesem bestimmten möglichen Entitätsnamen 520 eine richtige Antwort erzeugt wurde. In 5 zeigt ein Plus-Symbol (+) auf einem erkannten Entitätsnamen 520 ein richtiges Antwortergebnis an und ein Minus-Symbol (-) auf einem erkannten Entitätsnamen 520 zeigt ein falsches Antwortergebnis an. Wie in 5 veranschaulicht ist, hat der Syntaxanalysebaum 510a zwei (2) erkannte Entitätsnamen 520a und 520b über die NER-Komponente 310d hervorgebracht, die dazu führten, dass am Ausgang des QA-Systems 200 richtige Antworten generiert wurden, und einen (1) Entitätsnamen 520c, der dazu führte, dass eine falsche Antwort generiert wurde. Der Syntaxanalysebaum 510c brachte einen (1) Entitätsnamen 520g über die NER-Komponente 310d hervor, der zu einer richtigen Antwort führte, und zwei (2) Entitätsnamen 520h und 520i, die zu einer falschen Antwort führten.
  • Beruhend auf den in 5 veranschaulichten Ergebnissen kann der Syntaxanalysebaum 510a, der als richtige Antworten erzeugend gekennzeichnet ist, als genauer als der Syntaxanalysebaum 510c betrachtet werden, der weniger richtige Antworten erzeugt hat. Folglich kann/können der Syntaxanalysebaum 510a und/oder Merkmale davon am Ausgang des Syntaxparsers 310c bevorzugter gewichtet werden, und der Syntaxanalysebaum 510c kann mit Bezug darauf, dass er vom Syntaxparser 310c generiert wurde, weniger bevorzugt gewichtet werden, ohne dass einer von beiden direkt ein Trainingsfall war. Keine erkannten Entitätsnamen 520d bis 520f, die eine Elternschaft am Syntaxanalysebaum 510b haben, führten zu einer richtigen Antwort. Folglich kann der Syntaxanalysebaum 510b sehr gering gewichtet werden. Eine solche Gewichtung kann sich in den Komponentenanpassungsmodellen 420c und 420d für die Syntaxparser-Komponente 310c bzw. die NER-Komponente 310d niederschlagen.
  • In 5 werden mehrere Syntaxanalysebäume 510 für eine gegebene Frage 205 erzeugt, und für jeden Syntaxanalysebaum 510 werden mehrere Entitätsnamen-Ausgaben 520 erzeugt. Jede mögliche Ausgabe 320, z.B. jeder Syntaxanalysebaum 510 und jeder Entitätsname 520, führt schließlich, wenn er von der Anwendung, z.B. dem QA-System 200, verarbeitet wird, zu einer anderen Ausgabeantwort des QA-Systems 200 als Ganzes. Anstatt eines einzelnen Pfades durch das System von der Frage 205 zu einer Antwort 207 erzeugen Ausführungsformen der Erfindung somit viele (neun (9) in dem veranschaulichten Beispiel) Pfade zu einer Antwort. In dem verallgemeinerten Fall von vielen verschiedenen Komponenten in dem gesamten System können Hunderte (oder Tausende) solcher Pfade zu verschiedenen Antworten erzeugt werden. Jedoch lässt sich aus 5 erkennen, dass eine Untergruppe der Syntaxanalysebäume 510 schließlich dazu führte, dass das QA-System 200 die richtige Antwort erzeugt hat, d.h., die in 5 mit Plus-Zeichen (+) markierten Pfade, und dass eine weitere Untergruppe der Syntaxanalysebäume 510 schließlich dazu führte, dass das QA-System 200 eine falsche Antwort erzeugt hat, d.h. die mit Minus-Zeichen (-) markierten Pfade. Alle möglichen Ausgaben 310, die einem Plus (+) zugeordnet sind, können zum Zweck des Machine Learning als positive Beispiele genutzt werden, und alle einem Minus (-) zugeordneten Kandidaten können als negative Beispiele genutzt werden.
  • In dem vorstehenden multiplikativen Fall, d.h., drei (3) Ergebnisse aus der Syntaxparser-Komponente 310c x drei (3) Ergebnisse aus der NER-Komponente 310d, kann die Anzahl der möglichen Ausgaben sehr schnell wachsen. In vielen realen Anwendungen ist die von jeder NLP-Kernkomponente 310 erzeugte Anzahl von Ergebnissen üblicherweise viel größer als drei (3). Wenn die vorliegende Erfindung auf einen Stack von vielen NLP-Kernkomponenten 310 verallgemeinert wird, von denen jede einen Satz von möglichen Ausgaben 320 für jede Eingabe von der vorgelagerten NLP-Kernkomponente 310 erzeugt, lässt sich leicht erkennen, dass die Anzahl der Pfade zu einer Antwort durch das QA-System 200 eine sehr, sehr große Anzahl von Pfaden werden kann. Falls jedoch nur eine Untergruppe von diesen vielen Pfaden einer Schwellenwert-Erfolgswahrscheinlichkeit zugeordnet wird, kann das Entfernen derjenigen Pfade, die niedrige Bewertungen haben, während die Effizienz der erfindungsgemäßen Anpassungstechnik möglicherweise nicht erhöht wird, die Geschwindigkeit der Anpassung beträchtlich erhöhen. Um die Last der Auswertung einer großen Anzahl von Pfaden zu verringern, kann Beam-Search-Pruning oder eine ähnliche Technik zur Anwendung kommen. In bestimmten Ausführungsformen beschränkt ein solches Beam-Search-Pruning die gesamte Anzahl der möglichen Ausgaben 320 aus einer jeden NLP-Kernkomponente 310 in dem Stack auf eine bestimmte Anzahl N (z.B. 3). In bestimmten Ausführungsformen die obersten N (z.B. 3) einer Vielzahl von möglichen Ausgaben 320, nachdem diese unter Verwendung einer Bewertungsfunktion, wie beispielsweise eines Punktprodukts, eingeordnet wurden. Eine weitere Pruning-Ausführung stellt fest, ob eine bestimmte Eingabe (Syntaxanalysebaum) nicht eine bestimmte Anzahl von abhängigen möglichen Ausgaben (erkannten Entitätsnamen), die eine richtige Antwort erzeugen, hervorbringt.
  • Die 6A bis 6B sind Ablaufpläne eines Trainingsprozesses 600 bzw. eines Laufzeitprozesses 650, mittels derer die vorliegende Erfindung realisiert werden kann. Wie in 6A veranschaulicht ist, kann der beispielhafte Trainingsprozess 600 mehrere mögliche Ausgaben durch eine erste NLP-Kernkomponente im Schritt 605 generieren. In bestimmten Ausführungsformen wird jede NLP-Kernkomponente so erstellt oder in anderer Weise konfiguriert, dass sie mehrere mögliche Ausgaben generiert, bei denen es sich um geringfügig abweichende Varianten der primären Ausgabe handelt. Dies kann durch neu erstellte Regeln oder durch eine Neukonfiguration von vorhandenen NLP-Komponenten geschehen.
  • Im Schritt 610 können Merkmale, z.B. Merkmalsvektoren, für jede mögliche Ausgabe definiert werden. Im Schritt 615 wird die erste mögliche Ausgabe der Anwendung zur Verarbeitung bereitgestellt und im Schritt 620 wird festgestellt, ob die Anwendungsausgabe für diese mögliche Ausgabe mit Ground-Truth-Daten übereinstimmt. Falls ja, wird eine Kennzeichnung angewendet, die anzeigt, dass die entsprechende mögliche Ausgabe eine richtige Antwort erzeugt hat. Andernfalls, falls die Anwendungsausgabe nicht mit Ground-Truth-Daten übereinstimmt, was im Schritt 620 festgestellt wird, wird eine Kennzeichnung angewendet, die anzeigt, dass die entsprechende Ausgabe eine falsche Antwort erzeugt hat. Im Schritt 635 wird festgestellt, ob alle möglichen Ausgaben die Anwendung durchlaufen haben, und falls nicht, geht der beispielhafte Prozess 600 wieder zum Schritt 615 über, wodurch die nächste mögliche Ausgabe durch die Anwendung geleitet wird. Falls alle möglichen Ausgaben die Anwendung durchlaufen haben, was im Schritt 635 festgestellt wird, geht der Prozess 600 zum Schritt 640 über, mittels dessen Gewichtungsvektoren für ein Komponentenanpassungsmodell ermittelt werden, mittels derer von dieser Komponente generierte Merkmale oder Sätze von Merkmalen, die zu Ground Truth führen, bevorzugt gegenüber Merkmalen und Sätzen von Merkmalen gewichtet werden, die nicht zu Ground Truth führen. Eine solche Gewichtungsermittlung kann zum Beispiel durch logistische Regression unter Verwendung des Gradientenabstiegs erreicht werden, wie vorstehend beschrieben wurde. Im Schritt 645 wird festgestellt, ob mögliche Ausgaben aus allen NLP-Kernkomponenten ausgewertet wurden. Falls ja, kann der Trainingsprozess 600 enden; andernfalls kann der Trainingsprozess 600 wieder zum Schritt 605 übergehen, mittels dessen mögliche Ausgaben von der nächsten NPL-Kernkomponente generiert werden.
  • Wie in 6B veranschaulicht ist, kann der Laufzeitprozess 650 zur Laufzeit im Schritt 655 mehrere mögliche, auf die Anwendungseingabe (Frage) bezogene Ausgaben an einer ersten NLP-Kernkomponente generieren. Im Betrieb werden Merkmale erzeugt, die einer jeden möglichen Ausgabe entsprechen. Die während des Trainings ermittelten Gewichtungsvektoren werden im Schritt 665 aus dem Komponentenanpassungsmodell auf die Merkmalsvektoren angewendet. Im Schritt 670 wird eine Bewertung von den angepassten Merkmalsvektoren berechnet und im Schritt 675 durchläuft die höchstbewertete mögliche Ausgabe die Anwendung, um eine Ausgabe davon zu generieren.
  • Die Clientsysteme 14 ermöglichen Benutzern die Übergabe von Dokumenten (z.B. Trainingsfragen 207, die Frage 205, Ground-Truth-Daten 209 usw.) an die Serversysteme 12. Zu den Serversystemen gehört eine NLP-Plattform 22, um unstrukturierte Informationen zu strukturierten Informationen zu verarbeiten und um die Ausführung von NLP-Anwendungen unter Verwendung von anpassbaren Komponenten davon (z.B. NLP-Kernkomponenten 310) in anderer Weise zu unterstützen. Ein Datenbanksystem, z.B. DB 24, kann verschiedene Informationen für die Analyse speichern (z.B. Informationsobjekte, Ground-Truth-Daten, Beweise, Modelle usw.). Das Datenbanksystem kann durch eine beliebige herkömmliche oder andere Datenbank oder Speichereinheit ausgeführt sein, es kann sich lokal bei oder entfernt von den Serversystemen 12 und den Clientsystemen 14 befinden und über ein beliebiges geeignetes Übertragungsmedium (z.B. lokales Netz (LAN), Weitverkehrsnetz (WAN), Internet, fest verdrahtet, drahtlose Verbindung, Intranet usw.) Daten austauschen. Die Clientsysteme können eine grafische Benutzeroberfläche (z.B. GUI usw.) oder eine andere Schnittstelle (z.B. Eingabeaufforderungen, Menüanzeigen usw.) präsentieren, um Analysen und Benutzer-Fragestellungen betreffende Informationen von Benutzern zu erbitten, und Berichte, darunter Analyseergebnisse (z.B. Textanalysen, Antworten usw.), bereitstellen.
  • Die NLP-Plattform 22 kann ein oder mehrere Module oder Einheiten enthalten, um die verschiedenen Funktionen von vorstehend beschriebenen Ausführungsformen der vorliegenden Erfindung auszuführen. Die verschiedenen Komponenten (z.B. Frageanalysekomponente 210, primäre Suchkomponente 220, Kandidatengenerierungskomponente 230, Beweisabrufkomponente 240, Antwortbewertungs- und -einordnungskomponente 250, QA-Trainingskomponente 260, Anpassungskomponente 450, NLP-Kernkomponenten 310 usw.) können durch eine beliebige Kombination aus einer beliebigen Menge von Software- und/oder Hardware-Modulen oder - Einheiten ausgeführt sein und sich im Hauptspeicher der Server- und/oder Clientsysteme zur Ausführung durch einen Prozessor befinden.
  • Es dürfte sich verstehen, dass die vorstehend beschriebenen und in den Zeichnungen veranschaulichten Ausführungsformen nur ein paar der vielen Möglichkeiten zur Ausführung des Trainings und zur Nutzung von anpassbaren NLP-Komponenten darstellen.
  • Die Umgebung der Ausführungsformen der vorliegenden Erfindung kann eine beliebige Anzahl von Computer- oder anderen Verarbeitungssystemen (z.B. Client- oder Endbenutzersysteme, Serversysteme usw.) und Datenbanken oder andere Repositories enthalten, die in einer beliebigen gewünschten Weise angeordnet sein können, bei der die Ausführungsformen der vorliegenden Erfindung auf einen beliebigen gewünschten Typ von Datenverarbeitungsumgebung (z.B. Cloud-Computing, Client-Server, Network-Computing, Mainframe-Computer, eigenständige Systeme usw.) angewendet werden können. Die Computer- oder anderen Verarbeitungssysteme, die von Ausführungsformen der vorliegenden Erfindung eingesetzt werden, können durch eine beliebige Anzahl von beliebigen Personal-Computern oder einer anderen Art von Computer- oder Verarbeitungssystemen (z.B. Desktop, Laptop, PDA, mobile Einheiten usw.) ausgeführt sein und ein beliebiges handelsübliches Betriebssystem und eine beliebige Kombination von handelsüblicher und kundenspezifischer Software (z.B. Browsersoftware, Übertragungssoftware, Serversoftware, NLP-Verarbeitungsmodule usw.) enthalten. Diese Systeme können beliebige Arten von Monitoren und Eingabeeinheiten (z.B. Tastatur, Maus, Spracherkennung usw.) enthalten, um Informationen einzugeben und/oder anzuzeigen.
  • Es sollte darauf hingewiesen werden, dass die Software (z.B. NLP-Plattform, NLP-Anwendungen, NLP-Anwendungskomponenten, NLP-Anwendungstrainingskomponenten, Anpassungskomponenten usw.) von den Ausführungsformen der vorliegenden Erfindung in einer beliebigen gewünschten Computersprache ausgeführt sein kann und von einem Fachmann in Computertechnologie beruhend auf den in der Spezifikation enthaltenen Funktionsbeschreibungen und den in den Zeichnungen veranschaulichten Ablaufdiagrammen entwickelt werden könnte. Des Weiteren beziehen sich jedwede Angaben hierin von Software, die verschiedene Funktionen ausführt, im Allgemeinen auf Computersysteme oder Prozessoren, die diese Funktionen von Software gesteuert ausführen. Die Computersysteme der Ausführungsformen der vorliegenden Erfindung können alternativ durch eine beliebige Art von Hardware- und/oder anderen Verarbeitungsschaltungen ausgeführt werden.
  • Die verschiedenen Funktionen der Computer- oder anderer Verarbeitungssysteme können in einer beliebigen Weise auf eine beliebige Anzahl von Software- und/oder Hardware-Modulen oder -Einheiten, Verarbeitungs- oder Computersystemen und/oder Schaltungen verteilt sein, wobei die Computer- oder Verarbeitungssysteme lokal oder entfernt voneinander angeordnet sein können und über ein beliebiges geeignetes Übertragungsmedium (z.B. LAN, WAN, Intranet, Internet, fest verdrahtet, Modemverbindung, drahtlos usw.) Daten austauschen können. Zum Beispiel können die Funktionen der Ausführungsformen der vorliegenden Erfindung in einer beliebigen Weise auf die verschiedenen Endbenutzer-/Client- und Serversystemen und/oder beliebige andere Zwischenverarbeitungseinheiten verteilt sein. Die vorstehend beschriebene(n) und in den Ablaufdiagrammen veranschaulichte(n) Software und/oder Algorithmen können in einer beliebigen Weise geändert werden, welche die hierin beschriebenen Funktionen erfüllt. Überdies können die Funktionen in den Ablaufdiagrammen oder in der Beschreibung in einer beliebigen Reihenfolge ausgeführt werden, die einen gewünschten Schritt erfüllt.
  • Die Software der Ausführungsformen der vorliegenden Erfindung (z.B. NLP-Plattform, NLP-Anwendungen, NLP-Anwendungskomponenten, NLP-Anwendungstrainingskomponenten, Anpassungskomponenten usw.) kann auf einem nicht flüchtigen, durch einen Computer verwendbaren Datenträger (z.B. Magnet- oder optische Datenträger, magnetooptische Datenträger, Disketten, CD-ROM, DVD, Hauptspeichereinheiten usw.) einer stationären oder tragbaren Programmproduktvorrichtung oder -einheit zur Verwendung mit eigenständigen Systemen oder Systemen, die durch ein Netzwerk oder ein anderes Übertragungsmedium verbunden sind, vorhanden sein.
  • Das Übertragungsnetzwerk kann durch eine beliebige Anzahl einer beliebigen Art von Übertragungsnetzwerken (z.B. LAN, WAN, Internet, Intranet, VPN usw.) ausgeführt sein. Die Computer- oder anderen Verarbeitungssysteme der Ausführungsformen der vorliegenden Erfindung können beliebige herkömmliche oder andere Übertragungseinheiten enthalten, um mittels beliebiger herkömmlicher oder anderer Protokolle über das Netzwerk Daten auszutauschen. Die Computer- oder anderen Verarbeitungssysteme können eine beliebige Art von Verbindung (z.B. drahtgebunden, drahtlos usw.) für den Zugang zum Netzwerk nutzen. Lokale Übertragungsmedien können durch beliebige geeignete Übertragungsmedien (z.B. lokales Netz (LAN), fest verdrahtete, drahtlose Verbindung, Intranet usw.) ausgeführt sein.
  • Das Datenbanksystem kann eine beliebige Anzahl von beliebigen herkömmlichen oder anderen Datenbanken, Datenspeichern oder Speicherstrukturen (z.B. Dateien, Datenbanken, Datenstrukturen, Daten- oder andere Repositories usw.) einsetzen, um Informationen (z.B. Informationsobjekte, Antworten, Beweise, Modelle usw.) zu speichern. Das Datenbanksystem kann durch eine beliebige Anzahl von beliebigen herkömmlichen oder anderen Datenbanken, Datenspeichern oder Speicherstrukturen (z.B. Dateien, Datenbanken, Datenstrukturen, Daten- oder andere Repositories usw.) ausgeführt sein, um Informationen (z.B. Informationsobjekte, Antworten, Beweise, Modelle usw.) zu speichern. Das Datenbanksystem kann in den Server- und/oder Clientsystemen enthalten oder mit den Server- und/oder Clientsystemen verbunden sein. Die Datenbanksysteme und/oder Speicherstrukturen können sich entfernt von den Computer- oder anderen Verarbeitungssystemen oder lokal bei diesen befinden und beliebige gewünschte Daten (z.B. Informationsobjekte, Schlussfolgerungen, Beweise, Modelle usw.) speichern.
  • Die Ausführungsformen der vorliegenden Erfindung können eine beliebige Anzahl eines beliebigen Typs von Benutzerschnittstellen (z.B. grafische Benutzeroberfläche (GUI), Befehlszeile, Eingabeaufforderung usw.) einsetzen, um Informationen (z.B. Trainingsfragen 207, Frage 205, Ground-Truth-Daten 209 usw.) zu erhalten oder bereitzustellen, wobei die Schnittstelle beliebige, in beliebiger Weise angeordnete Informationen enthalten kann. Die Schnittstelle kann eine beliebige Anzahl von beliebigen Arten von Eingabe- oder Betätigungsmechanismen (z.B. Schaltflächen, Symbole, Felder, Kästchen, Links usw.) enthalten, die an beliebigen Stellen angeordnet sind, um Informationen einzugeben/anzuzeigen und gewünschte Aktionen über beliebige geeignete Eingabeeinheiten (z.B. Maus, Tastatur usw.) einzuleiten. Die Schnittstellenbildschirme können beliebige geeignete Aktuatoren (z.B. Links, Tabulatoren usw.) enthalten, um in beliebiger Weise zwischen den Bildschirmen zu navigieren.
  • Der Bericht kann beliebige, in beliebiger Weise angeordnete Informationen enthalten und beruhend auf Regeln oder anderen Kriterien (z.B. Einschränkungen, Benutzerprofilen usw.) konfigurierbar sein, um einem Benutzer gewünschte Informationen (z.B. Textanalysen, Antworten usw.) bereitzustellen.
  • Die Ausführungsformen der vorliegenden Erfindung sind nicht auf die bestimmten, vorstehend beschriebenen Aufgaben oder Algorithmen beschränkt, sondern können für andere Domänen wie beispielsweise Finanzen, juristische Analysen usw. genutzt werden.
  • Die hierin verwendete Terminologie dient lediglich dazu, bestimmte Ausführungsformen zu beschreiben und sollte nicht als Einschränkung der Erfindung verstanden werden. Die Singular-Formen „ein“, „eine“ und „der“, „die“, „das“ sollen in der Verwendung hierin auch die Plural-Formen einschließen, sofern der Kontext nicht eindeutig etwas anderes angibt. Es wird des Weiteren darauf hingewiesen, dass die Begriffe „aufweist“, „aufweisen“, „enthält“, „darunter“, „hat, „haben“, „mit“ und dergleichen, wenn sie in dieser Spezifikation verwendet werden, das Vorhandensein von angegebenen Merkmalen, ganzen Zahlen, Schritten, Operationen, Elementen und/oder Komponenten bezeichnen, das Vorhandensein oder das Hinzufügen von einem oder mehreren anderen Merkmalen, ganzen Zahlen, Schritten, Operationen, Elementen, Komponenten und/oder Gruppen davon jedoch nicht ausschließen.
  • Die entsprechenden Strukturen, Materialien, Vorgänge und Äquivalente von allen Mitteln beziehungsweise Schritt-plus-Funktion-Elementen (step plus function elements) in den nachstehenden Ansprüchen sollen jedwede Struktur, jedwedes Material oder jedweden Vorgang zur Ausführung der Funktion in Verbindung mit anderen beanspruchten Elementen, die im Einzelnen beansprucht werden, mit einschließen. Die Beschreibung der vorliegenden Erfindung erfolgte zum Zweck der Veranschaulichung und Erläuterung, soll aber nicht erschöpfend oder auf die Erfindung in der offenbarten Form beschränkt sein. Viele Ab- und Veränderungen sind für den Fachmann erkennbar, ohne vom Umfang der Erfindung abzuweichen. Die Ausführungsform wurde gewählt und beschrieben, um die Grundgedanken der Erfindung und die praktische Anwendung bestmöglich zu erklären und um anderen Fachleuten das Verständnis der Erfindung hinsichtlich verschiedener Ausführungsformen mit verschiedenen Änderungen, wie sie für die jeweilige vorgesehene Verwendung geeignet sind, zu ermöglichen.
  • Die Beschreibungen der verschiedenen Ausführungsformen der vorliegenden Erfindung erfolgten zum Zweck der Veranschaulichung, sollen jedoch nicht erschöpfend oder auf die offenbarten Ausführungsformen beschränkt sein. Viele Änderungen und Varianten sind für den Fachmann erkennbar, ohne vom Umfang der beschriebenen Ausführungsformen abzuweichen. Die hierin verwendete Terminologie wurde gewählt, um die Grundgedanken der Ausführungsformen, die praktische Anwendung oder technische Verbesserung gegenüber auf dem Markt befindlicher Technologien am besten zu erklären bzw. um anderen Fachleuten das Verständnis der hierin offenbarten Ausführungsformen zu ermöglichen.
  • Bei der vorliegenden Erfindung kann es sich um ein System, ein Verfahren und/oder ein Computerprogrammprodukt auf jeder möglichen Integrationsstufe technischer Details handeln. Das Computerprogrammprodukt kann (ein) durch einen Computer lesbare(s) Speichermedium (oder -medien) beinhalten, auf dem/denen durch einen Computer lesbare Programmanweisungen gespeichert 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 ein System 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 kodierte 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 hierin 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. durch ein Glasfaserkabel geleitete Lichtimpulse) oder durch einen Draht übertragene elektrische Signale.
  • Hierin 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 Weitverkehrsnetz 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.
  • Bei durch einen Computer lesbaren Programmanweisungen zum Ausführen von Arbeitsschritten der vorliegenden Erfindung kann es sich um Assembler-Anweisungen, ISA-Anweisungen (Instruction-Set-Architecture), Maschinenanweisungen, maschinenabhängige Anweisungen, Mikrocode, Firmware-Anweisungen, zustandssetzende Daten, Konfigurationsdaten für eine integrierte Schaltung oder entweder Quellcode oder Objektcode handeln, die in einer beliebigen Kombination aus einer oder mehreren Programmiersprachen geschrieben werden, darunter objektorientierte Programmiersprachen wie Smalltalk, C++ o.ä. sowie prozedurale Programmiersprachen wie die Programmiersprache „C“ oder ähnliche Programmiersprachen. Die durch einen Computer lesbaren Programmanweisungen können 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 fernen Computer oder vollständig auf dem fernen Computer oder Server ausgeführt werden. In letzterem Fall kann der entfernt angeordnete Computer mit dem Computer des Benutzers durch eine beliebige Art Netzwerk verbunden sein, 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 können elektronische Schaltungen, darunter zum Beispiel programmierbare Logikschaltungen, im Feld programmierbare Gatter-Anordnungen (FPGA, field programmable gate arrays) oder programmierbare Logikanordnungen (PLA, programmable logic arrays) die durch einen Computer lesbaren Programmanweisungen ausführen, 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 hierin unter Bezugnahme auf Ablaufpläne und/oder Blockschaltbilder bzw. Schaubilder 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 Blockschaltbilder bzw. Schaubilder sowie Kombinationen von Blöcken in den Ablaufplänen und/oder den Blockschaltbildern bzw. Schaubildern mittels durch einen Computer lesbare Programmanweisungen ausgeführt werden können.
  • Diese durch einen Computer lesbaren Programmanweisungen können einem Prozessor eines Universalcomputers, eines Spezialcomputers oder einer anderen programmierbaren Datenverarbeitungsvorrichtung bereitgestellt werden, um eine Maschine zu erzeugen, so dass 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. Diese durch einen Computer lesbaren Programmanweisungen können auch auf einem durch einen Computer lesbaren Speichermedium gespeichert sein, das einen Computer, eine programmierbare Datenverarbeitungsvorrichtung und/oder andere Einheiten so steuern kann, dass sie auf eine bestimmte Art funktionieren, so dass das durch einen Computer lesbare Speichermedium, auf dem Anweisungen gespeichert sind, ein Herstellungsprodukt aufweist, darunter Anweisungen, welche Aspekte der/des in dem Block bzw. den Blöcken des Ablaufplans und/oder der Blockschaltbilder bzw. Schaubilder angegebenen Funktion/Schritts umsetzen.
  • Die durch einen Computer lesbaren Programmanweisungen können auch auf einen Computer, eine andere programmierbare Datenverarbeitungsvorrichtung oder eine andere Einheit geladen werden, 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, so dass 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 in den Figuren veranschaulichen die Architektur, die Funktionalität und die Betriebsweise von möglichen Ausführungsarten von Systemen, Verfahren und Computerprogrammprodukten gemäß verschiedenen Ausführungsformen der vorliegenden Erfindung. In diesem Zusammenhang kann jeder Block in den Ablaufplänen oder Blockschaltbildern bzw. Schaubildern ein Modul, ein Segment oder einen Teil von Anweisungen darstellen, die eine oder mehrere ausführbare Anweisungen zur Ausführung der bestimmten logischen Funktion(en) aufweisen. In einigen alternativen Ausführungen können die in den Blöcken angegebenen Funktionen in einer anderen Reihenfolge als in den Figuren gezeigt stattfinden. Zwei nacheinander gezeigte Blöcke können zum Beispiel in Wirklichkeit im Wesentlichen gleichzeitig ausgeführt werden, oder die Blöcke können manchmal je nach entsprechender Funktionalität in umgekehrter Reihenfolge ausgeführt werden. 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 durch spezielle auf Hardware beruhende Systeme umgesetzt werden können, welche die festgelegten Funktionen oder Schritte durchführen, oder Kombinationen aus Spezial-Hardware und Computeranweisungen ausführen.

Claims (18)

  1. Verfahren, um ein Verarbeitungssystem mit einer Anwendung zu konfigurieren, die eine Vielzahl von Machine Learning-Komponenten nutzt, wobei die Anwendung an einem Satz von Trainingsdaten trainiert wird, wobei das Verfahren aufweist: Ausführen der Anwendung auf dem Verarbeitungssystem unter Verwendung eines weiteren Satzes von Trainingsdaten; Identifizieren von aus dem weiteren Satz von Trainingsdaten erzeugten Ausgaben der Anwendung, die mit Ground-Truth-Daten übereinstimmen; und Anpassen der Vielzahl von Komponenten, um Ausgaben der Anwendung, die mit den Ground-Truth-Daten übereinstimmen, unter Verwendung der identifizierten Ausgaben der Anwendung zu erzeugen.
  2. Verfahren nach Anspruch 1, das des Weiteren aufweist: Generieren einer ersten Vielzahl von möglichen Ausgaben aus einer jeden der Vielzahl von Komponenten beruhend auf den weiteren Trainingsdaten; und Trainieren eines Komponentenmodells für jede der Vielzahl von Komponenten, indem die Anwendung für jede der ersten Vielzahl von möglichen Ausgaben ausgeführt wird, welche aus dieser Komponente generiert werden, und Justieren des Komponentenmodells beruhend auf Ergebnissen, die von der Anwendung erzeugt werden.
  3. Verfahren nach Anspruch 2, das des Weiteren aufweist: Ausführen der Anwendung mit dem trainierten Komponentenmodell für jede der Vielzahl von Komponenten, indem: eine zweite Vielzahl von möglichen Ausgaben aus jeder Komponente generiert wird; das trainierte Komponentenmodell für jede Komponente angewendet wird, um eine mögliche Ausgabe für diese Komponente unter der zweiten Vielzahl von möglichen Ausgaben, die aus dieser Komponente generiert werden, auszuwählen; und die Anwendung ausgeführt wird, wobei die ausgewählte mögliche Ausgabe für jede der Vielzahl von Komponenten genutzt wird.
  4. Verfahren nach einem der vorhergehenden Ansprüche, wobei das Verarbeitungssystem ein Natural Language Processing-(NLP-)System enthält und die Komponenten Natural Language Processing-(NLP-)Operationen durchführen.
  5. Verfahren nach einem der Ansprüche 2 bis 4, wobei das Generieren der ersten Vielzahl von möglichen Ausgaben aufweist: Generieren der ersten Vielzahl von möglichen Ausgaben als Varianten einer primären möglichen Ausgabe.
  6. Verfahren nach einem der Ansprüche 2 bis 5, das des Weiteren aufweist: Ermitteln von Merkmalen für die erste Vielzahl von möglichen Ausgaben, die aus einer jeden der Vielzahl von Komponenten generiert werden; wobei das Trainieren eines Komponentenmodells für jede der Vielzahl von Komponenten das Gewichten der Merkmale einer jeden Ausgabe der ersten Vielzahl von möglichen, aus dieser Komponente generierten Ausgaben beruhend auf von der Anwendung erzeugten Ergebnissen beinhaltet, um die Auswahl einer möglichen Ausgabe für die Anwendung zu ermöglichen.
  7. Verfahren nach einem der vorhergehenden Ansprüche, das des Weiteren aufweist: Trainieren eines Komponentenmodells für einen Satz der Komponenten, indem die Anwendung mit einer Ausgabe von einer jeden einer Vielzahl von möglichen Ausgaben ausgeführt wird, welche aus dem Satz von Komponenten generiert werden, und Justieren des Komponentenmodells für den Satz von Komponenten beruhend auf Ergebnissen, die von der Anwendung erzeugt werden; und Ausführen der Anwendung mit dem trainierten Komponentenmodell für den Satz von Komponenten.
  8. Verfahren nach einem der vorhergehenden Ansprüche, wobei das Komponentenmodell beruhend auf einer Ausgabe aus der Anwendung als Reaktion auf eine neue Domäne für die Anwendung trainiert wird.
  9. Vorrichtung, um ein Verarbeitungssystem mit einer Anwendung zu konfigurieren, die eine Vielzahl von Machine Learning-Komponenten nutzt, wobei die Anwendung an einem Satz von Trainingsdaten trainiert wird, wobei die Vorrichtung aufweist: einen Prozessor, der so konfiguriert ist, dass er: die Anwendung auf dem Verarbeitungssystem unter Verwendung eines weiteren Satzes von Trainingsdaten ausführt; aus dem weiteren Satz von Trainingsdaten erzeugte Ausgaben der Anwendung, die mit Ground-Truth-Daten übereinstimmen, identifiziert; und die Vielzahl von Komponenten anpasst, um Ausgaben der Anwendung, die mit den Ground-Truth-Daten übereinstimmen, unter Verwendung der identifizierten Ausgaben der Anwendung zu erzeugen.
  10. Vorrichtung nach Anspruch 9, die des Weiteren aufweist: eine Datenspeichereinheit, die so konfiguriert ist, dass sie Komponentenmodelle für die Komponenten speichert; und wobei der Prozessor des Weiteren so konfiguriert ist, dass er: eine erste Vielzahl von möglichen Ausgaben aus einer jeden der Vielzahl von Komponenten beruhend auf den weiteren Trainingsdaten generiert; und ein Komponentenmodell für jede der Vielzahl von Komponenten trainiert, indem er die Anwendung für jede der ersten Vielzahl von möglichen Ausgaben ausführt, welche aus dieser Komponente generiert werden, und Justieren des Komponentenmodells beruhend auf Ergebnissen, die von der Anwendung erzeugt werden.
  11. Vorrichtung nach Anspruch 10, wobei der Prozessor des Weiteren so konfiguriert ist, dass er: eine zweite Vielzahl von möglichen Ausgaben aus jeder Komponente generiert; das trainierte Komponentenmodell für jede Komponente anwendet, um eine mögliche Ausgabe für diese Komponente unter der zweiten Vielzahl von möglichen Ausgaben, die aus dieser Komponente generiert werden, auszuwählen; und die Anwendung ausführt, wobei die ausgewählte mögliche Ausgabe für jede der Vielzahl von Komponenten genutzt wird.
  12. Vorrichtung nach einem der Ansprüche 10 oder 11, wobei der Prozessor des Weiteren so konfiguriert ist, dass er: die erste Vielzahl von möglichen Ausgaben als Varianten einer primären möglichen Ausgabe generiert.
  13. Vorrichtung nach einem der Ansprüche 10 bis 12, wobei der Prozessor des Weiteren so konfiguriert ist, dass er: Merkmale für die erste Vielzahl von möglichen Ausgaben ermittelt, die aus einer jeden der Vielzahl von Komponenten generiert werden; und die Merkmale einer jeden Ausgabe der ersten Vielzahl von möglichen, aus dieser Komponente generierten Ausgaben beruhend auf von der Anwendung erzeugten Ergebnissen gewichtet, um die Auswahl einer möglichen Ausgabe für die Anwendung zu ermöglichen.
  14. Vorrichtung nach einem der Ansprüche 9 bis 13, wobei der Prozessor des Weiteren so konfiguriert ist, dass er: ein Komponentenmodell für einen Satz der Komponenten trainiert, indem er die Anwendung mit einer Ausgabe von einer jeden einer Vielzahl von möglichen Ausgaben ausführt, welche aus dem Satz von Komponenten generiert werden, und das Komponentenmodell für den Satz von Komponenten beruhend auf Ergebnissen, die von der Anwendung erzeugt werden, justiert; und die Anwendung mit dem trainierten Komponentenmodell für den Satz von Komponenten ausführt.
  15. Vorrichtung nach einem der Ansprüche 10 bis 14, wobei das Komponentenmodell beruhend auf einer Ausgabe aus der Anwendung als Reaktion auf eine neue Domäne für die Anwendung trainiert wird.
  16. Computerprogrammprodukt, um ein Verarbeitungssystem mit einer Anwendung zu konfigurieren, die eine Vielzahl von Komponenten nutzt, wobei die Anwendung an einem Satz von Trainingsdaten trainiert wird, wobei das Computerprogrammprodukt ein durch einen Computer lesbares Speichermedium mit damit realisierten Programmanweisungen aufweist, wobei die Programmanweisungen von einem Prozessor ausführbar sind, um den Prozessor dazu zu veranlassen: die Anwendung auf dem Verarbeitungssystem unter Verwendung eines weiteren Satzes von Trainingsdaten auszuführen; aus dem weiteren Satz von Trainingsdaten erzeugte Ausgaben der Anwendung, die mit Ground-Truth-Daten übereinstimmen, zu identifizieren; und die Vielzahl von Komponenten anzupassen, um Ausgaben der Anwendung, die mit den Ground-Truth-Daten übereinstimmen, unter Verwendung der identifizierten Ausgaben der Anwendung zu erzeugen.
  17. Computerprogrammprodukt, um ein Verarbeitungssystem mit einer Anwendung zu konfigurieren, die eine Vielzahl von Machine Learning-Komponenten nutzt, wobei die Anwendung an einem Satz von Trainingsdaten trainiert wird, wobei das Computerprogrammprodukt aufweist: ein durch einen Computer lesbares Speichermedium, das durch eine Verarbeitungsschaltung lesbar ist und Anweisungen zur Ausführung durch die Verarbeitungsschaltung speichert, um ein Verfahren nach einem der Ansprüche 1 bis 8 durchzuführen.
  18. Computerprogramm, das auf einem durch einen Computer lesbaren Datenträger gespeichert ist und in den internen Hauptspeicher eines digitalen Computers ladbar ist, wobei das Computerprogramm Teile von Software-Code aufweist, wenn das Programm auf einem Computer ausgeführt wird, um das Verfahren nach einem der Ansprüche 1 bis 8 durchzuführen.
DE112017006151.2T 2017-02-28 2017-12-13 Anpassbare Verarbeitungskomponenten Pending DE112017006151T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/444,734 US11144718B2 (en) 2017-02-28 2017-02-28 Adaptable processing components
US15/444,734 2017-02-28
PCT/IB2017/057891 WO2018158626A1 (en) 2017-02-28 2017-12-13 Adaptable processing components

Publications (1)

Publication Number Publication Date
DE112017006151T5 true DE112017006151T5 (de) 2019-08-22

Family

ID=63246328

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112017006151.2T Pending DE112017006151T5 (de) 2017-02-28 2017-12-13 Anpassbare Verarbeitungskomponenten

Country Status (6)

Country Link
US (1) US11144718B2 (de)
JP (1) JP7089330B2 (de)
CN (1) CN110337645B (de)
DE (1) DE112017006151T5 (de)
GB (1) GB2574555A (de)
WO (1) WO2018158626A1 (de)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6783671B2 (ja) * 2017-01-13 2020-11-11 株式会社東芝 区分システム、認識支援装置、認識支援方法、および認識支援プログラム
US11081104B1 (en) * 2017-06-27 2021-08-03 Amazon Technologies, Inc. Contextual natural language processing
US11043205B1 (en) * 2017-06-27 2021-06-22 Amazon Technologies, Inc. Scoring of natural language processing hypotheses
US11132541B2 (en) * 2017-09-29 2021-09-28 The Mitre Corporation Systems and method for generating event timelines using human language technology
CN109582799B (zh) * 2018-06-29 2020-09-22 北京百度网讯科技有限公司 知识样本数据集的确定方法、装置及电子设备
US20200159824A1 (en) * 2018-11-15 2020-05-21 International Business Machines Corporation Dynamic Contextual Response Formulation
US11501186B2 (en) * 2019-02-27 2022-11-15 Accenture Global Solutions Limited Artificial intelligence (AI) based data processing
US11314948B2 (en) * 2019-03-05 2022-04-26 Medyug Technology Private Limited System to convert sequence of words into human thought representations
US10997977B2 (en) * 2019-04-30 2021-05-04 Sap Se Hybrid NLP scenarios for mobile devices
US11636438B1 (en) 2019-10-18 2023-04-25 Meta Platforms Technologies, Llc Generating smart reminders by assistant systems
US11567788B1 (en) 2019-10-18 2023-01-31 Meta Platforms, Inc. Generating proactive reminders for assistant systems
US10839033B1 (en) * 2019-11-26 2020-11-17 Vui, Inc. Referring expression generation
US11556508B1 (en) * 2020-06-08 2023-01-17 Cigna Intellectual Property, Inc. Machine learning system for automated attribute name mapping between source data models and destination data models
US11803578B2 (en) * 2021-09-21 2023-10-31 Sap Se Personalized evolving search assistance
JP2023078639A (ja) * 2021-11-26 2023-06-07 トヨタ自動車株式会社 情報処理装置及び情報処理方法
WO2023094002A1 (en) * 2021-11-27 2023-06-01 Zoe Life Technologies Ag Configuring a machine device efficiently over a network

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0554068A (ja) 1991-08-29 1993-03-05 Toshiba Corp 音声認識システム
JP2006163623A (ja) 2004-12-03 2006-06-22 Nippon Hoso Kyokai <Nhk> 質問応答装置及び質問応答プログラム、並びに、テレビ受像機
US20070106496A1 (en) * 2005-11-09 2007-05-10 Microsoft Corporation Adaptive task framework
US7783114B2 (en) 2006-08-22 2010-08-24 Intel Corporation Training and using classification components on multiple processing units
CN101136020A (zh) 2006-08-31 2008-03-05 国际商业机器公司 自动扩展参考数据的系统和方法
JP5812534B2 (ja) 2012-06-04 2015-11-17 日本電信電話株式会社 質問応答装置、方法、及びプログラム
CN103870528B (zh) * 2012-12-17 2018-04-17 东方概念有限公司 深度问题回答系统中的问题分类和特征映射的方法和系统
JP5710581B2 (ja) 2012-12-18 2015-04-30 日本電信電話株式会社 質問応答装置、方法、及びプログラム
CN104216913B (zh) * 2013-06-04 2019-01-04 Sap欧洲公司 问题回答方法、系统和计算机可读介质
US9390112B1 (en) 2013-11-22 2016-07-12 Groupon, Inc. Automated dynamic data quality assessment
US9965548B2 (en) * 2013-12-05 2018-05-08 International Business Machines Corporation Analyzing natural language questions to determine missing information in order to improve accuracy of answers
US9460085B2 (en) 2013-12-09 2016-10-04 International Business Machines Corporation Testing and training a question-answering system
US9411878B2 (en) * 2014-02-19 2016-08-09 International Business Machines Corporation NLP duration and duration range comparison methodology using similarity weighting
US9607035B2 (en) * 2014-05-21 2017-03-28 International Business Machines Corporation Extensible validation framework for question and answer systems
JP6264215B2 (ja) 2014-07-18 2018-01-24 トヨタ自動車株式会社 質疑応答装置および質疑応答装置の制御方法
US20160078359A1 (en) * 2014-09-12 2016-03-17 Xerox Corporation System for domain adaptation with a domain-specific class means classifier
US9384450B1 (en) 2015-01-22 2016-07-05 International Business Machines Corporation Training machine learning models for open-domain question answering system
US10909329B2 (en) 2015-05-21 2021-02-02 Baidu Usa Llc Multilingual image question answering
CN105302884B (zh) 2015-10-19 2019-02-19 天津海量信息技术股份有限公司 基于深度学习的网页模式识别方法及视觉结构学习方法
CN105955709B (zh) 2016-04-16 2018-02-27 浙江大学 基于机器学习的预取能效优化自适应装置及方法
US20190188566A1 (en) * 2016-08-25 2019-06-20 Google Llc Reward augmented model training
WO2018126213A1 (en) * 2016-12-30 2018-07-05 Google Llc Multi-task learning using knowledge distillation

Also Published As

Publication number Publication date
US11144718B2 (en) 2021-10-12
GB201913722D0 (en) 2019-11-06
GB2574555A (en) 2019-12-11
JP2020509486A (ja) 2020-03-26
JP7089330B2 (ja) 2022-06-22
CN110337645B (zh) 2023-06-06
US20180247221A1 (en) 2018-08-30
CN110337645A (zh) 2019-10-15
WO2018158626A1 (en) 2018-09-07

Similar Documents

Publication Publication Date Title
DE112017006151T5 (de) Anpassbare Verarbeitungskomponenten
Rudkowsky et al. More than bags of words: Sentiment analysis with word embeddings
Corman et al. Studying complex discursive systems. Centering resonance analysis of communication
DE112018004376T5 (de) Schützen kognitiver systeme vor auf gradienten beruhenden angriffen durch die verwendung irreführender gradienten
DE102019001267A1 (de) Dialogartiges System zur Beantwortung von Anfragen
DE102013205737A1 (de) System und Verfahren zum automatischen Erkennen und interaktiven Anzeigen von Informationen über Entitäten, Aktivitäten und Ereignisse aus multimodalen natürlichen Sprachquellen
WO2015113578A1 (de) Verfahren zur automatischen sinnerkennung und messung der eindeutigkeit von text
DE112017007530T5 (de) Entitätsmodell-erstellung
DE112020005268T5 (de) Automatisches erzeugen von schema-annotationsdateien zum umwandeln von abfragen in natürlicher sprache in eine strukturierte abfragesprache
DE112020002129T5 (de) Deep-learning-ansatz für datenverarbeitungsspannen
Saikh et al. Scienceqa: A novel resource for question answering on scholarly articles
DE212021000356U1 (de) Erzeugen einer gestuften Textformatierung für elektronische Dokumente und Anzeigen
DE112018005272T5 (de) Suchen von mehrsprachigen dokumenten auf grundlage einer extraktion der dokumentenstruktur
DE112020003538T5 (de) Kreuzmodale wiedergewinnung mit wortüberlappungsbasiertem clustern
Popping Online tools for content analysis
Bakari et al. A novel semantic and logical-based approach integrating RTE technique in the Arabic question–answering
DE112021006602T5 (de) Verfeinern von abfrage-erzeugungsmustern
DE112020004417T5 (de) Selektives tiefes parsing von inhalten in natürlicher sprache
Kangavari et al. A new model for question answering systems
DE112020002740T5 (de) Erkennen von stimmungen unter verwenden von medizinischen hinweisen
Alotaibi et al. Hybrid approach for automatic short answer marking
Panditharathna et al. Question and answering system for investment promotion based on nlp
Schomacker Application of Transformer-based Methods to Latin Text Analysis
Tadayon et al. Using grounded theory to validate Bachman and Palmer’s (1996) strategic competence in EFL graph-writing
Kaminskiy et al. Building a graph of a sequence of text units to create a sentence generation system

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: G06F0017300000

Ipc: G06N0020000000

R084 Declaration of willingness to licence