DE112018004140T5 - Abstraktion und übertragbarkeit auf eine absichtserkennung - Google Patents

Abstraktion und übertragbarkeit auf eine absichtserkennung Download PDF

Info

Publication number
DE112018004140T5
DE112018004140T5 DE112018004140.9T DE112018004140T DE112018004140T5 DE 112018004140 T5 DE112018004140 T5 DE 112018004140T5 DE 112018004140 T DE112018004140 T DE 112018004140T DE 112018004140 T5 DE112018004140 T5 DE 112018004140T5
Authority
DE
Germany
Prior art keywords
computer
proxy
semantic analysis
surface shape
identifiers
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
DE112018004140.9T
Other languages
English (en)
Inventor
Donna Karen Byron
Mary Swift
Ladislav Kunc
Benjamin Luke Johnson
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE112018004140T5 publication Critical patent/DE112018004140T5/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/334Query execution
    • G06F16/3344Query execution using natural language analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/237Lexical tools
    • G06F40/247Thesauruses; Synonyms
    • 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
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation
    • G06N5/022Knowledge engineering; Knowledge acquisition

Abstract

Ein durch einen Computer realisiertes Verfahren zum Erstellen eines semantischen Analysemodells. Bei einer Ausführungsform enthält das durch einen Computer realisierte Verfahren ein Erzeugen von Proxy-Kennungen, die einen Satz von Oberflächenform-Varianten aufweisen. Das durch einen Computer implementierte Verfahren erzeugt Trainingsbeispiele, die eine Kombination von Terminal-Token und mindestens einer der Proxy-Kennungen aufweisen. Das durch einen Computer implementierte Verfahren erstellt das semantische Analysemodell unter Verwendung der Trainingsbeispiele.

