DE202017105865U1 - Umwandlung von Sprache in Text basierend auf Agenteninhalt Dritter - Google Patents

Umwandlung von Sprache in Text basierend auf Agenteninhalt Dritter Download PDF

Info

Publication number
DE202017105865U1
DE202017105865U1 DE202017105865.4U DE202017105865U DE202017105865U1 DE 202017105865 U1 DE202017105865 U1 DE 202017105865U1 DE 202017105865 U DE202017105865 U DE 202017105865U DE 202017105865 U1 DE202017105865 U1 DE 202017105865U1
Authority
DE
Germany
Prior art keywords
text
speech
agent
content
additional
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.)
Active
Application number
DE202017105865.4U
Other languages
English (en)
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.)
Google LLC
Original Assignee
Google LLC
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 Google LLC filed Critical Google LLC
Publication of DE202017105865U1 publication Critical patent/DE202017105865U1/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/08Speech classification or search
    • G10L15/18Speech classification or search using natural language modelling
    • G10L15/183Speech classification or search using natural language modelling using context dependencies, e.g. language models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/284Lexical analysis, e.g. tokenisation or collocates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • 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/1815Semantic context, e.g. disambiguation of the recognition hypotheses based on word meaning
    • 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
    • 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/26Speech to text systems
    • 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/28Constructional details of speech recognition systems
    • G10L15/30Distributed recognition, e.g. in client-server systems, for mobile phones or network applications
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/27Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the analysis technique
    • 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
    • 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/226Procedures used during a speech recognition process, e.g. man-machine dialogue using non-speech characteristics
    • G10L2015/228Procedures used during a speech recognition process, e.g. man-machine dialogue using non-speech characteristics of application context

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Multimedia (AREA)
  • Human Computer Interaction (AREA)
  • Acoustics & Sound (AREA)
  • Artificial Intelligence (AREA)
  • Theoretical Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • User Interface Of Digital Computer (AREA)
  • Machine Translation (AREA)
  • Telephonic Communication Services (AREA)

Abstract

Ein oder mehrere nichtflüchtige computerlesbare Speichermedien, die Anweisungen umfassen, die dann, wenn sie durch eine oder mehrere Computervorrichtungen ausgeführt werden, veranlassen, dass die eine oder die mehreren Computervorrichtungen Operationen durchführen, die umfassen: Empfangen einer Spracheingabe, die durch einen Anwender über ein sprachfähiges Elektronikgerät geliefert ist; Durchführen einer Sprache-zu-Text-Umwandlung, um die Spracheingabe in Text umzuwandeln; Senden des Textes zu einem Agenten einer dritten Partei über eine oder mehrere Netzschnittstellen; Empfangen von Inhalt vom Agenten der dritten Partei in Reaktion auf ein Senden des Textes, wobei das Empfangen über eine oder mehrere der Netzschnittstellen erfolgt und wobei der Inhalt enthält: Reaktionsinhalt, der auf den Text reagiert; Liefern einer Ausgabe, die auf dem Reaktionsinhalt basiert, zur Präsentation zum Anwender über das sprachfähige Elektronikgerät, wobei die Ausgabe in Reaktion auf die Spracheingabe geliefert wird; Empfangen einer zusätzlichen Spracheingabe, die durch den Anwender über das sprachfähige Elektronikgerät geliefert ist und die durch den Anwender in Reaktion auf die Ausgabe geliefert ist; und Verwenden des vom Agenten der dritten Partei empfangenen Inhalts, um eine zusätzliche Sprache-zu-Text-Umwandlung durchzuführen, um die zusätzliche Spracheingabe in zusätzlichen Text umzuwandeln.

