DE102018222156A1 - Verfahren, Anordnung und Verwendung zum Erzeugen einer Antwortausgabe in Reaktion auf eine Spracheingabeinformation - Google Patents

Verfahren, Anordnung und Verwendung zum Erzeugen einer Antwortausgabe in Reaktion auf eine Spracheingabeinformation Download PDF

Info

Publication number
DE102018222156A1
DE102018222156A1 DE102018222156.1A DE102018222156A DE102018222156A1 DE 102018222156 A1 DE102018222156 A1 DE 102018222156A1 DE 102018222156 A DE102018222156 A DE 102018222156A DE 102018222156 A1 DE102018222156 A1 DE 102018222156A1
Authority
DE
Germany
Prior art keywords
information
analysis unit
entity
response
output
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
DE102018222156.1A
Other languages
English (en)
Inventor
Fabian Galetzka
Jewgeni Rose
Simon Kwoczek
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.)
Volkswagen AG
Original Assignee
Volkswagen AG
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 Volkswagen AG filed Critical Volkswagen AG
Priority to DE102018222156.1A priority Critical patent/DE102018222156A1/de
Priority to CN201980084669.4A priority patent/CN113228165A/zh
Priority to PCT/EP2019/080901 priority patent/WO2020126217A1/de
Publication of DE102018222156A1 publication Critical patent/DE102018222156A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/289Phrasal analysis, e.g. finite state techniques or chunking
    • G06F40/295Named entity recognition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/18Speech classification or search using natural language modelling
    • G10L15/1822Parsing for meaning understanding
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/16Speech classification or search using artificial neural networks
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • G10L2015/223Execution procedure of a spoken command

Landscapes

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

Abstract

Die Erfindung betrifft ein Verfahren zum Erzeugen einer Antwortausgabe (A) in Reaktion auf eine Spracheingabeinformation (E), mit:
a) Ermitteln, ob eine Spracheingabeinformation (E) wenigstens eine vordefinierte Entität umfasst; und wenn dies der Fall ist:
b) Erzeugen eines Sprachinformationssatzes auf Basis der Spracheingabeinformation (E), in dem die Entität nicht enthalten ist;
c) Erzeugen eines Informationssatzes, wobei der Informationssatz der Entität zugeordnete Informationen aus einer Wissensdatenbank (14) umfasst;
d) mit einer ersten Analyseeinheit (22): Ermitteln wenigstens einer Zielinformation aus dem Informationssatz, die hinsichtlich der Entität relevant ist;
e) mit einer zweiten Analyseeinheit (24): Erzeugen einer Antwortteilausgabe auf Basis der ermittelten Zielinformation; und
f) Erzeugen einer Antwortausgabe (A) auf Basis der Antwortteilausgabe.
Ferner betrifft die Erfindung ein System (10) und die Verwendung eines solchen Systems (10).

