DE112020003311T5 - Verarbeitung natürlicher sprache unter verwendung eines ontologiegestützten modells zur begriffseinbettung - Google Patents

Verarbeitung natürlicher sprache unter verwendung eines ontologiegestützten modells zur begriffseinbettung Download PDF

Info

Publication number
DE112020003311T5
DE112020003311T5 DE112020003311.2T DE112020003311T DE112020003311T5 DE 112020003311 T5 DE112020003311 T5 DE 112020003311T5 DE 112020003311 T DE112020003311 T DE 112020003311T DE 112020003311 T5 DE112020003311 T5 DE 112020003311T5
Authority
DE
Germany
Prior art keywords
vectors
computer
term
vector
terms
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE112020003311.2T
Other languages
English (en)
Inventor
Brendan Bull
Paul Lewis Felt
Andrew Hicks
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.)
MERATIVE US L.P. (N.D.GES.D.STAATES DELAWARE),, US
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 DE112020003311T5 publication Critical patent/DE112020003311T5/de
Pending 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
    • 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
    • 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/3347Query execution using vector based model
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • G06F40/211Syntactic parsing, e.g. based on context-free grammar [CFG] or unification grammars
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/237Lexical tools
    • G06F40/247Thesauruses; Synonyms

Landscapes

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

Abstract

Ein Computersystem erstellt ein Vektorraummodell beruhend auf einer Ontologie von Begriffen. Ein oder mehrere Trainingsbeispiele werden für einen oder mehrere Begriffe einer hierarchischen Ontologie extrahiert, wobei das eine oder die mehreren Trainingsbeispiele für den einen oder die mehreren Begriffe auf benachbarten Begriffen in der hierarchischen Ontologie beruhen. Eine Mehrzahl von Vektoren, die jeweils ein oder mehrere Merkmale umfassen, werden initialisiert, wobei jeder Vektor einem Begriff des einen oder der mehreren Begriffe entspricht. Ein Vektorraummodell wird durch iteratives Abändern eines oder mehrerer Vektoren der Mehrzahl von Vektoren erstellt, um eine Verlustfunktion zu optimieren. Eine Verarbeitung natürlicher Sprache wird unter Verwendung des Vektorraummodells durchgeführt. Zu Ausführungsformen der vorliegenden Erfindung gehören darüber hinaus ein Verfahren und ein Programmprodukt zum Erstellen eines Vektorraummodells in im Wesentlichen derselben Weise wie vorstehend beschrieben.