Description

  • TECHNISCHES GEBIET
  • Die vorliegende Offenbarung bezieht sich im Allgemeinen auf eine Sprachmodellierung, die in Systemen zur Verarbeitung natürlicher Sprache oder in Gesprächsagenten-Systemen verwendet werden kann. Die Verarbeitung natürlicher Sprache ist ein Gebiet, das Verständnis und Handhabung menschlicher Sprache durch Computer beinhaltet.
  • HINTERGRUND
  • Die Verarbeitung natürlicher Sprache wird in den letzten Jahren zunehmend häufiger verwendet, da mehr Anwendungen mittels eines sprachlichen Dialogs mit Nutzern interagieren.
  • Traditionelle Herangehensweisen an die Sprachmodellierung haben sich bei der Ermittlung einer Wahrscheinlichkeitsverteilung über Wortsequenzen hinweg auf einen festen Textkorpus gestützt, um Trainingsproben bereitzustellen. Die Zunahme der Korpusgröße führt häufig zu besser funktionierenden Sprachmodellen. Allerdings lässt sich die Menge an gültigen Trainingsbeispielen für ein zuverlässiges Training eines Klassifikators nur schwer erhalten, da der Prozess übermäßig stark an lexikalische Merkmale (d.h. die Oberflächenform) gebunden ist, aufgrund derer jede alternative Formulierung eines Satzes oder einer Frage explizit in dem Trainingsbeispielsatz bereitgestellt werden muss.
  • In der Technik besteht somit ein Bedarf, das oben genannte Problem zu lösen.
  • KU RZDARSTELLU NG
  • Unter einem ersten Aspekt betrachtet, stellt die vorliegende Erfindung ein durch einen Computer realisiertes Verfahren zum Erstellen von Modellen für Systeme zur Verarbeitung natürlicher Sprache bereit, wobei das durch einen Computer realisierte Verfahren aufweist: ein Erzeugen von Proxy-Kennungen, die einen Satz von Oberflächenform-Varianten aufweisen; ein Erzeugen von Trainingsbeispielen, die eine Kombination von Terminal-Token und mindestens einer der Proxy-Kennungen aufweist; und ein Erstellen eines semantischen Analysemodells unter Verwendung der Trainingsbeispiele.
  • Unter einem weiteren Aspekt betrachtet, stellt die vorliegende Erfindung ein System zum Erstellen von Modellen für Systeme zur Verarbeitung natürlicher Sprache bereit, aufweisend: einen Arbeitsspeicher, der konfiguriert ist, um durch einen Computer ausführbare Anweisungen zu speichern; einen Prozessor, der konfiguriert ist, um die durch einen Computer ausführbaren Anweisungen auszuführen, um: Proxy-Kennungen zu erzeugen, die einen Satz von Oberflächenform-Varianten aufweisen; Trainingsbeispiele zu erzeugen, die eine Kombination von Terminal-Token und mindestens einer der Proxy-Kennungen aufweisen; und unter Verwendung der Trainingsbeispiele ein semantisches Analysemodell zu erstellen.
  • Unter einem weiteren Aspekt betrachtet, stellt die vorliegende Erfindung ein Computerprogrammprodukt für Systeme zur Verarbeitung natürlicher Sprache bereit, wobei das Computerprogrammprodukt ein durch einen Computer lesbares Speichermedium aufweist, das durch eine Verarbeitungsschaltung lesbar ist und Anweisungen zur Ausführung durch die Verarbeitungsschaltung speichert, um ein Verfahren zum Durchführen der Schritte der Erfindung durchzuführen.
  • Unter einem weiteren Aspekt betrachtet, stellt die vorliegende Erfindung ein Computerprogramm bereit, das auf einem durch einen Computer lesbaren Medium gespeichert und in den internen Arbeitsspeicher eines digitalen Computers ladbar ist, das Software-Codeteile aufweist, um bei Ausführung des Programms auf einem Computer die Schritte der Erfindung durchzuführen.
  • Unter einem weiteren Aspekt betrachtet, stellt die vorliegende Erfindung ein durch einen Computer realisiertes Verfahren zum Erstellen von Modellen für Systeme zur Verarbeitung natürlicher Sprache bereit, wobei das durch einen Computer realisierte Verfahren aufweist: ein Erzeugen von Proxy-Kennungen, die einen Satz von Oberflächenform-Varianten aufweisen; ein Erzeugen von Trainingsbeispielen, die mindestens eine der Proxy-Kennungen aufweisen; und ein Erstellen eines semantischen Analysemodells unter Verwendung der Trainingsbeispiele.
  • Die offenbarten Ausführungsformen enthalten ein System zur Verarbeitung natürlicher Sprache, ein Computerprogrammprodukt und verschiedene durch einen Computer realisierte Verfahren zum Erstellen eines semantischen Analysemodells und zum Anwenden des Modells auf ein Verarbeiten von natürlichsprachlichen Eingaben. Als eine Beispiel-Ausführungsform wird ein durch einen Computer realisiertes Verfahren offenbart, das den Schritt eines Erzeugens von Proxy-Kennungen enthält, die einen Satz von Oberflächenform-Varianten aufweisen. Das durch einen Computer implementierte Verfahren erzeugt Trainingsbeispiele, die eine Kombination von Terminal-Token und Proxy-Kennungen aufweisen. Das durch einen Computer realisierte Verfahren erstellt das semantische Analysemodell unter Verwendung der Trainingsbeispiele. Als eine weitere Beispiel-Ausführungsform wird ein durch einen Computer realisiertes Verfahren zum Erstellen und Testen von Modellen für eine semantische Analyse von natürlicher Sprache offenbart, das den Schritt eines Erzeugens von Proxy-Kennungen enthält, die einen Satz von Oberflächenform-Varianten aufweisen. Das durch einen Computer realisierte Verfahren erzeugt Trainingsbeispiele, die eine Kombination von Terminal-Token und mindestens einer der Proxy-Kennungen enthalten. Das durch einen Computer realisierte Verfahren führt unter Verwendung der Trainingsbeispiele eine Merkmalsextraktion durch, um Merkmale der Trainingsbeispiele zu extrahieren. Das durch einen Computer realisierte Verfahren erstellt ein semantisches Analysemodell, das die Merkmale der Trainingsbeispiele als Eingabedaten verwendet.
  • Als eine weitere Beispiel-Ausführungsform wird ein durch einen Computer realisiertes Verfahren offenbart, das den Schritt eines Erzeugens von Proxy-Kennungen enthält, die einen Satz von Oberflächenform-Varianten aufweisen. Das durch einen Computer implementierte Verfahren erzeugt Trainingsbeispiele, die eine oder mehrere Proxy-Kennungen aufweisen. Das durch einen Computer implementierte Verfahren erstellt das semantische Analysemodell unter Verwendung der Trainingsbeispiele.
  • Ein optionales Merkmal verschiedener Ausführungsformen besteht darin, dass der Satz von Oberflächenform-Varianten Oberflächenform-Varianten enthält, die Phrasen sind (z.B. „sind sie“, „ist es“, „ist dies“ usw.). Bei bestimmten Ausführungsformen können die Oberflächenform-Varianten inkonsistente Strukturklassen aufweisen. Zum Beispiel können Oberflächenform-Varianten für ein und dieselbe Proxy-Kennung einzelne Nomen, Nominalphrasen sowie Fragewörter plus Nominalphrasen enthalten. Bei manchen Ausführungsformen können Proxy-Kennungen aus anderen Proxy-Kennungen bestehen. Bei manchen Ausführungsformen können die Oberflächenform-Varianten für eine Proxy-Kennung unter Verwendung verschiedener Ressourcen automatisch mit Daten gefüllt werden, z.B. unter Verwendung von Dokumenten, Wissensgraphen, Thesauren, Wörterbüchern und einer lexikalischen Datenbank, ohne jedoch darauf beschränkt zu sein. Verschiedene Ausführungsformen können außerdem eine spezielle Behandlung von eingabesprachlichen Testinstanzen enthalten, um aus den Oberflächenform-Elementen Proxy-Merkmale abzuleiten.
  • Die offenbarten Ausführungsformen stellen eine Lösung für das dem gegenwärtigen Paradigma des überwachten maschinellen Lernens innewohnende Problem bereit, wonach Trainingsinstanzen natürlich vorkommende Sprachbeispiele sind, ohne dass ein Verfahren zum Feststellen allgemeingültiger Sachverhalte verfügbar ist, die durch eine Sprachklassifizierung oder anderweitige probabilistische Inferenzprozesse auf ähnliche Art und Weise behandelt werden sollten. Zusätzlich hierzu stellen die offenbarten Ausführungsformen insofern mehrere Vorteile gegenüber dem gegenwärtigen Trainingsparadigma bereit, als sie ein schnelleres Training des semantischen Analysemodells ermöglichen, da es nicht notwendig ist, die exakten Phrasen zu erzeugen oder aufzuführen. Ein weiterer Vorteil besteht darin, dass die offenbarten Ausführungsformen ein Aufteilen von Trainingsbeispielen in modulare/austauschbare Stücke ermöglichen, ohne dass grammatikalische Regeln benötigt werden, die eine Austauschbarkeit abbilden.
  • Weitere Ausführungsformen und Vorteile der offenbarten Ausführungsformen werden in der ausführlichen Beschreibung genauer beschrieben.
  • Figurenliste
  • Im Folgenden - und lediglich als Beispiel zu verstehen - wird die vorliegende Erfindung mit Blick auf bevorzugte, in den Figuren veranschaulichte Ausführungsformen beschrieben:
    • 1 ist eine schematische Netzwerkdarstellung eines Systems zur Verarbeitung natürlicher Sprache gemäß verschiedener Ausführungsformen.
    • 2 ist eine schematische Darstellung eines Systems zur Verarbeitung natürlicher Sprache gemäß verschiedenen Ausführungsformen.
    • Die 3A bis 3C sind schematische Darstellungen, welche die Erzeugung von Proxy-Kennungen gemäß verschiedenen Ausführungsformen veranschaulichen.
    • 4 ist ein Ablaufplan, der ein durch einen Computer realisiertes Verfahren zum Erstellen eines semantischen Analysemodells gemäß verschiedenen Ausführungsformen darstellt.
    • 5 ist ein Ablaufplan, der ein durch einen Computer realisiertes Verfahren zum Testen des semantischen Analysemodells gemäß verschiedenen Ausführungsformen darstellt.
    • 6 ist ein Blockschaubild eines Beispiel-Datenverarbeitungssystems gemäß verschiedenen Ausführungsformen.
  • Die veranschaulichten Figuren sind lediglich beispielhaft und sollen mit Blick auf Umgebung, Architektur, Entwurf oder Prozess, in der bzw. dem verschiedene Ausführungsformen realisiert sein können, keinerlei Beschränkung geltend machen oder nahelegen. Etwaige operationale Komponenten oder Schritte sind in den veranschaulichten Figuren durch gestrichelte Linien kenntlich gemacht.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Die offenbarten Ausführungsformen haben zur Aufgabe, den Prozess eines Entwickelns von Sprachmodellen zu verbessern, die in Systemen zur Verarbeitung natürlicher Sprache oder in Gesprächsagenten-Systemen verwendet werden können. Zum Beispiel enthalten die offenbarten Ausführungsformen verschiedene Systeme und Verfahren zum Verwenden von Begriffs- oder phraseologischen Proxys bzw. Proxy-Kennungen innerhalb von Trainingsbeispielen zum Erstellen eines semantischen Analysemodells. Die offenbarten Ausführungsformen stellen eine Lösung für das dem gegenwärtigen Trainingsparadigma innewohnende Problem bereit, wonach alle möglichen Oberflächenformen in den Trainingsbeispielen aufgeführt werden müssen.
  • Obwohl im Folgenden eine veranschaulichende Realisierung einer oder mehrerer Ausführungsformen bereitgestellt wird, sollte von vornherein klar sein, dass die offenbarten Systeme, das offenbarte Computerprogrammprodukt und/oder die offenbarten Verfahren unter Verwendung einer beliebigen Anzahl von Methoden realisiert werden können, unabhängig davon, ob diese gegenwärtig bekannt oder bereits vorhanden sind. Die Offenbarung soll in keiner Weise auf die veranschaulichenden Realisierungen, Zeichnungen und Methoden wie z.B. die hier veranschaulichten und beschriebenen beispielhaften Entwürfe und Realisierungen, wie sie im Folgenden veranschaulicht sind, beschränkt sein, sondern kann innerhalb des inhaltlichen Umfangs der beigefügten Ansprüche sowie sämtlicher Äquivalente hiervon abgewandelt werden.
  • Entsprechend der Verwendung in der schriftlichen Offenbarung und in den Ansprüchen werden die Begriffe „enthaltend“ und „aufweisend“ in einem offenen Sinne verwendet und sollen somit als „enthaltend, ohne darauf beschränkt zu sein“ ausgelegt werden. Entsprechend der Verwendung in diesem Dokument und sofern nicht anderweitig angegeben, erfordert „oder“ keine wechselseitige Ausschließlichkeit und die Singularformen „ein/e/r“ und „der/die/das“ sollen auch die Pluralformen enthalten, sofern der Kontext dies nicht eindeutig anderweitig vorgibt.
  • Der Stand der Technik zur Herstellung eines Verständnisses von natürlicher Sprache unter Verwendung eines überwachten Lernens ist mit vielerlei Herausforderungen verbunden. Anstatt sich darauf zu verlassen, dass Entwickler modulare Sprachressourcen wie z.B. ein Lexikon und eine Grammatik erstellen, werden Trainingsbeispiele als natürlich vorkommende Wortsequenzen aufgeführt, die mit einer erwünschten Ausgabe gekennzeichnet werden, z.B. einer Absichtsklassifizierung oder einer Sentiment-Kennung. Das Verfahren funktioniert gut in einem größeren Maßstab, ist jedoch problematisch bei grundlegenden Aufgaben in Zusammenhang mit bestimmten Sprachverständnis-Prozessen, z.B. bei einem neuen Gesprächsagenten, der in einer geschlossenen Domäne eingesetzt wird, in der kein großes Volumen von bestätigten natürlichsprachlichen Beispielen verfügbar ist, das Systementwickler zum Trainieren verwenden könnten. Die von Hand generierten Trainingsbeispiele, die in solchen Szenarien erzeugt werden, liegen oft als Wiederholung von Formulierungen vor, um die Elemente einer semantischen Kategorie wie z.B. Variationen von Verben oder Eigennamen erschöpfend aufzuzählen.
  • Die Leistung solcher Sprachverständnis-Systeme ist somit mit zwei konkreten Herausforderungen verbunden. Die erste besteht darin, dass die Trainingsbeispiele nicht auf andere Bereitstellungen übertragbar sind, da sie sehr spezifische Wörter wie z.B. Eigennamen beinhalten. Selbst wenn sich nachfolgende Sprachverständnis-Bereitstellungen auf eine ähnliche Gesprächsdomäne beziehen, können sie die für ein früheres Produkt erzeugten Trainingsproben nicht optimal nutzen. Zweitens kann eine künstliche Wiederholung einer Trainingsbeispiel-Formulierung, die zur Erfassung von Varianten eines bestimmten Parameters (wie z.B. eines Produktnamens) erzeugt wurde, zu einem statistischen Bias innerhalb der Sprachmodellmerkmale führen, die aus den Trainingsproben extrahiert werden.
  • Unter Verwendung des gegenwärtigen Stands der Technik können zum Beispiel Trainingsinstanzen einer Frage, ob ein bestimmtes Auto als Hybridmodell verfügbar ist, wie im Folgenden genannt aufgeführt werden. Damit jeder Modellname in den N-Gramm-Merkmalen enthalten ist, die durch ein Training erzeugt werden, wird für jeden Modellnamen ein Beispiel bereitgestellt, obwohl der Inhaltsentwickler eigentlich darstellen will, dass die Fragevorlage „Gibt es eine Hybridversion von X“, bei der X für ein beliebiges Automodell steht, eine gültige Instanz dieser Kategorie ist.
    • Gibt es eine Hybridversion des RAV4?
    • Gibt es eine Hybridversion des Yaris?
    • Gibt es eine Hybridversion des Tundra?
    • Gibt es eine Hybridversion des Tacoma?
    • Gibt es eine Hybridversion des Sienna?
    • Gibt es eine Hybridversion des Sequoia?
    • Gibt es eine Hybridversion des Mirai?
    • Gibt es eine Hybridversion des Land Cruiser?
    • Gibt es eine Hybridversion des Corolla?
    • Gibt es eine Hybridversion des Camry?
    • Ist der Yaris als Hybridmodell erhältlich?
    • Ist der Tundra als Hybridmodell erhältlich?
    • Ist der Tacoma als Hybridmodell erhältlich?
    • Ist der Sienna als Hybridmodell erhältlich?
    • Ist der Sequoia als Hybridmodell erhältlich?
    • Ist der RAV4 als Hybridmodell erhältlich?
    • Ist der Mirai als Hybridmodell erhältlich?
    • Ist der Land Cruiser als Hybridmodell erhältlich?
    • Ist der Highlander als Hybridmodell erhältlich?
    • Ist der Corolla als Hybridmodell erhältlich?
    • Ist der Camry ein Hybridauto?
    • Ist der RAV4 ein Hybridauto?
    • Ist der Toyota ein Hybridauto?
    Es gibt zahlreiche andere Fragen, die in der obigen Liste enthalten sein können.
  • Wie oben gezeigt, besteht ein technisches Problem bei dem gegenwärtigen Trainingsparadigma darin, dass die Erstellung der Trainingsbeispiele für das Sprachmodell eine ermüdende Aufgabe ist, da es zahllose Variationen von Sätzen/Fragen gibt, die als Eingabe erhalten werden können, und da die Austauschbarkeit äquivalenter Wortklassen anhand von expliziten Beispielen gelernt wird. Entsprechend enthalten die offenbarten Ausführungsformen verschiedene Systeme und Verfahren, die eine technische Lösung für das gegenwärtige Trainingsparadigma bereitstellen, indem sie Begriffs- oder phraseologische Proxys bzw. Proxy-Kennungen innerhalb von Trainingsbeispielen zum Erstellen eines semantischen Analysemodells verwenden. Als ein Beispiel kann gemäß verschiedenen Ausführungsformen der obige Trainingssatz als „Ist @Modellname ein Hybrid“ erfasst werden, ergänzt durch den Proxy-Satz: @Modellname= {Rav4, Sienna, Camry ...}. Bei bestimmten Ausführungsformen erfassen die Proxy-Kennungen eine lexikalische Variation einer Oberflächenform mit einer beliebigen willkürlichen, internen grammatikalischen/Konstituentenstruktur. Zum Beispiel können bei manchen Ausführungsformen Varianten für eine bestimmte Proxy-Kennung von einzelnen Nomen zu Nominalphrasen zu Fragewörtern plus Nominalphrasen wechseln, ohne dass die internen Details eine gültige grammatikalische Kategorie bilden müssen. Die offenbarten Ausführungsformen stellen eine Lösung für das dem gegenwärtigen Trainingsparadigma innewohnende Problem bereit, wonach alle Kombinationen von Oberflächenformen in den Trainingsbeispielen aufgeführt werden müssen. Zusätzlich können bei bestimmten Ausführungsformen die offenbarten Beispiele für Proxy-Kennungen von Oberflächenformen über verschiedene Sätze von Trainingsbeispielen hinweg verwendet werden. Zum Beispiel können bei einer Ausführungsform Muster in Fragewörtern und Sätze von Prädikat-Synonymen als ein Satz von Oberflächenform-Varianten aufgeführt werden, der durch eine Proxy-Kennung dargestellt und von einer Implementierung in eine weitere Implementierung kopiert werden kann. In Fällen, in denen die eigentlichen, aus einem vollständigen Satz bestehenden Trainingsbeispiele für einen anderen Gesprächstrainingssatz womöglich nicht relevant sind, wie z.B. bei den obigen Beispielen, können die Proxy-Sätze einen isolierten lexikalischen Inhalt enthalten, der besser zwischen Gesprächen übertragbar ist.
  • 1 ist eine Netzwerkdarstellung eines Systems 100 zur Verarbeitung natürlicher Sprache gemäß verschiedenen Ausführungsformen. In der dargestellten Ausführungsform ist das System 100 zur Verarbeitung natürlicher Sprache über ein Netzwerk 140 mit verschiedenen anderen Systemen 110 kommunikativ gekoppelt. Die Systeme 110 können Systeme enthalten, die einen Korpus von Trainingsbeispielsätzen oder eine lexikalische Datenbank (z.B. WordNet®) enthalten, die durch das System 100 zur Verarbeitung natürlicher Sprache beim Erstellen eines semantischen Analysemodells verwendet werden können. Die Systeme 110 können Systeme enthalten, die beim Erstellen oder Testen eines semantischen Analysemodells mit dem System 100 zur Verarbeitung natürlicher Sprache interagieren (z.B. entfernt angeordnete Programmierer- oder Entwicklersysteme). Das System 100 zur Verarbeitung natürlicher Sprache kann außerdem mit mindestens einer Endnutzereinheit 120 kommunikativ gekoppelt sein. Die Endnutzereinheit 120 kann eine beliebige Art von elektronischer Einheit sein, die eine oder mehrere Anwendungen enthält, die eine natürlichsprachliche Eingabe von einem Nutzer empfängt. Zum Beispiel kann die Endnutzereinheit 120 ein Smartphone mit dem eingebauten kognitiven Agenten sein, der über einen verbalen Dialog mit einem Nutzer kommuniziert. Obwohl das System 100 zur Verarbeitung natürlicher Sprache als ein von der Endnutzereinheit 120 getrenntes und entfernt angeordnetes System dargestellt ist, kann das System 100 zur Verarbeitung natürlicher Sprache bei verschiedenen Ausführungsformen als Teil der Endnutzereinheit 120 oder als Teil eines weiteren Systems integriert sein.
  • Wie weiter oben und hierin verwendet, bedeutet der Begriff „kommunikativ gekoppelt,“ in der Lage zu sein, Daten über eine Datenübertragungsverbindung zu senden und/oder zu empfangen. Bei bestimmten Ausführungsformen können Datenübertragungsverbindungen auch eine interne Datenübertragung zwischen verschiedenen Komponenten eines Systems und/oder mit einer externen Eingabe/Ausgabe-Einheit wie z.B. einer Tastatur- oder Anzeigeeinheit umfassen. Zusätzlich kann die Datenübertragungsverbindung sowohl drahtgebundene als auch drahtlose Verbindungen enthalten und kann eine Direktverbindung sein oder mehrere Verbindungen aufweisen, die durch eine oder mehrere Netzwerkeinheiten wie z.B. Router, Firewalls, Server und Switches führt, ohne jedoch darauf beschränkt zu sein. Die Netzwerkeinheit kann in verschiedenen Arten von Netzwerken angesiedelt sein.
  • Sofern nicht konkret angegeben, kann jeder Bezug auf das Verarbeiten, Abrufen und die Speicherung von Daten und durch einen Computer ausführbaren Anweisungen lokal in einer elektronischen Einheit und/oder in einer entfernt angeordneten Netzwerkeinheit durchgeführt werden. Zum Beispiel können Daten in einer Datenspeicherkomponente einer lokalen Einheit abgerufen oder gespeichert werden und/oder in einer entfernt angeordneten Datenbank oder anderen Datenspeichersystemen abgerufen oder gespeichert werden.
  • Wie hier verwendet, ist ein Netzwerk wie z.B. das Netzwerk 140 ein System von elektronischen Einheiten, die über Datenübertragungsverbindungen miteinander verbunden sind, um das Austauschen von Informationen und/oder das gemeinsame Nutzen von Ressourcen zu ermöglichen. Nicht beschränkende Beispiele für Netzwerke enthalten lokale Netzwerke (Local Area Networks, LANs), Weitverkehrsnetzwerke (Wide Area Networks, WANs) und Hochgeschwindigkeitsnetzwerke (Metropolitan Area Networks, MANs). Die Netzwerke können ein oder mehrere private Netzwerke und/oder öffentliche Netzwerke wie z.B. das Internet enthalten. Die Netzwerke können jede Art von Datenübertragungsstandards und/oder -protokoll verwenden.
  • 2 ist eine schematische Darstellung eines Systems 100 zur Verarbeitung natürlicher Sprache gemäß verschiedenen Ausführungsformen. Bei der dargestellten Ausführungsform enthält das System 100 zur Verarbeitung natürlicher Sprache ein Proxy-Erzeugungsmodul 210, ein Modul 220 zur Erzeugung von Trainingsbeispielen, ein Merkmalsextraktionsmodul 230, ein Modul 240 für das Training von semantischen Analysemodellen und ein Modul 250 zur Verarbeitung von Nutzereingaben.
  • Wie hier verwendet, kann ein Modul Software-Komponenten, Hardware-Komponenten und/oder eine Kombination hiervon aufweisen. Die Software-Komponenten können Datenzugriffsobjekte, Dienstkomponenten, Benutzerschnittstellenkomponenten, API-Komponenten (Application Programming Interface) und andere durch einen Computer ausführbare Anweisungen enthalten, ohne hierauf beschränkt zu sein. Die Hardware-Komponenten können eine elektrische Schaltung, einen oder mehrere Prozessoren und eine oder mehrere Speicherkomponenten wie z.B. einen Arbeitsspeicher enthalten, ohne jedoch hierauf beschränkt zu sein. Der Arbeitsspeicher kann ein flüchtiger Arbeitsspeicher oder ein nicht flüchtiger Arbeitsspeicher sein, der Daten und durch einen Computer ausführbare Anweisungen speichert. Ohne darauf beschränkt zu sein, können die durch einen Computer ausführbaren Anweisungen in jeder Form vorliegen, z.B. als Maschinencode, Assembler-Code und allgemeiner Programmiercode, der in einer beliebigen Programmiersprache geschrieben ist. Das Modul kann konfiguriert sein, um die Daten zur Ausführung von einer oder mehreren Anweisungen zu verwenden, um eine oder mehrere Aufgaben durchzuführen.
  • Bei einer Ausführungsform ist das Proxy-Erzeugungsmodul 210 konfiguriert, um die Erzeugung von Proxy-Kennungen zu ermöglichen. Wie hier verwendet, ist eine Proxy-Kennung ein Bezeichner, der einen Satz von lexikalischen Variationen einer Oberflächenform enthält. Bei bestimmten Ausführungsformen kann der Bezeichner einen Namen, eine Kennzeichnung und/oder eine Identifizierungsnummer haben, der bzw. die dem Satz von lexikalischen Variationen einer Oberflächenform entspricht. Bei bestimmten Ausführungsformen kann vor, am Ende oder in der Proxy-Kennung mindestens ein Symbol stehen, um anzugeben, dass es sich um eine Proxy-Kennung handelt. Zum Beispiel kann bei einer Ausführungsform das @-Symbol vor einem benannten Bezeichner stehen, um anzugeben, dass es sich um eine Proxy-Kennung handelt. Als nicht beschränkendes Beispiel kann @Farben eine Proxy-Kennung sein, die einen Satz von verschiedenen Farben enthält, und @StädtelnBayern kann einen Satz mit Namen von Städten in Bayern enthalten. Bei verschiedenen Ausführungsformen kann es sich bei den Proxy-Kennungen um phraseologische Proxy-Kennungen handeln, die einen Satz von lexikalischen Oberflächenform-Variationen aufweisen, der Phrasen enthält. Zum Beispiel kann @wieViele eine phraseologische Proxy-Kennung sein, die einen Satz von lexikalischen Oberflächenform-Variationen wie z.B. {die Anzahl von, Anzahl von, wie viele, die Menge von, Menge von, die Gesamtzahl von, Gesamtzahl von} aufweist. Bei bestimmten Ausführungsformen erfassen die Proxy-Kennungen eine lexikalische Oberflächenform-Variation mit einer beliebigen willkürlichen, internen grammatikalischen/Konstituentenstruktur. Zum Beispiel können bei verschiedenen Ausführungsformen die lexikalischen Oberflächenform-Variationen Rechtschreibfehler der lexikalischen Oberflächenform-Variationen oder Homonyme enthalten, um unscharfe/ungenaue Treffer zu ermöglichen. Bei verschiedenen Ausführungsformen können die Oberflächenform-Varianten inkonsistente Strukturklassen aufweisen. Zum Beispiel können bei bestimmten Ausführungsformen Varianten für eine bestimmte Proxy-Kennung von einzelnen Nomen zu Nominalphrasen wechseln, um Wörter plus Nominalphrasen zu erfragen, ohne dass die internen Details hierfür eine gültige grammatikalische Kategorie bilden müssen.
  • Bei verschiedenen Ausführungsformen können die Proxy-Kennungen und der entsprechende Satz von lexikalischen Oberflächenform-Variationen erzeugt und mit Daten gefüllt werden, indem eine Eingabe von einem Nutzer empfangen wird. Bei manchen Ausführungsformen kann die Erzeugung der Proxy-Kennungen und des entsprechenden Satzes von lexikalischen Oberflächenform-Variationen automatisiert erfolgen. Zum Beispiel kann bei bestimmten Ausführungsformen das Proxy-Erzeugungsmodul 210 Proxy-Kennungen und den entsprechenden Satz von lexikalischen Oberflächenform-Variationen auf Grundlage von Informationen automatisch erzeugen, die aus Glossaren, Wissensgraphen oder einer Wissensdatenbank, durch eine Begriffserkennung innerhalb einer Dokumentensammlung und aus einer lexikalischen Datenbank wie z.B. WordNet® oder anderen Ressourcen mit Synonymen oder aber durch eine automatische Extraktion von wiederholten Wortsequenzen erhalten werden, die in in Rohform vorliegenden Trainingsproben eines Korpus vorhanden sind. Nachdem die Proxy-Kennungen erzeugt wurden, können sie bei einer Ausführungsform lokal oder entfernt in einer Proxy-Kennungsdatenbank 212 gespeichert werden. Bei manchen Ausführungsformen kann das System 100 zur Verarbeitung natürlicher Sprache zuvor erzeugte Proxy-Kennungen aus einer oder mehreren Quellen beziehen, um sie in den hier offenbarten Trainingsbeispielen zu verwenden.
  • Bei einer Ausführungsform ist das Modul 220 zur Erzeugung von Trainingsbeispielen konfiguriert, um die Erzeugung von Trainingsbeispielen unter Verwendung der Proxy-Kennungen zu ermöglichen. Bei manchen Ausführungsformen können die Trainingsbeispiele aus jeder beliebigen Kombination von Proxy-Kennungen und Terminal-Token der Oberflächenform bestehen (z.B. gewöhnlichen Wörtern, Satzzeichen usw.). Ein Terminal-Token ist die kleinste bedeutungstragende Einheit einer Aussage und kann aus einem oder mehreren Zeichen bestehen. Beispiele für Terminal-Token enthalten, ohne darauf beschränkt zu sein, Namen, Wörter, Zahlen, Kennzeichnungen, Operatorsymbole (z.B. +, =, =>, :, ::, ;, %), Kommata und Trennzeichen. Bei verschiedenen Ausführungsformen können die Terminal-Token in einem Trainingsbeispiel Wörter enthalten, die als Oberflächenform-Varianten in einer Proxy-Kennung enthalten sind. Dies ist zum Beispiel dann der Fall, wenn ein bestimmtes Trainingsbeispiel nur für manche, nicht jedoch für alle Instanzen eines Proxy-Satzes gültig ist, z.B. wenn womöglich nur bestimmte Automodelle bestimmte Merkmale besitzen (z.B. „Gibt es den RAV4 mit Geländereifen?“).
  • Bei einer Ausführungsform kann ein Nutzer von Hand Trainingsbeispiele erzeugen/schreiben. Als ein Beispiel kann der Nutzer ein Trainingsbeispiel erzeugen, das lautet: „@wieViele@Präsidenten waren @Beruf?“ Die Proxy-Kennung @wieViele kann den Satz von lexikalischen Oberflächenform-Variationen wie oben beschrieben enthalten. Die Proxy-Kennung @Präsidenten kann einen Satz von lexikalischen Oberflächenform-Variationen enthalten, der {US-Präsidenten, Präsidenten und Präsidenten der Vereinigten Staaten} enthält. Die Proxy-Kennung @Beruf kann einen Satz von lexikalischen Oberflächenform-Variationen enthalten, der {Anwälte, Ärzte, Schauspieler, Farmer, Senatoren und Kongressabgeordnete} enthält. Wie gezeigt, kann ein einziges Trainingsbeispiel gemäß den offenbarten Ausführungsformen zahllose Variationen von Beispielen für ein Erstellen eines semantischen Analysemodells bereitstellen. Bei bestimmten Ausführungsformen müssen die Trainingsbeispiele keinen vollständigen Satz bilden, können ausschließlich Proxy-Kennungen (d.h. keine Terminal-Token) enthalten oder in einer grammatikalisch fehlerhaften Reihenfolge vorliegen. Zum Beispiel kann bei manchen Ausführungsformen das System 100 zur Verarbeitung natürlicher Sprache konfiguriert sein, um anhand der Trainingsbeispiele „@wieViele @Präsidenten @Beruf“ oder „@wieViele @Beruf @Präsidenten“ dieselben Beispiele für ein Erstellen eines semantischen Analysemodells zu erzeugen, wie dies anhand der Trainingsbeispiele „@wieViele @Präsidenten waren @Beruf?“ der Fall wäre. Entsprechend der Erzeugung von Proxy-Kennungen kann ein Nutzer bei manchen Ausführungsformen mit einer Benutzerschnittstelle oder einer Anwendung interagieren, um Trainingsbeispiele zu erzeugen. Zusätzlich können bei manchen Ausführungsformen die Trainingsbeispiele auf Grundlage eines Korpus von Sätzen und/oder Dokumenten automatisch generiert werden. Nachdem die Proxy-Kennungen erzeugt wurden, können sie bei einer Ausführungsform lokal oder entfernt in einer Proxy-Kennungsdatenbank 222 gespeichert werden.
  • Bei einer Ausführungsform enthält das Merkmalsextraktionsmodul 230 Anweisungen zum Verarbeiten der offenbarten Trainingsbeispiele und zum Extrahieren der Merkmale aus den Trainingsbeispielen. Bei manchen Ausführungsformen kann das Merkmalsextraktionsmodul 230 jedes der Trainingsbeispiele zu einer wie auch immer gearteten anderen Form erweitern, z.B. zu einem Satz, einer Frage oder Phrase. Bei manchen Ausführungsformen kann das Merkmalsextraktionsmodul 230 Begriffe oder Wörter zu einem Trainingsbeispiel hinzufügen, um einen vollständigen Satz zu bilden. Bei einer anderen Ausführungsform kann das Merkmalsextraktionsmodul 230 die Trainingsbeispiele verarbeiten, ohne jedes der Trainingsbeispiele zu getrennten Formen zu erweitern. Bei manchen Ausführungsformen kann das Merkmalsextraktionsmodul 230 ermitteln, ob die Aussage eine Frage ist; ob die Frage nach einem Namen einer Person, einem Ort oder Ding fragt; ob die Frage nach einer Zahl wie z.B. einer Anzahl, einer Telefonnummer oder einer Temperatur fragt; oder ob die Frage nach einer Adresse, einer Wegbeschreibung, nach Anweisungen usw. fragt.
  • Bei einer Ausführungsform werden die durch das Merkmalsextraktionsmodul 230 unter Verwendung der Trainingsbeispiele generierten Daten anschließend in das Modul 240 für das Training von semantischen Analysemodellen eingegeben. Das Modul 240 für das Training von semantischen Analysemodellen ist konfiguriert, um auf Grundlage der Eingabedaten ein semantisches Analysemodell zu erstellen. Ein semantisches Analysemodell ist ein statistisches Modell, das verwendet wird, um die relative Wahrscheinlichkeit verschiedener Phrasen abzuschätzen (d.h. eine Wahrscheinlichkeit zu ermitteln, dass eine bestimmte Eingabesequenz mit einer vorgegebenen Phrase oder einer durch einen Nutzer definierten Absichtskategorie übereinstimmt). Bei bestimmten Ausführungsformen kann das semantische Analysemodell statistische Übereinstimmungen von bestimmten Klängen mit Wortsequenzen enthalten. Bei manchen Ausführungsformen kann das semantische Analysemodell außerdem eine statistische Kontextanalyse bereitstellen, um zwischen ähnlich klingenden Wörtern und Phrasen zu unterscheiden. Bei verschiedenen Ausführungsformen kann das semantische Analysemodell stochastisch und/oder grammatikalisch sein. Das semantische Analysemodell kann lokal oder entfernt in einer oder mehreren Datenbanken 242 für semantische Analysemodelle gespeichert werden. Bei verschiedenen Ausführungsformen ist jedes Trainingsbeispiel ein Paar, das aus einem Eingabeobjekt und einem gewünschten Ausgabewert besteht. Ein Algorithmus für überwachtes Lernen analysiert die Trainingsdaten und erzeugt ein semantisches Analysemodell, das zum Abbilden neuer Beispiele oder einer unbekannten lexikalischen Sequenz verwendet werden kann. Zum Beispiel paart das semantische Analysemodell bei manchen Ausführungsformen Ausgabewerte oder -kennzeichnungen aus den Trainingsbeispielen mit Kombinationen von Eingabemerkmalen. In einem optimalen Szenario kann das semantische Analysemodell dazu verwendet werden, die Klassenkennzeichnungen für unbekannte Instanzen korrekt zu ermitteln.
  • Bei einer Ausführungsform ist das Modul 250 zur Verarbeitung von Nutzereingaben konfiguriert, um eine Nutzereingabe wie z.B. einen Sprachbefehl, einen Dialog oder eine Texteingabe zu empfangen und die Nutzereingabe zu verarbeiten, um die Bedeutung oder Absicht der Nutzereingabe zu ermitteln. Zum Beispiel kann das Modul 250 zur Verarbeitung von Nutzereingaben 250 bei einer Ausführungsform konfiguriert sein, um das erzeugte semantische Analysemodell dazu zu verwenden, einen Sprachbefehl in normalen Text umzuwandeln und die semantische Bedeutung des Sprachbefehls zu ermitteln. Bei bestimmten Ausführungsformen kann das Modul 250 zur Verarbeitung von Nutzereingaben einen Dialog-Manager enthalten, um eine Ausgabe oder Antwort auf die Nutzereingabe zu ermitteln und die Ausgabe oder Antwort zu generieren. Bei bestimmten Ausführungsformen kann das Modul 250 zur Verarbeitung von Nutzereingaben 250 mit einem oder mehreren externen Systemen Daten austauschen, um die geeignete Ausgabe oder Antwort zu ermitteln. Bei bestimmten Ausführungsformen kann der Dialog-Manager die Ausgabe in Sprache umwandeln, um ein Gespräch mit dem Nutzer zu führen.
  • Die 3A bis 3C sind schematische Darstellungen, welche die Erzeugung von Proxy-Kennungen gemäß verschiedenen Ausführungsformen veranschaulichen. Die Proxy-Kennungen können unter Verwendung des Proxy-Erzeugungsmoduls 210 erzeugt und in der Proxy-Kennungsdatenbank 212 gespeichert werden, wie in 2 beschrieben wird. 3A veranschaulicht eine Benutzerschnittstelle 300 zum Hinzufügen einer phraseologischen Proxy-Kennung, die @GIBTES lautet. 3B veranschaulicht eine Benutzerschnittstelle 310 zum Hinzufügen einer Wort-Proxy-Kennung, die @HYBRID lautet. In den dargestellten Ausführungsformen kann ein Nutzer unter „Neuen Wert hinzufügen“ 302 ein Wort oder eine Phrase in den Satz von Oberflächenform-Varianten eintippen oder eingeben, welcher der Proxy-Kennung zugehörig ist. Zusätzlich kann die Benutzerschnittstelle 300 vordefinierte Begriffe oder Phrasen 304 enthalten, die die Nutzer auswählen kann, um sie zu der Proxy-Kennung hinzuzufügen. Die Benutzerschnittstelle 300 kann außerdem Begriffe oder Phrasen 306 darstellen, die entweder bereits von Hand durch den Nutzer zu der Proxy-Kennung hinzugefügt wurden oder die automatisch durch das System hinzugefügt wurden, wie weiter oben beschrieben. Bei bestimmten Ausführungsformen kann ein „X“ 308 neben einem Begriff/einer Phrase 306 ausgewählt werden, um den Begriff/die Phrase 306 aus der Proxy-Kennung zu löschen.
  • 3C veranschaulicht eine Benutzerschnittstelle 330 zum Hinzufügen einer Kategorie-Proxy-Kennung, die @AUTOMODELL lautet. Entsprechend den 3A und 3B kann ein Nutzer unter „Neuen Wert hinzufügen“ 332 ein Wort oder eine Phrase in den Satz von Oberflächenform-Varianten eintippen oder eingeben, welcher der Proxy-Kennung zugehörig ist. Bei dieser Ausführungsform ermöglicht die Benutzerschnittstelle 330 einem Nutzer, den Satz von Oberflächenform-Varianten hinzuzufügen, der anderen Proxy-Kennungen zugehörig ist. Zum Beispiel kann in der dargestellten Ausführungsform die Proxy-Kennung @Avalon 334 ausgewählt werden, um die Oberflächenform-Varianten Toyota® Avalon® und Avalon® zu der Proxy-Kennung @AUTOMODELL hinzuzufügen. Eine ähnliche Proxy-Kennung @Rav4 336 kann ausgewählt werden, um die Oberflächenform-Varianten Toyota® Rav4® und Rav4® zu der Proxy-Kennung @AUTOMODELL hinzuzufügen. Darüber hinaus kann eine Proxy-Kennung @FORD 338 ausgewählt werden, um verschiedene Ford®-Automodelle wie z.B. die Oberflächenform-Varianten Ford Mustang und Ford F150 zu der Proxy-Kennung @AUTOMODELL hinzuzufügen. Somit veranschaulicht 3C, dass eine Proxy-Kennung unter Verwendung von einer oder mehreren anderen Proxy-Kennungen erzeugt werden kann.
  • 4 ist ein Ablaufplan, der ein durch einen Computer realisiertes Verfahren 400 zum Erstellen eines semantischen Analysemodells gemäß verschiedenen Ausführungsformen darstellt. Das durch einen Computer realisierte Verfahren 400 kann durch ein System zur Verarbeitung natürlicher Sprache wie z.B. das System 100 zur Verarbeitung natürlicher Sprache durchgeführt werden. Das System zur Verarbeitung natürlicher Sprache kann konfiguriert sein, um unter Verwendung eines oder mehrerer Prozessoren oder Verarbeitungskomponenten entsprechend dem durch einen Computer realisierten Verfahren 400 Anweisungen oder Code auszuführen. Bei der dargestellten Ausführungsform beginnt das durch einen Computer realisierte Verfahren 400 in Schritt 402, indem es Proxy-Kennungen erzeugt und jede der Proxy-Kennungen mit einem Satz von Oberflächenform-Varianten füllt. Bei verschiedenen Ausführungsformen enthält jede Proxy-Kennung einen Namen oder Bezeichner (ID) für den Satz von Oberflächenform-Varianten. Wie oben erwähnt, können die Proxy-Kennungen durch einen Nutzer und/oder automatisch erzeugt werden, z.B. indem eine Textanalyse oder Begriffserkennung für einen Korpus von Dokumenten oder Sätzen, Glossaren, Wissensgraphen oder einer Wissensdatenbank, lexikalischen Datenbanken oder anderen Ressourcen durchgeführt wird.
  • Das durch einen Computer implementierte Verfahren 400 erzeugt in Schritt 404 Trainingsbeispiele, die eine oder mehrere Proxy-Kennungen enthalten. Bei verschiedenen Ausführungsformen enthalten die Trainingsbeispiele eine Kombination von Terminal-Token und Proxy-Kennungen. Bei manchen Ausführungsformen können die Trainingsbeispiele lediglich Proxy-Kennungen enthalten. Bei bestimmten Ausführungsformen kann die Erzeugung der Trainingsbeispiele automatisiert sein, oder die Trainingsbeispiele können manuell durch einen Nutzer erzeugt werden. Bei verschiedenen Ausführungsformen müssen die Trainingsbeispiele keine vollständigen Phrasen oder Sätze bilden.
  • Nachdem die Trainingsbeispiele erzeugt wurden, kann das durch einen Computer realisierte Verfahren 400 bei verschiedenen Ausführungsformen in Schritt 406 optional eine Merkmalsextraktion unter Verwendung der Trainingsbeispiele durchführen, um wie oben beschrieben verschiedene Merkmalsextraktionsdaten zu generieren. Zum Beispiel kann der Merkmalsextraktionsprozess bei bestimmten Ausführungsformen ein Parsen durchführen, Schlüsselwörter generieren, unscharfe/ungenaue Treffer ermitteln (z.B. falsch geschriebene Wörter) und ein Wortart-Tagging der Trainingsbeispiele durchführen. Das durch einen Computer realisierte Verfahren 400 verwendet in Schritt 408 die Trainingsbeispiele und/oder die Merkmalsextraktionsdaten, um ein semantisches Analysemodell zu erstellen. Zum Beispiel kann bei einer Ausführungsform das durch einen Computer realisierte Verfahren 400 konfiguriert sein, um Ausgabekennzeichnungen aus den Trainingsbeispielen mit Merkmalskombinationen zu paaren. Das semantische Analysemodell wird dazu verwendet, die statistische Wahrscheinlichkeit zu ermitteln, dass verschiedene Phrasen mit einer Eingabephrase übereinstimmen, oder die beste Absichtskategorie von Sätzen zu ermitteln, die mit einer Eingabephrase übereinstimmen. Bei verschiedenen Ausführungsformen kann das semantische Analysemodell auch dazu verwendet werden, den Ton einer Phrase zu ermitteln (z.B. positiv, negativ oder neutral). Die offenbarten Ausführungsformen können zur Verwendung eines semantischen Analysemodells in jeder beliebigen Sprache verwendet werden.
  • 5 ist ein Ablaufplan, der ein durch einen Computer realisiertes Verfahren 500 zum Testen des semantischen Analysemodells gemäß verschiedenen Ausführungsformen darstellt. Das durch einen Computer realisierte Verfahren 500 kann durch ein System zur Verarbeitung natürlicher Sprache wie z.B. das System 100 zur Verarbeitung natürlicher Sprache durchgeführt werden, indem unter Verwendung eines oder mehrerer Prozessoren oder Verarbeitungskomponenten entsprechend dem durch einen Computer realisierten Verfahren 500 Anweisungen oder Code ausgeführt werden. Bei der dargestellten Ausführungsform beginnt das durch einen Computer realisierte Verfahren 500 in Schritt 502, indem es eine lexikalische Sequenz als eine Eingabe empfängt. Die lexikalische Sequenz kann eine Kombination von Schlüsselwörtern, ein vollständiger Satz, eine Frage oder eine beliebige andere Sequenz von Zeichen sein. Die lexikalische Sequenz kann als ein verbaler Dialog, eine Texteingabe oder eine Kombination hiervon empfangen werden. Als ein weiteres optionales Merkmal kann das durch einen Computer realisierte Verfahren 500 bei manchen Ausführungsformen konfiguriert sein, um eine Proxy-Kennung als Teil der lexikalischen Sequenzeingabe zu empfangen. Zum Beispiel möchte ein Nutzer bei manchen Ausführungsformen womöglich „Welches @Automodell wird am besten bewertet“ als eine lexikalische Sequenz eingeben.
  • Das durch einen Computer realisierte Verfahren 500 konfiguriert, um in Schritt 504 eine Proxy-Analyse der lexikalischen Sequenz auf Wortsequenzen durchzuführen, die in den Oberflächenform-Varianten der Proxy-Kennungen aufgeführt sind. Wenn zum Beispiel einer der Begriffe in der lexikalischen Sequenz Toyota® lautet, kann die Proxy-Analyse ermitteln, dass die lexikalische Sequenz womöglich die Proxy-Kennung @Automodelle betrifft. Bei verschiedenen Ausführungsformen kann die Proxy-Analyse konfiguriert sein, um ungenaue Treffer z.B. für falsch geschriebene Versionen von Oberflächenform-Varianten oder Homonyme zu ermitteln. Bei bestimmten Ausführungsformen kann die Proxy-Analyse konfiguriert sein, um die Proxy-Kennungen auf Grundlage des umgebenden Wortkontextes der lexikalischen Sequenz zu ermitteln, wenn die Wortsequenzen in den Oberflächenform-Varianten von mehreren der Proxy-Kennungen aufgeführt sind. Bei einer Ausführungsform wird ein boolesches Merkmal für die Proxy-Kennung auf „wahr“ gesetzt, wenn die Proxy-Analyse einen Treffer für eine Oberflächenform-Variante der Proxy-Kennung in der lexikalischen Sequenz findet. Gemäß den offenbarten Ausführungsformen können auch andere Formen eines Verfolgens verwendet werden, wenn die Proxy-Analyse einen Treffer für eine Oberflächenform-Variante einer Proxy-Kennung in der lexikalischen Sequenz findet.
  • Bei einer Ausführungsform ist das durch einen Computer realisierte Verfahren 500 konfiguriert, um in Schritt 506 die lexikalische Sequenz auf Grundlage der Proxy-Analyse umzuwandeln. Bei einer Ausführungsform wandelt das durch einen Computer realisierte Verfahren 500 eine grundlegende lexikalische Sequenz in eine Form um, die Proxy-Kennungen enthält, indem sie ein oder mehrere Wörter in der lexikalischen Sequenz durch die Proxy-Kennungen ersetzt. Wenn die lexikalische Sequenz zum Beispiel „Haben Honda Civics einen hohen Wiederkaufswert?“ lautet, kann das durch einen Computer realisierte Verfahren 500 die lexikalische Sequenz in „Haben @Automodell einen hohen Wiederverkaufswert“ umwandeln.
  • Das durch einen Computer realisierte Verfahren 500 ist konfiguriert, um in Schritt 508 unter Verwendung des semantischen Analysemodells eine semantische Analyse der lexikalischen Sequenz zu erzeugen. Nachdem die lexikalische Sequenz in eine Proxy-Form umgewandelt wurde, verwendet das durch einen Computer realisierte Verfahren 500 bei einer Ausführungsform zum Beispiel das semantische Analysemodell und die verschiedenen lexikalischen Formen, die den Proxy-Kennungen zugehörig sind, um eine semantische Analyse der lexikalischen Sequenz zu erzeugen. Bei bestimmten Ausführungsformen kann das durch einen Computer realisierte Verfahren 500 auf Grundlage des semantische Analysemodells und eines Konfidenz-Scores, der jeder der möglichen Kategorien zugehörig ist, eine Liste von möglichen Absichtskategorien generieren.
  • Als ein optionaler Schritt 510 ist das durch einen Computer realisierte Verfahren 500 bei manchen Ausführungsformen konfiguriert, um eine Antwort auf die lexikalische Sequenz zu ermitteln und die Antwort einem Nutzer bereitzustellen. Nachdem zum Beispiel eine lexikalische Sequenz ermittelt wurde, kann das durch einen Computer realisierte Verfahren 500 ein oder mehrere Systeme oder Datenbanken nach einer Antwort auf die lexikalische Sequenz abfragen. Das durch einen Computer realisierte Verfahren 500 kann die Antwort dann unter Verwendung einer Sprachsynthese umwandeln, um dem Nutzer eine verbale Antwort bereitzustellen.
  • 6 ist ein Blockschaubild verschiedener Hardware-Komponenten des Systems 100 zur Verarbeitung natürlicher Sprache gemäß einer Ausführungsform. Obwohl 6 bestimmte grundlegende Komponenten des Systems 100 zur Verarbeitung natürlicher Sprache darstellt, können die offenbarten Ausführungsformen auch in sehr fortschrittlichen System wie einem IBM®Power® 750-Server oder dem IBM Watson™-Supercomputer realisiert sein, der einen Cluster von 90 IBM Power 750-Servern nutzt, von denen jeder einen 3,5 GHz POWER7®-8-Kern-Prozessor mit vier Threads pro Kern verwendet. Zusätzlich enthalten bestimmte Ausführungsformen des Systems 100 zur Verarbeitung natürlicher Sprache unter Umständen nicht alle in 6 dargestellten Hardware-Komponenten. Entsprechend können bestimmte Ausführungsformen des Systems 100 zur Verarbeitung natürlicher Sprache zusätzliche Hardware-Komponenten enthalten, die in 6 nicht dargestellt sind. IBM, Power, Watson und POWER7 sind Marken der International Business Machines Corporation, die in vielen Ländern weltweit eingetragen sind.
  • In dem dargestellten Beispiel kann das System 100 zur Verarbeitung natürlicher Sprache eine Hub-Architektur verwenden, die einen North Bridge & Memory Controller Hub (NB/MCH) 606 und einen South Bridge & Input/Output (I/O) Controller Hub (SB/ICH) 610 enthält. Der bzw. die Prozessor(en) 602, der Hauptarbeitsspeicher 604 und der Grafikprozessor 608 sind mit dem NB/MCH 606 verbunden. Der Grafikprozessor 608 kann über einen Accelerated Graphics Port (AGP) mit dem NB/MCH 606 verbunden sein. Ein Bussystem wie z.B. ein Bus 632 oder ein Bus 634 kann unter Verwendung einer beliebigen Art von Datenübertragungsstruktur oder -architektur realisiert sein, die eine Übertragung von Daten zwischen verschiedenen Komponenten oder Einheiten bereitstellt, die mit der Struktur oder Architektur verbunden sind.
  • In dem dargestellten Beispiel ist ein Netzwerkadapter 616 mit dem SB/ICH 610 verbunden. Ein Audioadapter 630, ein Tastatur- und Mausadapter 622, ein Modem 624, ein Festwertspeicher (Read-Only Memory, ROM) 626, ein Festplattenlaufwerk (Hard Disk Drive, HDD) 612, ein CD-ROM-Laufwerk 614 (Compact Disk Read-Only Memory), USB-Anschlüsse (Universal Serial Bus) und andere Datenübertragungsanschlüsse 618 sowie PCI/PCIe-Einheiten 620 (Peripheral Component Interconnect/Peripheral Component Interconnect express) sind über den Bus 632 und den Bus 634 mit dem SB/ICH 610 verbunden. Die PCI/PCIe-Einheiten 620 können zum Beispiel Ethernet-Adapter, Erweiterungskarten und PC-Karten für Notebook Computer enthalten. PCI verwendet einen CardBus-Controller, PCle nicht. Der ROM 626 kann zum Beispiel ein Flash-BIOS (Binary Input/Output System) sein. Der Modem 624 oder der Netzwerkadapter 616 können zum Senden und Empfangen von Daten über ein Netzwerk verwendet werden.
  • Das HDD 612 und das CD-ROM-Laufwerk 614 sind über den Bus 634 mit dem SB/ICH 610 verbunden. Das HDD 612 und das CD-ROM-Laufwerk 614 können zum Beispiel eine IDE-Schnittstelle (Integrated Drive Electronics) oder eine SATA-Schnittstelle (Serial Advanced Technology Attachment) verwenden. Eine SIO-Einheit (Super I/O) 628 kann mit dem SB/ICH 610 verbunden sein. Bei manchen Ausführungsformen kann das HDD 612 durch andere Arten von Datenspeichereinheiten ersetzt werden, z.B. Halbleiterlaufwerke (Solid-State Drives, SSDs), ohne jedoch darauf beschränkt zu sein.
  • In dem bzw. den Prozessor(en) 602 wird ein Betriebssystem ausgeführt. Das Betriebssystem koordiniert verschiedene Komponenten innerhalb des Systems 100 zur Verarbeitung natürlicher Sprache aus 6 und stellt deren Steuerung bereit. Nicht beschränkende Beispiele für Betriebssysteme enthalten das Betriebssystem Advanced Interactive Executive (AIX®) oder das Linux®-Betriebssystem. In Verbindung mit dem Betriebssystem können verschiedene Anwendungen und Dienste laufen. Bei einer Ausführungsform wird in dem System 100 zur Verarbeitung natürlicher Sprache zum Beispiel die International Business Machines (IBM)® DeepQA-Software ausgeführt, die für einen Informationsabruf entworfen ist, der eine Verarbeitung natürlicher Sprache und maschinelles Lernen beinhaltet.
  • Das System 100 zur Verarbeitung natürlicher Sprache kann einen einzelnen Prozessor 602 oder eine Mehrzahl von Prozessoren 602 enthalten. Zusätzlich können der bzw. die Prozessor(en) 602 mehrere Kerne aufweisen. Bei einer Ausführungsform kann das System 100 zur Verarbeitung natürlicher Sprache zum Beispiel eine große Anzahl von Prozessoren 602 verwenden, die hunderte oder tausende von Prozessorkernen enthalten. Bei manchen Ausführungsformen können die Prozessoren 602 konfiguriert sein, um einen Satz von koordinierten Berechnungen parallel durchzuführen.
  • Anweisungen für das Betriebssystem, Anwendungen und andere Daten befinden sich in Speichereinheiten wie z.B. dem HDD 612 und können zur Ausführung durch den bzw. die Prozessor(en) 602 in den Hauptarbeitsspeicher 604 geladen werden. Bei bestimmten Ausführungsformen kann das HDD 612 Proxy-Kennungen, Trainingsbeispiele, die eine Kombination von Terminal-Token und Proxy-Kennungen aufweisen, sowie ein semantisches Analysemodell speichern, das unter Verwendung der Trainingsbeispiele erstellt wird. Bei manchen Ausführungsformen können zusätzliche Anweisungen oder Daten in einer oder mehreren externen Einheiten gespeichert werden. Die Prozesse für veranschaulichende Ausführungsformen der vorliegenden Erfindung können durch den bzw. die Prozessor(en) 602 unter Verwendung von durch einen Computer nutzbarem Programmcode durchgeführt werden, der sich in einem Arbeitsspeicher wie zum Beispiel dem Hauptarbeitsspeicher 604, dem ROM 626 oder in einer oder mehreren Peripherie-Einheiten 612 und 614 befinden kann.
  • Bei der vorliegenden Erfindung kann es sich um ein System, ein Verfahren und/oder ein Computerprogrammprodukt mit einem beliebigen möglichen Grad an technischer Integration handeln. Das Computerprogrammprodukt kann (ein) durch einen Computer lesbare(s) Speichermedium (oder -medien) enthalten, auf dem/denen durch einen Computer lesbare Programmanweisungen gespeichert sind, um einen Prozessor dazu zu veranlassen, Aspekte der vorliegenden Erfindung auszuführen.
  • Bei dem durch einen Computer lesbaren Speichermedium kann es sich um eine physische Einheit handeln, die Anweisungen zur Verwendung durch eine Anweisungsausführungseinheit enthalten und speichern kann. Bei dem durch einen Computer lesbaren Speichermedium kann es sich zum Beispiel um eine elektronische Speichereinheit, eine magnetische Speichereinheit, eine optische Speichereinheit, eine elektromagnetische Speichereinheit, eine Halbleiterspeichereinheit oder jede geeignete Kombination daraus handeln, ohne auf diese beschränkt zu sein. Zu einer nicht erschöpfenden Liste spezifischerer Beispiele des durch einen Computer lesbaren Speichermediums gehören die Folgenden: eine tragbare Computerdiskette, eine Festplatte, ein Direktzugriffsspeicher (RAM), ein Nur-Lese-Speicher (ROM), ein löschbarer programmierbarer Nur-Lese-Speicher (EPROM bzw. Flash-Speicher), ein statischer Direktzugriffsspeicher (SRAM), ein tragbarer Compact-Disc-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. durch ein Lichtwellenleiterkabel geleitete 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 Weitverkehrsnetzwerk und/oder ein drahtloses Netzwerk auf einen externen Computer oder eine externe Speichereinheit heruntergeladen werden. Das Netzwerk kann Kupferübertragungskabel, Lichtwellenübertragungsleiter, drahtlose Übertragung, Leitwegrechner, Firewalls, Vermittlungseinheiten, Gateway-Computer und/oder Edge-Server aufweisen. Eine Netzwerkadapterkarte oder Netzwerkschnittstelle in jeder Datenverarbeitungs-/Verarbeitungseinheit empfängt durch einen Computer lesbare Programmanweisungen aus dem Netzwerk und leitet die durch einen Computer lesbaren Programmanweisungen zur Speicherung in einem durch einen Computer lesbaren Speichermedium innerhalb der entsprechenden Datenverarbeitungs-/Verarbeitungseinheit weiter.
  • Bei durch einen Computer lesbaren Programmanweisungen zum Ausführen von Arbeitsschritten der vorliegenden Erfindung kann es sich um Assembler-Anweisungen, ISA-Anweisungen (Instruction-Set-Architecture), Maschinenanweisungen, maschinenabhängige Anweisungen, Mikrocode, Firmware-Anweisungen, zustandseinstellende Daten, Konfigurationsdaten für eine integrierte Schaltung oder sowohl um Quellcode als auch um Objektcode handeln, die in einer beliebigen Kombination aus einer oder mehreren Programmiersprachen geschrieben werden, darunter objektorientierte Programmiersprachen wie Smalltalk, C++ o.ä. sowie herkömmliche prozedurale Programmiersprachen wie die Programmiersprache „C“ oder ähnliche Programmiersprachen. Die durch einen Computer lesbaren Programmanweisungen können vollständig auf dem Computer des Benutzers, teilweise auf dem Computer des Benutzers, als eigenständiges Software-Paket, teilweise auf dem Computer des Benutzers und teilweise auf einem entfernt angeordneten Computer oder vollständig auf dem entfernt angeordneten Computer oder Server ausgeführt werden. In letzterem Fall kann der entfernt angeordnete Computer mit dem Computer des Benutzers durch eine beliebige Art Netzwerk verbunden sein, darunter ein lokales Netzwerk (LAN) oder ein Weitverkehrsnetzwerk (WAN), oder die Verbindung kann mit einem externen Computer hergestellt werden (zum Beispiel über das Internet unter Verwendung eines Internet-Dienstanbieters). In einigen Ausführungsformen können elektronische Schaltungen, darunter zum Beispiel programmierbare Logikschaltungen, im Feld 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 Blockschaubilder von Verfahren, Vorrichtungen (Systemen) und Computerprogrammprodukten gemäß Ausführungsformen der Erfindung beschrieben. Es wird darauf hingewiesen, dass jeder Block der Ablaufpläne und/oder der Blockschaubilder sowie Kombinationen von Blöcken in den Ablaufplänen und/oder den Blockschaubildern mittels durch einen Computer lesbare Programmanweisungen ausgeführt werden können.
  • Diese durch einen Computer lesbaren Programmanweisungen können einem Prozessor eines Universalcomputers, eines Spezialcomputers 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 Blockschaubilder festgelegten Funktionen/Schritte erzeugen. Diese durch einen Computer lesbaren Programmanweisungen können auch auf einem durch einen Computer lesbaren Speichermedium gespeichert sein, das einen Computer, eine programmierbare Datenverarbeitungsvorrichtung und/oder andere Einheiten so steuern kann, dass sie auf eine bestimmte Art funktionieren, so dass das durch einen Computer lesbare Speichermedium, auf dem Anweisungen gespeichert sind, ein Herstellungsprodukt aufweist, darunter Anweisungen, welche Aspekte der/des in dem Block bzw. den Blöcken des Ablaufplans und/oder der Blockschaubilder angegebenen Funktion/Schritts umsetzen.
  • Die durch einen Computer lesbaren Programmanweisungen können auch auf einen Computer, eine andere programmierbare Datenverarbeitungsvorrichtung oder eine andere Einheit geladen werden, um das Ausführen einer Reihe von Prozessschritten auf dem Computer bzw. der anderen programmierbaren Vorrichtung oder anderen Einheit zu verursachen, um ein durch einen Computer realisiertes Verfahren 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 Blockschaubilder festgelegten Funktionen/Schritte umsetzen.
  • Die Ablaufpläne und die Blockschaubilder 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 Blockschaubildern ein Modul, ein Segment oder einen Teil von Anweisungen darstellen, die eine oder mehrere ausführbare Anweisungen zur Ausführung der bestimmten logischen Funktion(en) aufweisen. In einigen alternativen Ausführungen können die in dem Block angegebenen Funktionen in einer anderen Reihenfolge als in den Figuren gezeigt stattfinden. Zwei nacheinander gezeigte Blöcke können zum Beispiel in Wirklichkeit im Wesentlichen gleichzeitig ausgeführt werden, oder die Blöcke können manchmal je nach entsprechender Funktionalität in umgekehrter Reihenfolge ausgeführt werden. Es ist ferner anzumerken, dass jeder Block der Blockschaubilder und/oder der Ablaufpläne sowie Kombinationen aus Blöcken in den Blockschaubildern und/oder den Ablaufplänen durch spezielle auf Hardware beruhende Systeme umgesetzt werden können, welche die festgelegten Funktionen oder Schritte durchführen, oder Kombinationen aus Spezial-Hardware und Computeranweisungen ausführen.
  • Wie hier verwendet, ist der Begriff Datenbank oder Wissensdatenbank als Sammlung von strukturierten und/oder unstrukturierten Daten definiert. Obwohl in der Singularform genannt, kann die Datenbank ein oder mehrere Datenbanken enthalten und kann lokal in einem System gespeichert sein oder über ein lokales oder entfernt angeordnetes Netzwerk mit einem System wirkverbunden sein. Zusätzlich kann das Verarbeiten bestimmter Daten oder Anweisungen über das Netzwerk durch ein oder mehrere Systeme oder Server durchgeführt werden, und das Ergebnis des Verarbeitens der Daten oder Anweisungen kann an eine lokale Einheit übertragen werden.
  • Aus den obigen Darlegungen sollte offensichtlich sein, dass die offenbarten Ausführungsformen beträchtliche Vorteile gegenüber dem Stand der Technik bieten. Als ein Beispiel ermöglichen die offenbarten Ausführungsformen, dass Trainingsbeispiele in modulare/austauschbare Stücke aufgeteilt werden können, ohne dass grammatikalische Regeln benötigt werden, um eine Austauschbarkeit darzustellen. Zusätzlich ändern die offenbarten Ausführungsformen die Trainings-/Testalgorithmen dahingehend, dass äquivalente Variationen in dem Klassifizierungsalgorithmus erkannt werden können. Zu den Vorteilen der offenbarten Ausführungsformen gehört eine schnellere Entwicklung eines semantischen Analysemodells, da die exakten Phrasen nicht erzeugt oder aufgeführt werden müssen. Stattdessen kann einfach eine Proxy-Kennung geändert werden. Wenn zum Beispiel ein neues Automodell entwickelt wird, erfordern die offenbarten Ausführungsformen nicht, dass als Teil des Korpus von Trainingsbeispielen zum Erstellen eines semantischen Analysemodells die exakte Phrase für jede einzelne Aussage oder Frage erzeugt werden muss, die dieses Automodell beinhaltet. Stattdessen kann das neue Automodell einfach in eine oder mehrere Proxy-Kennungen eingefügt werden, die Automodellen zugehörig sind. Die offenbarten Ausführungsformen können dann beim Erstellen des semantischen Analysemodells die Proxy-Kennungen automatisch erweitern, ohne dass alle möglichen Sätze generiert werden müssen. Ein weiterer Vorteil der offenbarten Ausführungsformen enthält die Möglichkeit, semantische Analysemodelle schnell an neue Sprachen anpassen zu können. So können ausschließlich die Terminal-Wortsequenzen in Trainingsbeispielen übersetzt werden, ohne Proxy-Kennungen, und abschließend kann der Inhalt von Proxy-Kennungen übersetzt werden, ohne dass alle in Rohform vorliegenden Trainingsproben übersetzt werden müssen.
  • Die Beschreibungen der verschiedenen Ausführungsformen der vorliegenden Erfindung wurden zum Zwecke der Veranschaulichung vorgelegt und sind nicht als vollständig oder auf die offenbarten Ausführungsformen beschränkt zu verstehen. Der Fachmann weiß, dass zahlreiche Änderungen und Abwandlungen möglich sind, ohne vom inhaltlichen Umfang der beschriebenen Ausführungsformen abzuweichen. Obwohl die oben offenbarten Ausführungsformen zum Beispiel für eine Verwendung mit der englischen Sprache beschrieben werden, können die offenbarten Ausführungsformen für jede andere Sprache verwendet werden.
  • Des Weiteren können die Schritte der hier beschriebenen Verfahren in jeder geeigneten Reihenfolge oder auch gleichzeitig durchgeführt werden, wo dies sinnvoll ist. Die hier verwendete Begrifflichkeit wurde gewählt, um die Grundsätze der Ausführungsformen, die praktische Anwendung oder technische Verbesserung gegenüber marktgängigen Technologien bestmöglich zu erläutern bzw. anderen Fachleuten das Verständnis der hier offenbarten Ausführungsformen zu ermöglichen.

