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 PDFInfo
- 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
Links
- 230000004044 response Effects 0.000 title claims abstract description 89
- 238000000034 method Methods 0.000 title claims abstract description 31
- 239000013598 vector Substances 0.000 claims description 19
- 238000013528 artificial neural network Methods 0.000 claims description 16
- 230000007246 mechanism Effects 0.000 claims description 4
- 230000008569 process Effects 0.000 description 13
- 238000006243 chemical reaction Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 8
- 238000004590 computer program Methods 0.000 description 6
- 238000010801 machine learning Methods 0.000 description 6
- 238000012549 training Methods 0.000 description 6
- 238000013459 approach Methods 0.000 description 5
- 238000011161 development Methods 0.000 description 5
- 230000018109 developmental process Effects 0.000 description 5
- 230000008901 benefit Effects 0.000 description 3
- 238000013480 data collection Methods 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- FGUUSXIOTUKUDN-IBGZPJMESA-N C1(=CC=CC=C1)N1C2=C(NC([C@H](C1)NC=1OC(=NN=1)C1=CC=CC=C1)=O)C=CC=C2 Chemical compound C1(=CC=CC=C1)N1C2=C(NC([C@H](C1)NC=1OC(=NN=1)C1=CC=CC=C1)=O)C=CC=C2 FGUUSXIOTUKUDN-IBGZPJMESA-N 0.000 description 1
- 101100116570 Caenorhabditis elegans cup-2 gene Proteins 0.000 description 1
- 101100116572 Drosophila melanogaster Der-1 gene Proteins 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000011835 investigation Methods 0.000 description 1
- 238000007620 mathematical function Methods 0.000 description 1
- 238000013178 mathematical model Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 238000011144 upstream manufacturing Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/22—Procedures used during a speech recognition process, e.g. man-machine dialogue
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/289—Phrasal analysis, e.g. finite state techniques or chunking
- G06F40/295—Named entity recognition
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/08—Speech classification or search
- G10L15/18—Speech classification or search using natural language modelling
- G10L15/1822—Parsing for meaning understanding
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/08—Speech classification or search
- G10L15/16—Speech classification or search using artificial neural networks
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/22—Procedures used during a speech recognition process, e.g. man-machine dialogue
- G10L2015/223—Execution procedure of a spoken command
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Theoretical Computer Science (AREA)
- Artificial Intelligence (AREA)
- Multimedia (AREA)
- Acoustics & Sound (AREA)
- General Health & Medical Sciences (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (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).
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:
- a) Ermitteln, ob eine Spracheingabeinformation wenigstens eine vordefinierte Entität umfasst; und wenn dies der Fall ist:
- b) Erzeugen eines Sprachinformationssatzes auf Basis der Spracheingabeinformation, in dem die Entität nicht enthalten ist;
- c) Erzeugen eines Informationssatzes (Entitätsinformationssatz), wobei der Informationssatz der Entität zugeordnete Informationen aus einer Wissensdatenbank umfasst;
- d) mit einer ersten Analyseeinheit: Ermitteln wenigstens einer Zielinformation aus dem Informationssatz, die hinsichtlich der (ermittelten vordefinierten) Entität relevant ist;
- e) mit einer zweiten Analyseeinheit: Erzeugen einer Antwortteilausgabe auf Basis der ermittelten Zielinformation; und
- 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:
- a) einer Ermittlungseinheit, die dazu eingerichtet ist, zu ermitteln, ob eine Spracheingabeinformation wenigstens eine vordefinierte Entität umfasst;
- 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;
- 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;
- d) einer ersten Analyseeinheit, die dazu eingerichtet ist, wenigstens eine Zielinformation aus dem Informationssatz zu ermitteln, die hinsichtlich der Entität relevant ist;
- e) einer zweiten Analyseeinheit, die dazu eingerichtet ist, eine Antwortteilausgabe auf Basis der ermittelten Zielinformation zu erzeugen; und
- 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 aus1 ; und -
3 ein Ablaufschema von einem mit dem System der1 und2 ausgeführten erfindungsgemäßen Verfahren. - In
1 ist ein erfindungsgemäße System10 gemäß einer Ausführungsform schematisch gezeigt. Dieses System10 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 System10 kann auf der Recheneinheit eines herkömmlichen PCs ausgeführt werden. Einzig die nachstehend erläuterte Wissensdatenbank14 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 Systems10 hinterlegt sein. Sämtliche hierin erwähnten Einheiten des Systems10 können entsprechend als Softwaremodul, Computerprogrammprodukt oder Softwarefunktion realisiert sein. Das System10 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 SpracheingabeinformationE in Form einer bereits in Textform umgewandelten Audioeingabe. In einer Ermittlungseinheit12 , 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 Ermittlungseinheit12 auf eine nachstehend erläuterte Wissensdatenbank14 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 SpracheingabeinformationE enthaltene Entitäten definieren. Die Ausgangsinformation der Ermittlungseinheit12 wird einer Sprachinformationssatz-Erzeugungseinheit16 zugeführt, die auch als Konstruktor bezeichnet werden kann. Die Sprachinformationssatz-Erzeugungseinheit16 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 Analyseblock18 als Eingangsgröße zugeführt. - Dies hat den Vorteil, dass eine nachstehend erläuterte zweite Analyseeinheit
24 (siehe2 ), die in dem in1 lediglich schematisch angedeuteten Analyseblock18 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 Analyseeinheit24 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 Analyseblock18 kann auf die Wissensdatenbank14 zugreifen, wie durch entsprechende Pfeile in1 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 Antwortausgabeeinheit21 , die auch als Rekonstruierer bezeichnet werden kann, durch passende Entitäten ersetzt und somit mit der Antwortteilausgabe zu einer AntwortausgabeA kombiniert. Die AntwortausgabeA 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 Systems10 aus1 gezeigt. Darin sind insbesondere weitere Details des Analyseblocks18 ersichtlich. Man erkennt wiederum die SpracheingabeinformationE , die in Textform vorliegt, sowie die Ermittlungseinheit12 , die mit Hilfe der Wissensdatenbank14 Entitäten innerhalb der EingangsgrößeE erkennen kann. Ebenso gezeigt ist die Sprachinformations-Erzeugungseinheit16 . - Zu beachten ist, dass ein Zugriff der Ermittlungseinheit
12 auf die Wissensdatenbank14 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 Ermittlungseinheit12 ferner Information z.B. aus der SpracheingabeinformationE 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 Vektorerzeugungseinheit20 (Embedder), mit der ein nachstehend erläuterter Informationssatz als eine Vektorrepräsentation dargestellt werden kann. Hierfür kann eine in die Vektorerzeugungseinheit20 integrierte Informationssatz-Erzeugungseinheit25 auf die Wissensdatenbank14 zugreifen und zunächst Informationen ermitteln, die laut der Wissensdatenbank14 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 Analyseeinheit24 eine Antwortteilausgabe ermitteln soll. Hierfür wird auch der nachstehend erläuterte Sprachkontext berücksichtigt, der ein Analyseergebnis der zweiten Analyseeinheit24 ist (siehe entsprechende pfeilförmig dargestellte Verbindungen zwischen diesen Einheiten in2 ). Anschließend ermittelt das neuronale Netz der ersten Analyseeinheit22 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 Analyseeinheit22 mit einer höchsten Wahrscheinlichkeit als relevant eingestuft wird bzw. eine höchste Relevanzbewertung von der ersten Analyseeinheit22 erhalten hat. Die Zielinformation bildet eine Ausgangsgröße der zweiten Analyseeinheit22 und wird an die erste Analyseeinheit24 ausgegeben. - Ferner erkennt man, dass der Analyseblock
18 die zweite Analyseeinheit24 umfasst, die den Sprachinformationssatz der Erzeugungseinheit16 und die Zielinformation der ersten Analyseeinheit22 als Eingangsgröße erhält. - Die zweite Analyseeinheit
24 ermittelt basierend auf diesen Eingangsgrößen und unter Berücksichtigung von durch die Sprachinformationssatz-Erzeugungseinheit16 eingefügten Platzhaltern sowie von einem fortlaufend ermittelten und aktualisierten Sprachkontext, eine Antwortteilausgabe. Der Sprachkontext deutet insbesondere daraufhin, welche Art von AntwortausgabeA voraussichtlich relevant und aus Sicht des Benutzers angemessen wäre. Dieser Sprachkontext wird auch an die erste Analyseeinheit22 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 Analyseeinheit22 ermittelt und erst in dem Antwortausgabeteil21 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 SchrittS1 wird die SpracheingabeinformationE in Textform erhalten und von der Ermittlungseinheit12 auf vorhandene Entitäten überprüft. Werden keine Entitäten festgestellt, ermittelt der Analyseblock18 allein mithilfe der zweiten Analyseeinheit24 die AntwortausgabeA , wobei dieser Fall in3 nicht gesondert dargestellt ist. - Wird das Vorhandensein einer Entität ermittelt, wird in einem Schritt
S2 von der Sprachinformationssatz-Erzeugungseinheit16 ein Sprachinformationssatz erzeugt, in dem Entitäten in der SpracheingabeinformationE jeweils durch einen Platzhalter ersetzt sind. - Zum Schritt
S2 vorgelagert, nachgelagert (wie in3 ) oder zumindest teilweise parallel hierzu ermittelt die Informationssatz-Erzeugungseinheit25 in SchrittS5 Informationen, die der Entität laut Wissensdatenbank14 zugeordnet sind. Diese werden in dem vorstehend erwähnten Informationssatz zusammengefasst und im SchrittS6 von der Vektorerzeugungseinheit20 in eine Vektordarstellung umgerechnet. - Die erste Analyseeinheit
22 ermittelt dann im SchrittS7 unter Berücksichtigung des Sprachkontextes, der von der zweiten Analyseeinheit24 erhalten werden kann, eine der Informationen des Informationssatzes als Zielinformation. Im SchrittS8 wird dann die Antwortteilausgabe durch die zweite Analyseeinheit24 anhand des Sprachinformationssatzes und der Zielinformation der ersten Analyseeinheit22 bestimmt. Sind in der Antwortteilausgabe noch Platzhalter vorhanden, können diese mittels der Rekonstruktionseinheit21 unter optionalen Zugriff auf die Wissensdatenbank14 (sh. entsprechende Pfeile in1 ,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 Analyseeinheit22 ermittelt Zielinformationen aus dem Informationssatz, die in Anbetracht des Sprachkontextes sinnvoll erscheinen, zum Beispiel Schauspielernamen (hier beispielhaft X und Y). Die zweite Analyseeinheit24 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)
- 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.
- 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. - Verfahren nach
Anspruch 1 oder2 , dadurch gekennzeichnet, dass die erste und/oder die zweite Analyseeinheit (22, 24) ein neuronales Netz umfassen. - Verfahren nach
Anspruch 3 , dadurch gekennzeichnet, dass die zweite Analyseeinheit (24) ein neuronales Netz in Form eines Sequenz-zu-Sequenz Modells umfasst. - 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. - Verfahren nach einem der vorangehenden Ansprüche, dadurch gekennzeichnet, dass die erste Analyseeinheit (22) als Eingangsgröße eine Vektordarstellung des Informationssatzes erhält.
- 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.
- 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.
- 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.
- Verwenden eines Systems (10) nach
Anspruch 9 für das Erzeugen von Antwortausgaben bei nicht-zielgeführten Dialogen.
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 |
PCT/EP2019/080901 WO2020126217A1 (de) | 2018-12-18 | 2019-11-11 | Verfahren, anordnung und verwendung zum erzeugen einer antwortausgabe in reaktion auf eine spracheingabeinformation |
CN201980084669.4A CN113228165A (zh) | 2018-12-18 | 2019-11-11 | 用于响应于语音输入信息来产生应答输出的方法、装置和应用 |
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113192498A (zh) * | 2021-05-26 | 2021-07-30 | 北京捷通华声科技股份有限公司 | 音频数据处理方法、装置、处理器及非易失性存储介质 |
Family Cites Families (9)
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 | 北京奇艺世纪科技有限公司 | 一种语音控制方法及装置 |
-
2018
- 2018-12-18 DE DE102018222156.1A patent/DE102018222156A1/de active Pending
-
2019
- 2019-11-11 CN CN201980084669.4A patent/CN113228165A/zh active Pending
- 2019-11-11 WO PCT/EP2019/080901 patent/WO2020126217A1/de active Application Filing
Non-Patent Citations (2)
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 |
---|---|
CN113228165A (zh) | 2021-08-06 |
WO2020126217A1 (de) | 2020-06-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69225173T2 (de) | Spracherkennungsgerät | |
DE69022842T2 (de) | Verwendung von Befehlsähnlichkeiten in einem intelligenten Hilfssystem. | |
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 | |
DE112020003909T5 (de) | Verfahren zum multimodalen abrufen bzw. wiedergewinnen und clustern unter verwendung einer tiefen cca und aktiver paarweiser abfragen | |
EP3798922A1 (de) | Vorrichtung und verfahren zum maschinenlernen und ansteuern einer maschine | |
DE102021004562A1 (de) | Abwandlung von Szenengraphen auf Grundlage von Befehlen in natürlicher Sprache | |
DE102020110542A1 (de) | Verfahren und einrichtungen zum ver walten von tickets | |
DE112018005272T5 (de) | Suchen von mehrsprachigen dokumenten auf grundlage einer extraktion der dokumentenstruktur | |
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 | |
DE69326900T2 (de) | Spracherkennungssystem | |
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 | |
DE69419837T2 (de) | Vorrichtung zur kontinuierlichen Erkennung der Gebärdensprache und Eingangvorrichtung dafür | |
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 | |
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 |
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 |