Description

  • Technisches Gebiet
  • Ausführungsformen der vorliegenden Erfindung betreffen eine Verarbeitung natürlicher Sprache und insbesondere Techniken zur Verarbeitung natürlicher Sprache, die ein ontologiegestütztes Modell zur Begriffseinbettung verwenden.
  • HINTERGRUND
  • Im Bereich der Verarbeitung natürlicher Sprache bezieht sich „Worteinbettung“ auf den Prozess des Abbildens von Wörtern oder Wortfolgen auf Vektoren aus reellen Zahlen. Herkömmliche Modelle zur Worteinbettung werden durch ein Analysieren der Verwendung von Wörtern oder Wortfolgen in einem großen Korpus trainiert, um Darstellungen dichter Vektoren von Wörtern zu erstellen, die für nachgelagerte Aufgaben der Verarbeitung natürlicher Sprache nützlich sind. Allerdings kann es sein, dass seltene oder mehrdeutige Wörter in Worteinbettungsmodellen nicht genau dargestellt sind.
  • Folglich gibt es nach dem Stand der Technik den Bedarf, sich dem oben genannten Problem zu widmen.
  • KURZDARSTELLUNG
  • Unter einem ersten Aspekt betrachtet, stellt die vorliegende Erfindung ein auf einem Computer ausgeführtes Verfahren zur Verarbeitung natürlicher Sprache bereit, das Folgendes aufweist: Extrahieren eines oder mehrerer Trainingsbeispiele für einen oder mehrere Begriffe einer hierarchischen Ontologie, wobei das eine oder die mehreren Trainingsbeispiele für den einen oder die mehreren Begriffe auf benachbarten Begriffen in der hierarchischen Ontologie beruhen; Initialisieren einer Mehrzahl von Vektoren, die jeweils ein oder mehrere Merkmale umfassen, wobei jeder Vektor einem Begriff des einen oder der mehreren Begriffe entspricht; Erstellen eines Vektorraummodells durch iteratives Abändern eines oder mehrerer Vektoren der Mehrzahl von Vektoren, um eine Verlustfunktion zu optimieren; und Durchführen einer Verarbeitung natürlicher Sprache unter Verwendung des Vektorraummodells.
  • Unter einem weiteren Aspekt betrachtet, stellt die vorliegende Erfindung ein Computersystem zur Verarbeitung natürlicher Sprache bereit, wobei das Computersystem Folgendes aufweist: einen oder mehrere Computerprozessoren; ein oder mehrere durch einen Computer lesbare Speichermedien; Programmanweisungen, die auf dem einen oder den mehreren durch einen Computer lesbaren Speichermedien zur Ausführung durch mindestens einen der einen oder mehreren Computerprozessoren gespeichert sind, wobei die Programmanweisungen Anweisungen enthalten zum: Extrahieren eines oder mehrerer Trainingsbeispiele für einen oder mehrere Begriffe einer hierarchischen Ontologie, wobei das eine oder die mehreren Trainingsbeispiele für den einen oder die mehreren Begriffe auf benachbarten Begriffen in der hierarchischen Ontologie beruhen; Initialisieren einer Mehrzahl von Vektoren, die jeweils ein oder mehrere Merkmale umfassen, wobei jeder Vektor einem Begriff des einen oder der mehreren Begriffe entspricht; Erstellen eines Vektorraummodells durch iteratives Abändern eines oder mehrerer Vektoren der Mehrzahl von Vektoren, um eine Verlustfunktion zu optimieren; und Durchführen einer Verarbeitung natürlicher Sprache unter Verwendung des Vektorraummodells.
  • Unter einem weiteren Aspekt betrachtet, stellt die vorliegende Erfindung ein Computerprogrammprodukt zur Verarbeitung natürlicher Sprache bereit, wobei das Computerprogrammprodukt ein durch einen Computer lesbares Speichermedium aufweist, das durch einen Verarbeitungsschaltkreis gelesen werden kann und auf dem Befehle zur Ausführung durch den Verarbeitungsschaltkreis gespeichert sind, um ein Verfahren zum Durchführen der Schritte der Erfindung durchzuführen.
  • Unter einem weiteren Aspekt betrachtet, stellt die vorliegende Erfindung ein auf einem durch einen Computer lesbaren Medium gespeichertes Computerprogramm bereit, das in den internen Hauptspeicher eines digitalen Computers ladbar ist und Software-Code-Abschnitte zum Durchführen der Schritte des Verfahrens, wenn das Programm auf einem Computer ausgeführt wird, aufweist.
  • Unter einem weiteren Aspekt betrachtet, stellt die vorliegende Erfindung ein Computerprogrammprodukt zur Verarbeitung natürlicher Sprache bereit, wobei das Computerprogrammprodukt ein durch einen Computer lesbares Speichermedium aufweist, auf dem Programmanweisungen enthalten sind, wobei die Programmanweisungen durch einen Computer ausführbar sind, um den Computer zu veranlassen zum: Extrahieren eines oder mehrerer Trainingsbeispiele für einen oder mehrere Begriffe einer hierarchischen Ontologie, wobei das eine oder die mehreren Trainingsbeispiele für den einen oder die mehreren Begriffe auf benachbarten Begriffen in der hierarchischen Ontologie beruhen; Initialisieren einer Mehrzahl von Vektoren, die jeweils ein oder mehrere Merkmale umfassen, wobei jeder Vektor einem Begriff des einen oder der mehreren Begriffe entspricht; Erstellen eines Vektorraummodells durch iteratives Abändern eines oder mehrerer Vektoren der Mehrzahl von Vektoren, um eine Verlustfunktion zu optimieren; und Durchführen einer Verarbeitung natürlicher Sprache unter Verwendung des Vektorraummodells.
  • Gemäß einer Ausführungsform der vorliegenden Erfindung erstellt ein Computersystem ein Vektorraummodell beruhend auf einer Ontologie von Begriffen. Ein oder mehrere Trainingsbeispiele werden für einen oder mehrere Begriffe einer hierarchischen Ontologie extrahiert, wobei das eine oder die mehreren Trainingsbeispiele für den einen oder die mehreren Begriffe auf benachbarten Begriffen in der hierarchischen Ontologie beruhen. Eine Mehrzahl von Vektoren, die jeweils ein oder mehrere Merkmale umfassen, werden initialisiert, wobei jeder Vektor einem Begriff des einen oder der mehreren Begriffe entspricht. Ein Vektorraummodell wird durch iteratives Abändern eines oder mehrerer Vektoren der Mehrzahl von Vektoren erstellt, um eine Verlustfunktion zu optimieren. Eine Verarbeitung natürlicher Sprache wird unter Verwendung des Vektorraummodells durchgeführt.
  • Verschiedene andere Ausführungsformen der vorliegenden Erfindung werden nun erörtert. In einigen Ausführungsformen handelt es sich bei dem Vektorraummodell um ein kontinuierliches Bag-of-Words-Modell. Durch Verwendung eines kontinuierlichen Bag-of-Words-Modells können Zielbegriffe und/oder -wörter auf der Grundlage von Begriffen und/oder Wörtern aus dem Quellkontext (z.B. der Umgebung) vorhergesagt werden. In einigen Ausführungsformen umfassen das eine oder die mehreren Trainingsbeispiele für den einen oder die mehreren Begriffe ein oder mehrere positive Trainingsbeispiele und ein oder mehrere negative Trainingsbeispiele, und die Verlustfunktion wird durch Abändern eines oder mehrerer Vektoren der Mehrzahl von Vektoren optimiert, um die Verlustfunktion für positive Trainingsbeispiele zu minimieren und die Verlustfunktion für negative Trainingsbeispiele zu maximieren. Durch Optimieren der Verlustfunktion sowohl mit positiven als auch mit negativen Beispielen kann ein Vektorraummodell erstellt werden, in dem Vektoren verwandter Begriffe nahe beieinander liegen und gleichzeitig von nicht verwandten Begriffen weit entfernt sind. In einigen Ausführungsformen ist eine Ausgabe der Verlustfunktion für jeden Begriff proportional zu einer ersten Kosinus-Ähnlichkeit eines Vektors für den Begriff und einem ersten Mittelwertvektor, wobei es sich bei dem ersten Mittelwertvektor um einen Mittelwert von einem oder mehreren Vektoren für übergeordnete Begriffe des Begriffs und einem oder mehreren Vektoren für untergeordnete Begriffe des Begriffs handelt. Der Kontext des Begriffs wird genau erfasst, indem ein Mittelwertvektor erstellt wird, der auf übergeordneten und untergeordneten Begriffen eines Begriffs beruht. In weiteren Ausführungsformen werden eindeutige Textdarstellungen eines Begriffs identifiziert, und die Ausgabe der Verlustfunktion ist darüber hinaus proportional zu einer zweiten Kosinus-Ähnlichkeit zwischen dem Vektor für den Begriff und einem zweiten Mittelwertvektor, bei dem es sich um einen Mittelwert von einem oder mehreren Wortvektoren auf der Grundlage der einen oder mehreren eindeutigen Textdarstellungen handelt. Durch die Verwendung von eindeutigen Textdarstellungen, die zusätzlich zu den Begriffsvektoren Wortvektoren bereitstellen, kann dem Vektorraummodell ein lexikalischer Druck hinzugefügt werden. In einigen Ausführungsformen werden die eindeutigen Textdarstellungen in einem lexikalischen Korpus oder in mehreren lexikalischen Korpora identifiziert. Lexikalische Korpora können verwendet werden, um Muster von Wörtern einzuführen, wie die Wörter in der Sprache natürlich vorkommen. In einigen Ausführungsformen kann das Vektorraummodell dazu verwendet werden, Wörter, die mit einem abgefragten Begriff verwandt sind, oder Begriffe, die mit einem abgefragten Wort verwandt sind, zu identifizieren, und zwar auf der Grundlage der Kosinus-Ähnlichkeiten ihrer Vektoren. Das Vektorraummodell kann zum Identifizieren von Wörtern, die sich auf Begriffe beziehen, und von Begriffen, die sich auf Wörter beziehen, verwendet werden, wodurch Begriffseinbettungen in Kombination mit Worteinbettungen genutzt werden können. Ausführungsformen der vorliegenden Erfindung umfassen darüber hinaus ein Verfahren und ein Programmprodukt zum Erstellen eines Vektorraummodells in im Wesentlichen derselben Weise wie vorstehend beschrieben.
  • Figurenliste
  • Die vorliegende Erfindung wird nun lediglich beispielhaft unter Bezugnahme auf bevorzugte Ausführungsformen beschrieben, wie in den folgenden Figuren veranschaulicht ist:
    • 1 ist ein Blockschaubild, das eine Datenverarbeitungsumgebung zum Erstellen von Begriffseinbettungen gemäß einer Ausführungsform der vorliegenden Erfindung darstellt;
    • 2A ist ein Blockschaubild, das einen Teil einer hierarchischen Ontologie gemäß einer Ausführungsform der vorliegenden Erfindung darstellt;
    • 2B ist ein Blockschaubild, das einen Teil einer Begriffshierarchie gemäß einer Ausführungsform der vorliegenden Erfindung darstellt;
    • 3 ist ein Ablaufplan, der ein Verfahren zum Durchführen der Verarbeitung natürlicher Sprache gemäß einer Ausführungsform der vorliegenden Erfindung darstellt; und
    • 4 ist ein Blockschaltbild, das eine Datenverarbeitungseinheit gemäß einer Ausführungsform der vorliegenden Erfindung darstellt.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Ausführungsformen der vorliegenden Erfindung betreffen eine Verarbeitung natürlicher Sprache und insbesondere Techniken zur Verarbeitung natürlicher Sprache, die ein ontologiegestütztes Modell zur Begriffseinbettung verwenden. Bei einer Ontologie handelt es sich um eine hierarchische Darstellung von Begriffen entsprechend den Kategorien, Eigenschaften und Beziehungen zwischen den Begriffen. Ontologien können bereichsspezifisch sein oder mehrere Fachgebiete umfassen. Zum Beispiel ist das Unified Medical Language System (UMLS) eine hierarchische Ontologie, die medizinische und biomedizinische Wortschätze und Standards in ein semantisches Netzwerk integriert, das Begriffe nach ihren Kategorien (d.h. semantischen Typen) und ihren Beziehungen (d.h. semantischen Beziehungen) gruppiert.
  • Techniken zur Verarbeitung natürlicher Sprache können sich auf ein kontinuierliches Bag-of-Words-Modell stützen, bei dem es sich um ein Vektorraummodell handelt, in dem Wörter oder Wortfolgen als Vektoren dargestellt sind. Jeder Vektor kann die Einbettung eines Wortes (oder einer Wortfolge) darstellen, die den Kontext, in dem das Wort in einem Korpus von Beispieltexten erscheint, die semantische und syntaktische Ähnlichkeit zwischen dem Wort und anderen Wörtern sowie die Beziehung des Wortes zu anderen Wörtern in dem Korpus umfasst.
  • Im Gegensatz zu korpusgestützten Worteinbettungen erstellen Ausführungsformen der vorliegenden Erfindung ein kontinuierliches Bag-of-Words-Modell von Begriffseinbettungen beruhend auf einer hierarchischen Ontologie von Begriffen. Dieses auf einer Ontologie beruhende Modell ist in der Lage, mehrere Unzulänglichkeiten von korpusgestützten Modellen anzugehen. Insbesondere stellen korpusgestützte Modelle seltene Wörter möglicherweise nicht genau dar, da es sich bei der Qualität einer Worteinbettung um eine Funktion des Auftretens des Wortes in einem Korpus handelt. Ontologien können jedoch auch Darstellungen von Wörtern umfassen, die in der Literatur nur selten vorkommen; zum Beispiel kann ein seltenes Gen in medizinischen Veröffentlichungen nur wenig oder gar nicht vertreten sein, aber das Gen kann in einer Ontologie mit Bezug auf übergeordnete oder untergeordnete Begriffe dargestellt sein.
  • Des Weiteren stellen Ausführungsformen der vorliegenden Erfindung mehrdeutige Wörter oder Wortfolgen genauer dar. Mehrdeutige Wörter können in einem Korpus mehrere unterschiedliche Bedeutungen haben, was zu Ungenauigkeiten in den Modellen zur Worteinbettung führt. Allerdings kann ein ontologiegestütztes Modell derartige Mehrdeutigkeiten vermeiden, da Begriffe mit Bezug auf ihre übergeordneten und untergeordneten Begriffe eingebettet sind.
  • Daher verwenden Ausführungsformen der vorliegenden Erfindung eine Ontologie von Begriffen, um ein Modell von Begriffseinbettungen zu erzeugen. Ein lexikalischer Druck kann dem Modell hinzugefügt werden, indem ein Korpus verwendet wird, der gut eingebettete und eindeutige Wörter für Begriffe umfasst, wenn dies möglich ist, wodurch ein Einbetten von Begriffen in einen Raum gefördert wird, der mit einem bestehenden Worteinbettungsraum übereinstimmt. Durch die Kombination von ontologischen Informationen mit Informationen zur Worteinbettung können neue Begriffseinbettungen entwickelt werden, um ein Modell zu erstellen, das nachgelagerte Aufgaben der Verarbeitung natürlicher Sprache in einer Weise unterstützt, welche die Geschwindigkeit, die Genauigkeit und die Wiedererkennung erhöht.
  • Gemäß einer Ausführungsform der vorliegenden Erfindung erstellt ein Computersystem ein Vektorraummodell beruhend auf einer Ontologie von Begriffen. Ein oder mehrere Trainingsbeispiele werden für einen oder mehrere Begriffe einer hierarchischen Ontologie extrahiert, wobei das eine oder die mehreren Trainingsbeispiele für den einen oder die mehreren Begriffe auf benachbarten Begriffen in der hierarchischen Ontologie beruhen. Eine Mehrzahl von Vektoren, die jeweils ein oder mehrere Merkmale umfassen, werden initialisiert, wobei jeder Vektor einem Begriff des einen oder der mehreren Begriffe entspricht. Ein Vektorraummodell wird durch iteratives Abändern eines oder mehrerer Vektoren der Mehrzahl von Vektoren erstellt, um eine Verlustfunktion zu optimieren. Eine Verarbeitung natürlicher Sprache wird unter Verwendung des Vektorraummodells durchgeführt.
  • Verschiedene andere Ausführungsformen der vorliegenden Erfindung werden nun erörtert. In einigen Ausführungsformen handelt es sich bei dem Vektorraummodell um ein kontinuierliches Bag-of-Words-Modell. Durch Verwendung eines kontinuierlichen Bag-of-Words-Modells können Zielbegriffe und/oder -wörter auf der Grundlage von Begriffen und/oder Wörtern aus dem Quellkontext (z.B. der Umgebung) vorhergesagt werden. In einigen Ausführungsformen umfassen das eine oder die mehreren Trainingsbeispiele für den einen oder die mehreren Begriffe ein oder mehrere positive Trainingsbeispiele und ein oder mehrere negative Trainingsbeispiele, und die Verlustfunktion wird durch Abändern eines oder mehrerer Vektoren der Mehrzahl von Vektoren optimiert, um die Verlustfunktion für positive Trainingsbeispiele zu minimieren und die Verlustfunktion für negative Trainingsbeispiele zu maximieren. Durch Optimieren der Verlustfunktion sowohl mit positiven als auch mit negativen Beispielen kann ein Vektorraummodell erstellt werden, in dem Vektoren verwandter Begriffe nahe beieinander liegen und gleichzeitig von nicht verwandten Begriffen weit entfernt sind. In einigen Ausführungsformen ist eine Ausgabe der Verlustfunktion für jeden Begriff proportional zu einer ersten Kosinus-Ähnlichkeit eines Vektors für den Begriff und einem ersten Mittelwertvektor, wobei es sich bei dem ersten Mittelwertvektor um einen Mittelwert von einem oder mehreren Vektoren für übergeordnete Begriffe des Begriffs und einem oder mehreren Vektoren für untergeordnete Begriffe des Begriffs handelt. Der Kontext des Begriffs wird genau erfasst, indem ein Mittelwertvektor erstellt wird, der auf übergeordneten und untergeordneten Begriffen eines Begriffs beruht. In weiteren Ausführungsformen werden eindeutige Textdarstellungen eines Begriffs identifiziert, und die Ausgabe der Verlustfunktion ist darüber hinaus proportional zu einer zweiten Kosinus-Ähnlichkeit zwischen dem Vektor für den Begriff und einem zweiten Mittelwertvektor, bei dem es sich um einen Mittelwert von einem oder mehreren Wortvektoren auf der Grundlage der einen oder mehreren eindeutigen Textdarstellungen handelt. Durch die Verwendung von eindeutigen Textdarstellungen, die zusätzlich zu den Begriffsvektoren Wortvektoren bereitstellen, kann dem Vektorraummodell ein lexikalischer Druck hinzugefügt werden. In einigen Ausführungsformen werden die eindeutigen Textdarstellungen in einem lexikalischen Korpus oder in mehreren lexikalischen Korpora identifiziert. Lexikalische Korpora können verwendet werden, um Muster von Wörtern einzuführen, wie die Wörter in der Sprache natürlich vorkommen. In einigen Ausführungsformen kann das Vektorraummodell dazu verwendet werden, Wörter, die mit einem abgefragten Begriff verwandt sind, oder Begriffe, die mit einem abgefragten Wort verwandt sind, zu identifizieren, und zwar auf der Grundlage der Kosinus-Ähnlichkeiten ihrer Vektoren. Das Vektorraummodell kann zum Identifizieren von Wörtern, die sich auf Begriffe beziehen, und von Begriffen, die sich auf Wörter beziehen, verwendet werden, wodurch Begriffseinbettungen in Kombination mit Worteinbettungen genutzt werden können. Ausführungsformen der vorliegenden Erfindung umfassen darüber hinaus ein Verfahren und ein Programmprodukt zum Erstellen eines Vektorraummodells in im Wesentlichen derselben Weise wie vorstehend beschrieben.
  • Es ist zu beachten, dass Bezugnahmen auf Merkmale, Vorteile oder ähnliche Formulierungen in dieser Beschreibung nicht bedeuten, dass alle Merkmale und Vorteile, die mit den hierin offenbarten Ausführungsformen realisiert werden können, in einer einzelnen Ausführungsform der Erfindung auftauchen (sollten). Stattdessen ist auf die Merkmale und Vorteile verweisende Sprache so zu verstehen, dass sie bedeutet, dass ein konkretes Merkmal, ein konkreter Vorteil oder eine konkrete Eigenschaft, die in Verbindung mit einer Ausführungsform beschrieben werden, in mindestens einer Ausführungsform der vorliegenden Erfindung enthalten sind. Somit können eine Erörterung der Merkmale und Vorteile und ähnliche Formulierungen in dieser Beschreibung auf dieselbe Ausführungsform verweisen, muss dies aber nicht unbedingt tun.
  • Des Weiteren können die beschriebenen Merkmale, Vorteile und Eigenschaften der Erfindung in jeder beliebigen geeigneten Weise in einer oder mehreren Ausführungsformen kombiniert werden. Der Fachmann wird erkennen, dass die Erfindung auch ohne eines oder mehrere der konkreten Merkmale oder Vorteile einer bestimmten Ausführungsform ausgeführt werden kann. In anderen Fällen können zusätzliche Merkmale und Vorteile in bestimmten Ausführungsformen erkannt werden, die möglicherweise nicht in allen Ausführungsformen der Erfindung vorkommen.
  • Diese Merkmale und Vorteile werden aus den folgenden Zeichnungen, der Beschreibung und den beigefügten Ansprüchen in vollem Umfang ersichtlich, oder können durch das Umsetzen von Ausführungsformen der Erfindung wie nachfolgend dargelegt in Erfahrung gebracht werden.
  • Ausführungsformen der vorliegenden Erfindung werden nun unter Bezugnahme auf die Figuren ausführlich beschrieben. 1 ist ein Blockschaubild, das eine Datenverarbeitungsumgebung 100 zum Erstellen von Begriffseinbettungen gemäß einer Ausführungsform der vorliegenden Erfindung darstellt. Wie dargestellt, umfasst die Datenverarbeitungsumgebung 100 eine Benutzereinheit 105, einen Datenserver 125, einen Modellentwicklungsserver 135 und ein Netzwerk 165. Es versteht sich von selbst, dass die funktionelle Aufteilung der Komponenten der Datenverarbeitungsumgebung 100 zum Zwecke der Erläuterung von Ausführungsformen der vorliegenden Erfindung gewählt wurde und nicht als ein begrenzendes Beispiel zu verstehen ist.
  • Die Benutzereinheit 105 umfasst eine Netzwerkschnittstelle (I/F) 106, mindestens einen Prozessor 107, eine Anzeige 110 und einen Speicher 115. Der Speicher 115 kann eine Anwendung 120 umfassen. Die Benutzereinheit 105 kann einen Laptop-Computer, einen Tablet-Computer, einen Netbook-Computer, einen Personal Computer (PC), einen Desktop-Computer, einen elektronischen Assistenten (PDA, Personal Digital Assistant), ein Smartphone, einen Thin-Client oder eine beliebige programmierbare elektronische Einheit umfassen, die in der Lage ist, durch einen Computer lesbare Programmanweisungen auszuführen. Die Netzwerkschnittstelle 106 ermöglicht es Komponenten der Benutzereinheit 105, Daten über ein Netzwerk wie zum Beispiel das Netzwerk 165 zu senden und zu empfangen. Die Benutzereinheit 105 kann interne und externe Hardwarekomponenten umfassen, wie sie in Bezug auf 4 dargestellt und näher beschrieben sind.
  • Die Anzeige 110 kann jede elektronische Einheit umfassen, die in der Lage ist, Informationen in visueller Form darzustellen. Zum Beispiel kann es sich bei der Anzeige 110 um eine Flüssigkristallanzeige (LCD), eine Kathodenstrahlröhrenanzeige (CRT), eine Leuchtdiodenanzeige (LED), eine Anzeige mit elektronischer Tinte und dergleichen handeln. Informationen, die ein Erstellen von Begriffseinbettungen zum Unterstützen von Aufgaben der Verarbeitung natürlicher Sprache betreffen, können einem Benutzer der Benutzereinheit 105 über die Anzeige 110 angezeigt werden.
  • Die Anwendung 120 kann ein(e) oder mehrere Module oder Einheiten zum Durchführen von verschiedenen Funktionen der nachfolgend beschriebenen Ausführungsformen der vorliegenden Erfindung umfassen. Die Anwendung 120 kann durch eine beliebige Kombination aus einer beliebigen Anzahl von Software- und/oder Hardware-Modulen oder -Einheiten umgesetzt sein und kann sich in dem Speicher 115 der Benutzereinheit 105 befinden, um von einem Prozessor wie zum Beispiel dem Prozessor 107 ausgeführt zu werden.
  • Die Anwendung 120 kann es einem Benutzer der Benutzereinheit 105 ermöglichen, die Erstellung von Begriffseinbettungen und die Entwicklung eines Vektorraummodells zu verwalten, um Aufgaben der Verarbeitung natürlicher Sprache zu unterstützen. Zum Beispiel kann ein Benutzer der Benutzereinheit 105 über die Anwendung 120 Anweisungen für den Modellentwicklungsserver 135 und dessen Module bereitstellen, um Begriffseinbettungen für ein oder mehrere Vektorraummodelle zu erstellen. Ein Benutzer der Benutzereinheit 105 kann ein Korpus oder mehrere Korpora und/oder hierarchische Ontologien auswählen, die von dem Modellentwicklungsserver 135 verarbeitet werden sollen. Zusätzlich kann ein Benutzer mit der Anwendung 120 interagieren, um dem Modellentwicklungsserver 135 Anweisungen zum Durchführen einer oder mehrerer Aufgaben zur Verarbeitung natürlicher Sprache unter Verwendung von erstellten Vektorraummodellen bereitzustellen. Die Aufgaben zur Verarbeitung natürlicher Sprache können jede beliebige herkömmliche oder andere Aufgabe umfassen, wie zum Beispiel syntaktisches Parsen oder Stimmungsanalyse.
  • Der Datenserver 125 umfasst eine Netzwerkschnittstelle 126, mindestens einen Prozessor 127 und mindestens eine Datenbank 130. In verschiedenen Ausführungsformen der vorliegenden Erfindung kann der Datenserver 125 einen Laptop-Computer, einen Tablet-Computer, einen Netbook-Computer, einen Personal Computer (PC), einen Desktop-Computer, einen elektronischen Assistenten (PDA), ein Smartphone oder eine beliebige programmierbare elektronische Einheit umfassen, die in der Lage ist, durch einen Computer lesbare Programmanweisungen auszuführen. Die Netzwerkschnittstelle 126 ermöglicht es Komponenten des Datenservers 125, Daten über ein Netzwerk wie zum Beispiel das Netzwerk 165 zu senden und zu empfangen. Im Allgemeinen kann der Datenserver 125 Daten speichern, die ein Korpus oder mehrere Korpora und/oder eine oder mehrere hierarchische Ontologien betreffen.
  • Die Datenbank 130 kann alle im Stand der Technik bekannten nichtflüchtigen Speichermedien umfassen. Zum Beispiel kann die Datenbank 130 mit einer Bandbibliothek, einer optischen Bibliothek, einem oder mehreren unabhängigen Festplattenlaufwerken oder mehreren Festplattenlaufwerken in einem redundanten Array of Independent Disks (RAID) umgesetzt sein. In ähnlicher Weise können Daten in der Datenbank 130 jeder beliebigen geeigneten, im Stand der Technik bekannten Speicherarchitektur entsprechen, wie zum Beispiel einer Datei, einer relationalen Datenbank, einer objektorientierten Datenbank und/oder einer oder mehreren Tabellen. In einigen Ausführungsformen speichert die Datenbank 130 Daten, die ein Korpus oder mehrere Korpora betreffen, die für die Entwicklung von Vektorraummodellen geeignet sind. Die Korpora können jedes beliebige Textvolumen umfassen, das einem oder mehreren Untersuchungsbereichen entspricht; in einigen Ausführungsformen kann die Datenbank 130 ein Korpus mit Texten aus dem Bereich Gesundheit und Biomedizin speichern. Zusätzlich oder alternativ dazu kann die Datenbank 130 eine oder mehrere hierarchische Ontologien speichern, die Begriffe und Beziehungen zwischen Begriffen umfassen. Eine hierarchische Ontologie kann jede bekannte oder andere Ontologie umfassen, wie zum Beispiel die UMLS®, die Gene Ontology (GO) oder die Systematized Nomenclature of Medicine - Clinical Terms (SNOMED-CT).
  • Der Modellentwicklungsserver 135 umfasst eine Netzwerkschnittstelle 136, mindestens einen Prozessor 137, einen Speicher (memory) 140 und einen Speicher (storage) 160. Der Speicher 140 umfasst ein Abrufmodul 145, ein Trainingsmodul 150 und ein Modul 155 zur Verarbeitung natürlicher Sprache. In verschiedenen Ausführungsformen der vorliegenden Erfindung kann der Modellentwicklungsserver 135 einen Laptop-Computer, einen Tablet-Computer, einen Netbook-Computer, einen Personal Computer (PC), einen Desktop-Computer, einen elektronischen Assistenten (PDA), ein Smartphone oder eine beliebige programmierbare elektronische Einheit umfassen, die in der Lage ist, durch einen Computer lesbare Programmanweisungen auszuführen. Die Netzwerkschnittstelle 136 ermöglicht es Komponenten des Modellentwicklungsservers 135, Daten über ein Netzwerk wie zum Beispiel das Netzwerk 165 zu senden und zu empfangen. Im Allgemeinen können der Modellentwicklungsserver 135 und dessen Module Begriffs- und Worteinbettungen erzeugen, um Vektorraummodelle zu erstellen, die der Modellentwicklungsserver 135 einsetzen kann, um Aufgaben zur Verarbeitung natürlicher Sprache durchzuführen. Der Modellentwicklungsserver 135 kann interne und externe Hardwarekomponenten umfassen, wie sie in Bezug auf 4 dargestellt und näher beschrieben sind.
  • Das Abrufmodul 145, das Trainingsmodul 150 und das Modul 155 zur Verarbeitung natürlicher Sprache können ein oder mehrere Module oder Einheiten zum Durchführen von verschiedenen Funktionen der nachstehend dargestellten Ausführungsformen der vorliegenden Erfindung umfassen. Das Abrufmodul 145, das Trainingsmodul 150 und das Modul 155 zur Verarbeitung natürlicher Sprache können durch eine beliebige Kombination aus einer beliebigen Anzahl von Software- und/oder Hardware-Modulen oder -Einheiten umgesetzt sein und sich in dem Speicher 140 des Modellentwicklungsservers 135 befinden, um von einem Prozessor wie zum Beispiel dem Prozessor 137 ausgeführt zu werden.
  • Das Abrufmodul 145 kann Daten erhalten, um die Entwicklung von Vektorraummodellen gemäß dargestellten Ausführungsformen zu unterstützen, darunter ein Korpus oder mehrere Korpora und/oder ein oder mehrere Ontologien. In einigen Ausführungsformen empfängt das Abrufmodul 145 Daten, die einen Korpus oder eine Ontologie betreffen, aus der Datenbank 130 des Datenservers 125, die dann in dem Speicher 160 gespeichert werden können. Das Abrufmodul 145 kann Anweisungen von der Anwendung 120 der Benutzereinheit 105 empfangen, um Daten zu erhalten, darunter ein oder mehrere über das Netzwerk erreichbare Orte, von denen die Daten erhalten werden sollen. Das Abrufmodul 145 kann verschiedene herkömmliche oder andere Vorverarbeitungsaufgaben an den erhaltenen Daten durchführen, darunter eine Zerlegung in Tokens und eine Segmentierung, eine Normalisierung, eine Rückführung auf die Normalform, eine Reduktion auf die Grundform, ein Entfernen von Rauschen und dergleichen.
  • Das Trainingsmodul 150 kann eine Ontologie von Begriffen allein oder in Kombination mit aus lexikalischen Korpora erhaltenen Daten verarbeiten, um Begriffseinbettungen für ein Vektorraummodell zu erstellen. Insbesondere extrahiert das Trainingsmodul 150 Trainingsbeispiele für einen Begriff aus benachbarten Kontextfenstern. Jedes Kontextfenster kann weitere Begriffe umfassen, die mit dem ausgewählten Begriff gemäß der Hierarchie der Ontologie verknüpft sind. Zum Beispiel können die Trainingsfenster für einen Begriff einen oder mehrere übergeordnete Begriffe, einen oder mehrere untergeordnete Begriffe, einen oder mehrere in zweiter Ebene untergeordnete Begriffe usw. umfassen. Das Trainingsmodul 150 kann für jeden Begriff in einer Ontologie einen Vektor erstellen und unter Verwendung der Vektoren Begriffseinbettungen trainieren.
  • Das Trainingsmodul 150 kann ein Trainieren an dem Satz von Vektoren durch iteratives Anpassen von Vektoren durchführen, um eine Verlustfunktion zu optimieren. Die Verlustfunktion kann eine Kosinus-Ähnlichkeit zwischen zwei Vektoren berechnen: einem Vektor, der einen bestimmten Begriff darstellt, und einem anderen Vektor, der ein Kontextfenster für den Begriff darstellt. Bei dem Vektor selbst, der ein Kontextfenster für einen Begriff darstellt, kann es sich um einen Mittelwert von Vektoren handeln, die den Begriffen in dem ausgewählten Begriffsfenster zugehörig sind. Zum Beispiel können Vektoren, die übergeordneten und/oder untergeordneten Begriffen (oder in zweiter Ebene übergeordneten Begriffen, in zweiter Ebene untergeordneten Begriffen usw.) eines Fokusbegriffs entsprechen, gemittelt werden, um einen einzelnen Vektor zu erzeugen, der mit einem Vektor für den Fokusbegriff verglichen wird, indem die Kosinus-Ähnlichkeit zwischen den beiden berechnet wird. In einer Ausführungsform kann die Verlustfunktion mathematisch entsprechend der folgenden Beziehung dargestellt werden:
    • Loss(concept_focus) ∝ cos(concept_focus, mean(concepts_parents&children))
    wobei der Ausgabewert der Verlustfunktion (z.B. „Loss“) für einen ausgewählten Begriff (z.B. „concept_focus“) direkt proportional zu der Kosinus-Ähnlichkeit zwischen einem Vektor für den Fokusbegriff (z.B. „concept_focus“) und einem Vektor ist, bei dem es sich um einen Mittelwert von Vektoren für übergeordnete und/oder untergeordnete Begriffe des Fokusbegriffs handelt (z.B. „mean(concepts_parents&children)“). Bei dem Mittelwertvektor kann es sich um einen Mittelwert von Vektoren handeln, die beliebigen Begriffen in einem benachbarten Kontextfenster des Fokusbegriffs entsprechen, und er kann eine beliebige Kombination von übergeordneten Vektoren, untergeordneten Vektoren, in zweiter Ebene übergeordneten Vektoren, in zweiter Ebene untergeordneten Vektoren und dergleichen umfassen. Die Proportionalität der Verlustfunktion zum Kosinus-Ähnlichkeitswert kann ein Vielfaches des Kosinus-Ähnlichkeitswertes umfassen, zum Beispiel das 1,5-fache des Kosinus-Ähnlichkeitswertes, das Dreifache des Kosinus-Ähnlichkeitswertes, das 0,8-fache des Kosinus-Ähnlichkeitswertes und dergleichen.
  • Das Trainingsmodul 150 kann Werte für ein oder mehrere Merkmale jedes Vektors zufällig initialisieren. Ein Vektor kann eine Mehrzahl von Dimensionen umfassen, von denen jede ein Merkmal darstellt. In einigen Ausführungsformen handelt es sich bei den Vektoren um One-Hot-Vektoren, bei denen jede Dimension eine bestimmte Bedeutung hat; in anderen Ausführungsformen handelt es sich bei den Vektoren um dichte Vektoren, bei denen der Wert für jede Dimension (und damit für jedes Merkmal) aus Daten abgeleitet wird, um Wort- und/oder Begriffseinbettungen in einem Korpus und/oder einer Ontologie zu erfassen. Die Verlustfunktion kann durch iteratives Anpassen der Werte für jeden Vektor optimiert werden, um den Ausgabewert der Verlustfunktion zu minimieren, wenn ein Vektor mit positiven Trainingsbeispielen verglichen wird, und um den Ausgabewert für die Verlustfunktion zu maximieren, wenn ein Vektor mit negativen Trainingsbeispielen verglichen wird. Positive Trainingsbeispiele können Begriffe darstellen, die sich auf einen Fokusbegriff beziehen, und negative Trainingsbeispiele können Begriffe darstellen, die keinen Bezug zu einem Fokusbegriff haben. In einigen Ausführungsformen erstellt das Trainingsmodul 150 positive Trainingsbeispiele durch Auswählen von Vektoren, die übergeordnete und/oder untergeordnete Begriffe eines Fokusbegriffs darstellen, und durch Berechnen eines Mittelwerts der ausgewählten Vektoren. Das Trainingsmodul 150 kann durch Auswählen von Vektoren von Begriffen, die (z.B. gemäß der hierarchischen Ontologie) nicht mit dem Fokusbegriff in Beziehung stehen, negative Trainingsbeispiele erstellen und auf ähnliche Weise einen Mittelwert der ausgewählten Vektoren berechnen.
  • Ein positives Trainingsbeispiel kann auf einem Teil einer Ontologie beruhen. Wenn zum Beispiel eine Ontologie einen Begriff „Phospholipide“ umfasst, d einen übergeordneten Begriff „Lipide“ und einen untergeordneten Begriff „Phosphatidylcholin“ aufweist, kann das Trainingsmodul 150 durch Berechnen des Mittelwerts von drei Vektoren ein positives Trainingsbeispiel erstellen: einem Vektor, der den Begriff „Phospholipide“ darstellt, einem Vektor, der den Begriff „Lipide“ darstellt, und einem Vektor, der den Begriff „Phosphatidylcholin“ darstellt. Ein negatives Trainingsbeispiel kann durch Auswählen von Begriffen in einem Fenster und Ersetzen eines oder mehrerer der Begriffe durch einen nicht verwandten Begriff erzeugt werden. Der nicht verwandte Begriff kann durch zufälliges Auswählen eines Begriffs ausgewählt werden, der nicht bereits in dem Kontextfenster enthalten ist. Zum Beispiel kann „Fangzähne“ durch „Phospholipide“ ersetzt werden, um ein negatives Beispiel für Lipide/Fangzähne/Phosphatidylcholin zu bilden. Da der Begriff der Fangzähne logisch nicht in eine ontologische Position zwischen Phospholipiden und Phosphatidylcholin passt, wird dieses Beispiel als schlechte Darstellung der Verwandtschaft dieser Begriffe angesehen und ist daher als negatives Trainingsbeispiel nützlich.
  • Das Trainingsmodul 150 kann die Werte des Satzes von Vektoren, die Begriffe in einer Ontologie darstellen, iterativ anpassen, bis ein gewünschter Grad an Konvergenz erreicht ist. In einigen Ausführungsformen wendet das Trainingsmodul 150 einen lexikalischen Druck an, indem es Informationen zur Begriffseinbettung mit Informationen zur Worteinbettung kombiniert, wenn eine Oberflächenform eines Begriffs eindeutige, gut eingebettete Textdarstellungen aufweist (z.B. in einem Korpus). Oberflächenformen für einen Begriff können in einer Ontologie identifiziert werden und können alle Bezeichnungen für den Begriff umfassen, darunter Synonyme und Bezeichnungen aus verschiedenen Wortschätzen. Das Trainingsmodul 150 kann eindeutige, gut eingebettete Textdarstellungen identifizieren, indem es feststellt, dass eine Oberflächenform bestimmte Kriterien erfüllt. Ein Kriterium kann eine Bezeichnung umfassen, die in einem Dokument oder einem Korpus von Dokumenten eine Schwellenanzahl von Malen vorkommt, wie zum Beispiel dreißig Mal. Oberflächenformen können von der Betrachtung ausgeschlossen werden, wenn sie in mehreren inkompatiblen Begriffen vorkommen, zum Beispiel bei Begriffen, die unterschiedliche semantische Typen aufweisen. Wenn zum Beispiel eine Oberflächenform mit einem Begriff verknüpft ist, der zu dem semantischen Typ „Eukaryoten“ gehört, und auch mit einem anderen Begriff verknüpft ist, der zu dem semantischen Typ „Bildungsaktivität“ gehört, würde diese Oberflächenform als möglicherweise mehrdeutig ausgeschlossen werden. Zusätzlich oder alternativ dazu kann das Trainingsmodul 150 Oberflächenformen ausschließen, bei denen es sich um kurze Akronyme handelt (z.B. unter einer Schwellenanzahl von Zeichen).
  • Wenn das Trainingsmodul 150 eine eindeutige, gut eingebettete Textdarstellung einer Oberflächenform für einen Begriff identifiziert hat, kann das Trainingsmodul 150 eine Verlustfunktion einsetzen, um während des Trainierens einen lexikalischen Druck auf den Vektor des Begriffs auszuüben. In einer Ausführungsform kann die Verlustfunktion mathematisch entsprechend der folgenden Beziehung dargestellt werden:
    • Loss(concept_focus) ∝ cos(concept_focus, mean(concepts_parents&children)) + cos(concept_focus, mean(words_concept)),
    wobei die Verlustfunktion direkt proportional sowohl zur Kosinus-Ähnlichkeit des Vektors eines Begriffs und von Vektoren benachbarter Begriffe als auch zur Kosinus-Ähnlichkeit des Vektors des Begriffs und eines Mittelwerts von Wortvektoren ist, die anderen Wörtern entsprechen (z.B. „mean(words_concept)“), die in einem gleichen Kontext wie das Fokuswort in einem Korpus erscheinen Die Proportionalität der Verlustfunktion zum Kosinus-Ähnlichkeitswert kann ein Vielfaches des Kosinus-Ähnlichkeitswertes umfassen, zum Beispiel das 1,5-fache des Kosinus-Ähnlichkeitswertes, das Dreifache des Kosinus-Ähnlichkeitswertes, das 0,8-fache des Kosinus-Ähnlichkeitswertes und dergleichen. So kann das Optimieren der Verlustfunktion dazu führen, dass Begriffe in einen Raum eingebettet werden, der mit einem bestehenden Wort-Einbettungsraum übereinstimmt. Das Trainingsmodul 150 kann ein Vektorraummodell ausgeben, das Begriffsvektoren und Wortvektoren kombiniert und so die Möglichkeit bereitstellt, Wörter rund um einen Begriff sowie Begriffe rund um ein Wort nachzuschlagen. Insbesondere kann das Vektorraummodell verwendet werden, um Wörter zu identifizieren, die einen Begriff betreffen, indem alle Wortvektoren identifiziert werden, die dem Begriffsvektor hinsichtlich der Kosinus-Ähnlichkeit am nächsten sind. In ähnlicher Weise kann das Vektorraummodell verwendet werden, um Begriffe zu identifizieren, die sich auf ein Wort beziehen, indem unter Verwendung einer Kosinus-Ähnlichkeitsmetrik Begriffsvektoren identifiziert werden, die dem Wortvektor am nächsten sind. Zum Beispiel kann das Vektorraummodell mit einer Abfrage eines bestimmten Begriffs bereitgestellt werden, um Ergebnisse zu liefern, die auf der Grundlage der Kosinus-Ähnlichkeiten ihrer entsprechenden Vektoren die fünf am nächsten liegenden Wörter identifizieren.
  • Das Modul 155 zur Verarbeitung natürlicher Sprache kann bekannte oder andere Aufgaben zur Verarbeitung natürlicher Sprache unter Verwendung von Vektorraummodellen durchführen, die von dem Trainingsmodul 150 erstellt werden. Zum Beispiel kann das Modul 155 zur Verarbeitung natürlicher Sprache ein Vektorraummodell einsetzen, um Aufgaben wie zum Beispiel Themenerkennung, Stimmungsanalyse, Fragenbeantwortung, maschinelle Übersetzung, Wortsinn-Disambiguierung und dergleichen durchzuführen. Ein Benutzer der Benutzereinheit 105 kann dem Modul 155 zur Verarbeitung natürlicher Sprache über die Anwendung 120 Anweisungen bereitstellen, um eine bestimmte Aufgabe zur Verarbeitung natürlicher Sprache durchzuführen und/oder ein bestimmtes Vektorraummodell auszuwählen, das bei einer Aufgabe zur Verarbeitung natürlicher Sprache verwendet werden soll.
  • Der Speicher 160 kann alle im Stand der Technik bekannten nichtflüchtigen Speichermedien umfassen. Zum Beispiel kann der Speicher 160 mit einer Bandbibliothek, einer optischen Bibliothek, einem oder mehreren unabhängigen Festplattenlaufwerken oder mehreren Festplattenlaufwerken in einem redundanten Array of Independent Disks (RAID) umgesetzt sein. In ähnlicher Weise können Daten in dem Speicher 160 jeder beliebigen geeigneten, im Stand der Technik bekannten Speicherarchitektur entsprechen, wie zum Beispiel einer Datei, einer relationalen Datenbank, einer objektorientierten Datenbank und/oder einer oder mehreren Tabellen. Der Speicher 160 kann Daten speichern, die ein Entwickeln von Vektorraummodellen und/oder ein Durchführen der Verarbeitung natürlicher Sprache betreffen, darunter ein lexikalisches Korpus oder mehrere lexikalische Korpora, ein oder mehrere Ontologien von Begriffen, Vektordarstellungen von Begriffseinbettungen und/oder Worteinbettungen und dergleichen.
  • Bei dem Netzwerk 165 kann es sich um ein lokales Netzwerk (LAN), ein Weitverkehrsnetz (WAN) wie zum Beispiel das Internet oder eine Kombination aus beiden handeln, und dazu gehören drahtgebundene, drahtlose oder Lichtwellenleiter-Verbindungen. Im Allgemeinen kann es sich bei dem Netzwerk 165 um eine beliebige Kombination von Verbindungen und Protokollen handeln, die im Stand der Technik bekannt sind und Datenübertragungen zwischen der Benutzereinheit 105, dem Datenserver 125 und/oder dem Modellentwicklungsserver 135 über ihre jeweiligen Netzwerkschnittstellen gemäß Ausführungsformen der vorliegenden Erfindung unterstützen.
  • 2A ist ein Blockschaubild, das einen Teil einer hierarchischen Ontologie 200 gemäß einer Ausführungsform der vorliegenden Erfindung darstellt. Wie dargestellt, umfasst der Teil einer hierarchischen Ontologie 200 Begriffe, die miteinander verknüpft sind. Jede Verknüpfung kann eine Beziehung zwischen zwei Begriffen anzeigen, und jeder Begriff kann auf einer bestimmten hierarchischen Ebene platziert werden, um übergeordnete und untergeordnete Begriffe für einen ausgewählten Begriff zu erstellen. Zum Beispiel hat der Begriff „Phospholipide“ zwei untergeordnete Begriffe, „Phosphatidylcholin“ und „Phosphatidylserin“, und zwei übergeordnete Begriffe, „Membrankomponenten“ und „Lipide“. Eine hierarchische Ontologie kann eine beliebige Anzahl von Begriffen enthalten, die eine beliebige Anzahl von Hierarchieebenen bilden.
  • 2B ist ein Blockschaubild, das einen Teil einer Begriffshierarchie 250 gemäß einer Ausführungsform der vorliegenden Erfindung darstellt. Wie dargestellt, umfasst der Teil einer Begriffshierarchie einen Begriff, dem Begriff zugehörige Bezeichnungen und den Bezeichnungen zugehörige Zeichenfolgen.
  • Jedem Begriff in einer Ontologie kann eine eindeutige Kennung zugewiesen werden, und ähnliche Wörter oder Wortfolgen für den Begriff können nach Bezeichnungen gruppiert werden, denen ebenfalls eindeutige Kennungen zugewiesen sind. Zum Beispiel kann sich der Begriff „C0004238“ auf eine bestimmte Form von Herzkammerflimmern beziehen, die im Vorhof eines Herzens auftritt. Zeichenfolgen für diesen Begriff umfassen Herzflimmern, was der Bezeichnung „L0004238“ zugeordnet ist, sowie Vorhofflimmern, was der Bezeichnung „L0004327“ zugeordnet ist. Jede Zeichenkette kann somit eine bestimmte Oberflächenform für einen Begriff darstellen.
  • 3 ist ein Ablaufplan, der ein Verfahren 300 zum Durchführen der Verarbeitung natürlicher Sprache gemäß einer Ausführungsform der vorliegenden Erfindung darstellt.
  • Eine hierarchische Ontologie von Begriffen wird in Arbeitsschritt 310 empfangen. Die Ontologie kann von dem Abrufmodul 145 aus einer Datenbank empfangen werden, wie zum Beispiel aus der Datenbank 130 des Datenservers 125 oder dem Speicher 160 des Modellentwicklungsservers 135. Informationen in einer Ontologie können Begriffe, hierarchische Beziehungen zwischen den Begriffen und andere Daten für Begriffe umfassen, wie zum Beispiel Oberflächenformen für jeden Begriff und semantische Typen von Begriffen. Zusätzlich können in Arbeitsschritt 310 Informationen zu einem lexikalischen Korpus oder mehreren lexikalischen Korpora abgerufen werden. Sobald das Abrufmodul 145 eine Ontologie oder ein Korpus abruft, kann das Abrufmodul 145 herkömmliche oder andere Vorverarbeitungsaufgaben durchführen.
  • Eindeutige Textdarstellungen für Begriffe werden in Arbeitsschritt 320 identifiziert. Das Trainingsmodul 150 kann für jeden Begriff ermitteln, ob der Begriff eine Oberflächenform aufweist, die in einem Korpus gut eingebettet und eindeutig dargestellt ist. Das Trainingsmodul 150 kann eine Oberflächenform zur Verwendung als Textdarstellung auswählen, wenn die Oberflächenform einen Schwellenwert für die Darstellung in einem Korpus überschreitet (z.B. mehr als dreißig Mal vorkommt), wenn die Oberflächenform nicht mit mehreren inkompatiblen Begriffen verknüpft ist (wie zum Beispiel Begriffe mit unterschiedlichen semantischen Typen) und/oder wenn die Oberflächenform kein kurzes Akronym ist (z.B. unter einer Schwellenanzahl von Zeichen). Oberflächenformen eines Begriffs können aus einer Begriffshierarchie extrahiert werden. Zum Beispiel kann die Begriffshierarchie 250 Oberflächenformen von „Herzflimmern“ und „Vorhofflimmern“ für den ausgewählten Begriff mit der Kennung „C0004238“ bereitstellen.
  • Positive und negative Trainingsbeispiele für einen Begriff können auf der Grundlage benachbarter Kontextfenster in Arbeitsschritt 330 extrahiert werden. Positive und negative Trainingsbeispiele können von dem Trainingsmodul 150 durch Verarbeitung einer Ontologie erstellt werden. Positive Trainingsbeispiele für einen ausgewählten Begriff können auf der Grundlage von mehreren Begriffen extrahiert werden, die in einer Ontologie in der Nähe des ausgewählten Begriffs liegen, wie zum Beispiel übergeordnete oder untergeordnete Begriffe des ausgewählten Begriffs. Negative Trainingsbeispiele können ausgewählt werden, indem ein oder mehrere zufällige Begriffe in einem Kontextfenster ersetzt werden, wodurch ein Beispiel entsteht, bei dem es unwahrscheinlich ist, dass die Begriffe miteinander in Beziehung stehen. Zum Beispiel kann ein positives Trainingsbeispiel aus der hierarchischen Ontologie 200 extrahiert werden, das eine Dreiergruppe aus „Lipiden“, „Phospholipiden“ und „Phosphatidylcholin“ umfasst. Ein negatives Trainingsbeispiel kann aus der hierarchischen Ontologie 200 extrahiert werden, indem ein oder mehrere Begriffe in der Ontologie 200 durch einen zufälligen Begriff ersetzt werden; zum Beispiel kann ein negatives Trainingsbeispiel „Lipide“, „Fangzähne“ und „Phosphatidylserin“ umfassen.
  • Vektoren für die Begriffe werden unter Verwendung von Zufallswerten in Arbeitsschritt 340 initialisiert. Das Trainingsmodul 150 kann einen mehrdimensionalen Vektor für jeden Begriff in einer Ontologie erstellen und die Dimensionen jedes Vektors mit Zufallswerten initialisieren. In einigen Ausführungsformen erstellt und initialisiert das Trainingsmodul 150 auch mehrdimensionale Vektoren für jede Textdarstellung eines Begriffs, der in Arbeitsschritt 320 identifiziert wird.
  • Ein Vektorraummodell wird durch Optimieren einer Verlustfunktion über die Trainingsbeispiele in Arbeitsschritt 350 erstellt. Das Trainingsmodul 150 optimiert iterativ die Verlustfunktion durch Anpassen von Vektoren, um die Ausgabe der Verlustfunktion für positive Trainingsbeispiele zu maximieren und die Ausgabe für negative Trainingsbeispiele zu minimieren, da die Verlustfunktion eine Kosinus-Ähnlichkeit zwischen einem Fokusvektor und einem anderen Vektor, der das Trainingsbeispiel darstellt, berechnet. Insbesondere kann die Verlustfunktion durch ein Anpassen von Vektoren unter Verwendung eines Gradientenabstiegsalgorithmus optimiert werden. Eine Ableitung der Verlustfunktion kann in Bezug auf jeden der angepassten Vektoren berechnet werden; diese Ableitung zeigt an, ob ein Wert einer Dimension eines Vektors erhöht oder verringert werden sollte. Ein Vektor wird in der richtigen Richtung angepasst (z.B. durch Erhöhen oder Verringern des Wertes einer Dimension), und ein nächster Vektor wird zum Anpassen ausgewählt, wodurch der Verlust jedes Mal schrittweise verbessert wird.
  • Das Trainingsmodul 150 kann einen Vektor erstellen, der ein Trainingsbeispiel darstellt, indem es den Mittelwert von zwei oder mehr Vektoren berechnet, die den Begriffen in dem Trainingsbeispiel entsprechen. Wenn in Arbeitsschritt 320 eine Textdarstellung für einen Begriff identifiziert worden ist, kann die Verlustfunktion auch eine Kosinus-Ähnlichkeit zwischen dem Vektor des Begriffs und einem Mittelwert von Wortvektoren umfassen, die auf Wörtern beruhen, die in denselben Kontexten auftreten, in denen die Textdarstellung in lexikalischen Korpora erscheint. Sobald sich Vektoren über mehrere Iterationen hinweg angeglichen haben, kann das Trainingsmodul 150 ein Vektorraummodell ausgeben, das für Aufgaben der Verarbeitung natürlicher Sprache geeignet ist. In einigen Ausführungsformen handelt es sich bei dem Vektorraummodell um ein kontinuierliches Bag-of-Words-Modell.
  • Eine Aufgabe der Verarbeitung natürlicher Sprache wird unter Verwendung des Vektorraummodells in Arbeitsschritt 360 durchgeführt. Das Modul 155 zur Verarbeitung natürlicher Sprache kann unter Verwendung des Vektorraummodells eine oder mehrere herkömmliche oder andere Aufgaben zur Verarbeitung natürlicher Sprache durchführen, die Aufgaben wie Disambiguierung, Themenerkennung, Stimmungsanalyse, Beantwortung von Fragen, maschinelle Übersetzung und dergleichen umfassen.
  • 4 ist ein Blockschaltbild, in dem Komponenten eines Computers 10 dargestellt sind, der zum Ausführen der hierin offenbarten Verfahren geeignet ist. Der Computer 10 kann die Benutzereinheiten 105, den Datenserver 125 und/oder den Modellentwicklungsserver 135 gemäß Ausführungsformen der vorliegenden Erfindung umsetzen. Man sollte sich bewusst sein, dass 4 lediglich eine Veranschaulichung einer Ausführungsform bereitstellt und keinerlei Einschränkungen in Bezug auf die Umgebungen, in denen verschiedene Ausführungsformen umgesetzt werden können, mit sich bringt. Es können viele Abwandlungen an der dargestellten Umgebung vorgenommen werden.
  • Wie dargestellt ist, umfasst der Computer 10 ein Datenübertragungsnetz 12, das eine Datenübertragung zwischen einem oder mehreren Computerprozessoren 14, einem Speicher 16, einem dauerhaften Speicher 18, einer Datenübertragungseinheit 20 und einer oder mehreren Eingabe/Ausgabe-Schnittstellen 22 bereitstellt. Das Datenübertragungsnetz 12 kann mit jeder beliebigen Architektur umgesetzt werden, die zum Weiterleiten von Daten und/oder Steuerungsinformationen zwischen Prozessoren (wie zum Beispiel Mikroprozessoren, Datenübertragungs- und Netzwerkprozessoren usw.), Systemspeicher, Peripherieeinheiten und beliebigen anderen Hardware-Komponenten innerhalb eines Systems ausgelegt ist. Zum Beispiel kann das Datenübertragungsnetz 12 mit einem oder mehreren Bussen umgesetzt werden.
  • Bei dem Speicher 16 und dem dauerhaften Speicher 18 handelt es sich um durch einen Computer lesbare Speichermedien. In der dargestellten Ausführungsform umfasst der Speicher 16 einen Direktzugriffsspeicher (RAM) 24 und einen Cachespeicher 26. Im Allgemeinen kann der Speicher 16 jedes beliebige flüchtige oder nichtflüchtige, durch einen Computer lesbare Speichermedium umfassen.
  • Ein oder mehrere Programme können in dem dauerhaften Speicher 18 zur Ausführung durch einen oder mehrere der jeweiligen Computerprozessoren 14 über einen oder mehrere Speicher des Speichers 16 gespeichert sein. Bei dem dauerhaften Speicher 18 kann es sich um ein magnetisches Festplattenlaufwerk, einen Halbleiter-Datenträger, eine Halbleiter-Speichereinheit, einen Nur-Lese-Speicher (ROM), einen löschbaren programmierbaren Nur-Lese-Speicher (EPROM), einen Flash-Speicher oder jedes beliebige andere durch einen Computer lesbares Speichermedium handeln, das in der Lage ist, Programmanweisungen oder digitale Informationen zu speichern.
  • Die von dem dauerhaften Speicher 18 verwendeten Medien können auch auswechselbar sein. Zum Beispiel kann ein Wechselplattenlaufwerk für den dauerhaften Speicher 18 verwendet werden. Zu anderen Beispielen gehören optische und magnetische Platten, Thumb-Drives und Smartcards, die in ein Laufwerk zum Übertragen auf ein anderes durch einen Computer lesbares Speichermedium, das auch ein Teil des dauerhaften Speichers 18 ist, eingeführt werden.
  • Die Datenübertragungseinheit 20 sorgt in diesen Beispielen für die Datenübertragung zu anderen Datenverarbeitungssystemen oder -einheiten. In diesen Beispielen umfasst die Datenübertragungseinheit 20 eine oder mehrere Netzwerkschnittstellenkarten. Die Datenübertragungseinheit 20 kann Datenübertragungen durch die Verwendung von physischen und/oder drahtlosen Datenübertragungsverbindungen bereitstellen.
  • Eine oder mehrere E/A-Schnittstellen 22 ermöglichen die Eingabe und Ausgabe von Daten von/zu anderen Einheiten, die mit dem Computer 10 verbunden sein können. Zum Beispiel kann die E/A-Schnittstelle 22 eine Verbindung zu externen Einheiten 28 wie zum Beispiel einer Tastatur, einem Ziffernblock, einem Touchscreen und/oder einer anderen geeigneten Eingabeeinheit bereitstellen. Die externen Einheiten 28 können auch tragbare, durch einen Computer lesbare Speichermedien wie zum Beispiel Thumb-Drives, tragbare optische oder magnetische Platten und Speicherkarten umfassen.
  • Software und Daten, die zum Umsetzen von Ausführungsformen der vorliegenden Erfindung in die Praxis verwendet werden, können auf derartigen tragbaren, durch einen Computer lesbaren Speichermedien gespeichert und über die E/A-Schnittstelle(n) 22 auf den dauerhaften Speicher 18 geladen werden. Die E/A-Schnittstelle(n) 22 kann/können auch mit einer Anzeige 30 verbunden sein. Die Anzeige 30 stellt einen Mechanismus zum Anzeigen von Daten für einen Benutzer bereit, und es kann sich dabei zum Beispiel um einen Computerbildschirm handeln.
  • Die hierin beschriebenen Programme werden beruhend auf der Anwendung bestimmt, für die sie in einer spezifischen Ausführungsform der Erfindung umgesetzt werden. Man sollte sich jedoch bewusst sein, dass jede bestimmte Programm-Nomenklatur hierin lediglich der Einfachheit halber verwendet wird, und folglich darf die Erfindung nicht auf die ausschließliche Verwendung in einer beliebigen spezifischen Anwendung, die durch eine derartige Nomenklatur identifiziert und/oder impliziert wird, beschränkt werden.
  • Daten, die sich auf die Verarbeitung natürlicher Sprache unter Verwendung eines ontologiegestützten Modells der Begriffseinbettung beziehen (z.B. Ontologiedaten, Korpusdaten, Vektorraummodelldaten usw.), können in beliebigen herkömmlichen oder anderen Datenstrukturen (z.B. Dateien, Arrays, Listen, Stapeln, Warteschlangen, Datensätzen usw.) und in jeder gewünschten Speichereinheit (z.B. Datenbanken, Daten- oder andere Repositorys, Warteschlangen usw.) gespeichert werden. Die zwischen der Benutzereinheit 105, dem Datenserver 125 und/oder dem Modellentwicklungsserver 135 übermittelten Daten können jedes beliebige gewünschte Format und jede beliebige Anordnung sowie eine beliebige Anzahl von beliebigen Typen von Feldern beliebiger Größe zum Speichern der Daten umfassen. Die Definition und das Datenmodell für jeden Datensatz können die Gesamtstruktur auf jede beliebige gewünschte Weise angeben (z.B. computerbezogene Sprachen, grafische Darstellung, Auflistung usw.).
  • Daten, die sich auf die Verarbeitung natürlicher Sprache unter Verwendung eines ontologiegestützten Modells zur Begriffseinbettung beziehen (z.B. Ontologiedaten, Korpusdaten, Vektorraummodelldaten usw.), können alle Informationen umfassen, die der Benutzereinheit 105, dem Datenserver 125 und/oder dem Modellentwicklungsserver 135 bereitgestellt oder von diesen erstellt werden. Daten, die sich auf die Verarbeitung natürlicher Sprache unter Verwendung eines ontologiegestützten Modells zur Begriffseinbettung beziehen, können jedes beliebige gewünschte Format und jede beliebige gewünschte Anordnung umfassen sowie jede beliebige Menge von beliebigen Typen von Feldern in beliebiger Größe zum Speichern von beliebigen gewünschten Daten. Die Daten, die sich auf die Verarbeitung natürlicher Sprache unter Verwendung eines ontologiegestützten Modells zur Begriffseinbettung beziehen, können alle Daten umfassen, die über Entitäten durch einen beliebigen Erfassungsmechanismus erfasst wurden, jede beliebige Kombination von erfassten Informationen und alle Informationen, die aus dem Analysieren von erfassten Informationen abgeleitet wurden.
  • Die Ausführungsformen der vorliegenden Erfindung können eine beliebige Anzahl eines beliebigen Typs von Benutzerschnittstelle (z.B. eine grafische Benutzerschnittstelle (GUI), eine Befehlszeile, eine Aufforderung usw.) zum Erfassen oder Bereitstellen von Informationen (z.B. Daten, welche die Verarbeitung natürlicher Sprache unter Verwendung eines ontologiegestützten Modells zur Begriffseinbettung betreffen) einsetzen, wobei die Schnittstelle beliebige in einer beliebigen Weise angeordnete Informationen umfassen kann. Die Schnittstelle kann eine beliebige Anzahl von beliebigen Typen von Eingabe- oder Betätigungsmechanismen (z.B. Schaltflächen, Symbole, Felder, Kästchen, Verknüpfungen usw.) zum Eingeben/Anzeigen von Informationen und zum Initiieren von gewünschten Aktionen mittels beliebiger geeigneter Eingabeeinheiten (z.B. Maus, Tastatur usw.) umfassen, die sich an beliebigen Stellen befinden können. Die Schnittstellenbildschirme können beliebige geeignete Aktuatoren (z.B. Verknüpfungen, Registerkarten usw.) zum Navigieren zwischen den Bildschirmen auf eine beliebige Weise umfassen.
  • Man wird verstehen, dass die vorstehend beschriebenen und in den Zeichnungen veranschaulichten Ausführungsformen lediglich einige wenige der vielen Wege zum Umsetzen von Ausführungsformen zum Durchführen einer Verarbeitung natürlicher Sprache unter Verwendung eines ontologiegestützten Modells zur Begriffseinbettung darstellen.
  • Die Umgebung der Ausführungsformen der vorliegenden Erfindung kann jede beliebige Anzahl von Computer- oder anderen Verarbeitungssystemen (z.B. Client- oder Endbenutzer-Systeme, Serversysteme usw.) und Datenbanken oder andere auf eine beliebige gewünschte Weise angeordnete Repositorys beinhalten, wobei die Ausführungsformen der vorliegenden Erfindung auf jeden beliebigen gewünschten Typ von Datenverarbeitungsumgebung (z.B. Cloud-Computing, Client-Server, Netzwerkdatenverarbeitung, Mainframes, eigenständige Systeme usw.) angewendet werden können. Die von den Ausführungsformen der vorliegenden Erfindung eingesetzten Computer- oder anderen Verarbeitungssysteme können durch eine beliebige Anzahl beliebiger Personal Computer oder anderer Typen von Computern oder Verarbeitungssystemen (z.B. Desktops, Laptops, PDAs, mobile Einheiten usw.) umgesetzt werden, und zu ihnen können jedes beliebige im Handel erhältliche Betriebssystem und jede beliebige Kombination aus im Handel erhältlicher und angepasster Software (z.B. Browser-Software, Datenübertragungssoftware, Server-Software, die Anwendung 120, das Abrufmodul 145, das Trainingsmodul 150, das Modul 155 zur Verarbeitung natürlicher Sprache, usw.) gehören. Diese Systeme können alle beliebigen Typen von Monitoren und Eingabeeinheiten (z.B. Tastatur, Maus, Spracherkennung usw.) zum Eingeben und/oder Betrachten von Informationen umfassen.
  • Es wird darauf hingewiesen, dass die Software (z.B. Browser-Software, Datenübertragungssoftware, Server-Software, die Anwendung 120, das Abrufmodul 145, das Trainingsmodul 150, das Modul 155 zur Verarbeitung natürlicher Sprache usw.) der Ausführungsformen der vorliegenden Erfindung in jeder beliebigen gewünschten Computersprache umgesetzt werden kann und von jedem Fachmann auf dem Gebiet von Computern beruhend auf den Funktionsbeschreibungen entwickelt werden könnte, die in der Beschreibung und den in den Zeichnungen veranschaulichten Ablaufplänen enthalten sind. Des Weiteren beziehen sich sämtliche Hinweise auf verschiedene Funktionen durchführende Software hierin allgemein auf Computersysteme oder Prozessoren, die diese Funktionen unter der Steuerung von Software durchführen. Die Computersysteme der Ausführungsformen der vorliegenden Erfindung können alternativ durch einen beliebigen Typ von Hardware und/oder anderem Verarbeitungsschaltkreis umgesetzt werden.
  • Die verschiedenen Funktionen der Computer- oder anderen Verarbeitungssysteme können auf eine beliebige Weise auf eine beliebige Anzahl von Software- und/oder Hardware-Modulen oder Einheiten, Verarbeitungs- oder Computersystemen und/oder Schaltkreisen verteilt sein, wobei sich die Computer- oder Verarbeitungssysteme lokal oder entfernt voneinander befinden und über ein beliebiges Datenübertragungsmedium (z.B. LAN, WAN, Intranet, Internet, festverdrahtet, Modem-Verbindung, drahtlos usw.) Daten austauschen können. Zum Beispiel können die Funktionen der Ausführungsformen der vorliegenden Erfindung auf eine beliebige Weise zwischen den verschiedenen Endbenutzer/Client- und Server-Systemen und/oder beliebigen anderen Zwischenverarbeitungseinheiten verteilt sein. Die Software und/oder Algorithmen, die vorstehend beschrieben und in den Ablaufplänen veranschaulicht sind, können auf jede beliebige Weise abgeändert werden, welche die hierin beschriebenen Funktionen verwirklicht. Außerdem können die Funktionen in den Ablaufplänen oder der Beschreibung in einer beliebigen Reihenfolge durchgeführt werden, durch die ein gewünschter Arbeitsschritt verwirklicht wird.
  • Die Software der Ausführungsformen der vorliegenden Erfindung (z.B. Browser-Software, Datenübertragungssoftware, Server-Software, die Anwendung 120, das Abrufmodul 145, das Trainingsmodul 150, das Modul 155 zur Verarbeitung natürlicher Sprache usw.) kann auf einem nicht flüchtigen, durch einen Computer verwendbaren Medium (z.B. magnetische oder optische Medien, magnetooptische Medien, Floppy-Disketten, CD-ROM, DVD, Speichereinheiten usw.) einer stationären oder tragbaren Programmproduktvorrichtung oder -einheit zur Verwendung mit eigenständigen Systemen oder Systemen, die durch ein Netzwerk oder ein anderes Datenübertragungsmedium verbunden sind, verfügbar sein.
  • Das Datenübertragungsnetzwerk kann durch eine beliebige Anzahl eines beliebigen Typs von Datenübertragungsnetzwerken (z.B. LAN, WAN, Internet, Intranet, VPN usw.) umgesetzt sein. Die Computer- oder anderen Verarbeitungssysteme der Ausführungsformen der vorliegenden Erfindung können beliebige herkömmliche oder andere Datenübertragungseinheiten zum Austauschen von Daten über das Netzwerk mittels jedes beliebigen herkömmlichen oder anderen Protokolls umfassen. Die Computer- oder anderen Verarbeitungssysteme können jeden beliebigen Verbindungstyp (z.B. verdrahtet, drahtlos usw.) für ein Zugreifen auf das Netzwerk nutzen. Lokale Datenübertragungsmedien können durch ein beliebiges geeignetes Datenübertragungsmedium (z.B. ein lokales Netzwerk (LAN), festverdrahtet, eine drahtlose Verbindung, ein Intranet usw.) umgesetzt sein.
  • Das System kann eine beliebige Anzahl von beliebigen herkömmlichen oder anderen Datenbanken, Datenspeichern oder Speicherstrukturen (z.B. Dateien, Datenbanken, Datenstrukturen, Daten- oder andere Repositorys usw.) zum Speichern von Informationen (z.B. Daten, welche die Verarbeitung natürlicher Sprache betreffen, unter Verwendung eines ontologiegestützten Modells zur Begriffseinbettung) einsetzen. Das Datenbanksystem kann durch eine beliebige Anzahl von beliebigen herkömmlichen oder anderen Datenbanken, Datenspeichern oder Speicherstrukturen (z.B. Dateien, Datenbanken, Datenstrukturen, Daten- oder andere Repositorys usw.) zum Speichern von Informationen (z.B. Daten, welche die Verarbeitung natürlicher Sprache betreffen, unter Verwendung eines ontologiegestützten Modells zur Begriffseinbettung) umgesetzt werden. Das Datenbanksystem kann innerhalb der Server- und/oder Client-Systeme enthalten oder mit diesen verbunden sein. Die Datenbanksysteme und/oder Speicherstrukturen können entfernt angeordnet von oder lokal bei den Computer- oder anderen Verarbeitungssystemen sein und alle beliebigen gewünschten Daten speichern (z.B. Daten, welche die Verarbeitung natürlicher Sprache unter Verwendung eines ontologiegestützten Modells zur Begriffseinbettung betreffen).
  • Die Ausführungsformen der vorliegenden Erfindung können eine beliebige Anzahl eines beliebigen Typs von Benutzerschnittstelle (z.B. eine grafische Benutzerschnittstelle (GUI), eine Befehlszeile, eine Aufforderung usw.) zum Erfassen oder Bereitstellen von Informationen (z.B. Daten, welche die Verarbeitung natürlicher Sprache unter Verwendung eines ontologiegestützten Modells zur Begriffseinbettung betreffen) einsetzen, wobei die Schnittstelle beliebige in einer beliebigen Weise angeordnete Informationen umfassen kann. Die Schnittstelle kann eine beliebige Anzahl von beliebigen Typen von Eingabe- oder Betätigungsmechanismen (z.B. Schaltflächen, Symbole, Felder, Kästchen, Verknüpfungen usw.) zum Eingeben/Anzeigen von Informationen und zum Initiieren von gewünschten Aktionen mittels beliebiger geeigneter Eingabeeinheiten (z.B. Maus, Tastatur usw.) umfassen, die sich an beliebigen Stellen befinden können. Die Schnittstellenbildschirme können beliebige geeignete Aktuatoren (z.B. Verknüpfungen, Registerkarten usw.) zum Navigieren zwischen den Bildschirmen auf eine beliebige Weise umfassen.
  • Die Ausführungsformen der vorliegenden Erfindung sind nicht auf die vorstehend beschriebenen konkreten Aufgaben oder Algorithmen beschränkt, sondern können für eine beliebige Anzahl von Anwendungen in den betreffenden Bereichen verwendet werden, darunter die Verarbeitung natürlicher Sprache und maschinelles Lernen, aber nicht darauf beschränkt.
  • Die hierin verwendete Terminologie dient lediglich dem Zweck des Beschreibens bestimmter Ausführungsformen und soll die Erfindung nicht einschränken. Die Verwendung der Singularform „ein“, „eine“ bzw. „der“, „die“, „das“ hierin soll ebenfalls die Pluralformen einschließen, es sei denn, etwas anderes ergibt sich deutlich aus dem Zusammenhang. Es wird darüber hinaus darauf hingewiesen, dass die Begriffe „aufweisen“, „aufweisend“, „umfasst“ „umfassend“, „hat“, „haben“, „habend“, „mit“ und dergleichen, wenn sie in dieser Beschreibung verwendet werden, das Vorhandensein von aufgeführten Eigenschaften, ganzen Zahlen, Schritten, Operationen, Elementen und/oder Komponenten angeben, jedoch nicht das Vorhandensein oder das Hinzufügen einer oder mehrerer anderer Eigenschaften, ganzer Zahlen, Schritte, Operationen, Elemente, Komponenten und/oder Gruppen hiervon ausschließen.
  • Die in den nachfolgenden Ansprüchen vorhandenen, entsprechenden Strukturen, Materialien, Schritte und Entsprechungen aller Mittel oder Step-plus-function-Elemente verstehen sich dahingehend, dass sie jede beliebige Struktur, jedes beliebige Material bzw. jeden beliebigen Schritt zur Durchführung der Funktion in Kombination mit anderen beanspruchten Elementen nach Maßgabe der konkreten Beanspruchung aufweisen. Die Beschreibung der vorliegenden Erfindung wurde zum Zwecke der Veranschaulichung und Beschreibung aufgeführt, soll aber nicht gesamthaft stehen für bzw. begrenzt sein auf die Erfindung in der dargelegten Form. Für Fachleute werden viele Abänderungen und Abwandlungen ersichtlich sein, ohne von dem Umfang der Erfindung abzuweichen. Die Ausführungsform wurde gewählt und beschrieben, um die Grundgedanken der Erfindung und die praktische Anwendung bestmöglich zu erläutern und um es anderen Fachleuten zu ermöglichen, die Erfindung für verschiedene Ausführungsformen mit verschiedenen Abänderungen, die für eine bestimmte in Betracht gezogene Verwendung geeignet sind, zu verstehen.
  • Die Beschreibungen der verschiedenen Ausführungsformen der vorliegenden Erfindung wurden zum Zwecke der Veranschaulichung aufgeführt, sollen jedoch nicht gesamthaft stehen für bzw. begrenzt sein auf die offenbarten Ausführungsformen. Für Fachleute werden viele Abänderungen und Abwandlungen ersichtlich sein, ohne von dem Umfang der beschriebenen Ausführungsformen abzuweichen. Die hierin verwendete Terminologie wurde gewählt, um die Grundgedanken der Ausführungsformen, die praktische Anwendung oder technische Verbesserung gegenüber auf dem Markt vorgefundenen Technologien bestmöglich zu erläutern oder um es anderen Fachleuten zu ermöglichen, die hierin dargelegten Ausführungsformen zu verstehen.
  • Bei der vorliegenden Erfindung kann es sich um ein System, ein Verfahren und/oder ein Computerprogrammprodukt auf jeder möglichen technischen Detailstufe der Integration handeln. Das Computerprogrammprodukt kann ein durch einen Computer lesbares Speichermedium (oder -medien) mit durch einen Computer lesbaren Programmanweisungen darauf umfassen, um einen Prozessor dazu zu veranlassen, Aspekte der vorliegenden Erfindung auszuführen.
  • Bei dem durch einen Computer lesbaren Speichermedium kann es sich um eine physische Einheit handeln, die Anweisungen zur Verwendung durch ein System zur Ausführung von Anweisungen behalten und speichern kann. Bei dem durch einen Computer lesbaren Speichermedium kann es sich zum Beispiel um eine elektronische Speichereinheit, eine magnetische Speichereinheit, eine optische Speichereinheit, eine elektromagnetische Speichereinheit, eine Halbleiterspeichereinheit oder jede geeignete Kombination daraus handeln, ohne auf diese beschränkt zu sein. Zu einer nicht erschöpfenden Liste spezifischerer Beispiele des durch einen Computer lesbaren Speichermediums gehören die Folgenden: eine auswechselbare Computerdiskette, eine Festplatte, ein Direktzugriffsspeicher (RAM), ein Nur-Lese-Speicher (ROM), ein löschbarer programmierbarer Nur-Lese-Speicher (EPROM bzw. Flash-Speicher), ein statischer Direktzugriffsspeicher (SRAM), ein auswechselbarer Kompaktspeicherplatte-Nur-Lese-Speicher (CD-ROM), eine DVD (digital versatile disc), ein Speicher-Stick, eine Diskette, eine mechanisch kodierte Einheit wie zum Beispiel Lochkarten oder erhabene Strukturen in einer Rille, auf denen Anweisungen gespeichert sind, und jede geeignete Kombination daraus. Ein durch einen Computer lesbares Speichermedium soll in der Verwendung hierin nicht als flüchtige Signale an sich aufgefasst werden, wie zum Beispiel Funkwellen oder andere sich frei ausbreitende elektromagnetische Wellen, elektromagnetische Wellen, die sich durch einen Wellenleiter oder ein anderes Übertragungsmedium ausbreiten (z.B. Lichtwellenleiterkabel durchlaufende Lichtimpulse) oder durch einen Draht übertragene elektrische Signale.
  • Hierin beschriebene, durch einen Computer lesbare Programmanweisungen können von einem durch einen Computer lesbaren Speichermedium auf jeweilige Datenverarbeitungs-/Verarbeitungseinheiten oder über ein Netzwerk wie zum Beispiel das Internet, ein lokales Netzwerk, ein Weitverkehrsnetz und/oder ein drahtloses Netzwerk auf einen externen Computer oder eine externe Speichereinheit heruntergeladen werden. Das Netzwerk kann Kupferübertragungskabel, Lichtwellenübertragungsleiter, drahtlose Übertragung, Leitwegrechner, Firewalls, Vermittlungseinheiten, Gateway-Computer und/oder Edge-Server umfassen. Eine Netzwerkadapterkarte oder Netzwerkschnittstelle in jeder Datenverarbeitungs-/Verarbeitungseinheit empfängt durch einen Computer lesbare Programmanweisungen aus dem Netzwerk und leitet die durch einen Computer lesbaren Programmanweisungen zur Speicherung in einem durch einen Computer lesbaren Speichermedium innerhalb der entsprechenden Datenverarbeitungs-/Verarbeitungseinheit weiter.
  • Bei durch einen Computer lesbaren Programmanweisungen zum Ausführen von Arbeitsschritten der vorliegenden Erfindung kann es sich um Assembler-Anweisungen, ISA-Anweisungen (Instruction-Set-Architecture), Maschinenanweisungen, maschinenabhängige Anweisungen, Mikrocode, Firmware-Anweisungen, zustandssetzende Daten Konfigurationsdaten für integrierte Schaltungen oder entweder Quellcode oder Objektcode handeln, die in einer beliebigen Kombination aus einer oder mehreren Programmiersprachen geschrieben werden, darunter objektorientierte Programmiersprachen wie Smalltalk, C++ o.ä. sowie prozedurale Programmiersprachen wie die Programmiersprache „C“ oder ähnliche Programmiersprachen. Die durch einen Computer lesbaren Programmanweisungen können vollständig auf dem Computer des Benutzers, teilweise auf dem Computer des Benutzers, als eigenständiges Software-Paket, teilweise auf dem Computer des Benutzers und teilweise auf einem fernen Computer oder vollständig auf dem fernen Computer oder Server ausgeführt werden. In letzterem Fall kann der entfernt angeordnete Computer mit dem Computer des Benutzers durch eine beliebige Art Netzwerk verbunden sein, darunter ein lokales Netzwerk (LAN) oder ein Weitverkehrsnetz (WAN), oder die Verbindung kann mit einem externen Computer hergestellt werden (zum Beispiel über das Internet unter Verwendung eines Internet-Dienstanbieters). In einigen Ausführungsformen können elektronische Schaltungen, darunter zum Beispiel programmierbare Logikschaltungen, vor Ort programmierbare Gatter-Anordnungen (FPGA, field programmable gate arrays) oder programmierbare Logikanordnungen (PLA, programmable logic arrays) die durch einen Computer lesbaren Programmanweisungen ausführen, indem sie Zustandsinformationen der durch einen Computer lesbaren Programmanweisungen nutzen, um die elektronischen Schaltungen zu personalisieren, um Aspekte der vorliegenden Erfindung durchzuführen.
  • Aspekte der vorliegenden Erfindung sind hierin unter Bezugnahme auf Ablaufpläne und/oder Blockschaltbilder bzw. Schaubilder von Verfahren, Vorrichtungen (Systemen) und Computerprogrammprodukten gemäß Ausführungsformen der Erfindung beschrieben. Es wird darauf hingewiesen, dass jeder Block der Ablaufpläne und/oder der Blockschaltbilder bzw. Schaubilder sowie Kombinationen von Blöcken in den Ablaufplänen und/oder den Blockschaltbildern bzw. Schaubildern mittels durch einen Computer lesbare Programmanweisungen ausgeführt werden können.
  • Diese durch einen Computer lesbaren Programmanweisungen können einem Prozessor eines Computers oder einer anderen programmierbaren Datenverarbeitungsvorrichtung bereitgestellt werden, um eine Maschine zu erzeugen, so dass die über den Prozessor des Computers bzw. der anderen programmierbaren Datenverarbeitungsvorrichtung ausgeführten Anweisungen ein Mittel zur Umsetzung der in dem Block bzw. den Blöcken der Ablaufpläne und/oder der Blockschaltbilder bzw. Schaubilder festgelegten Funktionen/Schritte erzeugen. Diese durch einen Computer lesbaren Programmanweisungen können auch auf einem durch einen Computer lesbaren Speichermedium gespeichert sein, das einen Computer, eine programmierbare Datenverarbeitungsvorrichtung und/oder andere Einheiten so steuern kann, dass sie auf eine bestimmte Art funktionieren, so dass das durch einen Computer lesbare Speichermedium, auf dem Anweisungen gespeichert sind, ein Herstellungsprodukt umfasst, darunter Anweisungen, welche Aspekte der/des in dem Block bzw. den Blöcken des Ablaufplans und/oder der Blockschaltbilder bzw. Schaubilder angegebenen Funktion/Schritts umsetzen.
  • Die durch einen Computer lesbaren Programmanweisungen können auch auf einen Computer, eine andere programmierbare Datenverarbeitungsvorrichtung oder eine andere Einheit geladen werden, um das Ausführen einer Reihe von Prozessschritten auf dem Computer bzw. der anderen programmierbaren Vorrichtung oder anderen Einheit zu verursachen, um einen auf einem Computer ausgeführten Prozess zu erzeugen, so dass die auf dem Computer, einer anderen programmierbaren Vorrichtung oder einer anderen Einheit ausgeführten Anweisungen die in dem Block bzw. den Blöcken der Ablaufpläne und/oder der Blockschaltbilder bzw. Schaubilder festgelegten Funktionen/Schritte umsetzen.
  • Die Ablaufpläne und die Blockschaltbilder bzw. Schaubilder in den Figuren veranschaulichen die Architektur, die Funktionalität und den Betrieb möglicher Ausführungen von Systemen, Verfahren und Computerprogrammprodukten gemäß verschiedenen Ausführungsformen der vorliegenden Erfindung. In diesem Zusammenhang kann jeder Block in den Ablaufplänen oder Blockschaltbildern bzw. Schaubildern ein Modul, ein Segment oder einen Teil von Anweisungen darstellen, die eine oder mehrere ausführbare Anweisungen zur Ausführung der bestimmten logischen Funktion(en) umfassen. In einigen alternativen Ausführungen können die in dem Block angegebenen Funktionen in einer anderen Reihenfolge als in den Figuren gezeigt stattfinden. Zum Beispiel können zwei nacheinander gezeigte Blöcke tatsächlich in einem Schritt, gleichzeitig, im Wesentlichen gleichzeitig, teilweise oder vollständig zeitlich überlappend ausgeführt werden, oder die Blöcke können manchmal je nach entsprechender Funktionalität in umgekehrter Reihenfolge ausgeführt werden. Es ist darüber hinaus anzumerken, dass jeder Block der Blockschaltbilder bzw. Schaubilder und/oder der Ablaufpläne sowie Kombinationen aus Blöcken in den Blockschaltbildern bzw. Schaubildern und/oder den Ablaufplänen durch spezielle auf Hardware beruhende Systeme umgesetzt werden können, welche die festgelegten Funktionen oder Schritte durchführen, oder Kombinationen aus Spezial-Hardware und Computeranweisungen ausführen.

