DE102013003055A1 - Verfahren und Vorrichtung zum Durchführen von Suchen in natürlicher Sprache - Google Patents

Verfahren und Vorrichtung zum Durchführen von Suchen in natürlicher Sprache Download PDF

Info

Publication number
DE102013003055A1
DE102013003055A1 DE102013003055.2A DE102013003055A DE102013003055A1 DE 102013003055 A1 DE102013003055 A1 DE 102013003055A1 DE 102013003055 A DE102013003055 A DE 102013003055A DE 102013003055 A1 DE102013003055 A1 DE 102013003055A1
Authority
DE
Germany
Prior art keywords
query
token
node
semantic
focus
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.)
Withdrawn
Application number
DE102013003055.2A
Other languages
English (en)
Inventor
Anmelder Gleich
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.)
Individual
Original Assignee
Individual
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 Individual filed Critical Individual
Priority to DE102013003055.2A priority Critical patent/DE102013003055A1/de
Priority to US14/176,067 priority patent/US9448995B2/en
Publication of DE102013003055A1 publication Critical patent/DE102013003055A1/de
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/40Processing or translation of natural language
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/334Query execution
    • G06F16/3344Query execution using natural language analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/284Lexical analysis, e.g. tokenisation or collocates

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • General Health & Medical Sciences (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

Ein digitales Gerät und ein Verfahren zum Parsen einer Abfrage, insbesondere einer Abfrage in natürlicher Sprache, und zum Abrufen von Ergebnissen von möglicherweise mehreren Datenquellen wie relationalen Datenbanken oder dem Semantischen Web. Das Verfahren beinhaltet einen Parsingvorgang zum Erzeugen einer graphbasierten logischen Darstellung der Abfrage unter Verwendung semantisch strukturierter Ressourcen, die aus einem Tokenisierer (42), einem Knotengenerator (43), einem Beziehungsgenerator (44) und einem Fokusidentifizierer (45) bestehen. Das digitale Gerät verwirklicht eine modularisierte Architektur, die aus einem Parser besteht, der die Verarbeitung einer Abfrage mit möglicherweise mehreren Vokabularen ermöglicht, einem Abfrageprozessor (24), der Daten von Wissensquellen unabhängig von ihrem Datenbank-Managementsystem (32, 33) abruft, und einem Ergebnisprozessor (36), der die Ergebnisse zusammenfasst.

Description

  • HINTERGRUND DER ERFINDUNG
  • Diese Erfindung bezieht sich auf ein digitales Gerät, ein Verfahren und ein Computerprogramm nach den beigefügten Ansprüchen. Insbesondere bezieht sich die Erfindung auf das Gebiet der Durchführung von Suchen, insbesondere Suchen in natürlicher Sprache, in strukturierten Daten wie relationalen Datenbanken oder dem Semantischen Web.
  • Das World Wide Web (WWW) speichert und verwaltet Informationen im Internet auf im Wesentlichen unstrukturierte Weise. Um diesen Mangel zu überwinden, richten sich zunehmende Bemühungen auf das Strukturieren oder Klassifizieren der Information auf dem Internet. Diese Bemühungen werden von dem World Wide Web Consortium (W3C), siehe http://www.w3.org/, einem bedeutenden Standardisierungsgremium für das World Wide Web, durchgeführt. Es ist das Ziel dieser Bemühungen, ein Semantisches Web von (verknüpften) Daten zu schaffen, in dem Daten unter Verwendung eines gemeinsamen Datenmodells, siehe http://www.w3.org/standards/semanticweb/, strukturiert und abgefragt werden. Ein Ansatz eines beschreibenden strukturierten Datenmodells wird vom Resource Description Framework (RDF) – http://w3.org/TR/2004/REC-rdf-concepts-20040210/ – vorgestellt, welches Informationsdarstellungen in der Form von Subjekt/Prädikat/Objekt-Tripeln, die über Instanzen von bestimmten Klassen gemacht werden, verwirklicht. Ein üblicher Weg, um Ressourcen im Semantischen Web zu kennzeichnen, ist die Verwendung von Uniform Resource Identifiers (URI's). Eine Abfragesprache für RDF-Daten wurde mit SPARQL (http://w3.org/TR/2008/REC-rdf-sparql-query-20080115/) vorgestellt, welche das Konzept des Musterabgleichs von Graphen eingeführt hat.
  • Die zunehmende Menge von auf dem Web verfügbaren strukturierten Daten erhöht die Notwendigkeit, die Lücke zwischen der informellen natürlichen Sprache menschlicher Benutzer und den formellen Abfragesprachen von strukturierten Datenbanken zu überbrücken. Natural Language Interfaces (NLI's, Schnittstellen für natürliche Sprache) stellen eine Lösung bereit, um die Aufgabe des Parsens einer Abfrage in natürlicher Sprache zu verlagern, eine geeignete Datenbankabfrage zu erzeugen und die Ergebnisse in einer Maschine automatisch zu verarbeiten.
  • Dem Problem der Portabilität, d. h. der Flexibilität von NLI's im Hinblick auf ihre Vokabularen, die zum Parsen einer Abfrage in eine logische Darstellung verwendet werden, und im Hinblick auf ihre Wissensquellen, die den Datenkörper zum Abfragen von Suchergebnissen darstellen, wird zunehmende Aufmerksamkeit gewidmet. In diesem Zusammenhang ist das Aufkommen von NLI's, die Daten von mehreren Wissensquellen abfragen, die eine Vielzahl von möglichen Gebieten abdecken, ein erfolgversprechender Ansatz. Idealerweise würde ein verteiltes NLI erkennen, nach was die Abfrage sucht, und mit einer oder mehreren geeigneten Wissensquellen in Kontakt treten, um eine Antwort abzufragen. Des Weiteren wäre es wünschenswert, Wissensquellen für ein NLI unabhängig von den ihnen zugrunde liegenden Datenbank-Managementsystemen zu verwenden.
  • STAND DER TECHNIK
  • Im Allgemeinen umfassen Natural Language Interfaces (NLI's) drei Stufen: a) das Parsen einer Abfrage in natürlicher Sprache, b) die Wissensabfrage von verschiedenen Datenquellen, und c) die Zusammenfassung der verteilten Ergebnisse zu einer Suchantwort.
  • Im Hinblick auf das Parsen einer Eingabe in natürlicher Sprache ist der Zweck des syntaktischen Parsens die Analyse des Satzes in natürlicher Sprache und das Erzeugen einer Zwischendarstellung, die die Semantik der natürlichen Sprache in einer logischen Form darstellt, die von nachfolgenden Systemkomponenten weiterverarbeitet werden kann. Existierende Ansätze können allgemein in Ansätze, die eine detaillierte linguistische Analyse, die auf einer formalen Grammatiktheorie (auf die als Deep Parsing Bezug genommen wird) basiert, durchführen, und eher schnelle, „leichtgewichtige” Ansätze, die sich auf das Lösen einer bestimmten Aufgabe richten (Shallow Parsing), eingeteilt werden.
  • Grammatikbasierte Parser verwenden einen Satz von Regeln, um die Struktur eines Satzes zu erkennen und um eine logische Darstellung in der Form eines Parsingbaums zu erzeugen. Einer der Hauptvorteile grammatikbasierter Systeme besteht in der hohen Genauigkeit des Parsing-Prozesses. Andererseits ist der Aufbau eines Satzes von Grammatikregeln oft eine zeitaufwendige Aufgabe, während die Systeme eine Abfrage fehlerhaft Parsen können, wenn sie nicht korrekt nach den linguistischen Regeln formuliert ist.
  • Shallow Parsing-Verfahren sind andererseits eher auf die Segmentierung eines Satzes in logische Einheiten, und auf die Bestimmung ihrer semantischen Rollen im Zusammenhang des Satzes gerichtet. Zu den hauptsächlichen Ansätzen für ”Shallow Parsing” gehören Part-Of-Speech (POS) Tagging, Text Chunking, Named Entity Recognition und/oder Semantic Role Labeling.
  • Im Hinblick auf das Verfahren, um Suchergebnisse von einer Wissensbasis abzufragen, können vorhandene Ansätze durch das ihnen zugrunde liegende Datenbankmanagementsystem, wie relationale Datenbanken oder RDF-Datenbanken, unterschieden werden. Beispiele dieser und anderer früherer Ansätze, Suchmaschinen für natürliche Sprache aufzubauen, sind z. B. in der US 8 315 998 ; der US 8 301 438 (wobei dieses Dokument die Suche nach einer benannten Entität in einer Frage in der natürlichen Sprache beschreibt); der DE 10 2007 000 954 A1 und der DE 10 2009 037 848 A1 offenbart. Ein früher Ansatz, eine Datenbank von Metadaten für ein Semantisches Web (besonders um digitalen Medieninhalt zu erfassen) aufzubauen, ist in der US 6 311 194 B1 offenbart. Unter der Nichtpatentliteratur wird auf V. Tablan et al., A natural language query interface to structured information, ftp://www.dlsi.ua.es/people/antonio/A%20natural%20language%20query%20interface%20to%20structured%20information.pdf; Chong Wang et al., PANTO: A Portable Natural Language Interface to Ontologies, http://gate.ac.uk/sale/dd/relatedwork/2007+Wang+PANTO.pdf; und Ana-Maria Popescu et al., Modern Natural Language Interfaces to Databases: Composing Statistical Parsing with Semantic Tractability, http://acl.ldc.upenn.edu/coling2004/MAIN/pdf/21-783.pdf, Bezug genommen. Zusätzlich enthält I. Androutsopoulos et al., Natural Language Interfaces to Databases – An Introduction, http://acl.ldc.upenn.edu/coling2004/MAIN/pdf/21-783.pdf, eine Besprechung von NLI's für Datenbanken.
  • ÜBERBLICK ÜBER DIE ERFINDUNG
  • Die vorliegende Erfindung stellt ein digitales Gerät und ein Verfahren zum Durchführen einer Suche – insbesondere, aber nicht beschränkt auf eine Suche in natürlicher Sprache – in semantisch strukturierten Ressourcen wie relationalen Datenbanken oder RDF-Datenbanken bereit, indem sie einen anderen Ansatz als die Lösungen nach dem Stand der Technik verwendet. Insbesondere ist es ein Ziel der vorliegenden Erfindung, eine neue Lösung bereitzustellen, die die Menge der zum Erzeugen einer aussagekräftigen Antwort auf eine Abfrage benötigten Netzwerkressourcen und Verarbeitungszeit verringert. Dieses Ziel hat, allgemein gesprochen, unterschiedliche Aspekte:
    • a) Indem eine besser zugeschnittene Antwort auf die Suchfrage zur Verfügung gestellt wird, kann ein Ergebnis in weniger Suchschritten, idealerweise nur einem Suchschritt, erhalten werden;
    • b) Bereitstellen nur weniger (oder sogar nur einer) genauen Antworten, statt einer langen Liste möglicher Antworten;
    • c) Die besser fokussierte Antwort spart daher Prozessor- und Übertragungszeit, wie auch Netzwerkzeit;
    • d) Die Verwendung eines schnellen, fehlertoleranten Parsingmechanismus erzeugt eine genaue Darstellung der angeforderten Information;
    • e) Das Bereitstellen einer modularisierten Systemarchitektur, die sowohl in Begriffen der zugrunde liegenden Vokabularen zum Parsen einer Abfrage, als auch der Wissensquellen des Systems zum Abfragen von Suchergebnissen unabhängig ist.
  • Aus technischer Sicht ist es ein wichtiges Ziel der Erfindung, die zum Durchführen einer Suche erforderliche Menge an Verarbeitungs-, Computer- und Netzwerkzeit zu reduzieren. Beispielsweise ist es ein Ziel der Erfindung, die Menge der zum Durchführen und/oder Erledigen einer Suche verwendeten Prozessorzeit zu verringern, so dass der Prozessor entweder für andere Aufgaben zur Verfügung gestellt wird, und/oder in einer gegebenen Zeit mehr Suchen oder Abfragen durchführen kann, oder dass weniger leistungsfähige Prozessoren oder Computer zum Durchführen einer Suche verwendet werden können.
  • Es ist ein anderes technisches Ziel der Erfindung, die Menge an Speicher, und/oder anderer Hardware, die zur Erzeugung eines aussagekräftigen Suchergebnisses benötigt wird, zu verringern.
  • Die Erfindung hat es sich auch zum Ziel gesetzt, andersartige Befehle und Abfragen an die verschiedenen Komponenten eines Computersystems und/oder eines verteilten Netzwerks zu senden, so dass sie in neuartiger Weise arbeiten, d. h. die übertragenen Signale unterscheiden sich von früheren Lösungen. Es können auch andersartige Steuersignale verwendet werden.
  • Es ist weiterhin ein technisches Ziel der Erfindung, die Anzahl der in einem verteilten Netzwerk verwendeten Netzwerkressourcen zu verringern und dadurch die Menge an Netzwerkverkehr zu verringern; und in einer Client/Server-Anordnung die Kommunikation von einem ”kleinen” Client mit beschränkter Übertragungsgeschwindigkeit, wie einem mobilen Telefon, zu ermöglichen.
  • Im Hinblick auf die Benutzerperspektive ist es ein Ziel der Erfindung, den Suchprozess so einfach wie möglich zu machen, insbesondere indem dem Benutzer ein einfaches Eingabeverfahren wie ein Textformular, in das der Benutzer eine Abfrage in natürlicher Sprache als einen einfachen Satz oder Frage eingeben kann, angeboten wird; und indem ein Abfrageergebnis so schnell wie möglich zur Verfügung gestellt wird, während die Suchergebnisse mit hoher Genauigkeit abgefragt werden und daher dem Benutzer weiter Zeit sparen. Es ist auch wünschenswert, so wenige Antworten wie vernünftigerweise möglich zu haben, anstatt einer langen Liste von ”Hits”.
  • Aus der Perspektive des Herstellers einer Suchmaschine ist es ein Ziel der Erfindung, die Entwicklung einfach und zu geringen Kosten möglich zu machen.
  • Das vorgestellte Verfahren hat zum Ziel, einen schnelleren und fehlertoleranteren Ablauf als die Lösungen nach dem Stand der Technik zur Verfügung zu stellen.
  • Der vorliegenden Erfindung liegt die Aufgabe zugrunde, eines oder mehrere der obigen Ziele zu erreichen (es versteht sich, dass – obwohl die Erfindung idealerweise alle der obigen Ziele erreichen kann – auch das Erreichen eines dieser Ziele, ein teilweises Erreichen eines oder mehrerer Ziele usw. Gegenstand der Erfindung ist).
  • In spezielleren Begriffen stellt die Erfindung eine verteilte Suchmaschine für natürliche Sprache unter Verwendung graphbasierten Parsens zur Verfügung (obwohl ihre Anwendung breiter ist, wie aus dieser Beschreibung ersichtlich werden wird). Eines ihrer hauptsächlichen Merkmale ist das Bereitstellen eines neuen Parsers, und der Komponenten desselben. Durch einen neuen Ansatz der Trennung des Zugriffs auf Ontologien und semantische Ressourcen (wie weiter unten besprochen werden wird) kann sie auch leichter an neue Anforderungen angepasst werden.
  • Wenn wir den Blick zunächst auf einen Verfahrensaspekt der vorliegenden Erfindung richten, bezieht sich die Erfindung auf ein computerimplementiertes Verfahren, oder ein durch digitale elektronische Komponenten wie digitale Gatter und anwendungsspezifische integrierte Schaltkreise implementiertes Verfahren zum Abrufen von Ergebnissen als Antwort auf eine Abfrage. Die Abfrage ist vorzugsweise eine benutzerdefinierte Abfrage in natürlicher Sprache, könnte aber ebenso eine maschinengenerierte Abfrage sein. Sie verwendet semantisch strukturierte Ressourcen, die in wenigstens einer Datenbank gespeichert sind. Die Datenbank kann lokal, wie auch auf einem Netzwerk wie dem Internet gespeichert sein, und in einer bevorzugten Ausführungsform verwendet das erfindungsgemäße Verfahren mehrere Datenbanken und macht einen Unterschied zwischen ihnen.
  • Das erfindungsmäße Verfahren beinhaltet die folgenden Schritte:
    • i. Tokenisieren der Abfrage, indem die Abfrage in Terme segmentiert wird, insbesondere eines oder mehrere Wörter, und Abbilden derselben in semantische Token (Zeichen, Marke) unter Verwendung wenigstens eines Lexikons, wobei dieses Lexikon wenigstens den Tokentyp eines semantischen Tokens enthält, insbesondere Klasse, Rolle, Instanz und/oder Bedingung,
    • ii. Erzeugen einer Darstellung, vorzugsweise einer Darstellung, die einen mathematischen Graphen einbezieht, aus den semantischen Token, die mit der in Schritt (i) durchgeführten Segmentierung assoziiert sind, die die Abfrage in Begriffen eines Graphen ausdrückt, wobei Knoten Ressourcen verkörpern und Kanten Beziehungen zwischen diesen Knoten verkörpern, durch das Anwenden eines Satzes von Änderungsregeln, – wobei die Regeln einen oder mehrere Knoten, und/oder eine oder mehrere Beziehungen zwischen den Knoten, die mit den semantischen Token assoziiert sind, festlegen, und – die Regeln zwischen terminalen und nicht-terminalen Knoten und Beziehungen unterscheiden, und einen der nichtterminalen Knoten oder Beziehungen als den Fokus des Graphen kennzeichnen,
    • iii. Erzeugen einer Datenbankabfrage, beispielsweise einer SQL-, SPARQL- oder XQuery-Abfrage, aus der graphbasierten Zwischendarstellung der Abfrage, die in Schritt i) ermittelt wurde, und Senden an die wenigstens eine Datenbank,
    • iv. Abrufen einer Antwort von der wenigstens einen Datenbank.
  • Schritt i. dient dazu, semantische Token – d. h. Objekte mit semantischen Deskriptoren – in der Abfrage in natürlicher Sprache zu erkennen. Ein semantisches Token ist durch seinen Tokentyp gekennzeichnet, der die semantische Rolle des Tokens verkörpert. Die semantische Rolle eines Tokens wird in Begriffen eines konzeptionellen Datenmodells definiert ähnlich demjenigen, das von Ontologien im Semantischen Web verwirklicht ist, wobei Wissen in terminologisches Wissen, welches die konzeptionellen Daten eines bestimmten Bereiches als einen Satz von Klassen und Eigenschaften definiert, und nicht-terminologisches Wissen, welches Fakten von Instanzen dieser Klassen beschreibt, aufgeteilt wird. In der Tat sind die beiden Begriffe ”Tokentyp” und ”semantische Rolle” austauschbar, und obwohl in dieser Beschreibung „Tokentyp” verwendet wird, könnte man auch „semantische Rolle” sagen. Typische Tokentypen π der Erfindung sind:
    • • Klasse (c)
    • • Rolle (r), oft auch Beziehung, Attribut oder Eigenschaft genannt,
    • • Instanz (i), manchmal auch Ressource genannt, und
    • • Bedingung(ct), oft auch Abfragebedingung oder Beschränkung genannt
    so dass π [c, r, i, ct].
  • Im Zusammenhang mit dieser Erfindung kann ein Token als ein Quadrupel ti (Termkennung), π (Tokentyp, wie oben erklärt), u (eine eindeutige Kennung, vorzugsweise ein Uniform Resource Identifier) und r (Relevanz) beschrieben werden, aber natürlich sind andere Definitionen möglich.
  • Um Token zu erhalten, muss die Eingangsabfrage zunächst in Terme segmentiert werden. Ein Term kann ein einzelnes Wort, oder eine Kombination von Wörtern, der Abfrage sein, die sich auf eine semantische Entität beziehen. Beispielsweise kann die Abfrage ”Towns in Sweden” (Städte in Schweden) in die folgenden Terme segmentiert werden:
    • • ”Towns”, ”in”, und Sweden”; oder
    • • ”Towns in” und ”Sweden”; oder
    • • ”Towns” und ”in Sweden”; oder
    • • ”Towns in Sweden”.
  • Somit sind 4 mögliche Segmentationen der ursprünglichen Abfrage möglich. Jede einzelne Segmentation wird auch eine ”Termsequenz” genannt, so dass wir in diesem Beispiel 4 mögliche Termsequenzen haben.
  • Die Segmentierung einer Abfrage in Termsequenzen kann auf unterschiedliche Weise durchgeführt werden. Eine besonders vorteilhafte Art der Segmentierung wird weiter unten beschrieben; andere Verfahren sind jedoch möglich. Beispielsweise könnte ein Vorprozessor das Stoppwort ”in” in der obigen Abfrage entfernen, so dass nur zwei mögliche Segmentationen übrigbleiben:
    • • ”Towns”, ”Sweden”; oder
    • • ”Towns Sweden”
    was das Durchführen der Segmentation leicht macht.
  • Ein bevorzugter Aspekt der vorliegenden Erfindung ist ein Segmentationsoptimierer, der Teil des Tokenisierers ist und der verschiedene unterschiedliche Segmentationen der Abfrage erzeugt, die Wahrscheinlichkeit jeder Segmentation berechnet, vorzugsweise auf der Basis eines Relevanzfaktors für ein semantisches Token, und der die geeignetste Segmentation auswählt. Vorteilhafterweise wird die Wahrscheinlichkeitsberechnung von einem Wahrscheinlichkeitsrechner unter Verwendung von Relevanzfaktoren für ein semantisches Token von wenigstens einem Lexikon durchgeführt, wobei der Wahrscheinlichkeitsrechner die Wahrscheinlichkeit jeder Segmentation berechnet und eine Segmentation mit einer hohen Wahrscheinlichkeit, vorzugsweise die Segmentation mit der höchsten Wahrscheinlichkeit, auswählt.
  • Die auf diese Weise bestimmten Termsequenzen werden dann in die vorher erwähnten semantischen Token abgebildet. Erfindungsgemäß wird hierzu diesem Zweck ein Lexikon verwendet, welches Abbildungen zwischen Termen und semantischen Token enthält. Jeder Term in einer Termsequenz wird an das Lexikon gesandt oder dort nachgeschlagen, welches ein Token (vorausgesetzt, es existiert) zusammen mit seinem Tokentyp zurückgibt. In dem letzten obigen Beispiel würde das Lexikon zurückgeben, dass ”town” eine Klasse ist und ”sweden” eine Instanz; es würde jedoch für „town sweden” ein Nullergebnis zurückgeben.
  • Das Lexikon kann lokal oder in einem Netzwerk wie dem Internet gehalten werden. Die in einem Lexikon enthaltenen Termassoziationen werden bevorzugt aus Ontologien wie DBpedia (http://www.dbpedia.org), die durch die ihnen zugrunde liegende Ontologie ein konzeptionelles Weltmodell wie auch einen Instanzensatz in der Form eines Satzes von Artikeln, wie in der detaillierten Beschreibung besprochen, bereitstellen, extrahiert. Vorzugsweise wird das Lexikon jedoch lokal gehalten, wodurch die Verarbeitungszeit einer tatsächlichen Abfrage optimiert wird. Dies hat zwei Vorteile: Die Verarbeitungszeit einer tatsächlichen Abfrage wird vermindert, da kein Netzwerkverkehr notwendig ist; ein lokales Lexikon kann besser auf die Bedürfnisse einer Suchmaschine zugeschnitten werden; und Lexika können leicht hinzugefügt oder entfernt werden, so dass das System viel flexibler wird.
  • In einer bevorzugten Ausführungsform der Erfindung gibt das Lexikon auch nicht nur die semantische Rolle eines Tokens zurück, sondern auch eine Ressourcenkennung wie einen Uniform Resource Identifier, die auf eine bestimmte Ressource in dem Netzwerk, die Information über das Token enthält, oder enthalten kann, verweist; und in einer noch stärker bevorzugten Ausführungsform berechnet es das Token, das für den gegebenen Term als am relevantesten angesehen wird und gibt einen Relevanzfaktor oder Relevanzindikator zurück, der die Wahrscheinlichkeit angibt, mit der der Term mit dem Token übereinstimmt. Die Vorteile beider Ansätze werden im folgenden in näheren Einzelheiten besprochen.
  • Dieses Verfahren des Überführens oder Abbildens einer Termsequenz in semantische Token durch Segmentierung und Nachschlagen in einem Lexikon wird passenderweise ”Tokenisierung” genannt, und eine Maschine, die dieses Verfahren ausführt, wird ein ”Tokenisierer” genannt. Der Tokenisierer kann eine getrennte digitale Maschine sein oder, noch angemessener, eine virtuelle Maschine, die auf einem digitalen Computer läuft, wobei die Befehle für die Maschine zum Durchführen des Tokenisierungsverfahrens in einem Tokenisiererspeicher gespeichert sind.
  • Ein bevorzugtes Verfahren nach der Erfindung beinhaltet die folgenden Schritte zum Tokenisieren der Abfrage:
    • a) Segmentieren der Abfrage in Terme, insbesondere eines oder mehrere Wörter,
    • b) Abbilden der Terme in semantische Token unter Verwendung wenigstens eines Lexikons, wobei dieses Lexikon wenigstens den Tokentyp eines Tokens enthält, insbesondere Klasse, Rolle, Instanz und/oder Bedingung,
    • c) Berechnen der Wahrscheinlichkeit, dass diese Segmentierung passend ist,
    • d) Wiederholen der Schritte a) bis c) wenigstens ein weiteres Mal für eine unterschiedliche Segmentierung,
    • e) Vergleichen der Wahrscheinlichkeiten verschiedener Segmentierungen und Auswählen einer Segmentierung mit einer hohen Wahrscheinlichkeit, insbesondere der Segmentierung mit der höchsten Wahrscheinlichkeit,
    • f) Durchführen des Schritts des Erzeugens einer graph-basierten Darstellung auf der Grundlage der ausgewählten Segmentierung.
  • Dieses bevorzugte Verfahren der Umsetzung der Tokenisierung beinhaltet daher das Berechnen mehrerer Segmentierungen und das Auswählen der relevantesten oder wahrscheinlichsten Segmentierung. Mit anderen Worten, mehrere Segmentierungen werden ”ausprobiert”, bis das Verfahren die beste Segmentierung findet, die dann verwendet wird, um die graph-basierte Darstellung zu erzeugen und später die tatsächliche Abfrage. Vorzugsweise (aber nicht notwendigerweise) untersucht das Verfahren alle möglichen Segmentierungen (2n-1, wenn n die Anzahl der Wörter in einem Satz ist). Ein Beispiel wird in der Detailbeschreibung besprochen werden.
  • Das Berechnen der Wahrscheinlichkeit einer bestimmten Segmentierung ist relativ leicht, wenn aus einem Lexikon ein Relevanzfaktor für ein semantisches Token abgefragt werden kann (und ein solcher Relevanzfaktor kann in dem Lexikon gespeichert werden, wenn es aufgesetzt wird). Ein solcher Relevanzfaktor kann in dem Lexikon gespeichert werden, wenn es aufgesetzt wird. Der Relevanzfaktor ist bei Ontologien auf dem Web nicht verfügbar; daher ist seine Erzeugung für lokal gespeicherte Lexika ein wesentlicher technischer Beitrag der vorliegenden Erfindung, um das Verarbeiten zu beschleunigen und die Verwendung von Ressourcen zu vermindern. Die Wahrscheinlichkeit eines Terms kann vorzugsweise berechnet werden, indem die Anzahl der Wörter in einem Term durch die Gesamtzahl der Wörter in der Termsequenz geteilt und dann mit der Wahrscheinlichkeit des Terms multipliziert wird. Wenn dieses Verfahren für alle Terme ausgeführt wird und die sich ergebenden Wahrscheinlichkeiten aufsummiert werden, wird das Ergebnis die Wahrscheinlichkeit für die gesamte Termsequenz sein (ein Beispiel wird in der Detailbeschreibung besprochen werden). Es ist jedoch zu betonen, dass andere Lösungen für das Berechnen der Wahrscheinlichkeit einer Termsequenz (einer Segmentierung) möglich sind, wie das einfache Aufsummieren der Wahrscheinlichkeiten jedes Terms ohne Gewichtung derselben, oder ähnliches.
  • In einer bevorzugten Ausführungsform macht der Tokenisierer zusätzlich Gebrauch von Begriffsklärungs-Regeln, wobei er das wahrscheinlichste Token auswählt, wenn die Bedeutung eines Terms mehrdeutig ist. Beispielsweise kann reine Information manchmal eine Doppelbedeutung haben, so wie das Wort ”Washington” im Englischen, das sowohl eine Stadt als auch eine Person sein kann, oder das Wort „Gericht” im Deutschen, das sowohl ein Spruchkörper als auch eine Speise sein kann.
  • Der Schritt ii. des vorgestellten Verfahrens ist sozusagen ein Kernelement der vorliegenden Erfindung. Auf der Grundlage der in Schritt i. ermittelten semantischen Token wird eine graph-basierte Darstellung der Abfrage erzeugt, die eine Abfrage als einen Satz von Knoten darstellt, die durch einen Satz von Kanten verbunden sind. Die Darstellung wird innerhalb eines übergangsbasierten Verfahrens, das einen Satz von Transformationsregeln verwendet, berechnet, wobei schrittweise die Knoten, die Beziehungen und der Fokus eines semantischen Graphen erzeugt werden. Zu diesem Zweck verwendet das Verfahren drei Arten von spezifischen Änderungsregeln. Dieser Prozess wird in größeren Einzelheiten beschrieben.
  • Indem zunächst auf die Knoten Bezug genommen wird, ist ein Graphenknoten ni (Θ; u; tn; p) ein Quadrupel, das eine oder mehrere Entitäten mit dem Knotenindikator Θ, der Kennung u, dem Knotentyp tn und der Position p darstellt. Die Position p bezeichnet die ursprüngliche Position des Knotens in der Abfrage in natürlicher Sprache. Ein wichtiges, hier zu erwähnendes Konzept ist die Unterscheidung zwischen terminalen und nicht-terminalen Knoten und/oder Beziehungen. Die Boole'sche Variable Θ zeigt an, ob ni einen terminalen oder nicht-terminalen Knoten darstellt.
    • • Ein Terminalknoten stellt eine einzelne Ressource dar, der Wert für die Kennung u ist die URI der Ressource. Der Knotentyp tn stellt die semantische Rolle (c; r; i; ct) der Entität dar.
    • • Nicht-Terminalknoten stellen einen Satz von Entitäten dar und können auch als Variablen referenziert werden. Sie erhalten einen eindeutigen alphanumerischen Wert für u, ihr Knotentyp tn ist undefiniert.
  • Intuitiv könnte man daher sagen, das ein Terminalknoten ein Knoten ist, der bereits erkannt und mit einer Ressource und der semantischen Rolle assoziiert ist; während ein Nicht-Terminalknoten eine Variable von undefiniertem Knotentyp ist, der eine oder mehrere Entitäten darstellt, die durch die Beziehungen des Knotens beschrieben werden.
  • Ähnliche Überlegungen gelten für nicht-terminale Beziehungen. Ein Graphenzweig b(n0; n1; p; Θ) eines Graphen g ist ein Quadrupel, der zwei Graphenknoten n0, n1 mit einer Eigenschaft p verbindet. Die Boole'sche Variable Θ zeigt an, ob die Eigenschaft eine spezifische oder eine arbiträre Eigenschaft definiert.
    • • Terminalzweig: Ein Zweig, der eine spezifische Eigenschaft vertritt, p ist die URI der Eigenschaft
    • • Nicht-Terminalzweig: Ein Zweig, der eine undefinierte Beziehung vertritt, p wird durch eine eindeutige alphanumerische ID dargestellt.
  • Man beachte, dass eine Beziehung hier auch als ein Zweig bezeichnet wird; die beiden Ausdrücke sind in diesem Zusammenhang Synonyme und können ausgetauscht werden. In einer bevorzugten Ausführungsform zieht die Berechnung des wahrscheinlichsten Musters zum Ändern einer Eingangssequenz auch spezifische Werte, die anzeigen, dass ein spezifisches Muster korrekt ist, sogenannte Wahrheitswerte Θ, in Betracht.
  • Im Wesentlichen besteht der erste Schritt des Verfahrens darin, die Knoten zu erzeugen, die die Token der gewählten Segmentierung darstellen. Dies wird durch die Verwendung von Regeln, in diesem Zusammenhang Muster genannt, die die Token in die passende Knotendarstellung abbilden, durchgeführt. In einer besonders bevorzugten Ausführungsform der Erfindung sind die Muster zusätzlich mit einem Wahrheitswert, der anzeigt, bis zu welchem Grad die gegebene Änderung korrekt ist, assoziiert. Eine Musteranwendungsfunktion wird verwendet, bei der ein Muster einen oder mehrere Knoten definiert, möglicherweise zusammen mit einer Beziehung, die zu dem betreffenden Knoten gehört, die mit dem Tokentyp oder der semantischen Rolle eines Tokens assoziiert ist. Unter Verwendung eines Wahrheitswerts oder eines Konfidenzfaktors, der mit einem Muster assoziiert ist, kann bestimmt werden, ob das bestimmte Muster den Tokentyp passend abbildet, und in welchem Ausmaß. Wenn für das Durchführen der Abbildung mehr als ein Muster möglich ist, wird das wahrscheinlichste ausgewählt.
  • In mathematischen Begriffen ist ein Knotenmuster pn ein Muster, das angibt, wie ein Token in einen Graphenknoten überführt wird. Ein Knotenmuster besteht aus einer Eingangssequenz, genannt der Ausdruck en(t), der aus einem einzelnen Token t besteht, und einer Änderungsregel, genannt die Annotierung a(n*, b*), die einen Satz von zu erzeugenden Knoten und Zweigen angibt. Der Knotentyp und die Kennung eines Knotens sind analog zu dem Tokentyp und der Kennung eines Tokens. Aus verschiedenen Gesichtspunkten stellen Knotenmuster eine Zwischenstufe in dem Prozess der Graphenerzeugung dar. Die Knotenstufe verwirklicht Beziehungen in der Form von Rollenknoten, die in der nächsten Stufe in benannte Kanten überführt werden. Eine spezifische Form ist die Erzeugung von Klassenknoten, die bereits eine Knotenbeziehung verwirklichen: Da ein Klassenknoten einen Satz von Entitäten der bestimmten Klasse vertritt, schließt das Muster die Erzeugung eines nicht-terminalen Knotens (weiter unten zu erklären), der mit dem erzeugten Klassenknoten verbunden ist, ein.
  • Der nächste (zweite) Schritt besteht darin, alle Beziehungen zwischen den in Schritt 1 berechneten Knoten, die ermittelt werden können, zu erzeugen, um die graph-basierte Darstellung zu vervollständigen. Dies wird dadurch bewirkt, dass eines oder mehrere Muster verwendet werden, die sich auf die Ermittlung fehlender Beziehungen zwischen Knoten richten. Wie in dem vorherigen Schritt kann ein Wahrheitswert, vorzugsweise zwischen 0 und 1, verwendet werden, um zu beurteilen, ob eine bestimmte Beziehung eine gute Übereinstimmung ist oder nicht.
  • Wiederum in mathematischen Begriffen besteht ein Beziehungsmuster p(e; a; v) aus einem Ausdruck e, einer Annotation a und einem Wahrheitswert v. Der Ausdruck e(n*, b*) besteht aus einem Satz von Knoten und Zweigen, die die Eingangselemente angeben, während die Annotierung a(n*, b*) ein Satz von Knoten und Zweigen ist, die die Überführung des Ausdrucks in einen oder mehrere Zweige angeben. Die Annotierung muss wenigstens ein Token aus dem Ausdruck enthalten. Der Wahrheitswert v(0; 1) gibt die Wahrscheinlichkeit an, dass die gegebene Korrelation korrekt ist. Die Annotierung gibt an, wie die Tokensequenz in einen Satz von Zweigen überführt wird.
  • Da die durch den Graphen dargestellte Abfrage eine Informationsanforderung ausdrückt, muss ein Graph wenigstens ein nicht-terminales Element enthalten. Anders als die Darstellung eines allgemeinen Satzes von Beziehungen innerhalb eines Graphen erfordert es die Verwirklichung einer Suchanfrage, dass ein Element als das Hauptelement der Abfrage, das die angeforderten Daten vertritt und der Fokus des Graphen genannt wird, bestimmt wird. Der Fokus legt die hauptsächlichen Abfrage-Entitäten oder -fakten, die von dem Graphen beschrieben werden, das heißt die Elemente, nach denen die Abfrage sucht, fest. Es ist daher der Zweck des dritten Schrittes des vorgestellten Verfahrens, ein nicht-terminales Element des Graphen zu bestimmen, nämlich entweder einen nicht-terminalen Knoten oder eine nicht-terminale Beziehung, die den Fokus der Abfrage darstellen.
  • Ein Fokus f eines Graphen g ist eine Entität des Graphen, die die abzufragenden Elemente darstellt. Ein Fokus kann entweder ein Knoten nf oder ein Zweig bf sein. Jeder Graph kann nur einen Fokus haben.
    • • Fokusknoten nf: Ein Fokusknoten stellt die abzufragenden Entitäten dar. Der semantische Graph stellt eine Entitäten-Anfrage dar. Wenn der Fokusknoten mit einem Klassenknoten verbunden ist, der den Typ des Fokusknotens angibt, wird der URI des Klassenknotens der Fokustyp des Parses genannt.
    • • Fokuszweig nb: Eine als Fokus erkannte Beziehung zwischen zwei Knoten stellt eine Abfrage nach einer bestimmten Eigenschaft eines Knotens dar. Der semantische Graph stellt eine Fakten-Anfrage dar.
  • Der Fokus einer Tokensequenz wird durch Fokusmuster gekennzeichnet, die den Fokus des Graphen wie auch den Anfragetyp bestimmen. Ein Fokus kann wiederum durch die Verwendung von Mustern (Fokusmustern) festgelegt werden, wie bereits in Verbindung mit den Schritten eins und zwei beschrieben. In diesem Zusammenhang ist ein Fokusmuster pf ein Muster, das den Fokus eines Graphen g kennzeichnet. Es besteht aus
    • • Einem Ausdruck ef, der aus einer Tokensequenz ts besteht
    • • Einer Annotierung af;r, wobei (f) ein einzelnes Element ist, das die Kennung eines Elements des Ausdrucks, das als Fokus der Tokensequenz und auch als Anfragetyp r der Abfrage ermittelt wurde, angibt
    • • Einem Wahrheitswert Θ
  • Unter Verwendung einer graph-basierten Sichtweise einer Abfrage in natürlicher Sprache teilt das Verfahren die möglichen Entitäten, nach denen eine Abfrage suchen kann, in zwei grundlegende Formen von Abfragetypen: Eine Abfrage kann nach Ressourcen (z. B. Personen, Städte), d. h. Knoten, suchen, oder die Abfrage sucht nach einer Beziehung einer Entität, wie den Wert einer bestimmten Eigenschaft oder die Beziehung zwischen zwei Knoten (z. B. den Geburtstag einer Person), d. h. einen Zweig (Relation). Ein ermittelter Fokusknoten stellt daher eine Entitätensuche dar, während ein Fokuszweig eine Anfrage nach einer bestimmten Beziehung, d. h. eine Faktensuche, anzeigt.
  • Es versteht sich, dass die obigen Schritte eins bis drei gleichzeitig ausgeführt werden können, z. B. durch die Verwendung von Nachschlagetabellen. Angesichts des erforderlichen Programmieraufwands und der Ausführungszeit führt die bevorzugte Lösung diese jedoch Schritt für Schritt durch, so dass eine vorteilhafte Ausführungsform der Erfindung die folgenden Verfahrensschritte beinhalten kann:
    • a) Verwenden einer Regel oder eines Musters mit einem bestimmten Tokentyp, beispielsweise eine Klasse, eine Instanz, eine Rolle oder eine Bedingung, für jedes semantische Token, – wobei jede Regel oder Muster einen oder mehrere Knoten, und/oder eine oder mehrere Beziehungen, die mit dem Tokentyp dieses semantischen Tokens assoziiert sind, festlegt,
    • b) Erzeugen weiterer Beziehungen zwischen den Knoten und/oder Beziehungen durch die Verwendung weiterer Muster, um den mathematischen Graphen zu vervollständigen, – wobei jedes Beziehungsmuster einen oder mehrere Knoten und/oder Beziehungen als Eingang und einen oder mehrere Knoten und/oder Beziehungen als Ausgang festlegt,
    • c) Auswählen eines der nicht-terminalen Knotens oder nicht-terminalen Beziehungen als Fokus eines Graphen – wobei ein Fokusmuster einen oder mehrere Knoten und/oder Beziehungen als Eingang, und einen einzelnen nicht-terminalen Knoten oder nicht-terminalen Zweig als den Fokus des Graphen festlegt.
  • Wenn wir uns ein Gerät anschauen, das dafür geeignet ist, das oben beschriebene Verfahren auszuführen und/oder zu benutzen, so bezieht sich die Erfindung auf ein digitales Gerät, insbesondere einen digitalen Computer wie einen Server, einen Client oder ein mobiles digitales Gerät, das mit wenigstens einer Datenbank verbunden ist, die semantisch strukturierte Ressourcen enthält, vorzugsweise in einem Netzwerk wie dem Internet, welches beinhaltet:
    • i. Abfrage-Eingabeschaltkreise für das Eingeben, das Erzeugen oder das Empfangen einer Abfrage, insbesondere einer Abfrage in natürlicher Sprache,
    • ii. einen Parser zum Erzeugen einer Fokusabfrage einschließlich:
    • a) einem Tokenisierer, der funktionell mit wenigstens einem Lexikon verbunden ist, beispielsweise einer Datenbank, um die Abfrage in Terme zu segmentieren, insbesondere in ein oder mehrere Wörter, und um sie über das Lexikon in semantische Token zu abzubilden, – wobei das Lexikon wenigstens den Tokentyp eines semantischen Tokens enthält, insbesondere Klasse, Rolle, Instanz und/oder Bedingung,
    • b) einem Knoten-/Beziehungs-/Fokusgenerator zum Erzeugen des einen oder mehrerer Knoten und/oder einer oder mehrerer Beziehungen einer graph-basierten Darstellung der Abfrage, zum Unterscheiden zwischen terminalen und nicht-terminalen Knoten oder -beziehungen und zum Auswählen eines nicht-terminalen Knotens oder einer nicht-terminalen Beziehung als Fokus des Graphen,
    • iii. einen Abfrageprozessor zum Erzeugen einer Datenbankabfrage für den Fokus und den Tokentyp der in den vorhergehenden Schritten ermittelten semantischen Token, und zum Senden derselben an die wenigstens eine Datenbank,
    • iv. einen Ergebnisprozessor zum Empfangen von Antworten von der wenigstens einen Datenbank und zum Auflisten, Strukturieren, Anordnen und/oder Zusammenführen derselben,
    • v. Ergebnis-Ausgabeschaltkreise zum Anzeigen, Bezeichnen, Speichern oder Senden der verarbeiteten Ergebnisse.
  • Viele der hinsichtlich des Aspekts des digitalen Geräts der vorliegenden Erfindung erwähnten Elemente sind aus der vorhergehenden Beschreibung des zugrunde liegenden Verfahrens bereits offensichtlich. Die grundlegenden Elemente der Eingabe- und Ausgabeschaltkreise, der Parser, der Ausgabeprozessor und der Ergebnisprozessor sollen hier jedoch gezielt erwähnt werden.
  • Der Parser, eines der wesentlichen Elemente der vorliegenden Erfindung, beinhaltet den Tokenisierer und den Knoten-/Beziehungs-/Fokusgenerator. In dem obigen Beispiel ist der Knoten-/Beziehungs-/Fokusgenerator als ein Bauteil beschrieben. In einer bevorzugten Ausführungsform werden jedoch drei Komponenten verwendet. Demgemäß besteht der Parser zum Verarbeiten einer Eingabe in natürlicher Sprache aus den folgenden Komponenten:
    • a) einem Tokenisierer, der funktionell mit einem oder mehreren Lexika verbunden ist,
    • b) einem Knoten-/Beziehungsgenerator zum Erzeugen wenigstens eines Knotens und/oder einer Beziehung für ein semantisches Token mit einem vordefinierten Knotentyp, insbesondere eine Klasse, eine Rolle, eine Instanz und/oder eine Bedingung,
    • c) einem Beziehungsgenerator zum Erzeugen weiterer Beziehungen zwischen den Knoten, bis eine vollständige Darstellung eines mathematischen Graphen erzielt ist, und
    • d) einem Fokusgenerator zum Auswählen eines nicht-terminalen Knotens oder einer nicht-terminalen Beziehung des vorher erzeugten Graphen, vorzugsweise den passendsten nicht-terminalen Knoten oder die passendste nicht-terminale Beziehung.
  • Die 3 in b), c) und d) beschriebenen Generatoren arbeiten im Wesentlichen wie im Zusammenhang mit dem zugrunde liegenden Verfahren beschrieben. In einer bevorzugten Ausführungsform wird der Vorgang des Abfragens von semantischen Token aus einem Lexikon von dem Hauptgerät in einem oder mehreren modularisierten Komponenten, die Vokabularmodule genannt werden, getrennt. Diese Module kommunizieren mittels gut umrissener Schnittstellen mit dem Hauptgerät, was eine flexible Verwirklichung der Lexika des Systems erlaubt. Innerhalb des Tokenisierungsverfahrens empfängt jedes Vokabularmodul eine Segmentierung der Abfrage in natürlicher Sprache und ruft einen Satz von Token von dem mit ihm assoziierten Lexikon ab. Die Vorteile der Modularisierung des Zugriffs eines NLI auf seine Vokabularen sind die mögliche Verwendung von mehreren Vokabularen, wie auch die Unabhängigkeit im Hinblick auf das Einsatzgebiet des Systems. Vokabularmodule können zur Laufzeit leicht hinzugefügt oder entfernt werden, ohne das Hauptsystem zu unterbrechen oder zu ändern, was die Geschwindigkeit und insbesondere Anpassungsfähigkeit des Systems erhöht.
  • Die zweite Komponente des Systems ist der Abfrageprozessor, der eine logische Zwischen-Abfragedarstellung der Abfrage in natürlicher Sprache von dem Parser empfängt, eine Datenbankabfrage erzeugt und sie an die wenigstens eine Datenbank sendet. Die Zwischendarstellung, und zwar der in den drei obigen Schritten erzeugte semantische Graph, wird dazu verwendet, eine für die herangezogene Datenbank passende gültige Datenbankabfrage, wie SQL, SPARQL or XQuery, zu erzeugen. Die Abfrage wird an die Datenbank gesandt, und die Antwort wird empfangen, so dass der Suchvorgang abgeschlossen wird.
  • Während es die vorliegende Erfindung erfordert, dass die Abfrage an wenigstens eine Datenbank gesandt wird, wird die Abfrage in einer fortgeschrittenen Ausführungsform an mehr als seine Datenbank gesandt, oder an eine oder mehrere Datenbanken, die aus einer Mehrzahl von Datenbanken ausgewählt wurden. Auf diese Weise wird die Fülle an Information, die abgerufen werden kann, erhöht, da viele dieser Datenbanken eine spezielle Domain aufweisen. In dieser Ausführungsform wird jede der Wissensquellen des Systems mit einer oder mehreren Kennungen, die die Domain der Wissensquelle anzeigen, d. h. ihrem Fokustyp, registriert. Wenn der Parser, wie oben beschrieben, einen Fokustyp des semantischen Graphen einer Abfrage ermittelt hat, wählt der Abfrageprozessor geeignete Wissensquellen für eine Abfrage, indem er den Fokustyp der Abfrage mit denjenigen der registrierten Wissensquellen vergleicht. Auf diese Weise identifiziert das System Datenquellen, von denen erwartet wird, dass sie über die angefragte Information verfügen. Wenn sich eine Abfrage beispielsweise auf eine natürliche Person bezieht, kann es klug sein, die Abfrage an eine Datenquelle vom allgemeinen Typ wie DBpedia zu senden, oder an die Anwendungs-Programmschnittstelle (API) eines sozialen Netzwerks, aber nicht an die geographische Datenbank LinkedGeoData (http://linkedgeodata.org). Dieser Ansatz spart daher Verarbeitungs- und Netzwerkzeit; d. h. er vermindert die Menge an benötigten Ressourcen und beschleunigt das Verfahren. Dies ist eine einfach umzusetzende Art, um den Prozess des Informationsabrufs von einer Mehrzahl von Wissensquellen zu beschleunigen, und es werden keine Abfragen an Datenbanken gesandt, von denen nicht erwartet wird, dass sie relevante Ergebnisse enthalten, wodurch sich der Netzwerkverkehr verringert und Datenbanken, die auf andere Domains gerichtet sind, von der Verarbeitung einer Anfrage entlastet werden. In einer bevorzugten Ausführungsform des Geräts wird in einer ähnlichen Weise wie die Komponenten-Vokabularmodule des Parsers der Prozess des Abfragens der Wissensquellen des Systems von getrennten Komponenten durchgeführt, die Datenmodule genannt werden. Diese Module tragen zu der Modularität des Systems bei, indem sie den stark individualisierten Prozess des Erzeugens einer gültigen Datenbankabfrage von dem Hauptsystem trennen. Dies ist leicht möglich, weil jeder Datenbankmodul einer spezifischen Wissensdatenbank im Netzwerk zugeordnet ist. Sie kommunizieren mit dem Abfrageprozessor über gut umrissene Schnittstellen und können dynamisch hinzugefügt oder entfernt werden, so dass das System mit einer flexiblen und leicht anpassbaren Auswahl an Wissensquellen versorgt wird. Ein Datenmodul empfängt die von dem oben beschriebenen graph-basierten Verfahren erzeugte Zwischendarstellung und erzeugt eine passende Datenbankabfrage für seine zugeordnete Wissensbasis; es gibt einen Satz von Suchergebnissen zurück, vorzugsweise angereichert mit einem Relevanzfaktor und diversen Metadaten wie Titel, eine Beschreibung, eine Bild-URL und/oder geographische Koordinaten des abgerufenen Ergebnisses.
  • Das erfindungsgemäße Verfahren beinhaltet vorzugsweise auch den Schritt des Zusammenführens, Auswählens und/oder Anordnens der Antworten. Dieser Gesichtspunkt ist von besonderer Wichtigkeit, wenn die Zwischendarstellung der Abfrage an mehr als eine Wissensdatenbank im Netzwerk gesandt wurde, aber er kann auch angewandt werden, wenn nur mit einer Datenbank Verbindung aufgenommen wurde. Der Ergebnisprozessor führt die von einer oder mehreren Datenquellen abgefragten Ergebnisse zusammen und erzeugt zusätzlich für jedes Suchergebnis einen Relevanzfaktor, der die Grundlage für ein Ranking des abgefragten Suchergebnissatzes ist. Er gibt eine Liste von Suchergebnissen zurück, die von einem Menschen interpretiert, oder von einer Maschine weiterverarbeitet werden können.
  • Die von dem erfindungsgemäßen Verfahren durchgeführten Schritte können durch Hardwarebauteile, durch Mikroprogrammierung oder durch jedes andere geeignete technische Verfahren umgesetzt werden. In einer vorteilhaften Ausführungsform der Erfindung kann es jedoch in einem Computerprogramm, das auf einem Digitalcomputer ausgeführt werden kann, verkörpert werden. Die Erfindung bezieht sich auch auf ein Computerprogrammprodukt, das wenigstens teilweise in den internen Speicher eines digitalen Computers, insbesondere eines Servers, geladen werden kann und das Befehle zum Durchführen der Schritte nach dem erfindungsgemäßen Verfahren, wenn es auf dem digitalen Computer ausgeführt wird, enthält. Das Computerprogrammprodukt kann ein materielles Medium wie eine Compact-Disk, ein USB-Stick oder der Arbeitsspeicher oder die Festplatte eines digitalen Computers sein; es kann jedoch auch auf einem Netzwerkcomputer gespeichert und über das Netzwerk herunterladbar sein. In einer vorteilhaften Ausführungsform ist das digitale Gerät serverbasiert, und die Schnittstelle zum Menschen ist in einem benutzerbedienten Client angeordnet. Mit anderen Worten läuft die Suchmaschine auf einem Server, und der benutzerbediente Client kann ein weniger leistungsfähiges Gerät und/oder sogar mit dem Server über eine relative langsame Verbindung wie ein Telefonmodem oder eine drahtlose Verbindung verbunden sein. Dies ist deshalb der Fall, weil auf dem benutzerbedienten Client nur ein Programm mit einer Schnittstelle zum Menschen läuft (um eine Abfrage in natürlicher Sprache einzugeben und die Ergebnisse zu empfangen) und er die Abfrage selbst nicht verarbeiten muss. Dies wird alles auf einem Server durchgeführt, dem auch eine viel schnellere Verbindung zum Internet, oder einem anderen Netzwerk, zur Verfügung stehen kann.
  • Wenn wir die Erfindung von einem mehr hardware-orientierten Standpunkt aus betrachten, bezieht sie sich auch auf eine Vorrichtung zum Durchführen von Suchen in natürlicher Sprache mit:
    • i. wenigstens einer Benutzer-Eingabeschnittstelle zur Eingabe von Benutzersuchen,
    • ii. einem digitalen Prozessor, der direkt oder indirekt mit der Benutzerschnittstelle verbunden ist, und der weiterhin direkt oder indirekt mit Befehls-/Datenspeichermitteln verbunden ist, einschließlich:
    • a) einem Tokenisiererspeicher, der Befehle und/oder Daten zum Tokenisieren solchen Benutzer-eingegebenen Abfragen von Termen in semantische Token enthält, wobei der Tokenisierer mit wenigstens einem Lexikon verbunden ist,
    • b) einem Knoten-/Beziehungsspeicher, der Befehle und/oder Daten, insbesondere Knotenmusterdaten, zum Erzeugen von Knoten und/oder Beziehungen für semantische Token für einen vordefinierten Tokentyp enthält,
    • c) einem Beziehungsspeicher, der Befehle und/oder Daten, insbesondere Beziehungsmusterdaten, zum Erzeugen weiterer Beziehungen zwischen den Knoten enthält,
    • d) einem Fokusspeicher, der Befehle und/oder Daten, insbesondere Fokusmusterdaten, zum Auswählen eines nicht-terminalen Knotens enthält,
    • e) einem Abfragespeicher, der Befehle und/oder Daten zum Erzeugen einer Datenbankabfrage und zum Senden an wenigstens eine Datenbank, die funktionell mit dem digitalen Prozessor verbunden ist, enthält,
    • f) einem Ergebnisspeicher, der Befehle und/oder Daten zum Bearbeiten von Antworten von der wenigstens einen Datenbank enthält,
    • iii. wenigstens einer Benutzer-Ausgabeschnittstelle, die direkt oder indirekt mit dem genannten digitalen Prozessor verbunden ist, zum Anzeigen, Bezeichnen oder Speichern der empfangenen Ergebnisse.
  • Andere Merkmale und Vorteile der vorliegenden Erfindung sind in den beigefügten Ansprüchen beschrieben. Es ist anzumerken, dass sich die Erfindung auf alle möglichen Kombinationen von Ansprüchen, oder in dieser Beschreibung offenbarten Merkmalen, bezieht, auch wenn sie nicht speziell Bezug aufeinander nehmen.
  • Die Erfindung stellt daher die hier beschriebenen technischen Mittel, wie den Parser, den Abfrageprozessor, den Ergebnisprozessor usw., zusammen mit den damit in Beziehung stehenden Computer- und Netzwerkkomponenten, zur Verfügung, um eine oder mehrere der eingangs beschriebenen Aufgaben zu lösen.
  • Da die Suche besser ausgerichtet oder zugeschnitten ist, werden Verarbeitungs-, Netzwerk- und Computerzeit vermindert, d. h. die Suche wird schneller und unter Verwendung von weniger technischen Ressourcen durchgeführt. Auf diese Weise können weniger leistungsfähige Computer, und/oder weniger leistungsfähige Netzwerkverbindungen (oder Netzwerkverbindungen mit geringerer Übertragungsgeschwindigkeit wie drahtlose Verbindungen) verwendet werden, um die Suche innerhalb eines annehmbaren Zeitrahmens zu verarbeiten. Elemente und Ressourcen auf dem Web werden auf neuartige technische Art unter Verwendung anderer oder anders ausgedrückter Abfragen und Befehle verwendet, adressiert und gesteuert; beispielsweise werden Datenquellen, die keine einschlägige Information enthalten können, nicht abgefragt, und an andere Datenbanken gesandte Abfragen sind besser auf die Suche zugeschnitten.
  • Die in den getrennten Komponenten Parser und Abfrageprozessor, wie auch der Bereitstellung von Vokabularmodulen und Datenmodulen, verwirklichte technische Modularität erhöht die Flexibilität und Wiederverwendbarkeit der Systemkomponenten.
  • In einer Client/Server-Anordnung können weiterhin alle zeitaufwendigen Prozessschritte von dem Server ausgeführt werden, so dass die Clientseite nur eine Benutzerschnittstelle laufen lassen muss; und der Verkehr zwischen ihnen wird auf ein Minimum reduziert, da von dem Client nur die Suche an den Server kommuniziert wird, und die Ergebnisse auf dem umgekehrten Weg zurückgegeben werden. Die Erfindung ist daher ideal dafür geeignet, auf mobilen Telefonen und anderen Clients mit einer begrenzten Kommunikationsrate (Übertragungsgeschwindigkeit) abzulaufen.
  • Aus der Benutzerperspektive sind die Hauptvorteile der vorliegenden Erfindung die erhöhte Geschwindigkeit, die Möglichkeit, in wirksamer Weise eine Suche in natürlicher Sprache durchzuführen, die Genauigkeit der Ergebnisse und die verminderte Anzahl von weniger einschlägigen Treffern. Die Suche in natürlicher Sprache erfordert es nicht, Stichwörter in der grammatisch korrekten Reihenfolge einzugeben, wie es bei anderen Parsern (z. B. grammatikbasierten Parsern) der Fall ist.
  • KURZBESCHREIBUNG DER ZEICHNUNGEN
  • Die beigefügten Zeichnungen stellen bestimmte bevorzugte Ausführungsformen der Erfindung dar. In den Zeichnungen:
  • 1 ist ein Blockdiagramm, das einige wesentliche Hardware- und Softwarekomponenten der Erfindung veranschaulicht,
  • 2 ist ein vergrößertes Blockdiagramm des Bezugszeichens 7 der 1,
  • 3 stellt an Hand eines einfachen Beispiels dar, wie der Tokenisierer eine einfache Abfrage in Terme segmentiert,
  • 4 ist ein Flussdiagramm, das die hauptsächlichen von dem Tokenisierer durchgeführten Verfahrensschritte veranschaulicht,
  • 5 veranschaulicht die Abbildung von Termen in Token, indem sie zwei repräsentative Termsequenzen zeigt und die von einem Lexikon erhaltenen Abbildungen,
  • 6 stellt die grundlegende Funktionsweise des Knoten-/Beziehungs-/Fokusgenerators dar, indem sie die Generierung eines semantischen Graphen darstellt,
  • 7 zeigt, mittels einiger beispielhafter Knotenmuster, die Arbeitsweise des Knotengenerators,
  • 8 stellt die grundlegende Arbeitsweise des Knotengenerators unter Verwendung von Mustern auf eine Tokensequenz dar,
  • 9 veranschaulicht das grundlegende Arbeitsprinzip des Beziehungsgenerators anhand einiger beispielhafter Beziehungsmuster,
  • 10 ist ein detaillierteres Diagramm der Verwendung von Mustern bei der Beziehung,
  • 11 veranschaulicht das grundlegende Arbeitsprinzip des Beziehungsgenerators anhand der Verwendung eines Beziehungsmusters,
  • 12 veranschaulicht die grundlegende Arbeitsweise des Fokusgenerators anhand einiger beispielhafter Fokusmuster,
  • 13 zeigt die Verwendung eines Fokusmusters durch den Fokusgenerator,
  • 14 stellt einen beispielhaften, von dem Parser generierten benannten Graphen dar,
  • 15 bietet eine Übersicht der Graphengenerierung einer beispielhaften Abfrage,
  • 16 zeigt einen beispielhaften semantischen Graphen in Tripel-Notierung und die entsprechende Zwischen-Abfragedarstellung des Graphen,
  • 17 zeigt eine beispielhafte Zwischen-Abfragedarstellung und eine entsprechende HTTP-Anfrage an einen Datenmodul durch den Abfrageprozessor,
  • 18 zeigt die mögliche Identifikation relevanter Wissenquellen zum Abrufen von Suchergebnissen,
  • 19 ist eine Gesamtdarstellung, die die Verwendung einer erfindungsgemäßen Suchmaschine für natürliche Sprache in einer Client-Server-Struktur veranschaulicht.
  • AUSFÜHRLICHE BESCHREIBUNG DER ERFINDUNG
  • Im Folgenden werden beispielhafte und bevorzugte Ausführungsformen der Erfindung im Einzelnen und unter Bezugnahme auf die beigefügten Zeichungen beschrieben.
  • Die 1 zeigt einige der wesentlichen Komponenten der erfindungsgemäßen Suchprozessor-Umgebung. Ein Client 1, der als Desktop-Computer gezeigt ist, aber der auch jede andere Art von Computer, Mobiltelefon, Tablet-Computer oder jede andere Art einer digitalen Vorrichtung (sogar eine Art Terminal) sein könnte, ist durch eine Kommunikationsleitung 2 mit einem Server 3 verbunden. Die Kommunikationsleitung 2 kann beispielsweise ein elektrischer Draht, ein optisches Kabel, eine drahtlose Radiofrequenzverbindung, eine Infrarotverbindung oder dergleichen sein. Die Trennung zwischen dem Client 1 und dem Server 3 wird durch die gestrichelte Linie mit dem Bezugszeichen 4 angedeutet.
  • In dieser Anordnung wird der Client 1 hauptsächlich dazu verwendet, eine Suchabfrage einzugeben und die Ergebnisse der Suche darzustellen (ein Beispiel der Schnittstelle ist in der 15 gezeigt), während das meiste an tatsächlicher Verarbeitung von dem Server 3 durchgeführt wird. Es versteht sich jedoch, dass es sich hier nur um eine beispielhafte Ausführungsform handelt und dass die Komponenten der Suchverarbeitung auch (ganz oder teilweise) in denselben Computer, der für die Eingabe der Abfrage verwendet wird, einbezogen sein könnten.
  • Die Kommunikation zwischen dem Client 1 und dem Server 3 wird durch die Schnittstellen-Schaltung 5 geleitet, die auf bidirektionaler Grundlage arbeitet.
  • Die Signale von der Schnittstellen-Schaltung 5 (einschließlich von Daten, die ein Suche in natürlicher Sprache repräsentieren) werden (Leitung 6) an den Parser 7 (der im Einzelnen in der 2 offenbart werden wird) geleitet. Der Parser, desen Hauptaufgabe darin besteht, die Abfrage zu verarbeiten und eine graphbasierte logische Zwischendarstellung zu generieren, kommuniziert mit einem oder mehreren Vokabularmodulen 8 und 9 über Verbindungen 10 und 11. Wie durch die Punkte 12 angedeutet, können mehr als 2 Vokabularmodule vorhanden sein (es kann auch nur eines vorhanden sein). Obwohl die Vokabularmodule als Teil des Servers 3 gezeigt sind, könnten sie auch in dem verteilten Netzwerk angeordnet sein.
  • Die Vokabularmodule 8 und 8 kommunizieren über bidirektionale Verbindungen 13 und 14 mit Lexika 15 und 16 (oder mehr von ihnen, wie durch die gepunktete Linie 17 angedeutet; es ist jedoch auch möglich, nur ein Lexikon zu haben). Die Lexika sind bevorzugt als Datenbanken implementiert und ordnen Terme Ressourcen im Web zu. Sie enthalten Datenbanktupel, um Terme in Token abzubilden (wie im Folgenden erklärt werden wird), wobei jedes Tupel normalerweise Folgendes enthält:
    • • einen Term
    • • einen Tokentyp (beispielsweise Klasse, Eigenschaft, Instanz, Bedingung)
    • • einen ”Uniform Resource Identifier” (URI)
    • • einen Relevanzfaktor, der den Grad der Übereinstimmung zwischen dem Term und dem Token angibt
  • Es ist der Zweck der Vokabularmodule 8 und 9, den Ausgang des Parsers 7 an die Struktur und die Suchsprache der Lexika 15 und 16 anzupassen. Der Parser und die Vokabularmodule kommunizieren über klar definierte Schnittstellen, z. B. über HTTP, wobei der Ausgang der Vokabularmodule in einem geeigneten Format ausgedrückt werden kann, z. B. als ein XML-codierter String. Auf diese Weise ist der Prozess des Tokenabrufs von dem zugrunde liegenden Datenbankmanagementsystem unabhängig.
  • In der 1 repräsentiert die gestrichelte Linie 18 symbolisch die Trennung zwischen dem Server 3 und einem verteilten Netzwerk. Das Netzwerk kann z. B. das ”World Wide Web” auf dem Internet sein, oder ein anderes ähnliches Netzwerk.
  • Im Zusammenhang mit der vorliegenden Erfindung können die Lexika 15 und 16 manuell oder auch unter Verwendung existierender Ontologien im Web aufgesetzt und gestaltet werden. Die mögliche Verwendung existierender Ontologien wird durch eine gestrichelte Darstellungsweise ausgedrückt; das heisst die gestrichelten Ontologien 19 und 20 stellen Datenkörper dar, die möglicherweise von vornherein bei der Gestaltung der Lexika 15 und 16 verwendet wurden, wie dies durch die gestrichelten Verbindungen 21 und 22 angedeutet ist. Die gestrichelte Darstellung deutet an, dass diese Elemente bei der tatsächlichen Verarbeitung einer Suche nicht verwendet werden müssen, sondern stattdessen ursprünglich verwendet wurden, um die Lexika 15 und 16 aufzusetzen. Es versteht sich, dass diese Art, syntaktische Information verfügbar zu machen, für die in der 1 gezeigte spezielle Ausführungsform der Erfindung spezifisch ist und dass andere Anordnungen gewählt werden könnten. Beispielsweise könnten die Vokabularmodule 8 und 9 im Netzwerk statt im Server angeordnet werden.
  • Der syntaktische Parser 7, dessen Arbeitsweise im Einzelnen weiter unten beschrieben werden wird, ist (Linie 23) mit einem Abfrageprozessor 24 verbunden. Der Abfrageprozessor wirkt (bidirektionale Verbindungen 25 und 26) mit Datenmodulen 27 und 28 (oder mehr von diesen, siehe Punkte 29) zusammen. Die Datenmodule 27 und 28 sind wiederum mit Wissensdatenbanken 32 und 33 (oder mehr von diesen, siehe Punkte 34) verbunden (bidirektionale Verbindungen 30 und 31). Die Wissensdatenbanken können unabhängig von dem ihnen zugrunde liegenden Datenbankmanagementsystem abgefragt werden; sie können lokal angeordnet sein, d. h. im Server 3, beispielsweise als relationale Datenbanken, oder sie können auf dem Web angeordnet und der Zugriff dort durchgeführt werden. Beispiele von Wissensdatenbanken mit Fernzugriff sind SPARQL-Endpunkte (die z. B. von DBpedia oder LinkedGeoData bereitgestellt werden) oder Anwendungs-Programmschnittstellen (API's) von Datenanbietern auf dem Web.
  • In diesem Zusammenhang führt der Abfrageprozessor 24 in Verbindung mit den Datenmodulen 27 und 28 mehrere wichtige Aufgaben aus. Der Abfrageprozessor empfängt eine Abfrage in der Form einer Zwischen-Abfragedarstellung (die den von dem semantischen Parser generierten Graphen abbildet) von dem Parser 7 (Verbindung 23) und ermittelt die Wissensdatenbanken, die die angeforderte Information enthalten können. Wenn sich die Abfrage beispielweise auf eine natürliche Person bezieht, kann einschlägige Information in einem sozialen Netzwerk gefunden werden, aber nicht in einer geographischen Datenbank; dementsprechend kann der Abfrageprozessor 24 entscheiden, mit dem API eines sozialen Netzwerks in Kontakt zu treten, aber nicht mit der geographischen Datenbank. Dies ist ein wichtiger Gesichtspunkt der vorliegenden Erfindung, da er dazu beiträgt, die Verarbeitungs- und Netzwerkzeit zu reduzieren, indem vermieden wird, mit allen verfügbaren Wissensdatenbanken in Kontakt zu treten. Im Gegenteil sind die Hardware- und Softwarekomponenten der Erfindung so aufgesetzt, dass sie im Hinblick auf eine Abfrage nur mit den einschlägigen Wissensdatenbanken kommunizieren.
  • Die Datenmodule 27 und 28 überführen die Zwischen-Abfragedarstellung in die einschlägige Suchsprache, die von der zugeordneten Wissendatenbank verwendet wird, beispielsweise eine SQL-Abfrage für relationale Datenbanken, eine SPARQL-Abfrage für RDF-Datenbanken oder eine HTTP-Anfrage für Anwendungs-Programmschnittstellen von externen Anwendungen.
  • Die Antwort von der einschlägigen Wissensdatenbank wird dann über die Datenmodule 27 und 28 an den Abfrageprozessor 24 zurückgeführt und an den Ergebnisprozessor 36 geleitet (Kommunikationslinie 35). Der Ergebnisprozessor verschmilzt die von den verschiedenen Wissensdatenbanken/Datenmodulen empfangenen Ergebnisse in einen Ergebnissatz, entfernt redundante Suchergebnisse und ordnet die Ergebnisse nach ihrem Rang. Der abgerufene Ergebnissatz wird zurückgeführt und kann Metadaten für eine textuelle oder visuelle Wiedergabe der Ausgabe enthalten. Wenn die Suche beispielsweise ortsbasierte Entitäten ergab, könnten diese auf einer Landkarte gezeigt werden, die zusätzlich zu der Ergebnisliste dargestellt wird. Der generierte Ergebnissatz des Ergebnisprozessors wird dann (Kommunikationslinie 37) an die Schnittstellen-Schaltung 5 und an den Client 1 zurückgeführt, welcher den Ergebnissatz in einem geeigneten Format, z. B. in XML, an den Client zurückgibt.
  • Die Arbeitsabläufe innerhalb des Servers 3 werden unter der Kontrolle eines Prozessors ausgeführt, welcher schematisch durch das Bezugszeichen 38 bezeichnet ist. Die gestrichelten Linien 39, 40 und 41 bezeichnen die Steuerleitungen zu den verschiedenen Modulen.
  • Es ist ein sehr wichtiger Gesichtspunkt der vorliegenden Erfindung, dass die zugrunde liegenden Vokabulare (Lexika 15, 16; Vokabularmodule 8, 9) von dem Parser 7 unabhängig (getrennt) sind, indem sie durch klar definierte Schnittstellen kommunizieren. Durch diese Unabhängigkeit oder modulare Architektur ist es möglich, neue Lexika dynamisch hinzuzufügen oder zu entfernen, so dass weitere Vokabularen unabhängig dem ihnen zugrunde liegenden Datenformat einbezogen werden können. Entsprechend sind die Datenmodule 27, 28, die die Wissensquellen 32, 33 für zur Informationsgewinnung abfragen, unabhängig (getrennt) von dem Abfrageprozessor 24. Auf diese Weise können neue Wissensquellen unabhängig von dem zugrunde liegenden Datenbankmanagementsystem hinzugefügt oder entfernt werden.
  • Mit Bezug auf 2 ist der Parser 7 in mehr Einzelheiten gezeigt. Eines seiner hauptsächlichen Elemente ist der Tokenisierer 42, der logische Einheiten in einer Abfrage unter Verwendung eines oder mehrere Lexika erkennt. Die anderen Hauptelemente, die einen wichtigen und neuen Gesichtspunkt der vorliegenden Erfindung bilden, sind der Knotengenerator 43 (der aus weiter unten zu erklärenden Gründen hier manchmal auch Knoten-/Beziehungsgenerator genannt wird), der Beziehungsgenerator 44 und der Fokusgenerator 45, von denen jeder einen Satz festgelegter Muster verwendet. Auf die drei Generatoren 43, 44 und 45 wird auch als ”Semantischer Interpreter” Bezug genommen, und sie könnten auch in eine verbundene oder gemeinsame Baugruppe eingegliedert sein. Alle diese Baugruppen werden nun im Einzelnen erklärt werden.
  • Für den Zweck der vorliegenden Erfindung bezieht sich der Begriff ”Tokenisierer” auf den Vorgang der Segmentierung und des Ermittelns logischer Einheiten, die sich auf eine semantische Entität beziehen; er wird in der Literatur nicht einheitlich verwendet.
  • Der Tokenisierer führt zunächst einige syntaktische Schritte durch, um eine Anfrage in natürlicher Sprache für die Tokenisierung vorzubereiten. Diese Vorbereitung kann schritte wie die Entfernung von Interpunktionszeichen, die Umformulierung des Satzes in Kleinschreibung, die Entfernung von Stoppwörtern und/oder die Berechnung der Wortstämme wie das Ersetzen des Plurals durch den Singular und/oder die Umformulierung von Verben in die Gegenwartsform umfassen.
  • Nach diesen vorbereitenden Schritten besteht die erste Hauptaufgabe des Tokenisierers darin, die Abfrage in Terme aufzubrechen, d. h. ein Wort oder einen Satz von Wörtern, die sich möglicherweise auf eine semantische Entität beziehen. Dieser Vorgang wird hier „Segmentierung” genannt. Typische Segmentierungen der beispielhaften Abfrage in natürlicher Sprache (die im Folgenden verwendet werden wird, um die Eigenschaften der Erfindung darzulegen) ”birds of new zealand” – d. h. ”Vögel von Neuseeland” – sind in der 3 gezeigt (man wird bemerken, dass in diesem Beispiel nicht alle vorbereitenden Schritte durchgeführt wurden – was völlig legitim ist –, da „birds” noch im Plural steht, und das Wort „of” könnte als Stoppwort angesehen werden).
  • Die 3 zeigt mögliche Segmentierungen des Satzes ”birds of new zealand”, die im Folgenden „Termsequenzen” ts0 bis ts7 genannt werden. Im Wesentlichen erkennt der Tokenisierer alle Wörter in der Abfrage und fügt sie in allen möglichen Kombinationen, aber unter Beibehaltung der Wortreihenfolge, zusammen. Beispielsweise wurde in der Termsequenz ts2 die Abfrage in die zwei Terme ”birds of” und ”new zealand” segmentiert. Bei Annahme von n Wörtern in der Abfrage kann gezeigt werden, dass die Anzahl der möglichen Segmentierungen (oder Termsequenzen) 2n-1 ist. In dem gegenwärtigen Beispiel beträgt die Anzahl der Termsequenzen 8, da n = 4 ist. Es muss betont werden, dass der hier beschriebene Segmentierungsvorgang (die Generierung von Termsequenzen) nur beispielhaft ist und auf andere Art ausgeführt werden kann, wenn dies gewünscht ist. Beispielsweise könnte in dem gegebenen Beispiel das Wort ”of” in dem vorbereitenden Schritt als Stoppwort erkannt werden, was die Anzahl der Termsequenzen auf 22 = 4 verringern und daher die weitere Verarbeitung schneller und ressourcenschonender machen würde.
  • Jetzt wird Bezug auf das Flussdiagramm der 4 genommen, in dem die grundlegenden Arbeitsschritte des Tokenisierers gezeigt sind. Nach dem Eintritt bei der ”START”-Marke 46 und der Eingabe der Abfrage in natürlicher Sprache (Schritt 47) zählt der Tokenisierer die Anzahl der Wörter in der Abfrage (Schritt 48) und führt dann die Segmentierung der Abfrage in Termsequenzen durch (Schritt 49). Dies ist im Wesentlichen der oben beschriebene Vorgang mit Bezug auf 3.
  • Nach der Segmentierung führt der Tokenisierer für jede der Termsequenzen eine Schleife aus. Der Schleifenzähler wird ”i” genannt (Bezugszeichen 50, 51, 52), und er zählt von 1 bis zu der Anzahl der Segmentierungen, welche in dem gegebenen Beispiel, wie oben besprochen, 2n-1 = 23 = 8 ist (n, die Anzahl der Wörter, ist 4).
  • Während jeder Ausführung der Schleife sendet (Bezugszeichen 53) der Tokenisierer den entsprechenden Term j einer Termsequenz tsi an ein Lexikon, vorzugsweise über ein Vokabularmodul (vergleiche die Bezugszeichen 15 und 16; 8 und 9 in 1). Dieser Schritt wird für jeden Term tj in der entsprechenden Termsequenz tsi durchgeführt, wie durch eine zweite (innere) Schleife 54, 55, 56 mit einem Zähler j, der die Terme in einer bestimmten Termsequenz zählt, veranschaulicht wird. Das Lexikon/Vokabularmodul antwortet für jeden Term in der Termsequenz tsi mit einem Tokentyp (π), einer Kennung (u) und einem Relevanzfaktor (r) (Schritt 57). Auf diese Weise wird jeder Term in der Termsequenz einer Abbildung der Form tj(tsi) → T(π, u, r) unterzogen, wobei tj der Term mit dem Index j in der Termsequenz mit dem Index i ist, und T ist ein Token vom Tokentyp π, mit einem URI u und einem Relevanzfaktor r.
  • Der Tokentyp π kann vorzugsweise einer der folgenden sein:
    • • eine Klasse (z. B. ”bird”)
    • • eine Eigenschaft, manchmal auch Beziehung oder Rolle genannt (z. B. „lebt in”)
    • • eine Instanz – in anderen Worten, ein bestimmtes Objekt (z. B. ”George Washington” oder ”London”) oder
    • • eine Bedingung, manchmal auch Beschränkung genannt (z. B. „40 Jahre”)
  • Die URI hat im Allgemeinen eine Form wie http://dbpedia.org/resource#New_Zealand, und der Relevanzfaktor ist üblicherweise eine Zahl zwischen Null und 1.
  • Allgemein gesprochen überführen die in den Schritten 5057 durchgeführten Arbeitsvorgänge Terme in Token, oder bilden diese ab.
  • In Schritt 58 berechnet der Tokenisierer die Segmentierung, oder die Termsequenz tsi, die die höchste Wahrscheinlichkeit dafür aufweist, dass sie richtig ist. Dies wird unter Verwendung des Relevanzfaktors r durchgeführt und wird weiter unten unter Bezugnahme auf 5 erläutert. Danach wählt der Tokenisierer die Segmentierung oder Tokensequenz mit der höchsten Wahrscheinlichkeit aus (Schritt 59), die für die weitere Verarbeitung verwendet wird, und danach endet der Arbeitsablauf des Tokenisierers (Schritt 60).
  • Der Schritt des Auswählens der Segmentierung oder der Termsequenz mit der höchsten Wahrscheinlichkeit wird jetzt unter Bezugnahme auf 5 erklärt, in der zwei beispielhafte Termsequenzen ts2 und ts4 der 3 ausgesucht wurden. In ts2 gibt das Lexikon auf die Abfrage ”birds of” (Bezugszeichen 62) einen Nullsatz (Bezugszeichen 61) zurück, da der Term ”birds of” nicht bekannt ist oder nicht gefunden wurde. Das heißt auch, dass die Wahrscheinlichkeit für diesen Term 0 ist. Im Gegensatz hierzu wird der Term ”new zealand” gefunden (Bezugszeichen 63), so dass das Lexikon einen Relevanzfaktor von 0.99 zurückgibt, zusammen mit der Information, dass es sich um eine Instanz handelt, und dass die gefundene Ressource New_Zealand ist (Bezugszeichen 64).
  • Die Wahrscheinlichkeit, dass die Termsequenz ts2 passend ist, wird nun wie folgt berechnet: Die Anzahl der Wörter in einem Term wird durch die Gesamtzahl der Wörter in der Termsequenz dividiert, und das Ergebnis wird mit dem Relevanzfaktor multipliziert. Dieser Vorgang wird für alle Terme wiederholt, und die sich ergebenden Wahrscheinlichkeiten für alle Terme werden aufaddiert und ergeben die Gesamtwahrscheinlichkeit, dass die gewählte Termsequenz die richtige ist. Für ts2 ergibt dies pT2 = 2 / 4·0 + 2 / 4·0.99 = 0.495
  • Das zweite Beispiel in der 5 bezieht sich auf die Termsequenz ts4, mit einer Segmentierung in „birds” (Bezugszeichen 65), „of” (Bezugszeichen 66) und „new zealand” (Bezugszeichen 67). „birds” wird gefunden mit einem Relevanzfaktor von 0.99 (Bezugszeichen 68); ”of” wird nicht gefunden und gibt einen Nullsatz mit einem Relevanzfaktor von 0 zurück (Bezugszeichen 69); und ”new zealand” wird gefunden mit einem Relevanzfaktor von 0.99 (Bezugszeichen 70). Die Wahrscheinlichkeitsgleichung für ts4 wird daher pT4 = 1 / 4·0.99 + 1 / 4·0 + 2 / 4·0.99 = 0.7425
  • Es ist leicht ersichtlich, dass die Wahrscheinlichkeit für ts4 höher ist als für Wahrscheinlichkeit für ts2. In der Tat stellt sich, wenn die Wahrscheinlichkeiten für alle Termsequenzen berechnet werden, heraus, dass ts4 die höchste Wahrscheinlichkeit aller Termsequenzen aufweist, und sie wird daher von dem Tokenisierer als die Segmentierung mit der höchsten Wahrscheinlichkeit ausgewählt werden (siehe Schritt 59 in 4).
  • Der Ausgang des Tokenisierer – d. h. die Token der Termsequenz mit der höchsten Wahrscheinlichkeit – werden dann an den semantischen Interpreter 71 des Parsers 7 übertragen. Die 6 zeigt sein Basisdiagramm, um seine Funktionalität zu erläutern. Die innere Struktur und Funktionalität des semantischen Interpreters des Parsers wird als einer der Hauptbeiträge der vorliegenden Erfindung angesehen. Der semantische Interpreter generiert eine graphbasierte Darstellung der Abfrage, in welcher Entitäten als Knoten und Relationen zwischen diesen Entitäten als gerichtete benannte Kanten, die diese Knoten verbinden, wiedergegeben werden.
  • Wenn wir zur 6 zurückkehren, wird der Eingang des semantischen Interpreters 71 durch den Kasten 72 dargestellt. Beispielhaft besteht der Eingang aus 3 Token 73, 74 und 75, die als ”a”, ”b” und ”c” gekennzeichnet sind und die an den semantischen Interpreter geleitet werden (Bezugszeichen 76). Die Token a, b und c könnten zum Beispiel, wie oben beschrieben, Klassen, Instanzen, Rollen oder Bedingungen sein. Der semantische Interpreter oder Knoten-/Beziehungs-/Fokusgenerator 71 hat tatsächlich drei Hauptbestandteile, nämlich den Knotengenerator oder Knoten-/Beziehungsgenerator 43, den Beziehungsgenerator 44 und den Fokusgenerator 45. Dies sind dieselben Bestandteile, die schon in der 2 schematisch dargestellt wurden.
  • Obwohl die 3 Generatoren 43, 44 und 45 als getrennte Bauelemente mit unterschiedlichen Funktionalitäten beschrieben werden können, könnte man auch sagen, dass sie Unterbauelemente des semantischen Interpreter-Knoten-/Beziehungs-/Fokusgenerators 71 sind. Dies ist lediglich eine Frage der Zweckmäßigkeit. Beide Beschreibungen gelten gleichermaßen für die vorliegende Erfindung. Für die Zwecke dieser Beschreibung sind die Generatoren in den Zeichnungen als einzelne Bauelemente des semantischen Interpreters gezeigt, aber andere Beschreibungen könnten gewählt werden.
  • Der Eingang des semantischen Interpreters wird zunächst (Bezugszeichen 77) an den Knotengenerator 43, der die Knoten (und einige implizite Relationen) für die graphbasierte Darstellung generiert, geleitet. Dies wird durch die Knoten 78, 79 und 80 angedeutet. Es ist wichtig, zur Kenntnis zu nehmen, dass es einige Token von dem Knotengenerator erfordern, nicht nur einen sich auf ein Token beziehenden Knoten zu generieren, sondern auch eine diesem Token zugeordnete Beziehung. Wie weiter unten gezeigt werden wird, ist dies beispielsweise bei einem Token, welches eine Klasse oder Rolle verkörpert, der Fall. Es ist jedoch wichtig, zur Kenntnis zu nehmen, dass sich alle von dem Knotengenerator generierten Beziehungen jeweils nur auf ein bestimmtes Token beziehen, und nicht auf die Beziehungen mit seinen Partnertoken. Dies unterscheidet den Knotengenerator 43 von dem Beziehungsgenerator 44. Im Licht dieser Ausführungen wird man jedoch einsehen, dass der Knotengenerator 43 auch als ”Knoten-/Beziehungsgenerator” bezeichnet werden könnte (und wird).
  • Wie in der schematischen Gesamtdarstellung der 6 gezeigt, generiert der Knotengenerator 43 drei Knoten ”a”, ”b” und ”c”, die entsprechend den Eingangstoken mit 78, 79 und 80 bezeichnet sind, und übergibt dann die Kontrolle an den Beziehungsgenerator 44 (Linie 81). Der Beziehungsgenerator erzeugt die fehlenden Beziehungen zwischen den Knoten, wie hier durch die Bezugszeichen 82 und 83 angedeutet. Diese Beziehungen sind schematisch Verbindungen zwischen den Knoten, die mit „?x” und „?y” bezeichnet sind, um anzudeuten, dass diese Beziehungen zum gegenwärtigen Zeitpunkt unbekannt sind.
  • Die Kontrolle wird dann an den Fokusgenerator (Bezugszeichen 84) übergeben. Es ist der Zweck des Fokusgenerators, eine von ihnen als die Haupt-Informationsanfrage (”Fokus” genannt) der Abfrage auszuwählen und eine geeignete Suchabfrage für den gewählten Fokus zu generieren.
  • In dem in 6 gezeigten Beispiel hat der Fokusgenerator das Token ”a” als die Fokusvariable des Graphen ausgewählt, die daher als ”aF” bezeichnet ist („F” steht für die Bezeichnung „Fokus”).
  • Der generierte benannte Graph kann auch unter Verwendung einer tripelbasierten Schreibweise gekennzeichnet werden, welche die Grundlage für die Zwischen-Abfragedarstellung wiedergibt, die dann (Linien 86 und 87) an den Ausgang 88 (der der Abfrageprozessor ist) weitergegeben wird.
  • Die Arbeitsweise der drei Generatoren 43, 44 und 45 wird jetzt im Einzelnen anhand der folgenden Zeichnungen erläutert. Die 7 ist eine vereinfachte tabellenartige Darstellung der verschiedenen Knotenmuster des Knoten-/Beziehungsgenerators 43. Ein Token 89, das als t (ti, π, u, r) gekennzeichnet ist – wobei ti die Termkennung, π der Tokentyp, u eine eindeutige Kennung und r ein Relevanzfaktor ist – wird in eine Annotierung überführt, die die erzeugten Knoten (und einige sich auf das jeweilige Token beziehende Relationen) verkörpert. Wie man leicht erkennen kann, wird ein Token mit π = i (Instanz) in lediglich einen entsprechenden Instanzknoten ni überführt. Im Gegensatz hierzu wird ein Token mit π = c (Klasse) als als ein Satz von Entitäten der spezifischen Klasse angesehen; das Token wird daher in einen nicht-terminalen Knoten (?x) überführt, der einen Satz von Entitäten abbildet, der mit einem Klassenknoten nc verbunden ist; die beiden Knoten sind durch eine Relation verbunden, die andeutet, dass ?x vom Typ nc ist. Ähnliche Überlegungen gelten für ein Token mit π = r (Relation) (Erzeugung zweier nicht-terminaler Knoten, die die unbekannten Variablen ?x und ?y, die durch eine Beziehung verbunden sind, verkörpern); und für ein Token mit π = ct (Bedingung) (beispielsweise eine Höhe oder ein Alter), wobei ein Knoten ein nicht-terminaler Knoten ist und der andere den tatsächlichen (numerischen) Wert der Beschränkung verkörpert. – Es versteht sich, dass die Tabelle der 7 nur beispielhaften Charakter hat und dass eine tatsächliche Ausführung mehr Tokentypen abdecken könnte.
  • Bei einem fortgeschritteneren Ansatz ermittelt der Knotengenerator das wahrscheinlichste Muster und bildet die Bestandteile der Eingangssequenz in Entitäten des Musterausdrucks ab. Das wahrscheinlichste Muster für eine Tokensequenz ist dasjenige, dessen Ausdruck der Tokensequenz am ähnlichsten ist, d. h. das Muster, welches die Ähnlichkeitsfunktion zwischen einer Tokeneingangssequenz und dem Ausdruck des Musters maximiert. Die Ähnlichkeit zwischen einer Tokensequenz und einem Ausdruck wird in Begriffen einer String-Ähnlichkeitsfunktion berechnet. Die folgende Auflistung zeigt einige Beispiele einer Abbildung von Knotenmustern, wobei das Tokenelement durch eine zeitliche Kennung (hier: a) bezeichnet ist, und ihr Wahrheitswert in Klammern am Ende jeder Linie angegeben ist:
    PREFIX rdf: http://www.w3.org/1999/02/22-rdf-syntax-ns Pn0 := c[a] → ?x p(rdf:type) c[a] (0.8) pn1 := i[a] → i[a] (0.6) pn2 := p[a] → ?x p[a] ?y (0.6) pn3 := b{v})[a] → ?x p[a] bv[a] (0.75)
  • pn0 bezeichnet die Interpretation eines Klassentokens, welches einem nicht-terminalen Knoten (?x) entspricht, der einen Satz von Entitäten der entsprechenden Klasse (c) verkörpert. pn1 bewirkt einen direkten Übergang von einem Instanztoken zu einem Instanzknoten (i), während pn2 einen benannten Zweig p mit undefinierten Knoten von einem Rollentoken generiert. pn3 beschreibt die Verarbeitung eines Bedingungstokens, welches aus einer Eigenschaft und einer Wertebeschränkung besteht. pn3 erzeugt einen Zweig mit der Kennung des Tokens als der Kennung des Zweigs und seinem Wert als dem Objektknoten des Zweigs.
  • Man beachte, dass das Muster auch neue Knoten mit einem vordefinierten URI enthalten kann. In den Zeichnungen wurden die URI's in einer Kurzform (z. B. rdf) dargestellt, während das URI-Präfix in der PREFIX-Präambel definiert ist.
  • Wenn das wahrscheinlichste Muster berechnet ist, berechnet der Knotengenerator eine Abbildung zwischen der Tokensequenz und der Ausdruckssequenz, die Eingangstoken Ausdruckstoken zuordnet. Die Ausgangssequenz wird durch die Annotierung des Musters angegeben, indem aus dem Ausdruck eine Ausgangssequenz erzeugt wird. Wenn die Annotierung ein Element des Ausdrucks enthält, für welches kein Element der Eingangssequenz gefunden werden konnte, erzeugt der Knotengenerator einen nicht-terminalen Knoten.
  • Der Ausgang des Knotengenerators ist die erste Stufe des semantischen Graphen G0 90, der aus einem Satz von Knoten und einem Satz von Zweigen bestehen kann.
  • Die 8 stellt schematisch die Verwendung des Knotenmusters für die Tokensequenz der oben eingeführten beispielhaften Abfrage dar. Der Knotengenerator empfängt die Tokenisierung T 91 und verwendet für jedes Token ein Knotenmuster, und zwar in diesem Beispiel ein Klassen- und ein Instanztoken mit den Mustern pn0 und pn1. Das Muster pn0 überführt ein Klassentoken 92 in einen nicht-terminalen Knoten, der mit einem Klassenknoten verbunden ist, was darauf hinweist, dass die nicht-terminalen Entitäten Instanzen der entsprechenden Klasse 93 sind. Das Muster pn2 überführt ein Instanztoken 94 in einen Instanzknoten 95. Die erzeugten Knoten sind in der Graphenstufe G0 96 dargestellt (ein konkretes Beispiel von G0 90).
  • In der 9, welche einige beispielhafte Beziehungsmuster pr0 und pr1 darstellt, ist ein vereinfachtes Betriebsschema des Beziehungsgenerators 44 gezeigt. Der Beziehungsgenerator empfängt die von dem Knotengenerator erzeugte Zwischen-Graphenstufe G0 90 und verwendet einen Satz von Beziehungsmustern, um weitere Beziehungen zwischen den Knoten des Graphen zu ermitteln. pr0 140 stellt ein einfaches Muster bereit, welches angibt, dass ein nicht-terminaler Knoten einer bestimmten Klasse und ein Instanzknoten mit einer nicht-terminalen Beziehung ?y 142 verbunden sind. pr1 141 fasst einen Instanzknoten und einen Zweig mit undefinierten Knoten zusammen, wobei der Objektknoten des Zweiges (?z) durch den tatsächlichen Instanzknoten 143 ersetzt wird. Die Ausgabe des Beziehungsgenerators ist die Graphenstufe G1 97.
  • Die 10 bietet eine andere Ansicht der Funktion des Beziehungsgenerators. Nach dem Empfangen des von dem Knotengenerator erzeugten Graphen G0 90 strebt der Beziehungsgenerator an, Tripel der Form Subjekt-Prädikat-Objekt (98, 99, 100) zu erzeugen. Jedes Muster liefert einen Satz von Elementen, die mit G0 (101, 102) verglichen werden, wie auch eines oder mehrere Elemente, die neu hinzugefügt werden (103). Die 10 zeigt ein einfaches Beispiel, bei dem ein variabler und ein Instanzknoten durch einen undefinierten Zweig ?y (104) verbunden werden.
  • Die Verwendung eines einfachen Beziehungsmusters pr0 wird in der 11 gezeigt. Der Beziehungsgenerator empfängt G0 96 und wendet ein Muster an, welches einen nicht-terminalen Knoten einer bestimmten Klasse und einen Instanzknoten (110) mit einem nicht-terminalen Zweig (111) verbindet. Der Ausgang des Beziehungsgenerators ist die zweite Stufe des semantischen Graphen G1 106.
  • Der Fokusgenerator 45 ist die dritte Baugruppe des semantischen Interpreters. Seine Hauptaufgabe besteht darin, den Fokus (der Abfrage) unter den mehr als einem nicht-terminalen Knoten und nicht-terminalen Beziehungen unter Verwendung von Fokusmustern zu bestimmen. Die 12 zeigt zwei einfache Fokusmuster pf0, pf1 (142, 143), die ein nicht-terminales Element (144, 145) als den Fokus des Graphen bestimmen (Die Annotierung zeigt den Fokus ?xF an, wobei „F” den Fokus kennzeichnet).
  • Die Verwendung eines Fokusmusters ist in 13 dargestellt. Der Fokusgenerator empfängt einen von dem Beziehungsgenerator berechneten Graphen G1 106, ermittelt das wahrscheinlichste Fokusmuster hinsichtlich G1 und bestimmt eine nicht-terminales Element als den Fokus des Graphen. In der 13 besteht der Ausdruck 108 des Musters aus einem nicht-terminalen Knoten, der über einen nicht-terminalen Zweig mit einem Instanztoken verbunden ist, wobei die Annotierung 109 den nicht-terminalen Knoten als den Fokus der Abfrage festlegt. Unter Verwendung dieses Musters auf den Eingangsgraphen G1 ordnet der Fokusgenerator die entsprechenden Elemente des Graphen den Elementen des Musterausdrucks zu, wobei der nicht-terminale Knoten ?x als der Fokus des Graphen festgelegt wird. Wenn – wie oben ausgeführt – ein mit einem einzelnen Klassenknoten verbundener nicht-terminaler Knoten als Fokus gewählt wird, wird der entsprechende Klassenknoten als der Fokustyp der Abfrage festgelegt, was die Art der Entitäten anzeigt, nach denen die Abfrage sucht. In diesem Beispiel kennzeichnet das Fokusmuster nicht nur den Fokus ?xF, sondern legt auch die Klasse c als den Fokustyp FT der Abfrage fest. Das wird in der Ausgabe 113 des Fokusgenerators wiedergegeben, die den Klassenknoten mit dem URI ontology:BirdFT als Fokustyp-Indikator FT festlegt.
  • Ein Beispiel einer Ausgabe des Fokusgenerators, der aus einem Satz von Knoten, Zweigen und einem Fokus bestehenden Graphenstufe G2, ist in der 14 gezeigt. Der Graph 113 enthält alle notwendigen Elemente, um eine Suchabfrage zu erzeugen. Das Element 114 ist ein nicht-terminaler Knoten, der auch der Fokus der Abfrage ist. Er verkörpert eine oder mehrere Entitäten, die dadurch gekennzeichnet sind, dass sie Instanzen einer bestimmten Klasse (hier: „birds”) 117 sind und die auch den Fokustyp der Abfrage verkörpern, wie durch den Zweig 118 angegeben. 115 ist eine Instanz, und zwar ”New Zealand”. Die Elemente 114 und 155 sind durch eine nicht-terminale Beziehung ?y 116 verbunden.
  • Wie früher erwähnt, kann der erzeugte Graph auch unter Verwendung einer tripelbasierten Annotierung ausgedrückt werden, welche die Grundlage für die an den Abfrageprozessor übertragene Zwischen-Abfragedarstellung ist. Der Graph in der 14 kann beispielsweise einfach in die folgende tripelbasierte Notation umgeschrieben werden:
    Figure DE102013003055A1_0002
  • Das gesamte, von dem semantischen Interpreter, d. h. dem Knotengenerator, dem Beziehungsgenerator und dem Fokusgenerator, für das obige Beispiel ”birds of new zealand” durchgeführte Verfahren ist schematisch in der 15 gezeigt, welche eine Wiedergabe der 6 mit einem konkreten Beispiel ist. Für gleiche Elemente wurden dieselben Bezugszeichen verwendet.
  • Der Tokenisierer hat ein Klassentoken, ”bird”, und ein Instanztoken, „new zealand”, ermittelt. Diese Token sind als ”c” (Bezugszeichen 119) und ”i” (Bezugszeichen 120) gezeigt. Der Knotengenerator überführt diese in die Elemente 121 (nicht-terminaler Knoten ?x, rdf:type-Beziehung und Terminalklassenknoten ”c”) und 122 (Terminal-Instanzknoten „i”), was den Graphen G0 96 ergibt. Der Beziehungsgenerator ergänzt die nicht-terminale Beziehung ?y (Bezugszeichen 123) und berechnet daher G1 106. Der Fokusgenerator wählt schließlich den nicht-terminalen Knoten 123 als den Fokus ?xF der Abfrage, der endgültige semantische Graph wird in G2 113 berechnet.
  • 16 stellt symbolisch die Ausgabe des Parsers dar. Die von dem Parser erzeugte graphbasierte Darstellung kann in der tripelbasierten Notation 125 dargestellt werden, welche in eine Zwischen-Abfragedarstellung, welche beispielsweise wie die in dem Kasten 126 aussehen kann, überführt werden kann. Zusätzlich zu den Abfragetripeln enthält diese Zwischendarstellung Daten über den Anfragetyp (r) der Abfrage, welche in diesem Fall nach Entitäten (e) sucht, und den Fokustyp (f) (hier: „birds”) der Abfrage. Diese Zwischenabfrage wird an die Datenmodule 27 und/oder 28 weitergegeben, die die zu verwendende Web-Ressource (Wissensdatenbank 32, 33) auswählt. Im vorliegenden Fall wird der Abfrageprozessor wahrscheinlich eine Quelle allgemeinen Wissens wie DBpedia auswählen, während Datenquellen, die geographische Daten oder lokale Geschäftsdaten enthalten, für die Beantwortung der Abfrage als weniger relevant angesehen würden – so dass dadurch, dass für diese bestimmte Abfrage nur DBpedia verwendet wird, Computer- und Verbindungszeit eingespart werden kann. Die Zwischen-Abfragedarstellung muss dann in die spezifische Abfragesprache der gewählten Wissensdatenbank übersetzt werden, z. B. SQL oder SPARQL (die Abfragesprache kann von einer Wissensdatenbank zu einer anderen verschieden sein). Diese Übersetzung wird von den Datenmodulen 27 und/oder 28 durchgeführt, wobei jeder Datenmodul einer bestimmten Datenbank zugeordnet und für sie spezifiziert ist. Die 17 stellt ein praktisches Beispiel dar, wie eine Zwischen-Abfragedarstellung 126 über HTTP an einen Datenmodul übertragen werden könnte, wobei die Abfragetripel als alphanumerische Parameter 127 kodiert sind.
  • Die 18 zeigt eine mögliche Identifizierung der maßgeblichen Wissensdatenbanken für eine Abfrage durch den Abfrageprozessor 128, indem jede Wissensdatenbank mit einer, mehreren oder keinen Kennungen, die ihre Domain(s) anzeigen, assoziiert wird. Wie oben beschrieben, kann die Fokuskennung letztendlich einen mit den Fokuselementen verbundenen Klassenknoten als den Fokustyp 129 des Graphen angeben. Diese Kennung stellt die Art von Entitäten dar, nach denen die Abfrage sucht. Um die maßgeblichen Wissensdatenbanken auszuwählen, vergleicht der Abfrageprozessor die als Domains (130, 131, 132) der Wissensdatenbanken eingetragenen Kennungen mit der Kennung, die als Fokustyp der Abfrage festgelegt wurde. In dem gegebenen Beispiel sucht die Abfrage nach natürlichen Personen; der Abfrageprozessor würde daher in den Wissensquellen 130 und 132 nachsehen, während eine geographische Datenbank 131 für eine eine natürliche Person betreffende Abfrage als weniger einschlägig angesehen werden würde. Da für 132 keine besondere Kennung eingetragen wurde, wird in dieser Wissensquelle unabhängig von dem Fokustyp der Abfrage nachgesehen.
  • 19 zeigt schematisch, wie die vorliegende Erfindung in einer mobilen Umgebung verwendet werden kann. Ein mobiles Telefon wie ein Smartphone 128 wird als Client betrieben. Dies ist leicht möglich, denn in einer Client/Server-Anordnung benötigt die Benutzerschnittstelle wenig Rechenleistung und kann sogar auf kleinen oder nicht sehr leistungsfähigen Geräten betrieben werden. Was sogar noch wichtiger ist, es findet wenig Verkehr zwischen dem Client und dem Server statt – der Client muss lediglich die Suchabfrage senden und eine kurze Liste zugeschnittener Ergebnisse empfangen, was die Erfindung für drahtlose Verbindungen, sogar mit niedriger Bandbreite, ideal geeignet macht. In der Ausführungsform nach 19 kommuniziert das Smartphone 133 über die bidirektionale drahtlose Kommunikationsverbindung 134 mit der Antenne 135, die wiederum über eine Landleitung 136 (z. B. ein Kabel oder eine optische Faserverbindung) mit einem Server 137 verbunden ist. Man wird bemerken, dass sich der meiste Verkehr zwischen der Suchmaschine für natürliche Sprache und dem Internet 138, wie die Kommunikation mit Wissensdatenbanken, über die schnelle Landleitung 139 abspielt und nicht über die drahtlose Verbindung 134. Es ist jedoch hervorzuheben, dass die Erfindung nicht auf eine Client/Server-Umgebung beschränkt ist.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • US 8315998 [0009]
    • US 8301438 [0009]
    • DE 102007000954 A1 [0009]
    • DE 102009037848 A1 [0009]
    • US 6311194 B1 [0009]
  • Zitierte Nicht-Patentliteratur
    • http://www.w3.org/ [0002]
    • http://www.w3.org/standards/semanticweb/ [0002]
    • http://w3.org/TR/2004/REC-rdf-concepts-20040210/ [0002]
    • http://w3.org/TR/2008/REC-rdf-sparql-query-20080115/ [0002]
    • V. Tablan et al., A natural language query interface to structured information, ftp://www.dlsi.ua.es/people/antonio/A%20natural%20language%20query%20interface%20to%20structured%20information.pdf [0009]
    • Chong Wang et al., PANTO: A Portable Natural Language Interface to Ontologies, http://gate.ac.uk/sale/dd/relatedwork/2007+Wang+PANTO.pdf [0009]
    • Ana-Maria Popescu et al., Modern Natural Language Interfaces to Databases: Composing Statistical Parsing with Semantic Tractability, http://acl.ldc.upenn.edu/coling2004/MAIN/pdf/21-783.pdf [0009]
    • I. Androutsopoulos et al., Natural Language Interfaces to Databases – An Introduction, http://acl.ldc.upenn.edu/coling2004/MAIN/pdf/21-783.pdf [0009]
    • http://www.dbpedia.org [0029]
    • http://linkedgeodata.org [0055]
    • http://dbpedia.org/resource#New_Zealand [0109]
    • http://www.w3.org/1999/02/22-rdf-syntax-ns [0125]

Claims (16)

  1. Digitales Gerät, insbesondere digitaler Computer wie ein Server (3) oder ein Client (1) oder ein mobiles digitales Gerät, das mit wenigstens einer Datenbank (32, 33) verbunden ist, die semantisch strukturierte Ressourcen enthält, vorzugsweise in einem Netzwerk wie dem Internet, welches beinhaltet: i. Abfrage-Eingabeschaltkreise für das Eingeben, das Erzeugen oder das Empfangen einer Abfrage, insbesondere einer Abfrage in natürlicher Sprache, ii. einen Parser (7) zum Verarbeiten einer Abfrage einschließlich: a) einem Tokenisierer (42), der funktionell mit wenigstens einem Lexikon (15, 16) verbunden ist, beispielsweise einer Vokabular-Datenbank, um die Abfrage in Terme zu segmentieren, insbesondere in ein oder mehrere Wörter, und um sie über das Lexikon (15, 16) in semantische Token zu abzubilden, – wobei das Lexikon (15, 16) wenigstens den Tokentyp eines semantischen Tokens enthält, insbesondere Klasse, Rolle, Instanz und/oder Bedingung, b) einem Knoten-/Beziehungs-/Fokusgenerator (43, 44, 45) zum Erzeugen des einen oder mehrerer Knoten und/oder einer oder mehrerer Beziehungen für jedes semantische Token mit einem vordefinierten Tokentyp, zum Unterscheiden zwischen terminalen und nicht-terminalen Knoten oder -beziehungen und zum Auswählen eines nicht-terminalen Knotens oder einer nicht-terminalen Beziehung als Fokus, iii. einen Abfrageprozessor (24) zum Erzeugen einer Datenbankabfrage für den Fokus und den Tokentyp der in den vorhergehenden Schritten ermittelten semantischen Token, und zum Senden derselben an die wenigstens eine Datenbank (32, 33), iv. einen Ergebnisprozessor (36) zum Empfangen von Antworten von der wenigstens einen Datenbank (32, 33) und zum Auflisten, Strukturieren, Anordnen und/oder Zusammenführen derselben, v. Ergebnis-Ausgabeschaltkreise zum Anzeigen, Bezeichnen, Speichern oder Senden der verarbeiteten Ergebnisse.
  2. Digitales Gerät nach Anspruch 1, bei dem der Tokenisierer (42) einen Segmentierungs-Optimierer beinhaltet, der verschiedene unterschiedliche Segmentierungen der Abfrage erzeugt, die Wahrscheinlichkeit jeder Segmentierung berechnet, vorzugsweise auf der Basis eines Relevanzfaktors für ein semantisches Token, und die passendste Segmentierung auswählt.
  3. Digitales Gerät nach Anspruch 1, bei dem das Lexikon (15, 16) zusätzlich eine Ressourcenkennung, insbesondere einen Uniform Resource Identifier, die mit dem semantischen Token assoziiert ist, enthält, und der Abfrageprozessor (24) die Datenbankabfrage, unter einer Mehrzahl von verfügbaren Datenbanken (32, 33), an die wenigstens eine von der Ressourcenkennung bezeichnete Datenbank (32, 33) schickt.
  4. Digitales Gerät nach Anspruch 1, bei dem der Parser mit dem Lexikon (15, 16) über Vokabularmodule (8, 9) verbunden ist, und/oder der Abfrageprozessor (24) mit der wenigstens einen Datenbank (32, 33) über Datenmodule (27, 28) verbunden ist.
  5. Digitales Gerät nach Anspruch 4, bei dem jedes Datenmodul (27, 28) mit wenigstens einer Ressourcenkennung, vorzugsweise einem Uniform Resource Identifier, assoziiert ist, die mit einer von dem Parser (7) als der Fokustyp der Abfrage bestimmten Kennung verglichen wird, so dass nur Datenmodule (27, 28), die für die Abfrage passende Daten bereitstellen, herangezogen werden, um Ergebnisse abzurufen.
  6. Digitales Gerät nach Anspruch 1, bei dem der Abfrageprozessor (24) die Antworten zusammenführt, auswählt und/oder anordnet, insbesondere wenn die Abfrage an mehr als eine Datenbank (32, 33) gesendet wurde.
  7. Digitales Gerät nach Anspruch 1, bei dem der Knoten-/Beziehungs-/Fokusgenerator (43, 44, 45) beinhaltet: a) einen Knoten-/Beziehungsgenerator (43) zum Erzeugen wenigstens eines Knotens und/oder einer Beziehung für jedes semantische Token mit einem vordefinierten Tokentyp, insbesondere eine Klasse, eine Rolle, eine Instanz und/oder eine Bedingung, b) einen Beziehungsgenerator (44) zum Erzeugen weiterer Beziehungen zwischen den Knoten, bis eine vollständige Darstellung eines mathematischen Graphen erzielt ist, und c) einen Fokusgenerator (45) zum Auswählen eines nicht-terminalen Knotens oder einer nicht-terminalen Beziehung, vorzugsweise des passendsten nicht-terminalen Knotens oder der passendsten nicht-terminalen Beziehung.
  8. Serverbasierte Suchmaschine, die mit wenigstens einem benutzerbedienten Client (133) verbunden ist und die ein digitales Gerät nach einem beliebigen der Ansprüche 1 bis 7 beinhaltet.
  9. Vorrichtung zum Durchführen von Suchen in natürlicher Sprache mit: i. wenigstens einerm Benutzer-Eingabeschnittstelle zur Eingabe von Benutzerabfragen, ii. einem digitalen Prozessor (38), der direkt oder indirekt mit der Benutzerschnittstelle verbunden ist, und der weiterhin direkt oder indirekt mit Befehls-/Datenspeichermitteln verbunden ist, einschließlich: a) einem Tokenisiererspeicher (7), der Befehle und/oder Daten zum Tokenisieren solchen Benutzer-eingegebenen Abfragen von Termen in semantische Token enthält, wobei der Tokenisierer (7) mit wenigstens einem Lexikon (15, 16) verbunden ist, b) einem Knoten-/Beziehungsspeicher (43), der Befehle und/oder Daten, insbesondere Knotenmusterdaten, zum Erzeugen von Knoten und/oder Beziehungen für semantische Token für einen vordefinierten Tokentyp enthält, c) einem Beziehungsspeicher (44), der Befehle und/oder Daten, insbesondere Beziehungsmusterdaten, zum Erzeugen weiterer Beziehungen zwischen den Knoten enthält, d) einem Fokusspeicher (45), der Befehle und/oder Daten, insbesondere Fokusmusterdaten, zum Auswählen eines nicht-terminalen Knotens enthält, e) einem Abfragespeicher (24), der Befehle und/oder Daten zum Erzeugen einer Datenbankabfrage und zum Senden an wenigstens eine Datenbank (32, 33), die funktionell mit dem digitalen Prozessor (38) verbunden ist, enthält, f) einem Ergebnisspeicher, der Befehle und/oder Daten zum Bearbeiten von Antworten von der wenigstens einen Datenbank (32, 33) enthält, iii. wenigstens einer Benutzer-Ausgabeschnittstelle, die direkt oder indirekt mit dem genannten digitalen Prozessor (38) verbunden ist, zum Anzeigen, Bezeichnen oder Speichern der empfangenen Ergebnisse.
  10. Parser für eine Suchmaschine für natürliche Sprache mit: a) einem Tokenisierer (7), der funktionell mit einem Lexikon (15, 16) verbunden ist, b) einem Knoten-/Beziehungsgenerator (43) zum Erzeugen wenigstens eines Knotens und/oder einer Beziehung für ein semantisches Token mit einem vordefinierten Tokentyp, insbesondere eine Klasse, eine Rolle, eine Instanz und/oder eine Bedingung, c) einem Beziehungsgenerator (44) zum Erzeugen weiterer Beziehungen zwischen den Knoten, bis eine vollständige Darstellung eines mathematischen Graphen erzielt ist, und d) einem Fokusgenerator (45) zum Auswählen eines nicht-terminalen Knotens oder einer nicht-terminalen Beziehung, vorzugsweise des passendsten nicht-terminalen Knoten oder der passendsten nicht-terminalen Beziehung.
  11. Verfahren, insbesondere computerimplementiertes Verfahren oder durch digitale elektronische Komponenten implementiertes Verfahren, zum Abrufen von Ergebnissen als Antwort auf eine Abfrage, vorzugsweise eine benutzerdefinierte Abfrage in natürlicher Sprache, von semantisch strukturierten Ressourcen, die in wenigstens einer Datenbank gespeichert sind, das folgende Schritte beinhaltet: i. Tokenisieren der Abfrage, indem die Abfrage in Terme segmentiert wird, insbesondere eines oder mehrere Wörter, und Abbilden derselben in semantische Token unter Verwendung wenigstens eines Lexikons (15, 16), wobei dieses Lexikon (15, 16) wenigstens den Tokentyp eines semantischen Tokens enthält, insbesondere Klasse, Rolle, Instanz und/oder Bedingung, ii. Erzeugen einer Darstellung, vorzugsweise einer Darstellung, die einen mathematischen Graphen einbezieht, der semantischen Token, die mit der in Schritt (i) durchgeführten Segmentierung assoziiert sind, und Bestimmen des Fokus der Darstellung, indem ein Satz von Regeln oder Mustern für diesen Fokus basierend auf dem Tokentyp verwendet wird, beispielsweise Klasse, Rolle, Instanz und/oder Bedingung der semantischen Token, – wobei die Regeln oder Muster einen oder mehrere Knoten, und/oder eine oder mehrere Beziehungen zwischen den Knoten, die mit dem Tokentyp der semantischen Token assoziiert sind, festlegen, und – die Regeln oder Muster zwischen terminalen und nicht-terminalen Knoten und Beziehungen unterscheiden, und einen der nichtterminalen Knoten oder Beziehungen als den Fokus der Abfrage kennzeichnen, iii. Erzeugen einer Datenbankabfrage, beispielsweise einer SQL-, SPARQL- oder XQuery-Abfrage, aus der graphbasierten Zwischendarstellung, die in den Schritten i) und ii) ermittelt wurde, und Senden derselben an die wenigstens eine Datenbank (32, 33), iv. Abrufen einer Antwort von der wenigstens einen Datenbank (32, 33).
  12. Verfahren nach Anspruch 11, bei dem der Schritt des Tokenisierens der Abfrage folgende Schritte beinhaltet: a) Segmentieren der Abfrage in Terme, insbesondere eines oder mehrere Wörter, b) Abbilden der Terme in semantische Token unter Verwendung wenigstens eines Lexikons (15, 16), wobei dieses Lexikon (15, 16) wenigstens den Tokentyp eines Tokens enthält, insbesondere Klasse, Rolle, Instanz und/oder Bedingung, c) Berechnen der Wahrscheinlichkeit, dass diese Segmentierung passend ist, d) Wiederholen der Schritte a) bis c) wenigstens ein weiteres Mal für eine unterschiedliche Segmentierung, e) Vergleichen der Wahrscheinlichkeiten der verschiedenen Segmentierungen und Auswählen einer Segmentierung mit einer hohen Wahrscheinlichkeit, insbesondere der Segmentierung mit der höchsten Wahrscheinlichkeit, f) Durchführen von Schritt ii) von Anspruch 11 basierend auf der ausgewählten Segmentierung.
  13. Verfahren nach Anspruch 11, bei dem das Lexikon (15, 16) einen Relevanzfaktor für ein semantisches Token enthält und der Schritt des Berechnens der Wahrscheinlichkeit, dass eine bestimmte Segmentierung passend ist, auf diesem Relevanzfaktor basiert.
  14. Verfahren nach Anspruch 11, bei dem der Schritt ii) folgendes beinhaltet: a) Verwenden eines Satzes von Regeln oder Mustern mit einem bestimmten Tokentyp, beispielsweise eine Klasse, eine Instanz, eine Rolle oder eine Bedingung, für jedes semantische Token, – wobei jede Regel oder Muster einen oder mehrere Knoten, und/oder eine oder mehrere Beziehungen, die mit dem Tokentyp dieses semantischen Tokens assoziiert sind, festlegt, b) Berechnen weiterer Beziehungen zwischen den Knoten und/oder Beziehungen, um den mathematischen Graphen zu vervollständigen, c) Auswählen eines der nicht-terminalen Knoten oder nicht-terminaler Beziehungen als Fokus, vorzugsweise basierend auf einem Vergleich der Ähnlichkeit zwischen dem mathematischen Graphen und den semantischen Token in der Segmentierung, und/oder einem Wahrheitswert, der mit der weiteren Beziehung zwischen dem Knoten und/oder der Beziehung assoziiert ist.
  15. Computerprogramm mit Programmbefehlen zum Durchführen der Verfahrensschritte nach einem beliebigen der Ansprüche 11 bis 14, wenn das Computerprogramm auf einem digitalen Computer ausgeführt wird.
  16. Computerprogrammprodukt, insbesondere computerlesbares Medium wie eine Kompaktdisk oder der Speicher oder die Festplatte eines digitalen Computers, oder von einem Netzwerk herunterladbares Computerprogrammprodukt, das wenigstens teilweise in den internen Speicher eines digitalen Computers, insbesondere eines Servers, geladen werden kann und das Befehle zum Durchführen der Schritte nach einem beliebigen der Ansprüche 11 bis 15, wenn es auf dem digitalen Computer ausgeführt wird, enthält.