Description

  • Hintergrund
  • Sprachfähige Elektronikgeräte, wie beispielsweise Smartphones, Fahrzeug-Computersysteme, tragbare Vorrichtungen, Tablet-Computer und alleinstehende sprachaktivierte Lautsprecher werden immer allgegenwärtiger. Ein sprachfähiges Elektronikgerät enthält oft einen ”lokalen” Agenten und/oder ist in Netzwerkkommunikation mit diesem, der verschiedene Aspekte von sprachbasierten Interaktionen eines Anwenders mit dem Gerät erleichtert. Der lokale Agent kann über das sprachfähige Elektronikgerät selbst und/oder über eine oder mehrere entfernte Computervorrichtungen implementiert sein, die in Netzwerkkommunikation mit dem sprachfähigen Elektronikgerät sind (z. B. Computervorrichtung(en) in ”der Cloud”).
  • Der lokale Agent ist ”lokal” in dem Sinn, dass er eine über das sprachfähige Elektronikgerät gelieferte Spracheingabe (z. B. eine Streaming-Audioaufnahme einer Stimme bzw. Sprache eines Menschen) direkt empfängt, wenigstens anfänglich die empfangene Spracheingabe verarbeitet und zur Präsentation (z. B. akustisch und/oder graphisch) über das Elektronikgerät eine Ausgabe liefert, die auf die empfangene Spracheingabe reagiert. Beispielsweise kann der lokale Agent anfänglich eine empfangene Spracheingabe durch Durchführen wenigstens einer Umwandlung von Stimme bzw. Sprache in Text (auch als Sprechen in Text bekannt) verarbeiten, welche diese Spracheingabe in Text umwandelt. Ebenso kann der lokale Agent beispielsweise weiterhin eine Ausgabe liefern, die auf diese Spracheingabe reagiert. Beispielsweise kann der lokale Agent selbst einen Reaktions- bzw. Antwortinhalt erzeugen und eine Ausgabe erzeugen, die auf dem Reaktionsinhalt basiert.
  • Zusammenfassung
  • Um durch das Gebrauchsmuster geschützt zu werden und ein Gegenstand des Gebrauchsmusters zu sein, gibt es gemäß den Erfordernissen des Gebrauchsmustergesetzes nur Vorrichtungen, wie sie in den beigefügten Ansprüchen definiert sind, aber keine Verfahren. In einem Fall, in welchem die Beschreibung auf Verfahren Bezug nimmt, dienen diese Bezugnahmen lediglich dazu, die Vorrichtung oder die Vorrichtungen darzustellen, für welche mit den beigefügten Ansprüchen Schutz gesucht wird. Diese Beschreibung ist allgemein auf verschiedene Implementierungen gerichtet, die dynamisch und auf eine zusammenhangsempfindliche Weise Umwandlungen von Sprache in Text beeinflussen. Die Umwandlungen von Sprache in Text erfolgen jeweils von einer entsprechenden Spracheingabe, die auf einer gesprochenen Eingabe eines entsprechenden Anwenders basiert und die durch ein Mikrofon (Mikrofone) und/oder einen anderen Wandler (andere Wandler) eines sprachfähigen Elektronikgeräts (auf das hierin auch als ”Elektronikgerät” Bezug genommen wird) erfasst wird.
  • Bei verschiedenen Implementierungen wird das Beeinflussen von Umwandlungen von Sprache in Text bzw. Sprache-zu-Text-Umwandlungen durch eine Sprache-zu-Text-Maschine eines lokalen Agenten durchgeführt und basiert das Beeinflussen wenigstens teilweise auf Inhalt, der durch einen Agenten einer dritten Partei bzw. Dritter (3P), der in Netzwerkkommunikation mit dem lokalen Agenten ist, zum lokalen Agenten geliefert wird. Bei einigen dieser Implementierungen enthält der Inhalt Kontextparameter, die durch den 3P-Agenten in Kombination mit Reaktionsinhalt geliefert werden, der durch den 3P-Agenten während eines Dialogs erzeugt wird, der: zwischen dem 3P-Agenten und einem Anwender eines sprachfähigen Elektronikgeräts erfolgt; und durch den lokalen Agenten ermöglicht wird. Die Kontextparameter zeigen ein potentielles Merkmal (potentielle Merkmale) einer weiteren Spracheingabe an, die in Reaktion auf den Reaktionsinhalt zu liefern ist, der durch den 3P-Agenten erzeugt ist.
  • Als ein Beispiel kann der lokale Agent in Netzwerkkommunikation mit sowohl dem Elektronikgerät als auch dem 3P-Agenten sein. Beim Ermöglichen eines Dialogs zwischen dem 3P-Agenten und dem Anwender des Elektronikgeräts kann der lokale Agent eine oder mehrere Iterationen von Folgendem durchführen: Empfangen einer Spracheingabe vom Elektronikgerät; Umwandeln der Spracheingabe in Text (optional basierend auf einer allerletzten Iteration eines 3P-Agenten, der Kontextparameter lieferte); Senden wenigstens eines Teils des umgewandelten Textes (und optional zusätzlichen Inhalts) zum 3P-Agenten; Empfangen von Reaktionsinhalt (und optional dynamisch upgedateter Kontextparameter) vom 3P-Agenten in Reaktion auf das Senden; und Liefern einer Ausgabe, die auf dem Reaktionsinhalt basiert (z. B. Durchführen einer Text-zu-Sprache-Umwandlung, wenn der Reaktionsinhalt in einem Textformat ist, und Liefern der umgewandelten Sprachausgabe zum Elektronikgerät für eine akustische Präsentation).
  • Demgemäß kann für eine empfangene Spracheingabe, die zur Sendung zu einem 3P-Agenten beabsichtigt ist, eine Sprache-zu-Text-Maschine eines lokalen Agenten diese Spracheingabe in Text umwandeln, während Kontextparameter des 3P-Agenten berücksichtigt werden, die für diese Spracheingabe relevant sind. Dies kann die Genauigkeit und/oder Robustheit der Sprache-zu-Text-Umwandlung erhöhen, die durch die Sprache-zu-Text-Maschine durchgeführt wird. Beispielsweise kann die Sprache-zu-Text-Maschine einen oder mehrere Werte eines Sprache-zu-Text-Modells, und/oder erzeugt durch dieses, modifizieren, das bei einer Sprache-zu-Text-Umwandlung verwendet wird – und kann diese Werte modifizieren, um die Wahrscheinlichkeit zu erhöhen, dass Text, der mit den Kontextparametern des 3P-Agenten konform ist, als der Text ausgewählt wird, der mit der empfangenen Spracheingabe konform ist. Darüber hinaus können die Kontextparameter bei verschiedenen Implementierungen durch den 3P-Agenten dynamisch upgedated werden (und zum lokalen Agenten geliefert werden) bei jeder ”Drehung” eines Dialogs, um dadurch dem lokalen Agenten zu ermöglichen, die Sprache-zu-Text-Umwandlung bei jeder Drehung anzupassen, um mehr zu einer wahrscheinlichen Spracheingabe zugeschnitten zu werden, um bei dieser Drehung empfangen zu werden. Wie es hierin detaillierter beschrieben ist, kann bezüglich eines Kontextes umgewandelter Text durch den lokalen Agenten zum 3P-Agenten gesendet werden und kann der 3P-Agent weiterhin Reaktionsinhalt erzeugen, der auf diesem in Bezug auf den Kontext umgewandelten Text basiert. Hierin beschriebene Implementierungen erhöhen die Wahrscheinlichkeit, dass der in Bezug auf den Kontext umgewandelte Text, der zum 3P-Agenten geliefert wird, eine genaue Darstellung der entsprechenden Spracheingabe ist, und als ein Ergebnis eine genaue Darstellung der gesprochenen Eingabe, auf welcher diese entsprechende Spracheingabe basiert. Dies kann eine Leistungsfähigkeit des 3P-Agenten verbessern und/oder die Verwendung von verschiedenen Berechnungsressourcen bzw. Computerressourcen reduzieren, die sonst durch ungenaue Darstellungen von Spracheingaben verbraucht werden können (z. B. Netzverkehr, der durch zusätzliche ”Drehungen” verbraucht wird, die nötig sein können, um ungenaue Darstellungen einer Spracheingabe zu korrigieren).
  • Wie es hierin verwendet ist, bezieht sich 3P-Agent auf eine oder mehrere Computervorrichtungen und/oder assoziierte Software, die durch eine Partei gemanagt wird, die separat zu einer Partei ist, die einen lokalen Agenten managt. Der 3P-Agent ist konfiguriert, um umgewandelten Text und/oder anderen Inhalt vom lokalen Agenten zu empfangen. In Reaktion auf ein Empfangen des umgewandelten Textes und/oder anderen Inhalts erzeugt der 3P-Agent Inhalt basierend auf dem empfangenen umgewandelten Text und/oder anderem Inhalt und sendet den erzeugten Inhalt zum lokalen Agenten zur Lieferung einer Ausgabe durch den lokalen Agenten, die auf dem vom 3P-Agenten gesendeten Inhalt basiert. Ein 3P-Agent und ein lokaler Agent können in selektiver Netzwerkkommunikation miteinander sein. Bei einigen Implementierungen können ein lokaler Agent und ein 3P-Agent Daten über eine oder mehrere Anwendungsprogrammierschnittstellen (APIs) austauschen.
  • Ein 3P-Agent kann oft konfiguriert sein, um eine oder mehrere bestimmte Funktionen durchzuführen, wie beispielsweise: Buchen einer Restaurantreservierung; Bestellen von Essen; Kaufen von Filmtickets; Kaufen von Diensten; Anfragen von Diensten (z. B. Transport); Managen von Text, Email oder anderer elektronischer Kommunikationen eines Anwenders; Liefern einer Führung für eine Aufgabe eines Anwenders (z. B. Mischen eines Drinks, Fixieren eines undichten Wasserhahns); etc. Wie es hierin beschrieben ist, kann ein lokaler Agent bei einigen Implementierungen einen Dialog zwischen einem Anwender (über ein Elektronikgerät) und einem 3P-Agenten in Reaktion auf einen Aufruf des 3P-Agenten durch den Anwender (z. B. über eine Spracheingabe, die durch den Anwender über das Elektronikgerät geliefert ist) initiieren und ermöglichen. Bei einigen dieser Implementierungen kann der Aufruf das Auftreten von einem ”Schlüsselwort” (”Schlüsselwörtern”) für den 3P-Agenten in einer Spracheingabe und/oder eine Bezugnahme auf eine Aktion und/oder ein durch den 3P-Agenten gemanagtes Element sein. Beispielsweise kann ein Filmticket-Verkaufsagent durch eine Spracheingabe von ”Sprechen zum Filmticketagenten” aufgerufen werden (wobei ”Filmticketagent” ein Schlüsselwort für den 3P-Agenten ist), ”Kaufen von einigen Filmtickets” (wobei ”Filmtickets” ein Element ist, das durch den 3P-Agenten gemanagt wird), ”Verwenden eines Filmticketagenten, um Tickets zu kaufen”, etc.
  • Bei einigen Implementierungen wird ein Verfahren, das durch einen oder mehrere Prozessoren durchgeführt wird, zur Verfügung gestellt und enthält: Empfangen einer Spracheingabe, die durch einen Anwender über ein sprachfähiges Elektronikgerät geliefert ist; Durchführen einer Sprache-zu-Text-Umwandlung, um die Spracheingabe in Text umzuwandeln; Senden des Textes zu einem Agenten einer dritten Partei bzw. Dritter über eine oder mehrere Netzwerkschnittstellen; und Empfangen von Inhalt vom Agenten Dritter in Reaktion auf ein Senden des Textes. Das Empfangen erfolgt über eine oder mehrere der Netzwerkschnittstellen und der Inhalt enthält Reaktionsinhalt, der auf den Text reagiert. Das Verfahren enthält weiterhin ein Liefern einer Ausgabe, die auf dem Reaktionsinhalt basiert, zur Präsentation zum Anwender über das sprachfähige Elektronikgerät; ein Empfangen einer zusätzlichen Spracheingabe, die durch den Anwender über das sprachfähige Elektronikgerät geliefert ist und durch den Anwender in Reaktion auf die Ausgabe geliefert ist; und Verwenden des Inhalts, der vom Agenten Dritter empfangen ist, um eine zusätzliche Sprache-zu-Text-Umwandlung durchzuführen, um die zusätzliche Spracheingabe in zusätzlichen Text umzuwandeln.
  • Diese und andere Implementierungen einer hierin offenbarten Technologie können optional eines oder mehrere der folgenden Merkmale enthalten.
  • Bei einigen Implementierungen enthält der Inhalt, der vom Agenten Dritter empfangen ist, weiterhin Kontextparameter, die zusätzlich zum Reaktionsinhalt sind und die ein oder mehrere potentielle Merkmale von weiterer Spracheingabe anzeigen, um in Reaktion auf den Reaktionsinhalt geliefert zu werden. Bei einigen der Kontextparameter-Implementierungen umfasst ein Verwenden des Inhalts, um die zusätzliche Sprache-zu-Text-Umwandlung durchzuführen, ein Verwenden der Kontextparameter, um die zusätzliche Sprache-zu-Text-Umwandlung durchzuführen.
  • Bei einigen der Kontextparameter-Implementierungen wird ein Sprache-zu-Text-Modell beim Durchführen der zusätzlichen Sprache-zu-Text-Umwandlung verwendet und enthält ein Verwenden der Kontextparameter, um die zusätzliche Sprache-zu-Text-Umwandlung durchzuführen: Beeinflussen, basierend auf den Kontextparametern, von Werten, die über das Sprache-zu-Text-Modell erzeugt werden. Bei einigen Versionen von diesen Implementierungen enthalten das eine oder die mehreren potentiellen Merkmale, die durch die Kontextparameter angezeigt sind, bestimmte Zeichen und enthält ein Beeinflussen der Werte, die über das Sprache-zu-Text-Modell basierend auf den Kontextparametern erzeugt sind: Modifizieren von Auswertungen, die für die bestimmten Zeichen erzeugt sind, über das Sprache-zu-Text-Modell. Die vom Agenten Dritter empfangenen Kontextparameter enthalten die bestimmten Zeichen und/oder einen Semantiktyp von Zeichen. Wenn die Kontextparameter den Semantiktyp von Zeichen enthalten, kann das Verfahren weiterhin ein Bestimmen der bestimmten Zeichen basierend auf den bestimmten Zeichen enthalten, die in Assoziation mit dem Semantiktyp gespeichert werden. Beispielsweise können die bestimmten Zeichen basierend auf den bestimmten Zeichen bestimmt werden, die in Assoziation mit sowohl dem Anwender als auch dem Semantiktyp gespeichert werden, und/oder basierend auf den bestimmten Zeichen, die zuvor durch den Agenten Dritter in Assoziation mit dem Semantiktyp geliefert werden.
  • Bei einigen der Kontextparameter-Implementierungen enthalten das eine oder die mehreren potentiellen Merkmale, die durch die Kontextparameter angezeigt sind, Zustandspfadanzeigen, die potentielle Pfade der weiteren Spracheingabe in einem Sprache-zu-Text-Modell anzeigen.
  • Bei einigen der Kontextparameter-Implementierungen enthält ein Verwenden der Kontextparameter, um die zusätzliche Sprache-zu-Text-Umwandlung durchzuführen, ein Umwandeln der zusätzlichen Spracheingabe in den zusätzlichen Text unter Verwendung von sowohl den Kontextparametern als auch zusätzlichen Anwenderparametern, die dem Anwender oder dem Gerät zugeordnet sind, und unabhängig vom Inhalt zugeordnet wurden, der vom Agenten Dritter empfangen ist. Bei einigen dieser Implementierungen basieren die zusätzlichen Anwenderparameter auf wenigstens einem von: einem Standort, der mit dem Anwender assoziiert ist, und zusätzlichen Elektronikgeräten, die mit dem Anwender assoziiert sind.
  • Bei einigen der Kontextparameter-Implementierungen werden der Reaktionsinhalt und die Kontextparameter als Teil einer einzelnen Sendung empfangen, die vom Agenten Dritter empfangen wird.
  • Bei einigen Implementierungen wird ein Sprache-zu-Text-Modell beim Durchführen der zusätzlichen Sprache-zu-Text-Umwandlung verwendet und enthält ein Verwenden des Inhalts, um die zusätzliche Sprache-zu-Text-Umwandlung durchzuführen: ein Erzeugen eines Kontext-Sprache-zu-Text-Modells basierend auf dem Inhalt; und ein Auswählen des zusätzlichen Textes basierend auf sowohl dem Sprache-zu-Text-Modell als auch dem Kontext-Sprache-zu-Text-Modell.
  • Bei einigen Implementierungen enthält ein Verwenden des Inhalts, um die zusätzliche Sprache-zu-Text-Umwandlung durchzuführen: ein Umwandeln eines ersten Segments der Spracheingabe in ein erstes Textsegment des zusätzlichen Textes mit einem Beeinflussen basierend auf dem Inhalt; und ein Umwandeln eines zweiten Segments der Spracheingabe in ein zweites Segment des zusätzlichen Textes ohne ein Beeinflussen basierend auf dem Inhalt. Das zweite Segment der Spracheingabe kann nachfolgend zum ersten Segment sein. Bei einigen dieser Implementierungen enthält das Verfahren weiterhin ein Bestimmen, das zweite Segment der Spracheingabe nicht basierend auf den Kontextparametern zu beeinflussen, die im Inhalt enthalten sind. Ein Bestimmen, das zweite Segment nicht zu beeinflussen, kann auf den Kontextparametern basieren, die anzeigen, dass ein kontextmäßiges Beeinflussen nicht nachfolgend einem Spracheingabesegment erfolgen sollte, das mit dem ersten Textsegment konform ist.
  • Bei einigen Implementierungen wird ein Verfahren, das durch einen oder mehrere Prozessoren durchgeführt wird, zur Verfügung gestellt und enthält: Speichern einer Assoziation von Kontextparametern mit einem Aufruf eines Agenten einer dritten Partei bzw. Dritter; Empfangen einer Spracheingabe, die durch einen Anwender über ein sprachfähiges Elektronikgerät geliefert ist; Umwandeln eines ersten Segments der Spracheingabe in Text unter Verwendung eines Sprache-zu-Text-Modells und ohne ein Beeinflussen des Sprache-zu-Text-Modells basierend auf den Kontextparametern; und Bestimmen, dass der Text konform zum Aufruf ist. Das Verfahren enthält weiterhin, in Reaktion auf ein Bestimmen, dass der Text konform zum Aufruf des Agenten der dritten Partei ist und in Reaktion auf die Kontextparameter, die in Assoziation mit dem Aufruf gespeichert werden: Umwandeln eines zweiten Segments der Spracheingabe in zusätzlichen Text unter Verwendung des Sprache-zu-Text-Modells und ein Verwenden der Kontextparameter, um das Sprache-zu-Text-Modell zu beeinflussen. Das zweite Segment der Spracheingabe ist nachfolgend zum ersten Segment und das Verfahren enthält weiterhin ein Senden wenigstens eines Teilbereichs des zusätzlichen Textes zum Agenten der dritten Partei.
  • Bei einigen Implementierungen ist der Aufruf eine Bezugnahme auf eine Aktion und/oder ein Element, das durch den Agenten der dritten Partei gemanagt wird.
  • Zusätzlich enthalten einige Implementierungen einen oder mehrere Prozessoren von einer oder mehreren Computervorrichtungen, wobei der eine oder die mehreren Prozessoren betreibbar sind, um Anweisungen auszuführen, die in einem assoziierten Speicher gespeichert sind, und wobei die Anweisungen konfiguriert sind, um eine Durchführung von irgendeinem der vorgenannten Verfahren zu veranlassen. Einige Implementierungen enthalten auch ein oder mehrere nichtflüchtige computerlesbare Speichermedien, die Computeranweisungen speichern, die durch einen oder mehrere Prozessoren ausführbar sind, um irgendeines der vorgenannten Verfahren durchzuführen.
  • Es sollte erkannt werden, dass alle Kombinationen der vorangehenden Konzepte und zusätzliche Konzepte, die hierin detaillierter beschrieben sind, derart betrachtet werden, dass sie ein Teil des hierin offenbarten Gegenstands sind. Beispielsweise werden alle Kombinationen eines beanspruchten Gegenstands, der am Ende dieser Offenbarung in Erscheinung tritt, derart betrachtet, dass sie Teil des hierin offenbarten Gegenstands sind.
  • Kurze Beschreibung der Zeichnungen
  • 1 ist ein Blockdiagramm einer beispielhaften Umgebung, in welcher Implementierungen, die hierin offenbart sind, implementiert werden können.
  • 2 ist ein Ablaufdiagramm, das ein beispielhaftes Verfahren zum dynamischen Anpassen einer Sprache-zu-Text-Umwandlung basierend auf einem von einem Agenten einer dritten Partei gelieferten Inhalt darstellt.
  • 3 ist ein Ablaufdiagramm, das ein beispielhaftes Verfahren eines Verwendens von Kontextparametern darstellt, die von einem Agenten einer dritten Partei empfangen sind, um eine Sprache-zu-Text-Umwandlung zu beeinflussen.
  • 4 ist ein Ablaufdiagramm, das ein beispielhaftes Verfahren zum Erfassen eines Aufrufs eines Agenten einer dritten Partei basierend auf einer Sprache-zu-Text-Umwandlung eines ersten Teilbereichs einer Spracheingabe und, basierend auf einem Erfassen des Aufrufs: zum Verwenden von Kontextparametern, die in Assoziation mit dem Aufruf gespeichert sind, um eine Sprache-zu-Text-Umwandlung eines zweiten Teilbereichs der Spracheingabe durchzuführen, darstellt.
  • 5 ist ein Ablaufdiagramm, das ein beispielhaftes Verfahren zum Empfangen von Text von einem lokalen Agenten und zum Liefern von Reaktionsinhalt und optional Kontextparametern zum lokalen Agenten in Reaktion auf ein Empfangen des Textes darstellt.
  • 6 stellt einen Anwender, ein sprachfähiges Elektronikgerät und einen Dialog zwischen dem Anwender und einem Agenten einer dritten Partei dar, welcher Dialog durch einen lokalen Agenten ermöglicht werden kann, der mit dem sprachfähigen Elektronikgerät assoziiert ist, und zwar gemäß hierin offenbarten Implementierungen.
  • 7 stellt eine beispielhafte Architektur einer Computervorrichtung dar.
  • Detaillierte Beschreibung
  • Wie es oben beschrieben ist, enthält ein sprachfähiges Elektronikgerät oft einen oder mehrere lokale Agenten, und/oder ist in Netzwerkkommunikation mit diesem, die verschiedene Aspekte von sprachbasierten Interaktionen eines Anwenders mit den Elektronikgeräten ermöglichen. Ein lokaler Agent kann über das Elektronikgerät selbst und/oder über eine oder mehrere entfernter Computervorrichtungen implementiert sein, die in Netzwerkkommunikation mit der Elektronikvorrichtung bzw. dem Elektronikgerät sind. Ein lokaler Agent ist ”lokal” in dem Sinn, dass er direkt eine Spracheingabe empfängt, die über ein Elektronikgerät geliefert ist, wenigstens anfänglich die empfangene Spracheingabe verarbeitet und zur Präsentation eine Ausgabe liefert, die auf die empfangene Spracheingabe reagiert. Beispielsweise kann der lokale Agent anfänglich eine empfangene Spracheingabe durch wenigstens Durchführen einer Sprache-zu-Text-Umwandlung von dieser Spracheingabe in Text verarbeiten. Der lokale Agent kann weiterhin eine Ausgabe liefern, die auf Reaktionsinhalt basiert, der auf diese Spracheingabe reagiert.
  • In einigen Situationen kann der lokale Agent Reaktionsinhalt erzeugen, ohne in Eingriff bzw. Kontakt mit einem 3P-Agenten zu sein. Beispielsweise kann der lokale Agent selbst Reaktionsinhalt in Reaktion auf empfangene Spracheingabe erzeugen. Beispielsweise kann der lokale Agent eine oder mehrere Maschinen enthalten, die die Textumwandlung der empfangenen Spracheingabe (und optional Anmerkungen des Textes) empfangen, und einen lokalen Reaktionsinhalt basierend auf dem Text und/oder anderen Faktoren (z. B. einen früheren Dialog, Anwenderpräferenz(en), etc.) erzeugen. Als ein Beispiel kann der lokale Agent Reaktionsinhalt bei einem Versuch erzeugen, eine geeignete Auswahl eines 3P-Agenten zu ermöglichen. Beispielsweise soll eine Spracheingabe von ”Tickets bzw. Karten nach Chicago” angenommen werden. Der lokale Agent kann lokalen Reaktionsinhalt erzeugen, wie beispielsweise ”Möchtest Du Flugzeug-, Zug- oder Theatertickets”, in Reaktion auf eine solche Spracheingabe, um zu ermöglichen, dass der lokale Agent mehrere verfügbare 3P-”Tickets”- bzw. ”Karten”-Agenten ”eindeutig macht”. Der lokale Agent kann dann reagierende Spracheingabe verwenden, um einen geeigneten 3P-Agenten auszuwählen (z. B. einen ”Fluggesellschaftsagenten” in Reaktion auf eine reagierende Spracheingabe von ”Flugzeug” auszuwählen).
  • Jedoch kann der lokale Agent in einigen Situationen stattdessen mit einem 3P-Agenten zum Erzeugen von Reaktionsinhalt in Reaktion auf empfangene Spracheingabe in Kontakt sein. Wenn beispielsweise eine empfangene Spracheingabe einen 3P-Agenten-Aufruf enthält (z. B. ein ”Schlüsselwort” für den 3P-Agenten oder eine Bezugnahme auf eine Aktion und/oder ein Element, gemanagt durch den 3P-Agenten), kann der lokale Agent wenigstens einen Teilbereich der Textumwandlung der Spracheingabe (und optional Anmerkungen des Textes und/oder andere Parameter) zum 3P-Agenten senden. Der 3P-Agent kann dann den gelieferten Text und seine eigene(n) Semantikmaschine(n) verwenden, um 3P-Reaktionsinhalt zu erzeugen und diesen 3P-Reaktionsinhalt zum lokalen Agenten zu senden. Der lokale Agent kann dann eine Ausgabe liefern, die auf dem 3P-Reaktionsinhalt basiert. Wenn die Ausgabe eine Aufforderung ist, die um zusätzliche 3P-bezogene Spracheingabe vom Anwender bittet, kann diese zusätzliche Spracheingabe wieder durch den lokalen Agenten in Text umgewandelt werden und zum 3P-Agenten geliefert werden. Dieser allgemeine Prozess kann sich fortsetzen, bis beispielsweise der 3P-Agent Reaktionsinhalt liefert, der die 3P-Agentensession beendet (z. B. eine Antwort oder eine Auflösung anstelle einer Aufforderung), eine zusätzliche Spracheingabe des Anwenders die 3P-Agenten-Session beendet (z. B. anstatt eine Reaktion vom lokalen Agenten oder einem anderen 3P-Agenten aufruft), etc.
  • Als ein Beispiel soll eine anfängliche Spracheingabe von ”Buchen eines Tischs um Acht” werden, welche einen 3P-”Restaurantreservierungs”-Agenten aufruft. Der lokale Agent kann wenigstens einiges von der Textumwandlung von dieser Spracheingabe zum 3P-Agenten liefern. Der 3P-Agent kann Reaktionsinhalt erzeugen und den Reaktionsinhalt zum lokalen Agenten liefern. Beispielsweise kann der 3P-Agent den Text ”Irgendeine Kochkunstpräferenz?” liefern. Der lokale Agent kann dann eine Ausgabe basierend auf diesem Reaktionsinhalt tiefem, wie beispielsweise eine Sprachumwandlung vom Text ”Irgendeine Kochkunstpräferenz?”. Eine zusätzliche Spracheingabe entsprechend ”Laotische Kochkunst bzw. Küche” kann in Reaktion auf die Ausgabe von ”Irgendeine Kochkunstpräferenz” geliefert werden, diese zusätzliche Spracheingabe kann durch den lokalen Agenten in zusätzlichen Text umgewandelt werden und wenigstens einiges von dem zusätzlichen Text kann zum 3P-Agenten geliefert werden zum Erzeugen von noch zusätzlichem Reaktionsinhalt.
  • Demgemäß kann der lokale Agent in verschiedenen Situationen eine Sprache-zu-Text-Umwandlung von empfangener Spracheingabe durchführen und wenigstens einiges vom umgewandelten Text zum 3P-Agenten liefern. Hierin offenbarte Implementierungen erkennen, dass es in einigen Situationen vorteilhaft sein kann, Inhalt zu verwenden, der durch den 3P-Agenten geliefert ist, um die Genauigkeit und/oder einen Wiederaufruf der Sprache-zu-Text-Umwandlung zu erhöhen, die durch den lokalen Agenten durchgeführt wird. Bei einigen Implementierungen kann der Inhalt in der Form von Kontextparametern sein, die durch den 3P-Agenten geliefert werden. Bei einigen von diesen Implementierungen werden die Kontextparameter durch den 3P-Agenten in Kombination mit Reaktionsinhalt geliefert, der durch den 3P-Agenten geliefert ist, und zeigen die Kontextparameter potentielle Merkmale von weiterer Spracheingabe an, um in Reaktion auf den Reaktionsinhalt geliefert zu werden. Bei einigen Implementierungen können die Kontextparameter zusätzlich oder alternativ aus dem 3P-Agenten-Reaktionsinhalt selbst erkundet werden.
  • Als ein Beispiel soll angenommen werden, dass ein 3P-Agent zu einem lokalen Agenten einen Reaktionsinhalt von ”Welcher Kochkunsttyp?” sendet. Der 3P-Agent kann auch (bei derselben oder einer separaten Sendung) Kontextparameter senden, die dem Reaktionsinhalt entsprechen und die potentielle Merkmale einer Reaktions-Spracheingabe auf ”Welcher Kochkunsttyp?” anzeigen. Beispielsweise können die Kontextparameter ein oder mehrere explizite Zeichen enthalten (z. B. ”Italienisch”, ”Mexikanisch”, ”BBQ”, ”Laotisch”, ”Asiatische Mischung”), Semantiktyp(en) von Zeichen (z. B. ”Kochkunsttypen”) und/oder einen Pfad (Pfade) eines Zustandsdecodierkurven-Sprache-zu-Text-Modells (z. B. Pfad(e) entsprechend Essen und/oder Küche). Der lokale Agent kann diese Kontextparameter verwenden, um die Sprache-zu-Text-Umwandlung der Reaktions-Spracheingabe zu beeinflussen, die tatsächlich in Reaktion auf ein Liefern einer Ausgabe empfangen wird, die ”Welcher Kochkunsttyp?” entspricht. Beispielsweise können ”Kochkunst”-Zeichen wahrscheinlicher gegenüber ”Nicht-Kochkunst”-Zeichen bei einer Sprache-zu-Text-Umwandlung ausgewählt werden. Beispielsweise kann, ohne basierend auf ”Kochkünsten” zu beeinflussen, eine Sprache-zu-Text-Umwandlung einer Spracheingabe, die ein Versuch eines Anwenders beim Sagen ”Laotisch” ist, der Text ”Ferien” sein. Jedoch kann beim Beeinflussen basierend auf ”Kochkünsten” die Sprache-zu-Text-Umwandlung von dieser Spracheingabe stattdessen richtig die Spracheingabe in den Text ”Laotisch” umwandeln. Wie es hierin beschrieben ist, kann das Beeinflussen verschiedene Formen annehmen, wie beispielsweise ein Modifizieren einer Auswertung, die für den Text ”Laotisch” gegenüber einem Sprache-zu-Text-Modell erzeugt ist, und/oder ein Hinzufügen von ”Laotisch” zum Sprache-zu-Text-Modell. Beispielsweise kann ”Laotisch” zum Sprache-zu-Text-Modell hinzugefügt werden, wenn es ein Zeichen ”außerhalb des Vokabulars” ist, das nicht im Sprache-zu-Text-Modell enthalten ist. Ein Hinzufügen von ”Laotisch” zum Sprache-zu-Text-Modell kann ein Modifizieren des Sprache-zu-Text-Modells selbst enthalten oder ein effektives ”Anhängen” eines separaten Kontextparameter-Sprache-zu-Text-Modells.
  • Bei einigen Implementierungen können gelieferte Kontextparameter und ”Anwenderparameter” beide verwendet werden, um die Sprache-zu-Text-Umwandlung zu beeinflussen. Beispielsweise sollen Kontextparameter angenommen werden, die von einem 3P-Agenten empfangen sind, einschließlich eines Semantiktyps von ”Restaurants”. Weiterhin sollen Anwenderparameter angenommen werden, die Zeichen enthalten, die Namen von Restaurants sind, die nahe einem Standort des Anwenders sind, wie beispielsweise einem aktuellen Standort oder einem ”Heim”-Standort des Anwenders. Beispielsweise können Namen von Restaurants nahe dem Anwender im Voraus in Assoziation mit dem Anwender und in Assoziation mit einem Semantiktyp von ”Restaurants” gespeichert werden. Basierend auf den Kontextparametern einschließlich des Semantiktyps ”Restaurants” und basierend auf den Namen von ”nahen” Restaurants”, die indiziert oder auf andere Weise in Anwenderparametern gespeichert sind, können diese Namen von Restaurants, die nahe dem Standort des Anwenders sind, verwendet werden, um die Sprache-zu-Text-Umwandlung zu beeinflussen. Zusätzliche und/oder alternative Anwenderparameter können zur Verfügung gestellt werden, die in Assoziation mit entsprechendem (entsprechenden) Semantiktyp(en) und/oder einem oder mehreren 3P-Agenten gespeichert werden können. Beispielsweise können Namen von Elektronikgeräten eines Anwenders, die durch einen bestimmten 3P-Agenten steuerbar sind, in Assoziation mit einem Semantiktyp (Semantiktypen) und/oder in Assoziation mit dem bestimmten 3P-Agenten gespeichert werden. Ebenso können beispielsweise Namen von Kontakten eines Anwenders in Assoziation mit dem Semantiktyp von ”Kontakt” gespeichert werden. Beispielsweise soll angenommen werden, dass von einem 3P-Agenten empfangene Kontextparameter einen Semantiktyp von ”Kontakten” enthielten, und die Namen von Kontakten des Anwenders können dann verwendet werden, um die Sprache-zu-Text-Umwandlung zu beeinflussen.
  • Bei einigen Implementierungen können gelieferte Kontextparameter und zuvor gelieferte 3P-Kontextparameter beide verwendet werden, um die Sprache-zu-Text-Umwandlung zu beeinflussen. Beispielsweise soll angenommen werden, dass Kontextparameter, die von einem 3P-Agenten empfangen sind, einen Semantiktyp von ”Pizzagarnierungen” enthielten. Weiterhin soll angenommen werden, dass der 3P-Agent zuvor zur Verwendung durch einen lokalen Agenten Zeichen liefert, die Namen von ”Pizzagarnierungen” sind, die durch den 3P-Agenten angeboten werden. Basierend auf den Kontextparametern einschließlich des Semantiktyps ”Pizzagarnierungen” und basierend auf den Namen von ”Pizzagarnierungen”, die indiziert oder auf andere Weise in Assoziation mit diesem Semantiktyp gespeichert sind (und optional in Assoziation mit dem 3P-Agenten), können diese Namen von Pizzagarnierungen verwendet werden, um die Sprache-zu-Text-Umwandlung zu beeinflussen.
  • Bei einigen Implementierungen kann ein gelieferter Kontextparameter verschiedene Kombinationen von Kontextparameter-”Typen” enthalten. Beispielsweise kann ein gelieferter Kontextparameter sowohl ein explizites Zeichen (explizite Zeichen) als auch ein Semantikzeichen (Semantikzeichen) enthalten. Beispielsweise kann ein gelieferter Kontextparameter ”Ja, ein Tisch beim $Restaurant” sein, was die explizite Sequenz von Zeichen ”Ja, ein Tisch beim”, gefolgt durch den Semantiktyp von ”Restaurant” anzeigt. In einem solchen Szenario kann eine Sprache-zu-Text-Umwandlung anfänglich basierend auf ”Ja, ein Tisch beim” beeinflusst werden, dann zu ”Restaurantnamen” beeinflusst werden (durch optionales Auswählen von diesem Restaurantnamen basierend auf Anwenderparametern) in Reaktion auf eine Erfassung von umgewandeltem Text von ”Ja, ein Tisch beim”. Bei einigen Implementierungen kann ein gelieferter Kontextparameter zusätzlich und/oder alternativ anzeigen, dass eine Beeinflussung an einigen Teilbereichen einer Spracheingabe durchgeführt werden sollte, aber nicht an anderen. Beispielsweise kann ein Kontextparameter von der Form ”Nachricht $Kontakt §irgendein grober Text” sein, was anzeigt, dass eine Spracheingabe das Zeichen ”Nachricht”, gefolgt durch ein ”Kontakt”-Zeichen (z. B. einen Namen eines Kontakts eines Anwenders, gespeichert in Anwenderparametern), gefolgt durch ”offener Text” enthalten. In einem solchen Szenario kann eine Sprache-zu-Text-Umwandlung anfänglich in Richtung zum Zeichen ”Nachricht” beeinflusst werden. In Reaktion auf eine Erfassung des Zeichens ”Nachricht”, kann die Sprache-zu-Text-Umwandlung in Richtung zu Zeichen beeinflusst werden, die Namen von Kontakten des Anwenders sind. Dann kann in Reaktion auf eine Erfassung eines Kontaktzeichens (von Kontaktzeichen) die Sprache-zu-Text-Umwandlung nicht beeinflusst werden (z. B. basierend auf einem Basislinien-Sprache-zu-Text-Modell).
  • Verschiedene Techniken können verwendet werden, um die Sprache-zu-Text-Umwandlung unter Verwendung von Kontextparametern zu beeinflussen. Beispielsweise können bei einigen Implementierungen Auswertungen für alle oder Teilbereiche eines Kandidatenzeichens (von Kandidatenzeichen) und/oder Sequenzen eines Zeichens (von Zeichen) über ein ”Basis”-Sprache-zu-Text-Modell erzeugt werden, und diese Auswertungen dann basierend auf den Kontextparametern modifiziert werden. Bei einigen dieser Implementierungen können die Kontextparameter verwendet werden, um ein Kontextparameter-Sprachenmodell zu erzeugen, und über dem Kontextparameter-Sprachenmodell erzeugte Auswertungen verwendet werden, um die Auswertungen zu modifizieren, die über dem Basis-Sprache-zu-Text-Modell erzeugt sind. Als ein weiteres Beispiel können bei einigen Implementierungen ein oder mehrere Zeichen, die durch die Kontextparameter angezeigt sind, zum Basis-Sprache-zu-Text-Modell hinzugefügt werden (z. B. als ”außerhalb eines Vokabulars”-Ausdrücke zum Modell hinzugefügt werden). Zusätzliche und/oder alternative Techniken können verwendet werden, wie beispielsweise ein Modifizieren von Werten, die in einem Sprache-zu-Text-Modell enthalten sind, basierend auf Kontextparametern, ein Modifizieren von Werten, die mit verschiedenen Pfaden und/oder Semantiktypen in einem Sprache-zu-Text-Modell assoziiert sind, etc.
  • Wendet man sich nun der 1 zu, ist eine beispielhafte Umgebung dargestellt, in welcher hierin offenbarte Techniken implementiert werden können. Die beispielhafte Umgebung enthält ein sprachfähiges Elektronikgerät 106 (auf das hierin auch als Gerät 106 Bezug genommen wird), einen lokalen Agenten 110 und einen Agenten einer dritten Partei (3P-Agenten) 130.
  • Obwohl der lokale Agent 110 in 1 als getrennt vom Gerät 106 dargestellt ist, können bei einigen Implementierungen alles oder Aspekte des lokalen Agenten 110 durch das Gerät 106 implementiert sein. Beispielsweise kann bei einigen Implementierungen eine Sprache-zu-Text-Maschine 112 durch das Gerät 106 implementiert sein. Bei Implementierungen, bei welchen ein oder mehrere (z. B. alle) Aspekte des lokalen Agenten 110 durch eine oder mehrere Computervorrichtungen implementiert sind, die entfernt von dem Gerät 106 sind, kommunizieren das Gerät 106 und diese Aspekte des lokalen Agenten 110 über ein oder mehrere Netzwerke, wie beispielsweise ein Weitverkehrsnetz (WAN) (z. B. das Internet).
  • Obwohl nur ein Gerät 106 in Kombination mit dem lokalen Agenten 110 dargestellt ist, kann bei vielen Implementierungen der lokale Agent 110 entfernt sein und kann eine Schnittstelle mit jedem einer Vielzahl von sprachfähigen Elektronikgeräten von mehreren Anwendern bilden. Beispielsweise kann der lokale Agent 110 Kommunikationen mit jedem der mehreren Geräte über unterschiedliche Sessions managen und kann mehrere Sessions parallel managen. Beispielsweise kann der lokale Agent 110 bei einigen Implementierungen als Cloud-basierter Dienst implementiert sein, der eine Cloud-Infrastruktur verwendet, z. B. unter Verwendung einer Serverfarm oder eines Clusters von Hochleistungscomputern, die Software laufen lassen, die zum Handhaben von hohen Volumen von Anfragen von mehreren Anwendern geeignet ist. Jedoch sind der Einfachheit halber viele Beispiele hierin in Bezug auf ein einzelnes Gerät 106 beschrieben.
  • Der lokale Agent 110 ist getrennt vom 3P-Agenten 130 und kommuniziert mit dem 3P-Agenten 130 über ein oder mehrere Netze, wie beispielsweise ein WAN. Bei vielen Implementierungen wird der 3P-Agent 130 durch eine Partei gemanagt, die getrennt von einer Partei ist, die den lokalen Agenten 110 managt. Obwohl nur ein einziger 3P-Agent 110 in 1 dargestellt ist, kann der lokale Agent 110 bei vielen Implementierungen selektiv mit jedem einer Vielzahl von 3P-Agenten kommunizieren. Beispielsweise kann der lokale Agent 110 einen Dialog zwischen dem Gerät 106 und dem 3P-Agenten 130 während eines ersten Zeitperiode ermöglichen, kann einen Dialog zwischen dem Gerät 106 und einem zusätzlichen 3P-Agenten während einer zweiten Zeitperiode ermöglichen, etc. Jedoch sind hierin viele Beispiele der Einfachheit halber in Bezug auf einen einzigen 3P-Agenten 130 beschrieben.
  • Der lokale Agent 110 kann eine Sprache-zu-Text-Maschine 112, eine lokale Parser-Maschine 114, eine lokale Aktionsmaschine 116 und eine Ausgabemaschine 118 enthalten. Bei einigen Implementierungen kann oder können eine oder mehrere der Maschinen des lokalen Agenten 110 weggelassen, kombiniert und/oder in einer Komponente, die vom lokalen Agenten 110 getrennt ist, implementiert sein.
  • Wie es in 1 dargestellt ist, empfängt der lokale Agent 110 Beispiele einer Spracheingabe vom Gerät 106. Beispielsweise kann der lokale Agent eine Spracheingabe in der Form einer Streaming-Audioaufzeichnung bzw. -Audioaufnahme empfangen. Die Streaming-Audioaufzeichnung kann durch das Gerät 106 in Reaktion auf Signale erzeugt werden, die von einem Mikrofon des Geräts 106 empfangen sind, das eine gesprochene Eingabe eines Anwenders des Geräts 106 erfasst. Bei einigen Implementierungen kann die Spracheingabe durch das Gerät 106 erzeugt werden und/oder zu dem lokalen Agenten 110 in Reaktion auf einen expliziten Aufruf des lokalen Agenten 110 durch einen Anwender des Geräts 106 geliefert werden. Beispielsweise kann der Aufruf eine Erfassung durch das Elektronikgerät von einer bestimmten Spracheingabe des Anwenders (z. B. eines Schlüsselworts des lokalen Agenten 110, wie beispielsweise ”Hey Assistent”), einer Anwenderinteraktion mit einer Hardwaretaste und/oder einer virtuellen Taste (z. B. einem Antippen einer Hardware-Taste, einer Auswahl eines graphischen Schnittstellenelements, das durch das Gerät 106 angezeigt wird), und/oder einer anderen bestimmten Anwenderschnittstelleneingabe sein.
  • Wie es auch in 1 dargestellt ist, stellt der lokale Agent 110 ein Beispiel einer Ausgabe in Reaktion auf ein Empfangen eines Beispiels einer Spracheingabe vom Gerät 106 zur Verfügung. Das Beispiel einer Ausgabe kann beispielsweise akustisch sein, um durch das Gerät 106 akustisch präsentiert zu werden (z. B. Ausgabe über einen Lautsprecher des Geräts 106), ein Text und/oder ein graphischer Inhalt, um durch das Gerät 106 graphisch präsentiert zu werden (z. B. über eine Anzeige des Geräts 106 ausgeführt zu werden), etc. Wie es hierin beschrieben ist, können einige Beispiele der Ausgabe auf einem lokalen Reaktionsinhalt basieren, der durch den lokalen Agenten 110 erzeugt ist, während andere Beispiele der Ausgabe auf einen 3P-Reaktionsinhalt basieren können, der durch den 3P-Agenten 130 erzeugt ist.
  • Die Sprache-zu-Text-Maschine 112 empfängt ein Beispiel einer Spracheingabe (z. B. in der Form von digitalen Audiodaten) und wandelt die Spracheingabe in Text um, der ein oder mehrere Textwörter oder Phrasen (auf die hierin auch als Zeichen bzw. Token bzw. Baustein Bezug genommen wird) enthält. Bei einigen Implementierungen ist die Sprache-zu-Text-Maschine 112 eine Streaming-Sprache-zu-Text-Maschine. Eine Streaming-Sprache-zu-Text-Maschine wandelt eine Spracheingabe in Text auf einer Zeichen-für-Zeichen-Basis und in Echtzeit oder nahezu in Echtzeit um, so dass Zeichen effektiv gleichzeitig mit einem Sprechen eines Anwenders ausgegeben werden können, und somit bevor ein Anwender eine vollständig gesprochene Anfrage formuliert. Die Sprache-zu-Text-Maschine 112 kann auf einem oder mehreren gespeicherten Sprache-zu-Text-Modellen 152 beruhen (auf die auch als Sprachmodelle Bezug genommen wird). Jedes der Sprache-zu-Text-Modelle 152 kann eine Beziehung zwischen einem Audiosignal und phonetischen Einheiten in einer Sprache zusammen mit Wortsequenzen in der Sprache modellieren. Bei einigen Implementierungen kann ein einziges Sprache-zu-Text-Modell 152 zur Verfügung gestellt sein, während bei anderen Implementierungen mehrere Sprache-zu-Text-Modelle 152 zur Verfügung gestellt sein können (z. B. um mehrere Sprachen zu unterstützen).
  • Bei einigen Implementierungen können ein oder mehrere der Sprache-zu-Text-Modellen 152 beispielsweise eine Endzustandsdecodierkurve implementieren, die eine Vielzahl von Pfaden definiert, die digitale Audiodaten in Textwörter oder -phrasen abbildet. Bei einigen Implementierungen können Sprache-zu-Text-Modelle 152 ein Basismodell enthalten, das selektiv gekoppelt sein kann mit einem und/oder dessen Ausgabe selektiv modifiziert werden kann durch ein kontextempfindliches Modell (z. B. erzeugt basierend wenigstens teilweise auf 3P-Kontextparametern). Das Basismodell kann ein primäres Vokabular unterstützen, das relativ allgemeine Wörter und Phrasen ähnlich denjenigen enthält, die durch einen Anwender gesprochen werden. Ein kontextempfindliches Modell kann andererseits Pfade von einem oder mehreren Wörtern oder Phrasen enthalten, die verwendet werden können, um das Vokabular des Basismodells für einen speziellen Kontext effektiv zu vermehren. Die Art, auf welche Basismodelle integriert werden können mit einem kontextempfindlichen Modell oder auf andere Weise durch ein solches ergänzt, können bei unterschiedlichen Implementierungen variieren, z. B. basierend auf die Art, auf welche Pfade in ein Modell codiert werden.
  • Einige Beispiele einer Spracheingabe werden im Text durch die Sprache-zu-Text-Maschine 112 basierend auf dem (den) Sprache-zu-Text-Modell(en) 152 und ohne ein Durchführen von irgendeinem Beeinflussen, das auf Anwenderparametern 158 und/oder Inhalt, der durch den 3P-Agenten 130 geliefert ist (z. B. 3P-Kontextparameter, die durch den 3P-Agenten 130 geliefert sind), umgewandelt. Jedoch verwendet die Sprache-zu-Text-Maschine 112 für einige andere Beispiele einer Spracheingabe Inhalt, der durch den 3P-Agenten 130 geliefert ist, und/oder Anwenderparameter 158 bei der Umwandlung von Spracheingabe in Text. Beispielsweise kann die Sprache-zu-Text-Maschine 112 die Sprache-zu-Text-Umwandlung einer Spracheingabe basierend auf 3P-Kontextparametern beeinflussen, die durch den 3P-Agenten 130 geliefert werden, vor einem Empfang von dieser Spracheingabe. Beispielsweise kann die Sprache-zu-Text-Maschine 112 über die Sprache-zu-Text-Modelle 152 und basierend auf dieser Spracheingabe Auswertungen für alles oder Teilbereiche von einem Kandidatenzeichen (Kandidatenzeichen) und/oder Sequenzen von einem Zeichen (Zeichen) erzeugen und diese Auswertungen basierend auf empfangenen 3P-Kontextparametern modifizieren. Zusätzliche und/oder alternative Techniken können durch die Sprache-zu-Text-Maschine 112 verwendet werden, um eine Spracheingabe in Text basierend auf einem Inhalt umzuwandeln, der durch den 3P-Agenten geliefert ist. Eine zusätzliche Beschreibung von Implementierungen der Sprache-zu-Text-Maschine 112 ist in Bezug auf Verfahren 200, 300 und 400 der 24 beschrieben.
  • Während eine Sprache-zu-Text-Maschine 112 Sprache in Text umwandelt, versucht die lokale Parser-Maschine 114 die Semantiken oder die Bedeutung der Textausgabe durch die Maschine 112 zum Zwecke eines Bestimmens einer geeigneten Reaktion bzw. Antwort auf den Text zu unterscheiden bzw. wahrzunehmen. Beispielsweise kann die lokale Parser-Maschine 114 versuchen, die Semantiken von Text zu unterscheiden, um zu bestimmen, ob der Text einen 3P-Agenten aufruft, wenn der Text lokal durch den lokalen Agenten 110 oder entfernt durch einen 3P-Agenten zu handhaben ist, und/oder andere Aktionen zu bestimmen, und/oder Attribute, die mit dem Text assoziiert sind. Die lokale Parser-Maschine 114 kann auf einem oder mehreren gespeicherten Grammatikmodell(en) 154 beruhen, um Text in spezielle Aktionen abzubilden und um Attribute zu identifizieren, die die Durchführung von solchen Aktionen beschränken, z. B. Eingangsvariablen zu solchen Aktionen. Bei einigen Implementierungen kann ein einziges Grammatikmodell 154 vorgesehen sein, während bei anderen Implementierungen mehrere Grammatikmodelle 154 vorgesehen sein können (z. B. um unterschiedliche Aktionen oder Aktionsdomänen zu unterstützen).
  • Als ein Beispiel kann ein Grammatikmodul 154 Aktionen zum Aufrufen verschiedener 3P-Agenten unterstützen. Beispielsweise kann die lokale Parser-Maschine 114 eine Sequenz von Zeichen empfangen und die Sequenz von Zeichen auf die Aktionen eines Einrichtens einer Kommunikationssession mit den 3P-Agenten 130 und eines Ermöglichens eines Dialogs zwischen dem 3P-Agenten 110 und dem Gerät 106 abbilden. Als ein weiteres Beispiel kann das Grammatikmodul 154 optional lokale Aktionen unterstützen, wie beispielsweise eine Aktion ”Einstellen einer Erinnerung”, die einen Erinnerungstypparameter hat, der spezifiziert, welcher Typ von Erinnerung einzustellen ist, einen Elementparameter, der ein oder mehrere Elemente spezifiziert, die mit der Erinnerung assoziiert sind, und einen Zeitparameter, der eine Zeit spezifiziert, um die Erinnerung zu aktivieren und den Anwender zu erinnern. Beispielsweise kann die lokale Parser-Maschine 114 eine Sequenz von Zeichen empfangen, wie beispielsweise ”Erinnere mich an”, ”Holen”, ”Brot” und ”Nach der Arbeit”, und die Sequenz von Zeichen auf die Aktion eines Einstellens einer Erinnerung mit dem Erinnerungstypparameter abbilden, der auf ”Einkaufserinnerung” eingestellt ist, dem Elementparameter, der auf ”Brot” eingestellt ist, und dem Zeitparameter von ”17:00 Uhr”, so dass der Anwender um 17:00 Uhr an diesem Tag eine Erinnerung empfängt, ”Brot zu kaufen”.
  • Die lokale Aktionsmaschine 116 kann in Verbindung mit der lokalen Parser-Maschine 114 arbeiten und eine oder mehrere Aktionen durchführen, wie es durch einen geparsten Text diktiert bzw. vorgeschrieben ist (z. B. Aktion(en) und Aktionsparameter), der durch die lokale Parser-Maschine 114 geliefert ist. Wenn beispielsweise die lokale Parser-Maschine 114 bestimmt, dass Text den 3P-Agenten 130 aufruft und Aktionsparameter enthält, um zum 3P-Agenten 130 überreicht zu werden, kann die lokale Aktionsmaschine 116 eine Kommunikationssession mit dem 3P-Agenten einrichten und die Aktionsparameter zum 3P-Agenten 130 senden. Für lokale Aktionen kann die lokale Aktionsmaschine 116 lokalen Reaktionsinhalt erzeugen und diesen lokalen Reaktionsinhalt zur Ausgabemaschine 118 zum Liefern einer entsprechenden Ausgabe zur Präsentation zu einem Anwender über das Gerät 106 liefern. Die Maschine für eine lokale Aktion 116 kann ein oder mehrere gespeicherte Inhaltsmodelle 156 zum Erzeugen lokalen Inhalts und/oder zum Durchführen anderer Aktionen verwenden. Die Inhaltsmodelle 156 können beispielsweise verschiedene Regeln zum Erzeugen eines lokalen Reaktionsinhalts enthalten.
  • Die Ausgabemaschine 118 liefert Beispiele einer Ausgabe zum Gerät 106. Ein Beispiel einer Ausgabe kann auf lokalen Reaktionsinhalt (von der Maschine für eine lokale Aktion 116) und/oder 3P-Reaktionsinhalt (z. B. vom 3P-Agenten 130 oder einem anderen 3P-Agenten) basieren. Bei einigen Implementierungen kann die Ausgabemaschine 118 eine Text-zu-Sprache-Maschine enthalten, die Textkomponenten eines Reaktionsinhalts in ein Audioformat umwandelt, und die durch die Ausgabemaschine 118 gelieferte Ausgabe wird in einem Audioformat (z. B. als Streaming-Audio) geliefert. Bei einigen Implementierungen kann der Reaktionsinhalt bereits in einem Audioformat sein. Bei einigen Implementierungen liefert die Ausgabenmaschine 118 zusätzlich oder alternativ Textantwortinhalt als Ausgabe (optional für eine Umwandlung durch das Gerät 106 zu Audio) und/oder liefert eine Ausgabe für eine graphische Anzeige durch das Gerät 106.
  • Wenn der lokale Agent 110 einen Dialog zwischen dem Gerät und dem 3P-Agenten 110 ermöglicht, wandelt die Sprache-zu-Text-Maschine 112 Beispiele einer Spracheingabe, die während des Dialogs empfangen ist, in Text um und liefert der lokale Agent 110 wenigstens einiges von diesem Text zum 3P-Agenten 130. Weiterhin liefert der 3P-Agent 130 Beispiele eines 3P-Reaktionsinhalts zum lokalen Agenten 110 und erzeugt die Ausgabemaschine 118 Beispiele einer Ausgabe basierend auf einem entsprechenden Beispiel von 3P-Reaktionsinhalt. In einigen Situationen kann eine Ausgabe von der lokalen Parser-Maschine 114 und/oder der Maschine für eine lokale Aktion 116 auch zum 3P-Agenten 110 geliefert werden (z. B. um ein semantisches Verstehen von Text durch den 3P-Agenten 110 zu ermöglichen). Jedoch kann in anderen Situationen nur umgewandelter Text von der Sprache-zu-Text-Maschine 112 geliefert werden (z. B. der 3P-Agent 130 führt seine eigene semantische Verarbeitung durch).
  • Der 3P-Agent 130 kann eine 3P-Kontextparametermaschine 132 und eine 3P-Inhaltsmaschine 134 enthalten. Bei einigen Implementierungen können die Maschinen 132 und 134 kombiniert sein. Bei vielen Implementierungen kann der 3P-Agent 130 zusätzliche Maschinen enthalten, wie beispielsweise seine eigene lokale Parser-Maschine. Darüber hinaus kann der 3P-Agent 130 bei vielen Implementierungen auf verschiedene gespeicherte Modelle und/oder andere Ressourcen zugreifen (z. B. sein eigenes Grammatikmodell (seine eigenen Grammatikmodelle) und/oder Inhaltsmodell (Inhaltsmodelle)), und zwar beim Erzeugen von 3P-Kontextparametern und/oder 3P-Reaktionsinhalt.
  • In Reaktion auf einen Text (und optional zusätzlichen Inhalt), der durch den lokalen Agenten 110 geliefert ist, erzeugt die 3P-Inhaltsmaschine 134 3P-Reaktionsinhalt, der auf den Text reagiert. Die 3P-Inhaltsmaschine 134 kann 3P-Grammatikmodell(e) und/oder Inhaltsmodell(e) beim Erzeugen des 3P-Reaktionsinhalts verwenden.
  • Für einigen 3P-Reaktionsinhalt liefert die EP-Kontextparametermaschine 132 3P-Kontextparameter, die ein oder mehrere potentielle Merkmale von weiterer Spracheingabe anzeigen, um in Reaktion auf diesen 3P-Reaktionsinhalt geliefert zu werden. Die 3P-Kontextparametermaschine 132 kann ein oder mehrere Modelle des 3P-Agenten beim Bestimmen von Kontextparametern verwenden, die für gegebenen 3P-Reaktionsinhalt geeignet sind. Beispielsweise kann ein Grammatikmodell des 3P-Agenten Beispiele von 3P-Reaktionsinhalt auf entsprechende 3P-Kontextparameter abbilden.
  • Als irgendein Beispiel soll angenommen sein, dass der 3P-Agent 130 eine ”Restaurantreservierung”-Funktionalität zur Verfügung stellt. Für 3P-Reaktionsinhalt von ”Zu welcher Zeit” können Kontextparameter darauf abgebildet werden, die einen Semantiktyp von ”Zeit” anzeigen. Sie können durch den 3P-Agenten 130 zum lokalen Agenten 110 zur Verwendung durch die Sprache-zu-Text-Maschine 112 gesendet werden, um eine Sprache-zu-Text-Umwandlung von wenigstens etwas von einer reagierenden Spracheingabe (die in Reaktion auf eine Ausgabe basierend auf ”Zu welcher Zeit” empfangen ist) in Richtung zu Zeichen zu beeinflussen, die einen Semantiktyp von ”Zeit” haben (z. B. in Richtung zu ”8:00” gegenüber ”ate” für eine Spracheingabe von ”eight” zu beeinflussen). Für einen 3P-Reaktionsinhalt von ”Irgendwelche Sitzpräferenzen” können Kontextparameter darauf abgebildet werden, die explizite Zeichen anzeigen, wie beispielsweise ”Draußen”, ”Sitzen auf der Terrasse”, ”Innen”, ”Tischnische”, ”Tisch”, etc. Sie können durch den 3P-Agenten 130 zum lokalen Agenten 110 zur Verwendung durch die Sprache-zu-Text-Maschine 112 gesendet werden, um eine Sprache-zu-Sprache-Umwandlung von wenigstens einer gewissen reagierenden Spracheingabe (die in Reaktion auf eine Ausgabe basierend auf ”Irgendwelche Sitzpräferenzen” empfangen ist) in Richtung zu diesen Zeichen zu beeinflussen. Für 3P-Reaktionsinhalt von ”Welches Restaurant” können Kontextparameter darauf abgebildet werden, die einen Semantiktyp von ”Restaurant” anzeigen. Sie können durch den 3P-Agenten 130 zum lokalen Agenten 110 zur Verwendung durch die Sprache-zu-Text-Maschine 112 gesendet werden, um eine Sprache-zu-Sprache-Umwandlung von wenigstens etwas von reagierender Spracheingabe (die in Reaktion auf eine Ausgabe basierend auf ”Welches Restaurant” empfangen ist) in Richtung zu Namen von Restaurants zu beeinflussen. Beispielsweise kann die Sprache-zu-Text-Maschine 112 optional den ”Restaurant”-Semantiktyp und Anwenderparameter 158 verwenden, um Restaurantnamen zu identifizieren und in Richtung dazu zu beeinflussen, die in Assoziation mit dem Anwender gespeichert sind (z. B. Restaurants ”lokal” zum Anwender). Ebenso kann beispielsweise die Sprache-zu-Text-Maschine 112 zusätzlich oder alternativ optional den ”Restaurant”-Semantiktyp und zuvor gelieferte Namen von Restaurants verwenden, die durch den 3P-Agenten 130 unterstützt sind, um Restaurantnamen zu identifizieren und in Richtung zu diesem zu beeinflussen, die in Assoziation mit dem 3P-Agenten 130 gespeichert sind.
  • Bei einigen Implementierungen kann die Sprache-zu-Text-Maschine 112 zusätzlich oder alternativ 3P-Kontextparameter basierend auf 3P-Reaktionsinhalt selbst (zusätzlich zu oder anstelle von 3P-Kontextparametern) ableiten. Beispielsweise kann die Sprache-zu-Text-Maschine 112 basierend auf dem Vorhandensein von ”Restaurant” im 3P-Reaktionsinhalt von ”Welches Restaurant?” die Anwenderparameter 158 verwenden, um Restaurantnamen zu identifizieren und in Richtung zu diesen zu beeinflussen, die in Assoziation mit dem Anwender gespeichert sind. Bei einigen Implementierungen kann dort, wo die Sprache-zu-Text-Maschine 112 3P-Kontextparameter basierend auf dem 3P-Reaktionsinhalt selbst ableitet, der 3P-Agent 130 optional die 3P-Kontextparametermaschine 132 weglassen und kann 3P-Kontextparameter nicht senden, die zusätzlich zum 3P-Reaktionsinhalt sind.
  • In 1 ist der 3P-Reaktionsinhalt derart dargestellt, dass er zur Ausgabemaschine 118 geliefert wird, und sind die 3P-Kontextparameter derart dargestellt, dass sie zur Sprache-zu-Text-Maschine 112 geliefert werden. Jedoch werden bei einigen Implementierungen sowohl der 3P-Reaktionsinhalt als auch die 3P-Kontextparameter direkt zum lokalen Agenten 110 geliefert, der sie dann zu einer oder mehreren seiner Maschinen liefert. Beispielsweise kann der lokale Agent 110 sowohl die 3P-Kontextparameter als auch den 3P-Reaktionsinhalt zur Sprache-zu-Text-Maschine 112 liefern. Wenn sowohl 3P-Reaktionsinhalt als auch 3P-Kontextparameter zum lokalen Agenten 110 gesendet werden, können sie in einer einzigen Sendung oder in getrennten Sendungen gesendet werden.
  • Wendet man sich nun den 25 zu, werden Beispiele von Verfahren beschrieben, die durch Komponenten der Umgebung der 1 durchgeführt werden können.
  • 2 ist ein Ablaufdiagramm, das ein beispielhaftes Verfahren 200 zum dynamischen Anpassen einer Sprache-zu-Text-Umwandlung basierend auf von einem Agenten einer dritten Partei geliefertem Inhalt darstellt. Der Annehmlichkeit halber sind die Operationen des Ablaufdiagramms unter Bezugnahme auf ein System beschrieben, das die Operationen durchführt. Das System kann verschiedene Komponenten von verschiedenen Computersystemen enthalten, wie beispielsweise eine oder mehrere Komponenten eines lokalen Agenten 110. Darüber hinaus ist, während Operationen des Verfahrens 200 in einer bestimmten Reihenfolge gezeigt sind, dies nicht als beschränkend gemeint. Eine oder mehrere Operationen können neu angeordnet, weggelassen oder hinzugefügt werden.
  • Bei einem Block 252 empfängt das System eine Spracheingabe. Beispielsweise kann das System eine Spracheingabe in der Form von Streaming-Audiodaten empfangen, die durch ein sprachfähiges Elektronikgerät basierend auf einer gesprochenen Eingabe erzeugt sind, die durch einen Wandler des Geräts erfasst ist.
  • Bei einem Block 254 wandelt das System die Spracheingabe in Text um. Beispielsweise kann eine Sprache-zu-Text-Maschine des Systems die Spracheingabe in Text umwandeln, indem sie ein Textmodell verwendet, wie beispielsweise eine Endzustandsdecodierkurve.
  • Bei einem Block 256 bestimmt das System, ob der umgewandelte Text einen 3P-Agenten aufruft. Beispielsweise kann das System bestimmen, dass ein bestimmter 3P-Agent aufgerufen wird, und zwar basierend auf dem umgewandelten Text, der ein Schlüsselwort (Schlüsselwörter) für den bestimmten 3P-Agenten und/oder eine Bezugnahme auf eine Aktion und/oder ein Element, das durch den bestimmten 3P-Agenten gemanagt wird, enthält. Bei einigen Implementierungen kann das System den Text analysieren, wie er umgewandelt wird (z. B. Zeichen für Zeichen) und kann einen Aufruf des 3P-Agenten basierend auf umgewandeltem Text aus einem ersten Segment der Spracheingabe bestimmen. Bei einigen von diesen Implementierungen kann das System optional einen oder mehrere im Voraus gespeicherte Kontextparameter für den 3P-Agenten beim Durchführen einer Sprache-zu-Text-Umwandlung des übrigen Segments der Spracheingabe verwenden. Ein Beispiel davon ist detaillierter bei einem Verfahren 400 der 4 beschrieben.
  • Wenn das System beim Block 256 bestimmt, dass ein 3P-Agent nicht aufgerufen wird, geht das System weiter zu Blöcken 258, 260 und 262. Beim Block 258 erzeugt das System lokalen Reaktionsinhalt. Beispielsweise kann das System den lokalen Reaktionsinhalt unter Verwendung von lokalen Grammatikmodellen und/oder lokalen Inhaltsmodellen des Systems erzeugen. Beim Block 260 liefert das System eine Ausgabe, die auf dem lokalen Reaktionsinhalt basiert. Beispielsweise kann die Ausgabe der lokale Reaktionsinhalt oder eine Umwandlung (z. B. eine Text-zu-Sprache-Umwandlung) des lokalen Reaktionsinhalts sein. Die Ausgabe wird zur Präsentation (z. B. akustisch oder graphisch) über das sprachfähige Elektronikgerät geliefert. Beim Block 262 wartet das System auf eine zusätzliche Spracheingabe und geht auf ein Empfangen von zusätzlicher Spracheingabe hin weiter zurück zum Block 252.
  • Wenn das System beim Block 256 bestimmt, dass ein 3P-Agent aufgerufen ist, geht das System weiter zu einem Block 270. Beim Block 270 liefert das System wenigstens etwas vom umgewandelten Text zum aufgerufenen 3P-Agenten. Bei einigen Implementierungen kann das System zusätzlichen Inhalt in Kombination mit dem Text liefern, wie beispielsweise semantische Etiketten bzw. Bezeichnungen für den Text, die durch eine Parser-Maschine erzeugt sind, und/oder eine andere Komponente des Systems.
  • Bei einem Block 272 empfängt das System 3P-Reaktionsinhalt vom 3P-Agenten in Reaktion auf ein Liefern des Textes zum 3P-Agenten beim Block 270. Der 3P-Reaktionsinhalt reagiert auf den beim Block 270 gelieferten Text und kann durch den 3P-Agenten unter Verwendung seiner eigenen Semantikverarbeitungsmaschinen und/oder seiner eigenen Semantikmodell erzeugt werden. Bei einigen Implementierungen empfängt das System beim Block 272 auch Kontextparameter vom 3P-Agenten. Diese Kontextparameter können in Kombination mit dem 3P-Reaktionsinhalt geliefert werden und können ein oder mehrere potentielle Merkmale einer weiteren Spracheingabe anzeigen, um in Reaktion auf den 3P-Reaktionsinhalt geliefert zu werden. Bei einigen Iterationen des Blocks 272 können Kontextparameter nicht empfangen werden und/oder ”Vorgabe”-Kontext kann angezeigt werden. Wenn beispielsweise der beim Block 272 empfangene 3P-Reaktionsinhalt ”Erzählen”/”Auflösung” anstelle von ”Fragen”/”Auffordern” ist, kann der 3P-Agent Kontextparameter nicht liefern, da eine weitere Spracheingabe, die zum 3P-Agenten gerichtet ist, nicht erwartet wird. Ebenso kann beispielsweise dann, wenn der 3P-Reaktionsinhalt ”Fragen”/”Auffordern” ist, der 3P-Agent in einigen Situationen nichtsdestoweniger nicht Kontextparameter liefern und/oder sollte angezeigter ”Vorgabe”-Kontext verwendet werden. Wenn beispielsweise der 3P-Reaktionsinhalt eine relativ unbeschränkte Frage fragt (z. B. ”Was möchtest Du in Deiner Email sagen?”), dann kann der 3P-Agent anzeigen, dass ”Vorgabe”-Kontext verwendet werden sollte.
  • Bei einem Block 274 liefert das System eine Ausgabe, die auf dem 3P-Reaktionsinhalt basiert. Beispielsweise kann die Ausgabe der 3P-Reaktionsinhalt oder eine Umwandlung (z. B. eine Text-zu-Sprache-Umwandlung) des 3P-Reaktionsinhalts sein. Die Ausgabe wird zur Präsentation (z. B. akustisch oder graphisch) über das sprachfähige Elektronikgerät geliefert.
  • Bei einem optionalen Block 278 bestimmt das System, ob die zusätzliche Spracheingabe, auf die es beim Block 276 wartet, erwartet wird, dass sie zum 3P-Agenten geführt wird. Bei einigen Implementierungen kann der beim Block 272 empfangene Reaktionsinhalt anzeigen, ob eine weitere Spracheingabe, die zum 3P-Agenten gerichtet ist, erwartet wird. Beispielsweise kann der Reaktionsinhalt anzeigen, ob er ”Fragen”/”Auffordern” ist, was eine weitere 3P-agentenbezogene Spracheingabe anfordert (in welchem Fall eine weitere Eingabe, die zum 3P-Agenten gerichtet ist, erwartet wird), oder alternativ ”Erzählen”/”Auflösung” ist, was keine weitere 3P-agentenbezogene Spracheingabe erwartet (in welchem Fall eine weitere Eingabe, die zu dem 3P-Agenten gerichtet ist, nicht erwartet wird).
  • Wenn beim Block 278 bestimmt wird, dass eine weitere Spracheingabe, die zum 3P-Agenten gerichtet ist, nicht erwartet wird, kann das System auf ein Empfangen einer zusätzlichen Spracheingabe (z. B. eine Spracheingabe, die das System wiederum aufruft) hin weiter zurück zum Block 252 gehen.
  • Wenn beim Block 278 bestimmt wird, dass eine weitere Spracheingabe, die zum 3P-Agenten gerichtet ist, erwartet wird, geht das System auf ein Empfangen einer zusätzlichen Spracheingabe hin weiter zu einem Block 280. Bei einigen dieser Implementierungen kann das System auch (z. B. mit der Ausgabe beim Block 274) einen Befehl liefern, der veranlasst, dass ein Mikrofon (Mikrofone) (oder ein anderer Wandler (andere Wandler) und/oder assoziierte Komponenten) des sprachfähigen Elektronikgeräts in Erwartung eines Empfangens einer weiteren Spracheingabe ”geöffnet” wird (werden). Bei einigen Implementierungen kann der Block 278 weggelassen sein (z. B. das System kann vom Block 276 zum Block 280 weitergehen).
  • Beim Block 280 empfängt das System eine zusätzliche Spracheingabe.
  • Bei einem Block 282 wandelt das System die beim Block 280 empfangene Spracheingabe in Text um. Bei einigen Iterationen des Blocks 282 wandelt das System die Spracheingabe des Blocks 280 basierend auf Kontextparametern in Text um, die in einer allerletzten Iteration des Blocks 272 empfangen sind und/oder aus 3P-Reaktionsinhalt abgeleitet sind, der in einer allerletzten Iteration des Blocks 272 empfangen ist. Beispielsweise kann das System die Sprache-zu-Text-Umwandlung basierend auf Zeichen, Zustandspfaden und/oder anderen Merkmalen, die explizit im empfangenen 3P-Kontextparameter enthalten sind und/oder auf andere Weise durch die empfangenen 3P-Kontextparameter angezeigt sind, beeinflussen. Beispielsweise kann das System Auswertungen für Zeichen und/oder Sequenzen von Zeichen unter Verwendung desselben Sprache-zu-Text-Modells erzeugen, das beim Block 254 verwendet ist, aber eine oder mehrere der erzeugten Auswertungen basierend auf den Kontextparametern modifizieren. Ebenso kann das System beispielsweise eine oder mehrere Decodierkurven eines Sprache-zu-Text-Modells durchlaufen, während ein oder mehrere Zustandspfade gewichtet werden, die in den Kontextparametern angezeigt sind. Ebenso kann das System beispielsweise effektiv ein oder mehrere Zeichen ”außerhalb eines Werts” zum Zustandsmodell basierend auf Zeichen hinzufügen, die in den Kontextparametern enthalten oder durch diese angezeigt sind.
  • Wie es hierin beschrieben ist, kann das System bei einigen Implementierungen optional Anwenderparameter und/oder zuvor gelieferte 3P-Kontextparameter in Kombination mit einem beim Block 272 empfangenen Inhalt beim Durchführen einer Sprache-zu-Text-Umwandlung im Block 282 verwenden.
  • Ebenso kann das System bei einigen Iterationen des Blocks 282 Kontextparameter verwenden, die beim Block 272 empfangen sind, um eine Umwandlung eines ersten Segments einer Spracheingabe zu beeinflussen, aber nicht die empfangenen Kontextparameter beim Beeinflussen des zweiten Segments einer Spracheingabe verwenden. Beispielsweise kann ein Kontextparameter anzeigen, dass eine Spracheingabe wahrscheinlich ein ”Antwort”-Zeichen enthält (z. B. ”Antworten mit”, ”Reagieren mit”, ”Reden mit ihm/ihr”), gefolgt durch ”Offener Text”. In einem solchen Szenario kann eine Sprache-zu-Text-Umwandlung anfänglich in Richtung zu ”Antwort”-Zeichen beeinflusst werden, aber dann, wenn einmal ein Antwort-Zeichen im umgewandelten Text erfasst ist, kann das System zu einer ”Nicht durch eine Antwort beeinflussten” Sprache-zu-Text-Umwandlung umschalten, da ”Offener Text” als wahrscheinlich angezeigt wird, um dem erfassten Antwort-Zeichen zu folgen. Eine ”Nicht durch eine Antwort beeinflusst” Sprache-zu-Text-Umwandlung kann beispielsweise eine solche sein, die auf einem Basislinien-Sprache-zu-Text/Sprachmodell basiert. Als noch ein weiteres Beispiel kann ein Kontextparameter von der Form ”Nachricht $Kontakt $irgendein grober Text” sein, was anzeigt, dass eine Spracheingabe das Zeichen ”Nachricht” enthalten kann, gefolgt durch ein ”Kontakt”-Zeichen (z. B. einen Namen eines Kontakts des Anwenders, gespeichert in Anwenderparametern), gefolgt durch ”Offener Text”. In einem solchen Szenario kann eine Sprache-zu-Text-Umwandlung anfänglich in Richtung zum Zeichen ”Nachricht” beeinflusst werden. In Reaktion auf eine erste Fassung des ”Nachricht”-Zeichens kann die Sprache-zu-Text-Umwandlung dann in Richtung zu Zeichen beeinflusst werden, die Namen von Kontakten des Anwenders sind. Dann kann in Reaktion auf eine Erfassung von Kontakt-Zeichen die Sprache-zu-Text-Umwandlung nicht beeinflusst sein (z. B. basierend auf einem Basislinien-Sprache-zu-Text-Modell).
  • Nach dem Block 282 geht das System weiter zum Block 270 und liefert wenigstens etwas vom umgewandelten Text vom Block 282 zum 3P-Agenten, führt dann eine oder mehrere Iterationen von darauffolgenden Blöcken durch. Wie es aus der obigen Beschreibung und dem Ablaufdiagramm der 2 erkannt wird, kann die Sprache-zu-Text-Umwandlung des Blocks 282 bei jeder Iteration dynamisch upgedated werden, um in Richtung zu Merkmalen einer Spracheingabe zu beeinflussen, die wahrscheinlicher empfangen werden, basierend auf dem Inhalt, der vom 3P-Agenten bei der allerletzten Iteration des Blocks 272 empfangen ist.
  • 3 ist ein Ablaufdiagramm, das ein beispielhaftes Verfahren 300 zum Verwenden von Kontextparametern darstellt, die von einem Agenten einer dritten Partei empfangen sind, um eine Sprache-zu-Text-Umwandlung zu beeinflussen. Der Annehmlichkeit halber sind die Operationen des Ablaufdiagramms unter Bezugnahme auf ein System beschrieben, das die Operationen durchführt. Das System kann verschiedene Komponenten von verschiedenen Computersystemen enthalten, wie beispielsweise eine oder mehrere Komponenten des lokalen Agenten 110 (z. B. eine Sprache-zu-Text-Maschine 112). Darüber hinaus wird, während Operationen des Verfahrens 300 in einer bestimmten Reihenfolge gezeigt sind, nicht gemeint, dass dies beschränkend ist. Eine oder mehrere Operationen können neu angeordnet, weggelassen oder hinzugefügt werden.
  • Das Verfahren 300 stellt einige nicht beschränkende Beispiele dafür zur Verfügung, wie Kontextparameter, die von einem 3P-Agenten empfangen sind (z. B. bei einer Iteration des Blocks 272 des Verfahrens 200 der 2), verwendet werden können, um eine Sprache-zu-Text-Umwandlung zu beeinflussen (z. B. bei einer Iteration des Blocks 282 des Verfahrens 200 der 2).
  • Bei einem Block 352 empfängt das System Kontextparameter von einem 3P-Agenten. Beispielsweise kann das System die Kontextparameter bei einem Block 272 des Verfahrens 200 der 2 empfangen.
  • Bei einem Block 354 bestimmt das System, ob bestimmte Zeichen in den Kontextparametern enthalten sind. Wenn es so ist, geht das System weiter zu einem Block 356 und beeinflusst eine Sprache-zu-Text-Umwandlung basierend auf den enthaltenen Zeichen. Beispielsweise kann das System effektiv einige der enthaltenen Zeichen zu einem Basis-Sprache-zu-Text-Modell hinzufügen (z. B. wenn sie außerhalb von Vokabularzeichen sind), und/oder kann Auswertungen von einigen der enthaltenen Zeichen während einer Sprache-zu-Text-Umwandlung positiv beeinflussen.
  • Das System führt auch einen Block 358 durch. Beim Block 358 bestimmt das System, ob ein Semantiktyp (Semantiktypen) von Zeichen in den Kontextparametern angezeigt sind. Wenn es so ist, geht das System weiter zu einem Block 360 und beeinflusst eine Sprache-zu-Text-Umwandlung basierend auf dem (den) Semantiktyp(en) von Zeichen. Bei einigen Implementierungen beeinflusst das System die Sprache-zu-Text-Umwandlung basierend auf einem Modifizieren von Auswertungen oder anderen Werten von Zeichen, assoziiert mit dem (den) Semantiktyp(en), während einer Sprache-zu-Text-Umwandlung. Bei einigen Implementierungen kann das System einen Block 361 als Teil des Blocks 360 durchführen. Beim Block 361 bestimmt das System Zeichen, die eine gespeicherte Assoziation mit dem (den) Semantiktyp(en) haben und die optional eine gespeicherte Assoziation haben mit: dem 3P-Agenten (z. B. zuvor durch den EP-Agenten in Assoziation mit dem (den) Semantiktyp(en) geliefert) und/oder dem Anwender (z. B. zuvor gespeichert in Assoziation mit dem Anwender und optional dem (den) Semantiktyp(en) in Anwenderparametern). Bei einigen von diesen Implementierungen können die bestimmten Zeichen verwendet werden, um die Sprache-zu-Text-Umwandlung auf eine solche Weise zu beeinflussen, die in Bezug auf den Block 356 beschrieben ist.
  • Das System führt auch einen Block 362 durch. Beim Block 362 bestimmt das System, ob ein Zustandspfad (Zustandspfade) in den Kontextparametern angezeigt ist (sind). Wenn es so ist, geht das System weiter zu einem Block 364 und beeinflusst eine Sprache-zu-Text-Umwandlung basierend auf dem (den) Zustandspfad(en). Beispielsweise kann die Sprache-zu-Text-Umwandlung eine Endzustandsdecodierkurve verwenden und/oder ein anderes Modell mit mehreren Zustandspfaden und kann während einer Sprache-zu-Text-Umwandlung unter Verwendung eines solchen Modells in Richtung zu einem oder mehreren von diesen Zustandspfaden beeinflussen, die in den 3P-Kontextparametern angezeigt sind.
  • Das System führt auch einen Block 366 durch. Beim Block 362 bestimmt das System, ob ein anderer Kontextparameter (andere Kontextparameter) in den Kontextparametern enthalten ist (sind). Wenn es so ist, geht das System weiter zu einem Block 368 und beeinflusst eine Sprache-zu-Text-Umwandlung basierend auf diesem (diesen) Kontextparameter(n).
  • Bei vielen Implementierungen und/oder Iterationen des Verfahrens 300 können mehrere der Blöcke 356, 360, 364 und 368 während der gesamten oder Teilbereichen einer Sprache-zu-Text-Umwandlung durchgeführt werden. Beispielsweise können von einem 3P-Agenten empfangene Kontextparameter bestimmte Zeichen und Semantiktypen von Zeichen enthalten, und sowohl der Block 356 als auch der Block 360 können durchgeführt werden. Bei einigen Implementierungen kann oder können ein oder mehrere Blöcke des Verfahrens 300 weggelassen werden. Beispielsweise kann (können) bei einigen Implementierungen ein Zustandspfad (Zustandspfade) nicht unterstützt werden und können die Blöcke 362 und 364 weggelassen werden.
  • 4 ist ein Ablaufdiagramm, das ein beispielhaftes Verfahren 400 zum Erfassen eines Aufrufs eines Agenten einer dritten Partei basierend auf einer Sprache-zu-Text-Umwandlung eines ersten Teilbereichs einer Spracheingabe darstellt, und basierend auf einem Erfassen des Aufrufs: Verwenden von Kontextparametern, die in Assoziation mit dem Aufruf gespeichert sind, um eine Sprache-zu-Text-Umwandlung eines zweiten Teilbereichs der Spracheingabe durchzuführen. Das System kann verschiedene Komponenten von verschiedenen Computersystemen enthalten, wie beispielsweise eine oder mehrere Komponenten des lokalen Agenten 110 (z. B. die Sprache-zu-Text-Maschine 112). Darüber hinaus ist, während Operationen des Verfahrens 400 in einer bestimmten Reihenfolge gezeigt sind, dies nicht als beschränkend gemeint. Eine oder mehrere Operationen können neu angeordnet, weggelassen oder hinzugefügt werden.
  • Das Verfahren 400 stellt einige nicht beschränkende Beispiele diesbezüglich dar, wie ein 3P-Agentenaufruf in einem Text, der aus einem ersten Segment/Teilbereich einer Spracheingabe umgewandelt ist, verwendet werden kann, um eine Sprache-zu-Text-Umwandlung eines zweiten Segments/Teilbereichs der Spracheingabe zu beeinflussen. Beispielsweise kann das Verfahren 400 während der Blöcke 252, 254 und 256 des Verfahrens 200 der 2 durchgeführt werden.
  • Bei einem Block 452 beginnt das System ein Empfangen einer Spracheingabe.
  • Bei einem Block 454 erzeugt das System ein nächstes Textzeichen basierend auf der bislang empfangenen Spracheingabe und gibt es aus.
  • Bei einem Block 456 bestimmt das System, ob ein 3P-Agentenaufruf in dem (den) Textzeichen vorhanden ist, das (die) bei einer oder mehreren Iterationen des Blocks 454 erzeugt ist (sind). Beispielsweise kann das System bestimmen, dass ein bestimmter 3P-Agent aufgerufen ist, basierend auf dem (den) Textzeichen, das (die) ein Schlüsselwort (Schlüsselwörter) enthalten, für den bestimmten 3P-Agenten und/oder eine Bezugnahme auf eine Aktion und/oder ein Element, das durch den bestimmten 3P-Agenten gemanagt wird.
  • Wenn das System bestimmt, dass ein 3P-Agentenaufruf nicht vorhanden ist, geht das System weiter zu einem Block 458 und bestimmt, ob die gesamte Spracheingabe verarbeitet ist (z. B. keine weitere Spracheingabe übrig bleibt und wenigstens eine Schwellenzeitdauer seit einem Empfangen einer Spracheingabe verstrichen ist). Wenn es so ist, geht das System weiter zu einem Block 460 und liefert den erzeugten Text zu einer lokalen Maschine (zu lokalen Maschinen) des Systems, wie beispielsweise einer lokalen Parser-Maschine und/oder einer lokalen Aktionsmaschine. Wenn es nicht so ist, geht das System weiter zurück zum Block 454 und erzeugt das nächste Textzeichen und gibt es aus.
  • Wenn bei einer Iteration des Blocks 456 das System bestimmt, dass ein 3P-Agent aufgerufen worden ist, geht das System weiter zu einem Block 462.
  • Beim Block 462 identifiziert das System Kontextparameter, die in Assoziation mit dem 3P-Agentenaufruf gespeichert sind. Beispielsweise kann für ”Restaurantreservierung” der 3P-Agent Semantiktypen von ”Zeit”, ”Wartung bzw. Beibehaltung”, ”Restaurantname”, etc. identifizieren. Zusätzliche oder alternative Typen von Kontextparametern können bestimmt werden, wie beispielsweise explizite Zeichen, ein Zustandspfad (Zustandspfade), etc.
  • Bei einem Block 464 erzeugt das System den Rest der Textzeichen basierend auf den identifizierten Kontextparametern und gibt ihn aus. Beispielsweise beeinflusst das System die Sprache-zu-Text-Umwandlung des restlichen (oder noch zu empfangenden) Segments der Spracheingabe basierend auf den beim Block 462 identifizierten Kontextparametern.
  • Bei einem Block 466 liefert das System wenigstens einiges von dem erzeugten Text zum aufgerufenen 3P-Agenten.
  • 5 ist ein Ablaufdiagramm, das ein beispielhaftes Verfahren 500 zum Empfangen von Text von einem lokalen Agenten und zum Liefern von Reaktionsinhalt und optional Parametern zum lokalen Agenten in Reaktion auf ein Empfangen des Textes darstellt. Dieses System kann verschiedene Komponenten von verschiedenen Computersystemen enthalten, wie beispielsweise eine oder mehrere Komponenten des 3P-Agenten 130. Darüber hinaus ist, während Operationen des Verfahrens 500 in einer bestimmten Reihenfolge gezeigt sind, dies nicht als beschränkend gemeint. Eine oder mehrere Operationen können neu angeordnet, weggelassen oder hinzugefügt werden.
  • Bei einem Block 552 empfängt das System Text von einem lokalen Agenten. Beispielsweise kann das System Text empfangen, der beim Block 270 des Verfahrens 200 der 2 zum 3P-Agenten gesendet ist.
  • Bei einem Block 554 erzeugt das System Reaktionsinhalt basierend auf dem Text, der beim Block 552 vom lokalen Agenten empfangen ist. Bei einigen Iterationen des Blocks 554 kann das System auch Kontextparameter erzeugen, die ein oder mehrere potentielle Merkmale einer weiteren Spracheingabe anzeigen, um in Reaktion auf den beim Block 554 erzeugten Reaktionsinhalt geliefert zu werden. Verschiedene Typen von Kontextparametern können erzeugt werden, wie beispielsweise diejenigen, die hierin beschrieben sind.
  • Bei einigen Implementierungen bestimmt das System bei einem Block 554, ob Kontextparameter zu erzeugen sind, basierend auf einem oder mehreren Faktoren. Wenn beispielsweise der erzeugte Reaktionsinhalt den Anwender nicht für eine zusätzliche Eingabe auffordert (d. h. ”Erzählen”/”Auflösung” ist), kann das System Kontextparameter zum Liefern mit dem erzeugten Reaktionsinhalt nicht erzeugen. Ebenso kann, wenn beispielsweise der erzeugte Reaktionsinhalt ”Offene Antwort” erbittet, das System Kontextparameter zum Liefern mit dem erzeugten Reaktionsinhalt nicht erzeugen. Alternativ dazu kann, anstelle eines Nichterzeugens von Kontextparametern zum Liefern mit dem erzeugten Reaktionsinhalt, das System stattdessen ”Vorgabe”-Kontextparameter erzeugen, die anzeigen, dass eine auf einem 3P-Agenten basierende Beeinflussung nicht verwendet werden sollte. Bei einigen Implementierungen kann das System einen oder mehrere Kontextparameter erzeugen, die anzeigen, dass eine auf einem 3P-Agenten basierende Beeinflussung anfänglich bei einer Sprache-zu-Text-Umwandlung einer Spracheingabe durchgeführt werden sollte, und, wenn ein umgewandelter Text einmal erzeugt ist, der eine oder mehrere Eigenschaften hat (z. B. der ein angezeigtes Zeichen ist), eine auf einem 3P-Agenten basierende Beeinflussung nicht länger bei einer Sprache-zu-Text-Umwandlung von dieser Spracheingabe verwendet werden sollte (z. B. eine Beeinflussung von ”Offener Text” sollte stattdessen verwendet werden).
  • Bei einem Block 556 liefert das System den Reaktionsinhalt des Block 554 und optional die Kontextparameter des Blocks 554 (wenn es welche gibt) zum lokalen Agenten. Beispielsweise kann in einer Iteration des Blocks 272 des Verfahrens 200 der 2 ein solcher Inhalt zum lokalen Agenten gesendet werden und durch den lokalen Agenten empfangen werden.
  • 6 stellt einen Anwender 101, ein sprachfähiges Elektronikgerät 606 und einen Dialog zwischen dem Anwender 101 und einem Agenten einer dritten Partei, der durch einen lokalen Agenten ermöglicht werden kann, der mit dem sprachfähigen Elektronikgerät 606 assoziiert ist, gemäß hierin offenbarten Implementierungen dar. Das sprachfähige Elektronikgerät 606 enthält ein oder mehrere Mikrofone und einen oder mehrere Lautsprecher. Ein oder mehrere Aspekte des lokalen Agenten 110 der 1 können auf der Computervorrichtung 606 und/oder auf einer oder mehreren Computervorrichtungen, die in Netzwerkkommunikation mit der Computervorrichtung 606 sind, implementiert werden. Demgemäß wird der Einfachheit einer Erklärung halber in einer Beschreibung der 6 auf den lokalen Agenten 110 Bezug genommen.
  • In 6 liefert der Anwender eine gesprochene Eingabe 680A von ”Buche einen Tisch um Acht”. Eine Spracheingabe entsprechend der gesprochenen Eingabe wird durch das Gerät 606 erzeugt und zum lokalen Agenten 110 geliefert (z. B. als Streaming-Spracheingabe). Bei einigen Implementierungen kann der lokale Agent 110 das Verfahren 400 der 4 verwenden, um einen Aufruf eines bestimmten 3P-Agenten basierend auf einer Sprache-zu-Text-Umwandlung eines ersten Teilbereichs (”Buche einen Tisch”) der Spracheingabe entsprechend der gesprochenen Eingabe zu bestimmen. Darüber hinaus kann der lokale Agent 110 basierend auf einem Bestimmen des Aufrufs des bestimmten 3P-Agenten eine Sprache-zu-Text-Umwandlung eines zweiten Teilbereichs (”Um Acht”) der Spracheingabe entsprechend der gesprochenen Eingabe basierend auf gespeicherten Kontextparametern durchführen, die in Assoziation mit einem Aufruf des bestimmten 3P-Agenten gespeichert sind. Beispielsweise können die Kontextparameter einen Semantiktyp (Semantiktypen) von ”Zeit” anzeigen und können verwendet werden, um die Sprache-zu-Text-Umwandlung derart zu beeinflussen, dass es wahrscheinlicher ist, ”Acht” in ”8:00” (oder ”20:00”) umzuwandeln als zu ”ate”.
  • Eine Reaktionsausgabe 682A wird durch das Gerät 606 zum Anwender in einer akustischen Form geliefert. Die Ausgabe 682A kann auf Audiodaten basieren, die durch den lokalen Agenten 110 basierend auf einem 3P-Reaktionsinhalt des aufgerufenen 3P-Agenten erzeugt sind. Beispielsweise kann in Reaktion auf den Aufruf des 3P-Agenten der lokale Agent 110 wenigstens einiges von dem umgewandelten Text entsprechend der gesprochenen Eingabe 680A zum 3P-Agenten senden, Text von ”Irgendeine Küchenpräferenz?” infolge davon empfangen und diesen Text (und den ”Einführungs”-Text ”Dies ist Widget”-App) in die Audiodaten umwandeln.
  • In Reaktion auf die Reaktionsausgabe 682A liefert der Anwender eine weitere gesprochene Eingabe 680B von ”Laotisch”. Eine Spracheingabe entsprechend der gesprochenen Eingabe wird durch das Gerät 606 erzeugt und zum lokalen Agenten 110 geliefert. Bei einigen Implementierungen kann der lokale Agent 110 den Reaktionsinhalt vom 3P-Agenten verwenden, der verwendet wird, um die Reaktionsausgabe 682A zu erzeugen, und/oder 3P-Kontextparameter, die in Kombination mit dem Reaktionsinhalt empfangen sind, um eine Sprache-zu-Text-Umwandlung der Spracheingabe durchzuführen. Beispielsweise können gelieferte 3P-Kontextparameter das Zeichen ”Laotisch” außerhalb des Vokabulars enthalten haben, und die Sprache-zu-Text-Umwandlung kann nach einem Hinzufügen von diesem Zeichen außerhalb des Vokabulars zu dem Sprache-zu-Text-Modell durchgeführt werden. Demgemäß kann die Spracheingaben-Textumwandlung als ”Laotisch” erkannt werden, während sie sonst als ein alternativer Ausdruck (z. B. ”Urlaub”) erkannt worden sein kann, was nicht die gesprochene Eingabe eines Anwenders wiedergeben würde.
  • Eine weitere Reaktionsausgabe 682B wird durch das Gerät 606 zum Anwender in einer akustischen Form geliefert. Die Ausgabe 682B kann auf Audiodaten basieren, die durch den lokalen Agenten 110 erzeugt sind, basierend auf 3P-Reaktionsinhalt des aufgerufenen 3P-Agenten. Beispielsweise kann in Reaktion auf eine Umwandlung der Spracheingabe entsprechend der gesprochenen Eingabe 680B der lokale Agent 110 wenigstens einiges vom umgewandelten Text zum 3P-Agenten senden, Text von ”Lao Café hat eine Verfügbarkeit um Acht, hat Laotische Küche und ist hoch bewertet. Möchtest Du, dass ich buche?” infolge davon empfangen, und diesen Text in die Audiodaten umwandeln.
  • In Reaktion auf die weitere Reaktionsausgabe 680C liefert der Anwender eine weitere gesprochene Eingabe 680C von ”yup”. Eine Spracheingabe entsprechend der gesprochenen Eingabe wird durch das Gerät 606 erzeugt und zum lokalen Agenten 110 geliefert. Bei einigen Implementierungen kann der lokale Agent 110 den Reaktionsinhalt vom 3P-Agenten verwenden, der verwendet wird, um die Reaktionsausgabe 682B zu erzeugen, und/oder 3P-Kontextparameter, die in Kombination mit dem Reaktionsinhalt empfangen sind, um eine Sprache-zu-Text-Umwandlung der Spracheingabe durchzuführen. Beispielsweise können gelieferte 3P-Kontextparameter angezeigt haben, dass Zeichen vom Semantiktyp ”Bestätigende oder negative Antwort” erwartet werden. Demgemäß kann die Spracheingaben-Umwandlung in Text in Richtung zu der bestätigenden Antwort ”yup” beeinflusst werden, was eine sonstige ungenaue Umwandlung verhindern kann (z. B. in ”pup”).
  • Eine weitere Reaktionsausgabe 682C wird durch das Gerät 606 zum Anwender in einer akustischen Form geliefert. Die Ausgabe 682C kann auf Audiodaten basieren, die durch den lokalen Agenten 110 erzeugt sind, basierend auf 3P-Reaktionsinhalt des aufgerufenen 3P-Agenten. Beispielsweise kann der lokale Agent 110 in Reaktion auf eine Umwandlung der Spracheingabe entsprechend der gesprochenen Eingabe 680C wenigstens einiges vom umgewandelten Text zum 3P-Agenten senden, Text von ”Durchgeführt. Ich werde Dir eine Bestätigung als SMS schicken” infolge davon empfangen, und diesen Text in die Audiodaten umwandeln. Da der Antwortinhalt eine ”Auflösungs”-Antwortausgabe ist, kann der 3P-Agent nicht irgendwelche 3P-Kontextparameter zum lokalen Agenten 110 mit dem Antwortinhalt liefern und/oder kann der lokale Agent nicht ein Beeinflussen durchführen, das in Richtung zu diesem 3P-Agenten gerichtet ist, in Verbindung mit der nächsten empfangenen Spracheingabe vom Gerät 606.
  • 7 ist ein Blockdiagramm einer beispielhaften Computervorrichtung 710, die optional verwendet werden kann, um einen oder mehrere Aspekte von hierin beschriebenen Techniken durchzuführen. Bei einigen Implementierungen können eine oder mehrere von dem Gerät 106, dem lokalen Agenten 110, dem 3P-Agenten 130 und/oder einer anderen Komponente (anderen Komponenten) eine oder mehrere Komponenten der beispielhaften Computervorrichtung 710 umfassen.
  • Die Computervorrichtung 710 enthält typischerweise wenigstens einen Prozessor 714, der mit einer Anzahl von peripheren Geräten bzw. Vorrichtungen über ein Bus-Untersystem 712 kommuniziert. Diese peripheren Geräte können ein Speicher-Untersystem 724 enthalten, einschließlich beispielsweise eines Speicher-Untersystems 725 und eines Dateien-Speicheruntersystems 726, Anwenderschnittstellenausgabevorrichtungen 720, Anwenderschnittstelleneingabevorrichtungen 722 und eines Netzwerkschnittstellenuntersystems 716. Die Eingabe- und Ausgabevorrichtungen lassen eine Anwenderinteraktion mit der Computervorrichtung 710 zu. Das Netzwerkschnittstellen-Untersystem 716 liefert eine Schnittstelle zu äußeren Netzwerken und ist mit entsprechenden Schnittstellenvorrichtungen in anderen Computervorrichtungen gekoppelt.
  • Die Anwenderschnittstelleneingabevorrichtungen 722 können eine Tastatur, Zeigevorrichtungen, wie beispielsweise eine Maus, einen Trackball, ein Touchpad oder ein Graphiktablet, einen Scanner, einen Berührungsbildschirm, der in die Anzeige eingebaut ist, Audio-Eingabevorrichtungen, wie beispielsweise Spracherkennungssysteme, Mikrofone und/oder andere Typen von Eingabevorrichtungen enthalten. Im Allgemeinen soll eine Verwendung des Ausdrucks ”Eingabevorrichtung” alle möglichen Typen von Vorrichtungen und Arten zum Eingeben von Information in eine Computervorrichtung 710 oder auf ein Kommunikationsnetzwerk enthalten.
  • Die Anwenderschnittstellenausgabevorrichtungen 720 können ein Anzeige-Untersystem, einen Drucker, eine Faxmaschine oder nicht visuelle Anzeigen, wie beispielsweise Audioausgabevorrichtungen, enthalten. Das Anzeige-Untersystem kann eine Kathodenstrahlröhre (CRT), eine Flachbildvorrichtung, wie beispielsweise eine Flüssigkristallanzeige (LCD), eine Projektionsvorrichtung oder irgendeinen anderen Mechanismus zum Erzeugen eines sichtbaren Bildes enthalten. Das Anzeige-Untersystem kann auch eine nicht visuelle Anzeige liefern, wie beispielsweise über Audioausgabevorrichtungen. Im Allgemeinen soll eine Verwendung des Ausdrucks ”Ausgabevorrichtung” alle möglichen Typen von Vorrichtungen und Arten zum Ausgeben von Information von der Computervorrichtung 710 zum Anwender oder zu einer anderen Maschine oder Computervorrichtung enthalten.
  • Das Speicher-Untersystem 724 speichert Programmier- und Datenkonstrukte, die die Funktionalität von einigen oder allen der hierin beschriebenen Module zur Verfügung stellen. Beispielsweise kann das Speicher-Untersystem 724 die Logik enthalten, um ausgewählte Aspekte des (der) Verfahrens (Verfahren) der 2, 3, 4 und/oder 5 durchzuführen.
  • Diese Software-Module werden allgemein durch den Prozessor 714 allein oder in Kombination mit anderen Prozessoren ausgeführt. Der Speicher 725, der beim Speicher-Untersystem 724 verwendet ist, kann eine Anzahl von Speichern enthalten, einschließlich eines Haupt-Direktzugriffsspeichers (RAM) 530 zur Speicherung von Anweisungen und Daten während einer Programmausführung und eines Nurlesespeichers (ROM) 532, in welchem feste Anweisungen gespeichert sind. Ein Dateien-Speicheruntersystem 726 kann eine dauerhafte Speicherung für Programm- und Datendateien zur Verfügung stellen und kann Festplattenlaufwerk, ein Floppydisk-Laufwerk zusammen mit assoziierten entfernbaren Medien, ein CD-ROM-Laufwerk, ein optisches Laufwerk oder entfernbare Medienkassetten enthalten. Die Module, die die Funktionalität von bestimmten Implementierungen implementieren, können durch das Dateienspeicherungs-Untersystem 726 im Speicher-Untersystem 724 oder in anderen Maschinen, die durch den (die) Prozessor(en) 714 zugreifbar sind, gespeichert sein.
  • Das Bus-Untersystem 712 stellt einen Mechanismus zum Kommunizierenlassen der verschiedenen Komponente und Untersysteme der Computervorrichtung 710 miteinander, wie es beabsichtigt ist, zur Verfügung. Obwohl das Bus-Untersystem 712 schematisch als ein einzelner Bus gezeigt ist, können alternative Implementierungen des Bus-Untersystems mehrere Busse verwenden.
  • Die Computervorrichtung 710 kann von variierenden Typen sein, einschließlich einer Workstation, eines Servers, eines Computer-Clusters, eines Bladeservers, einer Serverfarm oder irgendeines anderen Datenverarbeitungssystems oder einer Computervorrichtung. Aufgrund der sich fortwährend ändernden Art von Computern und Netzen ist die Beschreibung der Computervorrichtung 710, die in 5 gezeigt ist, nur als ein spezifisches Beispiel zum Zwecke eines Darstellens von einigen Implementierungen beabsichtigt. Viele andere Konfigurationen der Computervorrichtung 710 sind möglich, die mehr oder weniger Komponenten als die in 5 gezeigte Computervorrichtung haben.
  • In Situationen, in welchen bestimmte Implementierungen, die hierin diskutiert sind, persönliche Information über Anwender sammeln oder verwenden können (z. B. Anwenderdaten, die aus anderen elektronischen Kommunikationen extrahiert sind, Information über ein soziales Netz eines Anwenders, einen Standort eines Anwenders, eine Zeit eines Anwenders, biometrische Information eines Anwenders und Aktivitäten und demographische Information eines Anwenders), sind Anwender mit einer oder mehreren Gelegenheiten ausgestattet, zu kontrollieren, ob Information gesammelt wird, ob die persönliche Information gespeichert wird, ob die persönliche Information verwendet wird, und wie die Information über den Anwender gesammelt, gespeichert und verwendet wird. Das heißt, dass die Systeme und Verfahren, die hierin diskutiert sind, persönliche Information eines Anwenders hierin nur auf ein Empfangen einer expliziten Autorisierung von den relevanten Anwendern, dies zu tun, sammeln, speichern und/oder verwenden. Beispielsweise ist ein Anwender mit einer Kontrolle darüber ausgestattet, ob Programme oder Merkmale Anwenderinformation über diesen bestimmten Anwender sammeln oder über andere Anwender, die relevant für das Programm oder das Merkmal sind. Jedem Anwender, für welchen persönliche Information zu sammeln ist, wird eine oder mehrere Optionen präsentiert, um eine Kontrolle über die Informationssammlung zuzulassen, die relevant für diesen Anwender ist, um eine Erlaubnis oder eine Autorisierung diesbezüglich zur Verfügung zu stellen, ob die Information gesammelt wird, und diesbezüglich, welche Teilbereiche der Information zu sammeln sind. Beispielsweise können Anwender mit einer oder mehreren solchen Kontrolloptionen über ein Kommunikationsnetz ausgestattet werden. Zusätzlich können bestimmte Daten auf eine oder mehrere Weisen behandelt werden, bevor sie gespeichert oder verwendet werden, so dass persönlich identifizierbare Information entfernt wird. Als elf Beispiel kann eine Identität eines Anwenders so behandelt werden, dass keine persönlich identifizierbare Information bestimmt werden kann. Als ein weiteres Beispiel kann ein geographischer Standort eines Anwenders zu einem größeren Bereich verallgemeinert werden, so dass der bestimmte Standort eines Anwenders nicht bestimmt werden kann.
  • Implementierungen beziehen sich auf ein dynamisches, und auf eine kontextempfindliche Weise, Beeinflussen einer Sprache-zu-Text-Umwandlung. Bei einigen Implementierungen wird das Beeinflussen von Sprache-zu-Text-Umwandlungen durch eine Sprache-zu-Text-Maschine eines lokalen Agenten durchgeführt, und das Beeinflussen basiert wenigstens teilweise auf Inhalt, der zum lokalen Agenten durch einen Agenten einer dritten Partei (3P) geliefert ist, der in Netzkommunikation mit dem lokalen Agenten ist. Bei einigen von diesen Implementierungen enthält der Inhalt Kontextparameter, die durch den 3P-Agenten in Kombination mit Reaktionsinhalt geliefert werden, der durch den 3P-Agenten während eines Dialogs erzeugt ist, der: zwischen dem 3P-Agenten und einem Anwender eines sprachfähigen Elektronikgeräts erfolgt; und durch den lokalen Agenten ermöglicht wird. Die Kontextparameter zeigen ein potentielles Merkmal (potentielle Merkmale) einer weiteren Spracheingabe an, die in Reaktion auf den durch den 3P-Agenten erzeugten Reaktionsinhalt zu liefern ist. Hierin beschriebene Implementierungen reduzieren die Verwendung von verschiedenen Rechenressourcen, die sonst durch ungenaue Darstellungen von Spracheingaben verbraucht werden können (z. B. Netzverkehr, der durch zusätzliche „Drehungen” bzw. ”Wendungen” verbraucht wird, die nötig sein können, um ungenaue Darstellungen einer Spracheingabe zu korrigieren).
  • Während einige Implementierungen hierin beschrieben und dargestellt worden sind, kann eine Vielfalt von anderen Mitteln und/oder Strukturen zum Durchführen der Funktion und/oder zum Erhalten der Ergebnisse und/oder von einem oder mehreren der hierin beschriebenen Vorteile verwendet werden, und jede von solchen Variationen und/oder Modifikationen wird derart angesehen, dass sie innerhalb des Schutzumfangs der hierin beschriebenen Implementierungen ist. Allgemeiner wird gemeint, dass alle Parameter, Dimensionen, Materialien und Konfigurationen, die hierin beschrieben sind, beispielhaft sind und dass die tatsächlichen Parameter, Dimensionen, Materialien und/oder Konfigurationen von der spezifischen Anwendung oder Anwendungen abhängen werden, für welche die Lehren verwendet wird/werden. Fachleute auf dem Gebiet werden unter Verwendung von nicht mehr als routinemäßiger Erfahrung viele Äquivalente zu den spezifischen Implementierungen, die hierin beschrieben sind, erkennen oder dazu fähig sein, diese zu bestimmen. Es ist daher zu verstehen, dass die vorangehenden Implementierungen nur anhand eines Beispiels präsentiert sind und dass, innerhalb des Schutzumfangs der beigefügten Ansprüche und der Äquivalente dazu, Implementierungen auf andere Weise ausgeführt werden können als es spezifisch beschrieben und beansprucht ist. Implementierungen der vorliegenden Offenbarung sind jeweils einzeln gerichtet auf ein Merkmal, ein System, einen Artikel, ein Material, einen Ausrüstung bzw. Ausstattung und/oder ein Verfahren, die hierin beschrieben sind. Zusätzlich ist irgendeine Kombination von zwei oder mehreren solchen Merkmalen, Systemen, Artikeln, Materialien, Ausrüstungen und/oder Verfahren, wenn solche Merkmale, Systeme, Artikel, Materialien, Ausrüstungen und/oder Verfahren nicht wechselseitig inkonsistent sind, innerhalb des Schutzumfangs der vorliegenden Offenbarung enthalten.