Description

  • Die Erfindung betrifft ein Verfahren und eine Anordnung zum Erzeugen einer Antwortausgabe in Reaktion auf eine Spracheingabeinformation. Genauer gesagt betrifft die Erfindung das Gebiet von computergestützten Sprachanalyse- und insbesondere Sprachdialogsystemen, bei denen Spracheingabeinformationen erfasst und darauf basierend Antwortausgaben erzeugt werden.
  • Es ist bekannt, mittels computergestützter Systeme und insbesondere davon umfasster Analyseeinheiten Spracheingabeinformationen zu analysieren und darauf basierend Antwortausgaben zu erzeugen. Hierbei kann zwischen einer reinen Spracheerkennung und der Analyse sinnvoller Reaktion (Antwortausgabe) auf die erkannte Spracheingabeinformation unterscheiden werden, wobei die Analyse z.B. das Erfassen des semantischen Inhalts der Spracheingabeinformation umfassen kann. Unter Spracheingabeinformationen können hierin Informationen in Text- oder Audioformat verstanden werden, die auf Basis einer Spracheingabe erzeugt wurden und/oder deren Inhalt angeben.
  • Im Rahmen eines sogenannten zielgeführten Dialogs kann ein Benutzer beispielsweise Fragen formulieren, um gewünschte Informationen zu erhalten. Allgemein können Dialoge als zielgeführt bezeichnet werden, wenn sie zu einem definierten Endpunkt führen, wie dies beispielsweise beim Erfragen von Informationen der Fall ist. Der Endpunkt wäre dann das Erhalten der Informationen. Ebenso existieren nicht-zielgeführte Dialoge, bei denen ein Benutzer ohne vorab definierten Endpunkt, wie er beispielsweise durch eine gewünschte Information festgelegt ist, ein Gespräch mit einem computergestützten System (Dialogsystem) führt. Dies kann auch als das Führen von Smalltalk mit einem solchen System bezeichnet werden.
  • Der Umgang mit nicht-zielgeführten Dialogen ist technisch anspruchsvoller, da deren Verlauf z.B. in Form sogenannter Dialogzustände schwieriger abzuschätzen ist. Um auf eine entsprechende Vielfalt möglicher Dialogzustände reagieren zu können und geeignete Antwortausgaben zu erzeugen, müsste ein Dialogsystem eine hohe Vielzahl von in der Spracheingabeinformation enthaltenen Informationen analysieren bzw. nachvollziehen können.
  • Dies würde bedeuten, dass das System und insbesondere eine Analyseeinheit hiervon mit Hilfe entsprechend umfangreicher Wörterbücher oder allgemeinen Datenbanken trainiert werden müsste. Letzteres gilt primär für Systeme, die auf Ansätzen des maschinellen Lernens und insbesondere des sogenannten Deep Learnings basieren. Beispielsweise müssten bei derartigen Systemen für jeden denkbaren Eigennamen, wie z.B. von Personen oder Städten, oder für jeglichen Zahlenwert, z.B. in Form von Jahreszahlen oder Temperaturwerten, entsprechende Wörter explizit im Wörterbuch hinterlegt werden, damit die Analyseeinheit mittels dieses Wörterbuchs trainiert und die entsprechenden Wörter später erkennen kann, um den semantischen Inhalt korrekt zu erfassen. Dies erhöht den Einrichtaufwand und erschwert den Lernprozess einer entsprechenden Analyseeinheit.
  • Bisher wird versucht, dieses sogenannte „out-of-vocabulary problem“ dadurch zu lösen, dass die Analyseeinheit nicht nur in einem vorbereitenden Lernprozess bereits erlernte Wörter erkennen kann, sondern auch weitere Wörter, die in der Dialoghistorie bisher verwendet wurden (also Wörter, die bei bisherigen Verwendungen der Analyseeinheit verwendet wurden). Auch in diesem Fall ist es aber erforderlich, während der Dialoghistorie auftretende neue Wörter fortlaufend aufzuzeichnen und in einem entsprechenden Wörterbuch zu hinterlegen. Beispiele für derartige Ansätze finden sich in den folgenden wissenschaftlichen Veröffentlichungen:
    • Raghu, D. & Gupta, N. (2018). Hierarchical Pointer Memory Network for Task Oriented Dialogue, arXiv preprint arXiv: 1805.01216
    • Eric, M & Manning, C. D. (2017). A copy-augmented sequence-to-sequence architecture gives good performance on task-oriented dialogue. arXiv preprint arXiv: 1701.04024
  • Andererseits existieren auch Systeme, die versuchen, nicht-zielgeführte Dialoge iterativ und nicht auf Basis von maschinellem Lernen zu beherrschen (sh. z.B. https://www.pandorabots.com/mitsuku/). Die erzielbare Qualität wird aber durch vorab zu definierende Zustände und Regeln (z.B. in Form von sogenanntem Expertenwissen) erheblich begrenzt.
  • Mit jeglichem der bekannten Ansätzen ist es somit nicht möglich, insbesondere im Kontext von nicht-zielgeführten Dialogen auf unvorhersehbare Spracheingabeinformationen angemessen zu reagieren, insbesondere wenn innerhalb dieser Spracheingabeinformationen noch nicht in der Dialoghistorie und/oder nicht bei einem Training aufgetretene Begriffe verwendet werden. Auch liegt bei den bekannten Lösungen typischerweise ein eindimensionaler Informationsfluss vor:
    • Die Analyseeinheit kann zwar zwecks Spracherkennung Anfragen an ein Wörterbuch stellen, das in der vorstehend erläuterten Weise auch dynamisch auf Basis der Dialoghistorie ergänzt werden kann. Die (insbesondere dynamisch ergänzten) Einträge dieses Wörterbuchs können aber nicht zum Erzeugen von Antwortausgaben verwendet werden.
  • Als ein weiterer Nachteil zeichnen sich zumindest die oben erwähnten Ansätze, die nicht auf maschinellem Lernen basieren, dadurch aus, dass nach wie vor ein großer Umfang von sogenanntem Expertenwissen bzw. Expertenwissensmodellen als Analysebestandteile verwendet werden. Dies führt jedoch von der eigentlichen Zielsetzung zum Umgang mit nicht-zielgeführten Dialogen weg, da mehr vordefinierte Zusammenhänge in Form des Expertenwissens vorab definiert und hinterlegt werden müssen. Unter Expertenwissen kann hierin allgemein das Definieren logischer Zusammenhänge oder Regeln verstanden werden, mit denen in Anbetracht vorliegender Zustände geeignete Reaktionen (insb. Antwortausgaben) ermittelbar sind.
  • Eine Aufgabe der vorliegenden Erfindung ist es daher, das computerbasierte Erzeugen von Antwortausgaben in Reaktion auf Spracheingaben zu verbessern, insbesondere bei nicht-zielgeführten Dialogen.
  • Diese Aufgabe wird durch ein Verfahren mit den Merkmalen von Anspruch 1, eine Anordnung mit den Merkmalen von Anspruch 9 und eine Verwendung mit den Merkmalen von Anspruch 10 gelöst. Vorteilhafte Weiterbildungen sind in den abhängigen Ansprüchen angegeben. Es versteht sich, dass sämtliche einleitend erwähnten Merkmale und Definitionen (allein oder in beliebiger Kombination und sofern nicht anders angegeben oder ersichtlich) auch bei der vorliegenden Lösung vorgesehen sein bzw. auf diese ebenfalls zutreffen können.
  • Ein Grundgedanke der Erfindung besteht darin, die Informationen einer Spracheingabe zwischen zwei Analyseeinheiten aufzuteilen, die vorzugsweise getrennt voneinander ausgebildet sind (z.B. als getrennte Softwareprogramme, Softwaremodule oder Computerprogrammprodukte), die vorteilhafterweise aber auch Informationen miteinander austauschen können. Eine der Analyseeinheiten kann zum Erzeugen einer Antwortteilausgabe eingerichtet sein, wobei Letztere insbesondere als Reaktion auf häufig wiederkehrende und/oder übliche Inhalte der Spracheingabe erzeugt werden kann. Eine weitere Analyseeinheit kann hingegen dazu eingerichtet sein, Zielinformationen, die vordefinierten Entitäten innerhalb der Spracheingabe zugeordnet sind, zu ermitteln, wobei diese Zielinformationen dann Bestandteil einer schlussendlichen Antwortausgabe werden können. Auch können die Zielinformationen als eine Eingangsgröße für die erstgenannte Analyseeinheit verwendet werden, um die Antwortausgabe zu erzeugen.
  • Dies hat den Vorteil, dass als Entitäten Inhalte der Spracheingabe (d. h. der Spracheingabeinformation) vordefiniert werden können, die erwartungsgemäß einer höheren Variabilität unterliegen bzw. mit einer Vielzahl von nicht eindeutig vorhersehbaren weiteren Informationen assoziiert sein können. Auch können weitere Entitäten während des Betriebs ergänzt und zum Beispiel in einer Wissensdatenbank hinterlegt werden, ohne dass hierfür neue Lern- oder Trainingsprozesse des Systems erforderlich sind. Dies ist zum Beispiel relevant, um im Betrieb auftretende neue Informationen zu ergänzen (zum Beispiel neu erschienene Filme oder dergleichen). Die Entität kann insbesondere ein Eigenname oder ein Zahlenwert sein. Beispiele von mit einer Entität in Form eines Filmtitels assoziierten Informationen sind zum Beispiel der Regisseur, mitwirkende Schauspieler, das Genre, Filmauszeichnungen oder dergleichen. Die assozierten Informationen können selbst ebenfalls Entitäten sein.
  • Wenigstens eine dieser assoziierten Informationen kann dann von einer der Analyseeinheiten als im aktuellen Kontext relevante Zielinformation ermittelt werden. Die Analyseeinheit kann hierfür (zum Beispiel mittels eines maschinellen Lernprozesses) trainiert werden, insbesondere in der Weise, dass sie auf Basis des aktuellen Sprachkontextes und einer Auswahl an assoziierten Informationen (Informationssatz oder, mit anderen Worten, Subset einer Wissensdatenbank) die Zielinformation ermittelt. Hierunter kann insbesondere verstanden werden, dass die Analyseeinheit sämtliche assoziierten Informationen hinsichtlich ihrer möglichen Relevanz bewertet (zum Beispiel in Form einer Wahrscheinlichkeitsangabe) und diejenige mit der höchsten Relevanzbewertung dann als Zielinformation ausgewählt wird.
  • Hierdurch wird ermöglicht, dass einer zu der Entität passenden Zusatz- bzw. Zielinformationen sinnvoll in eine schlussendliche Antwortausgabe eingebunden werden kann. Somit muss allenfalls die weitere Analyseeinheit für den Umgang von mit vorbestimmten und vielfältigen Entitäten assoziierten Informationen trainiert werden, nicht aber diejenige Analyseeinheit, die die vorstehend erwähnte Antwortteilausgabe erzeugt. Auch müssen derartige assoziierte Informationen nicht selbst von der Analyseeinheit erzeugt werden, sondern können aus einer Wissensdatenbank abgerufen werden. Dies mindert den erforderlichen Funktionsumfang der Analyseeinheit und erleichtert somit auch deren Lernprozess.
  • Mit anderen Worten wird also erfindungsgemäß ermöglicht, zwischen Inhalten einer Spracheingabe, die erhöhten Variationen unterliegen können (hierin als Entität bezeichnet) und/oder mit einer Vielzahl von weiteren Informationen assoziiert sein können, und zwischen Information bzw. Inhalten der Spracheingabe zu differenzieren, die häufig wiederkehren und zum Beispiel keine Eigennamen sind. Für beide diese Arten von Information/Inhalten können dann separate Analyseeinheiten vorgesehen sein, die für die ihnen jeweils zugeordneten Analyseaufgaben entsprechend optimiert sind und deren Lernprozesse entsprechend zielgerichtet durchgeführt werden können. Vorteilhaft ist ferner das Einbinden einer Wissensdatenbank, aus denen eine der Analyseeinheiten dann relevante Zielinformationen zum Einbinden in eine schlussendliche Antwortausgabe auswählen kann. Wie vorstehend erwähnt, kann die Wissensdatenbank auch fortlaufend durch neue Entitäten ergänzt werden, ohne dass hierfür zwingend neue Lernprozesse die Analyseeinheiten durchgeführt werden müssen.
  • Im Detail wird ein Verfahren zum Erzeugen einer Antwortausgabe in Reaktion auf eine Spracheingabeinformation (die zum Beispiel eine in Textform umgewandelte Spracheingabe ist) vorgeschlagen, mit:
    1. a) Ermitteln, ob eine Spracheingabeinformation wenigstens eine vordefinierte Entität umfasst; und wenn dies der Fall ist:
    2. b) Erzeugen eines Sprachinformationssatzes auf Basis der Spracheingabeinformation, in dem die Entität nicht enthalten ist;
    3. c) Erzeugen eines Informationssatzes (Entitätsinformationssatz), wobei der Informationssatz der Entität zugeordnete Informationen aus einer Wissensdatenbank umfasst;
    4. d) mit einer ersten Analyseeinheit: Ermitteln wenigstens einer Zielinformation aus dem Informationssatz, die hinsichtlich der (ermittelten vordefinierten) Entität relevant ist;
    5. e) mit einer zweiten Analyseeinheit: Erzeugen einer Antwortteilausgabe auf Basis der ermittelten Zielinformation; und
    6. f) Erzeugen einer Antwortausgabe auf Basis der Antwortteilausgabe.
  • Allgemein kann das Verfahren computergestützt ausgeführt werden und/oder mittels wenigstens einer (vorzugsweise digital und/oder elektronisch betriebenen) Recheneinheit (zum Beispiel mit einer Grafikkarte, einem Mikroprozessor oder einem allgemeinen Computer Prozessor). Beispielsweise kann das Verfahren mit einem herkömmlichen PC durchgeführt werden.
  • Wenigstens eine von Spracheingabeinformation und Antwortausgabe können in Form einer Audiodatei oder als Audioinformation vorliegen bzw. erzeugt werden. Zusätzlich oder alternativ könnte die Spracheingabeinformation und/oder die Antwortausgabe in Textform vorliegen. Prinzipiell kann vorgesehen sein, dass die erfindungsgemäße Lösung derart eingesetzt wird, dass sie in ein System, das Umwandlungen zwischen Audio- und Textinformationen durchführt, eingebettet ist. Beispielsweise können sogenannte ASR-Einheiten (Automatic Speech Recognition) eine Audio-Spracheingabe in Text übersetzen (was dann einer beispielhaften erfindungsgemäßen Spracheingabeinformation entspricht), welcher dann von erfindungsgemäße Lösung verarbeitet wird. Zusätzlich kann eine nachgelagerte TTS-Einheit erfindungsgemäß erzeugte sowie textbasierte Antwortausgabe in eine Audioausgabe übersetzen. Es ist aber auch möglich, dass die erfindungsgemäße Lösung derartige ASR- und/oder TTS-Einheiten bzw. allgemein Audio- und Textkonvertierungsfunktionen umfasst. Weiter können, sofern nicht anders angegeben oder ersichtlich, Bezugnahmen auf Spracheingabeinformationen hierin sowohl Eingaben in Audioformat als auch in Textform umgewandelte (Audio-) Eingaben umfassen (d. h. die Spracheingabeinformation kann allgemein in Audio- oder in Textform vorliegen, wobei zum Bereitstellen der erfindungsgemäßen Maßnahmen eine zumindest temporäre Umwandlung in Textform bevorzugt ist).
  • Als Entität kann, wie vorstehend angedeutet, zum Beispiel eine gegenstands-, orts-, zeit-, objekt-, organisations-, werk- oder sachbezogene Bezeichnung und insbesondere ein Eigenname oder ein Zahlenwert vordefiniert sein. Um derartige Entitäten zu erkennen, können existierende Lösungen verwendet werden, beispielsweise sogenannte „named-entity recognition“ oder „named-entity-resolution“ Algorithmen. Auf diese Weise können beispielsweise Entitäten in Form von vordefinierten Eigennamen erkannt werden, wie sie zum Beispiel zur Bezeichnung von Sportmannschaften, Filmen, Orten oder Personen verwendet werden.
  • Der Sprachinformationssatz kann im Form eines Datensatzes oder allgemein als digitale Information erzeugt werden. Der Sprachinformationssatz kann die Spracheingabeinformation enthalten, bei der als ein erstes Erkennungsergebnis die Spracheingabeinformation mit Ausnahme der Entität zumindest teilweise in Textform vorliegt. Die Entität kann entweder gelöscht oder ersetzt werden, vorzugsweise durch einen sogenannten Platzhalter (oder, mit anderen Worten, durch ein Template). Der Platzhalter kann beispielsweise ein die Entität bezeichnenden Titel, Oberbegriff oder einen Identifizierer enthalten. Es wird allgemein bevorzugt, dass die zweite Analyseeinheit den Platzhalter mit berücksichtigt, um die Antwortteilausgabe zu bestimmen.
  • Wird in der Spracheingabeinformation (insbesondere in Textform) eine der vordefinierten Entitäten zum Beispiel mittels eines „named-entity-resolution“ Algorithmus erkannt, können statt dieser Entität erfindungsgemäß entsprechende Platzhalter in das Erkennungsergebnis und/oder in die Textform eingebunden werden. Dies kann mittels eines sogenannten Konstruktors erfolgen.
  • In der Wissensdatenbank können Informationen hinterlegt und z.B. mittels sogenannter Tags, Identifiern, Hashes oder sogenannter Key-Value-Zusammenhängen assoziiert und abrufbar sein. Über die vorstehend aufgelisteten Merkmale kann ein Zusammenhang zu einer (in der Spracheingabeinformation) erkannten Entität hergestellt werden. Wurde zum Beispiel als Entität ein Filmtitel erkannt, können auf diese Weise assoziierte Informationen in Form darin spielender Schauspieler, einer dazugehörigen Jahreszahl, einem Drehort oder dergleichen ermittelt werden, die ebenfalls in der Wissensdatenbank hinterlegt und vorzugsweise per einem der o.g. Zusammenhänge mit der Entität verknüpft sind.
  • Allgemein kann also eine Hash-Anfrage an die Wissensdatenbank gerichtet werden, um mit der Entität in der Wissensdatenbank verknüpfte Informationen als Informationssatz zusammenzustellen.
  • In dem Informationssatz können beispielsweise sämtliche aufgefundenen Einträge aus der Informationsdatenbank als Zahlenwerte ausgedrückt und/oder in Vektoren umgerechnet gesammelt werden. Vorzugsweise können diese Zahlenwerte bzw. Vektoren in einer Matrix gespeichert werden, welche die erste Analyseeinheit anschließend als Eingangsinformation verwendet, um (vorzugsweise basierend auf einem Analyseergebnis der zweiten Analyseeinheit als weitere Eingangsgröße) eine am relevantesten scheinende Zielinformation zu identifizieren.
  • Sowohl die erste als auch die zweite Analyseeinheit können jeweils als Computerprogrammprodukte und insbesondere Computerprogramme oder Softwaremodule bereitgestellt sein. Sie können jedoch (im Vergleich zueinander) abweichende Eingangs- und/oder Ausgangsgrößen aufweisen bzw. für ein Verarbeiten und Erzeugen entsprechend abweichender Eingangs- und/oder Ausgangsgrößen eingerichtet sein.
  • Allgemein ist darauf hinzuweisen, dass sich der Begriff Analyse im Zusammenhang mit den Analyseeinheiten auf ein Analysieren im Sinne eines Ermittelns einer geeigneten Antwortausgabe (oder zumindest von Bestandteilen einer Antwortausgabe), dem Ermitteln der Zielinformation und/oder das Erfassen des semantischen Inhalts von zumindest Teilen der Spracheingabeinformation richten kann, sofern nicht anders angegeben oder ersichtlich.
  • Bei den Zielinformationen kann es sich um diejenigen Informationen aus dem Informationssatz handeln, die hinsichtlich der Entität die höchste (vermutete) Relevanz besitzen. Dabei kann sich die Relevanz insbesondere auf den aktuell vorliegenden Dialogzustand richten bzw. diese kann anhand einer Dialoghistorie bestimmt werden (von der ersten Analyseeinheit). Genauer gesagt kann die erste Analyseeinheit als Eingangsgröße die Dialoghistorie (hierin gleichbedeutend auch als Sprachkontext bezeichnet) sowie den Informationssatz erhalten. Die erste Analyseeinheit kann im Rahmen eines maschinellen Lernprozesses darauf trainiert worden sein, auf Basis dieser Eingangsgrößen dann einer der Informationen des Informationssatzes als Zielinformation auszuwählen bzw. als besonders relevant zu bewerten. Diese Information kann eine oder mehrere Entitäten umfassen, die zum Erzeugen der Antwortteilausgabe als relevant angesehen werden. Der Sprachkontext kann zum Beispiel von der zweiten Analyseeinheit erhalten werden. Als Ausgangsgröße kann die erste Analyseeinheit dann die Zielinformation ausgeben und zwar bevorzugt an die zweite Analyseeinheit.
  • Die zweite Analyseeinheit kann hingegen als Eingangsgrößen den Sprachinformationssatz (insbesondere einschließlich etwaiger Platzhalter) sowie die ermittelte Zielinformation erhalten. Die zweite Analyseeinheit kann darauf trainiert worden sein (zum Beispiel im Rahmen eines maschinellen Lernprozesses) darauf basierend eine Antwortteilausgabe zu erzeugen und auszugeben.
  • Anders ausgedrückt kann wenigstens und vorzugsweise genau eine aus den im Informationssatz enthaltenen und mit der Entität verknüpften Informationen als Zielinformation ausgewählt werden. Diese Zielinformation besetzt vorzugsweise eine aktuell höchste Relevanz und/oder scheint bezogen auf den aktuellen Sprachkontext am angemessensten, um Teil der Antwortausgabe zu werden. Es wird allgemein bevorzugt, dass die zweite Analyseeinheit erst in Kenntnis und insbesondere in Abhängigkeit von dieser ermittelten Zielinformation dann die Antwortteilausgabe bestimmt. Die Zielinformation kann, muss aber nicht Bestandteil der Antwortteilausgabe und/oder der Antwortausgabe werden. Allgemein kann die Zielinformation wenigstens eine Entität umfassen oder eine Gruppe von Entitäten. Beispielsweise kann die Zielinformation einer Zeile aus einer nachstehend diskutierten Matrix entsprechen, in der die Einträge des Informationssatzes einsortiert werden bzw. die den Informationssatz bilden.
  • Wird beispielsweise aktuell ein Filmtitel im Rahmen der Spracheingabeinformation erwähnt und allgemein die Qualität der Besetzung hervorgehoben, kann es relevant sein, in einem nächsten Schritt Schauspielername als Zielinformationen auszuwählen, die mit dem als Entität erkannten Filmtitel verknüpft sind und diese Teil der Antwortausgabe werden zu lassen. Wird hingegen der aus der Spracheingabeinformation deutlich, dass seitens eines Benutzers der Wunsch besteht, den Film erst noch zu sehen, kann es relevanter sein, mögliche Abspielorte oder Ansichtmöglichkeiten des Films zu diskutieren (also beispielsweise die Begriffe DVD, Kino oder dergleichen Teil der Antwortausgabe werden zu lassen).
  • Die zweite Analyseeinheit kann hingegen die Antwortteilausgabe (z.B. als Text- oder Audioausgabe) auf Basis des Sprachinformationssatzes erzeugen. Insbesondere kann die zweite Analyseeinheit einen aktuellen Dialogzustand ermitteln und/oder einen Sprachkontext (hierin gleichbedeutend mit der Dialoghistorie). Dialogzustände können z.B. vordefinierte Zustände sein, wie bspw. das Stellen einer Frage zu einem definierten Themenkomplex.
  • Das Erzeugen einer schlussendlichen Antwortausgabe kann mittels einer optionalen Rekonstruktionseinheit erfolgen. Allgemein kann sich die Antwortausgabe von der Antwortteilausgabe dahingehend unterscheiden, dass sie die Antwortteilausgabe enthält, aber auch gegebenenfalls die darin eingefügte und/oder zusätzlich ergänzte Zielinformation und/oder Entitäten, welche in der Antwortteilausgabe möglicherweise noch enthaltene Platzhalter ersetzen.
  • Anders ausgedrückt kann die Antwortausgabe eine Kombination von Antwortteilausgabe und Zielinformation sein und/oder die in die Antwortteilausgabe eingesetzte(n) Zielinformation(en) umfassen. Insbesondere können etwaige Platzhalter in der Antwortteilausgabe durch die Zielinformation aber auch durch anderweitige Entitäten ersetzt werden. Ein technischer Beitrag der erfindungsgemäßen Lösung ist insbesondere darin zu sehen, dass relevante Zielinformationen mit begrenztem Aufwand ermittelbar und mit der zweiten Analsyseeinheit zu den aufgefundenen Zielinformationen passende Satzstrukturen (Antwortteilausgaben) gebildet werden können. Anschließend kann dann die vorstehende erläuterte Zusammenführung dieser Inhalte zum Erzeugen der Antwortausgabe erfolgen.
  • Gemäß einer Ausführungsform kann demnach vorgesehen sein, dass in dem Sprachinformationssatz die Entität durch einen Platzhalter ersetzt ist, der anschließend wieder durch die Entität ersetzt wird, sofern er in der Antwortteilausgabe noch enthalten ist. Dies kann zum Beispiel im Rahmen von zu Schritt f) erfolgen. Sind keine entsprechenden Platzhalter enthalten, kann auch der Fall eintreten, dass sie Antwortteilausgabe der schlussendlichen Antwortausgabe entspricht. Statt von einer Antwortteilausgabe könnte deshalb auch von einer Antwortausgabeinformation gesprochen werden, die durch Ersetzen der Platzhalter potenziell noch weiterverarbeitet wird oder die der schlussendlichen Antwortausgabe bereits entspricht.
  • Eine Weiterbildung der Erfindung sieht vor, dass die zweite Analyseeinheit Analyseergebnisse der ersten Analyseeinheit erhält (z.B. in Form der ermittelten Zielinformation oder einer Gruppe (Subset) von Entitäten, die die Zielinformationen bilden), um die Antwortteilausgabe zu ermitteln. Genauer gesagt können diese Analyseergebnisse eine Eingangsgröße der zweiten Analyseeinheit bilden. Die zweite Analyseeinheit kann allgemein dazu trainiert werden bzw. erlernen, geeignete Antwortteilausgaben auf Basis derartiger Analyseergebnisse zu ermitteln.
  • Gemäß einer Weiterbildung umfassen die erste und/oder die zweite Analyseeinheit ein (künstliches) neuronales Netz. Insbesondere kann zumindest bei der zweiten Analyseeinheit ein mehrere Schichten umfassendes (also ein sogenanntes tiefes bzw. „deep“) neuronales Netz vorgesehen sein, bei der eine sogenannte Eingangsschicht und Ausgangsschicht über mehrere Schichten verknüpft sind. Jede Schicht eines neuronalen Netzes kann in sich bekannter Weise Knoten enthalten und die Knoten sind mit einem oder mehreren Knoten in einer benachbarten Schicht über gewichtete Verbindungen verknüpft sein. Die Gewichte und Verknüpfungen von Knoten können in an sich bekannter Weise innerhalb eines Trainings bzw. Lernprozesses des neuronalen Netzes erlernt werden. Allgemein können die neuronalen Netze einen nichtlinearen Zusammenhang zwischen Eingangsgrößen und Ausgangsgrößen definieren und somit anhand bereitgestellter Eingangsgrößen geeignete Ausgangsgrößen ermitteln. Die Nichtlinearität kann durch sogenannte Aktivierungsfunktionen eines neuronalen Netzes bedingt sein bzw. berücksichtigt werden. Die Netze können einen mathematischen Zusammenhang von Eingangs- und Ausgangsgrößen durch entsprechende Knoten und Schichten abbilden.
  • In diesem Zusammenhang kann ferner vorgesehen sein, dass die zweite Analyseeinheit ein neuronales Netz in Form eines (vorzugsweise hierarchischen) Sequenz-zu-Sequenz-Modells umfasst (Seq2Seq-Modell). Dieses kann in an sich bekannter Weise wenigstens einen Encoder umfassen, der Eingangsgrößen erhält (z.B. den Sprachinformationssatz). Weiter kann der Encoder basierend auf den Eingangsgrößen einen Zustand ermitteln und diesen an einen Decoder des Netzes ausgeben. Dieser kann eine Antwortteilausgabe der hierin erläuterten Art erzeugen und diese als Ausgangsgröße ausgeben.
  • Alternativ oder zusätzlich kann die erste Analyseeinheit ein neuronales Netz in Form eines Feed-Forward-Netzes und/oder mit einem Attention-Mechanismus umfassen. Das Feed-Forward-Netz kann allgemein frei von Rückkopplungen sein und somit ein einfaches, insbesondere lediglich zwei Schichten aufweisendes Netz sein. Es kann als Eingangsgrößen den Informationssatz und den Sprachkontext (Dialoghistorie) erhalten und insbesondere einen in Vektordarstellung codierten oder umgerechneten Informationssatz.
  • Allgemein kann die erste Analyseeinheit aus der Wissensdatenbank eine Gruppe (Subset) von ggf. relevanten Informationen ermitteln und hieraus dann die Zielinformation bestimmen. Letzteres erfolgt bevorzugt mittels des Attention-Mechanismus. Prinzipiell kann mittels des Attention-Mechanismus für jede Information des Subsets auf Basis der Dialoghistorie ein Wert (score) berechnet werden, der deren vermutete Relevanz angibt, zum Beispiel im Sinne einer Wahrscheinlichkeit. Niedrig bewertete Informationen können nicht als Zielinformation ausgewählt werden und keinen Einfluss auf die Antwortteilausgabe besitzen, da sie von der zweiten Analyseeinheit nicht berücksichtigt werden.
  • Gemäß einer Weiterbildung erhält die erste Analyseeinheit als Eingangsgröße eine Vektordarstellung (oder, mit anderen Worten, Vektorrepräsentation) des Informationssatzes. Dies kann über ein sogenanntes Embedding erfolgen, bei der in der Wissensdatenbank hinterlegte Informationen (diejenigen, die der Entität zugeordnet sind) in Vektordarstellungen umgerechnet werden. Das Resultat kann der von der ersten Analyseeinheit ausgewertete bzw. untersuchte Informationssatz sein. Alternativ kann als Informationssatz der vor der entsprechenden vektoriellen Umwandlung vorliegende Informationssatz betrachtet werden und infolge des Embeddings eine Vektorrepräsentation dieses Informationssatzes erzeugt werden.
  • Das Umrechnen in eine Vektorrepräsentation bietet allgemein den Vorteil, dass die Analyseeinheit auf ein mathematisches Modell bzw. eine mathematische Funktion gestützt werden kann und daher die Eingangsgröße in Form einer Vektordarstellung besser verarbeiten kann. Hierbei können basierend auf bekannten Ansätzen wie „Word2Vec“ oder „GloVe“ vorteilhafterweise auch semantische Informationen eingebunden werden.
  • Gemäß einer weiteren Ausführungsform ist die zweite Analyseeinheit nicht dazu eingerichtet, zu den ermittelten Entitäten (selbst) Zielinformationen (bzw. Ziel-Entitäten) auf Basis eines Informationssatzes aus der Wissensdatenbank zu ermitteln. Insbesondere kann die zweite Analyseeinheit nicht dazu eingerichtet sein, relevante und/oder zugeordnete Zielinformationen (bzw. Ziel-Entitäten) zu ermitteln, insbesondere nicht auf Basis von Einträgen der Wissensdatenbank und/oder vorstehend erläuterter Informationssätze. Insbesondere kann die Analyseeinheit hierfür nicht trainiert sein und/oder keine entsprechenden Zusammenhänge abbilden oder erkennen können. Allerdings kann die zweite Analyseeinheit dazu eingerichtet und insbesondere dazu trainiert sein, die Zielinformation zu verstehen und/oder darauf basierend eine passende Antwortteilausgabe zu erzeugen. Das Ermitteln der Zielinformation an sich soll aber bevorzugt durch die erste Analyseeinheit erfolgen. Dies ermöglicht, dass die zweite Analyseeinheit stattdessen auf andere Aufgaben spezialisiert und der Trainingsaufwand entsprechend angepasst werden kann. Beispielsweise sollte die zweite Analyseeinheit zwar gegebenenfalls mit Platzhaltern oder allgemein Entitäts-Klassifizierungen, wie „Filmtitel“ umgehen können, nicht aber sämtliche damit konkret assoziierten Entitäten bzw. Eigennamen erlernen müssen. Stattdessen können diese konkreten Entitäten (vorzugsweise aber nicht optional hierfür verwendete Platzhalter) aus dem Analyseumfang der zweiten Analyseeinheit gezielt ausgeklammert werden, die stattdessen bevorzugt allenfalls auf Basis der Platzhalter bzw. Entitäts-Klassifizierungen sowie der Zielinformationen und des Sprachkontextes Antwortteilausgaben erzeugt und hierfür entsprechend trainiert wird.
  • Zusätzlich oder alternativ kann vorgesehen sein, dass die erste Sprachanalyseeinheit nicht den Sprachinformationssatz als eine Eingangsgröße erhält und/oder nicht dazu eingerichtet ist, eine (bzw. die) Antwortteilausgabe selbstständig zu erzeugen.
  • Die Erfindung betrifft ferner ein System zum Erzeugen einer Antwortausgabe in Reaktion auf eine Spracheingabeinformation, mit:
    1. a) einer Ermittlungseinheit, die dazu eingerichtet ist, zu ermitteln, ob eine Spracheingabeinformation wenigstens eine vordefinierte Entität umfasst;
    2. b) einer Sprachinformationssatz-Erzeugungseinheit, die dazu eingerichtet ist, einen Sprachinformationssatz auf Basis der Spracheingabeinformation zu erzeugen, in dem eine ermittelte Entität nicht enthalten ist;
    3. c) einer Informationssatz-Erzeugungseinheit, die dazu eingerichtet ist, einen Informationssatz zu der Entität zu erzeugen, wobei der Informationssatz der Entität zugeordnete Informationen aus einer Wissensdatenbank enthält;
    4. d) einer ersten Analyseeinheit, die dazu eingerichtet ist, wenigstens eine Zielinformation aus dem Informationssatz zu ermitteln, die hinsichtlich der Entität relevant ist;
    5. e) einer zweiten Analyseeinheit, die dazu eingerichtet ist, eine Antwortteilausgabe auf Basis der ermittelten Zielinformation zu erzeugen; und
    6. f) einer Antwortausgabeeinheit, die dazu eingerichtet ist, eine Antwortausgabe auf Basis der Antwortteilausgabe zu erzeugen.
  • Schließlich betrifft die Erfindung auch das Verwenden eines Systems gemäß dem vorigen Aspekt für das Erzeugen von Antwortausgaben bei nicht-zielgeführten Dialogen. Es hat sich gezeigt, dass das erfindungsgemäße Vorsehen der beiden Analyseeinheiten und somit Aufteilen der jeweiligen Analyseaufgaben bei entsprechenden nicht-zielgeführten Dialogen (zwischen einem Benutzer und einem computergestützten System) besonders vorteilhaft ist.
  • Das System kann allgemein dazu eingerichtet sein, ein Verfahren gemäß jeglichen der vorstehenden und nachstehenden Aspekte auszuführen. Sämtliche Weiterbildungen, die im Kontext mit analogen Verfahrensmerkmalen diskutiert werden, können bei den gleichlautenden Systemmerkmalen ebenso vorgesehen sein. Das System kann allgemein computerbasiert sein bzw. als ein computerbasiertes Sprachdialogsystem bezeichnet werden. Die Einheiten des Systems können als Softwaremodule und/oder als Bestandteil eines Computerprogrammproduktes (zum Beispiel in Form einzelner Softwarefunktionen) realisiert sein. Das System kann optional eine Recheneinheit umfassen (z. B. einen Prozessor), auf der die Einheiten vorzugsweise ausführbar sind, und/oder eine Speichereinrichtung, auf der vorzugsweise die Wissensdatenbank abgespeichert ist.
  • Im Folgenden wird eine Ausführungsform der Erfindung anhand der beigefügten Figuren erläutert. Es stellen dar:
    • 1 eine Übersichtsdarstellung eines erfindungsgemäßen Systems gemäß einer Ausführungsform;
    • 2 eine Detaildarstellung des Systems aus 1; und
    • 3 ein Ablaufschema von einem mit dem System der 1 und 2 ausgeführten erfindungsgemäßen Verfahren.
  • In 1 ist ein erfindungsgemäße System 10 gemäß einer Ausführungsform schematisch gezeigt. Dieses System 10 ist als ein Computerprogrammprodukt realisiert, bei dem in an sich bekannter Weise nachstehend erläuterte Funktionen bzw. Funktionsblöcke durch einzelne Programmmodule realisiert sein können. Das System 10 kann auf der Recheneinheit eines herkömmlichen PCs ausgeführt werden. Einzig die nachstehend erläuterte Wissensdatenbank 14 kann als eine Datensammlung nicht primär als ein Software-Modul oder eine von einer Recheneinheit ausführbare Funktion verstanden werden, sondern als eine Datensammlung des Systems 10 hinterlegt sein. Sämtliche hierin erwähnten Einheiten des Systems 10 können entsprechend als Softwaremodul, Computerprogrammprodukt oder Softwarefunktion realisiert sein. Das System 10 kann optional aber auch Hardwarekomponenten in Form einer Recheneinheit (Prozessor und/oder Grafikkarte) und/oder einer Speichereinrichtung für die Wissensdatenbank umfassen.
  • Das System 10 erhält als eine Eingangsgröße eine Spracheingabeinformation E in Form einer bereits in Textform umgewandelten Audioeingabe. In einer Ermittlungseinheit 12, die ein Eigennamenerkennungsmodul (NER - Named Entity Recogniser oder Named Entity Resolver) ist und auf bekannten Algorithmen beruht, können in der Spracheingabeinformation enthaltene vordefinierte Entitäten erkannt werden. Hierfür kann die Ermittlungseinheit 12 auf eine nachstehend erläuterte Wissensdatenbank 14 zurückgreifen, in der entsprechende Entitäten hinterlegt sind. Das Erkennen von Entitäten in Spracheingabeinformationen (insbesondere wenn diese bereits in Textform vorliegen) ist an sich bekannt und kann durch Verwenden herkömmlicher Named Entity Recogniser, die typischerweise auf neuronalen Netzen basieren können, praktisch umgesetzt werden.
  • Als Ausgangsgröße kann die Ermittlungseinheit 12 entsprechende in der Spracheingabeinformation E enthaltene Entitäten definieren. Die Ausgangsinformation der Ermittlungseinheit 12 wird einer Sprachinformationssatz-Erzeugungseinheit 16 zugeführt, die auch als Konstruktor bezeichnet werden kann. Die Sprachinformationssatz-Erzeugungseinheit 16 erzeugt einen Sprachinformationssatz (z.B. in Form einer Textdatei), in dem die Entitäten jeweils durch einen Platzhalter ersetzt sind oder, allgemein ausgedrückt, in dem erkannte Entitäten nicht vorhanden sind. Dieser wird einem Analyseblock 18 als Eingangsgröße zugeführt.
  • Dies hat den Vorteil, dass eine nachstehend erläuterte zweite Analyseeinheit 24 (siehe 2), die in dem in 1 lediglich schematisch angedeuteten Analyseblock 18 enthalten ist, nicht für eine Analyse von bzw. auf Basis der konkreten Entitäten eingerichtet sein muss, sondern allenfalls für den Umgang mit entsprechenden Platzhaltern. Es versteht sich, dass die Entitäten einer deutlich höheren Variation unterliegen als die Platzhalter, welche als Oberbegriff für eine Mehrzahl verschiedener Entitäten zu verstehen sind. Dies kann den Lern- bzw. Trainingsaufwand reduzieren. Stattdessen kann die entsprechende zweite Analyseeinheit 24 dafür spezialisiert (und insbesondere darauf beschränkt) sein, den allgemeinen Sprachkontext zu ermitteln, wobei etwaige Entitäten gänzlich ausgeklammert oder lediglich als Platzhalter berücksichtigt werden (zum Beispiel in Form von „Film“ (Platzhalter) anstelle des konkreten Filmtitels (Entität) innerhalb einer die Spracheingabeinformation repräsentierenden Textdatei). Auch der Analyseblock 18 kann auf die Wissensdatenbank 14 zugreifen, wie durch entsprechende Pfeile in 1 angedeutet.
  • Als Ausgangsgröße gibt der Analyseblock 18 eine nachstehend erläuterte Antwortteilausgabe aus. Enthält diese nach wie vor Platzhalter, werden diese in einer Antwortausgabeeinheit 21, die auch als Rekonstruierer bezeichnet werden kann, durch passende Entitäten ersetzt und somit mit der Antwortteilausgabe zu einer Antwortausgabe A kombiniert. Die Antwortausgabe A kann wiederum eine Textdatei sein oder umfassen und beispielsweise einem Benutzer nach Umwandlung in eine Audiodatei über ein Audioausgabegerät ausgegeben werden.
  • In 2 ist eine Detaildarstellung des Systems 10 aus 1 gezeigt. Darin sind insbesondere weitere Details des Analyseblocks 18 ersichtlich. Man erkennt wiederum die Spracheingabeinformation E, die in Textform vorliegt, sowie die Ermittlungseinheit 12, die mit Hilfe der Wissensdatenbank 14 Entitäten innerhalb der Eingangsgröße E erkennen kann. Ebenso gezeigt ist die Sprachinformations-Erzeugungseinheit 16.
  • Zu beachten ist, dass ein Zugriff der Ermittlungseinheit 12 auf die Wissensdatenbank 14 rein optional ist und z.B. erfolgen kann, um eine Erkennungsgenauigkeit zu erhöhen. Allgemein und nicht auf das vorliegende Beispiel und dessen weitere Details beschränkt, kann die Ermittlungseinheit 12 ferner Information z.B. aus der Spracheingabeinformation E verarbeiten, um die Erkennungsgenauigkeit zu erhöhen. Enthält diese z.B. Schauspielernamen, steigt die Wahrscheinlichkeit, dass es sich bei einer weiteren Entität in der Eingabe um einen Filmtitel handelt.
  • Der Analyseblock 18 ist strichliert umrissen und dessen einzelne Funktionsblöcke sind gezeigt. Man erkennt zunächst eine Vektorerzeugungseinheit 20 (Embedder), mit der ein nachstehend erläuterter Informationssatz als eine Vektorrepräsentation dargestellt werden kann. Hierfür kann eine in die Vektorerzeugungseinheit 20 integrierte Informationssatz-Erzeugungseinheit 25 auf die Wissensdatenbank 14 zugreifen und zunächst Informationen ermitteln, die laut der Wissensdatenbank 14 mit der ermittelten Entität assoziiert sind bzw. dieser zugeordnet sind. Dies kann über eine sogenannte Hash-Anfrage erfolgen. Diese Informationen können dann als Informationssatz (Subset) zusammengefasst und in eine Vektorrepräsentation umgerechnet werden.
  • Letztere bildet dann eine Eingangsgröße einer ersten Analyseeinheit 22. Diese ist als ein „feed-forward“ neuronales Netz ausgebildet und kann unter Verwenden des als Vektorrepräsentation dargestellten Informationssatzes eine darin enthaltene Information als Zielinformation auswählen, auf deren Basis die nachstehend erläuterte zweite Analyseeinheit 24 eine Antwortteilausgabe ermitteln soll. Hierfür wird auch der nachstehend erläuterte Sprachkontext berücksichtigt, der ein Analyseergebnis der zweiten Analyseeinheit 24 ist (siehe entsprechende pfeilförmig dargestellte Verbindungen zwischen diesen Einheiten in 2). Anschließend ermittelt das neuronale Netz der ersten Analyseeinheit 22 ein insbesondere in Anbetracht des aktuellen Sprachkontextes relevante Information aus dem der Entität zugeordneten Informationssatz als Zielinformation. Hierbei handelt es sich bevorzugt um diejenige Information des Informationssatzes, die von der ersten Analyseeinheit 22 mit einer höchsten Wahrscheinlichkeit als relevant eingestuft wird bzw. eine höchste Relevanzbewertung von der ersten Analyseeinheit 22 erhalten hat. Die Zielinformation bildet eine Ausgangsgröße der zweiten Analyseeinheit 22 und wird an die erste Analyseeinheit 24 ausgegeben.
  • Ferner erkennt man, dass der Analyseblock 18 die zweite Analyseeinheit 24 umfasst, die den Sprachinformationssatz der Erzeugungseinheit 16 und die Zielinformation der ersten Analyseeinheit 22 als Eingangsgröße erhält.
  • Die zweite Analyseeinheit 24 ermittelt basierend auf diesen Eingangsgrößen und unter Berücksichtigung von durch die Sprachinformationssatz-Erzeugungseinheit 16 eingefügten Platzhaltern sowie von einem fortlaufend ermittelten und aktualisierten Sprachkontext, eine Antwortteilausgabe. Der Sprachkontext deutet insbesondere daraufhin, welche Art von Antwortausgabe A voraussichtlich relevant und aus Sicht des Benutzers angemessen wäre. Dieser Sprachkontext wird auch an die erste Analyseeinheit 22 ausgegeben um anschließend die hiervon ermittelte Zielinformation zu erhalten.
  • In der ermittelten Antwortteilausgabe sind weder die Entitäten der Spracheingabeinformation E noch die dazugehörigen Zielinformationen enthalten. Letztere werden in der vorstehend geschilderten Weise von der ersten Analyseeinheit 22 ermittelt und erst in dem Antwortausgabeteil 21 eingebunden, und zwar in der Weise, dass etwaige in der Antwortteilausgabe noch vorhandene Platzhalter zum Beispiel durch eine entsprechende Zielinformation ersetzt werden können.
  • Im Folgenden wird anhand von 3 ein beispielhaftes Ablaufschema eines erfindungsgemäßen Verfahrens geschildert. In einem Schritt S1 wird die Spracheingabeinformation E in Textform erhalten und von der Ermittlungseinheit 12 auf vorhandene Entitäten überprüft. Werden keine Entitäten festgestellt, ermittelt der Analyseblock 18 allein mithilfe der zweiten Analyseeinheit 24 die Antwortausgabe A, wobei dieser Fall in 3 nicht gesondert dargestellt ist.
  • Wird das Vorhandensein einer Entität ermittelt, wird in einem Schritt S2 von der Sprachinformationssatz-Erzeugungseinheit 16 ein Sprachinformationssatz erzeugt, in dem Entitäten in der Spracheingabeinformation E jeweils durch einen Platzhalter ersetzt sind.
  • Zum Schritt S2 vorgelagert, nachgelagert (wie in 3) oder zumindest teilweise parallel hierzu ermittelt die Informationssatz-Erzeugungseinheit 25 in Schritt S5 Informationen, die der Entität laut Wissensdatenbank 14 zugeordnet sind. Diese werden in dem vorstehend erwähnten Informationssatz zusammengefasst und im Schritt S6 von der Vektorerzeugungseinheit 20 in eine Vektordarstellung umgerechnet.
  • Die erste Analyseeinheit 22 ermittelt dann im Schritt S7 unter Berücksichtigung des Sprachkontextes, der von der zweiten Analyseeinheit 24 erhalten werden kann, eine der Informationen des Informationssatzes als Zielinformation. Im Schritt S8 wird dann die Antwortteilausgabe durch die zweite Analyseeinheit 24 anhand des Sprachinformationssatzes und der Zielinformation der ersten Analyseeinheit 22 bestimmt. Sind in der Antwortteilausgabe noch Platzhalter vorhanden, können diese mittels der Rekonstruktionseinheit 21 unter optionalen Zugriff auf die Wissensdatenbank 14 (sh. entsprechende Pfeile in 1, 2) durch Entitäten ersetzt werden.
  • Ein Beispiel für eine Spracheingabeinformation ist „Mir gefällt der allererste James-Bond-Film sehr gut“. Als Entität kann darin die Bezeichnung „James-Bond“ als Filmtitel erkannt werden. Als ein Platzhalter kann deshalb [Film] bzw. [movie] verwendet werden und aus der Wissensdatenbank 14 können sämtliche zu diesem Film passenden Informationen als Informationssatz ermittelt werden.. Die erste Analyseeinheit 22 ermittelt Zielinformationen aus dem Informationssatz, die in Anbetracht des Sprachkontextes sinnvoll erscheinen, zum Beispiel Schauspielernamen (hier beispielhaft X und Y). Die zweite Analyseeinheit 24 wird dann in Anbetracht dieser als Zielinformation ermittelten Entitäte(n) und in Anbetracht des Sprachkontextes eine passende Antwortteilausgabe erzeugen, z.B. eine Rückfrage in der Weise „Mochten Sie lieber X oder Y als Darsteller?“ .
  • Gemäß einer nicht gesondert dargestellten Ausführungsform, die einen von den gezeigten Ausführungsbeispielen unabhängigen Aspekt der Erfindung darstellt, kann zumindest die erste Analyseinheit (optional aber auch die zweite) statt auf einem neuronalen Netz auf einem Expertenwissenmodell basieren. Vorteilhafterweise werden dann keine Trainingsdaten für eine entsprechende Analyseeinheit benötigt.
  • Bezugszeichenliste
  • 10
    System
    12
    Ermittlungseinheit
    14
    Wissensdatenbank
    16
    Sprachinformationssatz-Erzeugungseinheit
    18
    Analyseblock
    20
    Vektorerzeugungseinheit
    22
    erste Analyseeinheit
    24
    zweite Analyseeinheit
    25
    Informationssatz-Erzeugungseinheit
    A
    Antwortausgabe
    E
    Spracheingabeinformation