Claims (29)

  1. Durch einen Computer realisiertes Verfahren zum Erstellen von Modellen für Systeme zur Verarbeitung natürlicher Sprache, wobei das durch einen Computer realisierbare Verfahren aufweist: ein Erzeugen von Proxy-Kennungen, die einen Satz von Oberflächenform-Varianten aufweisen; ein Erzeugen von Trainingsbeispielen, die eine Kombination von Terminal-Token und mindestens einer der Proxy-Kennungen aufweisen; und ein Erstellen eines semantischen Analysemodells unter Verwendung der Trainingsbeispiele.
  2. Durch einen Computer realisiertes Verfahren nach Anspruch 1, wobei der Satz von Oberflächenform-Varianten Oberflächenform-Varianten aufweist, die Phrasen sind.
  3. Durch einen Computer realisiertes Verfahren nach Anspruch 1, wobei der Satz von Oberflächenform-Varianten Oberflächenform-Varianten aufweist, die inkonsistente Strukturklassen aufweisen.
  4. Durch einen Computer realisiertes Verfahren nach einem beliebigen der vorangehenden Ansprüche, wobei die Proxy-Kennungen andere Proxy-Kennungen aufweisen.
  5. Durch einen Computer realisiertes Verfahren nach einem beliebigen der vorangehenden Ansprüche, wobei der Satz von Oberflächenform-Varianten für die Proxy-Kennungen unter Verwendung einer lexikalischen Datenbank automatisch mit Daten gefüllt wird.
  6. Durch einen Computer realisiertes Verfahren nach einem beliebigen der vorangegangenen Ansprüche, des Weiteren aufweisend: ein Empfangen einer lexikalischen Sequenz als eine Eingabe; ein Durchführen einer Proxy-Analyse der lexikalischen Sequenz auf Wortsequenzen, die in dem Satz von Oberflächenform-Varianten der Proxy-Kennungen aufgeführt sind; ein Umwandeln der lexikalischen Sequenz auf Grundlage der Proxy-Analyse; und ein Erzeugen einer semantischen Analyse der lexikalischen Sequenz unter Verwendung des semantischen Analysemodells.
  7. Durch einen Computer realisiertes Verfahren nach Anspruch 6, wobei die Proxy-Analyse ein Ermitteln der Proxy-Kennungen auf Grundlage eines umgebenden Wortkontextes der lexikalischen Sequenz aufweist, wenn die Wortsequenzen in dem Satz von Oberflächenform-Varianten von mehreren der Proxy-Kennungen aufgeführt sind.
  8. Durch einen Computer realisiertes Verfahren nach Anspruch 6 oder 7, wobei ein Umwandeln der lexikalischen Sequenz auf Grundlage der Proxy-Analyse ein Ersetzen von Wörtern in der lexikalischen Sequenz durch die Proxy-Kennungen aufweist.
  9. Durch einen Computer realisiertes Verfahren nach Anspruch 6 bis 8, des Weiteren aufweisend ein Ermitteln eines Konfidenz-Scores für die semantische Analyse der lexikalischen Sequenz unter Verwendung des semantischen Analysemodells.
  10. Durch einen Computer realisiertes Verfahren nach einem beliebigen der vorangegangenen Ansprüche, des Weiteren aufweisend: ein Durchführen einer Merkmalsextraktion unter Verwendung der Trainingsbeispiele, um Merkmale der Trainingsbeispiele zu extrahieren; und wobei ein Erstellen des semantischen Analysemodells unter Verwendung der Trainingsbeispiele ein Erstellen des semantischen Analysemodells unter Verwendung der Trainingsbeispiele als Eingabedaten aufweist.
  11. Durch einen Computer realisiertes Verfahren nach Anspruch 10, wobei das semantische Analysemodell Ausgabekennzeichnungen aus den Trainingsbeispielen mit Merkmalskombinationen paart, um eine semantische Analyse einer unbekannten lexikalischen Sequenz zu erzeugen.
  12. Durch einen Computer realisiertes Verfahren nach Anspruch 11, des Weiteren aufweisend ein Ermitteln eines Konfidenz-Scores für die semantische Analyse der unbekannten lexikalischen Sequenz unter Verwendung des semantischen Analysemodells.
  13. Durch einen Computer realisiertes Verfahren nach Anspruch 12, des Weiteren aufweisend ein Durchführen einer Proxy-Analyse der unbekannten lexikalischen Sequenz auf Wortsequenzen, die in dem Satz von Oberflächenform-Varianten der Proxy-Kennungen aufgeführt sind.
  14. System zum Erstellen von Modellen für Systeme zur Verarbeitung natürlicher Sprache, wobei das System aufweist: einen Arbeitsspeicher, der konfiguriert ist, um durch einen Computer ausführbare Anweisungen zu speichern; einen Prozessor, der konfiguriert ist, um durch einen Computer ausführbare Anweisungen auszuführen, um: Proxy-Kennungen zu erzeugen, die einen Satz von Oberflächenform-Varianten aufweisen; Trainingsbeispiele zu erzeugen, die eine Kombination von Terminal-Token und mindestens einer der Proxy-Kennungen aufweisen; und unter Verwendung der Trainingsbeispiele ein semantisches Modell zu erstellen.
  15. System nach Anspruch 14, wobei der Satz von Oberflächenform-Varianten Oberflächenform-Varianten aufweist, die Phrasen sind.
  16. System nach Anspruch 14, wobei der Satz von Oberflächenform-Varianten Oberflächenform-Varianten aufweist, die inkonsistente Strukturklassen aufweisen.
  17. System nach einem beliebigen der Ansprüche 14 bis 16, wobei die Proxy-Kennungen andere Proxy-Kennungen aufweisen.
  18. System nach einem beliebigen der Ansprüche 14 bis 17, wobei der Satz von Oberflächenform-Varianten für die Proxy-Kennungen unter Verwendung einer lexikalischen Datenbank automatisch mit Daten gefüllt wird.
  19. System nach einem beliebigen der Ansprüche 14 bis 18, wobei der Prozessor des Weiteren konfiguriert ist, um die durch einen Computer ausführbaren Anweisungen auszuführen, um: eine lexikalische Sequenz als eine Eingabe zu empfangen; eine Proxy-Analyse der lexikalischen Sequenz auf Wortsequenzen durchzuführen, die in dem Satz von Oberflächenform-Varianten der Proxy-Kennungen aufgeführt sind; die lexikalische Sequenz auf Grundlage der Proxy-Analyse umzuwandeln; und unter Verwendung des semantischen Analysemodells eine semantische Analyse der lexikalischen Sequenz zu erzeugen.
  20. System nach Anspruch 19, wobei der Prozessor des Weiteren konfiguriert ist, um die durch einen Computer ausführbaren Anweisungen auszuführen, um: eine Proxy-Analyse durchzuführen, indem die Proxy-Kennungen auf Grundlage eines umgebenden Wortkontextes der lexikalischen Sequenz ermittelt werden, wenn die Wortsequenzen in dem Satz von Oberflächenform-Varianten von mehreren der Proxy-Kennungen aufgeführt sind.
  21. System nach Anspruch 19 oder 20, wobei der Prozessor des Weiteren konfiguriert ist, um die durch einen Computer ausführbaren Anweisungen auszuführen, um: die lexikalische Sequenz auf Grundlage der Proxy-Analyse umzuwandeln, indem Wörter in der lexikalischen Sequenz durch die Proxy-Kennungen ersetzt werden.
  22. System nach Anspruch 19 bis 21, wobei der Prozessor des Weiteren konfiguriert ist, um die durch einen Computer ausführbaren Anweisungen auszuführen, um: unter Verwendung des semantischen Analysemodells einen Konfidenz-Score für die semantische Analyse der lexikalischen Sequenz zu ermitteln.
  23. System nach einem beliebigen der Ansprüche 14 bis 22, wobei der Prozessor des Weiteren konfiguriert ist, um die durch einen Computer ausführbaren Anweisungen auszuführen: um unter Verwendung der Trainingsbeispiele eine Merkmalsextraktion durchzuführen, um Merkmale der Trainingsbeispiele zu extrahieren; und um ein semantisches Analysemodell zu erstellen, indem die Merkmale der Trainingsbeispiele als Eingabedaten verwendet werden.
  24. System nach Anspruch 23, wobei das semantische Analysemodell Ausgabekennzeichnungen aus den Trainingsbeispielen mit Merkmalskombinationen paart, um eine semantische Analyse einer unbekannten lexikalischen Sequenz zu erzeugen.
  25. System nach Anspruch 24, wobei der Prozessor des Weiteren konfiguriert ist, um die durch einen Computer ausführbaren Anweisungen auszuführen: um unter Verwendung des semantischen Analysemodells einen Konfidenz-Score für die semantische Analyse der unbekannten lexikalischen Sequenz zu ermitteln.
  26. System nach Anspruch 25, wobei der Prozessor des Weiteren konfiguriert ist, um die durch einen Computer ausführbaren Anweisungen auszuführen: um eine Proxy-Analyse der unbekannten lexikalischen Sequenz auf Wortsequenzen durchzuführen, die in dem Satz von Oberflächenform-Varianten der Proxy-Kennungen aufgeführt sind.
  27. Computerprogrammprodukt zum Erstellen von Modellen für Systeme zur Verarbeitung natürlicher Sprache, wobei das Computerprogrammprodukt aufweist: ein durch einen Computer lesbares Speichermedium, das von einer Verarbeitungsschaltung lesbar ist und Anweisungen zur Ausführung durch die Verarbeitungsschaltung speichert, um ein Verfahren gemäß einem beliebigen der Ansprüche 1 bis 13 durchzuführen.
  28. Computerprogrammprodukt, das auf einem durch einen Computer lesbaren Medium gespeichert und in den internen Arbeitsspeicher eines digitalen Computers ladbar ist, welches Software-Codeteile aufweist, um bei Ausführung des Programms auf einem Computer das Verfahren nach einem beliebigen der Ansprüche 1 bis 13 durchzuführen.
  29. Durch einen Computer realisiertes Verfahren zum Erstellen von Modellen für Systeme zur Verarbeitung natürlicher Sprache, wobei das durch einen Computer realisierbare Verfahren aufweist: ein Erzeugen von Proxy-Kennungen, die einen Satz von Oberflächenform-Varianten aufweisen; ein Erzeugen von Trainingsbeispielen, die mindestens eine der Proxy-Kennungen aufweisen; und ein Erstellen eines semantischen Analysemodells unter Verwendung der Trainingsbeispiele.