Claims (19)

  1. Ein oder mehrere nichtflüchtige computerlesbare Speichermedien, die Anweisungen umfassen, die dann, wenn sie durch eine oder mehrere Computervorrichtungen ausgeführt werden, veranlassen, dass die eine oder die mehreren Computervorrichtungen Operationen durchführen, die umfassen: Empfangen einer Spracheingabe, die durch einen Anwender über ein sprachfähiges Elektronikgerät geliefert ist; Durchführen einer Sprache-zu-Text-Umwandlung, um die Spracheingabe in Text umzuwandeln; Senden des Textes zu einem Agenten einer dritten Partei über eine oder mehrere Netzschnittstellen; Empfangen von Inhalt vom Agenten der dritten Partei in Reaktion auf ein Senden des Textes, wobei das Empfangen über eine oder mehrere der Netzschnittstellen erfolgt und wobei der Inhalt enthält: Reaktionsinhalt, der auf den Text reagiert; Liefern einer Ausgabe, die auf dem Reaktionsinhalt basiert, zur Präsentation zum Anwender über das sprachfähige Elektronikgerät, wobei die Ausgabe in Reaktion auf die Spracheingabe geliefert wird; Empfangen einer zusätzlichen Spracheingabe, die durch den Anwender über das sprachfähige Elektronikgerät geliefert ist und die durch den Anwender in Reaktion auf die Ausgabe geliefert ist; und Verwenden des vom Agenten der dritten Partei empfangenen Inhalts, um eine zusätzliche Sprache-zu-Text-Umwandlung durchzuführen, um die zusätzliche Spracheingabe in zusätzlichen Text umzuwandeln.
  2. Das eine oder die mehreren nichtflüchtigen computerlesbaren Speichermedien nach Anspruch 1, wobei der vom Agenten der dritten Partei empfangene Inhalt weiterhin einen oder mehrere Kontextparameter enthält, die zusätzlich zum Reaktionsinhalt sind und die ein oder mehrere potentielle Merkmale einer weiteren Spracheingabe anzeigen, um in Reaktion auf den Reaktionsinhalt geliefert zu werden, und wobei ein Verwenden des Inhalts, um die zusätzliche Sprache-zu-Text-Umwandlung durchzuführen, umfasst: Verwenden der Kontextparameter, um die zusätzliche Sprache-zu-Text-Umwandlung durchzuführen.
  3. Das eine oder die mehreren nichtflüchtigen computerlesbaren Speichermedien nach Anspruch 2, wobei ein Sprache-zu-Text-Modell beim Durchführen der zusätzlichen Sprache-zu-Text-Umwandlung verwendet wird und wobei ein Verwenden der Kontextparameter, um die zusätzliche Sprache-zu-Text-Umwandlung durchzuführen umfasst: Beeinflussen, basierend auf den Kontextparametern, von Werten, die über das Sprache-zu-Text-Modell erzeugt sind.
  4. Das eine oder die mehreren nichtflüchtigen computerlesbaren Speichermedien nach Anspruch 3, wobei das eine oder die mehreren potentiellen Merkmale, die durch die Kontextparameter angezeigt sind, bestimmte Token bzw. Zeichen enthalten und wobei ein Beeinflussen der Werte, die über das Sprache-zu-Text-Modell erzeugt sind, basierend auf den Kontextparametern, umfasst: Modifizieren von Auswertungen, die für die bestimmten Zeichen erzeugt sind, über das Sprache-zu-Text-Modell.
  5. Das eine oder die mehreren nichtflüchtigen computerlesbaren Speichermedien nach Anspruch 4, wobei die vom Agenten der dritten Partei empfangenen Kontextparameter die bestimmten Zeichen bzw. Token enthalten.
  6. Das eine oder die mehreren nichtflüchtigen computerlesbaren Speichermedien nach Anspruch 4, wobei die vom Agenten der dritten Partei empfangenen Kontextparameter einen Semantiktyp von Zeichen enthalten, und weiterhin umfassend: Bestimmen der bestimmten Zeichen basierend auf den bestimmten Zeichen, die in Assoziation mit dem Semantiktyp gespeichert werden.
  7. Das eine oder die mehreren nichtflüchtigen computerlesbaren Speichermedien nach Anspruch 6, wobei ein Bestimmen der bestimmten Zeichen auf den bestimmten Zeichen basiert, die in Assoziation mit sowohl dem Anwender als auch dem Semantiktyp gespeichert sind.
  8. Das eine oder die mehreren nichtflüchtigen computerlesbaren Speichermedien nach Anspruch 6, wobei ein Bestimmen der bestimmten Token bzw. Zeichen auf den bestimmten Zeichen basiert, die zuvor durch den Agenten der dritten Partei geliefert sind, in Assoziation mit dem Semantiktyp.
  9. Das eine oder die mehreren nichtflüchtigen computerlesbaren Speichermedien nach einem der Ansprüche 2 bis 8, wobei das eine oder die mehreren potentiellen Merkmale, die durch die Kontextparameter angezeigt sind, Zustandspfadanzeigen enthalten, die potentielle Pfade der weiteren Spracheingabe in einem Sprache-zu-Text-Modell anzeigen.
  10. Das eine oder die mehreren nichtflüchtigen computerlesbaren Speichermedien nach einem der Ansprüche 2 bis 9, wobei ein Verwenden der Kontextparameter, um die zusätzliche Sprache-zu-Text-Umwandlung durchzuführen, umfasst: Umwandeln der zusätzliche Spracheingabe in den zusätzlichen Text unter Verwendung von sowohl den Kontextparametern als auch zusätzlichen Anwenderparametern, die dem Anwender oder dem Gerät zugeordnet sind, und unabhängig vom Inhalt zugeordnet wurden, der vom Agenten der dritten Partei empfangen ist.
  11. Das eine oder die mehreren nichtflüchtigen computerlesbaren Speichermedien nach Anspruch 10, wobei die zusätzlichen Anwenderparameter auf wenigstens einem von Folgendem basieren: einem Standort, der mit dem Anwender assoziiert ist, und zusätzlichen Elektronikgeräten, die mit dem Anwender assoziiert sind.
  12. Das eine oder die mehreren nichtflüchtigen computerlesbaren Speichermedien nach einem der Ansprüche 2 bis 11, wobei der Reaktionsinhalt und die Kontextparameter als Teil einer einzelnen Sendung empfangen werden, die vom Agenten der dritten Partei empfangen ist.
  13. Das eine oder die mehreren nichtflüchtigen computerlesbaren Speichermedien nach einem der vorangehenden Ansprüche, wobei ein Sprache-zu-Text-Modell beim Durchführen der zusätzlichen Sprache-zu-Text-Umwandlung verwendet wird und wobei ein Verwenden des Inhalts, um die zusätzliche Sprache-zu-Text-Umwandlung durchzuführen, umfasst: Erzeugen eines Kontext-Sprache-zu-Text-Modells basierend auf dem Inhalt; und Auswählen des zusätzlichen Textes basierend auf sowohl dem Sprache-zu-Text-Modell als auch dem Kontext-Sprache-zu-Text-Modell.
  14. Das eine oder die mehreren nichtflüchtigen computerlesbaren Speichermedien nach einem der vorangehenden Ansprüche, wobei ein Verwenden des Inhalts, um die zusätzliche Sprache-zu-Text-Umwandlung durchzuführen, umfasst: Umwandeln eines ersten Segments der Spracheingabe in ein erstes Textsegment des zusätzlichen Textes mit einem Beeinflussen basierend auf dem Inhalt; und Umwandeln eines zweiten Segments der Spracheingabe in ein zweites Segment des zusätzlichen Textes ohne ein Beeinflussen basierend auf dem Inhalt, wobei das zweite Segment der Spracheingabe nachfolgend zum ersten Segment ist.
  15. Das eine oder die mehreren nichtflüchtigen computerlesbaren Speichermedien nach Anspruch 14, weiterhin umfassend: Bestimmen, das zweite Segmente der Spracheingabe nicht zu beeinflussen, basierend auf Kontextparametern, die im Inhalt enthalten sind, wobei ein Bestimmen, das zweite Segment nicht zu beeinflussen, auf den Kontextparametern basiert, die anzeigen, dass eine Kontextbeeinflussung nicht nach einem Spracheingabesegment auftreten sollte, das mit dem ersten Textsegment übereinstimmt.
  16. Ein oder mehrere nichtflüchtige computerlesbare Speichermedien, die Anweisungen umfassen, die dann, wenn sie durch eine oder mehrere Computervorrichtungen ausgeführt werden, veranlassen, dass die eine oder die mehrere Computervorrichtungen Operationen durchführen, die umfassen: Speichern einer Assoziation von einem oder mehreren Kontextparametern zu einem Aufruf eines Agenten einer dritten Partei; Empfangen einer Spracheingabe, die durch einen Anwender über ein sprachfähiges Elektronikgerät geliefert ist; Umwandeln eines ersten Segments der Spracheingabe in Text unter Verwendung eines Sprache-zu-Text-Modells und ohne Beeinflussen des Sprache-zu-Text-Modells basierend auf den Kontextparametern; Bestimmen, dass der Text mit dem Aufruf übereinstimmt bzw. konform zu diesem ist; in Reaktion auf ein Bestimmen hin, dass der Text mit dem Aufruf des Agenten der dritten Partei übereinstimmt, und in Reaktion auf die Kontextparameter, die in Assoziation mit dem Aufruf gespeichert sind: Umwandeln eines zweiten Segments der Spracheingabe in zusätzlichen Text unter Verwendung des Sprache-zu-Text-Modells und unter Verwendung der Kontextparameter, um das Sprache-zu-Text-Modell zu beeinflussen, wobei das zweite Segment der Spracheingabe nachfolgend zum ersten Segment ist, und Senden wenigstens eines Teilbereichs des zusätzlichen Textes zum Agenten der dritten Partei.
  17. Das eine oder die mehreren nichtflüchtigen computerlesbaren Speichermedien nach Anspruch 16, wobei der Aufruf eine Bezugnahme auf eine Aktion oder ein Element ist, das durch den Agenten der dritten Partei gemanagt wird.
  18. System, umfassend: eine oder mehrere Netzschnittstellen in selektiver Kommunikation mit einem sprachfähigen Elektronikgerät und mit einem Agenten einer dritten Partei; einen Speicher, der Anweisungen speichert; einen oder mehrere Prozessoren, die betreibbar sind, um Anweisungen auszuführen, die im Speicher gespeichert sind, umfassend Anweisungen, um: über eine oder mehrere der Netzschnittstellen eine Spracheingabe vom sprachfähigen Elektronikgerät zu empfangen; eine Sprache-zu-Text-Umwandlung durchzuführen, um die Spracheingabe in Text umzuwandeln; über eine oder mehrere der Netzschnittstellen den Text zu einem Agenten einer dritten Partei zu senden; über eine oder mehrere der Netzschnittstellen einen Inhalt vom Agenten der dritten Partei in Reaktion auf ein Senden des Textes zu empfangen, wobei der Inhalt enthält: Reaktionsinhalt, der auf den Text reagiert; zum sprachfähigen Elektronikgerät über eine oder mehrere der Netzschnittstellen eine Ausgabe zu senden, die auf dem Reaktionsinhalt basiert, wobei die Ausgabe auf die Spracheingabe reagiert; über eine oder mehrere der Netzschnittstellen eine zusätzliche Spracheingabe vom sprachfähigen Elektronikgerät zu empfangen, wobei die zusätzliche Spracheingabe auf die Ausgabe reagiert; und den vom Agenten der dritten Partei empfangenen Inhalt zu verwenden, um eine zusätzliche Sprache-zu-Text-Umwandlung durchzuführen, um die zusätzliche Spracheingabe in zusätzlichen Text umzuwandeln.
  19. System nach Anspruch 18, wobei der vom Agenten der dritten Partei empfangene Inhalt weiterhin einen oder mehrere Kontextparameter enthält, die zusätzlich zum Reaktionsinhalt sind und die ein oder mehrere potentielle Merkmale einer weiteren Spracheingabe anzeigen, um in Reaktion auf den Reaktionsinhalt geliefert zu werden, und wobei die Anweisungen, den Inhalt zu verwenden, um die zusätzliche Sprache-zu-Text-Umwandlung durchzuführen, Anweisungen enthalten, um: die Kontextparameter zu verwenden, um die zusätzliche Sprache-zu-Text-Umwandlung durchzuführen.