Claims (10)

  1. Verfahren zum Erzeugen einer Antwortausgabe (A) in Reaktion auf eine Spracheingabeinformation (E), mit: a) Ermitteln, ob eine Spracheingabeinformation (E) wenigstens eine vordefinierte Entität umfasst; und wenn dies der Fall ist: b) Erzeugen eines Sprachinformationssatzes auf Basis der Spracheingabeinformation (E), in dem die Entität nicht enthalten ist; c) Erzeugen eines Informationssatzes, wobei der Informationssatz der Entität zugeordnete Informationen aus einer Wissensdatenbank (14) umfasst; d) mit einer ersten Analyseeinheit (22): Ermitteln wenigstens einer Zielinformation aus dem Informationssatz, die hinsichtlich der Entität relevant ist; e) mit einer zweiten Analyseeinheit (24): Erzeugen einer Antwortteilausgabe auf Basis der ermittelten Zielinformation; und f) Erzeugen einer Antwortausgabe (A) auf Basis der Antwortteilausgabe.
  2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass in dem Sprachinformationssatz die Entität durch einen Platzhalter ersetzt ist, der anschließend wieder durch die Entität ersetzt wird, sofern er in der Antwortteilausgabe noch enthalten ist.
  3. Verfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet, dass die erste und/oder die zweite Analyseeinheit (22, 24) ein neuronales Netz umfassen.
  4. Verfahren nach Anspruch 3, dadurch gekennzeichnet, dass die zweite Analyseeinheit (24) ein neuronales Netz in Form eines Sequenz-zu-Sequenz Modells umfasst.
  5. Verfahren nach Anspruch 3, dadurch gekennzeichnet, dass die erste Analyseeinheit (22) ein neuronales Netz in Form eines Feed-Forward-Netzes und/oder ein neuronales Netz mit einem Attention-Mechanismus umfasst.
  6. Verfahren nach einem der vorangehenden Ansprüche, dadurch gekennzeichnet, dass die erste Analyseeinheit (22) als Eingangsgröße eine Vektordarstellung des Informationssatzes erhält.
  7. Verfahren nach einem der vorangehenden Ansprüche, dadurch gekennzeichnet, dass die zweite Analyseeinheit (24) nicht dazu eingerichtet ist, Zielinformationen zu den ermittelten Entitäten auf Basis eines Informationssatzes aus der Wissensdatenbank (14) zu ermitteln.
  8. Verfahren nach einem der vorangehenden Ansprüche, dadurch gekennzeichnet, dass die erste Analyseeinheit (22) nicht den Sprachinformationssatz als eine Eingangsgröße erhält und/oder nicht dazu eingerichtet ist, darauf basierend eine Antwortteilausgabe zu erzeugen.
  9. System (10) zum Erzeugen einer Antwortausgabe (A) in Reaktion auf eine Spracheingabeinformation (E), mit: a) einer Ermittlungseinheit (12), die dazu eingerichtet ist, zu ermitteln, ob eine Spracheingabeinformation (E) wenigstens eine vordefinierte Entität umfasst; b) einer Sprachinformationssatz-Erzeugungseinheit (16), die dazu eingerichtet ist, einen Sprachinformationssatz auf Basis der Spracheingabeinformation zu erzeugen, in dem eine ermittelte Entität nicht enthalten ist; c) einer Informationssatz-Erzeugungseinheit (25), die dazu eingerichtet ist, einen Informationssatz zu der Entität zu erzeugen, wobei der Informationssatz der Entität zugeordnete Informationen aus einer Wissensdatenbank (14) enthält; d) einer ersten Analyseeinheit (22), die dazu eingerichtet ist, wenigstens eine Zielinformation aus dem Informationssatz zu ermitteln, die hinsichtlich der Entität relevant ist; e) einer zweiten Analyseeinheit (24), die dazu eingerichtet ist, eine Antwortteilausgabe auf Basis der ermittelten Zielinformation zu erzeugen; und f) einer Antwortausgabeeinheit (21), die dazu eingerichtet ist, eine Antwortausgabe auf Basis der Antwortteilausgabe zu erzeugen.
  10. Verwenden eines Systems (10) nach Anspruch 9 für das Erzeugen von Antwortausgaben bei nicht-zielgeführten Dialogen.
