DE102014116092A1 - Kontextüberprüfung von Synonymen bei einer durch die Ontologie veranlassten Verarbeitung natürlicher Sprache - Google Patents

Kontextüberprüfung von Synonymen bei einer durch die Ontologie veranlassten Verarbeitung natürlicher Sprache Download PDF

Info

Publication number
DE102014116092A1
DE102014116092A1 DE102014116092.4A DE102014116092A DE102014116092A1 DE 102014116092 A1 DE102014116092 A1 DE 102014116092A1 DE 102014116092 A DE102014116092 A DE 102014116092A DE 102014116092 A1 DE102014116092 A1 DE 102014116092A1
Authority
DE
Germany
Prior art keywords
token
permutations
natural language
user input
synonym
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.)
Ceased
Application number
DE102014116092.4A
Other languages
English (en)
Inventor
c/o IBM Corp. Edwards Stephen J.
c/o IBM Corp. Nassar Ahmed M.
c/o IBM Corp. Trim Craig M.
c/o IBM Corp. Wong Albert T.
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE102014116092A1 publication Critical patent/DE102014116092A1/de
Ceased legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/237Lexical tools
    • G06F40/247Thesauruses; Synonyms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/169Annotation, e.g. comment data or footnotes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis

Landscapes

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

Abstract

Hierin beschriebene Ausführungsformen stellen Ansätze zum Überprüfen von Synonymen in einer durch die Ontologie veranlassten Verarbeitung natürlicher Sprache bereit. Insbesondere wird ein Ansatz bereitgestellt zum Empfangen einer Benutzereingabe, die ein Token enthält, Strukturieren der Benutzereingabe in ein semantisches Modell, das einen Satz von Klassen aufweist, von denen jede einen Satz zugehöriger Permutationen des Token enthält, Bezeichnen des Token als ein Synonym einer des Satzes zugehöriger Permutationen, Versehen des Token mit einer Anmerkung einer Klasse aus dem Satz von Klassen entsprechend einer des Satzes zugehöriger Permutationen, und Überprüfen der Anmerkung des Token durch Ermitteln einer Genauigkeit der Bezeichnung des Token als ein Synonym der einen des Satzes zugehöriger Permutationen. In einer Ausführungsform wird die Genauigkeit durch Quantifizieren einer linearen Distanz zwischen dem Token und einem auch innerhalb der Benutzereingabe befindlichen Kontexttoken und Vergleichen der linearen Distanz mit einer zuvor angegebenen linearen Distanzgrenze ermittelt.