DE102013003055.2A 2013-02-18 2013-02-18 Verfahren und Vorrichtung zum Durchführen von Suchen in natürlicher Sprache Withdrawn DE102013003055A1 (de)

Priority Applications (2)

Application Number Priority Date Filing Date Title
DE102013003055.2A DE102013003055A1 (de) 2013-02-18 2013-02-18 Verfahren und Vorrichtung zum Durchführen von Suchen in natürlicher Sprache
US14/176,067 US9448995B2 (en) 2013-02-18 2014-02-08 Method and device for performing natural language searches

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102013003055.2A DE102013003055A1 (de) 2013-02-18 2013-02-18 Verfahren und Vorrichtung zum Durchführen von Suchen in natürlicher Sprache

Publications (1)

Publication Number Publication Date
DE102013003055A1 true DE102013003055A1 (de) 2014-08-21

Family

ID=51263710

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102013003055.2A Withdrawn DE102013003055A1 (de) 2013-02-18 2013-02-18 Verfahren und Vorrichtung zum Durchführen von Suchen in natürlicher Sprache

Country Status (2)

Country Link
US (1) US9448995B2 (de)
DE (1) DE102013003055A1 (de)

Families Citing this family (49)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9411803B2 (en) * 2012-09-28 2016-08-09 Hewlett Packard Enterprise Development Lp Responding to natural language queries
US20140280293A1 (en) * 2013-03-12 2014-09-18 Mckesson Financial Holdings Method and apparatus for retrieving cached database search results
US10325205B2 (en) 2014-06-09 2019-06-18 Cognitive Scale, Inc. Cognitive information processing system environment
US9703830B2 (en) * 2014-10-09 2017-07-11 International Business Machines Corporation Translation of a SPARQL query to a SQL query
US10810357B1 (en) * 2014-10-15 2020-10-20 Slickjump, Inc. System and method for selection of meaningful page elements with imprecise coordinate selection for relevant information identification and browsing
KR102033395B1 (ko) * 2014-11-20 2019-10-18 한국전자통신연구원 심층 자연어 질문 분석 기반 구조화된 지식베이스 질의응답 시스템 및 그 방법
US9589305B2 (en) 2014-12-30 2017-03-07 Facebook, Inc. Techniques for graph based natural language processing
US10102269B2 (en) * 2015-02-27 2018-10-16 Microsoft Technology Licensing, Llc Object query model for analytics data access
KR101646754B1 (ko) * 2015-03-18 2016-08-12 연세대학교 산학협력단 모바일 시멘틱 검색 장치 및 그 방법
US10152298B1 (en) * 2015-06-29 2018-12-11 Amazon Technologies, Inc. Confidence estimation based on frequency
WO2017030538A1 (en) 2015-08-14 2017-02-23 Hewlett Packard Enterprise Development Lp Dynamic lexer object construction
EP3142029A1 (de) * 2015-09-11 2017-03-15 Google, Inc. Vereindeutigung von verknüpfungspfaden für anfragen von natürlicher sprache
US10140273B2 (en) 2016-01-19 2018-11-27 International Business Machines Corporation List manipulation in natural language processing
US10762099B2 (en) * 2016-06-07 2020-09-01 International Business Machines Corporation Syntactical transformation of database interaction statements
US11238115B1 (en) 2016-07-11 2022-02-01 Wells Fargo Bank, N.A. Semantic and context search using knowledge graphs
US10268734B2 (en) 2016-09-30 2019-04-23 International Business Machines Corporation Providing search results based on natural language classification confidence information
WO2018081633A1 (en) * 2016-10-28 2018-05-03 Roam Analytics, Inc. Semantic parsing engine
WO2018085757A1 (en) * 2016-11-07 2018-05-11 Equifax, Inc. Data processing systems and methods for efficiently transforming entity descriptors in textual data
US10654380B2 (en) * 2016-11-18 2020-05-19 Microsoft Technology Licensing, Llc Query rewriting and interactive inquiry framework
US10469324B2 (en) * 2016-11-22 2019-11-05 Amazon Technologies, Inc. Virtual network verification service
US10657124B2 (en) * 2016-12-08 2020-05-19 Sap Se Automatic generation of structured queries from natural language input
CN108228676B (zh) * 2016-12-22 2021-08-13 腾讯科技(深圳)有限公司 信息抽取方法和系统
US10331759B2 (en) * 2016-12-29 2019-06-25 Wipro Limited Methods and system for controlling user access to information in enterprise networks
US11238084B1 (en) 2016-12-30 2022-02-01 Wells Fargo Bank, N.A. Semantic translation of data sets
EP4125029A1 (de) * 2017-03-23 2023-02-01 Samsung Electronics Co., Ltd. Elektronische vorrichtung, steuerungsverfahren dafür und nichttransitorisches computerlesbares aufzeichnungsmedium
WO2018176013A1 (en) * 2017-03-24 2018-09-27 Inmentis, Llc Social media system with navigable, artificial-intelligence-based graphical user interface with gamification
US11640436B2 (en) * 2017-05-15 2023-05-02 Ebay Inc. Methods and systems for query segmentation
US11023526B2 (en) 2017-06-02 2021-06-01 International Business Machines Corporation System and method for graph search enhancement
US10713300B2 (en) * 2017-11-03 2020-07-14 Google Llc Using distributed state machines for human-to-computer dialogs with automated assistants to protect private data
US10896297B1 (en) 2017-12-13 2021-01-19 Tableau Software, Inc. Identifying intent in visual analytical conversations
US11416481B2 (en) * 2018-05-02 2022-08-16 Sap Se Search query generation using branching process for database queries
GB2590214B (en) * 2018-07-10 2023-05-10 Lymbyc Solutions Private Ltd Machine intelligence for research and analytics (MIRA) system and method
US11055489B2 (en) * 2018-10-08 2021-07-06 Tableau Software, Inc. Determining levels of detail for data visualizations using natural language constructs
CN109840254A (zh) * 2018-12-14 2019-06-04 湖南亚信软件有限公司 一种数据虚拟化及查询方法、装置
US11829417B2 (en) 2019-02-05 2023-11-28 Microstrategy Incorporated Context-based customization using semantic graph data
US11625426B2 (en) * 2019-02-05 2023-04-11 Microstrategy Incorporated Incorporating opinion information with semantic graph data
US11030255B1 (en) 2019-04-01 2021-06-08 Tableau Software, LLC Methods and systems for inferring intent and utilizing context for natural language expressions to generate data visualizations in a data visualization interface
US11468054B2 (en) 2019-06-11 2022-10-11 Jpmorgan Chase Bank, N.A. Systems and methods for automated analysis of business intelligence
US11042558B1 (en) 2019-09-06 2021-06-22 Tableau Software, Inc. Determining ranges for vague modifiers in natural language commands
US11188580B2 (en) 2019-09-30 2021-11-30 Intuit, Inc. Mapping natural language utterances to nodes in a knowledge graph
US11379670B1 (en) 2019-09-30 2022-07-05 Splunk, Inc. Automatically populating responses using artificial intelligence
US11429271B2 (en) 2019-11-11 2022-08-30 Tableau Software, LLC Methods and user interfaces for generating level of detail calculations for data visualizations
US11561972B2 (en) * 2019-11-18 2023-01-24 Salesforce, Inc. Query conversion for querying disparate data sources
CN111831911B (zh) * 2020-07-16 2023-07-07 北京奇艺世纪科技有限公司 查询信息的处理方法、装置、存储介质和电子装置
CN112447300B (zh) * 2020-11-27 2024-02-09 平安科技(深圳)有限公司 基于图神经网络的医疗查询方法、装置、计算机设备及存储介质
US11971886B2 (en) * 2021-03-24 2024-04-30 International Business Machines Corporation Active learning for natural language question answering
US11704319B1 (en) 2021-10-14 2023-07-18 Tableau Software, LLC Table calculations for visual analytics using concise level of detail semantics
CN114090619B (zh) * 2022-01-19 2022-09-20 支付宝(杭州)信息技术有限公司 自然语言的查询处理方法及装置
CN116244344B (zh) * 2022-11-25 2023-09-05 中国农业科学院农业信息研究所 基于用户需求的检索方法、装置以及电子设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6311194B1 (en) 2000-03-15 2001-10-30 Taalee, Inc. System and method for creating a semantic web and its applications in browsing, searching, profiling, personalization and advertising
DE102007000954A1 (de) 2007-09-27 2009-04-09 Siemens Ag Verfahren zur rechnergestützten Verarbeitung von digitalen semantisch annotierten Informationen
DE102009037848A1 (de) 2009-05-15 2010-11-25 Siemens Aktiengesellschaft Verfahren zum rechnergestützten Verarbeiten von digitalen semantisch annotierten Informationen
US8301438B2 (en) 2009-04-23 2012-10-30 International Business Machines Corporation Method for processing natural language questions and apparatus thereof
US8315998B1 (en) 2003-04-28 2012-11-20 Verizon Corporate Services Group Inc. Methods and apparatus for focusing search results on the semantic web

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5146406A (en) 1989-08-16 1992-09-08 International Business Machines Corporation Computer method for identifying predicate-argument structures in natural language text
US6026388A (en) * 1995-08-16 2000-02-15 Textwise, Llc User interface and other enhancements for natural language information retrieval system and method
US5963940A (en) * 1995-08-16 1999-10-05 Syracuse University Natural language information retrieval system and method
SG49804A1 (en) 1996-03-20 1998-06-15 Government Of Singapore Repres Parsing and translating natural language sentences automatically
US6952666B1 (en) * 2000-07-20 2005-10-04 Microsoft Corporation Ranking parser for a natural language processing system
AU2001293595A1 (en) * 2000-09-29 2002-04-08 Gavagai Technology Incorporated A method and system for describing and identifying concepts in natural language text for information retrieval and processing
US7027974B1 (en) 2000-10-27 2006-04-11 Science Applications International Corporation Ontology-based parser for natural language processing
US6714939B2 (en) * 2001-01-08 2004-03-30 Softface, Inc. Creation of structured data from plain text
JP2005165958A (ja) 2003-12-05 2005-06-23 Ibm Japan Ltd 情報検索システム、情報検索支援システム及びその方法並びにプログラム
US7668808B2 (en) * 2005-03-10 2010-02-23 Yahoo! Inc. System for modifying queries before presentation to a sponsored search generator or other matching system where modifications improve coverage without a corresponding reduction in relevance
US7676489B2 (en) 2005-12-06 2010-03-09 Sap Ag Providing natural-language interface to repository
US7774198B2 (en) * 2006-10-06 2010-08-10 Xerox Corporation Navigation system for text
JP5038939B2 (ja) * 2008-03-03 2012-10-03 インターナショナル・ビジネス・マシーンズ・コーポレーション 情報検索システム、方法及びプログラム
US8521512B2 (en) * 2008-04-30 2013-08-27 Deep Sky Concepts, Inc Systems and methods for natural language communication with a computer
US8762130B1 (en) * 2009-06-17 2014-06-24 Softwin Srl Romania Systems and methods for natural language processing including morphological analysis, lemmatizing, spell checking and grammar checking
US8892419B2 (en) * 2012-04-10 2014-11-18 Artificial Solutions Iberia SL System and methods for semiautomatic generation and tuning of natural language interaction applications
US9471559B2 (en) * 2012-12-10 2016-10-18 International Business Machines Corporation Deep analysis of natural language questions for question answering system
US9367607B2 (en) * 2012-12-31 2016-06-14 Facebook, Inc. Natural-language rendering of structured search queries
US9703844B2 (en) * 2012-12-31 2017-07-11 Facebook, Inc. Search result snippets for structured search queries
US9336300B2 (en) * 2014-01-17 2016-05-10 Facebook, Inc. Client-side search templates for online social networks

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6311194B1 (en) 2000-03-15 2001-10-30 Taalee, Inc. System and method for creating a semantic web and its applications in browsing, searching, profiling, personalization and advertising
US8315998B1 (en) 2003-04-28 2012-11-20 Verizon Corporate Services Group Inc. Methods and apparatus for focusing search results on the semantic web
DE102007000954A1 (de) 2007-09-27 2009-04-09 Siemens Ag Verfahren zur rechnergestützten Verarbeitung von digitalen semantisch annotierten Informationen
US8301438B2 (en) 2009-04-23 2012-10-30 International Business Machines Corporation Method for processing natural language questions and apparatus thereof
DE102009037848A1 (de) 2009-05-15 2010-11-25 Siemens Aktiengesellschaft Verfahren zum rechnergestützten Verarbeiten von digitalen semantisch annotierten Informationen