DE102018222156.1A 2018-12-18 2018-12-18 Verfahren, Anordnung und Verwendung zum Erzeugen einer Antwortausgabe in Reaktion auf eine Spracheingabeinformation Pending DE102018222156A1 (de)

Priority Applications (3)

Application Number Priority Date Filing Date Title
DE102018222156.1A DE102018222156A1 (de) 2018-12-18 2018-12-18 Verfahren, Anordnung und Verwendung zum Erzeugen einer Antwortausgabe in Reaktion auf eine Spracheingabeinformation
CN201980084669.4A CN113228165A (zh) 2018-12-18 2019-11-11 用于响应于语音输入信息来产生应答输出的方法、装置和应用
PCT/EP2019/080901 WO2020126217A1 (de) 2018-12-18 2019-11-11 Verfahren, anordnung und verwendung zum erzeugen einer antwortausgabe in reaktion auf eine spracheingabeinformation

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102018222156.1A DE102018222156A1 (de) 2018-12-18 2018-12-18 Verfahren, Anordnung und Verwendung zum Erzeugen einer Antwortausgabe in Reaktion auf eine Spracheingabeinformation

Publications (1)

Publication Number Publication Date
DE102018222156A1 true DE102018222156A1 (de) 2020-06-18

Family

ID=68581776

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102018222156.1A Pending DE102018222156A1 (de) 2018-12-18 2018-12-18 Verfahren, Anordnung und Verwendung zum Erzeugen einer Antwortausgabe in Reaktion auf eine Spracheingabeinformation