DE202017105865.4U 2016-12-07 2017-09-26 Umwandlung von Sprache in Text basierend auf Agenteninhalt Dritter Active DE202017105865U1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/372,188 2016-12-07
US15/372,188 US10600418B2 (en) 2016-12-07 2016-12-07 Voice to text conversion based on third-party agent content

Publications (1)

Publication Number Publication Date
DE202017105865U1 true DE202017105865U1 (de) 2017-12-11

Family

ID=60009733

Family Applications (1)

Application Number Title Priority Date Filing Date
DE202017105865.4U Active DE202017105865U1 (de) 2016-12-07 2017-09-26 Umwandlung von Sprache in Text basierend auf Agenteninhalt Dritter

Country Status (6)

Country Link
US (5) US10600418B2 (de)
EP (3) EP4332959A3 (de)
CN (2) CN117059097A (de)
DE (1) DE202017105865U1 (de)
GB (1) GB2557400B (de)
WO (1) WO2018106309A1 (de)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10049670B2 (en) * 2016-06-06 2018-08-14 Google Llc Providing voice action discoverability example for trigger term
US10600418B2 (en) 2016-12-07 2020-03-24 Google Llc Voice to text conversion based on third-party agent content
CN110390948B (zh) * 2019-07-24 2022-04-19 厦门快商通科技股份有限公司 一种快速语音识别的方法及系统
EP3800632A1 (de) * 2019-10-01 2021-04-07 Rovi Guides, Inc. Verfahren und vorrichtung zur erzeugung von hinweiswörtern zur automatischen spracherkennung
US11527234B2 (en) 2019-10-01 2022-12-13 Rovi Guides, Inc. Method and apparatus for generating hint words for automated speech recognition
KR20220062360A (ko) 2019-11-27 2022-05-16 구글 엘엘씨 동적으로 업데이트되는 자연어 처리를 통한 애플리케이션과의 인터페이스
US11574634B2 (en) 2019-11-27 2023-02-07 Google Llc Interfacing with applications via dynamically updating natural language processing
US11682399B2 (en) * 2020-07-14 2023-06-20 Dell Products L.P. Dynamic redfish query URI binding from context oriented interaction
US11532313B2 (en) * 2020-08-27 2022-12-20 Google Llc Selectively storing, with multiple user accounts and/or to a shared assistant device: speech recognition biasing, NLU biasing, and/or other data
US11935519B2 (en) * 2020-10-15 2024-03-19 Google Llc Preserving speech hypotheses across computing devices and/or dialog sessions

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6144989A (en) * 1998-06-15 2000-11-07 Dejima, Inc. Adaptive agent-oriented software architecture
US8239197B2 (en) * 2002-03-28 2012-08-07 Intellisist, Inc. Efficient conversion of voice messages into text
US7542907B2 (en) * 2003-12-19 2009-06-02 International Business Machines Corporation Biasing a speech recognizer based on prompt context
US20070016401A1 (en) 2004-08-12 2007-01-18 Farzad Ehsani Speech-to-speech translation system with user-modifiable paraphrasing grammars
US7640160B2 (en) * 2005-08-05 2009-12-29 Voicebox Technologies, Inc. Systems and methods for responding to natural language speech utterance
US8265933B2 (en) * 2005-12-22 2012-09-11 Nuance Communications, Inc. Speech recognition system for providing voice recognition services using a conversational language model
US7996228B2 (en) * 2005-12-22 2011-08-09 Microsoft Corporation Voice initiated network operations
US20100076843A1 (en) * 2006-02-28 2010-03-25 Speaksoft, Inc. Live-agent-enabled teis systems
US8204738B2 (en) * 2006-11-03 2012-06-19 Nuance Communications, Inc. Removing bias from features containing overlapping embedded grammars in a natural language understanding system
US8589161B2 (en) * 2008-05-27 2013-11-19 Voicebox Technologies, Inc. System and method for an integrated, multi-modal, multi-device natural language voice services environment
US9858925B2 (en) * 2009-06-05 2018-01-02 Apple Inc. Using context information to facilitate processing of commands in a virtual assistant
US10241752B2 (en) 2011-09-30 2019-03-26 Apple Inc. Interface for a virtual digital assistant
US9159322B2 (en) * 2011-10-18 2015-10-13 GM Global Technology Operations LLC Services identification and initiation for a speech-based interface to a mobile device
EP2839391A4 (de) * 2012-04-20 2016-01-27 Maluuba Inc Konversationsagent
US20140035823A1 (en) * 2012-08-01 2014-02-06 Apple Inc. Dynamic Context-Based Language Determination
CA2823835C (en) * 2012-08-15 2018-04-24 Homer Tlc, Inc. Voice search and response based on relevancy
US9070366B1 (en) * 2012-12-19 2015-06-30 Amazon Technologies, Inc. Architecture for multi-domain utterance processing
US8977555B2 (en) * 2012-12-20 2015-03-10 Amazon Technologies, Inc. Identification of utterance subjects
US9558743B2 (en) * 2013-03-15 2017-01-31 Google Inc. Integration of semantic context information
US20150073790A1 (en) * 2013-09-09 2015-03-12 Advanced Simulation Technology, inc. ("ASTi") Auto transcription of voice networks
US8862467B1 (en) 2013-12-11 2014-10-14 Google Inc. Contextual speech recognition
US10726831B2 (en) 2014-05-20 2020-07-28 Amazon Technologies, Inc. Context interpretation in natural language processing using previous dialog acts
US20150370787A1 (en) 2014-06-18 2015-12-24 Microsoft Corporation Session Context Modeling For Conversational Understanding Systems
US9502032B2 (en) * 2014-10-08 2016-11-22 Google Inc. Dynamically biasing language models
US9865280B2 (en) * 2015-03-06 2018-01-09 Apple Inc. Structured dictation using intelligent automated assistants
US9966073B2 (en) 2015-05-27 2018-05-08 Google Llc Context-sensitive dynamic update of voice to text model in a voice-enabled electronic device
US10600418B2 (en) 2016-12-07 2020-03-24 Google Llc Voice to text conversion based on third-party agent content