Claims (18)

  1. Auf einem Computer ausgeführtes Verfahren zur Verarbeitung natürlicher Sprache, aufweisend: Extrahieren eines oder mehrerer Trainingsbeispiele für einen oder mehrere Begriffe einer hierarchischen Ontologie, wobei das eine oder die mehreren Trainingsbeispiele für den einen oder die mehreren Begriffe auf benachbarten Begriffen in der hierarchischen Ontologie beruhen; Initialisieren einer Mehrzahl von Vektoren, die jeweils ein oder mehrere Merkmale umfassen, wobei jeder Vektor einem Begriff des einen oder der mehreren Begriffe entspricht; Erstellen eines Vektorraummodells durch iteratives Abändern eines oder mehrerer Vektoren der Mehrzahl von Vektoren, um eine Verlustfunktion zu optimieren; und Durchführen einer Verarbeitung natürlicher Sprache unter Verwendung des Vektorraummodells.
  2. Auf einem Computer ausgeführtes Verfahren nach Anspruch 1, wobei das Vektorraummodell ein kontinuierliches Bag-of-Words-Modell aufweist.
  3. Auf einem Computer ausgeführtes Verfahren nach einem der vorhergehenden Ansprüche, wobei das eine oder die mehreren Trainingsbeispiele für den einen oder die mehreren Begriffe ein oder mehrere positive Trainingsbeispiele und ein oder mehrere negative Trainingsbeispiele umfassen, und wobei das Optimieren der Verlustfunktion Folgendes aufweist: Abändern eines oder mehrerer Vektoren der Mehrzahl von Vektoren, um die Verlustfunktion für jedes des einen oder der mehreren positiven Trainingsbeispiele zu minimieren; und Abändern eines oder mehrerer Vektoren der Mehrzahl von Vektoren, um die Verlustfunktion für jedes des einen oder der mehreren negativen Trainingsbeispiele zu maximieren.
  4. Auf einem Computer ausgeführtes Verfahren nach einem der vorhergehenden Ansprüche, wobei eine Ausgabe der Verlustfunktion für jeden Begriff proportional zu einer ersten Kosinus-Ähnlichkeit eines Vektors für den Begriff und einem ersten Mittelwertvektor ist, wobei es sich bei dem ersten Mittelwertvektor um einen Mittelwert von einem oder mehreren Vektoren für übergeordnete Begriffe des Begriffs und einem oder mehreren Vektoren für untergeordnete Begriffe des Begriffs handelt.
  5. Auf einem Computer ausgeführtes Verfahren nach Anspruch 4, darüber hinaus umfassend: Identifizieren einer oder mehrerer eindeutiger Textdarstellungen eines Begriffs; und wobei die Ausgabe der Verlustfunktion darüber hinaus proportional zu einer zweiten Kosinus-Ähnlichkeit zwischen dem Vektor für den Begriff und einem zweiten Mittelwertvektor ist, wobei es sich bei dem zweiten Mittelwertvektor um einen Mittelwert von einem oder mehreren Wortvektoren auf der Grundlage der einen oder mehreren eindeutigen Textdarstellungen handelt.
  6. Auf einem Computer ausgeführtes Verfahren nach Anspruch 5, wobei die eine oder die mehreren eindeutigen Textdarstellungen in einem lexikalischen Korpus oder in mehreren lexikalischen Korpora identifiziert werden.
  7. Auf einem Computer ausgeführtes Verfahren nach einem der Ansprüche 5 oder 6, darüber hinaus aufweisend: Identifizieren eines oder mehrerer Wörter, die mit einem abgefragten Begriff in Beziehung stehen, unter Verwendung des Vektorraummodells auf der Grundlage einer Kosinus-Ähnlichkeit von Wortvektoren des einen oder der mehreren Wörter mit einem Begriffsvektor des abgefragten Begriffs.
  8. Auf einem Computer ausgeführtes Verfahren nach einem der Ansprüche 5 bis 7, darüber hinaus aufweisend: Identifizieren eines oder mehrerer Begriffe, die mit einem abgefragten Wort in Beziehung stehen, unter Verwendung des Vektorraummodells auf der Grundlage einer Kosinus-Ähnlichkeit von Begriffsvektoren des einen oder der mehreren Begriffe mit einem Wortvektor des abgefragten Worts.
  9. Computersystem zur Verarbeitung natürlicher Sprache, das Computersystem aufweisend: einen oder mehrere Computerprozessoren; ein oder mehrere durch einen Computer lesbare Speichermedien; Programmanweisungen, die auf dem einen oder den mehreren durch einen Computer lesbaren Speichermedien gespeichert sind, zur Ausführung durch mindestens einen des einen oder der mehreren Computerprozessoren, wobei die Programmanweisungen Anweisungen aufweisen zum: Extrahieren eines oder mehrerer Trainingsbeispiele für einen oder mehrere Begriffe einer hierarchischen Ontologie, wobei das eine oder die mehreren Trainingsbeispiele für den einen oder die mehreren Begriffe auf benachbarten Begriffen in der hierarchischen Ontologie beruhen; Initialisieren einer Mehrzahl von Vektoren, die jeweils ein oder mehrere Merkmale umfassen, wobei jeder Vektor einem Begriff des einen oder der mehreren Begriffe entspricht; Erstellen eines Vektorraummodells durch iteratives Abändern eines oder mehrerer Vektoren der Mehrzahl von Vektoren, um eine Verlustfunktion zu optimieren; und Durchführen einer Verarbeitung natürlicher Sprache unter Verwendung des Vektorraummodells.
  10. Computersystem nach Anspruch 9, wobei das Vektorraummodell ein kontinuierliches Bag-of-Words-Modell aufweist.
  11. Computersystem nach einem der Ansprüche 9 oder 10, wobei das eine oder die mehreren Trainingsbeispiele für den einen oder die mehreren Begriffe ein oder mehrere positive Trainingsbeispiele und ein oder mehrere negative Trainingsbeispiele umfassen, und wobei die Programmanweisungen zum Optimieren der Verlustfunktion Anweisungen umfassen zum: Abändern eines oder mehrerer Vektoren der Mehrzahl von Vektoren, um die Verlustfunktion für jedes des einen oder der mehreren positiven Trainingsbeispiele zu minimieren; und Abändern eines oder mehrerer Vektoren der Mehrzahl von Vektoren, um die Verlustfunktion für jedes des einen oder der mehreren negativen Trainingsbeispiele zu maximieren.
  12. Computersystem nach einem der Ansprüche 9 bis 11, wobei eine Ausgabe der Verlustfunktion für jeden Begriff proportional zu einer ersten Kosinus-Ähnlichkeit eines Vektors für den Begriff und einem ersten Mittelwertvektor ist, wobei es sich bei dem ersten Mittelwertvektor um einen Mittelwert von einem oder mehreren Vektoren für übergeordnete Begriffe des Begriffs und einem oder mehreren Vektoren für untergeordnete Begriffe des Begriffs handelt.
  13. Computersystem nach Anspruch 12, wobei die Programmanweisungen darüber hinaus Anweisungen umfassen zum: Identifizieren einer oder mehrerer eindeutiger Textdarstellungen eines Begriffs; und wobei die Ausgabe der Verlustfunktion darüber hinaus proportional zu einer zweiten Kosinus-Ähnlichkeit zwischen dem Vektor für den Begriff und einem zweiten Mittelwertvektor ist, wobei es sich bei dem zweiten Mittelwertvektor um einen Mittelwert von einem oder mehreren Wortvektoren auf der Grundlage der einen oder mehreren eindeutigen Textdarstellungen handelt.
  14. Computersystem nach Anspruch 13, wobei die eine oder die mehreren eindeutigen Textdarstellungen in einem lexikalischen Korpus oder in mehreren lexikalischen Korpora identifiziert werden.
  15. Computersystem nach einem der Ansprüche 13 oder 14, wobei die Programmanweisungen darüber hinaus Anweisungen umfassen zum: Identifizieren eines oder mehrerer Wörter, die mit einem abgefragten Begriff in Beziehung stehen, unter Verwendung des Vektorraummodells auf der Grundlage einer Kosinus-Ähnlichkeit von Wortvektoren des einen oder der mehreren Wörter mit einem Begriffsvektor des abgefragten Begriffs.
  16. Computersystem nach einem der Ansprüche 13 oder 15, wobei die Programmanweisungen darüber hinaus Anweisungen umfassen zum: Identifizieren eines oder mehrerer Begriffe, die mit einem abgefragten Wort in Beziehung stehen, unter Verwendung des Vektorraummodells auf der Grundlage einer Kosinus-Ähnlichkeit von Begriffsvektoren des einen oder der mehreren Begriffe mit einem Wortvektor des abgefragten Worts.
  17. Computerprogrammprodukt zur Verarbeitung natürlicher Sprache, das Computerprogrammprodukt aufweisend: ein durch einen Computer lesbares Speichermedium, das durch einen Verarbeitungsschaltkreis lesbar ist und auf dem Anweisungen zur Ausführung durch den Verarbeitungsschaltkreis zur Durchführung eines Verfahrens nach einem der Ansprüche 1 bis 8 gespeichert sind.
  18. Auf einem durch einen Computer lesbaren Medium gespeichertes Computerprogramm, das in den internen Hauptspeicher eines digitalen Computers ladbar ist und Software-Code-Abschnitte zur Durchführung des Verfahrens nach einem der Ansprüche 1 bis 8, wenn das Programm auf einem Computer ausgeführt wird, aufweist.