Description

  • HINTERGRUND
  • 1. Gebiet der Erfindung
  • Diese Erfindung betrifft allgemein die durch die Ontologie veranlasste Verarbeitung natürlicher Sprache (natural language processing (NLP)) und genauer das Bereitstellen einer Kontextüberprüfung von Synonymen bei einer durch die Ontologie veranlassten NLP.
  • 2. Beschreibung des Standes der Technik
  • Ein verbreitetes Problem bei Text in natürlicher Sprache stellt die Unterspezifizierung dar. Wenn zum Beispiel Menschen miteinander sprechen, gibt es einen gemeinsamen Kontext, der ein Verständnis von kontextspezifischen Wörtern und Sätzen ermöglicht. Wenn ein Benutzer mit einem Expertensystem interagiert, ist ebenfalls ein gemeinsamer Kontext erwünscht. Es ist jedoch manchmal aufgrund von Unterspezifizierung und dem Mangel an gemeinsamem Kontext für einen Computer schwierig, Sprache zu verstehen.
  • Derzeit kann NLP verwendet werden, um verbesserte Online-Frage-Antwort-Dienste zu erzielen. NLP stellt eine Technologie bereit, die versucht, die syntaktische Struktur einer Sprache zu verstehen und zu identifizieren. Zum Beispiel wurde NLP verwendet, um die Sprachteile eines oder mehrerer Ausdrücke in einem übermittelten Satz zu identifizieren, um die Verwendung von Sätzen als Abfrage von Daten in natürlicher Sprache zu unterstützen. Systeme, die NLP verwenden, um Abfragen von Daten zu analysieren (parse) und zu verarbeiten, können jedoch unter Leistungsproblemen aufgrund von Unklarheiten von Schlüsselwörtern leiden, selbst wenn die Daten hoch strukturiert sind.
  • Eine durch die Ontologie veranlasste NLP analysiert Text in natürlicher Sprache und überträgt ihn in eine Darstellung seiner Bedeutung, die um Ereignisse und deren Teilnehmer herum strukturiert ist. Abfragen können dann im Voraus mit dieser Bedeutungsdarstellung irgendwelcher der Permutationen verglichen werden, die in dem Text auftauchen. Diese Permutationen können jedoch ebenfalls unter Unterspezifikation leiden, wobei ein geeigneter Kontext angenommen werden muss, um eine Aussage oder Abfrage zu verstehen. Diese Unklarheit bezüglich des angenommenen Kontextes trägt manchmal zu ungenauen und unerwünschten Ergebnissen bei.
  • KURZDARSTELLUNG
  • Im Allgemeinen stellen hierin beschriebene Ausführungsformen Ansätze zum Überprüfen von Synonymen bei einer durch die Ontologie veranlassten Verarbeitung natürlicher Sprache (NLP) bereit. Insbesondere wird ein Ansatz bereitgestellt zum Empfangen einer Benutzereingabe, die ein Token enthält, Strukturieren der Benutzereingabe in ein semantisches Modell, das einen Satz von Klassen aufweist, von denen jede einen Satz zugehöriger Permutationen des Token enthält, Bezeichnen des Token als ein Synonym einer des Satzes zugehöriger Permutationen, Versehen des Token mit einer Klasse aus dem Satz von Klassen entsprechend der einen des Satzes zugehöriger Permutationen, und Überprüfen der Anmerkung des Token durch Ermitteln einer Genauigkeit der Bezeichnung des Token als ein Synonym der einen des Satzes zugehöriger Permutationen. In einer Ausführungsform wird die Genauigkeit durch Quantifizieren einer linearen Distanz zwischen dem Token und einem auch innerhalb der Benutzereingabe befindlichen Kontexttoken und Vergleichen der linearen Distanz mit einer zuvor angegebenen linearen Distanzgrenze ermittelt.
  • Ein Aspekt der vorliegenden Erfindung enthält ein Verfahren zum Bereitstellen einer Kontextüberprüfung von Synonymen bei einer durch die Ontologie veranlassten Verarbeitung natürlicher Sprache, wobei das Verfahren die computerrealisierten Schritte aufweist: Empfangen einer Benutzereingabe, die ein Token enthält; Strukturieren der Benutzereingabe in ein semantisches Modell, das einen Satz von Klassen aufweist, von denen jede einen Satz zugehöriger Permutationen des Token enthält; Bezeichnen des Token als ein Synonym einer des Satzes zugehöriger Permutationen; Versehen des Token mit einer Anmerkung einer Klasse aus dem Satz von Klassen entsprechend der einen des Satzes zugehöriger Permutationen; und Überprüfen der Anmerkung des Token durch Ermitteln einer Genauigkeit der Bezeichnung des Token als ein Synonym der einen des Satzes zugehöriger Permutationen.
  • Ein weiterer Aspekt der vorliegenden Erfindung stellt ein System zum Bereitstellen einer Kontextüberprüfung von Synonymen bei einer durch die Ontologie veranlassten Verarbeitung natürlicher Sprache (NLP) bereit, wobei das System aufweist: ein Speichermedium, das Anweisungen aufweist; einen mit dem Speichermedium verbundenen Bus; und einen über den Bus mit einer NLP-Engine verbundenen Prozessor, der bei Ausführen der Anweisungen das System veranlasst zu: Empfangen einer Benutzereingabe, die ein Token enthält; Strukturieren der Benutzereingabe in ein semantisches Modell, das einen Satz von Klassen aufweist, von denen jede einen Satz zugehöriger Permutationen des Token enthält; Bezeichnen des Token als ein Synonym einer des Satzes zugehöriger Permutationen; Versehen des Token mit einer Anmerkung einer Klasse aus dem Satz von Klassen entsprechend der einen des Satzes zugehöriger Permutationen; und Überprüfen der Anmerkung des Token durch Ermitteln einer Genauigkeit der Bezeichnung des Token als ein Synonym der einen des Satzes zugehöriger Permutationen.
  • Noch ein weiterer Aspekt der vorliegenden Erfindung stellt eine computerlesbare Speichereinheit bereit, die Computeranweisungen speichert, die es bei Ausführen einem Computersystem ermöglicht, eine Kontextüberprüfung von Synonymen bei einer durch die Ontologie veranlassten Verarbeitung natürlicher Sprache bereitzustellen, wobei die Computeranweisungen aufweisen: Empfangen einer Benutzereingabe, die ein Token enthält; Strukturieren der Benutzereingabe in ein semantisches Modell, das einen Satz von Klassen aufweist, von denen jede einen Satz zugehöriger Permutationen des Token enthält; Bezeichnen des Token als ein Synonym einer des Satzes zugehöriger Permutationen; Versehen des Token mit einer Anmerkung einer Klasse aus dem Satz von Klassen entsprechend der einen des Satzes zugehöriger Permutationen; und Überprüfen der Anmerkung des Token durch Ermitteln einer Genauigkeit der Bezeichnung des Token als ein Synonym der einen des Satzes zugehöriger Permutationen.
  • KURZBESCHREIBUNG DER ZEICHNUNGEN
  • 1 zeigt ein Schema einer beispielhaften Computerumgebung gemäß veranschaulichenden Ausführungsformen;
  • 2 zeigt ein Schema einer beispielhaften NLP-Engine und ihre Realisierung gemäß veranschaulichenden Ausführungsformen;
  • 3 zeigt einen Satz beispielhafter, ein oder mehrere Tokens enthaltender Benutzereingaben gemäß veranschaulichenden Ausführungsformen;
  • 4 zeigt ein semantisches Modell gemäß veranschaulichenden Ausführungsformen;
  • 5 zeigt ein restrukturiertes semantisches Modell gemäß veranschaulichenden Ausführungsformen; und
  • 6 zeigt einen Prozessfluss zum Bereitstellen einer Kontextüberprüfung von Synonymen bei einer durch die Ontologie veranlassten Verarbeitung natürlicher Sprache gemäß veranschaulichenden Ausführungsformen.
  • Die Zeichnungen sind nicht notwendigerweise maßstäblich. Die Zeichnungen sind lediglich Darstellungen und nicht als spezifische Parameter der Erfindung wiedergebend gedacht. Die Zeichnungen sollen nur typische Ausführungsformen der Erfindung abbilden und sollten daher nicht als den Umfang einschränkend angesehen werden. In den Zeichnungen stehen gleiche Bezugszeichen für gleiche Elemente.
  • DETAILLIERTE BESCHREIBUNG
  • Die Erfindung wird hierin nun vollständiger unter Bezugnahme auf die begleitenden Zeichnungen beschrieben, in denen beispielhafte Ausführungsformen gezeigt sind.
  • Diese Offenbarung kann in vielen unterschiedlichen Formen ausgebildet sein und sollte nicht als auf die hierin dargelegten beispielhaften Ausführungsformen beschränkt angesehen werden. Vielmehr werden diese beispielhaften Ausführungsformen bereitgestellt, damit diese Offenbarung sorgfältig und vollständig ist und sie dem Fachmann den Umfang dieser Offenbarung vollständig vermittelt. In der Beschreibung können Einzelheiten allgemein bekannter Merkmale und Techniken weggelassen sein, um ein unnötiges Verschleiern der vorgelegten Ausführungsformen zu vermeiden. Wenn im Rahmen dieser Beschreibung auf „eine Ausführungsform” oder ähnliche Sprache Bezug genommen wird, bedeutet dies, dass ein bestimmtes, in Verbindung mit der Ausführungsform beschriebenes Merkmal, eine bestimmte, in Verbindung mit der Ausführungsform beschriebene Struktur oder ein bestimmtes, in Verbindung mit der Ausführungsform beschriebenes Charakteristikum in mindestens einer Ausführungsform der vorliegenden Erfindung enthalten ist. Daher bezieht sich das Auftreten der Ausdrücke „in einer Ausführungsform” und ähnliche Sprache im Rahmen dieser Beschreibung nicht notwendigerweise immer auf dieselbe Ausführungsform.
  • Die hierin verwendete Terminologie dient des Weiteren lediglich dem Zwecke des Beschreibens besonderer Ausführungsformen und ist nicht als diese Offenbarung einschränkend aufzufassen. Die hierin verwendeten Singularformen „ein”, „eine” und „der”, „die”, „das” sowie deren Deklinationen sollen ebenso die Pluralformen einschließen, es sei denn dies ist im Kontext deutlich anders angegeben. Des Weiteren bezeichnet die Verwendung der Begriffe „ein”, „eine”, einer” usw. und deren Deklinationen keine Einschränkung der Menge, sondern vielmehr das Vorhandensein mindestens eines der angegebenen Elemente. Es versteht sich weiterhin, dass die Begriffe „aufweist” und/oder „aufweisend” oder „enthält” und/oder „enthaltend” bei Verwendung in dieser Beschreibung das Vorhandensein von angegebenen Merkmalen, Bereichen, ganzen Zahlen, Schritten, Vorgängen, Elementen und/oder Komponenten angeben, jedoch nicht das Vorhandensein oder Hinzufügen eines oder mehrerer weiterer Merkmale, Bereiche, ganzer Zahlen, Schritte, Vorgänge, Elemente, Komponenten und/oder Gruppen davon ausschließen.
  • Soweit nicht anders angegeben, kann davon ausgegangen werden, dass sich Begriffe wie beispielsweise „verarbeiten”, „berechnen”, „ermitteln”, „bewerten” oder Ähnliches auf die Aktionen und/oder Prozesse eines Computers oder Computersystems oder einer ähnlichen elektronischen Rechenzentrumseinheit beziehen, die als physikalische Mengen (z. B. Elektronik) innerhalb der Register und/oder Speicher des Computersystems wiedergegebene Daten bearbeitet oder in andere gleichermaßen als physikalische Mengen innerhalb der Speicher, Register oder anderen solchen Einheiten zur Informationsspeicherung, -übertragung oder -anzeige wiedergegebene Daten umwandelt. Die Ausführungsformen sind in diesem Kontext nicht beschränkt.
  • Bei Verwendung in dieser Anmeldung wird das Wort „beispielhaft in der Bedeutung von als ein Beispiel, ein Fall oder eine Veranschaulichung dienend verwendet. Nicht jede/r hierin als „beispielhaft” beschriebene Aspekt oder Gestaltung ist notwendigerweise als bevorzugt oder vorteilhaft gegenüber anderen Aspekten oder Gestaltungen anzusehen. Vielmehr soll die Verwendung des Wortes „beispielhaft” Konzepte auf eine konkrete Weise vorstellen.
  • Wie vorstehend erwähnt, stellen hierin beschriebene Ausführungsformen Ansätze zum Überprüfen von Synonymen bei einer durch die Ontologie veranlassten NLP bereit. Insbesondere wird ein Ansatz bereitgestellt zum Empfangen einer Benutzereingabe, die ein Token enthält, Strukturieren der Benutzereingabe in ein semantisches Modell, das einen Satz von Klassen aufweist, von denen jede einen Satz zugehöriger Permutationen des Token enthält, Bezeichnen des Token als ein Synonym einer des Satzes zugehöriger Permutationen, Versehen des Token mit einer Anmerkung einer Klasse aus dem Satz von Klassen entsprechend der einen des Satzes zugehöriger Permutationen und Überprüfen der Anmerkung des Token durch Ermitteln einer Genauigkeit der Bezeichnung des Token als ein Synonym der einen des Satzes zugehöriger Permutationen. In einer Ausführungsform wird die Genauigkeit durch Quantifizieren einer linearen Distanz zwischen dem Token und einem auch innerhalb der Benutzereingabe befindlichen Kontexttoken und Vergleichen der linearen Distanz mit einer zuvor angegebenen linearen Distanzgrenze ermittelt. Als ein Ergebnis können geeignete semantische ontologische Begriffe zum Anreichern einer Suchabfrage unter Verwendung eines semantischen Anmerkungsformulars identifiziert werden, um zum Auflösen von Unklarheit ontologischer Begriffe beizutragen und das Vertrauensniveau in die ontologischen Schlüsselbegriffe zu erhöhen.
  • Unter Bezugnahme auf 1 wird nun eine Computerrealisierung 100 der vorliegenden Erfindung detaillierter beschrieben. Wie abgebildet, enthält die Realisierung 100 eine Computerinfrastruktur 102 mit einem darin bereitgestellten Computersystem 104. Dies soll unter anderem demonstrieren, dass die vorliegende Erfindung innerhalb einer Netzwerkumgebung (zum Beispiel dem Internet, einem Weitverkehrsnetzwerk (wide area network (WAN)), einem lokalen Netzwerk (local area network (LAN)), einem virtuellen privaten Netzwerk (virtual private network (VPN)) usw.), einer Cloud-Computing-Umgebung oder einem eigenständigen Computersystem realisiert werden könnte. Die Datenübertragung über das Netzwerk kann über jede beliebige Kombination vielfältiger Typen von Datenübertragungsverbindungen erfolgen. Zum Beispiel können die Datenübertragungsverbindungen adressierbare Verbindungen aufweisen, die jede beliebige Kombination von kabelgebundenen und/oder kabellosen Übertragungsverfahren nutzen können. Wenn die Datenübertragung über das Internet erfolgt, könnte die Konnektivität durch das herkömmliche socketgestützte TCP/IP-Protokoll bereitgestellt werden, und ein Internetanbieter könnte genutzt werden, um die Konnektivität mit dem Internet herzustellen. Weiterhin soll die Computerinfrastruktur 102 demonstrieren, dass manche oder alle der Komponenten der Realisierung 100 durch einen Dienstanbieter bereitgestellt, verwaltet, bedient usw. werden könnten, der anbietet, die Funktionen der vorliegenden Erfindung für Andere zu realisieren, bereitzustellen und/oder durchzuführen.
  • Das Computersystem 104 soll jeden beliebigen Typ von Computersystem wiedergeben, der beim Bereitstellen/Verwirklichen der hierin angegebenen Lehren realisiert werden kann. In diesem speziellen Beispiel steht das Computersystem 104 für ein veranschaulichendes System zum Bereitstellen einer Kontextüberprüfung von Synonymen bei einer durch die Ontologie veranlassten Verarbeitung natürlicher Sprache. Es versteht sich, dass alle anderen unter der vorliegenden Erfindung realisierten Computer unterschiedliche Computer/Software besitzen können, jedoch ähnliche Funktionen ausführen werden. Wie gezeigt, enthält das Computersystem 104 eine Verarbeitungseinheit 106, die in der Lage ist, mit einer in einem Arbeitsspeicher 108 gespeicherten NLP-Engine 118 Daten auszutauschen, einen Bus 110 und Einheitenschnittstellen 112.
  • Die Verarbeitungseinheit 106 bezieht sich allgemein auf jede Vorrichtung, die logische Operationen, Verarbeitungsaufgaben, Steuerungsfunktionen usw. durchführt. Ein Prozessor kann ein oder mehrere Teilsysteme, eine oder mehrere Komponenten und/oder einen oder mehrere weitere Prozessoren enthalten. Ein Prozessor enthält üblicherweise verschiedene Logikkomponenten, die unter Verwendung eines Taktsignals arbeiten, um Daten in Flipflopschaltungen zu speichern, Logikzustände weiterzuleiten, Berechnungen und Logikoperationen zu synchronisieren und/oder weitere Zeitgeberfunktionen bereitzustellen. Während des Betriebs sammelt die Verarbeitungseinheit 106 Signale, die Eingaben und Ausgaben zwischen externen Einheiten 115 und der NLP-Engine 118 darstellen, und routet sie. Die Signale können über ein LAN und/oder ein WAN (z. B. T1, T3, 56 kb, X.25), Breitbandverbindungen (ISDN, Frame Relay, ATM), kabellose Verbindungen (802.11, Bluetooth usw.), und so weiter übertragen werden. In manchen Ausführungsformen können die Signale zum Beispiel unter Verwendung der Verschlüsselung vertrauenswürdiger Schlüsselpaare (trusted key-pair encryption) verschlüsselt werden. Unterschiedliche Systeme können Informationen unter Verwendung unterschiedlicher Datenübertragungswege übertragen, wie beispielsweise Ethernet oder kabellose Netzwerke, direkte serielle oder parallele Verbindungen, USB, Firewire®, Bluetooth® oder andere proprietäre Schnittstellen. (Firewire ist eine eingetragene Marke von Apple Computer, Inc., Bluetooth ist eine eingetragene Marke der Bluetooth Special Interest Group (SIG)).
  • Im Allgemeinen führt die Verarbeitungseinheit 106 Computerprogrammcode aus, wie beispielsweise Programmcode zum Betreiben der NLP-Engine 118, der im Arbeitsspeicher 108 und/oder in einem Datenspeichersystem 116 gespeichert ist. Während des Ausführens von Computerprogrammcode kann die Verarbeitungseinheit 106 Daten auf den/vom Arbeitsspeicher 108, dem Datenspeichersystem 116 und der NLP-Engine 118 lesen und/oder schreiben. Das Datenspeichersystem 116 kann VCRs, DVRs, RAID-Arrays, USB-Festplattenlaufwerke, optische Plattenrekorder, Flash-Speichereinheiten und/oder jedes andere Datenverarbeitungs- und/oder Datenspeicherelement zum Speichern und/oder Verarbeiten von Daten enthalten. Obwohl nicht gezeigt, kann das Computersystem 104 zudem E/A-Schnittstellen enthalten, die mit einer oder mehreren externen Einheiten 115 (z. B. einer Tastatur, einer Zeigeeinrichtung, einer Anzeige usw.) Daten austauschen, welche die Interaktion mit dem Computersystem 104 durch einen Benutzer ermöglichen.
  • Unter Bezugnahme auf 2 wird nun die Arbeitsweise einer NLP-Engine 218 detaillierter beschrieben. Wie gezeigt, handelt es sich bei 2 um ein Blockschaubild, das ein System 200 veranschaulicht, das zum Realisieren der NLP-Engine 218 verwendet werden kann. Das System 200 stellt die Komponenten bereit, die zum Bereitstellen einer Kontextüberprüfung von Synonymen bei einer durch die Ontologie veranlassten NLP notwendig sind. In der Verwendung hierin bezieht sich die durch die Ontologie veranlasste NLP auf die Verwendung eines semantischen Modells, um zu verstehen, was in unstrukturierten Daten vorhanden ist. Während des Betriebs analysiert die durch die Ontologie veranlasste NLP Text in natürlicher Sprache einer Eingabe 222 von einem Benutzer 224 und überträgt ihn in eine Darstellung seiner Bedeutung, strukturiert um Ereignisse und deren Teilnehmer, wie im Text erwähnt und einem semantischen Modell 228 (z. B. einem Ontologiemodell) bekannt ist.
  • In einer beispielhaften Ausführungsform weist die Eingabe 222 elektronischen Text auf, der als eine lineare Sequenz von Symbolen (z. B. Zeichen, Wörter oder Sätze) strukturiert ist. Bevor eine Verarbeitung der Eingabe 222 vorgenommen wird, muss der Text in ein oder mehrere Tokens 230 segmentiert werden, bei denen es sich um sprachliche Einheiten handelt, wie beispielsweise Wörter, Zeichensetzung, alphanumerische Zeichen usw. Die Erzeugung des Token 230 stellt eine Art von Vorverarbeitung dar, mittels derer grundlegende zu verarbeitende Einheiten identifiziert werden. In einer Ausführungsform kann das Token 230 durch eine Zeichenkette oder ein Wort definiert sein, die oder das auf beiden Seiten durch Leerzeichen oder Zeichensetzung begrenzt ist, während in einer weiteren Ausführungsform das Token 230 als etwas sprachlich Signifikantes oder methodologisch Nützliches definiert sein kann.
  • Nachdem die das Token 230 enthaltende Eingabe 222 bei der NLP-Engine 218 empfangen wurde, wird sie in das semantische Modell 228 strukturiert, welches einen Satz von Klassen 232 und 234 (z. B. Datensätze) aufweist, von denen jede einen Satz zugehöriger Permutationen 238A bis N und 240A bis N (z. B. Mitglieder der Klasse als Instanzdaten) des Token 230 aufweist (was in 4 klarer gezeigt und nachstehend detaillierter beschrieben wird). Das Token 230 wird dann als Synonym einer der zugehörigen Permutationen 238A bis N oder 240A bis N bezeichnet, und das Token 230 wird mit einer Anmerkung 244 (z. B. einer Kontext bereitstellenden semantischen Kennzeichnung) versehen, die entsprechend der zugehörigen Permutation entweder die Klasse 232 oder 234 aufweist, die ein Synonym zum Token 230 darstellt. Wenn zum Beispiel das Token 230 als ein Synonym für eine der zugehörigen Permutationen 238A bis N festgelegt ist, wird die Klasse 232 als die Anmerkung 244 ausgegeben. Wenn im Gegensatz dazu das Token 230 als ein Synonym für eine der zugehörigen Permutationen 240A bis N festgelegt ist, wird die Klasse 234 als Anmerkung 244 ausgegeben. Die Anmerkung 244 wird dann überprüft, wie nachstehend detaillierter beschrieben wird, indem eine Genauigkeit der Bezeichnung 244 des Token 230 als ein Synonym der ausgewählten Permutation aus den zugehörigen Permutationen 238A bis N und 240A bis N ermittelt wird.
  • Unter Bezugnahme auf 3 wird nun ein Satz beispielhafter Eingaben und Tokens gezeigt. In einem ersten Beispiel handelt es sich bei einer Eingabe 322A um eine Textaussage „For receivers, I want 4 of the 1000 line.” (Was Receiver angeht, möchte ich vier der 1000er Reihe). Hier können die Eingabe 322A und insbesondere die Zahl 1000 etwas unklar sein, so dass es wünschenswert ist, dieser Zahl Kontext und Verständnis hinzuzufügen. Daher wird die Zahl 1000, die einem Token 330 entspricht, mit einer Anmerkung 344 kombiniert, wie in den Eingaben 322B bzw. 322C gezeigt ist.
  • Die Anmerkung 344 wird dem Token 330 durch die NLP-Engine 218 (2) hinzugefügt, die durch ein in 4 gezeigtes semantisches Modell 428 betrieben wird. In einer Ausführungsform handelt es sich bei dem semantischen Modell 428 um ein Ontologiemodell, das Klassen (z. B. Entitäten) und Prädikate (z. B. Beziehungen) enthält. Bei Ontologieklassen handelt es sich um Datensätze, und sie können Mitglieder enthalten (z. B. Instanzdaten, die Permutationen des Token entsprechen). Das semantische Modell 428 ermöglicht es Benutzern, auf eine natürlichere Weise Fragen darüber zu stellen, was in einem modellierten System geschieht. Das semantische Modell 428 kann als funktionaler Kern einer Anwendung eingesetzt werden, um ein navigierbares Modell von Daten und zugeordneten Beziehungen bereitzustellen, die Wissen in einer Zieldomäne darstellen.
  • Ein wichtiger Nutzen des semantischen Modells 428 liegt darin, Zugang zu Informationen in Kontext der realen Welt auf eine konsistente Weise bereitzustellen. In dieser Ausführungsform stehen die im semantischen Modell 428 gezeigten Anmerkungen 344 „Product” (Produkt) und „Number” (Zahl) für Ontologieklassen 432 bzw. 434. Ein erster Satz von Permutationen 438A bis N (z. B. „Digital Receiver 1000, Digital Receiver, Receiver, 1000”) und ein zweiter Satz von Permutationen 440 eines Token 430 stehen für Instanzdaten (d. h. Mitglieder jeder Ontologieklasse 432 und 434). Wie gezeigt, bezeichnet das semantische Modell 428 das Token 430 unter Verwendung einer Beziehung 460 (d. h. „hasSynonym” (hat Synonym)) als ein Synonym von „Digital Receiver 1000”. Während des Betriebs verwendet die NLP-Engine die im semantischen Modell 428 enthaltenen Instanzdaten, und wenn die Instanzdaten in einer Benutzereingabe gefunden werden, wird die Klasse, welche die Instanzdaten enthält, als die semantische Anmerkung verwendet.
  • Nachdem die Anmerkung durchgeführt wurde, wird sie überprüft, indem eine Genauigkeit der Bezeichnung des Token als ein Synonym der ausgewählten zugehörigen Permutation ermittelt wird. Wie in 5 gezeigt, wird eine weitere Beziehung 562 berücksichtigt (d. h. „requiresContext” (erfordert Kontext)), und die Ontologie wird so restrukturiert, dass sie eine Wissensstruktur 564 enthält. Im Allgemeinen handelt es sich bei der Wissensstruktur 564 um eine Zusammensetzung von Entitäten, Beziehungstypen, Tripeln, Elementtypen und Wissensobjekten. In der Wissensstruktur 564 werden Konzepte, Beziehungstypen, Elementtypen, Wissensobjekte und Tripel selbst allesamt als Entitäten bezeichnet und können alle über ein Tripel mit einer anderen Entität verbunden sein. Im Falle, dass Tripel als Entitäten betrachtet werden und an Tripeln teilhaben, ist dies allgemein als „Konkretion” („reification”) von Tripeln bekannt.
  • In der gezeigten beispielhaften Ausführungsform enthält die Wissensstruktur 564 ein Kontexttoken 566 (d. h. „Receiver”), eine als eine Beziehung 570 zwischen einem Token 530 und dem Kontexttoken 566 innerhalb einer Benutzereingabe 522 dargestellte lineare Distanz und die Bezeichnung des Token 530 als ein Synonym der ausgewählten zugehörigen Permutation „Digital Receiver 1000”. In diesem Fall handelt es sich bei der Beziehung 570 um eine zuvor festgelegte lineare Distanzgrenze, die benutzerdefiniert sein kann und hier durch „hasKlimit 5” (hat Kgrenze 5) dargestellt wird. Dies impliziert die Verwendung von „1000” als ein Synonym für „Digital Receiver 1000”, nur wenn das Token „Receiver” andernorts in der Benutzereingabe auftritt, d. h. innerhalb von 5 Wörtern.
  • Es ist ersichtlich, dass das Format der Wissensstruktur 564 als ein „konkretisiertes” Tripel strukturiert ist, um eine Art bereitzustellen, Kontext gegenüber einer vorhandenen Beziehung auszudrücken. Das „konkretisierte” Tripelformat der Wissensstruktur 564 stellt eine Kontextüberprüfung einer Beziehung 560 (d. h. „hasSynonym”) des Token 530 als das Synonym der zugehörigen Permutation „Digital Receiver 1000” auf der Grundlage der linearen Distanzbeziehung 570 und der durch das Kontexttoken 566 eingeführten Beziehung 562 dar. Das heißt, die Wissensstruktur 564 vergleicht die lineare Distanz zwischen dem Kontexttoken 566 und dem Token 530 mit der linearen Distanzgrenze. Insofern ist der Benutzer in der Lage, die geeignete lineare Distanz für die Überprüfung anzugeben, und er verwendet die benutzerdefinierte geeignete Distanz, um eine Auswirkung von Vertrauensniveaus in der semantischen Anmerkung auszudrücken.
  • In einer Ausführungsform entspricht die lineare Distanz einer Menge von Tokens (z. B. Wörtern) zwischen den zwei Zieltokens in der Benutzereingabe 522, d. h. dem Kontexttoken 566 und dem Token 530. Wie gezeigt, besitzt die lineare Distanz zwischen „Receiver” und „1000” in der Eingabe 522 den Wert 3. Somit bedeutet die K-Grenze von 5, dass die semantische Anmerkung von „Digital Receiver 1000” zulässig ist. Die semantische Anmerkung wird mit dem höchsten Vertrauensniveau angewandt (100%). Wenn der Benutzer jedoch eintippt: „For receivers, I've been looking at a few, but primarily the 1000 line” („Was Receiver angeht, habe ich mir ein paar angesehen, jedoch hauptsächlich die 1000er Reihe”) besitzt die lineare Distanz zwischen „Receiver” und „1000” den Wert 9. Somit bedeutet die K-Grenze von 5, dass die semantische Anmerkung von „Digital Receiver 1000” nicht als zulässig angesehen wird und zumindest ein geringeres Verkauensniveau besitzen wird, das in jeder beliebigen Anzahl von Arten quantifiziert werden kann.
  • Es ist ersichtlich, dass die hierin beschriebenen Ansätze durch das Computersystem 104 (1) ausgeführt werden können, das im allgemeinen Kontext von computerausführbaren Anweisungen beschrieben werden kann, wie beispielsweise durch einen Computer ausgeführte Programmmodule. Allgemein enthalten Programmmodule Routinen, Programme, Menschen, Komponenten, Logik, Datenstrukturen usw., die bestimmte Aufgaben durchführen oder bestimmte abstrakte Datentypen realisieren. Das beispielhafte Computersystem 104 kann in verteilten Cloud-Computing-Umgebungen ausgebildet sein, bei denen Aufgaben durch entfernt angeordnete Verarbeitungseinheiten durchgeführt werden, die über ein Datenübertragungsnetzwerk verbunden sind. In einer verteilten Computerumgebung können sich Programmmodule sowohl in lokalen als auch entfernt angeordneten Computer-Datenspeichermedien einschließlich Arbeitsspeichereinheiten befinden.
  • Die Programmmodule führen die hierin offenbarten Verfahrensweisen aus, wie in 6 gezeigt. Abgebildet ist ein Prozess 600 zum Bereitstellen einer Kontextüberprüfung von Synonymen in einer durch die Ontologie veranlassten Verarbeitung natürlicher Sprache, wobei bei 602 eine ein oder mehrere Tokens enthaltende Benutzereingabe empfangen wird. Bei 604 wird die Benutzereingabe in ein semantisches Modell strukturiert, das einen Satz von Klassen aufweist, von denen jede einen Satz zugehöriger Permutationen des Token enthält. Als Nächstes wird bei 606 das Token als ein Synonym einer des Satzes zugehöriger Permutationen bezeichnet, und das Token wird bei 608 mit einer Anmerkung einer Klasse aus dem Satz von Klassen versehen, die der einen des Satzes zugehöriger Permutationen entspricht. Die Anmerkung wird dann bei 610 überprüft, indem eine Genauigkeit der Bezeichnung des Token als ein Synonym der einen des Satzes zugehörigen Permutationen ermittelt wird. Schließlich wird das semantische Modell bei 612 so restrukturiert, dass es eine Wissensstruktur einschließt, die ein Kontexttoken, eine lineare Distanz zwischen dem Token und dem Kontexttoken und die Bezeichnung des Token als ein Synonym der einen des Satzes zugehöriger Permutationen enthält.
  • Der Ablaufplan von 6 veranschaulicht die Architektur, Funktionalität und die Arbeitsweise möglicher Realisierungen von Systemen, Verfahren und Computerprogrammprodukten gemäß verschiedenen Ausführungsformen der vorliegenden Erfindung. In dieser Hinsicht kann jeder Block im Ablaufplan für ein Modul, ein Segment oder einen Codeabschnitt stehen, der eine oder mehrere ausführbare Anweisungen zum Realisieren der angegebenen logischen Funktion(en) aufweist. Es soll zudem angemerkt werden, dass bei einigen alternativen Realisierungen die in den Blöcken angegebenen Funktionen in anderer Reihenfolge als der in den Figuren angegebenen auftreten können. Zum Beispiel können zwei aufeinander folgend gezeigte Blöcke im Wesentlichen gleichzeitig ausgeführt werden. Es wird ebenfalls angemerkt, dass jeder Block des Ablaufplans durch zweckbestimmte hardwaregestützte Systeme oder Kombinationen von zweckbestimmter Hardware und Computeranweisungen realisiert werden kann, welche die angegebenen Funktionen oder Handlungen durchführen.
  • Viele der in dieser Beschreibung beschriebenen Funktionseinheiten wurden als Module bezeichnet, um deren Realisierungsunabhängigkeit besonders zu betonen. Zum Beispiel kann ein Modul als eine Hardware-Schaltung realisiert werden, die benutzerspezifische VLSI-Schaltungen oder -Gatter-Arrays, vorgefertigte Halbleiter wie beispielsweise Logikchips, Transistoren oder weitere einzelne Komponenten aufweist. Ein Modul kann zudem in programmierbaren Hardware-Einheiten wie beispielsweise anwenderprogrammierbaren Gatter-Arrays (field programmable gate arrays), programmierbarer Array-Logik, programmierbaren Logikeinheiten oder Ähnlichem realisiert sein. Module können auch in Software zur Ausführung durch verschiedene Typen von Prozessoren realisiert sein. Ein angegebenes Modul oder eine angegebene Komponente von ausführbarem Code kann zum Beispiel einen oder mehrere physische oder logische Blöcke von Computeranweisungen aufweisen, die zum Beispiel als ein Objekt, eine Prozedur oder eine Funktion aufgebaut sein können. Nichtsdestoweniger müssen die ausführbaren Elemente eines angegebenen Moduls nicht physisch beieinander angeordnet sein, sondern können verteilte, an verschiedenen Orten gespeicherte Anweisungen aufweisen, die bei logischem Zusammenfügen das Modul aufweisen und den angegebenen Zweck für das Modul erreichen.
  • Weiterhin kann es sich bei einem Modul von ausführbarem Code um eine einzige Anweisung oder viele Anweisungen handeln, und es kann sogar über mehrere unterschiedliche Codesegmente, zwischen unterschiedlichen Programmen und über mehrere Speichereinheiten hinweg verteilt sein. Gleichermaßen können hierin innerhalb von Modulen Betriebsdaten angegeben und veranschaulicht und in jeder geeigneten Form ausgebildet und innerhalb jedes geeigneten Typs von Datenstruktur organisiert sein. Die Betriebsdaten können als einzelner Datensatz erfasst oder über unterschiedliche Orte einschließlich über verteilte Datenspeichereinheiten, über verteilte Arbeitsspeichereinheiten hinweg verteilt sein, und sie können zumindest teilweise lediglich als elektronische Signale auf einem System oder Netzwerk vorliegen.
  • Wie weiterhin hierein beschrieben wird, können Module zudem als eine Kombination von Software und einer oder mehreren Hardware-Einheiten realisiert sein. Zum Beispiel kann ein Modul in der Kombination eines auf einer Arbeitsspeichereinheit gespeicherten ausführbaren Software-Codes ausgeführt sein. In noch einem weiteren Beispiel kann es sich bei einem Modul um die Kombination eines Prozessors handeln, der an einem Satz von Betriebsdaten arbeitet. Weiterhin kann ein Modul in der Kombination eines über Übertragungsschaltungen ausgetauschten elektronischen Signals realisiert sein.
  • Wie vorstehend festgehalten, können manche der Ausführungsformen in Hardware ausgeführt sein. Die Hardware kann als ein Hardware-Element referenziert werden. Im Allgemeinen kann sich ein Hardware-Element auf beliebige Hardware-Strukturen beziehen, die angeordnet sind, um gewisse Operationen durchzuführen. In einer Ausführungsform können die Hardware-Elemente zum Beispiel analoge oder digitale elektrische oder elektronische Elemente einbeziehen, die auf einem Substrat hergestellt werden. Die Herstellung kann unter Verwendung von Techniken siliciumgestützter integrierter Schaltungen (silicon-based integrated circuit (IC) techniques) durchgeführt werden, wie beispielsweise komplementäre Metalloxidhalbleiter(complementary metal oxide semiconductor (CMOS))-Techniken sowie bipolare und bipolare CMOS(bipolar CMOS (BiCMOS))-Techniken. Zu Beispielen von Hardware-Elementen können Prozessoren, Mikroprozessoren, Schaltungen, Schaltungselemente (z. B. Transistoren, Widerstände, Kondensatoren, Spulen und so fort), integrierte Schaltungen, anwenderspezifische integrierte Schaltungen (application specific integrated circuits (ASIC)), programmierbare Logikeinheiten (programmable logic devices (PLD)), digitale Signalverarbeiter (digital signal processors (DSP)), anwenderprogrammierbare Gatter-Arrays (field programmable gate array (FPGA)), Logikgatter, Register, Halbleitereinheiten, Chips, Mikrochips, Chipsätze und so fort zählen. Die Ausführungsformen sind in diesem Kontext nicht beschränkt.
  • Wie ebenso vorstehend festgehalten, können manche der Ausführungsformen in Software ausgeführt sein. Die Software kann als ein Software-Element referenziert werden. Im Allgemeinen kann sich ein Software-Element auf beliebige Software-Strukturen beziehen, die angeordnet sind, um gewisse Operationen durchzuführen. In einer Ausführungsform können die Software-Elemente zum Beispiel Programmanweisungen und/oder Daten beinhalten, die zur Ausführung durch ein Hardware-Element angepasst sind, wie beispielsweise einen Prozessor. Programmanweisungen können eine organisierte Liste von Befehlen beinhalten, die Wörter, Werte oder Symbole aufweisen, die in einer vorgegebenen Syntax angeordnet sind, die bei Ausführen einen Prozessor veranlassen kann, einen entsprechenden Satz von Operationen durchzuführen.
  • Zum Beispiel kann eine Realisierung des beispielhaften Computersystems 104 (1) auf einer Form von computerlesbarem Medium gespeichert oder über ein solches übermittelt werden. Bei einem computerlesbaren Medium kann es sich um jedes verfügbare Medium handeln, auf das durch einen Computer zugegriffen werden kann. In beispielhafter Weise und nicht als Einschränkung kann das computerlesbare Medium „Computer-Datenspeichermedien” und „Datenübertragungsmedien” aufweisen.
  • Zu einer „computerlesbaren Datenspeichereinheit” zählen flüchtige und nichtflüchtige, Wechsel- und festinstallierte computerspeicherbare Medien, die in jedem beliebigen Verfahren oder jeder beliebigen Technologie zum Speichern von Informationen realisiert sein können, wie beispielsweise computerlesbare Anweisungen, Datenstrukturen, Programmmodule und andere Daten. Zu Computerdatenspeichereinheiten zählen, ohne auf diese beschränkt zu sein, RAM, ROM, EEPROM, Flash-Speicher oder andere Speichertechnologie, CD-ROM, DVDs (digital versatile disks) oder andere optische Speicher, Magnetkassetten, Magnetband, Magnetplattenspeicher oder andere magnetische Datenspeichereinheiten, oder jedes beliebige andere Medium, das verwendet werden kann, um die gewünschten Informationen zu speichern, und auf das durch einen Computer zugegriffen werden kann.
  • „Datenübertragungsmedien” beinhaltet üblicherweise computerlesbare Anweisungen, Datenstrukturen, Programmmodule oder andere Daten in einem modulierten Datensignal, wie beispielsweise ein Trägersignal oder ein anderer Transportmechanismus. Datenübertragungsmedien schließen zudem jedes beliebige Informationsbereitstellungsmedium ein.
  • Der Begriff „moduliertes Datensignal” bedeutet ein Signal, bei dem eines oder mehrere seiner Charakteristika auf solch eine Weise festgelegt oder geändert werden, dass Informationen im Signal codiert werden. In beispielhafter Weise und nicht als Einschränkung schließen Datenübertagungsmedien kabelgebundene Medien wie beispielsweise ein kabelgebundenes Netzwerk oder eine direktverdrahtete Verbindung sowie kabellose Medien ein, wie beispielsweise akustische, HF-, Infrarot- und weitere kabellose Medien. Kombinationen beliebiger der vorstehenden Elemente sind zudem innerhalb des Umfangs von computerlesbaren Medien enthalten.
  • Es ist ersichtlich, dass ein Ansatz zum Bereitstellen einer Kontextüberprüfung von Synonymen bei einer durch die Ontologie veranlassten Verarbeitung natürlicher Sprache bereitgestellt wurde. Obwohl die Erfindung in Verbindung mit einer bevorzugten Ausführungsform davon besonders gezeigt und beschrieben wurde, wird ersichtlich, dass für den Fachmann Variationen und Modifikationen auftreten. Daher versteht es sich, dass die angehängten Ansprüche alle solchen Modifikationen und Änderungen abdecken sollen, die unter den wahren Geist der Erfindung fallen.

