Erzeugung von Anfragen an ein datenverarbeitendes System
Die vorliegende Erfindung betrifft ein Verfahren zur zumindest teilautomatischen Erzeugung einer Anfrage an ein datenverarbeitendes System mit einem Datenbestand, wobei dem Datenbestand ein Datenmodell zugrunde liegt, welches zur Auswahl von Daten aus dem Datenbestand mit einer Abfragesprache des datenverarbeitenden Systems verwendbar ist, wobei eine natürlichsprachliche Anfrage eines Nutzers, welche durch eine nutzerseitige Eingabe von als eine Folge von Zeichen (nachfolgend auch Zeichenfolge genannt) erfasster Begriffe (nachfolgend auch Nutzerbegriffe genannt), welche die von dem Nutzer intendierten Ergebnisse der Antwort des datenverarbeitenden Systems auf die zu erfolgende Anfrage an das datenverarbeitende System semantisch beschreiben, erfolgt, die natürlichsprachliche Anfrage des Nutzers analysiert und/oder interpretiert und in eine Anfrage in der Abfragesprache umgesetzt wird.
Im Bereich von sogenannten Information-Retrieval-Systemen, wie beispielsweise sogenannten Suchmaschinen beziehungsweise Internet-Suchmaschinen, sind verschiedene Methoden des Abrufs von Daten aus einem Datenbestand bekannt. Dem Datenbestand liegt dabei ein Datenmodell zugrunde, welches mittels einer Abfragesprache des datenverarbeitenden Systems eine Abfrage von Daten aus dem Datenbestand ermöglicht. In der Regel sind Daten eines Datenbestandes entsprechend dem jeweiligen Datenmodell strukturiert, insbesondere in Datenklassen nach einer bestimmten semantischen Klassifizierung betreffend den Inhaltstyp und/oder in Datenattributen betreffend Metadaten.
Kennt der Anwender beziehungsweise Nutzer eines datenverarbeitenden Systems nicht das dem Datenbestand zugrunde liegende Datenmodell, also die verfügbaren Datenklassen und/oder deren Datenattribute, ist es schwierig eine konkrete
BESTÄTIGUNGSKOPIE
Anfrage beziehungsweise Suchanfrage an das datenverarbeitende System zu stellen. Der Anwender beziehungsweise Nutzer müsste zunächst entscheiden, ob er nach bestimmten Datenklassen, also nach einer bestimmten semantischen Klassifizierung hinsichtlich des Inhaltstyps, nach Datenattributen, also Metadaten, oder nach Verknüpfungen suchen soll, die die gesuchte Information hinsichtlich deren Inhalt in der Regel als Stichwort, beschreibt. Dies wird anhand der nachfolgenden Beispiele näher erläutert:
Beispiel 1 :„Künstler" ist ein Objekt, das das Attribut„Künstler" enthält, vom Typ„Künstler" sein kann oder eine Person, die in Relation zu Kunstwerken steht und zwar mit der Begründung beziehungsweise Beschreibung „Hersteller" oder„Autor".
Beispiel 2: Ein Objekt, das die Beschreibung„Hersteller von DVD-Playern" erfüllt, kann den Text„Hersteller von DVD-Playern" enthalten, das Attribut „Produkte" mit dem Wert „DVD-Player" besitzen oder die Relation zu Produkten vom Typ„DVD-Player" haben und gleichzeitig vom Typ„Firma" sein.
Darüber hinaus gibt es bei der Anfrage Probleme, die eine Mehrsprachigkeit von Inhalten betreffen. Ferner gibt es Probleme bei einer Anfrage beziehungsweise Suche nach Inhalten einer Datenklasse, von welcher im Datenbestand nur untergeordnete Datenklassen berücksichtigt sind. Dies wird anhand der nachfolgenden Beispiele näher erläutert:
Beispiel 1 : Es wird nach Objekten gesucht, die ein Attribut mit dem Namen beziehungsweise der Bezeichnung„Job" und dem Wert„Artist" besitzen. Es sollen aber auch Objekte gefunden werden, die ein Attribut in der deutschen Variante mit dem Namen beziehungsweise der Bezeichnung„Beruf und dem Wert„Künstler" besitzen.
Beispiel 2: Es werden Objekte gesucht, die vom Typ„Dokument" sind. Das schließt Objekte ein, die beispielsweise vom Typ „Microsoft Word" oder „Microsoft Excel" sind.
Beispiel 3: Eine Person kann in einem Projekt die Rolle als Mitarbeiter oder auch als Berater einnehmen. Hierbei könnte Berater eine Unterklasse von der Datenklasse„Mitarbeiter" sein.
Im Bereich von Internet-Suchmaschinen sind unter der Begrifflichkeit„semantische Suchmaschine" Konzepte bekannt, wobei versucht wird, die Semantik einer durch Texteingabe eines Nutzers beziehungsweise Anwenders erfolgenden natürlichsprachlichen Anfrage zu erfassen und in eine oder mehrere entsprechende Anfragen in der Abfragesprache des datenverarbeitenden Systems umzusetzen. Die bisher bekannten Konzepte sind dabei sowohl hinsichtlich des Maßes der Komplexität entsprechender Anfragen als auch hinsichtlich der auf entsprechende Anfragen gelieferten Antworten beziehungsweise Ergebnisse unbefriedigend und weisen zahlreiche Beschränkungen auf, insbesondere Sprachenbeschränkungen hinsichtlich der Auswertung.
Vor diesem Hintergrund liegt der vorliegenden Erfindung die A u f g a b e zugrunde, unter Meidung der vorbeschriebenen Nachteile eine natürlichsprachliche Anfrage von Nutzern an datenverarbeitende Systeme zu ermöglichen.
Zur technischen L ö s u n g wird mit der vorliegenden Erfindung ein Verfahren zur zumindest teilautomatischen Erzeugung einer Anfrage an ein datenverarbeitendes System mit einem Datenbestand, wobei dem Datenbestand ein Datenmodell zugrunde liegt, welches zur Auswahl von Daten aus dem Datenbestand mit einer Abfragesprache des datenverarbeitenden Systems verwendbar ist, wobei eine natürlichsprachliche Anfrage eines Nutzers, welche durch eine nutzerseitige Eingabe von als eine Folge von Zeichen (Zeichenfolge) erfasster Begriffe (Nutzerbegriffe), welche Begriffe die von dem Nutzer intendierten Ergebnisse der Antwort des datenverarbeitenden Systems auf die zu erfolgende Anfrage an das datenverarbeitende System semantisch beschreiben, erfolgt, die natürlichsprachliche Anfrage des Nutzers analysiert und/oder interpretiert und in eine Anfrage in der Abfragesprache umgesetzt wird, vorgeschlagen, welches dadurch gekennzeichnet ist, dass die als eine Zeichenfolge erfasste natürlichsprachliche Anfrage in Lexeme zerlegt wird, diese Lexeme entsprechend ihrer Reihenfolge in der Zeichenfolge sequentiell verarbeitet werden, wobei eine
Bedeutung des jeweiligen Lexems anhand des Datenmodells bestimmt wird, und daraus die Anfrage in der Abfragesprache gebildet wird.
Ein Lexem im Sinne der vorliegenden Erfindung ist eine Bedeutungseinheit, sprachlicher Einheiten, die sich in verschiedenen Wortformen manifestieren kann und dabei von der konkreten Form der sprachlichen Einheit sowie von der konkreten syntaktischen Funktion der sprachlichen Einheit absieht. Im Sinne der vorliegenden Erfindung entsprechen Lexeme weitestgehend syntaktischen Worten, mit dem Unterschied, dass insbesondere auch asiatische Sprachen und dergleichen Berücksichtigung finden, die keine syntaktisch erkennbare Trennung von Worten in einem Satz kennen. Syntaktische Wörter im Sinne der vorliegenden Erfindung sind Einheiten, die sich innerhalb eines Satzes verschieben, durch andere austauschen und/oder sich durch das Einfügen weiterer Wörter voneinander trennen lassen. Wörter im Sinne der vorliegenden Erfindung sind dabei unter syntaktischem Aspekt kleinste verschiebbare und ersetzbare Einheiten des Satzes. Darüber hinaus berücksichtigt die Verwendung des Begriffes Lexem im Sinne der vorliegenden Erfindung, dass ein vorgegebenes Wort auf eine grammatikalische Grundform reduziert und damit syntaktisch-grammatische Varianten ausgeglichen werden können.
Eine erfindungsgemäße Anfrage beziehungsweise Suchanfrage ist vorteilhafterweise dadurch charakterisiert, dass der Nutzer beziehungsweise Anwender in einem Eingabefeld beziehungsweise Textfeld die von ihm gesuchte Information mit mehreren Wörtern intuitiv beschreibt. Diese Anfrage wird im Anschluss in ihre begrifflichen Bestandteile zerlegt und in eine Anfrage in der Abfragesprache übersetzt, die über eine bloße Volltextsuche durch Kombination von Schlüsselwörtern hinausgeht. Eine vorteilhafte Ausgestaltung der Erfindung sieht vor, dass die Nutzereingabe durch Sprachsteuerung oder dergleichen Eingabehilfe erfolgt. Dazu weist das datenverarbeitende System vorteilhafterweise Mittel zur Sprachsteuerung und Mittel zur Umsetzung von sprachlichen Äußerungen in eine Folge von Zeichen auf.
Eine vorteilhafte Ausgestaltung der Erfindung sieht vor, dass für das jeweils aktuell zu verwendende bzw. zu verarbeitende Lexem überprüft wird, ob es ein nachfolgendes Lexem in der Reihenfolge gibt, wobei in diesem Fall überprüft wird,
ob es sich bei dem aktuell zu verarbeitenden Lexem um die Bezeichnung einer Datenquelle, einer Datenklasse des Datenmodells oder eines Datenattributs des Datenmodells handelt. Erfindungsgemäß wird damit zunächst überprüft, ob es sich bei der natürlichsprachlichen Anfrage des Nutzers um mehrere Begriffe handelt. Ist das der Fall, wird vorteilhafterweise der erste Begriff dahingehend überprüft, ob es eine Datenquelle, eine Datenklasse, also eine semantische Klassifizierung hinsichtlich eines Inhaltstyps, oder ein Datenattribut, also Metadaten, mit diesem Begriff beziehungsweise dieser Begriffsbezeichnung gibt.
Eine weitere vorteilhafte Ausgestaltung der Erfindung sieht vor, dass in dem Fall der Bezeichnung einer Datenquelle oder einer Datenklasse die Bezeichnung in einen Parameter der Abfragesprache zur Auswahl von Daten aus dem Datenbestand transformiert wird, wobei der Parameter die Auswahl von Daten auf Daten mit der Bezeichnung der Datenquelle oder der Datenklasse eingrenzt. Vorteilhafterweise wird die Datenquelle nur für das erste Lexem in der Reihenfolge überprüft. Eine auf diese Weise erkannte Datenquelle schränkt dann den Suchraum für die Anfrage entsprechend ein. Beispielsweise würde der Begriff „Amazon" nur in den Daten suchen, die das Unternehmen Amazon zur Verfügung stellt. Falls der erste Begriff einer Datenklasse entspricht, würde die Suche auf entsprechend semantisch klassifizierte Inhalte hinsichtlich eines Inhaltstyps eingeschränkt werden. Zum Beispiel würde der Begriff „Buch" nur in den Daten suchen, die vom Inhaltstyp her als Bücher klassifiziert sind. Die Information dazu erhält das datenverarbeitende System durch Verwendung des verfügbaren Datenmodells oder in einer optionalen Ausgestaltung der Erfindung vorteilhafterweise von einer Ontologie, in der semantische Inhaltstypen repräsentierende Datenklassen unterschiedliche Bezeichnungen, sogenannte Literate, in unterschiedlichen Sprachen enthalten beziehungsweise aufweisen können. Alternativ und/oder ergänzend kann das datenverarbeitende System ferner Wörterbücher, Vokabulare oder dergleichen als eine Ontologie-gebende bzw. bereitstellende Informationsquelle aufweisen oder nutzen.
Eine weitere vorteilhafte Ausgestaltung der Erfindung sieht vor, dass für das jeweils aktuell zu verarbeitende Lexem überprüft wird, ob es ein nachfolgendes Lexem in der Reihenfolge gibt, wobei in diesem Fall überprüft wird, ob es sich bei
dem aktuell zu verarbeitenden Lexem um die Bezeichnung einer Datenquelle, einer Datenklasse oder eines Datenattributs des Datenmodells handelt.
Eine weitere vorteilhafte Ausgestaltung der Erfindung sieht vor, dass überprüft wird, ob das aktuell zu verarbeitende bzw. zu verwendende Lexem ein Füllwort, das heißt ein Wort mit geringem Aussagewert, ist, wobei in diesem Fall das aktuell zu verarbeitende Lexem ignoriert und das nachfolgendes Lexem in der Reihenfolge verwendet bzw. verarbeitet wird.
In einer weiteren vorteilhaften Ausgestaltung der Erfindung ist vorgesehen, dass in dem Fall der Bezeichnung einer Datenklasse überprüft wird, ob die Anfrage in der Abfragesprache bereits einen Parameter enthält, der die Auswahl von Daten auf Daten mit der Bezeichnung der Datenklasse eingrenzt, wobei in diesem Fall das aktuell zu verarbeitende Lexem in einen Parameter der Abfragesprache zur Auswahl von Daten aus dem Datenbestand transformiert wird, wobei der Parameter eine Beziehung zwischen Datenobjekten, welche mit dem bereits in der Anfrage in der Abfragesprache enthaltenen Parameter beschrieben werden, und Datenobjekten, welche mit Parametern beginnend mit der Bezeichnung des aktuell zu verarbeitenden Lexems beschrieben werden, beschreibt. Erfindungsgemäß wird somit der zweite Begriff in der natürlichsprachlichen Anfrage des Nutzers analysiert bzw. untersucht, wobei der zweite Begriff eine Datenklasse sein kann, falls der erste Begriff in der natürlichsprachlichen Anfrage des Nutzers die Anfrage auf eine Datenquelle eingegrenzt hat, oder wobei der zweite Begriff ein Suchwort sein kann, falls der erste Begriff in der natürlichsprachlichen Anfrage des Nutzers einer einen semantischen Inhaltstyp repräsentierenden Datenklasse entsprach, oder wobei der zweite Begriff ein Datenattribut sein kann.
Eine weitere vorteilhafte Ausgestaltung der Erfindung sieht vor, dass in dem Fall der Bezeichnung eines Datenattributs die Bezeichnung und das nachfolgende Lexem in der Reihenfolge als Name-Wert-Paar in einen Parameter der Abfragesprache zur Auswahl von Daten aus dem Datenbestand transformiert wird, wobei der Parameter die Auswahl von Daten auf Daten mit der Bezeichnung des Datenattributs eingrenzt. Die Information dazu erhält das datenverarbeitende System durch Verwendung des verfügbaren Datenmodells oder in einer optionalen Ausgestaltung der Erfindung vorteilhafterweise von einer Ontologie, in der
Datenattribute (Metadaten) unterschiedliche Bezeichnungen, sogenannte Literate, in unterschiedlichen Sprachen enthalten beziehungsweise aufweisen können. Alternativ und/oder ergänzend kann das datenverarbeitende System ferner Wörterbücher, Vokabulare oder dergleichen als eine Ontologie-gebende bzw. bereitstellende Informationsquelle für Datenattribute aufweisen oder nutzen. Handelt es sich bei einem Begriff der natürlichsprachlichen Anfrage des Nutzers um die Bezeichnung eines Datenattributs wird in diesem Fall erfindungsgemäß die Anfrage beziehungsweise Suche an das datenverarbeitende System durch Ergänzung der Anfrage mit dem Attributwert beziehungsweise dem Metadatum eingegrenzt. Diese Eingrenzung wird dann für den nachfolgenden Begriff in der natürlichsprachlichen Anfrage des Nutzers verwendet.
Gemäß einem weiteren vorteilhaften Vorschlag der Erfindung wird in dem Fall der Bezeichnung einer Datenklasse überprüft, ob die Bezeichnung auch die Bezeichnung eines Datenattributs ist, wobei in diesem Fall das aktuell zu verarbeitende Lexem und das nachfolgende Lexem in der Reihenfolge als Name- Wert-Paar in einen Parameter der Abfragesprache zur Auswahl von Daten aus dem Datenbestand transformiert wird, wobei der Parameter zur zusätzlichen, alternativen Auswahl von Daten auf Daten mit der Bezeichnung des Datenattributs eingrenzt. Beide Parameter, die zum einen die Datenklasse und zum anderen das Datenattribut beschreiben, werden also als ODER-Verknüpfung zur Abfrage der Daten verknüpft.
Eine weitere vorteilhafte Ausgestaltung der Erfindung ist dadurch gekennzeichnet, dass in dem Fall der Bezeichnung keiner Datenquelle, keiner Datenklasse, keines Datenattributs oder keines verbleibenden Lexems in der Reihenfolge der Zeichenfolge das aktuell zu verarbeitende Lexem in einen Parameter der Abfragesprache zur Auswahl von Daten aus dem Datenbestand transformiert wird, wobei der Parameter die Auswahl von Daten auf Daten mit dem aktuell zu verarbeitenden Lexem als Freitextsuche eingrenzt. Erfindungsgemäß kann der nächste Begriff in der natürlichsprachlichen Anfrage des Nutzers ein Stichwort sein, dass weder eine Datenklasse noch ein Datenattribut repräsentiert und daher vorteilhafterweise für eine einschränkende Freitextsuche beziehungsweise Volltextsuche verwendet wird. Handelt es sich hingegen bei dem nächsten Begriff in der natürlichsprachlichen Anfrage des Nutzers wieder um eine Datenklasse, also
einen semantisch klassifizierten Inhaltstyp, wird dies erfindungsgemäß vorteilhafterweise so interpretiert, dass die mit der Anfrage gesuchten beziehungsweise intendierten Ergebnisse der Anfrage mit Inhalten von diesem Typ, also dieser Datenklasse, verknüpft sein müssen.
Vorteilhafterweise wird sogleich überprüft, ob die Datenklasse, welche eine Verknüpfung beschreibt, auch die Bezeichnung eines Datenattributs ist. Ist dies der Fall, wird der bisherige Teil der zu erzeugenden Anfrage in der Abfragesprache mit der Eingrenzung dieses neuen Datenattributs ergänzt und mit einem logischen „oder" zu der bis dahin teilweise erzeugten Anfrage in der Abfragesprache ergänzt. Vorteilhafterweise wird dabei der auf die Bezeichnung des Datenattributs (Attributname) folgende Begriff als Attributwert verwendet.
Mit dem erfindungsgemäßen Verfahren wird vorteilhafterweise die Komplexität der Anfrage in der Abfragesprache auf eine einzige Relation begrenzt.
Gemäß einer besonders vorteilhaften Ausgestaltung der Erfindung erfolgt die nutzerseitige Eingabe unter Verwendung wenigstens einer Eingabehilfe, insbesondere zur teilautomatischen Erzeugung komplexerer Anfragen. Vorteilhafterweise wird der Nutzer beziehungsweise Anwender bei der Formulierung der Anfrage automatisch geführt. Vorteilhafterweise wird dem Anwender bei der nutzerseitigen Eingabe der Zeichen der Zeichenfolge, vorzugsweise dem ersten eingegebenen Wort, zu der eingegebenen Zeichenfolge eine Liste von möglichen Datenquellen, Datenklassen (semantischen Inhaltstypen) und/oder Datenattributen für eine beispielsweise durch Anklicken mit einem Mauszeiger oder dergleichen erfolgenden Auswahleingabe angezeigt. Ist die eingegebene Zeichenfolge, also das erste Wort der nutzerseitigen Eingabe, eine Datenklasse, also ein semantischer Inhaltstyp, wird dem Anwender für das zweite Wort der Zeichenfolge der nutzerseitigen Eingabe vorteilhafterweise eine Liste von möglichen Datenattributen (Metadaten) für eine beispielsweise durch Anklicken mit einem Mauszeiger oder dergleichen erfolgenden Auswahleingabe angezeigt. Die Anzeige der möglichen Auswahleingaben erfolgt vorteilhafterweise durch Visualisierung nach Art einer sogenannten „Drop-Down"-Liste, wie sie beispielsweise als Funktionalität bei sogenannten Browsern bekannt ist.
Gemäß einer weiteren vorteilhaften Ausgestaltung der Erfindung erfolgt die nutzerseitige Eingabe für komplexe bzw. komplexere Abfragen unter Verwendung einer graphischen Benutzeroberfläche (GUI: Graphical User Interface) durch Erstellung eines Anfrage-Baums. Dabei kann der Nutzer beziehungsweise Anwender sich vorteilhafterweise einen Anfrage-Baum zusammenstellen oder in einer Liste für die Anfrage zu verwendende Aussagen in der Form von Subjekt- Prädikat-Objekt miteinander verketten. Ein derartiger Subjekt-Prädikat-Objekt- Beziehungen repräsentierender Baum oder Graph ist beispielsweise aus der WO 2009/030288 A1 bekannt, deren Offenbarungen hiermit ausdrücklich referenziert werden. Bei der erfindungsgemäßen Erstellung eines Anfrage-Baums definiert der Nutzer vorteilhafterweise zunächst die Wurzel des Anfrage-Baums. Dafür kann er beispielsweise aus einer Liste, welche von dem datenverarbeitenden System beziehungsweise der Eingabehilfe bereitgestellt wird, die Datenklasse, also die semantische Klassifizierung eines Inhaltstyps, auswählen, vorzugsweise seitens einer graphischen Benutzeroberfläche mittels sogenanntem Mauszeiger oder dergleichen.
Zugleich oder alternativ kann der Nutzer beliebig viele Attribute hinzufügen. Dabei kann der Nutzer ebenfalls aus einer Liste von möglichen Datenattributen, die es für die zuvor gewählte Datenklasse als semantischen Inhaltstyp im Datenmodel gibt, auswählen. Die Datenattribute sind wahlweise durch ein logisches „und" oder „oder" verknüpft. Für jeden Attributnamen beziehungsweise jede Attributbezeichnung können vorteilhafterweise mehrere Attributwerte angegeben werden, die durch ein logisches„oder" verknüpft werden. Falls der Nutzer keinen Attributnamen auswählt, wird mit den hinterlegten Stichworten vorteilhafterweise eine Freitextsuche beziehungsweise Volltextsuche für die gewählte Datenklasse initiiert.
Anschließend kann der Nutzer zu dem so definierten Objekt, bestehend aus der die Wurzel des Anfrage-Baums bildenden Datenklasse und/oder den Datenattributen zu dieser Datenklasse, einschränkende Verknüpfungen hinzufügen. Dafür kann der Nutzer diese einschränkenden Verknüpfungen für das definierte Objekt ebenfalls aus einer Liste auswählen.
Ist das so verknüpfte Objekt definiert, kann der Nutzer die Verknüpfung selbst durch die Wahl eines Prädikats, also der Begründung für eine Verknüpfung, einschränken. Vorteilhafterweise stellt ihm das datenverarbeitende System und/oder die Eingabehilfe ebenfalls wieder eine Auswahlliste zur Verfügung.
Sofern es mehrere einschränkende Verknüpfungen gibt, können diese vorteilhafterweise durch eine logisches„und" oder„oder" oder„und nicht" verknüpft werden.
Sofern der Nutzer seine Anfrage beziehungsweise seine Suche noch weiter verfeinern möchte, kann er vorteilhafterweise die Objekte in der zweiten Ebene seines Anfrage-Baums ebenfalls wieder durch Verknüpfungen einschränken.
In einer weiteren vorteilhaften Ausgestaltung der Erfindung kann der Nutzer den Anfrage-Baum als Lesezeichen in einer Datenbank oder als neue Datenklasse eines semantischen Inhaltstyps in einer Ontologie speichern, welche Ontotogie anschließend für weitere Anfragen und/oder Anfrage-Bäume von dem datenverarbeitenden System nutzbar ist.
In einer vorteilhaften Ausgestaltung der Erfindung wird der mit der erfindungsgemäßen Eingabehilfe erstellte Anfrage-Baum seitens der graphischen Benutzeroberfläche (GUI) graphisch dargestellt. In einer weiteren vorteilhaften Ausgestaltung der Erfindung wird bei Auswahl eines Knotens des Anfrage-Baums, vorzugsweise durch Doppelklick auf die Knoten, dem Nutzer ein Fenster mit einer Liste angezeigt, in der die Datenklasse und die Datenattribute sowie die Attributwerte definiert werden können. Vorteilhafterweise öffnet ein Doppelklick auf eine Kante des Anfrage-Baums eine Auswahlliste für die Begründung der Verknüpfung, also das Prädikat.
Gegenstand der vorliegenden Erfindung ist ferner ein Datenverarbeitungssystem bzw. eine Datenverarbeitungseinrichtung, aufweisend einen Prozessor, welcher ausgebildet und/oder eingerichtet ist, ein erfindungsgemäßes Verfahren automatisch bzw. automatisiert auszuführen, insbesondere durch Laden eines entsprechenden das Verfahren realisierenden Anwendungsprogramms aus einem Speichermittel und Ausführen des Anwendungsprogramms durch den Prozessor.
Weitere Einzelheiten, Merkmale und Vorteile der Erfindung werden nachfolgend anhand der in den Figuren der Zeichnung dargestellten Ausführungsbeispiele näher erläutert. Dabei zeigen:
Fig. 1 in einer schematischen Prinzipdarstellung ein Ausführungsbeispiel für eine erfindungsgemäße Anfrage an ein datenverarbeitendes System;
Fig. 2 in einem Ablaufdiagramm (Fig. 2a bis 2e) ein Ausführungsbeispiel für eine
Umsetzung einer erfindungsgemäßen Anfrage an ein datenverarbeitendes System;
Fig. 3 in einem Ablaufdiagramm ein Ausführungsbeispiel für eine Umsetzung einer erfindungsgemäßen Eingabehilfe zur teilautomatischen Erzeugung einer Anfrage an ein datenverarbeitendes System;
Fig. 4 in einer schematischen Prinzipdarstellung ein Ausführungsbeispiel für eine erfindungsgemäße Eingabehilfe zur teilautomatischen Erzeugung einer Anfrage an ein datenverarbeitendes System; und
Fig. 5 in einem Ablaufdiagramm ein Ausführungsbeispiel für eine Umsetzung einer Wiedergabe der Ergebnisse einer erfindungsgemäßen Anfrage an ein datenverarbeitendes System.
Fig. 1 zeigt ein datenverarbeitendes System 1 bzw. 1' mit einem Datenbestand 2, dem ein Datenmodell zugrunde liegt, welches zur Auswahl von Daten aus dem Datenbestand 2 mit einer Abfragesprache des datenverarbeitenden Systems 1 verwendbar bzw. verarbeitbar ist. Das datenverarbeitende System 1 weist eine Einrichtung 5 zur Analyse und/oder Interpretation natürlichsprachlicher Anfragen 6 von Nutzern 3 auf. Eine natürlichsprachliche Anfrage eines Nutzers 3 wird dabei durch eine nutzerseitige Eingabe 4 von Nutzerbegriffen erfasst, wobei die Nutzerbegriffe als eine Folge von Zeichen erfasst werden. Die Nutzerbegriffe beschreiben dabei semantisch die von dem Nutzer 3 intendierten Ergebnisse der Antwort des datenverarbeitenden Systems 1 auf die noch zu erfolgende Anfrage an das datenverarbeitende System 1. Die Eingabe 4 der Nutzerbegriffe kann dabei durch den Nutzer 3 manuell durch Betätigung von Tasten einer Eingabeeinrichtung
(in Fig. 1 nicht explizit dargestellt) des Nutzers 3 oder durch Sprachsteuerung (in Fig. 1 nicht explizit dargestellt) erfolgen.
Eine natürlichsprachliche Anfrage 6 eines Nutzers 3 wird von der Einrichtung 5 zur Analyse und/oder Interpretation natürlichsprachlicher Anfragen 6 analysiert und/oder interpretiert. Dazu verwendet die Einrichtung 5 zur Analyse und/oder Interpretation natürlichsprachlicher Anfragen 6 das Datenmodell 7. Die Metadaten sind dabei Bestandteil des datenverarbeitenden Systems 1 (in Fig. 1 durch das Bezugszeichen 1' gekennzeichnet) oder werden über eine Kommunikationsverbindung von dem datenverarbeitenden System 1 genutzt (in Fig. 1 nicht explizit dargestellt). Im Rahmen der Analyse und/oder Interpretation der natürlichsprachlichen Anfrage 6 setzt die Einrichtung 5 die natürlichsprachliche Anfrage 6 des Nutzers 3 in eine Anfrage 9 in der Abfragesprache des datenverarbeitenden Systems 1 um und richtet diese an den Index oder die Datenbank des Datenbestandes 2 des datenverarbeitenden Systems 1. Das Ergebnis der Anfrage 9 in der Abfragesprache an den Index des Datenbestandes 2 des datenverarbeitenden Systems 1 wird anschließend dem Nutzer ausgeliefert, insbesondere durch graphische Wiedergabe seitens einer Anzeigeeinrichtung (in Fig. 1 nicht explizit dargestellt) des Nutzers 3.
Fig. 2 zeigt in einem Ablaufdiagramm (vergleiche Fig. 2a bis 2e) ein Ausführungsbeispiel für eine Umsetzung einer erfindungsgemäßen Anfrage an ein datenverarbeitendes System in einer Abfragesprache des datenverarbeitenden Systems - nachfolgend auch Query genannt - durch einen Algorithmus. Die in Fig. 2b und 2e durch Schraffur kenntlich gemachten Elemente sind vorteilhafterweise optionale Verfahrensvarianten und betreffen zum einen die Option einer möglichen zweifachen semantischen Interpretation eines Wortes im Falle einer Verknüpfung und zum anderen die Option einen Filter für Füllwörter, welcher dem Anwender bzw. Nutzer eine intuitivere Eingabe, die einer natürlichen Sprache entspricht, sowie eine robustere Interpretation und damit ein besseres Ergebnis ermöglicht. Ausgestaltungen des erfindungsgemäßen Verfahrens, bei denen die optionalen Verfahrensvarianten nicht zum Einsatz kommen, weisen anstelle der durch Schraffur kenntlich gemachten optionalen Elemente entsprechende Verweise von bzw. auf die jeweiligen entsprechenden nicht durch Schraffur gekennzeichneten Elemente des Ablaufdiagramms auf.
Eine einfache Suchanfrage ist dadurch charakterisiert, dass der Nutzer in einem Eingabefeld (Textfeld) die gesuchte Information mit mehreren Wörtern (Schlüsselwörter) intuitiv beschreibt, also Begriffe eingibt, welche die von dem Nutzer intendierten Ergebnisse der Antwort des datenverarbeitenden Systems auf die zu erfolgende Anfrage an das datenverarbeitende System semantisch beschreiben (vgl. Fig. 2a, Bezugszeichen 11). Diese natürlichsprachliche Anfrage (Suchanfrage 11) des Nutzers wird im Anschluss in ihre begrifflichen Bestandteile, vorliegend Lexeme, zerlegt (vgl. Fig. 2a, Bezugszeichen 12) und in eine Anfrage in der Abfragesprache des datenverarbeitenden Systems (vgl. Fig. 2e, Bezugszeichen 13) übersetzt bzw. umgesetzt, welche über eine bloße Volltextsuche durch Kombination der Schlüsselwörter hinausgeht.
Dabei wird solange das nächste Element (das heißt der nächste Begriff) der Liste L analysiert, solange die Differenz der Anzahl der Elemente (das heißt der Begriffe) der Liste L und Index N für das Element (das heißt den Begriff) der aktuellen Iteration größer 1 ist (vgl. Fig. 2a, Bezugszeichen 14).
Anschließend wird schrittweise überprüft, ob die in Fig. 2a mit dem Bezugszeichen 15, in Fig. 2b mit dem Bezugszeichen 17 und in Fig. 2c mit dem Bezugszeichen 19 gekennzeichneten Bedingungen zutreffen.
Eine erkannte Datenquelle (vgl. Fig. 2a, Bezugszeichen 15) würde den Suchraum entsprechend einschränken (vgl. Fig. 2a, Bezugszeichen 16). So würde der Begriff „Amazon" beispielsweise nur eine Suche in den Daten bewirken, die Amazon zur Verfügung stellt.
Eine erkannte Datenklasse (semantische Klassifizierung (Inhaltstyp)) (vgl. Fig. 2b, Bezugszeichen 17, wobei der Inhaltstyp in Fig. 2 als Objekt-Typ OT bezeichnet ist), würde die Suche, das heißt die Anfrage in der Abfragesprache des datenverarbeitenden Systems auf entsprechend klassifizierte Inhalte (Inhaltstyp bzw. Objekt-Typ OT) einschränken (vgl. Fig. 2b, Bezugszeichen 18 bzw. Fig. 2c, Bezugszeichen 27), zum Beispiel auf den Inhaltstyp bzw. die Datenklasse„Buch". Die Information holt sich das datenverarbeitende System 1 vom Datenmodell des datenverarbeitenden Systems 1. Falls die Anfrage bereits durch eine Datenklasse (semantische Klassifizierung (Inhaltstyp)) eingeschränkt wurde, werden die
angefragten Inhalte durch eine Relation R mit Daten eingeschränkt, die der Datenklasse (semantische Klassifizierung (Inhaltstyp)) entsprechen (vgl. Fig. 2b, Bezugszeichen 18).
Im Falle der Erkennung einer Datenklasse (semantischen Inhaltstyp) [vgl. Fig. 2b, Bezugszeichen 17 und 18) für eine Relation R zu den mit der Anfrage angefragten Inhalten (Fig. 2b, Bezugszeichen 24) wird anschließend untersucht, ob der Begriff ferner ein Datenattribut ist (vgl. Fig. 2b, Bezugszeichen 22). Bejahendenfalls wird die Suche dann auf einen entsprechenden Attributwert (Metadatum) weiter beschränkt (vgl. Fig. 2b, Bezugszeichen 23). Dafür wird der bisherige Teil der Suchanfrage in der Abfragesprache des datenverarbeitenden Systems mit der Eingrenzung dieses neuen Datenattributs (Attribut) ergänzt und mit einem logischen „oder" zur vorher interpretierten Suchanfrage ergänzt (vgl. Fig. 2b, Bezugszeichen 23). Der auf den Attributnamen folgende Begriff wird dabei als Attributwert verwendet.
Falls sowohl die Anfrage Q durch eine Datenklasse (semantische Klassifizierung (Inhaltstyp)) bereits eingeschränkt wurde und bereits eine Relation R (Fig. 2b, Bezugszeichen 24) enthält, die diese Datenklasse (semantische Klassifizierung (Inhaltstyp)) aufweist, wird die Bezeichnung der Datenklasse (semantische Klassifizierung (Inhaltstyp)) als Schlüsselwort für eine Volltextsuche zur weiteren Eingrenzung der Relation R der Anfrage Q verwendet (Fig. 2b, Bezugszeichen 25).
Das beschriebene Verfahren grenzt die Komplexität der Anfrage Q an ein datenverarbeitendes System in einer Abfragesprache des datenverarbeitenden Systems (auch Query genannt) auf eine einzige Relation R ein.
Ein erkanntes Datenattribut bzw. ein erkannter Attributname (vgl. Fig. 2c, Bezugszeichen 19) würde die Suche auf einen entsprechenden Attributwert (Metadatum) beschränken (vgl. Fig. 2c, Bezugszeichen 20 bzw. 28). Dabei erfolgt vorteilhafterweise eine Erkennung dahingehend, ob die Relation R mit dem entsprechenden Attributwert bereits Bestandteil der Anfrage Q ist oder nicht. Ist die Relation R bereits Bestandteil bzw. Element der Anfrage Q erfolgt eine Eingrenzung der Relation R der Anfrage Q (vgl. Fig. 2c, Bezugszeichen 20). Ist die
Relation R noch kein Element der Anfrage Q erfolgt eine Eingrenzung der Anfrage Q (vgl. Fig. 2c, Bezugszeichen 28).
Ist der nächste Begriff der natürlichsprachlichen Anfrage des Nutzers ein Stichwort, das weder eine Datenklasse (einen Inhaltstyp) noch ein Datenattribut (Attributnamen) repräsentiert, wird dieser Begriff für eine einschränkende Volltextsuche verwendet, (vgl. Fig. 2d, Bezugszeichen 21 , bzw. Fig. 2e, Bezugszeichen 29). Dabei erfolgt eine Erkennung ob die Relation R der Anfrage Q bereits einen Parameter enthält, der die Anfrage auf das für eine sogenannte Volltextsuche zu verwendende Wort W(n) beschränkt. Ist dies nicht der Fall, erfolgt eine Erkennung dahingehend, ob das Wort W(n) ein sogenanntes Stoppwort ist (Fig. 2e, Bezugszeichen 26). Ist dies nicht der Fall, wird die Anfrage Q auf eine Volltextsuche mit dem Wort W(n) ergänzt (Fig. 2e, Bezugszeichen 29).
Das Ablaufdiagramm gemäß Fig. 3 zeigt ein Ausführungsbeispiel für eine Umsetzung einer erfindungsgemäßen Eingabehilfe zur teilautomatischen Erzeugung einer Anfrage an ein datenverarbeitendes System. Die durch den Nutzer erfolgende Eingabe in einem Eingabefeld (Textfeld) sind dabei folgende Eingabehilfen ergänzend bzw. optional vorgesehen, die quasi eine Moderation der Suchanfrage (Query) in der Abfragesprache des datenverarbeitenden Systems ermöglichen:
Fängt der Anwender an, das erste Wort einzutippen, erscheint unter dem Eingabefeld eine Liste von möglichen Datenquellen und/oder Datenklassen (semantischen Inhaltstypen).
Ist das erste Wort eine Datenklasse (semantischer Inhaltstyp), erscheint für das zweite Wort eine Auswahl von möglichen Attributnamen. Die Visualisierung kann dabei durch eine Drop-Down-Liste erfolgen, beispielsweise in einer Art und Weise wie sie von sogenannten Browsern für deren Suchfeld bereits bekannt ist.
Fig. 3 zeigt wie eine solche erfindungsgemäße Moderation der Suchanfrage mit Eingabehilfen durch Vorschläge für Objekttypen, Attributnamen und Attributwerten, über einen Algorithmus umgesetzt werden kann. Fig. 4 zeigt eine Visualisierung
einer entsprechenden Eingabehilfe (nachfolgend auch Wizzard genannt) für den Anwender.
Im Falle einer erfindungsgemäßen Eingabehilfe - nachfolgend auch Wizzard genannt - wird der Anwender bei der Formulierung der Suchanfrage geführt. Dabei gibt es zwei Möglichkeiten: Der Anwender stellt sich einen Anfrage-Baum zusammen oder er verkettet in einer Liste Aussagen in der Form Subjekt-Prädikat- Objekt. Dabei werden folgende Schritte umgesetzt:
1. Zuerst definiert der Anwender die Wurzel des Anfrage-Baums. Dafür kann er aus einer Liste die Datenklasse (semantischen Inhaltstyp) auswählen. Bei dem Ausführungsbeispiel gemäß Fig. 4 beispielsweise Email Si.
2. Zugleich oder alternativ kann der Anwender beliebig viele Datenattribute hinzufügen. Dabei kann er ebenfalls aus einer Liste von möglichen Attributen, die es für den gewählten Inhaltstyp gibt, auswählen. Die Attribute sind wahlweise durch ein logisches„und" oder„oder" verknüpft. Für jeden Attributnamen können mehrere Attributwerte angegeben werden, die durch ein logisches „oder" verknüpft werden. Falls der Anwender keinen Attributnamen auswählt, wird mit den hinterlegten Stichworten eine Volltextsuche für den gewählten Inhaltstyp ausgelöst. Bei dem Ausführungsbeispiel gemäß Fig. 4 sind in dem Fenster F dazu mögliche Datenattribute für die Datenklasse Email Si wiedergegeben.
3. In einem dritten Schritt kann der Anwender zu dem so definierten Objekt einschränkende Verknüpfungen hinzufügen. Hierbei geht der Anwender für die Definition der verknüpften Objekte genauso vor wie bei der Wurzel des Anfragebaumes.
4. Ist das Objekt definiert, kann der Anwender die Verknüpfung selbst durch die Wahl eines Prädikats, also der Begründung für eine Verknüpfung einschränken. Dafür steht dem Anwender ebenfalls wieder eine Auswahlliste zur Verfügung, die insbesondere in einem Fenster entsprechend dem Fenster F der Datenklasse Email ST wiedergegeben
wird. In Fig. 4 sind entsprechende Prädikate der Datenklasse Email St durch die Kanten P und P12 gekennzeichnet.
5. Gibt es mehrere einschränkende Verknüpfungen, können diese durch ein logisches„und" oder„oder" verknüpft werden.
6. Will der Anwender seine Suche noch weiter verfeinern, kann er die Objekte in der zweiten Ebene seines Anfragebaumes ebenfalls wieder durch Verknüpfungen einschränken. In Fig. 4 sind dies das Projekt On und das Produkt O12, wobei Projekt O für die weitere Verfeinerung Subjekt S2 wird, welches über das die Kante des Graphen bildende Prädikat P21 mit dem Objekt Kunde O2 verknüpft ist. Diesen Query- Baum kann der Anwender als Lesezeichen in einer Datenbank oder als neuen semantischen Inhaltstyp, also als neue Datenklasse, in einer Ontologie speichern, die anschließend für weitere Suchanfragen und Anfrage-Bäume von dem datenverarbeitenden System genutzt werden kann.
Eine grafische Lösung dieser Eingabehilfe (Wizzard) ist vorteilhafterweise durch eine grafische Darstellung des so gebildeten Anfrage-Baums gegeben (vgl. Fig. 4 den Graphen oberhalb des Fensters F). Bei einer beispielsweise durch Doppelklick auf die Knoten (vgl. Fig. 4 Bezugszeichen S1, On, O12, S2, O2) erfolgende Auswahl wird dem Anwender ein Fenster (vgl. Fig. 4 Bezugszeichen F) mit einer Liste angezeigt, in der die Datenklasse (Inhaltstyp) und die Attributnamen sowie die Attributwerte definiert werden können. Ein Doppelklick auf eine Kante (vgl. Fig. 4 Bezugszeichen P , P12, P21) öffnet und zeigt hingegen eine Auswahlliste für die Begründung der Verknüpfung (Prädikat).
Fig. 5 zeigt in einem Ablaufdiagramm ein Ausführungsbeispiel für eine Umsetzung einer Wiedergabe der Ergebnisse einer erfindungsgemäßen Anfrage an ein datenverarbeitendes System.
Die in den Figuren der Zeichnung dargestellten Ausführungsbeispiele der Erfindung und die im Zusammenhang mit diesen beschriebenen Ausführungsbeispiele der Erfindung dienen lediglich der Erläuterung der Erfindung
und sind für diese nicht beschränkend. Fig. 2 beschreibt dabei beispielsweise ein Ausführungsbeispiel für die erfindungsgemäße Umsetzung einer komplexen Abfrage, die beispielsweise mit der Eingabehilfe (Wizzard) erstellt wurde. Dabei wird die komplexe Abfrage in miteinander kombinierte Teilabfragen übersetzt. Das heißt, dass die komplexe Abfrage, welche einen Graphen repräsentiert, in Relationen (Tupel) zerlegt wird, die miteinander verknüpft werden.
Bezuqszeichenliste
1, 1' datenverarbeitendes System
2 Datenbestand (Index)
3 Nutzer (Anwender)
4 Eingabe Nutzerbegriffe als Zeichenfolge
5 Einrichtung zur Analyse und/oder Interpretation natürlichsprachlicher Anfragen (6)
6 natürlichsprachliche Anfrage
7 Datenmodell/Metadata (Literate, Wörterbücher, Vokabulare)
8 Abfrage/Nutzung Datenmodell/Metadata (7)
9 Anfrage in Abfragesprache
10 Antwort auf Anfrage in Abfragesprache
11 natürlichsprachliche Anfrage
12 Zerlegung natürlichsprachliche Anfrage in Lexeme/Begriffe
13 Ausgabe Anfrage in Abfragesprache datenverarbeitendes System
14 Überprüfung ob es mehrere Lexeme/Begriffe gibt
15 Erkennung Datenquelle
16 Ergänzung Anfrage in Abfragesprache durch Eingrenzung auf Datenquelle
17 Erkennung Datenklasse (semantischer Inhaltstyp/Objekt-Typ)
18 Ergänzung Anfrage in Abfragesprache durch Eingrenzung auf Datenklasse (semantischer Inhaltstyp/Objekt-Typ)
19 Erkennung Datenattribut
20 Ergänzung Anfrage in Abfragesprache durch Eingrenzung auf
Datenattribut
21 Ergänzung Anfrage in Abfragesprache durch Volltextsuche
22 Erkennung Datenattribut
23 Ergänzung Anfrage in Abfragesprache durch Eingrenzung auf
Datenattribut
24 Erkennung Datenklasse (semantischer Inhaltstyp/Objekt-Typ) schon
Element der Relation der Anfrage in Abfragesprache
25 Ergänzung Anfrage in Abfragesprache durch Volltextsuche
26 Erkennung Stoppwort
27 Ergänzung Anfrage in Abfragesprache durch Eingrenzung auf Datenklasse
(semantischer Inhaltstyp/Objekt-Typ)
28 Ergänzung Anfrage in Abfragesprache durch Eingrenzung auf
Datenattribut
29 Ergänzung Anfrage in Abfragesprache durch Volltextsuche F Fenster
OH Objekt
Objekt
Objekt
Prädikat
Prädikat
Prädikat
Subjekt
Subjekt