DE112020003311.2T 2019-08-20 2020-08-13 Verarbeitung natürlicher sprache unter verwendung eines ontologiegestützten modells zur begriffseinbettung Pending DE112020003311T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/545,608 US11176323B2 (en) 2019-08-20 2019-08-20 Natural language processing using an ontology-based concept embedding model
US16/545,608 2019-08-20
PCT/IB2020/057621 WO2021033087A1 (en) 2019-08-20 2020-08-13 Natural language processing using an ontology-based concept embedding model

Publications (1)

Publication Number Publication Date
DE112020003311T5 true DE112020003311T5 (de) 2022-03-31

Family

ID=74646859

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112020003311.2T Pending DE112020003311T5 (de) 2019-08-20 2020-08-13 Verarbeitung natürlicher sprache unter verwendung eines ontologiegestützten modells zur begriffseinbettung

Country Status (6)

Country Link
US (1) US11176323B2 (de)
JP (1) JP2022545062A (de)
CN (1) CN114341862A (de)
DE (1) DE112020003311T5 (de)
GB (2) GB2616542A (de)
WO (1) WO2021033087A1 (de)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11217227B1 (en) 2019-11-08 2022-01-04 Suki AI, Inc. Systems and methods for generating disambiguated terms in automatically generated transcriptions including instructions within a particular knowledge domain
US11538465B1 (en) 2019-11-08 2022-12-27 Suki AI, Inc. Systems and methods to facilitate intent determination of a command by grouping terms based on context
US11416684B2 (en) 2020-02-06 2022-08-16 Adobe Inc. Automated identification of concept labels for a set of documents
US11354513B2 (en) * 2020-02-06 2022-06-07 Adobe Inc. Automated identification of concept labels for a text fragment
US11494562B2 (en) * 2020-05-14 2022-11-08 Optum Technology, Inc. Method, apparatus and computer program product for generating text strings
US11645526B2 (en) * 2020-06-25 2023-05-09 International Business Machines Corporation Learning neuro-symbolic multi-hop reasoning rules over text
US20220172040A1 (en) * 2020-11-30 2022-06-02 Microsoft Technology Licensing, Llc Training a machine-learned model based on feedback
US20220284996A1 (en) * 2021-03-01 2022-09-08 International Business Machines Corporation Combining domain-specific ontologies for language processing
CN113420117B (zh) * 2021-06-23 2023-10-20 北京交通大学 一种基于多元特征融合的突发事件分类方法
CN113779196B (zh) * 2021-09-07 2024-02-13 大连大学 一种融合多层次信息的海关同义词识别方法
US11954619B1 (en) * 2022-01-12 2024-04-09 Trueblue, Inc. Analysis and processing of skills related data from a communications session with improved latency
CN114782722B (zh) * 2022-04-29 2023-02-03 北京百度网讯科技有限公司 图文相似度的确定方法、装置及电子设备
CN115033671A (zh) * 2022-06-13 2022-09-09 联想(北京)有限公司 一种信息处理方法、装置和可读存储介质

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007026365A2 (en) * 2005-08-31 2007-03-08 Intuview Ltd. Decision-support expert system and methods for real-time exploitation of documents in non-english languages
US8027977B2 (en) * 2007-06-20 2011-09-27 Microsoft Corporation Recommending content using discriminatively trained document similarity
US8977537B2 (en) 2011-06-24 2015-03-10 Microsoft Technology Licensing, Llc Hierarchical models for language modeling
US20150066711A1 (en) * 2012-04-11 2015-03-05 National University Of Singapore Methods, apparatuses and computer-readable mediums for organizing data relating to a product
US9519859B2 (en) * 2013-09-06 2016-12-13 Microsoft Technology Licensing, Llc Deep structured semantic model produced using click-through data
US9477752B1 (en) 2013-09-30 2016-10-25 Verint Systems Inc. Ontology administration and application to enhance communication data analytics
US20150127323A1 (en) * 2013-11-04 2015-05-07 Xerox Corporation Refining inference rules with temporal event clustering
US9672814B2 (en) 2015-05-08 2017-06-06 International Business Machines Corporation Semi-supervised learning of word embeddings
CN105260488B (zh) 2015-11-30 2018-10-02 哈尔滨工业大学 一种用于语义理解的文本序列迭代方法
US10740678B2 (en) * 2016-03-31 2020-08-11 International Business Machines Corporation Concept hierarchies
US10169454B2 (en) 2016-05-17 2019-01-01 Xerox Corporation Unsupervised ontology-based graph extraction from texts
US20180101773A1 (en) * 2016-10-07 2018-04-12 Futurewei Technologies, Inc. Apparatus and method for spatial processing of concepts
US20180232443A1 (en) * 2017-02-16 2018-08-16 Globality, Inc. Intelligent matching system with ontology-aided relation extraction
WO2018163241A1 (ja) * 2017-03-06 2018-09-13 三菱電機株式会社 オントロジー構築支援装置
EP3385862A1 (de) * 2017-04-03 2018-10-10 Siemens Aktiengesellschaft Verfahren und vorrichtung zur ausführung der hierarchischen einheitsklassifizierung
US10963501B1 (en) * 2017-04-29 2021-03-30 Veritas Technologies Llc Systems and methods for generating a topic tree for digital information
US11488713B2 (en) 2017-08-15 2022-11-01 Computer Technology Associates, Inc. Disease specific ontology-guided rule engine and machine learning for enhanced critical care decision support
US11250331B2 (en) * 2017-10-31 2022-02-15 Microsoft Technology Licensing, Llc Distant supervision for entity linking with filtering of noise
US10817676B2 (en) * 2017-12-27 2020-10-27 Sdl Inc. Intelligent routing services and systems
WO2019132685A1 (ru) * 2017-12-29 2019-07-04 Общество С Ограниченной Ответственностью "Интеллоджик" Способ и система поддержки принятия врачебных решений
CN108717574B (zh) 2018-03-26 2021-09-21 浙江大学 一种基于连词标记和强化学习的自然语言推理方法
US10817657B2 (en) * 2018-12-26 2020-10-27 Nokia Solutions And Networks Oy Determination of field types in tabular data
CN110134943B (zh) 2019-04-03 2023-04-18 平安科技(深圳)有限公司 领域本体生成方法、装置、设备及介质
US10902203B2 (en) * 2019-04-23 2021-01-26 Oracle International Corporation Named entity disambiguation using entity distance in a knowledge graph
US11126647B2 (en) * 2019-12-13 2021-09-21 CS Disco, Inc. System and method for hierarchically organizing documents based on document portions

