DE112020005268T5 - Automatisches erzeugen von schema-annotationsdateien zum umwandeln von abfragen in natürlicher sprache in eine strukturierte abfragesprache - Google Patents

Automatisches erzeugen von schema-annotationsdateien zum umwandeln von abfragen in natürlicher sprache in eine strukturierte abfragesprache Download PDF

Info

Publication number
DE112020005268T5
DE112020005268T5 DE112020005268.0T DE112020005268T DE112020005268T5 DE 112020005268 T5 DE112020005268 T5 DE 112020005268T5 DE 112020005268 T DE112020005268 T DE 112020005268T DE 112020005268 T5 DE112020005268 T5 DE 112020005268T5
Authority
DE
Germany
Prior art keywords
relational database
natural language
metadata
computer
schema
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
DE112020005268.0T
Other languages
English (en)
Inventor
Elahe Khorasani
Hangu Yeo
Octavian Popescu
Vadim Sheinin
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 DE112020005268T5 publication Critical patent/DE112020005268T5/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2452Query translation
    • G06F16/24522Translation of natural language queries to structured queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/242Query formulation
    • G06F16/243Natural language query formulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2457Query processing with adaptation to user needs
    • G06F16/24573Query processing with adaptation to user needs using data annotations, e.g. user-defined metadata
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/252Integrating or interfacing systems involving database management systems between a Database Management System and a front-end application
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases
    • G06F16/288Entity relationship models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation
    • G06N5/022Knowledge engineering; Knowledge acquisition
    • G06N5/025Extracting rules from data

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Library & Information Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

Verfahren, Systeme und durch einen Computer lesbare Medien zum automatischen Erzeugen eines semantischen Modells einer relationalen Datenbank zum Verarbeiten von Abfragen in natürlicher Sprache werden bereitgestellt. Eine Datenverarbeitungseinheit extrahiert automatisch Metadaten aus einer relationalen Datenbank. Die Datenverarbeitungseinheit fordert einen Benutzer auf, Bezeichnungen für Spalten der extrahierten Metadaten in Textform einzugeben. Die Datenverarbeitungseinheit erzeugt automatisch eine Schema-Annotationsdatei auf der Grundlage der Metadaten der relationalen Datenbank und der Bezeichnungen in Textform für die Spalten. Unter Verwendung der Schema-Annotationsdatei wird eine Abfrage in natürlicher Sprache für die relationale Datenbank verarbeitet.