DE112018004140.9T 2017-10-10 2018-10-05 Abstraktion und übertragbarkeit auf eine absichtserkennung Pending DE112018004140T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/728,962 2017-10-10
US15/728,962 US11138506B2 (en) 2017-10-10 2017-10-10 Abstraction and portability to intent recognition
PCT/IB2018/057745 WO2019073350A1 (en) 2017-10-10 2018-10-05 ABSTRACTION AND PORTABILITY FOR THE RECOGNITION OF INTENT

Publications (1)

Publication Number Publication Date
DE112018004140T5 true DE112018004140T5 (de) 2020-04-23

Family

ID=65994023

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112018004140.9T Pending DE112018004140T5 (de) 2017-10-10 2018-10-05 Abstraktion und übertragbarkeit auf eine absichtserkennung

Country Status (6)

Country Link
US (1) US11138506B2 (de)
JP (1) JP7064274B2 (de)
CN (1) CN111194401B (de)
DE (1) DE112018004140T5 (de)
GB (1) GB2581705A (de)
WO (1) WO2019073350A1 (de)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11848010B1 (en) * 2018-02-09 2023-12-19 Voicebase, Inc. Systems and methods for creating dynamic features for correlation engines
US11188720B2 (en) * 2019-07-18 2021-11-30 International Business Machines Corporation Computing system including virtual agent bot providing semantic topic model-based response
US11593608B2 (en) * 2019-10-28 2023-02-28 Paypal, Inc. Systems and methods for predicting and providing automated online chat assistance
CN112651226B (zh) * 2020-09-21 2022-03-29 深圳前海黑顿科技有限公司 基于依存句法树的知识解析系统及方法
CN113836304A (zh) * 2021-09-27 2021-12-24 山东亿云信息技术有限公司 一种基于自然语言处理的智能打标签方法及系统

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3004254B2 (ja) 1998-06-12 2000-01-31 株式会社エイ・ティ・アール音声翻訳通信研究所 統計的シーケンスモデル生成装置、統計的言語モデル生成装置及び音声認識装置
US7392185B2 (en) 1999-11-12 2008-06-24 Phoenix Solutions, Inc. Speech based learning/training system using semantic decoding
US7031908B1 (en) 2000-06-01 2006-04-18 Microsoft Corporation Creating a language model for a language processing system
US7085723B2 (en) 2001-01-12 2006-08-01 International Business Machines Corporation System and method for determining utterance context in a multi-context speech application
US6941268B2 (en) 2001-06-21 2005-09-06 Tellme Networks, Inc. Handling of speech recognition in a declarative markup language
US7761858B2 (en) 2004-04-23 2010-07-20 Microsoft Corporation Semantic programming language
JPWO2007069512A1 (ja) 2005-12-15 2009-05-21 シャープ株式会社 情報処理装置及びプログラム
US20070239444A1 (en) 2006-03-29 2007-10-11 Motorola, Inc. Voice signal perturbation for speech recognition
JP5536518B2 (ja) 2009-04-23 2014-07-02 インターナショナル・ビジネス・マシーンズ・コーポレーション システムの自然言語仕様から当該システム用のシステム・モデル化メタモデル言語モデルを自動的に抽出するための方法、装置及びコンピュータ・
JP5317922B2 (ja) 2009-10-16 2013-10-16 株式会社野村総合研究所 情報抽出ルール作成支援システム
JP5974444B2 (ja) 2011-10-05 2016-08-23 富士通株式会社 情報処理システム、情報処理方法、情報処理プログラム、記録媒体
WO2013080406A1 (ja) 2011-11-28 2013-06-06 Necソフト株式会社 対話システム、冗長メッセージ排除方法および冗長メッセージ排除プログラム
US20140079202A1 (en) 2012-09-14 2014-03-20 Zultys, Inc. Method and system for universal internet protocol (ip) phone provisioning