Claims (8)

  1. Verfahren zum Bereitstellen einer Kontextüberprüfung von Synonymen in einer durch die Ontologie veranlassten Verarbeitung natürlicher Sprache, wobei das Verfahren die computerrealisierten Schritte aufweist: Empfangen einer Benutzereingabe von Text in natürlicher Sprache, die ein Token enthält, das eine Einheit des Textes in natürlicher Sprache angibt; Strukturieren der Benutzereingabe in ein semantisches Modell, das einen Satz von Klassen aufweist, von denen jede einen Satz zugehöriger Permutationen des Token enthält; Bezeichnen des Token als ein Synonym einer des Satzes zugehöriger Permutationen; Versehen des Token mit einer Anmerkung einer Klasse aus dem Satz von Klassen entsprechend der einen der zugehörigen Permutationen; und Überprüfen der Anmerkung des Token, indem eine Genauigkeit der Bezeichnung des Token als ein Synonym der einen des Satzes zugehöriger Permutationen ermittelt wird.
  2. Verfahren nach Anspruch 1, wobei das Ermitteln der Genauigkeit aufweist: Quantifizieren einer linearen Distanz zwischen dem Token und einem Kontexttoken innerhalb der Benutzereingabe; und Vergleichen der linearen Distanz mit einer zuvor angegebenen linearen Distanzgrenze.
  3. Verfahren nach Anspruch 2, wobei die zuvor angegebene lineare Distanzgrenze benutzerdefiniert ist.
  4. Verfahren nach Anspruch 2, wobei das Überprüfen der Anmerkung des Tokens weiterhin ein Restrukturieren des semantischen Modells derart aufweist, dass es eine Wissensstruktur einschließt, die das Kontexttoken, die lineare Distanz, die zuvor angegebene lineare Distanzgrenze und die Bezeichnung des Token als ein Synonym der einen des Satzes zugehöriger Permutationen enthält.
  5. Verfahren nach Anspruch 2, wobei die lineare Distanz einer Menge von Tokens entspricht.
  6. Verfahren nach Anspruch 1, weiterhin aufweisend den computerrealisierten Schritt eines Analysierens der Benutzereingabe.
  7. System zum Bereitstellen einer Kontextüberprüfung von Synonymen in einer durch die Ontologie veranlassten Verarbeitung natürlicher Sprache (NLP), wobei das System aufweist: ein Arbeitsspeichermedium, das Anweisungen aufweist; einen mit dem Arbeitsspeichermedium verbundenen Bus; und einen über den Bus mit einer NLP-Engine verbundenen Prozessor, der bei Ausführen der Anweisungen das System veranlasst zu: Empfangen einer Benutzereingabe von Text in natürlicher Sprache, die ein Token enthält, das eine Einheit des Textes in natürlicher Sprache angibt; Strukturieren der Benutzereingabe in ein semantisches Modell, das einen Satz von Klassen aufweist, von denen jede einen Satz zugehöriger Permutationen des Token enthält; Bezeichnen des Token als ein Synonym einer des Satzes zugehöriger Permutationen; Versehen des Token mit einer Anmerkung einer Klasse aus dem Satz von Klassen entsprechend der einen des Satzes zugehöriger Permutationen; und Überprüfen der Anmerkung des Token, indem eine Genauigkeit der Bezeichnung des Token als ein Synonym der einen des Satzes zugehöriger Permutationen ermittelt wird.
  8. Computerlesbare Speichereinheit, die Computeranweisungen speichert, die es bei Ausführen einem Computersystem ermöglichen, eine Kontextüberprüfung von Synonymen in einer durch die Ontologie veranlassten Verarbeitung natürlicher Sprache (NLP) bereitzustellen, wobei die Computeranweisungen aufweisen: Empfangen einer Benutzereingabe von Text in natürlicher Sprache, die ein Token enthält, das eine Einheit des Textes in natürlicher Sprache angibt; Strukturieren der Benutzereingabe in ein semantisches Modell, das einen Satz von Klassen aufweist, von denen jede einen Satz zugehöriger Permutationen des Token enthält; Bezeichnen des Token als ein Synonym einer des Satzes zugehöriger Permutationen; Versehen des Token mit einer Anmerkung einer Klasse aus dem Satz von Klassen entsprechend der einen der zugehörigen Permutationen; und Überprüfen der Anmerkung, indem eine Genauigkeit der Bezeichnung des Token als ein Synonym der einen des Satzes zugehörigen Permutationen ermittelt wird.