Non-Patent Citations (13)

* Cited by examiner, † Cited by third party
Title
Ana-Maria Popescu et al., Modern Natural Language Interfaces to Databases: Composing Statistical Parsing with Semantic Tractability, http://acl.ldc.upenn.edu/coling2004/MAIN/pdf/21-783.pdf
Chong Wang et al., PANTO: A Portable Natural Language Interface to Ontologies, http://gate.ac.uk/sale/dd/relatedwork/2007+Wang+PANTO.pdf
http://dbpedia.org/resource#New_Zealand
http://linkedgeodata.org
http://w3.org/TR/2004/REC-rdf-concepts-20040210/
http://w3.org/TR/2008/REC-rdf-sparql-query-20080115/
http://www.dbpedia.org
http://www.w3.org/
http://www.w3.org/1999/02/22-rdf-syntax-ns
http://www.w3.org/standards/semanticweb/
I. Androutsopoulos et al., Natural Language Interfaces to Databases - An Introduction, http://acl.ldc.upenn.edu/coling2004/MAIN/pdf/21-783.pdf
V. Tablan et al., A natural language query interface to structured information, ftp://www.dlsi.ua.es/people/antonio/A%20natural%20language%20query%20interface%20to%20structured%20information.pdf
WANG, Chong, et al. Panto: A portable natural language interface to ontologies. In: The Semantic Web: Research and Applications. Springer Berlin Heidelberg, 2007. S. 473-487. doi: 10.1007/978-3-540-72667-8_34