Also Published As

Publication number Publication date
JP7064274B2 (ja) 2022-05-10
CN111194401B (zh) 2021-09-28
US11138506B2 (en) 2021-10-05
US20190108450A1 (en) 2019-04-11
GB2581705A (en) 2020-08-26
JP2020537228A (ja) 2020-12-17
WO2019073350A1 (en) 2019-04-18
CN111194401A (zh) 2020-05-22
GB202006681D0 (en) 2020-06-17

Similar Documents

Publication Publication Date Title
DE112018004140T5 (de) Abstraktion und übertragbarkeit auf eine absichtserkennung
DE112019001533T5 (de) Erweiterung von trainingsdaten für die klassifikation von natürlicher sprache
DE102017122276A1 (de) Neuronale maschinenübersetzungssysteme
DE202017106363U1 (de) Neuronale Antwort-auf-Frage-Netze
EP3100174A1 (de) Verfahren zur automatischen sinnerkennung und messung der eindeutigkeit von text
DE112017006151T5 (de) Anpassbare Verarbeitungskomponenten
DE112012005177T5 (de) Erzeugens eines Verarbeitungsmodells für natürliche Sprache für einen Informationsbereich
DE112018006345T5 (de) Abrufen von unterstützenden belegen für komplexe antworten
DE202005022113U1 (de) Training für eine Text-Text-Anwendung, die eine Zeichenketten-Baum-Umwandlung zum Training und Decodieren verwendet
DE102021000736A1 (de) Modellbasierte semantische Textsuche
DE102014103281A1 (de) Verknüpfen unterschiedlicher typerzwingungskomponenten zum beurteilen eines latenten typs
DE112021004694T5 (de) Trainieren eines frage-antwort-dialogsystems zum vermeiden von gegnerischen angriffen
DE102015121509A1 (de) Methodik und Vorrichtung zur Konsistenzprüfung durch Vergleich von Ontologiemodellen
DE112020003506T5 (de) Natürlichsprachliche antworten in maschinenunterstützten agenten
DE112017007530T5 (de) Entitätsmodell-erstellung
DE102021004562A1 (de) Abwandlung von Szenengraphen auf Grundlage von Befehlen in natürlicher Sprache
DE112020001853T5 (de) Abänderung von trainingsdaten zum trainieren eines modells
DE112018001952T5 (de) Verbessertes visuelles dialogsystem für intelligente tutoren
DE102014116092A1 (de) Kontextüberprüfung von Synonymen bei einer durch die Ontologie veranlassten Verarbeitung natürlicher Sprache
KR20220043505A (ko) 문서 요약장치 및 방법
CN104516870A (zh) 一种译文检查方法及其系统
CN116910185B (zh) 模型训练方法、装置、电子设备及可读存储介质
DE112018005620T5 (de) Auftragsverwaltung in einem datenverarbeitungssystem
DE112020003767T5 (de) Erzeugen eines ausführbaren verfahrens aus einer textbeschreibung, die in einer natürlichen sprache geschrieben ist
DE112018005844B4 (de) Verfahren, Programmprodukt, sowie Computersystem zum Fuzzy Matching von phonetischen Mustern bei der Verarbeitung von natürlicher Sprache

Legal Events

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

Free format text: PREVIOUS MAIN CLASS: G01L0015000000

Ipc: G06F0040268000

R084 Declaration of willingness to licence
R016 Response to examination communication