DE102014116092.4A 2013-11-20 2014-11-05 Kontextüberprüfung von Synonymen bei einer durch die Ontologie veranlassten Verarbeitung natürlicher Sprache Ceased DE102014116092A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/084827 2013-11-20
US14/084,827 US9342502B2 (en) 2013-11-20 2013-11-20 Contextual validation of synonyms in otology driven natural language processing

Publications (1)

Publication Number Publication Date
DE102014116092A1 true DE102014116092A1 (de) 2015-05-21

Family

ID=53174179

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102014116092.4A Ceased DE102014116092A1 (de) 2013-11-20 2014-11-05 Kontextüberprüfung von Synonymen bei einer durch die Ontologie veranlassten Verarbeitung natürlicher Sprache

Country Status (3)

Country Link
US (4) US9342502B2 (de)
CN (1) CN104657345B (de)
DE (1) DE102014116092A1 (de)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9372924B2 (en) 2012-06-12 2016-06-21 International Business Machines Corporation Ontology driven dictionary generation and ambiguity resolution for natural language processing
US9342502B2 (en) 2013-11-20 2016-05-17 International Business Machines Corporation Contextual validation of synonyms in otology driven natural language processing
US9870351B2 (en) * 2015-09-24 2018-01-16 International Business Machines Corporation Annotating embedded tables
US10146758B1 (en) * 2016-09-30 2018-12-04 Amazon Technologies, Inc. Distributed moderation and dynamic display of content annotations
US11250212B2 (en) * 2019-03-29 2022-02-15 Innoplexus Ag System and method for interpreting contextual meaning of data
US11416686B2 (en) * 2020-08-05 2022-08-16 International Business Machines Corporation Natural language processing based on user context

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3025724B2 (ja) 1992-11-24 2000-03-27 富士通株式会社 類義語生成処理方法
US7120574B2 (en) * 2000-04-03 2006-10-10 Invention Machine Corporation Synonym extension of search queries with validation
US7526425B2 (en) 2001-08-14 2009-04-28 Evri Inc. Method and system for extending keyword searching to syntactically and semantically annotated data
US7058652B2 (en) * 2002-08-15 2006-06-06 General Electric Capital Corporation Method and system for event phrase identification
US7689410B2 (en) * 2004-04-23 2010-03-30 Microsoft Corporation Lexical semantic structure
CN101388026A (zh) * 2008-10-09 2009-03-18 浙江大学 一种基于领域本体的语义索引方法
US8306807B2 (en) * 2009-08-17 2012-11-06 N T repid Corporation Structured data translation apparatus, system and method
US8515731B1 (en) * 2009-09-28 2013-08-20 Google Inc. Synonym verification
US8332434B2 (en) 2009-09-30 2012-12-11 Business Objects Software Limited Method and system for finding appropriate semantic web ontology terms from words
US8700652B2 (en) * 2009-12-15 2014-04-15 Ebay, Inc. Systems and methods to generate and utilize a synonym dictionary
US8429179B1 (en) 2009-12-16 2013-04-23 Board Of Regents, The University Of Texas System Method and system for ontology driven data collection and processing
US8719770B2 (en) 2010-09-09 2014-05-06 International Business Machines Corporation Verifying programming artifacts generated from ontology artifacts or models
US20130096947A1 (en) 2011-10-13 2013-04-18 The Board of Trustees of the Leland Stanford Junior, University Method and System for Ontology Based Analytics
US20140188456A1 (en) * 2012-12-27 2014-07-03 Abbyy Development Llc Dictionary Markup System and Method
US9342502B2 (en) 2013-11-20 2016-05-17 International Business Machines Corporation Contextual validation of synonyms in otology driven natural language processing
US9378204B2 (en) 2014-05-22 2016-06-28 International Business Machines Corporation Context based synonym filtering for natural language processing systems
US10095784B2 (en) 2015-05-29 2018-10-09 BloomReach, Inc. Synonym generation
CN105868236A (zh) 2015-12-09 2016-08-17 乐视网信息技术(北京)股份有限公司 一种同义词数据挖掘方法和系统