Description

  • Technisches Gebiet
  • Ausführungsformen der vorliegenden Erfindung beziehen sich auf regelgestützte Systeme, die Abfragen in natürlicher Sprache in eine strukturierte Abfragesprache umwandeln, und insbesondere auf Systeme, die auf der Grundlage einer Benutzerannotation von Metadaten automatisch Schema-Annotationsdateien erzeugen, um Beziehungen in der Datenbank zum Verarbeiten von Abfragen in natürlicher Sprache zu beschreiben.
  • Beschreibung des Standes der Technik
  • Verwaltungssysteme von relationalen Datenbanken können verwendet werden, um strukturierte Daten zu speichern und zu verwalten. Der Zugriff auf Daten in der Datenbank kann auf der Grundlage von technischem Wissen und Fachkenntnissen in einer strukturierten Abfragesprache erfolgen und ist im Allgemeinen ein komplexer und zeitintensiver Prozess. Um den Zugriff auf gespeicherte Daten zu verbessern, können Systeme mit Schnittstelle zwischen natürlicher Sprache und Datenbank verwendet werden, die es einem Benutzer ermöglichen, auf Daten zuzugreifen, indem er Fragen in natürlicher Sprache stellt und Antworten von der Datenbank empfängt. Das System mit Schnittstelle zwischen natürlicher Sprache und Datenbank wandelt Ausdrücke in natürlicher Sprache in eine strukturierte Abfrage um, die einen einfachen und schnellen Zugriff auf die Informationen in der Datenbank bereitstellt.
  • Regelgestützte Systeme mit Schnittstelle zwischen natürlicher Sprache und Datenbank arbeiten mit einem semantischen Modell der Datenbankelemente, das Beziehungen zwischen Entitäten definiert. Regelgestützte Systeme mit Schnittstelle zwischen natürlicher Sprache und Datenbank beruhen auf einer ontologischen Darstellung der Datenbank, die die Klassifizierung von Entitäten und ein Modellieren der Beziehungen zwischen diesen Entitäten umfasst.
  • Das Erzeugen einer Datenbank-Ontologie ist jedoch in der Regel ein zeitaufwändiges und arbeitsintensives Verfahren. Datenbank-Ontologien verwenden ein Schema, um die Art der Beziehung zwischen den Entitäten zu spezifizieren. In der Regel wird die konkrete Art der Beziehung zwischen Entitäten von Experten bereitgestellt, die über fundierte Kenntnisse der zugrunde liegenden Datenbankstruktur und Ontologie verfügen. Bei herkömmlichen Ansätzen wird eine Schema-Annotationsdatei beispielsweise von einem Benutzer erzeugt, der über Kenntnisse der Datenbankstruktur und der Ontologie sowie der Struktur der Schema-Annotationsdatei und unterstützter Formate der Phrasen und Merkerangaben verfügt, die zum Erzeugen der Schema-Annotationsdatei verwendet werden.
  • Ein solches semantisches Modell oder eine Ontologie zu erzeugen, ist ein zeitaufwändiger manueller Prozess, der umfassende Kenntnisse der Datenbankstruktur und des Datenbankschemas erfordert, da jede Beziehung auf manuelle Weise definiert wird. Bei großen oder komplexen Systemen ist dieser Ansatz nicht zu vertreten.
  • In der Technik besteht somit Bedarf, das vorstehend beschriebene Problem zu lösen.
  • KURZDARSTELLUNG
  • Im Hinblick auf einen ersten Aspekt stellt die vorliegende Erfindung ein automatisiertes Verfahren bereit, das eine Datenverarbeitungseinheit verwendet, um ein semantisches Modell einer relationalen Datenbank zum Verarbeiten von Abfragen in natürlicher Sprache zu erzeugen, wobei das Verfahren aufweist: automatisches Extrahieren von Metadaten aus der relationalen Datenbank durch die Datenverarbeitungseinheit; Auffordern eines Benutzers durch die Datenverarbeitungseinheit, Bezeichnungen für Spalten der extrahierten Metadaten in Textform einzugeben; automatisches Erzeugen durch die Datenverarbeitungseinheit einer Schema-Annotationsdatei auf der Grundlage der Metadaten der relationalen Datenbank und der in den Spalten bereitgestellten Bezeichnungen in Textform; und Verarbeiten einer Abfrage in natürlicher Sprache der relationalen Datenbank mithilfe der Schema-Annotationsdatei.
  • Im Hinblick auf einen weiteren Aspekt stellt die vorliegende Erfindung ein System zum Verarbeiten von Software-Diensten in einem Datenverarbeitungsbereich bereit, wobei das System aufweist: einen oder mehrere Prozessoren; ein oder mehrere durch einen Computer lesbare Speichermedien; Programmanweisungen, die auf dem einen oder den mehreren durch einen Computer lesbaren Speichermedien gespeichert sind, um von mindestens einem des einen oder der mehreren Computerprozessoren ausgeführt zu werden, wobei die Programmanweisungen Anweisungen aufweisen, um: Metadaten aus einer relationalen Datenbank durch die Datenverarbeitungseinheit automatisch zu extrahieren; einen Benutzer durch die Datenverarbeitungseinheit aufzufordern, Bezeichnungen für Spalten der extrahierten Metadaten in Textform einzugeben; eine Schema-Annotationsdatei auf der Grundlage der Metadaten der relationalen Datenbank und der in den Spalten bereitgestellten Bezeichnungen in Textform durch die Datenverarbeitungseinheit automatisch zu erzeugen; und eine Abfrage in natürlicher Sprache der relationalen Datenbank mithilfe der Schema-Annotationsdatei zu verarbeiten.
  • Im Hinblick auf einen weiteren Aspekt stellt die vorliegende Erfindung ein Computerprogrammprodukt zum Verarbeiten von Software-Diensten in einem Datenverarbeitungsbereich bereit, wobei das Computerprogrammprodukt ein oder mehrere durch einen Computer lesbare Speichermedien aufweist, auf denen gemeinsam Programmanweisungen gespeichert sind, wobei die Programmanweisungen durch einen Computer ausführbar sind, um den Computer zu veranlassen: Metadaten aus einer relationalen Datenbank durch die Datenverarbeitungseinheit automatisch zu extrahieren; einen Benutzer durch die Datenverarbeitungseinheit aufzufordern, Bezeichnungen für Spalten der extrahierten Metadaten in Textform einzugeben; eine Schema-Annotationsdatei auf der Grundlage der Metadaten der relationalen Datenbank und der in den Spalten bereitgestellten Bezeichnungen in Textform durch die Datenverarbeitungseinheit automatisch zu erzeugen; und eine Abfrage in natürlicher Sprache der relationalen Datenbank mithilfe der Schema-Annotationsdatei zu verarbeiten.
  • Im Hinblick auf einen weiteren Aspekt stellt die vorliegende Erfindung ein Computerprogrammprodukt zum Erzeugen eines semantischen Modells einer relationalen Datenbank zum Verarbeiten von Abfragen in natürlicher Sprache bereit, wobei das Computerprogrammprodukt ein durch einen Computer lesbares Speichermedium aufweist, das durch einen Verarbeitungsschaltkreis lesbar ist und Anweisungen speichert, die der Verarbeitungsschaltkreis ausführt, um ein Verfahren zum Durchführen der Schritte der Erfindung auszuführen.
  • Im Hinblick auf einen 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, wobei das Computerprogramm Software-Codeteile aufweist, wenn das Programm auf einem Computer ausgeführt wird, um die Schritte der Erfindung durchzuführen.
  • Gemäß Ausführungsformen der vorliegenden Erfindung werden Verfahren, Systeme und durch einen Computer lesbare Medien zum automatischen Erzeugen eines semantischen Modells einer relationalen Datenbank zum Verarbeiten von Abfragen in natürlicher Sprache bereitgestellt. Eine Datenverarbeitungseinheit extrahiert automatisch Metadaten aus einer relationalen Datenbank. Die Datenverarbeitungseinheit fordert einen Benutzer auf, Bezeichnungen für Spalten der extrahierten Metadaten in Textform einzugeben, und erzeugt automatisch eine Schema-Annotationsdatei auf der Grundlage der Metadaten der relationalen Datenbank und der Bezeichnungen in Textform für jede Spalte. Eine Abfrage der relationalen Datenbank in natürlicher Sprache wird mithilfe der Schema-Annotationsdatei verarbeitet. Das System kann lexikalische Regeln auf der Grundlage der automatisierten Schema-Annotationsdatei erzeugen. Dieser Ansatz stellt einen automatisierten Ansatz zum Erzeugen einer Schema-Annotationsdatei auf der Grundlage annotierter Metadaten bereit, im Gegensatz zu herkömmlichen Ansätzen, bei denen Schema-Annotationsdateien manuell erzeugt werden.
  • Gemäß einem anderen Aspekt annotiert der Benutzer die extrahierten Metadaten ohne Kenntnis einer Struktur oder einer Ontologie der relationalen Datenbank. Dieser Ansatz stellt den Vorteil bereit, dass auf der Grundlage der annotierten Metadaten ein Schema erzeugt werden kann, ohne dass spezielle Kenntnisse über die zugrunde liegende Datenbank oder Ontologie erforderlich sind.
  • Gemäß einem anderen Aspekt wird die Schema-Annotationsdatei zu lexikalischen Regeln mit einer semantischen Annotation für die relationale Datenbank verarbeitet. Gemäß weiteren Aspekten wird eine Frage in natürlicher Sprache von einem Benutzer empfangen. Die empfangene Frage in natürlicher Sprache wird in eine strukturierte Abfrage umgewandelt, wobei lexikalische Regeln verwendet werden, die auf der Grundlage einer semantischen Annotation erzeugt werden. Anhand der Ergebnisse der strukturierten Abfrage wird eine Antwort auf die empfangene Frage in natürlicher Sprache erzeugt. Diese Ansätze haben den Vorteil, dass ein Benutzer Fragen zum Inhalt der Datenbank stellen kann und das System anhand der lexikalischen Regeln, die auf der Grundlage der Schema-Annotationsdatei erzeugt werden, den relevanten Inhalt der Datenbank abrufen kann. Bei diesem Ansatz muss ein Benutzer keine strukturierte Abfrage erzeugen, um auf den Inhalt der Datenbank zuzugreifen.
  • Gemäß anderen Aspekten umfasst eine Annotation der extrahierten Metadaten Bezeichnungen in Textform, wobei die Bezeichnungen in Textform mindestens einen Semantiktyp und eine Elementbezeichnung umfassen. In diesem Fall ist ein Mindestmaß von Annotation (z.B. werden in den hier bereitgestellten Beispielen nur zwei Spalten annotiert) erforderlich, damit das Schema erzeugt werden kann.
  • Gemäß anderen Aspekten wird die Schema-Annotationsdatei durch Verarbeiten der Benutzereingaben in natürlicher Sprache erzeugt, um Semantik zu extrahieren, und die extrahierte Semantik wird verwendet, um Beziehungen zwischen den Entitäten der relationalen Datenbank zu erzeugen. Durch das Erzeugen der Schema-Annotationsdatei mithilfe der Verarbeitung natürlicher Sprache können Beziehungen automatisiert hergestellt werden.
  • Gemäß weiteren Aspekten kann ein System für maschinelles Lernen verwendet werden, um schemaspezifische lexikalische Regeln mit semantischer Annotation zu erzeugen, wobei das System für maschinelles Lernen die Schema-Annotationsdatei und Musterregeln auf der Grundlage fester syntaktischer Regeln der englischen Sprache verwendet, um die schemaspezifischen lexikalischen Regeln zu erzeugen. Dieser Ansatz hat den Vorteil, dass das NLIDB-System (natural language interface to a database, Schnittstelle zwischen natürlicher Sprache und Datenbank, NLIDB) für eine Interaktion mit einem Benutzer weiter automatisiert wird.
  • Es sei darauf hingewiesen, dass die vorliegende Kurzdarstellung weder Schlüsselmerkmale oder wesentliche Merkmale von Ausführungsformen der vorliegenden Offenbarung genauer kennzeichnen soll, noch soll sie den Anwendungsbereich der vorliegenden Offenbarung beschränken. Weitere Merkmale der vorliegenden Offenbarung werden durch die folgende Beschreibung leicht verständlich.
  • Figurenliste
  • Die vorliegende Erfindung wird nunmehr im Folgenden lediglich beispielhaft mit Bezug auf bevorzugte Ausführungsformen beschrieben, die in den folgenden Figuren veranschaulicht sind:
    • 1 ist gemäß einer Ausführungsform der vorliegenden Erfindung eine schematische Darstellung einer beispielhaften Datenverarbeitungsumgebung für ein System zum automatisierten Erzeugen von Schemata.
    • 2 ist gemäß einer Ausführungsform der vorliegenden Erfindung eine beispielhafte Datenverarbeitungseinheit für die Datenverarbeitungsumgebung von 1.
    • 3A ist gemäß einer Ausführungsform der vorliegenden Erfindung ein Beispiel für extrahierte Metadaten.
    • 3B ist gemäß einer Ausführungsform der vorliegenden Erfindung ein Beispiel für extrahierte Metadaten, die von einem Benutzer annotiert wurden.
    • 3C ist ein Ablaufplan, der gemäß einer Ausführungsform der vorliegenden Erfindung die Funktionsweise des Systems zum automatischen Erzeugen von Schemata in einem System zum Verarbeiten natürlicher Sprache zeigt, das mit einem Benutzer interagiert.
    • 4 ist eine beispielhafte Schema-Annotationsdatei, die gemäß einer Ausführungsform der vorliegenden Erfindung durch das System zum automatischen Erzeugen von Schemata erzeugt wird.
    • 5 ist ein Ablaufplan, der gemäß einer Ausführungsform der vorliegenden Erfindung Ermitteln und Filtern von zusätzlichen Beziehungen zum Aufnehmen in die Schema-Annotationsdatei zeigt.
    • 6 ist ein Ablaufplan mit einer Übersicht der Operationen des automatisierten Systems für Schema-Annotationsdateien gemäß einer Ausführungsform der vorliegenden Erfindung.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Automatisierte Techniken werden bereitgestellt, um eine ontologische Darstellung oder ein semantisches Modell einer relationalen Datenbank in Form einer Schema-Annotationsdatei (schema annotation file, SAF) zu erzeugen. Bei der SAF handelt es sich um eine Textdatei, die zum Anpassen eines Systems mit Schnittstelle zwischen natürlicher Sprache und Datenbank (NLIDB) an ein bestimmtes Schema verwendet werden kann und nicht auf der Kenntnis der zugrunde liegenden Datenbankstruktur und Ontologie beruht.
  • In Ausführungsformen werden Metadaten der relationalen Datenbank automatisch extrahiert, die die Struktur der Datenbank beschreiben. Ein Benutzer annotiert die Spalten der extrahierten Metadaten (z.B. indem er eine Beschreibung in Textform bereitstellt). Auf der Grundlage der hier bereitgestellten Techniken werden semantische Beziehungen zwischen den bezeichneten extrahierten Datenbankentitäten automatisch annotiert, um ein semantisches Modell zu erzeugen. In Ausführungsformen wird das semantische Modell als Text in natürlicher Sprache erzeugt, der von einem beliebigen System zum Verarbeiten natürlicher Sprache (natural language processing, NLP) verarbeitet werden kann, um lexikalische Regeln zu erzeugen, die für die relationale Datenbank gelten. Die erzeugte SAF kann verwendet werden, um das NLIDB-System automatisch an ein bestimmtes Datenbankschema anzupassen.
  • Hier werden Techniken zum Erzeugen eines ontologischen Modells in Form einer SAF, eines Typs von Textdatei, bereitgestellt, die das semantische Modell der Datenbank darstellt. Auf der Grundlage minimaler Eingaben eines Benutzers und ohne vorherige Kenntnis der Datenbank kann eine SAF automatisch erzeugt werden.
  • In 1 ist eine beispielhafte Umgebung zur Verwendung mit den Ausführungsformen der vorliegenden Erfindung dargestellt. Die Umgebung umfasst insbesondere ein oder mehrere Server-Systeme 10, ein oder mehrere Client- oder Endbenutzersysteme 20, eine Datenbank 30 und ein Netzwerk 45. Die Server-Systeme 10 und die Client-Systeme 20 können entfernt voneinander angeordnet sein und über ein Netzwerk 45 Daten austauschen. Das Netzwerk kann durch eine beliebige Anzahl von geeigneten Datenübertragungsmedien implementiert werden, z.B. ein Weitverkehrsnetzwerk (WAN), ein lokales Netzwerk (LAN), das Internet, ein Intranet usw. Alternativ können die Server-Systeme 10 und die Client-Systeme 20 lokal zueinander angeordnet sein und über ein beliebiges geeignetes lokales Datenübertragungsmedium, z.B. ein lokales Netzwerk (LAN), eine drahtgebundene oder drahtlose Verbindung, ein Intranet usw., Daten übertragen.
  • Die Client-Systeme 20 ermöglichen es Benutzern, Annotationen für extrahierte Metadaten bereitzustellen, die von den Server-Systemen 10 auf der Grundlage der strukturierten Datenbank 50 für ein automatisiertes Erzeugen von SAFs erzeugt werden. Die Server-Systeme 10 umfassen ein System 15 zum automatisierten Erzeugen von Schema-Annotationsdateien, das wie hier beschrieben eine Metadaten-Extraktionssteuerkomponente 105, eine Benutzerschnittstellen-Steuerkomponente 110, eine SAF-Erzeugungssteuerkomponente 115, eine Regel-Erzeugungssteuerkomponente 120 und ein NLIDB-Modul 125 umfasst.
  • In einer Datenbank 30 können verschiedene Informationen für die Analyse gespeichert werden, z.B. die extrahierten Daten 32, die extrahierten annotierten Daten 34, die erzeugten Schemata 36 und die lexikalischen Regeln 38 usw. Die extrahierten Daten 32 können Informationen aufweisen, die aus der Datenbank 50 extrahiert wurden (z.B. in einem Tabellenformat, in einem tabulatorgetrennten Format oder in einem anderen geeigneten Format usw.). Die extrahierten Daten 32 werden dem Benutzer über die Benutzerschnittstellen-Steuerkomponente 110 für die Annotation bereitgestellt. Nach der Annotation können die Daten als extrahierte annotierte Daten 34 gespeichert werden. Das System 15 zum automatisierten Erzeugen von Schema-Annotationsdateien erzeugt Schemata 36 auf der Grundlage der extrahierten annotierten Daten 34. Das System 15 kann weiterhin lexikalischen Regeln 38 auf der Grundlage der erzeugten Schemata erzeugen.
  • Das Datenbanksystem 30 und die strukturierte Datenbank 50 können durch jede herkömmliche oder andere Datenbank- oder Speichereinheit implementiert werden, sie können lokal oder entfernt von den Server-Systemen 10 und den Client-Systemen 20 angeordnet sein und können über jedes geeignete Datenübertragungsmedium Daten austauschen, z.B. über ein lokales Netzwerk (LAN), ein Weitverkehrsnetzwerk (WAN), das Internet, eine drahtgebundene oder drahtlose Verbindung, ein Intranet usw. Die Client-Systeme können eine grafische Benutzerschnittstelle, z.B. eine GUI usw., oder eine andere Schnittstelle, z.B. Eingabeaufforderungen, Menübildschirme usw., bereitstellen, um von den Benutzern Informationen über die Annotation von Metadaten abzufragen, sowie ein NLIDB-Modul 125, mit dem Fragen über den Inhalt der strukturierten Datenbank 50 gestellt und Antworten darauf empfangen werden können.
  • Die Server-Systeme 10 und die Client-Systeme 20 können durch beliebige herkömmliche oder andere Computersysteme implementiert werden, die vorzugsweise mit einer Anzeige oder einem Monitor, einer Basis (mit mindestens einem Hardware-Prozessor (z.B. Mikroprozessor, Steuereinheit, Zentraleinheit (CPU) usw.), einem oder mehreren Arbeitsspeichern und/oder internen oder externen Netzwerkschnittstellen oder Datenübertragungseinheiten (z.B. Modem, Netzwerkkarten usw.), optionalen Eingabeeinheiten (z.B. einer Tastatur, Maus oder einer anderen Eingabeeinheit) und einer beliebigen handelsüblichen und kundenspezifischen Software (z.B. Server-/Datenübertragungssoftware, System-Software zum automatisierten Erzeugen von Schema-Annotationsdateien, Browser-/Schnittstellen-Software usw.) ausgestattet sind. Der Server/Client umfasst beispielsweise mindestens einen Prozessor 16, 22, einen oder mehrere Arbeitsspeicher 17, 24 und/oder interne oder externe Netzwerkschnittstellen oder Datenübertragungseinheiten 18, 26, z.B. ein Modem oder Netzwerkkarten, sowie eine Benutzerschnittstelle 19, 28 usw. Die optionalen Eingabeeinheiten können eine Tastatur, eine Maus oder eine andere Eingabeeinheit umfassen.
  • Alternativ dazu können ein oder mehrere Client-Systeme 20 eine automatisierte Software-Dienst-Analyse als eigenständige Einheit durchführen. In einer eigenständigen Betriebsart speichert das Client-System die Daten, z.B. die extrahierten Daten 32, die extrahierten annotierten Daten 34, die Schemata 36 und die lexikalischen Regeln 38, oder hat Zugriff darauf. Die eigenständige Einheit umfasst ein System 15 zum automatisierten Erzeugen von Schema-Annotationsdateien. Die grafische Benutzerschnittstelle oder eine andere Schnittstelle 19, 28, z.B. eine GUI, Eingabeaufforderungen, Menübildschirme usw., fordert von einem entsprechenden Benutzer Informationen zur Annotation von Metadaten an, während ein NLIDB-Modul 125 Fragen zum Inhalt der strukturierten Datenbank 50 stellen und Antworten darauf empfangen kann.
  • Das System 15 zum automatisierten Erzeugen von Schema-Annotationsdateien kann ein oder mehrere Module oder Einheiten umfassen, um die verschiedenen Funktionen der hier beschriebenen Ausführungsformen der vorliegenden Erfindung durchzuführen. Die verschiedenen Module, eine Metadaten-Extraktionssteuerkomponente 105, eine Benutzerschnittstellen-Steuerkomponente 110, eine SAF-Erzeugungssteuerkomponente 115, eine Regel-Erzeugungssteuerkomponente 120 und ein NLIDB-Modul 125 usw., können durch eine beliebige Kombination aus einer beliebigen Anzahl von Software- und/oder HardwareModulen oder -Einheiten implementiert werden und sich im Arbeitsspeicher 17 des Servers zum Ausführen durch den Prozessor 16 befinden. Diese Module werden nachfolgend noch ausführlicher beschrieben.
  • Die Metadaten-Extraktionssteuerkomponente 105 extrahiert Metadaten aus einer relationalen Datenbank, z.B. der strukturierten Datenbank 50. Die Metadaten können eine oder mehrere Tabellen in jeder geeigneten Form aufweisen.
  • Die hier bereitgestellten Techniken ermöglichen ein Verbinden mit einer Datenbank und ein Extrahieren von Metadaten, die die Datenbank charakterisieren. Metadaten umfassen Entitäts-/Konzeptinformationen wie z.B. Tabellennamen, Spaltennamen, Datentypen in einer Datenbank und/oder Informationen über Primär- und Fremdschlüssel, die zum Erzeugen von Beziehungen zwischen Tabellen verwendet werden. Der Benutzer kann sich mit Benutzerberechtigungsnachweisen mit der Datenbank verbinden und über eine Anwendungsprogrammierschnittstelle (API) wie JDBC APIs verschiedene der Datenbank zugehörige Metadaten abrufen.
  • Die Benutzerschnittstellen-Steuerkomponente 110 kann einen Benutzer dazu auffordern, eine oder mehrere Spalten aus den extrahierten Metadaten zu annotieren. Die Benutzerschnittstellen-Steuerkomponente empfängt Eingaben des Benutzers, um annotierte Metadaten zu erzeugen.
  • Die Benutzerschnittstellen-Steuerkomponente 110 kann eine Ansicht der extrahierten Metadaten erzeugen, die die Struktur und die Beziehungen von in der relationalen Datenbank gespeicherten Daten zeigt. Gemäß einigen Aspekten kann es sich bei der Ansicht um eine Abstraktionsschicht handeln, in der ein Satz von Entitäten/Konzepten in der Ansicht mit Verknüpfungen verbunden ist. Die Ansicht ermöglicht ein Umbenennen der Tabellen und eine Dateneingabe in Spalten, um aussagekräftige Beschreibungen der extrahierten Metadaten bereitzustellen.
  • Gemäß anderen Aspekten erlaubt die Ansicht auch ein Hinzufügen von berechneten Spalten zu Tabellen. Wenn zum Beispiel die Werte von Spalten zu Berichtszwecken häufig hinzugefügt werden, kann eine Spalte hinzugefügt werden, und dieser Spalte können aggregierte Werte zugewiesen werden. Dieser Ansatz kann die Komplexität verbergen, insbesondere wenn die Werte anhand von Werten aus mehreren Tabellen berechnet werden. In anderen Fällen kann ein Abrufen von Daten langsamer oder komplizierter sein, da Abfragen komplizierte Prozesse benötigen können, um verschiedene Daten aus einer einzelnen Tabelle abzurufen, oder Abfragen gegebenenfalls viele verschiedene Tabellen abfragen müssen. Die hier bereitgestellten Beispiele beziehen sich zwar auf eine einzelne Tabelle, doch lassen sich die vorliegenden Techniken auch auf mehrere Tabellen ausweiten.
  • Die SAF-Erzeugungssteuerkomponente 115 erzeugt automatisch eine SAF auf der Grundlage der annotierten Metadaten und der SAF-bezogenen Dateien 117. Die SAF-Erzeugung wird in der Anwendung und in den Figuren noch ausführlicher beschrieben (siehe auch die 3A bis 3C). Für die SAF-Erzeugung werden verschiedene SAF-bezogene Dateien 117 benötigt, z.B. eine Musterregeln-Datei (template-rules, TR), ein Parser 116, eine Wort-Semantik-Datei (word-semantic, WS), eine Uregelmäßige-Verben-Datei (irregularverbs, IV) und eine Verb-Paraphrase-Datei (verb-paraphrase, VP). Jeder Dateityp wird nachfolgend ausführlicher beschrieben.
  • Eine Musterregeln-Datei (template-rules (TR) file) ist eine bereits bestehende Datei mit Musterregeln, die mit gängigen Satzstrukturen und Syntaxen übereinstimmen und die zum Erzeugen von SAFs verwendet werden können. Die Satzstrukturen können auf Englisch oder in einer anderen natürlichen Sprache vorliegen.
  • Der Parser 116 ist ein Werkzeug zum Analysieren von Wörtern und Phrasen, die Datenbankkonzepte beschreiben. Der Parser kann grammatikalische Eigenschaften (wie Satzbestandteile, z.B. ob ein Wort ein Verb oder ein Substantiv ist) der Wörter und Phrasen aus den annotierten extrahierten Daten ermitteln.
  • Eine Wort-Semantik-Datei (WS-Datei) ist eine Datei, die eine Liste gängiger Wörter mit zugehörigen Semantiktypen enthält, die bestimmte Eigenschaften aufweisen. Die WS-Datei kann beispielsweise Identitätswörter (z.B. Name, Typ, Stil usw.), Datumstypen (z.B. Datum, Jahr, Tag, Uhrzeit, Dauer usw.), Standorttypen (z.B. Stadt, Land, Adresse, Straße usw.) umfassen usw.
  • Eine Unregelmäßige-Verben-Datei (IV-Datei) enthält eine Liste unregelmäßiger Verben und deren Vergangenheitsform.
  • Eine Verb-Paraphrase-Datei (VP-Datei) ist eine automatisch erzeugte Datei mit den Substantiven in den SAF-Einträgen und ihren paraphrasierten Verben. So kann z.B. beim Eintrag „Mitarbeiter hat Gehalt“ das Wort Gehalt Verben wie verdienen, machen, empfangen usw. zugeordnet werden.
  • Mithilfe des Parsers, der WS-Datei und der IV-Datei erzeugt die SAF-Erzeugungssteuerkomponente die Informationen für jede Spalte und erzeugt einen oder mehrere SAF-Einträge. Die SAF-Steuerkomponente kann auch Einträge für die VP-Datei erzeugen, die während des Prozesses zur Beantwortung von Fragen verwendet werden können, der dem NLIDB-Modul 125 zugehörig ist.
  • Eine SAF ist eine Textdatei mit einem Eintrag pro Zeile. Jeder Eintrag besteht aus einem Wort oder einer Phrase in einem feststehenden Format, das/die die Beziehung zwischen Entitäten/Konzepten in der Datenbank beschreibt, und einem Satz von Merkern, die die Entitäten/Konzepte beschreiben. Die SAF kann mindestens drei Arten von Einträgen enthalten: „Eigenschaft/Identität“, „Zugehörigkeit“ und „Aktion“. Einträge zur Eigenschaft/Identität enthalten Informationen, die ein Konzept/eine Entität kennzeichnen (z.B. Name, Kennung, Typ, usw.). Einträge zur Zugehörigkeit enthalten Informationen, die einem Konzept/einer Entität zugehörig sind (z.B. Einstellungsdatum, Führungskraft usw.), aber das Konzept/die Entität nicht direkt kennzeichnen. Einträge zu Aktionen definieren semantische Beziehungen zwischen Konzepten/Entitäten (z.B. in der Regel zwischen zwei Entitäten). In vielen Fällen besteht mehr als eine Beziehung zwischen Entitäten/Konzepten, sodass für eine Beschreibung einer Beziehung mehrere Einträge erforderlich sein können.
  • Beispielhafte SAF-Einträge für ein Schema Personalwesen (HR) mit einer einzelnen Tabelle „Mitarbeiter“ sind unten dargestellt. Der erste Eintrag bezeichnet eine Eigenschaft für das Konzept/die Entität „Mitarbeiter“. Auf das Wort/die Phrase „Mitarbeiter“ folgen insbesondere zwei Merkerangaben. Der erste Satz von Merkern gibt an, dass „Mitarbeiter“ durch die Tabelle EMPLOYEE und die Spalte EMPNO gekennzeichnet wird und einen Datentyp Ganzzahl aufweist. Der zweite Satz von Merkern zeigt, dass das Konzept/die Entität „Name“ durch die Tabelle EMPLOYEE, die Spalte EMPNAME und den Datentyp „Zeichenfolge“ gekennzeichnet wird. Der zweite und dritte Eintrag sind zugehörige Einträge, die angeben, dass die Konzepte „Gehalt“ und „Einstellungsdatum“ einem Mitarbeiter zugehörig sind - Merker kennzeichnen jedes Konzept wie im ersten Eintrag. Der vierte, fünfte und sechste Eintrag sind Einträge zur „Aktion“. Diese Einträge beschreiben semantische Beziehungen zwischen Konzepten/Entitäten. Beispiele hierfür sind:
    • Mitarbeiter hat Name; tableName ist EMPLOYEE; columnName ist EMPNO; dataType ist Ganzzahl; tableName1 ist EMPLOYEE; columnName1 ist EMPNAME; dataType1 ist Zeichenfolge;
    • Mitarbeiter hat Gehalt; tableName ist EMPLOYEE; columnName ist EMPNO; dataType ist Ganzzahl; tableName1 ist EMPLOYEE; columnName1 ist SALARY; dataType1 ist Zeichenfolge;
    • Mitarbeiter hat Einstellungsdatum; tableName ist EMPLOYEE; columnName ist EMPNO; dataType ist Ganzzahl; tableName1 ist EMPLOYEE; columnName1 ist HIREDATE; dataType1 ist Datum;
    • Führungskraft führt Mitarbeiter; tableName ist EMPLOYEE; columnName ist MGRNAME; dataType ist Zeichenfolge; tableName1 ist EMPLOYEE; columnName1 ist EMPNO; dataType1 ist Ganzzahl;
    • Mitarbeiter wird an einem Datum eingestellt; tableName ist EMPLOYEE; columnName ist EMPNO; dataType ist Ganzzahl; tableName1 ist EMPLOYEE; columnName1 ist HIREDATE; dataType1 ist Datum;
    • Abteilung stellt Mitarbeiter ein; tableName ist EMPLOYEE; columnName ist DPTNAME; dataType ist Zeichenfolge; tableName1 ist EMPLOYEE; columnName1 ist EMPNO; dataType1 ist Ganzzahl;
  • Die Regel-Erzeugungssteuerkomponente 120 erzeugt die lexikalischen Regeln 38 auf der Grundlage der erzeugten SAF. Das NLIDB-Modul 125 ermöglicht es einem Benutzer, mit den Server-Systemen 10 zu interagieren, um Antworten auf Fragen zum Inhalt der strukturierten Datenbank 50 zu empfangen. Diese und andere Merkmale werden in der Beschreibung und den Figuren vorgestellt.
  • Die Client-Systeme 20 und die Server-Systeme 10 können durch jede geeignete Datenverarbeitungseinheit implementiert werden, z.B. durch die in 2 für die Datenverarbeitungsumgebung 100 dargestellte Datenverarbeitungseinheit 212. Dieses Beispiel soll keine Beschränkung des Umfangs der Nutzung oder Funktionalität von Ausführungsformen der hier beschriebenen Erfindung nahelegen. Ungeachtet dessen kann die Datenverarbeitungseinheit 212 implementiert werden und/oder eine beliebige der hier dargelegten Funktionalitäten durchführen.
  • In der Datenverarbeitungseinheit gibt es ein Computersystem, das mit zahlreichen anderen universellen oder speziellen Datenverarbeitungssystem-Umgebungen oder Konfigurationen funktionsfähig ist. Zu Beispielen für bekannte Datenverarbeitungssysteme, Umgebungen und/oder Konfigurationen, die für die Nutzung mit dem Computersystem geeignet sein können, gehören unter anderem, ohne darauf beschränkt zu sein, Personal-Computer-Systeme, Server-Computer-Systeme, schlanke Clients, leistungsintensive Clients, Hand- oder Laptop-Einheiten, Mehrprozessorsysteme, Systeme auf der Grundlage von Mikroprozessoren, Beistellgeräte, programmierbare Unterhaltungselektronik, Netzwerk-PCs, Minicomputersysteme, Großrechnersysteme und verteilte Cloud-Computing-Umgebungen, die jedes beliebige der oben genannten Systeme oder Einheiten und Ähnliches enthalten.
  • Das Computersystem 212 kann im allgemeinen Kontext von durch ein Computersystem ausführbaren Anweisungen beschrieben werden, z.B. Programmmodule (z.B. das System 15 zum automatisierten Erzeugen von Schema-Annotationsdateien und die entsprechenden Module), die von einem Computersystem ausgeführt werden. Im Allgemeinen können Programmmodule Routinen, Programme, Objekte, Komponenten, Logik, Datenstrukturen usw. enthalten, die bestimmte Aufgaben durchführen oder bestimmte abstrakte Datentypen implementieren.
  • Das Computersystem 212 wird in Form einer universellen Datenverarbeitungseinheit dargestellt. Bei den Komponenten des Computersystems 212 kann es sich - ohne auf diese beschränkt zu sein - um einen oder mehrere Prozessoren oder Verarbeitungseinheiten 155, einen Systemspeicher 136 und einen Bus 218 handeln, der verschiedene Systemkomponenten, darunter den Systemspeicher 136, mit dem Prozessor 155 verbindet.
  • Der Bus 218 stellt einen oder mehrere von beliebigen mehreren Arten von Busstrukturen dar, darunter ein Speicherbus oder eine Speichersteuereinheit, ein Peripheriebus, eine AGP-Schnittstelle (Accelerated Graphics Port) und ein Prozessor oder lokaler Bus, der eine beliebige aus einer Vielfalt von Busarchitekturen nutzt. Beispielsweise und nicht einschränkend enthalten solche Architekturen einen Industry-Standard-Architecture(ISA)-Bus, einen Micro-Channel-Architecture(MCA)-Bus, einen Enhanced-ISA(EISA)-Bus, einen lokalen Video-Electronics-Standards-Association(VESA)-Bus und einen Peripheral-Component-Interconnects(PCI)-Bus.
  • Das Computersystem 212 umfasst in der Regel verschiedene von durch einen Computer lesbare Medien. Bei diesen Medien kann es sich um beliebige verfügbare Medien handeln, auf die das Computersystem 212 zugreifen kann, darunter flüchtige und nichtflüchtige Medien, wechselbare und nichtwechselbare Medien.
  • Der Systemspeicher 136 kann vom Computersystem lesbare Medien in Form von flüchtigen Speichern, z.B. Direktzugriffsspeicher (RAM) 230 und/oder Cache 232, umfassen. Das Computersystem 212 kann ferner weitere wechselbare/nichtwechselbare, flüchtige/nichtflüchtige Speichermedien eines Computersystems umfassen. Nur beispielhaft kann das Speichersystem 234 bereitgestellt werden, um ein nichtwechselbares, nichtflüchtiges magnetisches Medium auszulesen und zu beschreiben (nicht dargestellt und üblicherweise als „Festplatte“ bezeichnet). Obwohl nicht dargestellt, können ein Laufwerk für magnetische Speicherplatten zum Auslesen und Beschreiben einer wechselbaren, nichtflüchtigen magnetischen Speicherplatte (z.B. „Diskette“) und ein Laufwerk für optische Speicherplatten zum Auslesen oder Beschreiben einer wechselbaren, nichtflüchtigen optischen Speicherplatte wie einer CD-ROM, DVD-ROM und andere optische Medien bereitgestellt werden. In solchen Fällen kann jedes über eine oder mehrere Datenmedien-Schnittstellen mit dem Bus 218 verbunden sein. Wie nachstehend weiter dargestellt und beschrieben, kann der Speicher 136 mindestens ein Programmprodukt mit einem (z.B. mindestens einem) Satz von Programmmodulen enthalten, die so konfiguriert sind, dass sie die Funktionen der Ausführungsformen der Erfindung ausführen.
  • Das Programm/Dienstprogramm 240 mit (mindestens) einem Satz von Programmmodulen 242 (z.B. das System 15 zum automatisierten Erzeugen von Schema-Annotationsdateien und die entsprechenden Module) kann beispielsweise und nicht einschränkend im Speicher 136 gespeichert sein, ebenso ein Betriebssystem, ein oder mehrere Anwendungsprogramme, weitere Programmmodule und Programmdaten. Das Betriebssystem, ein oder mehrere Anwendungsprogramme, weitere Programmmodule und Programmdaten oder eine Kombination daraus können jeweils eine Implementierung einer Netzwerkumgebung enthalten. Die Programmmodule 242 führen im Allgemeinen die Funktionen und/oder Methodiken von Ausführungsformen der hier beschriebenen Erfindung aus.
  • Das Computersystem 212 kann auch mit einer oder mehreren externen Einheiten 214, z.B. einer Tastatur, einer Zeigeeinheit, einer Anzeige 224 usw., Daten austauschen; sowie mit einer oder mehreren Einheiten, die einen Benutzer in die Lage versetzen, mit dem Computersystem 212 zu interagieren; und/oder beliebigen Einheiten (z.B. Netzwerkkarte, Modem usw.), die das Computersystem 212 in die Lage versetzen, mit einer oder mehreren Datenverarbeitungseinheiten Daten auszutauschen. Ein solcher Datenaustausch kann über Eingabe/Ausgabe-Schnittstellen (E/A-Schnittstellen) 222 erfolgen. Überdies kann das Computersystem 212 mit einem oder mehreren Netzwerken wie beispielsweise einem lokalen Netzwerk (LAN), einem allgemeinen Weitverkehrsnetzwerk (WAN) und/oder einem öffentlichen Netzwerk (z.B. das Internet) über den Netzwerkadapter 225 Daten austauschen. Wie dargestellt, tauscht der Netzwerkadapter 225 über den Bus 218 mit den anderen Komponenten des Computersystems 212 Daten aus. Es versteht sich, dass sonstige Hardware- und/oder Software-Komponenten in Verbindung mit dem Computersystem 212 verwendet werden können, auch wenn sie nicht dargestellt sind. Beispiele sind unter anderem, ohne auf diese beschränkt zu sein: Mikrocode, Einheitentreiber, redundante Verarbeitungseinheiten, Anordnungen externer Festplattenlaufwerke, RAID-Systeme, Bandlaufwerke und Speichersysteme für die Datenarchivierung usw.
  • 3A zeigt ein Beispiel für ein Extrahieren von Metadaten aus einer Personaldatenbank mit einer einzelnen Tabelle. Diese Tabelle wird durch Extrahieren von Daten aus einer Datenbank erzeugt, die Mitarbeitermerkmale enthält. In diesem Beispiel werden Metadaten automatisch, z.B. mit Hilfe der Metadaten-Extraktionssteuerkomponente 105, aus der relationalen Datenbank 50 extrahiert (z.B. Tabellenname, Spaltenname und Datentyp).
  • Die extrahierten Daten werden dem Benutzer z.B. in einem Browserformat oder einer beliebigen anderen geeigneten interaktiven Entsprechung dargestellt, z.B. unter Verwendung der Benutzerschnittstellen-Steuerkomponente 110, die es dem Benutzer ermöglicht, die extrahierten Daten zu annotieren. In diesem Beispiel stellt der Annotator eine Beschreibung für die Spalte „elementLabel“ bereit, indem er für jede Zeile in dieser Spalte eine Beschreibung eingibt (z.B. Mitarbeiterkennung, Mitarbeitername, usw.). Der Annotator kann auch einen semantischen Typ („semanticType“) aus einer Liste gültiger Typen (z.B. Person, Datum, Geld, keiner usw.) für jeden entsprechenden Eintrag in der Spalte „elementLabel“ auswählen.
  • In einigen Ausführungsformen werden dem Benutzer Richtlinien zum Annotieren der Spalten vorgelegt, und es kann ihm eine Liste der unterstützten semantischen Typen mit Beispielen als Richtlinien bereitgestellt werden. Anhand der Richtlinien und der unterstützten semantischen Typen annotiert der Benutzer die Metadaten, um eine Elementbezeichnung und einen semantischen Typ für jeden Eintrag aufzunehmen. Gemäß weiteren Aspekten kann der Benutzer auch ein englisches Wort als Tabellenname bereitstellen, wenn der Tabellenname kein englisches Standardwort ist (z.B. wenn der Tabellenname ein Variablenname wie EMP_TABLE ist, kann der Benutzer den Tabellennamen so ändern, dass er sich auf „Mitarbeiter“ bezieht).
  • In diesem Beispiel annotiert der Benutzer die erste und die letzte Spalte, wie in 3B gezeigt, auf der Grundlage der Informationen, die in den dazwischenliegenden extrahierten Spalten bereitgestellt werden (z.B. tableName, columnName und dataType). Der Benutzer kann die angezeigten Spalten mit Annotationen versehen, z.B. in einem Textformat oder in einem Sprachformat, das in Text umgewandelt werden kann, um eine Tabelle mit Annotationen zu erzeugen.
  • Diese Informationen (z.B. die Annotationen des Benutzers, die extrahierten Daten usw.) werden mit den hier beschriebenen Techniken verarbeitet, um mit dem System 15 zum automatisierten Erzeugen von Schema-Annotationsdateien eine SAF-Datei zu erzeugen. Jeder Eintrag der SAF-Datei weist eine Phrase in feststehendem Format auf, die die Beziehung zwischen Entitäten/Konzepten (z.B. zwischen zwei Entitäten/Konzepten) in der Datenbank beschreibt, sowie einen Satz von Merkern, die jede Entität/jedes Konzept beschreiben. Um die SAF-Datei zu erzeugen, werden die Spaltenbeschreibungen und semantischen Typen analysiert, und die Semantik der Spalten und ihre Beziehungen zueinander werden ermittelt. Die SAF-Dateien können als Schemata 36 gespeichert werden. Dieser Prozess wird noch ausführlicher beschrieben (siehe z.B. 3C).
  • 3C zeigt einen beispielhaften Arbeitsablauf zum automatisierten Erzeugen einer SAF in einem System, das das NLIDB-Modul 125 aufweist. In Operation 410 werden Metadaten aus einer Datenbank (z.B. einer relationalen Datenbank) extrahiert. In Operation 415 wird ein Benutzer aufgefordert, Metadaten zu annotieren. In Operation 420 werden die annotierten Metadaten empfangen.
  • In Operation 425 werden die mit Annotationen versehenen Metadaten von dem System 15 zum automatisierten Erzeugen von Schema-Annotationsdateien verarbeitet, um eine SAF zu erzeugen, die in der Regel eine Mehrzahl von Einträgen aufweist. Wörter und/oder Phrasen, die vom Benutzer (Spalteneinträge) zum Bezeichnen der Einträge bereitgestellt werden, können einem Satz von Kategorien zugeordnet werden. Wörter können zum Beispiel auf der Grundlage ihres Typs (z.B. Identität, Datum usw.) zugeordnet werden. Wörter können weiterhin auf der Grundlage einer Wortart (z.B. Substantive, Verben usw.) zugeordnet werden. Gemäß einigen Aspekten können Verbformen von Substantiven als Verben klassifiziert werden.
  • Jeder Satz von Klassifizierungsergebnissen entspricht einem bestimmten Muster einer semantischen Beziehung. Wenn die Bezeichnung beispielsweise „Mitarbeitername“ lautet, kann der SAF-Eintrag „Mitarbeiter hat Name“ lauten. Wenn die Bezeichnung in einem anderen Beispiel „Einstellungsdatum“ lautet, können mehrere Einträge wie „Mitarbeiter hat Einstellungsdatum“ und „Mitarbeiter wurde an einem Datum eingestellt“ erzeugt werden. Weitere Beispiele für Einträge in der SAF, die von dem System 15 zum automatisierten Erzeugen von Schema-Annotationsdateien erzeugt werden, sind in 4 dargestellt. Die eingerückten Einträge werden von der Paraphrase-Steuerkomponente 118 erzeugt, die Verben identifiziert, die zwei Substantive verbinden.
  • Das Hauptkonzept/die Hauptentität der Tabelle (z.B. Tabellenname, der „Mitarbeiter“ lautet) kann mit den anderen Spalten durch eine Substantivklassifizierung verbunden und an eine Paraphrase-Steuerkomponente 118 gesendet werden, die Verben erzeugt, die die Konzepte/Entitäten semantisch verbinden (z.B. zwei oder mehr Wörter). Beispielsweise kann die Paraphrase-Steuerkomponente für die Entitäten „Mitarbeiter“ und „Führungskraft“ Verben wie z.B. „arbeiten für“, „berichten an“, „eingestellt von“ usw. erzeugen. Die Verben können auf der Grundlage ihrer Verwendungshäufigkeit eingestuft werden. Diese Verben können verwendet werden, um Einträge zu erzeugen, die Beziehungen zwischen Einträgen in derselben Tabelle oder in verschiedenen Spalten und/oder Tabellen beschreiben.
  • Wenn die Annotation der Spalte (Elementbezeichnung) zwei oder mehr Wörter enthält, verwendet das System eine unterstützte Syntax und lässt keine nichtunterstützten Syntaxen zu. So werden z.B. „Mitarbeitereinstellungsdatum“ oder „Einstellungsdatum des Mitarbeiters“ unterstützt, „Datum der Einstellung des Mitarbeiters“ hingegen nicht.
  • Weitere Einzelheiten zum Erzeugen einer SAF werden im Folgenden bereitgestellt. Mithilfe des Parsers 116 und der SAF-bezogenen Dateien 117 (z.B. WS-Datei und IV-Datei) analysiert die SAF-Erzeugungssteuerkomponente 115 einen Eintrag wie folgt:
    1. a. Ist das Konzept/die Entität „Identität“ für das Haupttabellenkonzept (z.B. Mitarbeitername)? Enthält die Phrase den Tabellennamen als eines der Konzepte/eine der Entitäten?
  • Wenn ja, beschreibt der Eintrag ein Konzept/eine Entität, das/die direkt mit dem Tabellennamen verbunden ist, und der semantische Typ des anderen Wortes wird mit der WS-Datei verglichen. Wenn der Eintrag mit einem der „Identitäts“-Wörter übereinstimmt, ermittelt das System, dass es sich um einen Identitätseintrag handelt.
  • b. Handelt es sich dabei um eine andere Entität/ein anderes Konzept „Identität“ als den Haupttabellennamen (z.B. „Name der Führungskraft“ oder „Abteilungsname“)?
  • Das System wertet dieses Konzept/diese Entität nach demselben Prozess wie (a) aus, bei dem der Eintrag nicht der Haupttabellenname ist.
  • c. Handelt es sich dabei um ein Konzept/eine Entität „Nichtidentität“ (z.B. „Gehalt des Mitarbeiters“, „Führungskraft des Mitarbeiters“ oder „Mitarbeitereinstellungsdatum“)? Das System wertet den Eintrag anhand dieser Analyse aus, wenn das zweite Konzept/die zweite Entität nicht mit der in der WS-Datei bereitgestellten Semantik „Identität“ übereinstimmt. Enthält die Entität/das Konzept mehrere Wörter (z.B. „Einstellungsdatum“), wird eine Liste von Einzelwörtern erzeugt, um die Mehrwortentität darzustellen (z.B. Einstellungsdatum, Einstellung usw.).
  • Anhand dieser Klassifizierungen lässt sich ermitteln, welche beschreibenden Wörter/Phrasen „eindeutig“ sind (z.B. gibt es nur einen einzigen Verweis in einer Tabellenspalte, wie „Führungskraft“ oder „Abteilung“) und welche Wörter/Phrasen nicht eindeutig sind (z.B. „Name“). Einige Konzepte, z.B. der semantische Typ „Datum“, erhalten spezielle Klassifizierungen. Wenn die Tabelle mehrere Datumsangaben enthält (z.B. „Einstellungsdatum“ und „Austrittsdatum“), sind zwar die einzelnen Wörter eindeutig, sie beziehen sich aber auf denselben Konzepttyp „Datum“ und werden daher nicht als eindeutig betrachtet.
  • Auf der Grundlage dieser Klassifizierungen werden SAF-Einträge erzeugt und die Merkerangaben anhand der aus der Tabelle extrahierten Informationen konfiguriert. Für eine erste Klassifizierung wird ein einzelner Eintrag „Eigenschaft“ für das Hauptelement erzeugt (z.B. „Mitarbeiter hat Name“).
  • Für die zweite Klassifizierung werden mehrere Einträge wie folgt erzeugt:
    1. a) Für das Konzept wird ein Eintrag „Eigenschaft“ (z.B. „Führungskraft hat Name“) erzeugt.
    2. b) Für das Hauptelement wird ein zweiter Eintrag „Eigenschaft“ erzeugt (z.B. „Mitarbeiter hat Führungskraft“).
    3. c) Der Parser 116 extrahiert die Eigenschaften des Konzepts/der Entität. In diesem Fall wird „Führungskraft“ als „Substantiv“ dargestellt, kann aber auch die Verbform „führen“ haben. Da es für das Hauptelement eine Verbform gibt, wird ein dritter Eintrag erzeugt, der lautet „Führungskraft führt Mitarbeiter“. Wenn das Hauptelement keine Verbform hat, kann ein Eintrag mit einem unspezifischen Standard-Schlüsselwortverb erzeugt werden (z.B. kann der Eintrag für die Spalte „Abteilungsname“ lauten „Abteilungsname - Verb - Mitarbeiter“, wobei Verb als Standardverb (z.B. umfasst, stellt ein usw.) festgelegt ist).
    4. d) Es wird ein vierter Eintrag mit der Syntax „Hauptelement - Verb - Präposition - Substantiv“ erzeugt. Das Verb und die Präpositionen sind Standard-Schlüsselwörter. Der Eintrag hat das Format: „Mitarbeiter - Verb - Präposition - Führungskraft“, was gleichbedeutend ist mit „Mitarbeiter berichtet an die Führungskraft“, ohne dass die spezifische Semantik für das Verb und die Präposition angegeben wird. In ähnlicher Weise kann „Mitarbeiter - Verb - Präposition - Abteilung“ ein weiterer Eintrag sein, der erzeugt wird.
    5. e) Zusätzlich zu den SAF-Einträgen werden die beiden Substantivkonzepte (z.B. Mitarbeiter und Führungskraft) durch die Paraphrase-Steuerkomponente 118 verarbeitet und eine Liste relevanter Verben, die diese Konzepte verbinden, extrahiert (z.B. für „Mitarbeiter und Abteilung“ das Verb „arbeiten“ und für „Mitarbeiter und Gehalt“ das Verb „verdienen“ usw.). Die Konzeptsubstantive und die ihnen zugehörigen Verben werden der VP-Datei hinzugefügt, um sie in der Phase der Beantwortung der Fragen zu verwenden.
  • Die dritte Klassifizierung ähnelt der zweiten Klassifizierung, außer wenn mehrere Wörter, die das Konzept und/oder bestimmte semantische Typen beschreiben, wie z.B. Datum, das Konzept charakterisieren:
    1. a) Für das unterstrichene Einzelwort, das aus den mehreren Wörtern erzeugt wird, wird ein Eigenschaftseintrag erzeugt (z.B. „Mitarbeiter hat Einstellungsdatum“).
    2. b) Ein Eigenschaftseintrag wird aus den mehreren Wörtern selbst erzeugt (z.B. „Einstellung hat Datum“).
    3. c) Die mehreren Wörter werden mit der WS-Datei verglichen. Wenn eines der Wörter vom Typ „Datum“ oder „Standort“ ist und der Parser 116 eine Verbform des anderen Wortes erkennt, wird die Vergangenheitsform des Verbs erzeugt oder aus der IV-Datei extrahiert, und es wird ein Eintrag mit der Verbform des Wortes erzeugt. „Mitarbeitereinstellungsdatum“ ergibt zum Beispiel „Mitarbeiter wurde an einem Datum eingestellt“. Wenn es eine Spalte mit einer Beschreibung „Wohnsitzland des Mitarbeiters“ gibt, kann ein Eintrag „Mitarbeiter wohnt in einem Land“ erzeugt werden. Die verwendeten Präpositionen sind „an“ für das Datum, „in“ für den Standort und „für“ für andere Typen. Die Einträge werden jedoch unabhängig von der verwendeten Präposition erzeugt, vorausgesetzt, die Syntax ist korrekt.
  • Bei diesem automatischen Prozess kann eine geringe Anzahl von Einträgen mit falscher Syntax oder Semantik entstehen, die beim Erstellen der lexikalischen Regeln verworfen werden können. Unabhängig davon stellt die Summe der Einträge eine ausreichende ontologische Darstellung bereit, um eine Beantwortung der meisten Fragen zu ermöglichen.
  • In Operation 425 wird die SAF-Datei auf der Grundlage der Annotationen und der extrahierten Metadaten wie hier beschrieben erzeugt (siehe auch 4). Der Parser, die WS-Datei und die IV-Dateien sind bereits vorhandene Ressourcen, die beim Erzeugen der SAF verwendet werden. Die TR-Datei wird während der Trainingsphase verwendet, wenn die SAF zum Erzeugen semantischer Regeln für das Schema verarbeitet wird. Die VP-Datei wird beim Erzeugen der SAF erzeugt und in der Betriebsphase verwendet, um eine Frage des Benutzers zu beantworten.
  • In Operation 435 werden lexikalische Regeln erstellt, um die SAF-Einträge zu automatisieren. Sobald die SAF erzeugt ist, können bereits bestehende Dateien mit lexikalischen Regeln zum Verarbeiten der SAF als Antwort auf Benutzerfragen verwendet werden. Die lexikalischen Regeln können verwendet werden, um Syntax und Struktur der Sprache in Übereinstimmung zu bringen.
  • Beim automatisierten Erzeugen einer SAF umfassen die erzeugten lexikalischen Regeln sowohl Regeln, die (1) mit Phrasen mit genauen lexikalischen Informationen übereinstimmen, als auch (2) breiter gefasste Regeln, die keine genauen lexikalischen Informationen erfordern, um mit einer Phrase übereinzustimmen. Wird die SAF automatisiert erzeugt, sind Einträge möglich, die abstrakter sind und keine genauen lexikalischen Informationen enthalten.
  • Nachfolgend ist ein Beispiel für eine Musterregel dargestellt, die verwendet wird, um Phrasen mit genauen lexikalischen Informationen in Übereinstimmung zu bringen (die erste Zeile ist der Name der Regel und gibt an, dass es zwei Substantivvariablen und ein Verb gibt):
    • root=prop_owner_VAR1_VAR2_VAR3_
    • -> VAR2 [ hasPartOfSpeech(„verb“), hasLemmaForm(„VAR2“) ]
    • { subj -> VAR1[hasPartOfSpeech(„noun“), hasLemmaForm(„VAR1“)]}
    • {obj -> VAR3 [hasPartOfSpeech(„noun“), hasLemmaForm(„VAR3“)]}
  • Die vorstehende Regel stimmt mit jedem Satz mit dem Muster „Subjekt Verb Objekt“ überein. Die erste Zeile ist der Titel oder Name der Regel. VAR1 und VAR2 sind generische Darstellungen von Subjekt und Objekt, und das Verb ist die Darstellung für ein beliebiges Verb. Die lexikalische Regel, die durch diese Musterregel erzeugt wird, bringt präzise Wörter für das Subjekt, das Verb und das Objekt in Übereinstimmung (da die Regel die Lemmaform der Wörter vorschreibt).
  • Ein Beispiel für eine Musterregel, die beim automatischen Verarbeiten der SAF verwendet wird (setzt keine genauen lexikalischen Informationen voraus, um mit einer Phrase übereinzustimmen):
    • root=prop_owner_VARl_VAR2_VAR3_
    • -> VAR2 [ hasPartOfSpeech(„verb“) ]
    • { subj -> VAR1[hasPartOfSpeech(„noun“), hasLemmaForm(„VAR1“) ]}
    • {obj-> VAR3 [hasPartOfSpeech(„noun“), hasLemmaForm(„VAR3“)]}
  • Die vorstehende Regel ähnelt der ersten Regel in der Syntax, gibt aber nicht die Lemmaform für das Verb an. Folglich enthält die erzeugte lexikalische Regel keine expliziten semantischen Informationen und kein spezifisches Wort für das Verb (in einigen Fällen wird sie mit Standard-Schlüsselwortverben erzeugt), und jeder Satz mit der übereinstimmenden Syntax stimmt mit den Wörtern für Subjekt und Objekt überein, unabhängig davon, wie das Wort für das Verb lautet. Diese Regeltypen können wie hier beschrieben gekennzeichnet werden.
  • Ein weiteres Beispiel: Für die Spalte „Abteilungsname“ (die mehrere SAF-Einträge erzeugt) ergeben die Einträge „Abteilung hat Name“ und „Führungskraft führt Mitarbeiter“ genaue lexikalische Regeln. „Abteilung - Verb - Mitarbeiter“ stimmt jedoch mit einer Regel wie folgt überein:
    • root=prop_owner_department_verb_employee_
    • -> _verb_ [ hasPartOfSpeech(„verb“) ]
    • { subj -> department[hasLemmaForm(„department“) ] }
    • { obj -> employee [ hasLemmaForm(„employee“)]}
  • Die vorstehende Regel stimmt mit jedem Satz mit der Syntax Subjekt Verb Objekt überein, wobei Subjekt die Abteilung und Objekt der Mitarbeiter ist. Fragen wie „Wie viele Mitarbeiter hat die Verkaufsabteilung eingestellt?“ stimmen mit einer der Ableitungen der oben genannten Regel überein und werden richtig beantwortet. Bei einer Frage wie „Wie viele Mitarbeiter der Verkaufsabteilung sind in den Ruhestand gegangen?“ wird diese Frage jedoch genauso beantwortet wie die vorherige Frage, da das Verb in der Regel unspezifisch ist. Um Nichtübereinstimmungen beim Verarbeiten der Frage zu vermeiden, werden die Regeln mit unspezifischen Verben mit der VP-Datei abgeglichen, die beim Erzeugen der SAF erzeugt wurde. Diese Datei wird mithilfe einer Paraphrase-Steuerkomponente 118 erzeugt und umfasst eine Liste von sinnvollen Verben, die einen Mitarbeiter einer Abteilung zuordnen. Wenn ein Verb im Satz mit keinem der für diese beiden Substantive aufgeführten Verben übereinstimmt, wird die Regel verworfen.
  • Die lexikalischen Regeln werden auf die SAF-Einträge angewendet, um eine übereinstimmende Syntax zu finden. Wenn ein SAF-Eintrag mit einer Regel übereinstimmt, wird automatisch eine neue Regel mit der Syntax der Musterregel erzeugt, wobei jedoch die generischen Variablen durch die Wörter aus dem SAF-Eintrag ersetzt werden. Wendet man beispielsweise die „Subjekt-Verb-Objekt“-Regel der Musterdatei auf den vierten Eintrag des vorstehenden Beispiels an, wird die folgende lexikalische Regel erzeugt:
    • root=prop owner_manager_manage employee_
    • -> manage [ hasPartOfSpeech(„verb“), hasLemmaForm(„manage“) ]
    • { subj -> manager hasLemmaForm(„manage“) ] }
    • { obj -> employee [ hasLemmaForm(„employee“)]}
  • Die vorstehende Regel stimmt genau mit der Syntax und Semantik von „Führungskraft führt Mitarbeiter“ überein. Für jeden Eintrag, der mit einer der Musterregeln übereinstimmt, wird automatisch eine Reihe von abgeleiteten Regeln mit unterschiedlicher Syntax und denselben semantischen Informationen erzeugt, um die Beantwortung verschiedener Arten von Fragen zu ermöglichen. Die abgeleiteten Regeln des vierten Eintrags können z.B. mit „Wie viele Mitarbeiter führt John“ oder „Welche Führungskraft führt Jack“ oder „Wer führt mehr Mitarbeiter als Joe“ übereinstimmen. Ableitungen des fünften Eintrags unterstützen Fragen wie „Wer wurde nach 2013 eingestellt?“ oder „Wie viele Mitarbeiter wurden nach Jim eingestellt?“ usw.
  • Die Musterregeln können während eines Trainingsprozesses auf SAF-Einträge angewendet werden, und es können automatisch schemaabhängige lexikalische Regeln erzeugt werden, die mit der Syntax der Musterregeln übereinstimmen, aber die semantischen Informationen der SAF enthalten.
  • Die Datei mit den lexikalischen Regeln kann während der Betriebsphase zum Verarbeiten von Eingabefragen eines Benutzers in SQL verwendet werden, wie in den Operationen 440, 445 und 450 dargestellt. Die lexikalischen Regeln für die automatische SAF sind breiter gefasst und können mit Eingabesätzen mit einer Semantik übereinstimmen, die in der Datenbank nicht vorhanden sind. Zum Verarbeiten der automatisch erzeugten SAF-Regeln sind daher mehr Ressourcen und algorithmische Analysen erforderlich, um falsche Regelübereinstimmungen zu identifizieren. Diese Techniken können mit manuell erzeugten lexikalischen Regeln verwendet werden, um mit jedem Eingabesatz übereinzustimmen, der die genaue Syntax und Semantik der SAF-Einträge aufweist.
  • Das automatisierte Schema und die lexikalischen Regeln für die Datenbank können somit zum Beantworten von Benutzerfragen verwendet werden. In Operation 445 kann ein Benutzer Fragen an das System senden. Das System kann die Frage unter Verwendung der lexikalischen Regeln und des automatisierten Schemas verarbeiten, um die Antwort in der Datenbank 50 abzurufen. In Operation 450 kann das System Antworten auf die Frage des Benutzers bereitstellen.
  • 4 zeigt ein Beispiel für Einträge in einer SAF, die von dem System 15 zum automatisierten Erzeugen von Schema-Annotationsdateien erzeugt wurden. Die eingerückten Einträge werden von der Paraphrase-Steuerkomponente 118 erzeugt, die Verben identifiziert, die zwei Substantive verbinden.
  • 5 zeigt eine weitere Ausführungsform, bei der die Korpusanalyse und zusätzliche Ressourcen (z.B. Online-Ressourcen) verwendet werden können, um Konzepte/Entitäten mit ontologischen Beziehungen zu verbinden, d.h. mithilfe von Verben, die entsprechende Substantive als Argumente aufweisen. Diese Art von Analyse kann zum Verwalten von Annotationen verwendet werden, die aus einem einzigen Wort bestehen.
  • Gemäß dieser Ausführungsform kann die Extraktion von Metadaten aus der relationalen Datenbank in Operation 505 erfolgen. Die Einträge können in Operation 510 mit Annotationen versehen werden, manche mit einem einzigen Wort. Die Annotationen, die aus einem einzigen Wort bestehen, können in Operation 515 ermittelt und für eine weitere Analyse ausgewählt werden. In Operation 518 werden zusätzliche ontologische Regeln bereitgestellt. Das System kann verschiedene syntaktische, ontologische und semantische Regeln verwenden.
  • In Operation 530 analysiert das System einen Datenkorpus, um Beziehungen zwischen Wörtern zu ermitteln. Gemäß einigen Aspekten berechnet das System die Wahrscheinlichkeiten des Auftretens in bestimmten syntaktischen Positionen für jedes Verb und verwendet dann eine Gleichung für die Berechnung der Kettenwahrscheinlichkeit, um die Kandidaten in eine Rangfolge zu bringen, wodurch präzise und relevante Beziehungen ermittelt werden können.
  • Als Beispiel für eine Wahrscheinlichkeitsberechnung kann für ein beliebiges Substantiv (n) und für eine beliebige syntaktische Position ((s) wie z.B. subj, obj oder präpositionales Objekt von Präpositionen (z.B. zu, bei, von) und ein beliebiges Verb (v)) die Wahrscheinlichkeit von v und s für n ermittelt werden: p ( v , s | n ) = p ( v , s , n ) / p ( n ) ̃ p ( v | n ) * p ( v | s ) * p ( n | v , s )
    Figure DE112020005268T5_0001
  • Es können Wahrscheinlichkeiten p(v|n), p(v|s) p(n|s) aus dem Korpus ermittelt werden, die bereichsspezifisch oder allgemein sein können. Für zwei beliebige Substantive (n1 und n2) und für eine beliebige Kombination von syntaktischen Positionen (s1, s2) kann die Wahrscheinlichkeit berechnet werden: p ( v , n 1, n 2 ) ̃ p ( v , s 1 | n 1 ) * p ( v , s 2 | n 2 )
    Figure DE112020005268T5_0002
    und die Verben können auf der Grundlage dieser Wahrscheinlichkeit in eine Rangfolge gebracht werden. Verben, die zu hoch, zu niedrig oder als zu häufig eingestuft werden, werden normalerweise nicht berücksichtigt. Ontologische Beschränkungen können automatisch aus Informationsquellen, z.B. aus jeder Online- oder digitalisierten Quelle, gesammelt und zum Identifizieren von Beziehungen verwendet werden.
  • In Operation 520 können die aus dem Korpus identifizierten Beziehungen auf der Grundlage ontologischer Regeln gefiltert werden, z.B. durch Anwenden syntaktischer Beschränkungen, ontologischer Ähnlichkeit und/oder semantischer Ähnlichkeit. Ontologische Regeln umfassen zum Beispiel Substantive, die zusammen auftreten, Verben, die zusammen mit Substantiven auftreten, usw. Ein weiteres Beispiel ist die Beschränkung möglicher syntaktischer Kombinationen, sodass Komplementpositionen wie z.B. „subj subj“ usw. nicht berücksichtigt werden. In Operation 540 werden gefilterte Beziehungen bereitgestellt.
  • Gemäß anderen Aspekten kann ein System für maschinelles Lernen darauf trainiert werden, schemaspezifische lexikalische Regeln mit semantischer Annotation zu erzeugen. Das System für maschinelles Lernen kann die SAF und die Musterregeln, die auf den festen syntaktischen Regeln der englischen Sprache beruhen, verwenden, um schemaspezifische lexikalische Regeln zu erzeugen. Zusätzliche lexikalische Regeln können beispielsweise durch überwachtes Training für maschinelles Lernen mit Phrasen in natürlicher Sprache erzeugt werden, die die SAF-Einträge paraphrasieren. Diese zusätzlichen Regeln erweitern den anfänglichen Satz fester Regeln und erzeugen einen reichhaltigeren Satz lexikalischer Regeln, die ein Verarbeiten eines breiteren Spektrums an Phrasen in natürlicher Sprache ermöglichen.
  • 6 ist ein Funktionsablaufplan mit einer Übersicht der Operationen des hier bereitgestellten Systems 15 zum automatischen Erzeugen von Schema-Annotationsdateien. In Operation 610 werden die Metadaten der relationalen Datenbank automatisch von einer Datenverarbeitungseinheit extrahiert. In Operation 620 fordert die Datenverarbeitungseinheit zur Eingabe (z.B. durch einen Benutzer) von Bezeichnungen in Textform für Spalten der Metadaten auf. In Operation 630 erzeugt die Datenverarbeitungseinheit automatisch eine Schema-Annotationsdatei auf der Grundlage der Metadaten der relationalen Datenbank und der Bezeichnungen in Textform für die Spalten. In Operation 640 wird eine Abfrage in natürlicher Sprache der relationalen Datenbank mithilfe der Schema-Annotationsdatei verarbeitet.
  • Die Merkmale von Ausführungsformen der vorliegenden Erfindung umfassen ein automatisiertes Erzeugen der SAF. SAF-Dateien werden erzeugt, indem ein Benutzer minimale Annotationen vornimmt, und der Benutzer benötigt keine Kenntnisse über die Struktur oder Ontologie der Datenbank, aus der die Metadaten abgerufen wurden. Weiterhin sind die erzeugten SAF-Einträge breiter gefasst als manuell erzeugte Einträge. Entsprechend sind die SAF robuster als manuelle Verfahren zum Erzeugen von SAF-Dateien. Weiterhin können anhand der automatisch erzeugten SAF-Dateien schemaspezifische lexikalische Regeln erzeugt werden. Die hier erzeugten SAFs können mit Systemen verwendet werden, die mit einem Benutzer interagieren, z.B. in Form von Fragen und Antworten. So werden beispielsweise lexikalische Regeln, die anhand der automatisch SAF erzeugt werden, auf die vom Benutzer eingegebene Frage angewendet, um den Inhalt der Benutzerfrage zu erkennen und zu verarbeiten. Die erzeugte SAF und die festen Musterregeln werden verwendet, um einen Satz von lexikalischen Regeln automatisch zu erzeugen, die sich auf das jeweilige Datenbankschema beziehen. Die NLP-Steuerkomponente wendet diese Regeln auf die Fragen der Benutzer in natürlicher Sprache an, um die Elemente und die semantischen Beziehungen zwischen den Wörtern zu erkennen und einen Satz von dazwischenliegenden strukturierten Phrasen zu erzeugen, die dann in SQL-Abfragen umgewandelt werden.
  • Lexikalische Regeln aus automatisch erzeugten SAFs sind weit gefasst und können unspezifische lexikalische Informationen enthalten. Die lexikalischen Regeln können mit zusätzlichen Informationen verfeinert werden (z.B. Online- oder andere Textressourcen, um die richtige Bedeutung aus den Elementen der Eingabefrage zu extrahieren), um geeignete SQL-Abfragen zu erzeugen.
  • Diese Techniken verbessern somit die Funktionsweise des Computers und insbesondere der NLIDB-Systeme, die mit einem Benutzer interagieren, da SAFs mit minimaler Annotation automatisch erzeugt werden können. Die SAFs stellen einen Rahmen zum Erzeugen lexikalischer Regeln bereit, um auf den Inhalt der Datenbank zuzugreifen.
  • Es sei darauf hingewiesen, dass die oben beschriebenen und in den Zeichnungen dargestellten Ausführungsformen nur einige der vielen Möglichkeiten zum Implementieren von Ausführungsformen zum automatisierten Erzeugen einer SAF auf der Grundlage empfangener Annotationen darstellen.
  • Die Umgebung der Ausführungsformen der vorliegenden Erfindung kann eine beliebige Anzahl von Computersystemen oder anderen Verarbeitungssystemen (z.B. Client- oder Endbenutzersysteme, Server-Systeme usw.) und Datenbanken oder andere Datenablagen umfassen, die in beliebiger Weise angeordnet sind, wobei die Ausführungsformen der vorliegenden Erfindung auf jede gewünschte Art von Datenverarbeitungsumgebung (z.B. Cloud-Computing, Client-Server, Netzwerk-Datenverarbeitung, Großrechner, Einzelsysteme usw.) angewendet werden können. Das Computersystem oder andere Datenverarbeitungssystem, das in den Ausführungsformen der vorliegenden Erfindung verwendet wird, kann durch eine beliebige Anzahl von persönlichen oder anderen Arten von Computer- oder Datenverarbeitungssystemen implementiert werden (z.B. Desktop-Computer, Laptops, PDAs, mobile Einheiten usw.) und kann jedes handelsübliche Betriebssystem und jede Kombination von handelsüblicher und kundenspezifischer Software umfassen (z.B. Browser-Software, Datenübertragungssoftware, Server-Software, ein System 15 zum automatisierten Erzeugen von Schema-Annotationsdateien usw.). Diese Systeme können alle Arten von Monitoren und Eingabeeinheiten (z.B. Tastatur, Maus, Spracherkennung usw.) zur Eingabe und/oder Anzeige von Informationen umfassen.
  • Es sei darauf hingewiesen, dass die Software (z.B. das System 15 zum automatisierten Erzeugen von Schema-Annotationsdateien, einschließlich der Metadaten-Extraktionssteuerkomponente 105, der Benutzerschnittstellen-Steuerkomponente 110, der SAF-Erzeugungssteuerkomponente 115, der Regel-Erzeugungssteuerkomponente 120 und des NLIDB-Moduls 125 usw.) der Ausführungsformen der vorliegenden Erfindung in einer beliebigen Computersprache implementiert werden kann und von einem Computerfachmann auf der Grundlage der in der Spezifikation enthaltenen Funktionsbeschreibungen und der in den Zeichnungen dargestellten Ablaufpläne entwickelt werden kann. Weiterhin beziehen sich alle Verweise auf Software, die verschiedene Funktionen durchführt, im Allgemeinen auf Computersysteme oder Prozessoren, die diese Funktionen unter Steuerung der Software durchführen. Die Computersysteme der Ausführungsformen der vorliegenden Erfindung können alternativ durch jede Art von Hardware und/oder andere Verarbeitungsschaltkreise implementiert werden.
  • Die verschiedenen Funktionen der Computersysteme oder anderen Verarbeitungssysteme können in beliebiger Weise auf eine beliebige Anzahl von Software- und/oder Hardwaremodulen oder -einheiten, Verarbeitungs- oder Computersystemen und/oder Schaltkreisen verteilt werden, wobei die Computer- oder Verarbeitungssysteme lokal oder entfernt voneinander angeordnet sein und über ein beliebiges geeignetes Datenübertragungsmedium (z.B. LAN, WAN, Intranet, Internet, fest verdrahtet, Modemverbindung, drahtlos usw.) Daten übertragen können. Die Funktionen der Ausführungsformen der vorliegenden Erfindung können beispielsweise in beliebiger Weise auf die verschiedenen Endbenutzer-/Client- und Server-Systeme und/oder auf andere zwischengeschaltete Verarbeitungseinheiten verteilt werden. Die vorstehend beschriebene und in den Ablaufplänen dargestellte Software und/oder die beschriebenen und dargestellten Algorithmen können auf beliebige Weise angepasst werden, um die hier beschriebenen Funktionen auszuführen. Darüber hinaus können die Funktionen in den Ablaufplänen oder Beschreibungen in beliebiger Reihenfolge durchgeführt werden, um eine gewünschte Operation durchzuführen.
  • Die Software der Ausführungsformen der vorliegenden Erfindung (z.B. das System 15 zum automatisierten Erzeugen von Schema-Annotationsdateien, einschließlich der Metadaten-Extraktionssteuerkomponente 105, der Benutzerschnittstellen-Steuerkomponente 110, der SAF-Erzeugungssteuerkomponente 115, der Regel-Erzeugungssteuerkomponente 120 und des NLIDB-Moduls 125 usw.) kann auf einem nichtflüchtigen durch einen Computer verwendbaren Medium (z.B. magnetische oder optische Medien, magnetooptische Medien, Disketten, CD-ROM, DVD, Speichereinheiten usw.) einer stationären oder tragbaren Programmproduktvorrichtung oder -einheit zum Einsatz mit eigenständigen oder über ein Netzwerk oder ein anderes Datenübertragungsmedium verbundenen Systemen verfügbar sein.
  • Das Datenübertragungsnetzwerk kann durch eine beliebige Anzahl von Datenübertragungsnetzwerken beliebigen Typs implementiert werden (z.B. LAN, WAN, Internet, Intranet, VPN usw.). Die Computersysteme oder anderen Verarbeitungssysteme der Ausführungsformen der vorliegenden Erfindung können alle herkömmlichen oder anderen Datenübertragungseinheiten zum Übertragen von Daten über das Netzwerk über beliebige herkömmliche oder andere Protokolle umfassen. Die Computersysteme oder andere Verarbeitungssysteme können jede Art von Verbindung (z.B. drahtgebunden, drahtlos usw.) für den Zugang zum Netzwerk verwenden. Lokale Datenübertragungsmedien können durch jedes geeignete Datenübertragungsmedium implementiert werden (z.B. lokales Netzwerk (LAN), fest verdrahtete, drahtlose Verbindung, Intranet, usw.).
  • 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 Datenablagen usw.) implementiert werden, um Informationen zu speichern (z.B. extrahierte Daten 32, extrahierte annotierte Daten 34, Schemata 36, lexikalische Regeln 38 usw.). 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 Datenablagen usw.) implementiert werden, um Informationen zu speichern (z.B. extrahierte Daten 32, extrahierte annotierte Daten 34, Schemata 36, lexikalische Regeln 38 usw.). Das Datenbanksystem kann in den Server- und/oder Client-Systemen enthalten oder mit diesen verbunden sein. Die Datenbanksysteme und/oder Speicherstrukturen können von dem Computersystem oder anderen Verarbeitungssystemen entfernt oder lokal angeordnet sein und können beliebige Daten speichern (z.B. extrahierte Daten 32, extrahierte annotierte Daten 34, Schemata 36, lexikalische Regeln 38 usw.).
  • In den Ausführungsformen der vorliegenden Erfindung kann eine beliebige Anzahl von Benutzerschnittstellen beliebigen Typs (z.B. grafische Benutzerschnittstelle (GUI), Befehlszeile, Eingabeaufforderung usw.) zum Abrufen oder Bereitstellen von Informationen verwendet werden (z.B. extrahierte Daten 32, extrahierte annotierte Daten 34, Schemata 36, lexikalische Regeln 38 usw.), wobei die Schnittstelle beliebige Informationen in beliebiger Anordnung umfassen kann. Die Schnittstelle kann eine beliebige Anzahl von beliebigen Arten von Eingabe- oder Aktivierungsmechanismen (z.B. Schaltflächen, Symbole, Felder, Kästchen, Links usw.) umfassen, die an einem beliebigen Standort angeordnet sind, um Informationen einzugeben/anzuzeigen und gewünschte Aktionen über geeignete Eingabeeinheiten (z.B. Maus, Tastatur usw.) einzuleiten. Die Schnittstellenbildschirme können alle geeigneten Funktionen umfassen (z.B. Links, Registerkarten usw.), um auf beliebige Weise zwischen den Bildschirmen zu navigieren.
  • Die Ausgabe des Systems 15 zum automatisierten Erzeugen von Schema-Annotationsdateien kann beliebige Informationen enthalten, die in beliebiger Weise angeordnet sind, und sie kann auf der Grundlage von Regeln oder anderen Kriterien konfiguriert werden, um einem Benutzer die gewünschten Informationen bereitzustellen (z.B. Metadaten, Antworten auf Fragen usw.).
  • Die Ausführungsformen der vorliegenden Erfindung sind nicht auf die vorstehend beschriebenen spezifischen Aufgaben oder Algorithmen beschränkt, sondern können für jede Anwendung verwendet werden, bei der ein automatisiertes Erzeugen von Schemata nützlich ist. Darüber hinaus kann dieser Ansatz allgemein auf eine Vielfalt von technologischen Bereichen angewendet werden, einschließlich, ohne auf diese beschränkt zu sein, Personalwesen, Medizin, Finanzen, Marketing, staatliche Stellen usw.
  • Die hier verwendete Terminologie dient lediglich zum Zweck des Beschreibens von speziellen Ausführungsformen und soll die Erfindung nicht einschränken. Wie hier verwendet, sollen die Singularformen „ein/eine/einer/eines“ und „der/die/das“ ebenfalls die Pluralformen umfassen, es sei denn, der Zusammenhang zeigt eindeutig etwas anderes auf. Es versteht sich ferner, dass die Begriffe „aufweisen“, „aufweisend“, „umfassen“, „umfassend“, „haben“, „mit“ und Ähnliches, wenn sie in dieser Beschreibung verwendet werden, die Anwesenheit von angegebenen Merkmalen, Ganzzahlen, Schritten, Operationen, Elementen und/oder Komponenten spezifizieren, jedoch nicht die Anwesenheit oder Hinzufügung von einem oder mehreren anderen Merkmalen, Ganzzahlen, Schritten, Operationen, Elementen, Komponenten und/oder Gruppen davon ausschließen.
  • Die entsprechenden Strukturen, Materialien, Maßnahmen und Äquivalente aller Mittel oder Schritt-plus-Funktion-Elemente in den nachfolgenden Ansprüchen sollen alle Strukturen, Materialien oder Maßnahmen zur Durchführung der Funktion in Kombination mit anderen beanspruchten Elementen umfassen, wie dies speziell beansprucht wird. Die Beschreibung der vorliegenden Erfindung wurde zum Zwecke der Veranschaulichung und Beschreibung vorgestellt, soll jedoch nicht erschöpfend oder auf die Erfindung in der offenbarten Form beschränkt sein. Für Fachleute ist offensichtlich, dass viele Änderungen und Abwandlungen möglich sind, ohne vom Schutzumfang der Erfindung abzuweichen. Die Ausführungsform wurde ausgewählt und beschrieben, um die Grundgedanken der Erfindung und die praktische Anwendung am besten zu erläutern und um anderen Fachleuten ein Verständnis der Erfindung für verschiedene Ausführungsformen mit verschiedenen Änderungen zu ermöglichen, wie sie für die jeweils beabsichtigte Verwendung geeignet sind.
  • Die Beschreibungen der verschiedenen Ausführungsformen der vorliegenden Erfindung wurden zum Zwecke der Veranschaulichung vorgestellt, sollen jedoch nicht erschöpfend oder auf die Ausführungsformen beschränkt sein. Für Fachleute ist offensichtlich, dass viele Änderungen und Abwandlungen möglich sind, ohne vom Anwendungsbereich der beschriebenen Ausführungsformen abzuweichen. Die hier verwendete Terminologie wurde gewählt, um die Grundgedanken der Ausführungsformen, die praktische Anwendung oder technische Verbesserung gegenüber Technologien auf dem Markt bestmöglich zu erläutern oder es Fachleuten zu ermöglichen, die hier beschriebenen Ausführungsformen zu verstehen.
  • Bei der vorliegenden Erfindung kann es sich um ein System, ein Verfahren und/oder ein Computerprogrammprodukt auf jedem möglichen technischen Detaillierungsgrad der Integration handeln. Das Computerprogrammprodukt kann (ein) durch einen Computer lesbare(s) Speichermedium (oder -medien) umfassen, auf dem/denen durch einen Computer lesbare Programmanweisungen gespeichert ist/sind, um einen Prozessor dazu zu veranlassen, Aspekte der vorliegenden Erfindung auszuführen.
  • Bei dem durch einen Computer lesbaren Speichermedium kann es sich um eine physische Einheit handeln, die Anweisungen zur Verwendung durch eine Einheit zur Ausführung von Anweisungen behalten und speichern kann. Bei dem durch einen Computer lesbaren Speichermedium kann es sich zum Beispiel um eine elektronische Speichereinheit, eine magnetische Speichereinheit, eine optische Speichereinheit, eine elektromagnetische Speichereinheit, eine Halbleiterspeichereinheit oder jede geeignete Kombination daraus handeln, ohne auf diese beschränkt zu sein. Zu einer nicht erschöpfenden Liste spezifischerer Beispiele des durch einen Computer lesbaren Speichermediums gehören die Folgenden: eine tragbare Computerdiskette, eine Festplatte, ein Direktzugriffsspeicher (RAM), ein Nur-Lese-Speicher (ROM), ein löschbarer programmierbarer Nur-Lese-Speicher (EPROM bzw. Flash-Speicher), ein statischer Direktzugriffsspeicher (SRAM), ein tragbarer Kompaktspeicherplatte-Nur-Lese-Speicher (CD-ROM), eine DVD (digital versatile disc), ein Speicher-Stick, eine Diskette, eine mechanisch codierte Einheit wie zum Beispiel Lochkarten oder gehobene Strukturen in einer Rille, auf denen Anweisungen gespeichert sind, und jede geeignete Kombination daraus. Ein durch einen Computer lesbares Speichermedium soll in der Verwendung hier nicht als flüchtige Signale an sich aufgefasst werden, wie zum Beispiel Funkwellen oder andere sich frei ausbreitende elektromagnetische Wellen, elektromagnetische Wellen, die sich durch einen Wellenleiter oder ein anderes Übertragungsmedium ausbreiten (z.B. Lichtwellenleiterkabel durchlaufende Lichtimpulse) oder durch einen Draht übertragene elektrische Signale.
  • Hier beschriebene, durch einen Computer lesbare Programmanweisungen können von einem durch einen Computer lesbaren Speichermedium auf jeweilige Datenverarbeitungs-/Verarbeitungseinheiten oder über ein Netzwerk wie zum Beispiel das Internet, ein lokales Netzwerk, ein Weitverkehrsnetzwerk und/oder ein drahtloses Netzwerk auf einen externen Computer oder eine externe Speichereinheit heruntergeladen werden. Das Netzwerk kann Kupferübertragungskabel, Lichtwellenübertragungsleiter, drahtlose Übertragung, Router, 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 integrierte Schaltungen 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 entfernt angeordneten Computer oder vollständig auf dem entfernt angeordneten 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 Weitverkehrsnetzwerk (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 hier unter Bezugnahme auf Ablaufpläne und/oder Blockschaubilder von Verfahren, Vorrichtungen (Systemen) und Computerprogrammprodukten gemäß Ausführungsformen der Erfindung beschrieben. Es wird darauf hingewiesen, dass jeder Block der Ablaufpläne und/oder der Blockschaubilder sowie Kombinationen von Blöcken in den Ablaufplänen und/oder den Blockschaubildern mittels durch einen Computer lesbare Programmanweisungen ausgeführt werden können.
  • Diese durch einen Computer lesbaren Programmanweisungen können einem Prozessor eines Computers oder einer anderen programmierbaren Datenverarbeitungsvorrichtung bereitgestellt werden, um eine Maschine zu erzeugen, sodass die über den Prozessor des Computers bzw. der anderen programmierbaren Datenverarbeitungsvorrichtung ausgeführten Anweisungen ein Mittel zur Umsetzung der in dem Block bzw. den Blöcken der Ablaufpläne und/oder der Blockschaubilder 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, sodass das durch einen Computer lesbare Speichermedium, auf dem Anweisungen gespeichert sind, einen Herstellungsartikel aufweist, darunter Anweisungen, welche Aspekte der/des in dem Block bzw. den Blöcken des Ablaufplans und/oder der Blockschaubilder 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, sodass die auf dem Computer, einer anderen programmierbaren Vorrichtung oder einer anderen Einheit ausgeführten Anweisungen die in dem Block bzw. den Blöcken der Ablaufpläne und/oder der Blockschaubilder festgelegten Funktionen/Schritte umsetzen.
  • Die Ablaufpläne und die Blockschaubilder 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 Blockschaubildern 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 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 als ein Schritt ausgeführt, gleichzeitig ausgeführt, im Wesentlich gleichzeitig ausgeführt, ganz oder teilweise zeitlich überlappend 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 Blockschaubilder und/oder der Ablaufpläne sowie Kombinationen aus Blöcken in den Blockschaubildern 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 (19)

  1. Automatisiertes Verfahren, um mithilfe einer Datenverarbeitungseinheit ein semantisches Modell einer relationalen Datenbank zum Verarbeiten von Abfragen in natürlicher Sprache zu erzeugen, wobei das Verfahren aufweist: automatisches Extrahieren von Metadaten einer relationalen Datenbank durch die Datenverarbeitungseinheit; Auffordern eines Benutzers durch die Datenverarbeitungseinheit, Bezeichnungen der Spalten der extrahierten Metadaten in Textform einzugeben; automatisches Erzeugen einer Schema-Annotationsdatei durch die Datenverarbeitungseinheit auf der Grundlage der Metadaten der relationalen Datenbank und der in den Spalten bereitgestellten Bezeichnungen in Textform; und Verarbeiten einer Abfrage in natürlicher Sprache für die relationale Datenbank unter Verwendung der Schema-Annotationsdatei.
  2. Verfahren nach Anspruch 1, wobei der Benutzer die extrahierten Metadaten ohne Kenntnis einer Struktur der relationalen Datenbank oder einer Ontologie der relationalen Datenbank annotiert.
  3. Verfahren nach einem der vorherigen Ansprüche, das weiterhin aufweist: Verarbeiten der Schema-Annotationsdatei in lexikalische Regeln mit semantischer Annotation für die relationale Datenbank.
  4. Verfahren nach einem der vorherigen Ansprüche, wobei die extrahierten Metadaten in Form einer Tabelle bereitgestellt werden, und die Metadaten einen Tabellennamen und einen oder mehrere Spaltennamen in der Tabelle aufweisen.
  5. Verfahren nach Anspruch 4, wobei die extrahierten Metadaten von einem Benutzer annotiert werden, um Bezeichnungen in Textform bereitzustellen, wobei die Bezeichnungen in Textform mindestens einen Semantiktyp und eine Elementbezeichnung enthalten.
  6. Verfahren nach einem der vorherigen Ansprüche, wobei es sich bei der Schema-Annotationsdatei um eine Textdatei handelt, die Phrasen aufweist, die Entitäten der relationalen Datenbank und Beziehungen zwischen den Entitäten beschreiben.
  7. Verfahren nach einem der vorherigen Ansprüche, wobei die relationale Datenbank bereichsunabhängig ist.
  8. Verfahren nach Anspruch 5, wobei die Schema-Annotationsdatei durch Verarbeiten natürlicher Sprache einer Benutzereingabe erzeugt wird, um Semantik zu extrahieren, und wobei die extrahierte Semantik verwendet wird, um Beziehungen zwischen den Entitäten der relationalen Datenbanken zu erzeugen.
  9. Verfahren nach einem der vorherigen Ansprüche, das weiterhin aufweist: Erzeugen mit einem System für maschinelles Lernen von schemaspezifischen lexikalischen Regeln mit semantischer Annotation, wobei das System zum maschinellen Lernen die Schema-Annotationsdatei und Musterregeln auf der Grundlage fester syntaktischer Regeln der englischen Sprache verwendet, um die schemaspezifischen lexikalischen Regeln zu erzeugen.
  10. Verfahren nach einem der vorherigen Ansprüche, wobei das Verarbeiten der Abfrage in natürlicher Sprache aufweist: Empfangen einer Frage in natürlicher Sprache vom Benutzer; Umwandeln der empfangenen Frage in natürlicher Sprache in eine strukturierte Abfrage mithilfe lexikalischer Regeln, die auf der Grundlage einer semantischen Annotation erzeugt werden; und Erzeugen einer Antwort auf die empfangene Frage in natürlicher Sprache auf der Grundlage von Ergebnissen der strukturierten Abfrage.
  11. System zum Erzeugen eines semantischen Modells einer relationalen Datenbank zum Verarbeiten von Abfragen in natürlicher Sprache, wobei das System aufweist: einen oder mehrere Prozessoren; eines oder mehrere durch einen Computer lesbare Speichermedien; Programmanweisungen, die auf dem einen oder den mehreren durch einen Computer lesbaren Speichermedien zum Ausführen durch mindestens einen der einen oder mehreren Computerprozessoren gespeichert sind, wobei die Programmanweisungen Anweisungen aufweisen, um: Metadaten einer relationalen Datenbank durch die Datenverarbeitungseinheit automatisch zu extrahieren; einen Benutzer durch die Datenverarbeitungseinheit aufzufordern, Bezeichnungen der Spalten der extrahierten Metadaten in Textform einzugeben; eine Schema-Annotationsdatei durch die Datenverarbeitungseinheit auf der Grundlage der Metadaten der relationalen Datenbank und der in den Spalten bereitgestellten Bezeichnungen in Textform automatisch zu erzeugen; und eine Abfrage in natürlicher Sprache für die relationale Datenbank unter Verwendung der Schema-Annotationsdatei zu verarbeiten.
  12. System nach Anspruch 11, wobei der Benutzer die extrahierten Metadaten ohne Kenntnis einer Struktur der relationalen Datenbank oder einer Ontologie der relationalen Datenbank annotiert.
  13. System nach Anspruch 11 oder 12, wobei die Programmanweisungen, die von dem Prozessor ausführbar sind, weiterhin so konfiguriert sind, dass sie: die Schema-Annotationsdatei in lexikalische Regeln mit semantischer Annotation für die relationale Datenbank verarbeiten.
  14. System nach einem der Ansprüche 11 bis 13, wobei die extrahierten Metadaten in Form einer Tabelle bereitgestellt werden, und die Metadaten einen Tabellennamen und einen oder mehrere Spaltennamen in der Tabelle aufweisen.
  15. System nach Anspruch 14, wobei die extrahierten Metadaten von einem Benutzer annotiert werden, um Bezeichnungen in Textform bereitzustellen, wobei die Bezeichnungen in Textform mindestens einen Semantiktyp und eine Elementbezeichnung enthalten.
  16. System nach Anspruch 15, wobei die Schema-Annotationsdatei durch Verarbeiten natürlicher Sprache einer Benutzereingabe erzeugt wird, um Semantik zu extrahieren, und wobei die extrahierte Semantik verwendet wird, um Beziehungen zwischen den Entitäten der relationalen Datenbanken zu erzeugen.
  17. System nach einem der Ansprüche 11 bis 16, wobei die Programmanweisungen, die von dem Prozessor ausführbar sind, weiterhin so konfiguriert sind, dass sie: eine Frage in natürlicher Sprache vom Benutzer empfangen; die empfangene Frage in natürlicher Sprache in eine strukturierte Abfrage mithilfe lexikalischer Regeln umzuwandeln, die auf der Grundlage einer semantischen Annotation erzeugt werden; und eine Antwort auf die empfangene Frage in natürlicher Sprache auf der Grundlage von Ergebnissen der strukturierten Abfrage zu erzeugen.
  18. Computerprogrammprodukt zum Erzeugen eines semantischen Modells einer relationalen Datenbank zum Verarbeiten von Abfragen in natürlicher Sprache, wobei das Computerprogrammprodukt aufweist: ein durch einen Computer lesbares Speichermedium, das von einer Verarbeitungsschaltung lesbar ist und Anweisungen speichert, die von der Verarbeitungsschaltung zum Durchführen eines Verfahrens nach einem der Ansprüche 1 bis 10 ausgeführt werden.
  19. Computerprogramm, das auf einem durch einen Computer lesbaren Medium gespeichert ist und in den internen Speicher eines digitalen Computers ladbar ist, wobei das Computerprogramm Software-Codeteile aufweist, wenn das Programm auf einem Computer ausgeführt wird, um das Verfahren nach einem der Ansprüche 1 bis 10 durchzuführen.
DE112020005268.0T 2019-12-20 2020-12-18 Automatisches erzeugen von schema-annotationsdateien zum umwandeln von abfragen in natürlicher sprache in eine strukturierte abfragesprache Pending DE112020005268T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/722,994 US11693855B2 (en) 2019-12-20 2019-12-20 Automatic creation of schema annotation files for converting natural language queries to structured query language
US16/722,994 2019-12-20
PCT/IB2020/062189 WO2021124252A1 (en) 2019-12-20 2020-12-18 Automatic creation of schema annotation files for converting natural language queries to structured query language

Publications (1)

Publication Number Publication Date
DE112020005268T5 true DE112020005268T5 (de) 2022-08-18

Family

ID=76438311

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112020005268.0T Pending DE112020005268T5 (de) 2019-12-20 2020-12-18 Automatisches erzeugen von schema-annotationsdateien zum umwandeln von abfragen in natürlicher sprache in eine strukturierte abfragesprache

Country Status (6)

Country Link
US (1) US11693855B2 (de)
JP (1) JP2023507286A (de)
CN (1) CN114846461A (de)
DE (1) DE112020005268T5 (de)
GB (1) GB2606920A (de)
WO (1) WO2021124252A1 (de)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11989261B2 (en) * 2020-09-30 2024-05-21 International Business Machines Corporation Answering questions with artificial intelligence using tabular data
CN113553414B (zh) * 2021-06-30 2023-08-25 北京百度网讯科技有限公司 智能对话方法、装置、电子设备和存储介质
CN113741864B (zh) * 2021-08-16 2024-04-05 广州木链云科技有限公司 基于自然语言处理的语义化服务接口自动设计方法与***
US11907226B2 (en) 2022-03-21 2024-02-20 International Business Machines Corporation Refining understanding of natural language database queries
CN114579605B (zh) * 2022-04-26 2022-08-09 阿里巴巴达摩院(杭州)科技有限公司 表格问答数据处理方法、电子设备及计算机存储介质
CN116302218B (zh) * 2023-03-15 2024-05-10 北京百度网讯科技有限公司 函数信息的添加方法、装置、设备以及存储介质

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6999963B1 (en) 2000-05-03 2006-02-14 Microsoft Corporation Methods, apparatus, and data structures for annotating a database design schema and/or indexing annotations
US7346490B2 (en) * 2000-09-29 2008-03-18 Axonwave Software Inc. Method and system for describing and identifying concepts in natural language text for information retrieval and processing
US8401991B2 (en) 2008-08-08 2013-03-19 Oracle International Corporation Database-based inference engine for RDFS/OWL constructs
US8140556B2 (en) 2009-01-20 2012-03-20 Oracle International Corporation Techniques for automated generation of queries for querying ontologies
US9106600B2 (en) * 2012-11-16 2015-08-11 Lu Wang Platform-independent method and system for electronically engaging customers
US9348815B1 (en) * 2013-06-28 2016-05-24 Digital Reasoning Systems, Inc. Systems and methods for construction, maintenance, and improvement of knowledge representations
US9418086B2 (en) * 2013-08-20 2016-08-16 Microsoft Technology Licensing, Llc Database access
US10452661B2 (en) * 2015-06-18 2019-10-22 Microsoft Technology Licensing, Llc Automated database schema annotation
US10719667B1 (en) * 2015-06-30 2020-07-21 Google Llc Providing a natural language based application program interface
US9959311B2 (en) * 2015-09-18 2018-05-01 International Business Machines Corporation Natural language interface to databases
US10346401B2 (en) 2016-07-07 2019-07-09 Accenture Global Solutions Limited Query rewriting in a relational data harmonization framework
US10754886B2 (en) * 2016-10-05 2020-08-25 International Business Machines Corporation Using multiple natural language classifier to associate a generic query with a structured question type
US20190034540A1 (en) * 2017-07-28 2019-01-31 Insight Engines, Inc. Natural language search with semantic mapping and classification
CN110019555B (zh) 2017-12-26 2023-08-25 中国科学院沈阳自动化研究所 一种关系数据语义化建模方法
US20190294665A1 (en) * 2018-03-23 2019-09-26 Abbyy Production Llc Training information extraction classifiers
US11113324B2 (en) * 2018-07-26 2021-09-07 JANZZ Ltd Classifier system and method
US20210005316A1 (en) * 2019-07-03 2021-01-07 Kenneth Neumann Methods and systems for an artificial intelligence advisory system for textual analysis

Also Published As

Publication number Publication date
WO2021124252A1 (en) 2021-06-24
CN114846461A (zh) 2022-08-02
US11693855B2 (en) 2023-07-04
JP2023507286A (ja) 2023-02-22
GB202209966D0 (en) 2022-08-24
GB2606920A (en) 2022-11-23
US20210191936A1 (en) 2021-06-24

Similar Documents

Publication Publication Date Title
DE112020005268T5 (de) Automatisches erzeugen von schema-annotationsdateien zum umwandeln von abfragen in natürlicher sprache in eine strukturierte abfragesprache
DE112017006151T5 (de) Anpassbare Verarbeitungskomponenten
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
DE112018006345T5 (de) Abrufen von unterstützenden belegen für komplexe antworten
DE102019000294A1 (de) Erstellen unternehmensspezifischer Wissensgraphen
DE60101668T2 (de) Verfahren und gerät zum erzeugen eines auf einer formatvorlage basierten index für ein strukturiertes dokument
DE112012001750T5 (de) Automatisierte Selbstbedienungs-Benutzerunterstützung auf der Grundlage der Ontologieanalyse
DE112019001533T5 (de) Erweiterung von trainingsdaten für die klassifikation von natürlicher sprache
DE102014113870A1 (de) Identifizieren und Anzeigen von Beziehungen zwischen Kandidatenantworten
DE202016005239U1 (de) Graph-basierte Abfragen
DE112020003311T5 (de) Verarbeitung natürlicher sprache unter verwendung eines ontologiegestützten modells zur begriffseinbettung
DE112012005177T5 (de) Erzeugens eines Verarbeitungsmodells für natürliche Sprache für einen Informationsbereich
DE112007000053T5 (de) System und Verfahren zur intelligenten Informationsgewinnung und -verarbeitung
DE112018005272T5 (de) Suchen von mehrsprachigen dokumenten auf grundlage einer extraktion der dokumentenstruktur
DE112018005076T5 (de) Erstellen einer rangfolge von dokumenten auf grundlage ihres semantischen reichtums
WO2009030246A1 (de) Erfassung von zusammenhängen zwischen informationen repräsentierenden daten
DE112017007530T5 (de) Entitätsmodell-erstellung
DE102006040208A1 (de) Patentbezogenes Suchverfahren und -system
DE102014103281A1 (de) Verknüpfen unterschiedlicher typerzwingungskomponenten zum beurteilen eines latenten typs
DE112020002129T5 (de) Deep-learning-ansatz für datenverarbeitungsspannen
DE102012221251A1 (de) Semantisches und kontextbezogenes Durchsuchen von Wissensspeichern
Popping Online tools for content analysis
DE102018007024A1 (de) Dokumentdurchsuchen mittels grammatischer einheiten
DE112020004417T5 (de) Selektives tiefes parsing von inhalten in natürlicher sprache

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R084 Declaration of willingness to licence