Country Status (3)

Country Link
CN (1) CN113228165A (de)
DE (1) DE102018222156A1 (de)
WO (1) WO2020126217A1 (de)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113192498A (zh) * 2021-05-26 2021-07-30 北京捷通华声科技股份有限公司 音频数据处理方法、装置、处理器及非易失性存储介质

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6499013B1 (en) * 1998-09-09 2002-12-24 One Voice Technologies, Inc. Interactive user interface using speech recognition and natural language processing
CN101075435B (zh) * 2007-04-19 2011-05-18 深圳先进技术研究院 一种智能聊天***及其实现方法
DE102007042583B4 (de) * 2007-09-07 2010-12-09 Audi Ag Verfahren zur Kommunikation zwischen einer natürlichen Person und einem künstlichen Sprachsystem sowie Kommunikationssystem
CN104239343B (zh) * 2013-06-20 2018-04-27 腾讯科技(深圳)有限公司 一种用户输入信息的处理方法和装置
US9666188B2 (en) * 2013-10-29 2017-05-30 Nuance Communications, Inc. System and method of performing automatic speech recognition using local private data
KR20160027640A (ko) * 2014-09-02 2016-03-10 삼성전자주식회사 전자 장치 및 전자 장치에서의 개체명 인식 방법
US10956666B2 (en) * 2015-11-09 2021-03-23 Apple Inc. Unconventional virtual assistant interactions
WO2017112813A1 (en) * 2015-12-22 2017-06-29 Sri International Multi-lingual virtual personal assistant
CN108255934B (zh) * 2017-12-07 2020-10-27 北京奇艺世纪科技有限公司 一种语音控制方法及装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
UNGER, Christina, et al. Template-based question answering over RDF data. In: Procee-dings of the 21st international conference on World Wide Web. ACM, 2012. S. 639-648. DOI: 10.1145/2187836.2187923 *
ZHENG, Weiguo, et al. Question answering over knowledge graphs: question under-standing via template decomposition. Proceedings of the VLDB Endowment, July 2018, 11. Jg., Nr. 11, S. 1373-1386. DOI: 10.14778/3236187.3236192 *

