-
Technisches Gebiet
-
Die vorliegende Offenbarung betrifft ein durch einen Computer implementiertes Verfahren zur Ground-Truth-Erzeugung (ground-truth generation).
-
HINTERGRUND
-
Die vorliegende Offenbarung betrifft außerdem ein entsprechendes System, ein entsprechendes Computerprogrammprodukt und eine entsprechende Benutzerschnittstelle.
-
Bei Abfragen in natürlicher Sprache (Natural Language Querying, NLQ) handelt es sich um einen wissenschaftlichen Bereich, der untersucht, wie Maschinen unter Verwenden von natürlicher Sprache abgefragt werden können. Um eine Abfrage in natürlicher Sprache auszuführen, benötigt man im Allgemeinen ein Datenmodell, eine formale Datenabfragesprache in diesem Datenmodell und ein Verfahren, um die Abfrage in natürlicher Sprache in eine formale Datenabfragesprache zu übersetzen. Eine formale Datenabfragesprache kann auch als maschinelle Datenabfragesprache bezeichnet werden.
-
Die am häufigsten verwendete Datenstruktur zum Darstellen von Wissen sind Wissensgraphen (knowledge graphs). Wissensgraphen weisen Knoten auf, die Entitäten darstellen, und Verbindungen zwischen Knoten, die Fakten oder Beziehungen darstellen können.
-
In den letzten Jahrzehnten wurden verschiedene Typen von formalen Datenabfragesprachen entwickelt, um diese Wissensgraphen abzufragen. Zu Beispielen für solche Abfragesprachen gehören SPARQL, Cypher (neo4j) und Gremlin (Apache Tinkerpop™).
-
Diese Abfragesprachen haben gemeinsam, dass eine Abfrage in der Regel aus einem begrenzten Satz von Operationsprimitiven auf niedriger Ebene (low-level operation primitives) zusammengesetzt werden muss. Ein Definieren solcher Abfragen erfordert in der Regel detaillierte Kenntnisse der Abfragesprache und ihrer Syntax, was ihren Anwendungsbereich einschränkt.
-
Ein anderer Lösungsansatz besteht darin, Techniken des maschinellen Lernens zu verwenden, um Abfragen in natürlicher Sprache in formale oder maschinelle Datenabfragesprachen zu übersetzen. Solche Lösungsansätze benötigen Ground-Truth-Daten als Trainingsdaten.
-
Daher besteht in der Technik ein Bedarf, das oben genannte Problem anzugehen.
-
KURZDARSTELLUNG
-
Unter einem ersten Aspekt stellt die vorliegende Erfindung ein durch einen Computer implementiertes Verfahren zum Erzeugen von Ground Truth für Abfragen in natürlicher Sprache bereit, wobei das Verfahren aufweist: Bereitstellen eines Wissensgraphen als Datenmodell; Empfangen einer Abfrage in natürlicher Sprache von einem Benutzer; Übersetzen der Abfrage in natürlicher Sprache in eine formale Datenabfrage; Sichtbarmachen der formalen Datenabfrage für den Benutzer; Empfangen einer Rückmeldungsantwort vom Benutzer, wobei die Rückmeldungsantwort eine geprüfte und/oder bearbeitete formale Datenabfrage aufweist; und Speichern der Abfrage in natürlicher Sprache und der entsprechenden Rückmeldungsantwort als Ground-Truth-Paar.
-
Unter einem weiteren Aspekt stellt die vorliegende Erfindung ein Computersystem zum Ausführen eines durch einen Computer implementierten Verfahrens zum Erzeugen von Ground Truth für Abfragen in natürlicher Sprache bereit, wobei das System eine Verarbeitungseinheit, ein Speichersystem und eine Benutzerschnittstelle aufweist, die eine Eingabeeinheit und eine Anzeige aufweist, wobei das System konfiguriert ist zum: Speichern eines Wissensgraphen als Datenmodell im Speichersystem; Empfangen einer Abfrage in natürlicher Sprache über die Benutzerschnittstelle; Übersetzen der Abfrage in natürlicher Sprache in eine formale Datenabfrage; Sichtbarmachen der formalen Datenabfrage auf der Anzeige; Empfangen einer Rückmeldungsantwort von einem Benutzer über die Eingabeeinheit, wobei die Rückmeldungsantwort eine geprüfte und/oder bearbeitete formale Datenabfrage aufweist; und Speichern der Abfrage in natürlicher Sprache und der entsprechenden Rückmeldungsantwort als Ground-Truth-Paar im Speichersystem.
-
Unter einem weiteren Aspekt stellt die vorliegende Erfindung ein Computerprogrammprodukt zum Ausführen eines durch einen Computer implementierten Verfahrens zum Erzeugen von Ground Truth für Abfragen in natürlicher Sprache bereit, wobei das Computerprogrammprodukt ein durch einen Computer lesbares Speichermedium aufweist, das von einer Verarbeitungsschaltung gelesen werden kann und Befehle zum Ausführen durch die Verarbeitungsschaltung speichert, um ein Verfahren zum Ausführen der Schritte der Erfindung auszuführen.
-
Unter einem weiteren Aspekt stellt die vorliegende Erfindung ein Computerprogramm bereit, das auf einem durch einen Computer lesbaren Medium gespeichert ist und in den internen Speicher eines digitalen Computers geladen werden kann, das Softwarecodeabschnitte aufweist, um bei Ausführen des Programms auf einem Computer die Schritte der Erfindung auszuführen.
-
Unter einem weiteren Aspekt stellt die vorliegende Erfindung eine Benutzerschnittstelle bereit, die eine Anzeige und eine Eingabeeinheit aufweist, wobei die Benutzerschnittstelle konfiguriert ist zum: Empfangen einer Abfrage in natürlicher Sprache von einem Benutzer; Übermitteln der Abfrage in natürlicher Sprache an ein Übersetzungsmodul; Empfangen einer formalen Datenabfrage von dem Übersetzungsmodul, wobei es sich bei der formalen Datenabfrage um eine Übersetzung der Abfrage in natürlicher Sprache in eine formalen Sprache handelt; Sichtbarmachen der formalen Datenabfrage auf der Anzeige; Empfangen einer Rückmeldungsantwort vom Benutzer, wobei die Rückmeldungsantwort eine geprüfte und/oder bearbeitete formale Datenabfrage aufweist; und Bereitstellen der Abfrage in natürlicher Sprache und der entsprechenden Rückmeldungsantwort als Ground-Truth-Paar.
-
Unter einem ersten Aspekt ist die Erfindung als ein durch einen Computer implementiertes Verfahren zum Erzeugen von Ground Truth für Abfragen in natürlicher Sprache verkörpert. Das Verfahren weist Schritte des Bereitstellens eines Wissensgraphen als Datenmodell, des Empfangens einer Abfrage in natürlicher Sprache von einem Benutzer und des Übersetzens der Abfrage in natürlicher Sprache in eine formale Datenabfrage auf. Außerdem weist das Verfahren die Schritte des Sichtbarmachens der formalen Datenabfrage für den Benutzer und des Empfangens einer Rückmeldungsantwort vom Benutzer auf. Die Rückmeldungsantwort weist eine geprüfte und/oder bearbeitete formale Datenabfrage auf. Das Verfahren weist einen weiteren Schritt des Speicherns der Abfrage in natürlicher Sprache und der entsprechenden Rückmeldungsantwort als Ground-Truth-Paar auf.
-
Solche Verfahren gemäß Ausführungsformen der Erfindung können verwendet werden, um auf leistungsfähige Weise Ground Truth für Abfragen in natürlicher Sprache in Wissensgraphen zu erzeugen. Verfahren gemäß den Ausführungsformen der Erfindung verwenden einen visuellen Programmieransatz, um Ground Truth für Abfragen in natürlicher Sprache zu erzeugen. Insbesondere wird die formale Datenabfrage, die aus der Abfrage in natürlicher Sprache übersetzt wurde, dem Benutzer in visueller Form bereitgestellt. Die Ground Truth wird in Paaren bereitgestellt, die die eingegebene Abfrage in natürlicher Sprache und die entsprechende Rückmeldungsantwort aufweisen. Bei der Rückmeldungsantwort kann es sich zum einen um eine geprüfte formale Datenabfrage handeln. Eine solche geprüfte formale Datenabfrage zeigt an, dass der jeweilige Benutzer bestätigt hat, dass die dargestellte formale Datenabfrage korrekt ist oder, mit anderen Worten, seiner Absicht oder seinem Verständnis der Abfrage in natürlicher Sprache entspricht. Andererseits kann es sich bei der Rückmeldungsantwort um eine bearbeitete formale Datenabfrage handeln, insbesondere eine korrigierte formale Datenabfrage. In einer solchen bearbeiteten formalen Datenabfrage kann der Benutzer die dargestellte formale Datenabfrage bearbeiten, ergänzen und/oder korrigieren, wenn die dargestellte formale Datenabfrage nicht korrekt ist oder nicht seiner Absicht oder seinem Verständnis der Abfrage in natürlicher Sprache entspricht.
-
Gemäß Ausführungsformen ist unter einer formalen Datenabfrage eine Datenabfrage zu verstehen, die das Format oder die Form einer formalen oder maschinellen Datenabfragesprache hat. Daher kann eine formale Datenabfrage auch als maschinelle Datenabfrage bezeichnet werden. Abfragesprachen oder Datenabfragesprachen (DQLs) können allgemein als Computersprachen definiert werden, die für Abfragen in Datenbanken und Informationssystemen verwendet werden können. Im Gegensatz zu Abfragen in natürlicher Sprache sind sie entwickelt worden, um Anweisungen an Datenbanken und Informationssysteme zu übermitteln, und bestehen in der Regel aus einem Satz von Operatoren oder Operationsprimitiven.
-
Gemäß einer Ausführungsform der Erfindung weist ein Übersetzen der Abfrage in natürlicher Sprache in eine formale Datenabfrage die Schritte des Übermittelns der Abfrage in natürlicher Sprache an ein Workflow-Modell und des Berechnens eines Workflow-Graphen als formale Datenabfrage durch das Workflow-Modell auf.
-
Ein solches Workflow-Modell empfängt die Abfrage in natürlicher Sprache als Eingabe und liefert den Workflow-Graphen als Ausgabe. Der Workflow-Graph erstellt eine visuelle Darstellung des Workflow, der vom Workflow-Modell für die jeweilige Übersetzung der Abfrage in natürlicher Sprache in die formale Datenanfrage verwendet wurde. Der Workflow-Graph kann insbesondere als gerichteter azyklischer Graph dargestellt sein. Der Workflow-Graph kann eine Mehrzahl von Operatoren oder, mit anderen Worten, Operationsprimitiven aufweisen, insbesondere einen Eingabeoperator, der insbesondere eine Suche nach einem bestimmten Typ von Eingabeknoten ausführen kann, einen Kantenüberquerungs-Operator (edge traversal operator), einen Knotenfilterungs-Operator (node filtering operator), einen Knotenreihungs-Operator (node ranking operator), logische Operatoren wie „UND“ und „ODER“ sowie einen Ausgabeoperator.
-
Gemäß einer Ausführungsform der Erfindung kann das Ground-Truth-Paar in einem maschinellen Lernalgorithmus verwendet werden, um das Workflow-Modell zu trainieren. Ein solches Training verbessert das Workflow-Modell sowie die entsprechende Übersetzung und die Antworten auf Abfragen in natürlicher Sprache in zukünftigen Inferenzphasen des trainierten Workflow-Modells.
-
Gemäß Ausführungsformen kann die formale Datenabfrage in einem visuellen Programmierwerkzeug dargestellt werden. Das visuelle Programmierwerkzeug kann so konfiguriert sein, dass es eine Testfunktionalität zum Testen der Abfrage in natürlicher Sprache bereitstellt. Mit anderen Worten, der Benutzer kann die Abfrage in natürlicher Sprache eingeben, und die Verfahren stellen die entsprechende Ausgabe bereit, d.h. die Ergebnisse der Abfrage in natürlicher Sprache zusammen mit der visuellen Darstellung der formalen Datenabfrage.
-
Darüber hinaus kann das visuelle Programmierwerkzeug gemäß Ausführungsformen so konfiguriert sein, dass es eine Bearbeitungsfunktionalität zum visuellen Bearbeiten der formalen Datenabfrage bereitstellt. Eine solche Bearbeitungsfunktionalität stellt ein Bearbeitungswerkzeug bereit, mit dem die visualisierte formale Datenabfrage bearbeitet, korrigiert, geändert und/oder ergänzt werden kann.
-
Gemäß Ausführungsformen kann ein Übersetzen der natürlichsprachlichen Abfrage in eine formale Datenabfrage einen Schritt eines Ermittelns von einem oder mehreren Typen von Eingabeknoten des Wissensgraphen in der natürlichsprachlichen Abfrage und einen Schritt eines Ermittelns von einem oder mehreren Typen von Ausgabeknoten des Wissensgraphen in der natürlichsprachlichen Abfrage aufweisen. Gemäß Ausführungsformen kann das Verfahren einen Schritt eines Berechnens von einem oder mehreren Suchpfaden durch den Wissensgraphen zwischen dem einen oder mehreren Typen von Eingabeknoten und dem einen oder mehreren Typen von Ausgabeknoten aufweisen. Das Berechnen des einen oder mehrerer Suchpfade kann gemäß Ausführungsformen durch einen Breitensuchalgorithmus (breadth-first-search algorithm) ausgeführt werden.
-
Gemäß Ausführungsformen weist das Berechnen des einen oder mehrerer Suchpfade die Schritte des Bereitstellens der natürlichsprachlichen Abfrage als Eingabe einer Zeichenfolge in einen Klassifikator für natürliche Sprache (natural language classifier) und des Berechnens des einen oder mehrerer Typen von Eingabeknoten und des einen oder mehrerer Typen von Ausgabeknoten durch den Klassifikator für natürliche Sprache auf. Das Verwenden solcher Klassifikatoren für natürliche Sprache ist ein leistungsfähiger und zuverlässiger Lösungsansatz.
-
Gemäß einem weiteren Aspekt ist die Erfindung als ein Computersystem zum Ausführen eines durch einen Computer implementierten Verfahrens zum Erzeugen von Ground Truth für Abfragen in natürlicher Sprache verkörpert. Das System weist eine Verarbeitungseinheit, ein Speichersystem und eine Benutzerschnittstelle auf, die eine Eingabeeinheit und eine Anzeige aufweist. Das System ist so konfiguriert, dass es einen Wissensgraphen als Datenmodell in dem Speichersystem speichert, über die Benutzerschnittstelle eine Abfrage in natürlicher Sprache empfängt und die Abfrage in natürlicher Sprache in eine formale Datenabfrage übersetzt. Das System ist außerdem so konfiguriert, dass es die formale Datenabfrage auf der Anzeige sichtbar macht und über die Eingabeeinheit eine Rückmeldungsantwort von einem Benutzer empfängt. Die Rückmeldungsantwort weist eine geprüfte und/oder bearbeitete formale Datenabfrage auf. Das System ist außerdem so konfiguriert, dass es die Abfrage in natürlicher Sprache und die entsprechende Rückmeldungsantwort als Ground-Truth-Paar im Speichersystem speichert.
-
Gemäß einem weiteren Aspekt der Erfindung wird ein Computerprogrammprodukt zum Ausführen eines durch einen Computer implementierten Verfahrens zum Erzeugen von Ground Truth für Abfragen in natürlicher Sprache in einem Datenverarbeitungssystem bereitgestellt. Das Computerprogrammprodukt weist ein durch einen Computer lesbares Speichermedium mit darin enthaltenen Programmanweisungen auf, wobei die Programmanweisungen durch das System ausgeführt werden können, um das System zu veranlassen, ein Verfahren auszuführen, das aufweist: Bereitstellen eines Wissensgraphen als Datenmodell, Empfangen einer Abfrage in natürlicher Sprache von einem Benutzer, Übersetzen der natürlichsprachlichen Abfrage in eine formale Datenabfrage, Sichtbarmachen der formalen Datenabfrage für den Benutzer, Empfangen einer Rückmeldungsantwort vom Benutzer und Bereitstellen der Abfrage in natürlicher Sprache und der entsprechenden Rückmeldungsantwort als Ground-Truth-Paar.
-
Gemäß einem weiteren Aspekt der Erfindung wird eine Benutzerschnittstelle bereitgestellt, die eine Anzeige und eine Eingabeeinheit aufweist. Die Benutzerschnittstelle ist so konfiguriert, dass sie eine Abfrage in natürlicher Sprache von einem Benutzer empfängt, die Abfrage in natürlicher Sprache an ein Übersetzungsmodul übermittelt und eine formale Datenabfrage von dem Übersetzungsmodul empfängt. Bei der formalen Datenabfrage handelt es sich um eine Übersetzung der natürlichsprachlichen Abfrage in eine formale Sprache. Die Benutzerschnittstelle ist außerdem so konfiguriert, dass sie die formale Datenabfrage auf der Anzeige darstellt, eine Rückmeldungsantwort vom Benutzer empfängt und die Abfrage in natürlicher Sprache und die entsprechende Rückmeldungsantwort als Ground-Truth-Paar bereitstellt.
-
Ausführungsformen der Erfindung werden im Folgenden anhand von veranschaulichenden und nichteinschränkenden Beispielen unter Bezugnahme auf die beigefügten Zeichnungen ausführlicher beschrieben.
-
Figurenliste
-
Die vorliegende Erfindung wird nun lediglich beispielhaft unter Bezugnahme auf bevorzugte Ausführungsformen beschrieben, wie sie in den folgenden Figuren veranschaulicht werden:
- 1 zeigt ein schematisches Blockschaltbild eines Computersystems gemäß einer Ausführungsform der Erfindung;
- 2 zeigt ein funktionelles Blockschaubild, das Funktionsblöcke eines Computersystems zum Ausführen eines durch einen Computer implementierten Verfahrens zum Erzeugen von Ground Truth für Abfragen in natürlicher Sprache veranschaulicht;
- 3 zeigt einen Ablaufplan von Verfahrensschritten eines durch einen Computer implementierten Verfahrens zum Erzeugen von Ground Truth für Abfragen in natürlicher Sprache gemäß einer Ausführungsform der Erfindung;
- 4a zeigt einen beispielhaften Wissensgraphen, der als Datenmodell für eine Abfrage in natürlicher Sprache verwendet wird;
- 4b zeigt ein Beispiel einer Abfrage in natürlicher Sprache;
- 4c zeigt, wie der Wissensgraph aus 4a verwendet wird, um die Abfrage in natürlicher Sprache in eine formale Datenabfrage zu übersetzen;
- 4d zeigt ein Bildschirmlayout, das einen Workflow-Graphen aufweist;
- 4e s zeigt ein Bildschirmlayout, das einen bearbeiteten Workflow-Graphen aufweist;
- 5a zeigt einen weiteren beispielhaften Wissensgraphen;
- 5b zeigt ein Beispiel einer Abfrage in natürlicher Sprache;
- 5c veranschaulicht eine Verwendung des Wissensgraphen aus 5a zum Übersetzen der Abfrage in natürlicher Sprache in eine formale Datenabfrage;
- 5d zeigt ein Bildschirmlayout, das einen Workflow-Graphen aufweist; und
- 5e zeigt ein Bildschirmlayout, das einen bearbeiteten Workflow-Graphen aufweist.
-
AUSFÜHRLICHE BESCHREIBUNG
-
Unter Bezugnahme auf die 1 bis 5e werden einige allgemeine Aspekte und Begriffe von Ausführungsformen der Erfindung beschrieben.
-
Ausführungsformen der Erfindung stellen ein durch einen Computer implementiertes Verfahren bereit, um auf leistungsfähige Weise Ground Truth für Abfragen in natürlicher Sprache zu erzeugen.
-
Der Begriff „Ground Truth“ kann sich im Allgemeinen auf Informationen beziehen, die durch direkte Beobachtung (d.h. empirische Beweise) gewonnen werden, im Gegensatz zu Informationen, die durch Schlussfolgerungen gewonnen werden.
-
Bei einem Graphen gemäß Ausführungsformen der Erfindung handelt es sich um ein System zur Wissensdarstellung, das eine Mehrzahl von Knoten und eine Mehrzahl von Kanten zwischen den Knoten aufweist. Daher kann ein Graph als Wissensgraph dargestellt werden. Die Mehrzahl von Knoten kann verschiedene Knotentypen umfassen. Die Mehrzahl von Knoten kann Informationen über Informationselemente zwischenspeichern. Die Mehrzahl von Kanten kennzeichnet bestimmte Beziehungen zwischen Knoten.
-
Insbesondere ist eine Instanziierung eines Graphen oder Wissensgraphen KG eine Menge von Tripletts KG{V,E}, wobei der Satz V eine Anzahl von Knoten enthält, die einen Typ aus einem zulässigen Satz von Typen haben. Der Satz E enthält Kanten aus einer Kantentypliste, die Paare von Knoten aus dem Satz V verbinden. Die zugrunde liegende mathematische Struktur des KG ist ein gerichteter oder ungerichteter Graph {V, E}, in dem die Typen der Knoten und Kanten durch ein numerisches Gewichtungsschema dargestellt werden können.
-
Bei Wissensgraphen handelt es sich um ein sehr generisches Datenmodell, da sie keinerlei Datenschema benötigen und sehr flexibel sind, was Änderungen, Aktualisierungen usw. angeht.
-
Ausführungsformen der Erfindung ermöglichen es Benutzern, Abfragen in natürlicher Sprache mit erweiterten Funktionalitäten zu stellen. Insbesondere kann der Benutzer nicht nur die Antwort auf die jeweilige Abfrage in natürlicher Sprache sehen, sondern auch den internen Workflow über einen Wissensgraphen, der zu diesen Antworten geführt hat, einsehen, prüfen und manuell bearbeiten. Dadurch wird Ground Truth erzeugt, die zum Verbessern der Antworten auf künftige Abfragen verwendet werden kann.
-
Unter Bezugnahme auf 1 wird nun ein Blockschaltbild eines Computersystems 100 veranschaulicht. Das Computersystem 100 kann so konfiguriert sein, dass es ein durch einen Computer implementiertes Verfahren zum Erzeugen von Ground Truth für Abfragen in natürlicher Sprache ausführt. Das Computersystem 100 kann mit zahlreichen anderen Universal- oder Spezial-Datenverarbeitungsumgebungen oder-konfigurationen betrieben werden. Zu Beispielen bekannter Datenverarbeitungssysteme, -umgebungen und/oder -konfigurationen, die für ein Verwenden mit dem Computersystem 100 geeignet sein können, gehören, jedoch ohne auf diese beschränkt zu sein, Personal-Computer-Systeme, Server-Computersysteme, Thin-Clients, Thick-Clients, tragbare oder Laptop-Geräte, Multiprozessorsysteme, auf Mikroprozessoren beruhende Systeme, Set-Top-Boxen, programmierbare Unterhaltungselektronik, Netzwerk-PCs, Minicomputersysteme, Großrechnersysteme und verteilte Cloud-Computing-Umgebungen, die beliebige der oben genannten Systeme oder Geräte umfassen, und dergleichen.
-
Das Computersystem 100 kann im allgemeinen Kontext von durch ein Computersystem ausführbaren Anweisungen, wie z.B. durch ein Computersystem ausgeführten Programmmodulen, beschrieben werden. Im Allgemeinen können Programmmodule Routinen, Programme, Objekte, Komponenten, Logik, Datenstrukturen usw. umfassen, die bestimmte Aufgaben ausführen oder bestimmte abstrakte Datentypen implementieren. Das Computersystem 100 ist in Form einer Universal-Datenverarbeitungseinheit gezeigt. Zu den Komponenten des Computersystems 100 können, jedoch ohne auf diese beschränkt zu sein, ein oder mehrere Prozessoren oder Verarbeitungseinheiten 116, ein Systemspeicher 128 und ein Bus 118 gehören, der verschiedene Systemkomponenten einschließlich des Systemspeichers 128 mit dem Prozessor 116 verbindet.
-
Der Bus 118 stellt einen oder mehrere von beliebigen Typen von Busstrukturen dar, darunter ein Speicherbus oder eine Speichersteuereinheit, ein peripherer Bus, ein beschleunigter Grafikanschluss und ein Prozessor oder ein lokaler Bus unter Verwenden einer beliebigen aus einer Vielfalt von Busarchitekturen. Beispielsweise und ohne Einschränkung gehören zu diesen Architekturen der Industry Standard Architecture- (ISA-) Bus, der Micro Channel Architecture- (MCA-) Bus, der Enhanced ISA- (EISA-) Bus, der lokale Video Electronics Standards Association (VESA-) Bus und der Peripheral Component Interconnect- (PCI-) Bus.
-
Das Computersystem 100 umfasst in der Regel eine Vielfalt von durch ein Computersystem lesbaren Medien. Bei diesen Medien kann es sich um alle verfügbaren Medien handeln, auf die das Computersystem 100 zugreifen kann, und sie umfassen sowohl flüchtige als auch nichtflüchtige Medien, austauschbare und nichtaustauschbare Medien.
-
Der Systemspeicher 128 kann durch einen Computer lesbare Medien in Form eines flüchtigen Speichers umfassen, beispielsweise einen Direktzugriffsspeicher (RAM) 130 und/oder einen Cache 132. Das Computersystem 100 kann auch andere austauschbare/nichtaustauschbare, flüchtige/nichtflüchtige Computersystem-Speichermedien umfassen. Lediglich beispielhaft kann ein Speichersystem 134 zum Lesen aus einem und Schreiben auf ein nichtaustauschbares, nichtflüchtiges magnetisches Medium (nicht gezeigt und üblicherweise als „Festplatte“ bezeichnet) bereitgestellt werden. Obwohl nicht gezeigt, können ein Magnetplattenlaufwerk zum Lesen und Beschreiben einer austauschbaren, nichtflüchtigen Magnetplatte (z B. einer „Diskette“) und ein optisches Plattenlaufwerk zum Lesen und Beschreiben einer austauschbaren, nichtflüchtigen optischen Platte wie einer CD-ROM, DVD-ROM oder eines anderen optischen Mediums bereitgestellt werden. In solchen Fällen können beide über eine oder mehrere Datenträgerschnittstellen mit dem Bus 118 verbunden werden. Wie im Folgenden dargestellt und beschrieben wird, kann der Speicher 128 mindestens ein Programmprodukt mit einem Satz (z.B. mindestens einem) von Programmmodulen umfassen, die so konfiguriert sind, dass sie die Funktionen von Ausführungsformen der Erfindung ausführen.
-
Ein Programm/Dienstprogramm 140 mit einem Satz (mindestens einem) von Programmmodulen 142, kann beispielhaft und ohne Einschränkung im Speicher 128 gespeichert werden, ebenso wie ein Betriebssystem, ein oder mehrere Anwendungsprogramme, andere Programmmodule und Programmdaten. Die Programmmodule 142 können ein Übersetzungsmodul 142a und ein Trainingsmodul 142b umfassen. Das Betriebssystem, ein oder mehrere Anwendungsprogramme, andere Programmmodule und Programmdaten und/oder eine Kombination davon kann eine Implementierung einer Netzwerkumgebung umfassen. Die Programmmodule 142 führen im Allgemeinen die Funktionen und/oder Methodiken von Ausführungsformen der Erfindung aus, wie sie hierin beschrieben werden. Die Programmmodule 142 können insbesondere einen oder mehrere Schritte eines durch einen Computer implementierten Verfahrens zum Erzeugen von Ground Truth für Abfragen in natürlicher Sprache ausführen, z.B. einen oder mehrere Schritte der im Folgenden beschriebenen Verfahren.
-
Das Computersystem 100 kann auch mit einer oder mehreren externen Einheiten 115 Daten austauschen, beispielsweise mit einer Eingabeeinheit 125, einer Zeigereinheit, einer Anzeige 124 usw.; einer oder mehreren Einheiten, die es einem Benutzer ermöglichen, mit dem Computersystem 100 zu interagieren; und/oder beliebigen Einheiten (z.B. Netzwerkkarte, Modem usw.), die es dem Computersystem 100 ermöglichen, mit einer oder mehreren anderen Datenverarbeitungseinheiten Daten auszutauschen. Ein solcher Datenaustausch kann über Ein/Ausgabe- (E/A-) Schnittstellen 122 erfolgen. Das Computersystem 100 kann über einen Netzwerkadapter 120 mit einem oder mehreren Netzwerken wie etwa einem lokalen Netzwerk (LAN), einem allgemeinen Weitverkehrsnetzwerk (WAN) und/oder einem öffentlichen Netzwerk (z.B. dem Internet) Daten austauschen. Wie dargestellt wird, tauscht der Netzwerkadapter 120 über den Bus 118 mit den anderen Komponenten des Computersystems 100 Daten aus. Es versteht sich von selbst, dass, obwohl nicht gezeigt, andere Hardware- und/oder Software-Komponenten in Verbindung mit dem Computersystem 100 verwendet werden können. Zu Beispielen gehören, jedoch ohne auf diese beschränkt zu sein: Mikrocode, Einheitentreiber, redundante Verarbeitungseinheiten, externe Festplattenanordnungen, RAID-Systeme, Bandlaufwerke und Datenarchivierungssysteme usw. Die Eingabeeinheit 125, z.B. eine Tastatur, und die Anzeige 124 bilden eine Benutzerschnittstelle 126.
-
2 zeigt ein funktionelles Blockschaubild, das die Funktionsblöcke eines Computersystems 200 zum Ausführen eines durch einen Computer implementierten Verfahrens zum Erzeugen von Ground Truth für Abfragen in natürlicher Sprache veranschaulicht.
-
Das System 200 ist so konfiguriert, dass es eine Abfrage 210 in natürlicher Sprache als Eingabe empfängt, z.B. von einem Benutzer über eine Eingabeeinheit wie etwa die in 1 gezeigte Eingabeeinheit 125.
-
Die Abfrage 210 in natürlicher Sprache wird sodann als Eingabe einem Workflow-Modell 220 zugeführt. Das Workflow-Modell 220 übersetzt die natürlichsprachliche Abfrage 210 in eine formale Datenabfrage. Insbesondere berechnet es einen Workflow-Graphen 230 als formale Datenabfrage. Der Workflow-Graph wird dann dem Benutzer angezeigt, und der Benutzer kann einen bearbeiteten Workflow-Graphen 240 als Rückmeldungsantwort bereitstellen. Die Abfrage 210 in natürlicher Sprache und der entsprechende bearbeitete Workflow-Graph 240 bilden zusammen ein Ground-Truth-Paar 250. Das Ground-Truth-Paar 250 kann sodann von einem Algorithmus 260 für maschinelles Lernen verwendet werden, um das Workflow-Modell 220 zu aktualisieren und zu verbessern.
-
3 zeigt einen Ablaufplan von Verfahrensschritten eines durch einen Computer implementierten Verfahrens zum Erzeugen von Ground Truth für Abfragen in natürlicher Sprache gemäß einer Ausführungsform der Erfindung. Das Verfahren kann z.B. durch das System 100 von 1 ausgeführt werden und wird daher im Folgenden unter Bezugnahme auf die Komponenten des Systems von 1 beschrieben. Das Verfahren kann insbesondere unter der Steuerung des Übersetzungsmoduls 142a durchgeführt werden, das auf dem System 100 ausgeführt wird.
-
In einem Schritt 310 wird ein Wissensgraph als Datenmodell bereitgestellt. Der Wissensgraph kann z.B. im Speichersystem 134 des Computersystems 100 gespeichert werden.
-
In einem Schritt 320 wird eine Abfrage in natürlicher Sprache (NLQ) von einem Benutzer des Computersystems 100 z.B. über die Eingabeeinheit 125 empfangen.
-
In einem Schritt 330 werden ein oder mehrere Typen von Eingabeknoten und ein oder mehrere Typen von Ausgabeknoten in der empfangenen natürlichsprachlichen Abfrage rechnerisch ermittelt. Dies kann insbesondere dadurch ausgeführt werden, dass die Abfrage in natürlicher Sprache als Eingabe von Zeichenfolgen an einen Klassifikator für natürliche Sprache übermittelt wird. Der Klassifikator für natürliche Sprache kann sodann den einen oder mehrere Typen von Eingabeknoten und den einen oder mehrere Typen von Ausgabeknoten berechnen. Der Klassifikator für natürliche Sprache kann z.B. Klassifizierungsmethoden für Zeichenfolgen und/oder Sequenz-zu-Sequenz-Modelle verwenden.
-
In einem Schritt 340 werden die ermittelten Eingabeknoten und Ausgabeknoten einem Workflow-Modell zugeführt.
-
Das Workflow-Modell berechnet in einem Schritt 350 einen Workflow-Graphen. Der Workflow-Graph erstellt eine formale oder maschinelle Datenabfrage der Abfrage in natürlicher Sprache.
-
Dementsprechend führen die Schritte 330 bis 350 eine Übersetzung der empfangenen natürlichsprachlichen Abfrage in die formale Datenabfrage aus, die als Workflow-Graph verkörpert ist.
-
In einem Schritt 360 wird der Workflow-Graph für den Benutzer sichtbar gemacht, z.B. durch Anzeigen auf der Anzeige 124 des Computersystems 100.
-
Der Benutzer kann sodann den angezeigten Workflow-Graphen visuell betrachten und überprüfen. Insbesondere kann der Benutzer prüfen, ob der Workflow-Graph und die Ergebnisse der von ihm gewünschten Bedeutung und Absicht der Anfrage in natürlicher Sprache entsprechen.
-
In einem Schritt 370 kann der Benutzer dann den Workflow-Graphen bearbeiten und dadurch dem System 100 eine Rückmeldung in Form einer Rückmeldungsantwort übermitteln, z.B. über die Eingabeeinheit 125. Die Rückmeldungsantwort kann insbesondere einen bearbeiteten Workflow-Graphen aufweisen.
-
In einem Schritt 380 kann das System 100 die Rückmeldungsantwort, insbesondere die Bearbeitungen des Workflow-Graphen und die entsprechende Abfrage in natürlicher Sprache als Ground-Truth-Paare speichern. Die Ground-Truth-Paare können z.B. im Speichersystem 134 des Computersystems 100 gespeichert werden.
-
Das Ground-Truth-Paar kann sodann in einem Schritt 390 zum Trainieren des Workflow-Modells verwendet werden, um die Antworten des Systems 100 für künftige Abfragen in natürlicher Sprache zu verbessern.
-
Die 4a bis 4e veranschaulichen ein Beispiel eines durch einen Computer implementierten Verfahrens zum Erzeugen von Ground Truth für Abfragen in natürlicher Sprache gemäß einer Ausführungsform der Erfindung.
-
4a zeigt einen Wissensgraphen 401, der als Datenmodell für die Abfrage in natürlicher Sprache verwendet wird. Gemäß dem dargestellten Beispiel besteht der Wissensgraph 401 aus vier Knoten 1, 2, 3 und 4, einer Kante 12 zwischen den Knoten 1 und 2, einer Kante 14 zwischen den Knoten 1 und 4, einer Kante 13 zwischen den Knoten 1 und 3 und einer Kante 23 zwischen den Knoten 2 und 3. Die Knoten und Kanten wurden in Typen gruppiert, d.h., der Wissensgraph 401 hat einen Satz von Knoten und Kanten eines bestimmten Typs. 4a stellt insbesondere einen „Zitationsgraphen“ („citation-graph“) dar und weist Knoten der folgenden Typen auf: Artikel, Autoren, Themen und Zugehörigkeiten. Die Kanten dieses Graphen haben ebenfalls einen bestimmten Typ, d.h. „Artikel-zu-Artikel“, „Artikel-zu-Autor“, „Artikel-zu-Thema“ und „Autor-zu-Zugehörigkeit“. Der Wissensgraph 401 ist also als Metagraph mit den Knotentypen Artikel, Autoren, Themen und Zugehörigkeiten und den Kantentypen „Artikel-zu-Artikel“, „Artikel-zu-Autor“, „Artikel-zu-Thema“, „Autor-zu-Thema“ und „Autor-zu-Zugehörigkeit“ verkörpert.
-
Gemäß Ausführungsformen kann ein solcher Metagraph als die Topologie des ursprünglichen Wissensgraphen bezeichnet werden, wobei der ursprüngliche Wissensgraph der Wissensgraph ist, aus dem der Metagraph abgeleitet wurde. Die Topologie und damit der Metagraph des ursprünglichen Wissensgraphen ändern sich nicht, solange kein neuer Typ von Knoten in den Wissensgraphen eingefügt wird. Man kann viele weitere Dokumente in den Wissensgraphen einfügen, ohne die Topologie des Metagraphen, d.h. in diesem Beispiel des Zitationsgraphen, zu verändern.
-
Im Allgemeinen können fast alle Wissensgraphen durch eine solche Topologie oder einen solchen Metagraphen beschrieben werden, vorausgesetzt, dass jeder der Knoten und Kanten im Wissensgraphen ein bestimmtes Konzept oder einen bestimmten Typ darstellt.
-
4b zeigt ein Beispiel für eine Abfrage in natürlicher Sprache. In diesem Beispiel lautet die Abfrage in natürlicher Sprache wie folgt: „Wer ist der Experte im Unternehmen A auf dem Gebiet der Künstlichen Intelligenz (KI)“?
-
4c zeigt, wie der Metagraph von 4a zum Übersetzen der natürlichsprachlichen Abfrage 402 in eine formale Datenabfrage verwendet wird. Das Verfahren ermittelt den Knoten 2 (Thema) und den Knoten 4 (Zugehörigkeit) als Eingabeknoten in der natürlichsprachlichen Abfrage 402 und den Knoten 1 (Autor) als Ausgabeknotentyp des Wissensgraphen 401 in der natürlichsprachlichen Abfrage 402. Die ermittelten Typen von Eingabeknoten werden mit einem Wellenmuster und der ermittelte Typ von Ausgabeknoten wird mit einem Schachbrettmuster dargestellt. Die Typen von Eingabeknoten und die Typen von Ausgabeknoten können ermittelt werden, indem die natürlichsprachliche Abfrage 402 als Eingabe von Zeichenfolgen an einen Klassifikator für natürliche Sprache übermittelt wird. Der Klassifikator für natürliche Sprache kann dann aus der Zeichenfolge der natürlichsprachlichen Abfrage 402 Typen von Eingabeknoten und Typen von Ausgabeknoten berechnen.
-
Darüber hinaus berechnet das Computersystem 100 Suchpfade zwischen den Typen von Eingabeknoten und den Typen von Ausgabeknoten. In diesem Beispiel werden ein Suchpfad 410 zwischen dem Knoten 2 vom Typ „Thema“ und dem Knoten 1 vom Typ „Autor“ sowie ein Suchpfad 411 zwischen dem Knoten 4 vom Typ „Zugehörigkeit“ und dem Knoten 1 vom Typ „Autor“ berechnet.
-
4d zeigt ein Bildschirmlayout 403, das z.B. auf der Anzeige 124 von 1 angezeigt werden kann. Das Bildschirmlayout 403 weist einen Workflow-Graphen 420 auf, der als gerichteter azyklischer Graph dargestellt ist. Der Workflow-Graph 420 stellt eine formale Datenabfrage dar, die durch ein Übersetzungsmodul, z.B. durch das Übersetzungsmodul 142a von 1, übersetzt oder, mit anderen Worten, aus der Abfrage 402 in natürlicher Sprache abgeleitet wurde. Das Übersetzungsmodul verwendet ein zugrunde liegendes Workflow-Modell für die Berechnung des Workflow-Graphen 420. Der Workflow-Graph 420 kann eine Mehrzahl von Operatoren oder Operationsprimitiven aufweisen. Solche Operatoren können z.B. einen Eingabeoperator umfassen, der insbesondere eine Suche nach einem bestimmten Typ von Eingabeknoten ausführen kann. Zu weiteren Operatoren gehören ein Kantenüberquerungs-Operator, der eine Kantenüberquerung zwischen zwei verschiedenen Knotentypen ausführen kann, ein Knotenfilterungs-Operator, der Knoten nach einem oder mehreren Kriterien filtert, und ein Knotenreihungs-Operator, der Knoten gemäß einem oder mehreren vordefinierten Kriterien einstuft. Als weitere Beispiele können logische Operatoren wie „UND“ und „ODER“ sowie ein Ausgabeoperator verwendet werden.
-
Der Workflow-Graph 420 weist einen Eingabeoperator 431 auf, der eine „Eingabe in Zugehörigkeit“ („Input in Affiliation“) INA bereitstellt und eine Suche nach „Unternehmen A“ in allen Typen von Eingabeknoten mit dem Typ „Zugehörigkeit“ ausführt. Der Workflow-Graph 420 weist einen weiteren Eingabeoperator 432 auf, der eine „Eingabe in Thema“ („Input in Topic“) INT bereitstellt und eine Suche nach „Künstliche Intelligenz“ in allen Typen von Eingabeknoten mit dem Typ „Thema“ ausführt. Der Workflow-Graph 420 weist einen Kantenüberquerungs-Operator 433 auf, der eine Kantenüberquerung ETAA „Zugehörigkeit-Autor“ zwischen den ermittelten Knoten des Typs „Zugehörigkeit“, die den Begriff „Unternehmen A“ aufweisen, und den entsprechenden Knoten des Typs „Autor“ ausführt. Der Workflow-Graph 420 weist einen weiteren Kantenüberquerungs-Operator 434 auf, der eine Kantenüberquerung ETTA „Thema-Autor“ zwischen den ermittelten Knoten des Typs „Thema“, die den Begriff „Künstliche Intelligenz“ aufweisen, und den entsprechenden Knoten des Typs „Autor“ ausführt. Die Ausgaben des Kantenüberquerungs-Operators 433 und des Kantenüberquerungs-Operators 434 werden dann durch einen „UND“-Operator 435 zusammengeführt, d.h., der „UND“-Operator 435 bildet eine Schnittmenge der Ausgaben des Kantenüberquerungs-Operators 433 und des Kantenüberquerungs-Operators 434. Ein Ausgabeoperator 436 erzeugt dann ein Ergebnis 440 der Abfrage 402 in natürlicher Sprache und zeigt es auf dem Bildschirmlayout 403 an. In diesem Beispiel weist das Ergebnis 440 eine Liste von Autoren „Autor 1, Autor 2, Autor 3“ auf. In diesem Beispiel wird davon ausgegangen, dass das Workflow-Modell das Ergebnis in Form der Liste von Autoren in alphabetischer Reihenfolge anzeigt.
-
Das visuelle Programmierwerkzeug stellt eine Bearbeitungsfunktion bereit, um die formale Datenabfrage visuell zu bearbeiten. In 4d befindet sich das Werkzeug im Bearbeitungsmodus, was durch die fettgedruckte Darstellung des Begriffs „Bearbeiten“ angezeigt wird, der eine Bearbeitungsschaltfläche 450 darstellt. Dies bedeutet, dass der Benutzer den Workflow-Graphen 420 bearbeiten kann, insbesondere durch Löschen, Ändern oder Hinzufügen eines oder mehrerer Operatoren des Workflow-Graphen 420.
-
4e zeigt ein Bildschirmlayout 404, das einen bearbeiteten Workflow-Graphen 421 aufweist. Der Workflow-Graph 421 stellt eine bearbeitete formale Datenabfrage dar, die vom Benutzer nach Betrachten des ursprünglichen Workflow-Graphen 420 bearbeitet wurde. Im Vergleich zum ursprünglichen Workflow-Graphen 420 hat der Benutzer einen Reihungs-Operator (ranking operator) 437 eingefügt. Bei dem Reihungs-Operator 437 kann es sich z.B. um einen Operator handeln, der die Ergebnisse (Autoren) entsprechend der Anzahl von Zitaten ordnet. Dementsprechend war der Benutzer nicht ganz zufrieden mit dem Ergebnis 440, das eine alphabetische Anordnung der Ergebnisse aufweist, sondern hätte eine Reihung entsprechend der Anzahl der Zitate bevorzugt. Das visuelle Programmierwerkzeug bietet eine Testfunktionalität, um die Abfrage in natürlicher Sprache zu testen. Dementsprechend kann der Benutzer den bearbeiteten Workflow-Graphen 421 testen, indem er eine Suchschaltfläche 451 betätigt. Nach der Aktivierung zeigt das Bildschirmlayout das korrigierte Ergebnis 441, das die Autoren „Autor 3, Autor 2, Autor 1“ aufweist, sortiert nach der Anzahl von Zitaten.
-
Das Computersystem 100 kann sodann die Abfrage 402 in natürlicher Sprache zusammen mit dem bearbeiteten Workflow-Graphen 421 (formale Datenabfrage) als Ground-Truth-Paar im Speichersystem 134 speichern. Dieses Ground-Truth-Paar, vorzugsweise in Kombination mit einer Mehrzahl weiterer Ground-Truth-Paare, kann dann vom Trainingsmodul 142b zum Trainieren des Übersetzungsmoduls 142a verwendet werden. Und wenn das Computersystem 100 das nächste Mal eine ähnliche Anfrage erhält, wird es die Ergebnisliste z.B. der Autoren in einer geordneten Weise bereitstellen.
-
Die 5a bis 5e veranschaulichen ein Beispiel eines durch einen Computer implementierten Verfahrens zum Erzeugen von Ground Truth für Abfragen in natürlicher Sprache gemäß einer anderen Ausführungsform der Erfindung. Das Beispiel in den 5a bis 5e entspricht teilweise dem Beispiel in den 4a bis 4e, und die gleichen oder ähnliche Elemente sind daher mit den gleichen Bezugsziffern bezeichnet.
-
5a zeigt einen Wissensgraphen 501, der als weiteres Datenmodell für die Abfrage in natürlicher Sprache verwendet wird. Gemäß dem dargestellten Beispiel weist der Wissensgraph 501 vier Knoten 1, 2, 3 und 5, eine Kante 12 zwischen den Knoten 1 und 2, eine Kante 13 zwischen den Knoten 1 und 3, eine Kante 23 zwischen den Knoten 2 und 3 und, im Gegensatz zu 4a, eine Kante 35 zwischen den Knoten 3 und 5 auf. Die Knoten und Kanten wurden in Typen gruppiert, d.h., der Wissensgraph 501 hat einen Satz von Knoten und Kanten eines bestimmten Typs. Insbesondere stellt 5a ebenfalls einen „Zitationsgraphen“ dar und weist dieselben Knoten der Typen „Artikel“, „Autoren“, „Themen“ und „Zugehörigkeiten“ auf wie im Beispiel von 4a. Die Kanten dieses Graphen umfassen ebenfalls die Typen „Artikel-zu-Artikel“, „Artikel-zu-Autor“, „Artikel-zu-Thema“, „Autor-zu-Thema“, jedoch anstelle von „Autor-zu-Zugehörigkeit“ die Kante 35 „Artikel-zu-Zugehörigkeit“.
-
Folglich ist der Wissensgraph 501 ebenfalls als ein Metagraph verkörpert, der die Topologie des ursprünglichen Graphen darstellt.
-
5b zeigt ein Beispiel für eine Abfrage 502 in natürlicher Sprache. In diesem Beispiel wird die gleiche Abfrage in natürlicher Sprache wie im vorherigen Beispiel verwendet, nämlich „Wer ist der Experte in Unternehmen A auf dem Gebiet der künstlichen Intelligenz (KI)“?
-
5c zeigt, wie der Metagraph aus 5a zum Übersetzen der natürlichsprachlichen Abfrage 502 in eine formale Datenabfrage verwendet wird. Das Verfahren ermittelt den Knoten 2 (Thema) und den Knoten 5 (Zugehörigkeit) als Eingabeknoten in der natürlichsprachlichen Abfrage 502 und den Knoten 1 (Autor) als Ausgabeknoten. Die ermittelten Typen von Eingabeknoten werden mit einem Wellenmuster und die ermittelten Typen von Ausgabeknoten mit einem Schachbrettmuster dargestellt. Das Computersystem 100 berechnet Suchpfade zwischen den Typen von Eingabeknoten und den Typen von Ausgabeknoten. In diesem Beispiel wird ein Suchpfad 510 zwischen dem Knoten 2 vom Typ „Thema“ und dem Knoten 1 vom Typ „Autor“ sowie ein Suchpfad 511 zwischen dem Knoten 5 vom Typ „Zugehörigkeit“ und dem Knoten 1 vom Typ „Autor“ über den Knoten 3 vom Typ „Artikel“ berechnet.
-
5d zeigt ein Bildschirmlayout 503, das z B. auf der Anzeige 124 von 1 angezeigt werden kann. Das Bildschirmlayout 503 weist einen Workflow-Graphen 520 auf, der als gerichteter azyklischer Graph dargestellt ist. Der Workflow-Graph 520 stellt eine formale Datenabfrage dar, die durch ein Übersetzungsmodul, z.B. durch das Übersetzungsmodul 142a von 1, übersetzt oder, mit anderen Worten, aus der natürlichsprachlichen Abfrage 502 abgeleitet wurde. Das Übersetzungsmodul verwendet ein zugrunde liegendes Workflow-Modell für die Berechnung des Workflow-Graphen 520. Der Workflow-Graph 520 weist einen Eingabeoperator 531 auf, der eine Suche nach „Firma A“ in allen Eingabetypknoten mit dem Typ „Zugehörigkeit“ ausführt. Der Workflow-Graph 520 weist einen weiteren Eingabeoperator 532 auf, der eine Suche nach „Künstliche Intelligenz“ in allen Eingabetypknoten mit dem Typ „Thema“ ausführt. Der Workflow-Graph 520 weist einen Kantenüberquerungs-Operator 533 auf, der eine Kantenüberquerung „Zugehörigkeit-Artikel“ zwischen den ermittelten Knoten des Typs „Zugehörigkeit“, die den Begriff „Unternehmen A“ aufweisen, und den entsprechenden Knoten des Typs „Artikel“ ausführt. Der Workflow-Graph 520 weist einen weiteren Kantenüberquerungs-Operator 534 auf, der eine Kantenüberquerung „Thema-Artikel“ zwischen den ermittelten Knoten vom Typ „Thema“, die den Begriff „Künstliche Intelligenz“ aufweisen, und den entsprechenden Knoten vom Typ „Artikel“ ausführt. Die Ausgaben des Kantenüberquerungs-Operators 533 und des Kantenüberquerungs-Operators 534 werden sodann durch einen „UND“-Operator 535 zusammengeführt, d.h., der „UND“-Operator 535 bildet eine Schnittmenge der Ausgaben des Kantenüberquerungs-Operators 533 und des Kantenüberquerungs-Operators 534. In diesem Beispiel wird ein zusätzlicher Kantenüberquerungs-Operator 536 bereitgestellt, der eine Kantenüberquerung ETAA „Artikel-Autor“ ausführt. Ein Ausgabeoperator 537 erzeugt dann ein Ergebnis 540 der Abfrage 502 in natürlicher Sprache und zeigt es auf dem Bildschirmlayout 503 an. In diesem Beispiel weist das Ergebnis 540 eine Liste von Autoren „Autor 1, Autor 2, Autor 3“ auf. Gemäß diesem Beispiel wird davon ausgegangen, dass das Workflow-Modell das Ergebnis in Form der Liste von Autoren in alphabetischer Reihenfolge zeigt.
-
In 5d befindet sich das visuelle Programmierwerkzeug wieder im Bearbeitungsmodus, was durch die fettgedruckte Darstellung des Begriffs „Bearbeitungsmodus“ einer Bearbeitungsschaltfläche/eines Bearbeitungsfeldes 550 angezeigt wird. Dies bedeutet, dass der Benutzer den Workflow-Graphen 520 bearbeiten kann.
-
5e zeigt ein Bildschirmlayout 504, das einen bearbeiteten Workflow-Graphen 521 aufweist. Der Workflow-Graph 521 stellt eine bearbeitete formale Datenabfrage dar, die vom Benutzer nach Betrachten des ursprünglichen Workflow-Graphen 520 bearbeitet wurde. Im Vergleich zum ursprünglichen Workflow-Graphen 520 hat der Benutzer einen Reihungs-Operator 538 eingefügt. Der Reihungs-Operator 538 ist so konfiguriert, dass er die Ergebnisse (Autoren) nach der Anzahl von Zitaten ordnet. Das visuelle Programmierwerkzeug stellt eine Testfunktionalität zum Testen der Abfrage in natürlicher Sprache bereit. Dementsprechend kann der Benutzer den bearbeiteten Workflow-Graphen 521 testen, indem er eine Suchschaltfläche 551 betätigt. Nach der Aktivierung zeigt das Bildschirmlayout 504 das korrigierte Ergebnis 541, das die Autoren „Autor 3, Autor 2, Autor 1“, sortiert nach der Anzahl von Zitaten, aufweist.
-
Das Computersystem 100 kann sodann die Abfrage 502 in natürlicher Sprache zusammen mit dem Workflow-Graphen 521 (formale Datenabfrage) als Ground-Truth-Paar im Speichersystem 134 speichern. Dieses Ground-Truth-Paar, vorzugsweise in Kombination mit einer Mehrzahl weiterer Ground-Truth-Paare, kann dann vom Trainingsmodul 142b verwendet werden, um das Übersetzungsmodul 142a zu trainieren.
-
Bei der vorliegenden Erfindung kann es sich um ein System, ein Verfahren und/oder ein Computerprogrammprodukt handeln. Das Computerprogrammprodukt kann (ein) durch einen Computer lesbare(s) Speichermedium (oder -medien) mit durch einen Computer lesbaren Programmanweisungen darauf umfassen, um einen Prozessor/eine Verarbeitungseinheit des Computersystems 100 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 zum Verwenden durch ein System zum Ausführen von Anweisungen behalten und speichern kann. Bei dem durch einen Computer lesbaren Speichermedium kann es sich zum Beispiel um eine elektronische Speichereinheit, eine magnetische Speichereinheit, eine optische Speichereinheit, eine elektromagnetische Speichereinheit, eine Halbleiterspeichereinheit oder jede geeignete Kombination daraus handeln, ohne auf diese beschränkt zu sein. Zu einer nicht erschöpfenden Liste spezifischerer Beispiele des durch einen Computer lesbaren Speichermediums gehören die Folgenden: eine tragbare Computerdiskette, eine Festplatte, ein Direktzugriffsspeicher (RAM), ein Nur-Lese-Speicher (ROM), ein löschbarer programmierbarer Nur-Lese-Speicher (EPROM bzw. Flash-Speicher), ein statischer Direktzugriffsspeicher (SRAM), ein tragbarer Kompaktspeicherplatte-Nur-Lese-Speicher (CD-ROM), eine DVD (digital versatile disc), ein Speicher-Stick, eine Diskette, eine mechanisch codierte Einheit wie zum Beispiel Lochkarten oder erhabene 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. ein Lichtwellenleiterkabel durchlaufende 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/Verarbeitungs-Einheiten 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/Verarbeitungs-Einheit empfängt durch einen Computer lesbare Programmanweisungen aus dem Netzwerk und leitet die durch einen Computer lesbaren Programmanweisungen zum Speichern in einem durch einen Computer lesbaren Speichermedium innerhalb der entsprechenden Datenverarbeitungs/Verarbeitungs-Einheit 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 oder entweder Quellcode oder Objektcode handeln, die in einer beliebigen Kombination aus einer oder mehreren Programmiersprachen geschrieben werden, darunter objektorientierte Programmiersprachen wie Java, Smalltalk, C++ o.ä. sowie herkömmliche 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, vor Ort 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 Blockschaltbilder bzw. Schaubilder in den Figuren veranschaulichen die Architektur, die Funktionalität und den Betrieb möglicher Ausführungen von Systemen, Verfahren und Computerprogrammprodukten gemäß verschiedenen Ausführungsformen der vorliegenden Erfindung. In diesem Zusammenhang 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 zum Ausführen der bestimmten logischen Funktion(en) aufweisen. In einigen alternativen Ausführungen können die in dem Block 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.
-
Die Beschreibungen der verschiedenen Ausführungsformen der vorliegenden Erfindung dienen der Veranschaulichung, sollen jedoch nicht erschöpfend oder auf die offenbarten Ausführungsformen beschränkt sein. Viele Modifikationen und Änderungen werden für Fachleute offensichtlich sein, ohne vom Schutzumfang der beschriebenen Ausführungsformen abzuweichen. Die hier verwendete Terminologie wurde gewählt, um die Grundgedanken der Ausführungsformen, die praktische Anwendung oder die technische Verbesserung gegenüber auf dem Markt befindlichen Technologien bestmöglich zu erläutern oder um es anderen Fachleuten zu ermöglichen, die hier offenbarten Ausführungsformen zu verstehen.