Also Published As

Publication number Publication date
CN117059097A (zh) 2023-11-14
EP3926625A1 (de) 2021-12-22
EP3926625B1 (de) 2024-03-06
US20210020180A1 (en) 2021-01-21
EP4332959A3 (de) 2024-05-15
EP3545520B1 (de) 2021-09-08
US20200184974A1 (en) 2020-06-11
US11626115B2 (en) 2023-04-11
CN110050303B (zh) 2023-08-22
EP3545520A1 (de) 2019-10-02
US11922945B2 (en) 2024-03-05
US20220148596A1 (en) 2022-05-12
US11232797B2 (en) 2022-01-25
US10943591B2 (en) 2021-03-09
US10600418B2 (en) 2020-03-24
WO2018106309A1 (en) 2018-06-14
GB2557400B (en) 2020-02-26
GB201715619D0 (en) 2017-11-08
EP4332959A2 (de) 2024-03-06
GB2557400A9 (en) 2018-09-12
CN110050303A (zh) 2019-07-23
GB2557400A (en) 2018-06-20
US20190122657A1 (en) 2019-04-25
US20230260517A1 (en) 2023-08-17

Similar Documents

Publication Publication Date Title
DE202017105865U1 (de) Umwandlung von Sprache in Text basierend auf Agenteninhalt Dritter
US11887595B2 (en) User-programmable automated assistant
DE202017105915U1 (de) Erzeugen und Senden einer Aufrufanfrage zu einem geeigneten Agenten einer dritten Partei
JP7443407B2 (ja) 会議能力を有する自動アシスタント
CN110622126B (zh) 通过自动化助理来提供对用户控制资源的访问
JP7263376B2 (ja) 自動化されたアシスタントによる以前の対話コンテキスト間の遷移
DE102017122357B4 (de) Kontextbezogener mensch-computer-dialog
DE112016000986T5 (de) Bereitstellung vorgeschlagener sprachgestützter Aktionsanfragen
DE202017105852U1 (de) Aufgaben-Initiierung unter Verwendung von langen Sprachbefehlen
DE202017105844U1 (de) Bereitstellen einer Eingabeaufforderung in einer automatisierten Dialogsitzung basierend auf ausgewähltem Inhalt von vorherigen automatisierten Dialogsitzungen
DE102017122358A1 (de) Bedingte Bereitstellung von Zugriff durch interaktive Assistentenmodul
DE202017106514U1 (de) Proaktive Aufnahme von nicht angefordertem Inhalt in Mensch-Computer-Dialoge
DE202016008238U1 (de) Nichtdeterministische Aufgabeninitiierung durch ein persönliches Assistenzmodul
DE102017119601A1 (de) Verwenden einer Anwendereingabe, um Suchergebnisse, die für die Darstellung für den Anwender bereitgestellt werden, anzupassen
CN115373566A (zh) 确定包括在电子通信中的图形元素
DE112016004863T5 (de) Parametersammlung und automatische Dialogerzeugung in Dialogsystemen
DE112015003521T5 (de) Konversationsagenten
DE102016125594A1 (de) Automatisch augmentierende Nachrichtenaustauschthread basierend auf der Nachrichtenklassifizierung
DE102016125823B4 (de) Unterstützung bei der semantischen offline-bearbeitung durch ein gerät mit begrenzten möglichkeiten
DE102017122547A1 (de) Autonomes liefern von suchergebnissen rückwirkend; auch im kontext eines dialogassistenten
CN109643246A (zh) 经由用户的计算设备的用户界面设备自动发起和适配与用户的对话
DE102016125513A1 (de) Erweitern von Nachrichtenaustausch-Threads
DE102020128250A1 (de) Fahrzeugbasierte gebärdensprachkommunikationssysteme und -verfahren
CN118132027A (zh) 通过自动化助理来提供对用户控制资源的访问

Legal Events

Date Code Title Description
R207 Utility model specification
R081 Change of applicant/patentee

Owner name: GOOGLE LLC (N.D.GES.D. STAATES DELAWARE), MOUN, US

Free format text: FORMER OWNER: GOOGLE INC., MOUNTAIN VIEW, CALIF., US

R082 Change of representative

Representative=s name: BETTEN & RESCH PATENT- UND RECHTSANWAELTE PART, DE

R150 Utility model maintained after payment of first maintenance fee after three years
R151 Utility model maintained after payment of second maintenance fee after six years