Also Published As

Publication number Publication date
JP2022545062A (ja) 2022-10-25
US20210056168A1 (en) 2021-02-25
GB2616542A (en) 2023-09-13
GB202308265D0 (en) 2023-07-19
WO2021033087A1 (en) 2021-02-25
GB202203106D0 (en) 2022-04-20
CN114341862A (zh) 2022-04-12
GB2601697A (en) 2022-06-08
US11176323B2 (en) 2021-11-16

Similar Documents

Publication Publication Date Title
DE112020003311T5 (de) Verarbeitung natürlicher sprache unter verwendung eines ontologiegestützten modells zur begriffseinbettung
DE112018004376T5 (de) Schützen kognitiver systeme vor auf gradienten beruhenden angriffen durch die verwendung irreführender gradienten
DE112019001533T5 (de) Erweiterung von trainingsdaten für die klassifikation von natürlicher sprache
DE102019000294A1 (de) Erstellen unternehmensspezifischer Wissensgraphen
DE112018005459T5 (de) Datenanonymisierung
DE102014113870A1 (de) Identifizieren und Anzeigen von Beziehungen zwischen Kandidatenantworten
DE112018006488T5 (de) Automatisierte extraktion echokardiografischer messwerte aus medizinischen bildern
DE102013202365A1 (de) Herausziehen von informationen aus krankenakten
DE112018006345T5 (de) Abrufen von unterstützenden belegen für komplexe antworten
DE112019002235T5 (de) Einbinden eines wörterbuch-bearbeitungssystems in ein text mining
DE112020005095T5 (de) Automatische trennung und extraktion von tabellendaten unter verwendung von maschinellem lernen
DE112017007530T5 (de) Entitätsmodell-erstellung
DE112012005177T5 (de) Erzeugens eines Verarbeitungsmodells für natürliche Sprache für einen Informationsbereich
DE102018010162A1 (de) Online-Wörterbucherweitern von Wortvektoren
US20220004706A1 (en) Medical data verification method and electronic device
DE112018005272T5 (de) Suchen von mehrsprachigen dokumenten auf grundlage einer extraktion der dokumentenstruktur
DE112018005418T5 (de) Kognitive dokumentbild-digitalisierung
DE112021001986T5 (de) Verfahren und System zum Verarbeiten von Datenaufzeichnungen
DE112021000392T5 (de) Leistungsfähiges kommentieren der grundwahrheit
DE112020002886T5 (de) Kontextabhängiges data-mining
DE112018005076T5 (de) Erstellen einer rangfolge von dokumenten auf grundlage ihres semantischen reichtums
DE112020005268T5 (de) Automatisches erzeugen von schema-annotationsdateien zum umwandeln von abfragen in natürlicher sprache in eine strukturierte abfragesprache
DE112013001740T5 (de) Textverarbeitungsverfahren zum Aufbauen eines Textmodells
DE112019002206T5 (de) Knockout-autoencoder zum erkennen von anomalien in biomedizinischen bildern
DE112020002129T5 (de) Deep-learning-ansatz für datenverarbeitungsspannen

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R082 Change of representative

Representative=s name: MEISSNER BOLTE PATENTANWAELTE RECHTSANWAELTE P, DE

R081 Change of applicant/patentee

Owner name: MERATIVE US L.P. (N.D.GES.D.STAATES DELAWARE),, US

Free format text: FORMER OWNER: INTERNATIONAL BUSINESS MACHINES CORPORATION, ARMONK, NY, US