Also Published As

Publication number Publication date
US20160217131A1 (en) 2016-07-28
CN104657345A (zh) 2015-05-27
US20150142419A1 (en) 2015-05-21
CN104657345B (zh) 2018-06-12
US20190065475A1 (en) 2019-02-28
US10769373B2 (en) 2020-09-08
US20190384818A1 (en) 2019-12-19
US9342502B2 (en) 2016-05-17
US10169335B2 (en) 2019-01-01
US10546068B2 (en) 2020-01-28

Similar Documents

Publication Publication Date Title
DE102014116092A1 (de) Kontextüberprüfung von Synonymen bei einer durch die Ontologie veranlassten Verarbeitung natürlicher Sprache
DE102017125256A1 (de) Suche nach einer neuronalen Architektur
DE112018006345T5 (de) Abrufen von unterstützenden belegen für komplexe antworten
DE202017106363U1 (de) Neuronale Antwort-auf-Frage-Netze
DE112012004935B4 (de) Netzwerkeinheiten-Konfigurationsverwaltung
DE112007000053T5 (de) System und Verfahren zur intelligenten Informationsgewinnung und -verarbeitung
DE112020003820T5 (de) Erkennung von Anomalien und Abweichungen unter Verwendung eines domänenindizierten Einschränkungs-Repository
DE112020000227T5 (de) Maschinelles lernen eines computermodells auf grundlage von korrelationenvon trainingsdaten mit leistungstrends
DE102019001267A1 (de) Dialogartiges System zur Beantwortung von Anfragen
DE102014113870A1 (de) Identifizieren und Anzeigen von Beziehungen zwischen Kandidatenantworten
DE112012001750T5 (de) Automatisierte Selbstbedienungs-Benutzerunterstützung auf der Grundlage der Ontologieanalyse
DE112020000927T5 (de) Verwalten sensibler daten
DE112010000947T5 (de) Verfahren zur völlig modifizierbaren Framework-Datenverteilung im Data-Warehouse unter Berücksichtigung der vorläufigen etymologischen Separation der genannten Daten
DE112018004140T5 (de) Abstraktion und übertragbarkeit auf eine absichtserkennung
DE112020005268T5 (de) Automatisches erzeugen von schema-annotationsdateien zum umwandeln von abfragen in natürlicher sprache in eine strukturierte abfragesprache
DE112021004694T5 (de) Trainieren eines frage-antwort-dialogsystems zum vermeiden von gegnerischen angriffen
DE112020002669T5 (de) Automatische Gültigkeitsprüfung und Anreicherung von semantischen Beziehungen zwischen medizinischen Entitäten für die Arzneimittelforschzng
DE112007000051T5 (de) Dreiteiliges-Modell-basiertes Verfahren zur Informationsgewinnung und -verarbeitung
DE112020001853T5 (de) Abänderung von trainingsdaten zum trainieren eines modells
DE102008005083A1 (de) Abrufen einer Information eines fallbasierten Schliessens aus Archivaufzeichnungen
DE102021004562A1 (de) Abwandlung von Szenengraphen auf Grundlage von Befehlen in natürlicher Sprache
DE112020002859T5 (de) Verschlüsselter wissens-graph
DE112018005620T5 (de) Auftragsverwaltung in einem datenverarbeitungssystem
DE102021123288A1 (de) Regelbasiertes filtern zum sichern von kennwortanmeldungen
DE112020003767T5 (de) Erzeugen eines ausführbaren verfahrens aus einer textbeschreibung, die in einer natürlichen sprache geschrieben ist

Legal Events

Date Code Title Description
R012 Request for examination validly filed
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: G06F0040284000

R016 Response to examination communication
R002 Refusal decision in examination/registration proceedings
R003 Refusal decision now final