Also Published As

Publication number Publication date
US20140236579A1 (en) 2014-08-21
US9448995B2 (en) 2016-09-20

Similar Documents

Publication Publication Date Title
DE102013003055A1 (de) Verfahren und Vorrichtung zum Durchführen von Suchen in natürlicher Sprache
US11651236B2 (en) Method for question-and-answer service, question-and-answer service system and storage medium
CN100458795C (zh) 一种智能组词输入的方法和一种输入法系统及其更新方法
CN107391677B (zh) 携带实体关系属性的中文通用知识图谱的生成方法及装置
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
DE102017111438A1 (de) Api-lernen
DE112018000334T5 (de) System und Verfahren zur domänenunabhängigen Aspektebenen-Stimmungserkennung
DE102019001267A1 (de) Dialogartiges System zur Beantwortung von Anfragen
DE112007000053T5 (de) System und Verfahren zur intelligenten Informationsgewinnung und -verarbeitung
DE102020113545A1 (de) Verfahren, vorrichtungen, systeme und erzeugnisse zum bereitstellen von abfrageauswahlsystemen
DE112017006151T5 (de) Anpassbare Verarbeitungskomponenten
DE102004003878A1 (de) System und Verfahren zum Identifizieren eines speziellen Wortgebrauchs in einem Dokument
DE60101668T2 (de) Verfahren und gerät zum erzeugen eines auf einer formatvorlage basierten index für ein strukturiertes dokument
US10824816B2 (en) Semantic parsing method and apparatus
DE112018005076T5 (de) Erstellen einer rangfolge von dokumenten auf grundlage ihres semantischen reichtums
WO2009030288A1 (de) Erfassung von zusammenhängen zwischen informationen repräsentierenden daten
Kallimani et al. Information extraction by an abstractive text summarization for an Indian regional language
CN114528312A (zh) 一种结构化查询语言语句的生成方法和装置
Pavlić et al. Graph-based formalisms for knowledge representation
CN110970112A (zh) 一种面向营养健康的知识图谱构建方法和系统
DE112021001743T5 (de) Vektoreinbettungsmodelle für relationale tabellen mit null- oder äquivalenten werten
CN117271558A (zh) 语言查询模型构建方法、查询语言获取方法及相关装置
CN111951079A (zh) 一种基于知识图谱的信用评级方法、装置及电子设备
DE112021006602T5 (de) Verfeinern von abfrage-erzeugungsmustern
KR102280028B1 (ko) 빅데이터와 인공지능을 이용한 챗봇 기반 콘텐츠 관리 방법 및 장치

Legal Events

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

Free format text: PREVIOUS MAIN CLASS: G06F0017200000

Ipc: G06F0017280000

R016 Response to examination communication
R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: G06F0017280000

Ipc: G06F0040400000

R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: G06F0040400000

Ipc: G06F0016335000

R120 Application withdrawn or ip right abandoned