Also Published As

Publication number Publication date
WO2020126217A1 (de) 2020-06-25
CN113228165A (zh) 2021-08-06

Similar Documents

Publication Publication Date Title
DE112018002601T5 (de) Verarbeitung natürlicher sprache unter verwendung von kontextspezifischen wortvektoren
DE112016005292T5 (de) Automatischer Abweichungsdetektionsdienst auf heterogenen Protokollströmen
DE112016000509T5 (de) Batch-Normalisierungsschichten
DE102013205737A1 (de) System und Verfahren zum automatischen Erkennen und interaktiven Anzeigen von Informationen über Entitäten, Aktivitäten und Ereignisse aus multimodalen natürlichen Sprachquellen
DE112018006345T5 (de) Abrufen von unterstützenden belegen für komplexe antworten
DE102019004300A1 (de) Verwendung eines dynamischen speichernetzwerks zum verfolgen digitaler dialogzustände und erzeugen von antworten
DE10149693A1 (de) Objekte in einem Computersystem
EP3798922A1 (de) Vorrichtung und verfahren zum maschinenlernen und ansteuern einer maschine
DE112020003909T5 (de) Verfahren zum multimodalen abrufen bzw. wiedergewinnen und clustern unter verwendung einer tiefen cca und aktiver paarweiser abfragen
DE102020110542A1 (de) Verfahren und einrichtungen zum ver walten von tickets
DE112018005272T5 (de) Suchen von mehrsprachigen dokumenten auf grundlage einer extraktion der dokumentenstruktur
DE102021004562A1 (de) Abwandlung von Szenengraphen auf Grundlage von Befehlen in natürlicher Sprache
EP2414903A1 (de) Vorrichtung und verfahren zur erstellung eines prozessmodells
DE102020211679A1 (de) Computer-implementiertes system und verfahren mit einem digitalen zwilling und einer graphen-basierten struktur
DE19849855C1 (de) Verfahren zur automatischen Generierung einer textlichen Äußerung aus einer Bedeutungsrepräsentation durch ein Computersystem
DE102018222156A1 (de) Verfahren, Anordnung und Verwendung zum Erzeugen einer Antwortausgabe in Reaktion auf eine Spracheingabeinformation
DE102020118967A1 (de) Verfahren zum automatischen lippenlesen mittels einer funktionskomponente und zum bereitstellen der funktionskomponente
EP2273383A1 (de) Verfahren und Vorrichtung zur automatischen Suche nach Dokumenten in einem Datenspeicher
DE102022204493A1 (de) Segmentierung einer Sequenz von Videobildern mit einem Transformer-Netzwerk
DE202021101570U1 (de) System zur Zustandsdarstellung für eine Automatisierungsanlage
DE102016125162B4 (de) Verfahren und Vorrichtung zum maschinellen Verarbeiten von Texten
DE202021102099U1 (de) Vorrichtung zum Verarbeiten einer Wissensgrapheneinbettung
WO2005116867A1 (de) Verfahren und system zur automatisierten erzeugung von computergestützten steuerungs- und analysevorrichtungen
DE10112587A1 (de) Verfahren und Vorrichtung zum rechnergestützten Ermitteln der Ähnlichkeit einer elektronischen ersten Zeichenkette mit einer elektronischen zweiten Zeichenkette, Computerlesbares Speichermedium und Computerprogramm-Element
DE19626142A1 (de) Computer-Aided-Text-Design-System

Legal Events

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

Free format text: PREVIOUS MAIN CLASS: G06F0017200000

Ipc: G06F0017280000

R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: G06F0017280000

Ipc: G06F0016332000

R016 Response to examination communication