DE112022000504T5 - Interaktive Inhaltsausgabe - Google Patents

Interaktive Inhaltsausgabe Download PDF

Info

Publication number
DE112022000504T5
DE112022000504T5 DE112022000504.1T DE112022000504T DE112022000504T5 DE 112022000504 T5 DE112022000504 T5 DE 112022000504T5 DE 112022000504 T DE112022000504 T DE 112022000504T DE 112022000504 T5 DE112022000504 T5 DE 112022000504T5
Authority
DE
Germany
Prior art keywords
data
output
content
component
user
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE112022000504.1T
Other languages
English (en)
Inventor
Mark Conrad Kockerbeck
Srikanth Nori
Jilani Zeribi
Ryan Summers
Volkan Aginlar
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.)
Amazon Technologies Inc
Original Assignee
Amazon Technologies Inc
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 Amazon Technologies Inc filed Critical Amazon Technologies Inc
Publication of DE112022000504T5 publication Critical patent/DE112022000504T5/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; 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
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/16Sound input; Sound output
    • G06F3/167Audio in a user interface, e.g. using voice commands for navigating, audio feedback
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L13/00Speech synthesis; Text to speech systems
    • G10L13/08Text analysis or generation of parameters for speech synthesis out of text, e.g. grapheme to phoneme translation, prosody generation or stress or intonation determination
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; 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

Abstract

Es werden Techniken zum Ausgeben von interaktivem Inhalt und zum Verarbeiten von Interaktionen mit Bezug auf den interaktiven Inhalt beschrieben. Während des Ausgebens des angefragten Inhalts kann ein System kann bestimmen, dass interaktiver Inhalt ausgegeben werden soll. Das System kann Ausgabedaten bestimmen, die einen ersten Abschnitt, der angibt, dass der interaktive Inhalt ausgegeben wird, und einen zweiten Abschnitt, der Inhalt darstellt, der einem Element entspricht, umfassen. Das System kann die Ausgabedaten an die Vorrichtung senden. Ein Benutzer kann mit den Ausgabedaten interagieren, beispielsweise indem er eine Aktion bezüglich des Elements anfragt.

Description

  • KREUZVERWEIS AUF VERWANDTE ANMELDUNGSDATEN
  • Die vorliegende Anmeldung beansprucht die Priorität der US-Patentanmeldung Nr. 17/356,877 , eingereicht am 24. Juni 2021, unter dem Titel „INTERACTIVE CONTENT OUTPUT“, im Namen von Mark Conrad Kockerbeck, et al. Die obige Anmeldung wird hiermit zur Bezugnahme vollständig übernommen.
  • HINTERGRUND
  • Systeme zur Verarbeitung natürlicher Sprache sind so weit fortgeschritten, dass Menschen mit Computervorrichtungen unter Verwendung ihrer Stimme interagieren und diese steuern können. Diese Systeme verwenden Techniken, um die Wörter, die von einem Benutzer ausgesprochen werden, basierend auf diversen Qualitäten der empfangenen Eingabedaten zu identifizieren. Die Spracherkennung kombiniert mit Verarbeitungstechniken zum Verstehen natürlicher Sprache ermöglichen eine sprachbasierte Benutzersteuerung von Computervorrichtungen, um Aufgaben basierend auf gesprochenen Eingaben auszuführen. Die Spracherkennung und Verarbeitungstechniken zum Verstehen natürlicher Sprache werden manchmal insgesamt oder getrennt als Verarbeitung zum Verstehen gesprochener Sprache (SLU) bezeichnet. Die SLU-Verarbeitung kann von Computern, handgehaltenen Vorrichtungen, Telefoncomputersystemen, Kiosken und vielen verschiedenen anderen Vorrichtungen verwendet werden, um Mensch-Computer-Interaktionen zu verbessern.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • Zum besseren Verständnis der vorliegenden Offenbarung wird nun auf die folgende Beschreibung Bezug genommen, die in Verbindung mit den beiliegenden Zeichnungen zu sehen ist. Es zeigen:
    • 1 ein konzeptuelles Diagramm, das eine beispielhafte Konfiguration eines Systems zum Ausgeben von interaktivem Inhalt abbildet, gemäß den Ausführungsformen der vorliegenden Offenbarung.
    • 2 ein konzeptuelles Diagramm, das Komponenten abbildet, die zu einer Vorrichtung gehören können, gemäß den Ausführungsformen der vorliegenden Offenbarung.
    • 3 ein konzeptuelles Diagramm, das beispielhafte Komponenten einer interaktiven Inhaltskomponente abbildet, gemäß den Ausführungsformen der vorliegenden Offenbarung.
    • 4 beispielhafte Daten, die in einer interaktiven Inhaltsspeichervorrichtung gespeichert werden können, gemäß den Ausführungsformen der vorliegenden Offenbarung.
    • 5 ein konzeptuelles Diagramm, das abbildet, wie eine Ausgabegenerierungskomponente Ausgabedaten bestimmen kann, die dem interaktiven Inhalt entsprechen, gemäß den Ausführungsformen der vorliegenden Offenbarung.
    • 6 ein konzeptuelles Diagramm, das abbildet, wie eine Nach-NLU-Einstufungsvorrichtung arbeiten kann, gemäß den Ausführungsformen der vorliegenden Offenbarung.
    • 7A ein konzeptuelles Diagramm von Text-zu-Sprache-Komponenten, gemäß den Ausführungsformen der vorliegenden Offenbarung.
    • 7B ein konzeptuelles Diagramm eines Sprachmodells gemäß den Ausführungsformen der vorliegenden Offenbarung.
    • 8 ein Blockdiagramm, das konzeptuell beispielhafte Komponenten einer Vorrichtung abbildet, gemäß den Ausführungsformen der vorliegenden Offenbarung.
    • 9 ein Blockdiagramm, das konzeptuell beispielhafte Komponenten eines Systems abbildet, gemäß den Ausführungsformen der vorliegenden Offenbarung.
    • 10 ein Beispiel eines Computernetzwerks zur Verwendung mit dem Gesamtsystem, gemäß den Ausführungsformen der vorliegenden Offenbarung.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Die automatische Spracherkennung (ASR) ist ein Gebiet der Computerwissenschaft, der künstlichen Intelligenz und der Linguistik, bei dem es darum geht, Audiodaten, die mit Sprache verknüpft sind, in Text umzuwandeln, der diese Sprache darstellt. Ähnlich ist das Verstehen natürlicher Sprache (NLU) ein Gebiet der Computerwissenschaft, der künstlichen Intelligenz und der Linguistik, bei dem es darum geht, es Computern zu ermöglichen, aus einer Texteingabe, die natürliche Sprache enthält, Sinn zu machen. Die ASR und NLU werden oft zusammen als Teil eines Sprachverarbeitungssystems verwendet. Text-zu-Sprache (TTA) ist ein Gebiet, bei dem es darum geht, Textdaten in Audiodaten umzuwandeln, die synthetisiert werden, um menschlicher Sprache zu ähneln.
  • Gewisse Systeme können dazu konfiguriert sein, Aktionen als Reaktion auf Benutzereingaben in natürlicher Sprache (z. B. Äußerungen) vorzunehmen. Beispielsweise kann ein System für die Benutzereingabe „Alexa, spiel Musik von [Interpret]“ Musik ausgeben, die von dem angegebenen Interpreten gesungen wird. Als ein weiteres Beispiel kann ein System für die Benutzereingabe „Alexa, wie ist das Wetter in [Stadt]“ synthetische Sprache ausgeben, die Wetterinformationen für die angegebene Stadt darstellt. Bei einem weiteren Beispiel kann ein System für die Benutzereingabe „Alexa, spiele [Film] ab“ den angegebenen Film an der Vorrichtung, welche die Benutzereingabe aufgenommen hat, oder an einer anderen Vorrichtung, die dem Benutzer zugeordnet ist, abspielen.
  • Beim Ausgeben von Inhalt (wie etwa Musik, Nachrichten, Radioprogrammen, Podcasts usw.) kann der Inhaltsanbieter oder das System, der bzw. das den Inhalt ausgibt, eine Möglichkeit einbeziehen, einen gewissen anderen Inhalt auszugeben, wie etwa Werbung, einen Gutschein, Informationen für ein käufliches Element usw. Ein derartiger Inhalt kann sich beispielsweise auf ein Produkt, eine Dienstleistung oder andersartige Elemente beziehen. Die vorliegende Offenbarung betrifft ein System, das ein anfängliches Einsatzzeichen vor der Ausgabe des Inhalts ausgibt, wobei das anfängliche Einsatzzeichen dem Benutzer angibt, dass der kommende Inhalt interaktiv ist. Zudem gibt das System auch eine oder mehrere Möglichkeiten aus, wie der Benutzer mit dem Inhalt interagieren kann (z. B. welche Aktionen der Benutzer vornehmen kann, wie der Benutzer das Ausführen der Aktion anfragen kann, usw.). Ein derartiger Inhalt kann hier als Inhalt bezeichnet werden, der einem oder mehreren Elementen entspricht. Es kann sein, dass ein derartiger Inhalt, der einem oder mehreren Elementen entspricht (z. B. Werbespots, Gutscheinen oder anderen Informationen) nicht auf eine Benutzereingabe reagiert.
  • Das System der vorliegenden Offenbarung stellt Techniken zum Ausgeben von Inhalt bereit, der Elementen entspricht und es dem Benutzer ermöglicht, mit diesem Inhalt zu interagieren. Aus Sicht eines Benutzererlebnisses kann der interaktive Inhalt dem Benutzer als Teil eines ansonsten nicht interaktiven Erlebnisses präsentiert werden (z. B. der Ausgabe eines Lieds, der Ausgabe eines Podcasts, dem Abspielen eines Radiosenders usw.). Bei einigen Ausführungsformen kann der interaktive Inhalt einen anfänglichen Einsatzzeichenabschnitt umfassen, der den Benutzer darüber informiert, dass der Inhalt (z. B. Werbung), der darauf folgt, interaktiv ist. Dann kann der Inhalt, der dem oder den Elementen entspricht, dem Benutzer präsentiert werden, und darauf kann folgen, wie sich der Benutzer weiter mit dem System bezüglich des Inhalts beschäftigen kann. Das System der vorliegenden Offenbarung kann interaktiven Inhalt zur Ausgabe bestimmen, der die vorstehenden Abschnitte umfasst. Zum Beispiel kann der interaktive Inhalt, der dem Benutzer präsentiert wird, den Einleitungsabschnitt umfassen: „Mit der folgenden Werbung kannst du noch mehr machen, hör zu, wie es geht.“, gefolgt von einem Audioclip einer Werbung für ein Produkt, und dann einer Aufforderung, die angibt, welche Aktion der Benutzer ausführen kann, wie etwa „Um das [Produkt] in deinen Warenkorb zu legen, sag einfach 'Alexa, in den Warenkorb'“. Somit gibt das System interaktiven Inhalt aus, der es dem Benutzer ermöglicht, sich weiter mit dem System bezüglich des interaktiven Inhalts unter Verwendung einer recht einfachen Benutzereingabe zu beschäftigen.
  • Aus Sicht der Systemverarbeitung stellt das System der vorliegenden Offenbarung Techniken zum Bestimmen des interaktiven Inhalts und zum Verarbeiten von Benutzereingaben bezüglich des interaktiven Inhalts bereit. Das System verwendet Kontextdaten, um zu bestimmen, dass eine Benutzereingabe den interaktiven Inhalt betrifft, und leitet die Benutzereingabe zur Verarbeitung an eine interaktive Inhaltskomponente, die wiederum eine andere Verarbeitungskomponente aufrufen kann, um eine beliebige Aktion auszuführen, die von dem Benutzer mit Bezug auf den interaktiven Inhalt angefragt wird. Das System ist auch dazu konfiguriert, die Kontrolle an das anfängliche System (z. B. eine Funktion), das den Inhalt ausgegeben hat (der vom Benutzer angefragt wurde), als der interaktive Inhalt ausgegeben wurde, zurückzugeben, so dass es die Ausgabe des angefragten Inhalts wiederaufnehmen kann. Falls zum Beispiel eine Musikfunktion dabei war, ein Lied für den Benutzer auszugeben, als der interaktive Inhalt ausgegeben wurde, kann das System (nachdem der interaktive Inhalt ausgegeben wurde oder nachdem der Benutzer die weitere Beschäftigung mit dem System bezüglich des interaktiven Inhalts beendet hat) die Kontrolle an die Musikfunktion zurückgeben, was dazu führt, dass die Musikfunktion die Ausgabe des Lieds wiederaufnimmt.
  • Die Lehren der vorliegenden Offenbarung können dazu konfiguriert sein, Benutzererlaubnisse einzubeziehen, und können nur ausgeführt werden, wenn sie von einem Benutzer genehmigt werden. Somit wären die hier beschriebenen Systeme, Vorrichtungen, Komponenten und Techniken typischerweise dazu konfiguriert, die Verarbeitung gegebenenfalls einzuschränken und Benutzerdaten nur so zu verarbeiten, dass die Einhaltung aller geeigneten Gesetze, Vorschriften, Normen und dergleichen sichergestellt ist. Die Lehren der vorliegenden Offenbarung können auf geographischer Basis umgesetzt werden, um die Einhaltung von Gesetzen in diversen Gerichtsbarkeiten und Entitäten, in denen sich die Computerkomponenten und/oder der Benutzer befinden, sichergestellt ist.
  • 1 zeigt ein System 100, das dazu konfiguriert ist, interaktiven Inhalt auszugeben und Benutzereingaben zu verarbeiten, die bezüglich des interaktiven Inhalts empfangen werden, gemäß den Ausführungsbeispielen. Wie in 1 gezeigt, kann das System 100 eine Vorrichtung 110, die für einen Benutzer 105 lokal ist, und ein System 120, das über ein oder mehrere Netzwerke 199 verbunden ist, umfassen. Das Netzwerk 199 kann das Internet und/oder ein beliebiges anderes Großraum- oder lokales Netzwerk umfassen, und kann drahtgebundene, drahtlose und/oder Mobilfunk-Netzwerk-Hardware umfassen. Obwohl die Figuren und die Diskussion der vorliegenden Offenbarung gewisse Schritte in einer bestimmten Reihenfolge abbilden, können die beschriebenen Schritte in einer anderen Reihenfolge ausgeführt werden (und gewisse Schritte können auch entfernt oder hinzugefügt werden), ohne die vorliegende Offenbarung zu verlassen.
  • Das System 120 kann ein Sprachverarbeitungssystem sein, das dazu konfiguriert ist, gesprochene Eingaben in natürlicher Sprache (z. B. Äußerungen) unter Verwendung einer ASR- und NLU-Verarbeitung zu verarbeiten. Das System 120 kann mehrere Komponenten umfassen, um die Sprachverarbeitung zu ermöglichen, wie etwa eine Orchestratorkomponente 130, eine ASR-Komponente 150, eine NLU-Komponente 160, eine Nach-NLU-Einstufungskomponente und eine oder mehrere Funktionskomponenten 190. Das System 120 kann auch eine interaktive Inhaltskomponente 192 und eine interaktive Inhaltspeichervorrichtung 193 zum Ausgeben von interaktivem Inhalt und zum Verarbeiten von Benutzereingaben bezüglich des interaktiven Inhalts umfassen. Bei einigen Ausführungsformen kann die interaktive Inhaltspeichervorrichtung 193 Teil der interaktiven Inhaltskomponente 192 sein (wie in 3 gezeigt). Das System 120 kann auch eine Profilspeichervorrichtung 170, eine TTS-Komponente 180 und eine Benutzererkennungskomponente 195 umfassen, um das Verarbeiten von Eingaben von dem Benutzer 105 und das Generieren von Ausgaben zu ermöglichen.
  • Die interaktive Inhaltskomponente 192 kann dazu konfiguriert sein, Inhalt für ein oder mehrere Elemente (z. B. Werbung für ein Produkt oder eine Dienstleistung, Informationen für ein Produkt oder eine Dienstleistung, einen Gutschein für ein Produkt oder eine Dienstleistung usw.) auszugeben, während die Vorrichtung 110 dabei ist, Inhalt auszugeben (z. B. Musik oder einen Film abzuspielen, ein Rezept anzuzeigen, Nachrichten auszugeben, usw.) oder eine andersartige Aktion auszuführen, die vom Benutzer 105 angefragt wurde. Die Ausgabe des interaktiven Inhalts kann eine oder mehrere Aktionen umfassen, die der Benutzer 105 bei dem System 120 zur Ausführung bezüglich des oder der Elemente, die in dem ausgegebenen interaktiven Inhalt enthalten sind, anfragen kann. Wie es hier beschrieben wird, kann das System 120 dazu konfiguriert sein zu bestimmen, dass eine empfangene Benutzereingabe nach der Ausgabe des interaktiven Inhalts dem interaktiven Inhalt entspricht, und entsprechend Daten bezüglich der Benutzereingabe zur Verarbeitung an die interaktive Inhaltskomponente 192 senden. Die interaktive Inhaltskomponente 192 kann eine oder mehrere Funktionskomponenten 190 aufrufen, um die eine oder die mehreren Aktionen, die vom Benutzer 105 angefragt wurden, mit Bezug auf das oder die Elemente, die in dem ausgegebenen Inhalt enthalten sind, auszuführen. Bei einigen Ausführungsformen wird die interaktive Inhaltskomponente 192 als Funktionskomponente umgesetzt, und somit kann die Nach-NLU-Einstufungskomponente 165 die interaktive Inhaltskomponente 192 als eine Funktionskomponente ansehen, die möglicherweise auf eine Benutzereingabe antworten kann.
  • Mit Bezug auf 1 kann der Benutzer 105 eine (erste) Eingabe für die Vorrichtung 110 bereitstellen. Beispielsweise kann der Benutzer die erste Eingabe aussprechen, welche die Vorrichtung 110 als Audiomaterial 107 aufnimmt. Zum Beispiel kann der Benutzer 105 die Ausgabe von Musik anfragen, indem er sagt „Alexa, spiel Musik“. Bei anderen Beispielen kann der Benutzer 105 eine andersartige Eingabe bereitstellen (z. B. die Auswahl einer Taste, die Auswahl von angezeigten graphischen Schnittstellenelementen, kann eine Geste ausführen usw.). Die Vorrichtung 110 kann Eingabedaten (oder etwa Audiodaten, Bilddaten, Textdaten usw.), die der ersten Benutzereingabe entsprechen, zur Verarbeitung an das System 120 senden (Schritt 1). Insbesondere kann die Orchestratorkomponente 130 die Eingabedaten von der Vorrichtung 110 empfangen. Für den Fall, dass die Eingabedaten Audiodaten sind, kann die Orchestratorkomponente 130 die Audiodaten an die ASR-Komponente 150 senden (Schritt 2), und die ASR-Komponente 150 kann die Audiodaten verarbeiten, um ASR-Daten (z. B. Symboldaten, Textdaten, eine oder mehrere ASR-Hypothesen, die Symbol- oder Textdaten und entsprechende Konfidenzpunktezahlen usw. umfassen) zu bestimmen, die den Worten entsprechen, die von dem Benutzer 105 ausgesprochen werden. Einzelheiten darüber, wie die ASR-Komponente 150 die Audiodaten verarbeiten kann, werden nachstehend beschrieben. Die ASR-Komponente kann die ASR-Daten an die Orchestratorkomponente 130 senden (Schritt 3).
  • Die Orchestratorkomponente 130 kann die ASR-Daten an die NLU-Komponente 160 senden (Schritt 4), und die NLU-Komponente 160 kann die ASR-Daten verarbeiten, um NLU-Daten (z. B. Absichtsdaten, Entitätsdaten, eine oder mehrere NLU-Hypothesen, die jeweils eine Absicht und eine oder mehrere Entitäten umfassen) und eine entsprechende Konfidenzpunktezahl usw.) zu bestimmen, die der ersten Benutzereingabe entsprechen. Einzelheiten darüber, wie die NLU-Komponente 160 die ASR-Daten verarbeiten kann, werden nachstehend beschrieben. Die NLU-Komponente 160 kann die NLU-Daten an die Orchestratorkomponente 130 senden (Schritt 5).
  • Die Orchestratorkomponente 130 kann die NLU-Daten an die Nach-NLU-Einstufungskomponente 165 senden (Schritt 6), die dazu konfiguriert sein kann, zu bestimmen, welche Funktionskomponente in der Lage ist, auf die erste Benutzereingabe zu antworten, basierend darauf, welche Funktionskomponente in der Lage ist, die Absichtsdaten und die Entitätsdaten, die in den NLU-Daten enthalten sind, zu verarbeiten. Zum Beispiel kann für die Benutzereingabe „Alexa, spiel Musik“ die Nach-NLU-Einstufungskomponente 165 bestimmen, dass eine Musikfunktion in der Lage ist, auf die erste Benutzereingabe zu antworten. Einzelheiten darüber, wie die Nach-NLU-Einstufungskomponente 165 die NLU-Daten verarbeiten und eine auszuführende Funktionskomponente bestimmen kann, werden nachstehend mit Bezug auf 6 beschrieben. Die Nach-NLU-Einstufungskomponente 165 kann an die Orchestratorkomponente 130 eine Funktionskennung senden (Schritt 7), welche die Funktionskomponente 190a identifiziert, die zu verwenden ist, um auf die erste Benutzereingabe zu antworten.
  • Basierend auf dem Empfangen der Funktionskennung von der Nach-NLU-Einstufungskomponente 165 kann die Orchestratorkomponente 130 die Funktionskomponente 190a, die mit der Funktionskennung verknüpft ist, aufrufen (Schritt 8). Beim Aufrufen der Funktionskomponente 190a kann die Orchestratorkomponente 130 einen Befehl an die Funktionskomponente 190a senden, eine Aktion auszuführen, die einer NLU-Hypothese entspricht (die in den NLU-Daten enthalten ist), die der Funktionskomponente 190a zugeordnet ist. Die Orchestratorkomponente 130 kann auch an die Funktionskomponente 190a Daten senden, die der ersten Benutzereingabe entsprechen, wie etwa die ASR-Daten, die der ersten Benutzereingabe entsprechen, die NLU-Daten, die der ersten Benutzereingabe entsprechen, Informationen, die der Vorrichtung 110 entsprechen (z. B. Vorrichtungsart, Vorrichtungsstandort, Vorrichtungskapazitäten usw.), die Zeit, zu der die erste Benutzereingabe von dem System 120 empfangen wird, Benutzerprofildaten (aus der Profilspeichervorrichtung 170), die dem Benutzer 105 zugeordnet sind, und/oder andere Daten. Bei einigen Ausführungsformen kann die Orchestratorkomponente 130 die Daten, die der ersten Benutzereingabe entsprechen, als Reaktion darauf senden, dass die Funktionskomponente 190a diese Daten anfragt.
  • Die Funktionskomponente 190a kann die NLU-Hypothese und andere Daten, die der ersten Benutzereingabe entsprechen, verarbeiten, und kann Ausgabedaten als Reaktion auf die erste Benutzereingabe bestimmen. Zum Beispiel können für die Benutzereingabe „Alexa, spiel Musik“ die Ausgabedaten, die von der Funktionskomponente 190a (die eine Musikfunktionskomponente sein kann) bestimmt werden, Audiodaten sein, die Musik entsprechen. Die Funktionskomponente 190a kann die Ausgabedaten an die Orchestratorkomponente 130 zur Ausgabe als Reaktion auf die erste Benutzereingabe senden (Schritt 9), und die Orchestratorkomponente 130 kann die Ausgabedaten an die Vorrichtung 110 senden (Schritt 10), die dazu konfiguriert ist, Inhalt auszugeben, der den Ausgabedaten entspricht (z. B. Audiomaterial von Musik, die Ausgabeaudiodaten entspricht).
  • Die Funktionskomponente 190a kann bestimmen, dass Inhalt, der einem oder mehreren Elementen entspricht (z. B. Werbung für ein oder mehrere Elemente oder Informationen für ein oder mehrere Elemente), ausgegeben werden soll, während die Vorrichtung 110 den Inhalt, der den Ausgabedaten entspricht, als Reaktion auf die erste Benutzereingabe ausgibt. Ein derartiger Inhalt kann von einem anderen System bereitgestellt werden, und kann ohne Bezug zu den Ausgabedaten als Reaktion auf die erste Benutzereingabe sein. Zum Beispiel kann der Inhalt mit den Ausgabedaten als Reaktion auf die erste Benutzereingabe, die einer ersten Entität entsprechen kann, zusammenhängen, und der Inhalt, der dem Element entspricht, entspricht einer zweiten Entität. Bei einigen Ausführungsformen können die Ausgabedaten als Reaktion auf die erste Benutzereingabe eine Zeitmarke umfassen, die eine Zeit angeben kann, zu welcher der Inhalt, der einem oder mehreren Elementen entspricht, ausgegeben werden kann. Eine Zeitmarke kann beispielsweise eine Zeit angeben, die verstrichen ist, seit die Ausgabedaten begonnen haben (z. B. nach 5 Minuten). Als ein anderes Beispiel kann die Zeitmarke, falls die Ausgabedaten Musik sind, das Ende eines Titels, eines Lieds, eines Albums usw. sein. Als Reaktion auf das Bestimmen, dass der Inhalt, der einem oder mehreren Elementen entspricht, ausgegeben werden soll, kann die Funktionskomponente 190a eine Anfrage an die interaktive Inhaltskomponente 192 zur Ausgabe dieses Inhalts senden (Schritt 11). Während der Wiedergabe/Ausgabe der Ausgabedaten, wenn die Funktionskomponente 190a die Zeitmarke fast erreicht hat, kann die Funktionskomponente 190a die Anfrage an die interaktive Inhaltskomponente 192 senden.
  • Als Reaktion auf die Anfrage von der Funktionskomponente 190a kann die interaktive Inhaltskomponente 192 Inhalt aus der interaktiven Inhaltspeichervorrichtung 193 zur Ausgabe abrufen (Schritt 12). Der Inhalt, der aus der interaktiven Inhaltspeichervorrichtung 193 abgerufen wird, kann Audiodaten oder Videodaten sein, die Informationen für ein oder mehrere Elemente (z. B. Werbung für ein Produkt oder eine Dienstleistung) darstellen. Die interaktive Inhaltskomponente 192 kann auch eine oder mehrere Aktionen abrufen, die der Benutzer 105 mit Bezug auf das oder die Elemente, die in dem Inhalt dargestellt sind, ausführen kann.
  • Die interaktive Inhaltskomponente 192 kann interaktive Ausgabedaten unter Verwendung des Inhalts und der Aktion(en) bestimmen. Bei Ausführungsbeispielen kann die interaktive Inhaltskomponente 192 bestimmen, dass die Ausgabedaten drei Abschnitte umfassen, nämlich kann ein erster Abschnitt ein Einsatzzeichen oder eine Angabe für den Benutzer 105 sein, dass der ausgegebene Inhalt interaktiv ist, ein zweiter Abschnitt kann der Inhalt für das oder die Elemente sein; und ein dritter Abschnitt kann eine oder mehrere Aktionen umfassen, die der Benutzer 105 mit Bezug auf das Element ausführen kann. Eine beispielhafte interaktive Ausgabe 112 ist in 1 abgebildet, wobei der erste Abschnitt „Du kannst mit dem kommenden Inhalt interagieren. Hör weiter zu, wie es geht.“ lautet, wobei der zweite Abschnitt der Inhalt bezüglich des Elements ist, und der dritte Abschnitt einige Aktionsanweisungen für die Aktion bereitstellt, die mit Bezug auf das Element ausgeführt werden kann. Die Abschnitte der Ausgabedaten können Audiodaten sein, die synthetische Sprache darstellen, während andere Abschnitte der Ausgabedaten im Voraus aufgezeichnete Audiodaten oder im Voraus aufgezeichnete Videodaten sein können. Bei einem nicht einschränkenden Beispiel, falls der Inhalt Informationen für ein Produkt darstellt, und die Aktion, die der Benutzer 105 ausführen kann, darin besteht, das Produkt in einen elektronischen Warenkorb zu legen, dann kann die interaktive Inhaltskomponente 192 bestimmen, dass der erste Abschnitt der Ausgabedaten Audiodaten ist, welche die synthetische Sprache „Mit dem folgenden Inhalt kannst du noch mehr machen. Hör weiter zu, wie es geht.“ darstellen. Der zweite Abschnitt kann bei diesem Beispiel Videodaten sein, die Informationen für das Produkt zeigen, und der dritte Abschnitt kann Audiodaten sein, die der synthetischen Sprache „Falls du das Produkt in den Warenkorb legen möchtest, sag einfach ja.“ entsprechen. Einzelheiten darüber, wie die interaktive Inhaltskomponente 192 die Ausgabedaten bestimmen kann, werden nachstehend mit Bezug auf 5 beschrieben.
  • Die interaktive Inhaltskomponente 192 kann die Ausgabedaten an die Orchestratorkomponente 130 zur Ausgabe senden (Schritt 13), und die Orchestratorkomponente 130 kann die Ausgabedaten an die Vorrichtung 110 zur Ausgabe senden (Schritt 14). 1 zeigt die beispielhafte interaktive Ausgabe 112, die dem Benutzer 105 präsentiert werden kann. Als Teil des Sendens der Ausgabedaten an die Orchestratorkomponente 130 kann die interaktive Inhaltskomponente 192 auch andere Schritte ausführen, um die Verarbeitung beliebiger Benutzereingaben zu ermöglichen, die mit dem Inhalt interagieren, der dem oder den Elementen entspricht. Die Einzelheiten dieser Schritte werden nachstehend mit Bezug auf 3 beschrieben. Zum Beispiel kann die interaktive Inhaltskomponente 192 Kontextdaten generieren, die angeben, dass der interaktive Inhalt an der Vorrichtung 110 ausgegeben wird, und kann die Kontextdaten an die Nach-NLU-Einstufungskomponente 165 senden (oder anderweitig zur Verfügung stellen). Die interaktive Inhaltskomponente 192 kann zudem Fokusdaten speichern, die angeben, dass die Funktionskomponente 190a aktiv war (d. h. Ausgabedaten als Reaktion auf die erste Benutzereingabe ausgegeben hat). Unter Verwendung der Fokusdaten kann die interaktive Inhaltskomponente 192 eine Angabe/ einen Befehl an die Funktionskomponente 190a senden, ihre Sitzung wiederaufzunehmen, wie es nachstehend beschrieben wird, nachdem die Interaktion mit dem interaktiven Inhalt beendet ist.
  • In manchen Fällen kann der Benutzer 105 eine zweite Benutzereingabe bereitstellen, nachdem die Ausgabedaten von der interaktiven Inhaltskomponente 192 ausgegeben wurden. Die Vorrichtung 110 kann zweite Eingabedaten, die der zweiten Benutzereingabe entsprechen, an das System 120 senden (Schritt 15). Die zweite Benutzereingabe kann diverse Formen annehmen (z. B. eine Äußerung, die Auswahl einer Taste an der Vorrichtung 110, die Auswahl eines graphischen Schnittstellenelements, das an der Vorrichtung 110 angezeigt wird, das Ausführen einer Geste, usw.), und die Eingabedaten können eine entsprechende Form annehmen (z. B. Audiodaten, Bilddaten, Textdaten usw.).
  • Für den Fall, dass die zweite Benutzereingabe eine gesprochene Eingabe ist, kann die Orchestratorkomponente 130 die Audiodaten (eine Form von Eingabedaten), die der zweiten Benutzereingabe entsprechen, an die ASR-Komponente 150 senden (Schritt 16), und die ASR-Komponente 150 kann die Audiodaten (wie es nachstehend ausführlich beschrieben wird) verarbeiten, um ASR-Daten (z. B. Symboldaten, Textdaten, eine oder mehrere ASR-Hypothesen, die Symbol- oder Textdaten und entsprechende Konfidenzpunktezahlen umfassen, usw.) zu bestimmen, welche die Worte darstellen, die von dem Benutzer 105 ausgesprochen werden. Die ASR-Komponente 150 kann die ASR-Daten an die Orchestratorkomponente 130 senden (Schritt 17).
  • Die Orchestratorkomponente 130 kann die ASR-Daten an die NLU-Komponente 160 senden (Schritt 18), und die NLU-Komponente 160 kann die ASR-Daten (wie es nachstehend ausführlich beschrieben wird) verarbeiten, um NLU-Daten (z. B. Absichtsdaten, Entitätsdaten, eine oder mehrere NLU-Hypothesen, die jeweils eine Absicht und eine oder mehrere Entitäten und eine entsprechende Konfidenzpunktezahl usw. umfassen), die der zweiten Benutzereingabe entsprechen, zu bestimmen. Die NLU-Komponente 160 kann die NLU-Daten an die Orchestratorkomponente 130 senden (Schritt 19).
  • Die Orchestratorkomponente 130 kann die NLU-Daten an die Nach-NLU-Einstufungskomponente 165 senden (Schritt 20), um zu bestimmen, welche Funktionskomponente in der Lage ist, auf die zweite Benutzereingabe zu antworten. In diesem Fall kann die Nach-NLU-Einstufungskomponente 165 Kontextdaten (wie etwa die Kontextdaten, die von der interaktiven Inhaltskomponente 192 generiert werden) verwenden, um zu bestimmen, dass die Vorrichtung 110 kürzlich (z. B. innerhalb eines bestimmten Zeitraums) interaktiven Inhalt ausgegeben hat, der von der interaktiven Inhaltskomponente 192 bereitgestellt wurde. Basierend auf dieser Bestimmung kann die Nach-NLU-Einstufungskomponente 165 bestimmen, dass die interaktive Inhaltskomponente 192 in der Lage ist, auf die zweite Benutzereingabe zu antworten, und kann eine Kennung, welche die interaktive Inhaltskomponente 192 identifiziert, an die Orchestratorkomponente 130 senden (Schritt 21).
  • Basierend auf dem Empfangen der Kennung für die interaktive Inhaltskomponente 192 kann die Orchestratorkomponente 130 die interaktive Inhaltskomponente 192 aufrufen (Schritt 22), und kann auch die ASR-Daten und die NLU-Daten, die der zweiten Benutzereingabe entsprechen, an die interaktive Inhaltskomponente 192 senden. Unter Verwendung der ASR-Daten, der NLU-Daten und der Aktionsinformationen (die in Schritt 12 abgerufen wurden), kann die interaktive Inhaltskomponente 192 bestimmen, dass der Benutzer 105 eine Aktion mit Bezug auf das oder die Elemente ausführen möchte. Die interaktive Inhaltskomponente 192 kann bestimmen, dass eine Funktionskomponente 190b in der Lage sein kann, die Aktion mit Bezug auf das oder die Elemente auszuführen, und kann einen Befehl an die Funktionskomponente 190b senden (Schritt 23), um die Aktion auszuführen. Der Befehl kann eine Angabe der Aktion und eine Angabe des oder der Elemente umfassen. Zum Beispiel falls die Aktion darin besteht, das oder die Elemente für den Benutzer 105 in den elektronischen Warenkorb zu legen, und die zweite Benutzereingabe „Ja“ ist, dann kann die interaktive Inhaltskomponente 192 einen Befehl an die Funktionskomponente 190b (die eine Einkaufsfunktion sein kann) senden, das oder die Elemente für den Benutzer 105 in den elektronischen Warenkorb zu legen. Selbst wenn die zweite Benutzereingabe nur „Ja“ lautet und keine diversen Informationen umfasst, welche die Funktionskomponente 190b benötigt, um die Aktion auszuführen, umfasst die interaktive Inhaltskomponente 192 die betreffenden Informationen, wie etwa Entitätsdaten, die das oder die Elemente des Inhalts und Absichtsdaten, die der auszuführenden Aktion entsprechen, in dem Befehl an die Funktionskomponente 190b identifizieren. Die interaktive Inhaltskomponente 192 ermöglicht somit das Ausführen der Aktion mit Bezug auf das oder die Elemente, die in dem Inhalt dargestellt sind, ohne dass der Benutzer 105 eine Eingabe bereitstellen muss, die alle Informationen umfasst, die von der Funktionskomponente 190n benötigt werden, um die Aktion auszuführen. Das heißt beispielsweise kann der Benutzer 105 als zweite Benutzereingabe einfach „Ja“ sagen, statt „Lege das oder die Elemente in meinen Warenkorb.“ zu sagen.
  • Bei einigen Ausführungsformen kann die Funktionskomponente 190b Benutzerprofildaten verwenden, die dem Benutzer 105 in der Profilspeichervorrichtung 170 zugeordnet sind, um andere Informationen zu bestimmen, die benötigt werden, um die Aktion auszuführen (z. B. Identifizieren des elektronischen Warenkorbs für den Benutzer 105). Die Funktionskomponente 190b kann auch andere Daten, die benötigt werden, um die Aktion auszuführen, von der Orchestratorkomponente 130 oder der interaktiven Inhaltskomponente 192 anfragen. Bei alternativen Ausführungsformen kann die interaktive Inhaltskomponente 192 Daten speichern, die identifizieren, welche Datentypen von der Funktionskomponente 190b benötigt werden, um die Aktion auszuführen, kann diese Daten abrufen (z. B. aus der Profilspeichervorrichtung 170), und kann diese Daten zusammen mit dem Befehl, die Aktion mit Bezug auf das oder die Elemente auszuführen, an die Funktionskomponente 190b senden.
  • Die Funktionskomponente 190b kann eine Angabe, dass die angefragte Aktion beendet wurde, an die interaktive Inhaltskomponente 192 senden (Schritt 24). Bei einigen Ausführungsformen kann die Funktionskomponente 190b (oder die interaktive Inhaltskomponente 192 oder eine andere Komponente des Systems 120) über die Orchestratorkomponente 130 an die Vorrichtung 110 Ausgabedaten (z. B. Audiodaten, die synthetische Sprache und/oder Bilddaten zur Anzeige darstellen) senden, die angeben, dass die Aktion ausgeführt wurde (z. B. dass das Element für den Benutzer 105 in den elektronischen Warenkorb gelegt wurde). Bei anderen Ausführungsformen kann die Funktionskomponente 190b (oder die interaktive Inhaltskomponente 192 oder eine andere Komponente des Systems 120) eine Nachricht (z. B. eine E-Mail, eine SMS, eine Benachrichtigung usw.), die angibt, dass die Aktion ausgeführt wurde, an die Vorrichtung 110 oder an eine andere Vorrichtung 110 des Benutzers 105 senden.
  • Als Reaktion auf das Empfangen der Angabe (dass die Aktion beendet ist) von der Funktionskomponente 190b kann die interaktive Inhaltskomponente 192 eine Angabe an die Orchestratorkomponente 130 senden (Schritt 25), dass die Interaktion bezüglich des interaktiven Inhalts beendet ist, und dass die Funktionskomponente 190a ihre Sitzung wiederaufnehmen kann. Basierend auf dem Empfangen der Angabe kann die Orchestratorkomponente 130 einen Befehl an die Funktionskomponente 190a senden (Schritt 26), ihre Sitzung wiederaufzunehmen (z. B. weiter Musik auszugeben, wie etwa den nächsten Titel, das nächste Album usw.). Bei anderen Ausführungsformen kann die interaktive Inhaltskomponente 192 die Angabe (aus Schritt 25) direkt an die Funktionskomponente 190a senden, um der Funktionskomponente 190a zu signalisieren, ihre Sitzung wiederaufzunehmen (z. B. weiter Musik auszugeben, wie etwa den nächsten Titel, das nächste Album usw.).
  • Für den Fall, dass die zweite Benutzereingabe (in Schritt 15 empfangen) das Ausführen der Aktion nicht anfragt, das heißt, dass die zweite Benutzereingabe „Nein“ ist, dann kann die interaktive Inhaltskomponente 192 unter Verwendung der ASR-Daten und der NLU-Daten, die der zweiten Benutzereingabe entsprechen, die in Schritt 22 empfangen wurde, bestimmen, dass der Benutzer 105 nicht möchte, dass die Aktion, die in dem interaktiven Inhalt angegeben wurde, ausgeführt wird. In diesem Fall kann die interaktive Inhaltskomponente 192 (in Schritt 23) die Funktionskomponente 190b nicht aufrufen, und kann stattdessen eine Angabe an die Orchestratorkomponente 130 oder direkt an die Funktionskomponente 190a senden, die Sitzung der Funktionskomponente 190a wiederaufzunehmen (z. B. weiter Musik auszugeben, wie etwa den nächsten Titel, das nächste Album usw.).
  • In manchen Fällen kann der Benutzer 105 die zweite Benutzereingabe bereitstellen, nachdem eine gewisse Zeit verstrichen ist, seit der interaktive Inhalt ausgegeben wurde. Zum Beispiel kann der Benutzer 105 Ja" sagen oder „Lege das oder die Elemente in den Warenkorb.“ nach einem Zeitraum (z. B. 1 Minute, 5 Minuten, 1 Stunde usw.), seit der interaktive Inhalt (z. B. Werbung für das oder die Elemente) an der Vorrichtung 110 ausgegeben wurde. In diesem Fall kann die Nach-NLU-Einstufungskomponente 165 bestimmen, dass die zweite Benutzereingabe der Funktionskomponente 190a entspricht, die gerade aktiv sein kann, oder dass die zweite Benutzereingabe einer anderen Funktionskomponente 190c entspricht, jedoch nicht der interaktiven Inhaltskomponente 192 entspricht. Basierend auf den Informationen, die in der zweiten Benutzereingabe enthalten sind, kann das System 120 oder die ausgewählte Funktionskomponente 190a oder 190c den Benutzer 105 fragen, zusätzliche Informationen bereitzustellen, so dass eine Ausgabe als Reaktion auf die zweite Benutzereingabe bestimmt werden kann. Zum Beispiel falls der Benutzer 105 einfach „Ja“ sagt, dann kann das System 120 oder die Funktionskomponente 190a oder 190c Audiodaten an die Vorrichtung 110 senden, die synthetische Sprache umfassen, die weitere Informationen anfragen, oder kann Audiodaten an die Vorrichtung 110 senden, die synthetische Sprache umfassen, die angibt, dass das System 120 nicht auf die Benutzereingabe antworten kann (z. B. „Ich habe leider nicht verstanden.“).
  • Bei einigen Ausführungsformen, falls die interaktive Inhaltskomponente 192 von der Orchestratorkomponente 130 keine Daten, die einer Benutzereingabe entsprechen, wie etwa ASR-Daten oder NLU-Daten für die Benutzereingabe, innerhalb einer bestimmten Zeit, seit der interaktive Inhalt an die Vorrichtung 110 gesendet wurde (in Schritt 14), empfängt, dann kann die interaktive Inhaltskomponente 192 eine Angabe an die Orchestratorkomponente 130 oder direkt an die Funktionskomponente 190a senden, die Sitzung der Funktionskomponente 190a wiederaufzunehmen (z. B. weiter Musik auszugeben, wie etwa den nächsten Titel, das nächste Album usw.). Zum Beispiel falls die Vorrichtung 110 den interaktiven Inhalt zu einer ersten Zeit ausgibt, und zu einer zweiten Zeit (z. B. 5 Sekunden, 1 Minute, 5 Minuten, 1 Stunde usw. nach der ersten Zeit) die interaktive Inhaltskomponente 192 keine Daten empfangen hat, die einer Benutzereingabe entsprechen, dann kann die interaktive Inhaltskomponente 192 die Kontrolle an die Funktionskomponente 190a zurückgeben.
  • In manchen Fällen kann die zweite Benutzereingabe anders als ein einfaches „Ja“ oder „Nein“ sein, das angibt, ob die in dem interaktiven Inhalt dargestellte Aktion ausgeführt werden soll oder nicht. Zum Beispiel kann die zweite Benutzereingabe „Spiel das nächste Lied.“ lauten. In diesem Fall kann die Nach-NLU-Einstufungskomponente 165 bestimmen, dass die interaktive Inhaltskomponente 192 nicht die beste Komponente ist, um auf die zweite Benutzereingabe zu antworten, obwohl die Kontextdaten angeben, dass der interaktive Inhalt kürzlich an der Vorrichtung 110 ausgegeben wurde, und die zweite Benutzereingabe kurz danach oder direkt danach empfangen wurde, nachdem der interaktive Inhalt ausgegeben wurde. In solchen Fällen kann die Nach-NLU-Einstufungskomponente 165 unter Verwendung der NLU-Daten bestimmen, dass eine Musikfunktion, welche die Funktionskomponente 190a sein kann, die geeignete Funktion ist, auf die zweite Benutzereingabe zu antworten, und kann eine Anweisung an die Musikfunktion senden, auf die zweite Benutzereingabe zu antworten.
  • Somit kann das System 120 den interaktiven Inhalt an der Vorrichtung 110 ausgeben und eine Benutzereingabe verarbeiten, die als Reaktion auf den interaktiven Inhalt empfangen wird. Der interaktive Inhalt kann eine Aktion präsentieren, die mit Bezug auf ein oder mehrere Elemente, die in dem Inhalt dargestellt sind, ausgeführt wird, ein Benutzer kann einfach mit „Ja“ antworten oder eine gekürzte Eingabe bereitstellen, um die Ausführung der Aktion anzufragen, und das System 120 kann die geeigneten Funktionskomponenten aufrufen und die Daten senden, die benötigt werden, um die Aktion auszuführen.
  • Andere nicht einschränkende Beispiele von Elementen, die in dem interaktiven Inhalt präsentiert werden können, und von Aktionen, die ausgeführt werden können, sind folgende. Bei einem Beispiel kann der Inhalt einen Film oder eine Sendung beschreiben, und der Benutzer 105 kann sich den Vorspann ansehen. Der dritte Abschnitt der interaktiven Ausgabe kann bei diesem Beispiel Audiodaten sein, die der synthetischen Sprache „Wenn du den Vorspann sehen möchtest, sag bitte 'Ja'“. entsprechen. Bei einem anderen Beispiel kann der Inhalt ein Produkt beschreiben, und der Benutzer 105 kann die Möglichkeit haben, eine Probe zu bestellen. Der dritte Abschnitt der interaktiven Ausgabe kann bei diesem Beispiel Audiodaten sein, die der synthetischen Sprache „Möchtest du eine Probe?“ entsprechen. Bei noch einem anderen Beispiel kann der Inhalt eine Dienstleistung (z. B. eine Putzdienstleistung, eine Autoreparaturdienstleistung usw.) beschreiben, und der Benutzer 105 kann die Möglichkeit haben, weitere Informationen zu empfangen. Der dritte Abschnitt der interaktiven Ausgabe kann bei diesem Beispiel Audiodaten sein, die der synthetischen Sprache „Sag ja, wenn du eine E-Mail mit weiteren Informationen möchtest.“ entsprechen. Bei noch einem anderen Beispiel kann der Inhalt ein Produkt beschreiben, und der Benutzer 105 kann die Möglichkeit haben, einen Gutschein für das Produkt zu erhalten. Der dritte Abschnitt der interaktiven Ausgabe kann bei diesem Beispiel Audiodaten sein, die der synthetischen Sprache „Sag einfach ‚Alexa, Gutschein ausschneiden‘, wenn du den Gutschein haben möchtest.“ entsprechen. Bei einem anderen Beispiel kann der Inhalt eine anstehende Sendung beschreiben, und der Benutzer 105 kann die Möglichkeit haben, eine Erinnerung einzurichten. Der dritte Abschnitt der interaktiven Ausgabe kann bei diesem Beispiel Audiodaten sein, die der synthetischen Sprache „Möchtest du eine Erinnerung für die Sendung einrichten?“ entsprechen.
  • Bei einigen Ausführungsformen kann der interaktive Inhalt Optionen für zwei oder mehrere Aktionen umfassen, die mit Bezug auf das Element ausgeführt werden können, das in dem Inhalt enthalten ist. Zum Beispiel kann der Benutzer 105 die Möglichkeit haben, ein Element in einen elektronischen Warenkorb zu legen, und kann eine Probe des Elements erhalten. Bei diesem Beispiel kann der dritte Abschnitt der interaktiven Ausgabe Audiodaten sein, die der synthetischen Sprache „Wenn du etwas in den Warenkorb legen möchtest, sag ‚Alexa, in den Warenkorb‘, oder wenn du eine Probe erhalten möchtest, sag 'Alexa, schick mir eine Probe'“. Basierend auf der Benutzereingabe kann die interaktive Inhaltskomponente 192 die geeignete Funktionskomponente aufrufen, um die angefragte Aktion auszuführen.
  • Bei einigen Ausführungsformen kann der ein Element beschreibende Inhalt präsentiert werden, wenn sich die Vorrichtung 10 in einem Bildschirmschoner-Modus befindet. Für den Fall, dass die Vorrichtung 110 einen Bildschirm aufweist, kann eine derartige Vorrichtung 110 in einen Bildschirmschoner-Modus gehen, wenn der Benutzer 105 nicht mit der Vorrichtung 110 interagiert. Während des Bildschirmschoner-Modus kann die Vorrichtung 110 einen oder mehrere Inhalte (z. B. zusätzlichen Inhalt) anzeigen, der nicht auf eine Benutzereingabe reagiert. Ein derartiger Inhalt kann Informationen über Funktionen, die der Benutzer 105 verwenden kann, neue Musik oder neue Elemente, die bei einer Funktion verfügbar sind, neue Funktionalitäten, die bei einer Funktion verfügbar sind, eine empfohlene Aktion, die der Benutzer 105 vielleicht anfragen möchte, usw. bereitstellen. Der ein Element beschreibende Inhalt kann während des Bildschirmschoner-Modus als zusätzlicher Inhalt präsentiert werden. Bei einigen Ausführungsformen kann der ein Element beschreibende Inhalt ein Bild sein, und bevor das Bild angezeigt wird, kann die Vorrichtung 110 Audiodaten ausgeben, welche die synthetische Sprache „Du kannst mit dem kommenden Inhalt interagieren. Bleib dran, um zu wissen wie.“ darstellen. Alternativ kann die Vorrichtung 110 den Text davon anzeigen, so dass sie dem Benutzer 105 angibt, dass der Inhalt, der ausgegeben werden soll, interaktiv ist. Bei einigen Ausführungsformen kann der das Element beschreibende Inhalt (z. B. das Bild) eine oder mehrere Aktionen umfassen, die der Benutzer 105 mit Bezug auf das Element ausführen kann. Zum Beispiel kann das Bild den folgenden Text umfassen: „Um den Gutschein auszuschneiden, sag einfach 'Alexa, Gutschein ausschneiden'“. Alternativ kann die Vorrichtung 110 Audiodaten ausgeben, welche die synthetische Sprache davon darstellen, die somit dem Benutzer 105 eine oder mehrere Aktionen angeben, die der Benutzer ausführen kann. Die synthetische Sprache kann ausgegeben werden, während der das Element beschreibende Inhalt (z. B. das Bild) an der Vorrichtung 110 angezeigt wird. Der Benutzer 105 kann eine gesprochene Eingabe angeben, welche die Ausführung der angegebenen Aktion anfragt. Bei anderen Ausführungsformen kann der Benutzer 105 eine Berührungsbildschirmeingabe bereitstellen, welche die Ausführung der angegebenen Aktion anfragt. Bei solchen Ausführungsformen kann die Aktion, die der Benutzer 105 ausführen kann, an der Vorrichtung 110 angezeigt werden, wobei die Vorrichtung 110 beispielsweise das Bild, das dem das Inhalt entspricht, der das Element beschreibt, zusammen mit dem folgenden Text „Drück auf diese Schaltfläche, um das Element in den Warenkorb zu legen.“ anzeigen kann. Als Reaktion auf das Empfangen einer Anfrage, die angegebene Aktion auszuführen, kann das System 120 einige der zuvor beschriebenen Funktionalitäten ausführen, um die Aktion durchzuführen, währenddessen die Vorrichtung 110 Informationen anzeigen kann, die angeben, dass die Aktion ausgeführt wurde. Sobald die Aktion ausgeführt wurde, kann die Vorrichtung 110 in den Bildschirmschoner-Modus zurückkehren und kann den nächsten zusätzlichen Inhalt in der Warteschlange anzeigen.
  • Das System 120 kann andere Komponenten verwenden, die in 1 abgebildet sind. Die diversen in 1 gezeigten Komponenten können sich auf derselben oder auf unterschiedlichen physischen Vorrichtungen befinden. Die Kommunikation zwischen diversen Komponenten kann direkt oder über das oder die Netzwerke 199 erfolgen.
  • Ein Mikrophon oder eine Mikrophonanordnung (der Vorrichtung 110 oder anderweitig damit verknüpft) kann Audiomaterial aufnehmen. Die Vorrichtung 110 verarbeitet Audiodaten, die das Audiomaterial darstellen, um zu bestimmen, ob Sprache detektiert wird. Die Vorrichtung 110 kann diverse Techniken verwenden, um zu bestimmen, ob Audiodaten Sprache umfassen. Bei einigen Beispielen kann die Vorrichtung 110 Techniken zur Sprachaktivitätsdetektion (VAD) anwenden. Diese Techniken können bestimmen, ob Sprache in Audiodaten vorhanden ist, basierend auf diversen quantitativen Aspekten der Audiodaten, wie etwa der spektralen Steigung zwischen einem oder mehreren Rahmen der Audiodaten, den Energiepegeln der Audiodaten in einem oder mehreren Spektralbändern, den Signal-Rausch-Verhältnissen der Audiodaten in einem oder mehreren Spektralbändern, oder anderen quantitativen Aspekten. Bei anderen Beispielen kann die Vorrichtung 110 einen Klassifikator umsetzen, der dazu konfiguriert ist, die Sprache von Hintergrundrauschen zu unterscheiden. Der Klassifikator kann durch Techniken umgesetzt werden, wie etwa lineare Klassifikatoren, Stützvektormaschinen und Entscheidungsbäume. Bei noch anderen Beispielen kann die Vorrichtung 110 Techniken wie Hidden Markov Model (HMM) oder Gaußsches Mischverteilungsmodell (GMM) verwenden, um die Audiodaten mit einem oder mehreren akustischen Modellen in der Speichervorrichtung zu vergleichen, wobei die akustischen Modelle solche umfassen können, die Sprache, Rauschen (z. B. Umgebungsrauschen oder Hintergrundrauschen) oder Stille entsprechen. Es können noch andere Techniken verwendet werden, um zu bestimmen, ob Sprache in Audiodaten vorhanden ist.
  • Sobald Sprache in den Audiodaten detektiert wurde, kann die Vorrichtung 110 bestimmen, ob sich die Sprache an die Vorrichtung 110/ das System 120 richtet. Bei mindestens einigen Ausführungsformen kann eine derartige Bestimmung unter Verwendung einer Aktivierungswort-Detektionskomponente 220 (in 2 gezeigt) erfolgen. Die Aktivierungswort-Detektionskomponente 220 kann dazu konfiguriert sein, diverse Aktivierungswörter zu detektieren. Bei mindestens einigen Beispielen kann jedes Aktivierungswort einem Namen eines anderen digitalen Assistenten entsprechen. Ein beispielhaftes Aktivierungswort/ ein beispielhafter Name eines digitalen Assistenten ist „Alexa“.
  • Die Aktivierungswortdetektion erfolgt typischerweise ohne eine linguistische Analyse, Textanalyse oder semantische Analyse vorzunehmen. Stattdessen werden die Audiodaten analysiert, um zu bestimmen, ob spezifische Kennzeichen der Audiodaten mit vorkonfigurierten akustischen Wellenformen, Audiosignaturen oder anderen Daten, die einem Aktivierungswort entsprechen, übereinstimmen.
  • Somit kann die Aktivierungswort-Detektionskomponente 220 Audiodaten mit gespeicherten Daten vergleichen, um ein Aktivierungswort zu detektieren. Ein Ansatz zur Aktivierungswortdetektion wendet allgemeine Systeme zur durchgehenden Spracherkennung mit einem großen Wortschatz (LVCSR) an, um Audiosignale zu decodieren, wobei die Aktivierungswortsuche in den sich ergebenden Gittern oder Wahrheitsmatrizen erfolgt. Ein anderer Ansatz zur Aktivierungswortdetektion baut HMMs jeweils für jedes Aktivierungswort- und Nicht-Aktivierungswort-Sprachsignal. Die Nicht-Aktivierungswortsprache umfasst andere gesprochene Wörter, Hintergrundrauschen usw. Es können ein oder mehrere HMMs aufgebaut werden, um die Kennzeichen der Nicht-Aktivierungswortsprache zu modellieren, die Füllmodelle genannt werden. Es wird eine Viterbi-Decodierung verwendet, um den besten Weg in dem Decodierungsgraphen zu suchen, und die Decodierungsausgabe wird weiter verarbeitet, um die Entscheidung über das Vorliegen eines Aktivierungswortes zu treffen. Dieser Ansatz kann erweitert werden, um diskriminierende Informationen zu umfassen, indem ein hybrides Framework zum Decodieren von HMM eines tiefen neuronalen Netzes (DNN) integriert wird. Bei einem anderen Beispiel kann die Aktivierungswort-Detektionskomponente 220 direkt auf DNN-/ rekursiven neuronalen Netz- (RNN) Strukturen aufgebaut werden, ohne HMMs zu bedingen. Eine derartige Architektur kann die Nachfolge von Aktivierungswörtern mit Kontextdaten schätzen, indem entweder Rahmen innerhalb eines Kontextfensters für ein DNN gestapelt werden oder ein RNN verwendet wird. Eine Abstimmung oder Glättung einer folgenden Nachfolgeschwelle wird zur Entscheidungsfindung angewendet. Es können auch andere Techniken zur Aktivierungswortdetektion, wie etwa solche, die in der Technik bekannt sind, verwendet werden.
  • Sobald die Aktivierungswort-Detektionskomponente 220 ein Aktivierungswort detektiert, kann die Vorrichtung 110 „aufwachen“ und damit beginnen, Audiodaten 211, die das Audiomaterial darstellen, an das System 120 zu senden. Die Audiodaten 211 können das detektierte Aktivierungswort umfassen, oder die Vorrichtung 110 kann den Abschnitt der Audiodaten, der dem detektierten Aktivierungswort entspricht, vor dem Senden der Audiodaten 211 an das System 120 entfernen.
  • Bei einigen Ausführungsformen kann es sein, dass der Benutzer 105 beim Bereitstellen der zweiten Benutzereingabe (in Schritt 15, der in 1 gezeigt ist) kein Aktivierungswort für die Vorrichtung 110 sagen muss, um Audiodaten, die der zweiten Benutzereingabe entsprechen, zu senden. Das System 120 kann mit Benutzererlaubnis das oder die Mikrophone der Vorrichtung 110 öffnen, nachdem der interaktive Inhalt von der Vorrichtung 110 während eines Zeitraums (z. B. 30 Sekunden lang) ausgegeben wurde, um eventuell gesprochene Eingaben als Reaktion auf den interaktiven Inhalt aufzunehmen. Bei anderen Ausführungsformen kann es sein, dass der Benutzer 105 ein Aktivierungswort in der zweiten Benutzereingabe für die Vorrichtung 110 einbeziehen muss, um Audiodaten, die der zweiten Benutzereingabe entsprechen, zu senden. Zum Beispiel kann es sein, dass der Benutzer 105 „Alexa, ja“ oder „Alexa, Gutschein ausschneiden“ sagen muss, um zu bewirken, dass das System 120 die Aktion ausführt, die in dem interaktiven Inhalt enthalten ist.
  • Die Orchestratorkomponente 130 kann dazu konfiguriert sein, unter anderem Datenübertragungen zwischen den Komponenten des Systems 120 zu koordinieren. Die Orchestratorkomponente 130 kann die Audiodaten 211 von der Vorrichtung 110 empfangen und die Audiodaten 211 an die ASR-Komponente 150 senden.
  • Die ASR-Komponente 150 überträgt die Audiodaten 211 in ASR-Ausgabedaten, die eine oder mehrere ASR-Hypothesen umfassen. Eine ASR-Hypothese kann als Textinterpretation der Sprache in den Audiodaten 211 konfiguriert sein, oder kann andersartig konfiguriert sein, wie etwa als ein oder mehrere Symbole. Jede ASR-Hypothese kann eine andere mögliche Interpretation der Sprache in den Audiodaten 211 darstellen. Jede ASR-Hypothese kann einer Punktezahl (z. B. Konfidenzpunktezahl, Wahrscheinlichkeitspunktezahl oder dergleichen) zugeordnet sein, die bedeutet, dass die verknüpfte ASR-Hypothese die Sprache in den Audiodaten 211 richtig darstellt.
  • Die ASR-Komponente 150 interpretiert die Sprache in den Audiodaten 211 basierend auf einer Ähnlichkeit zwischen den Audiodaten 211 und voretablierten Sprachmodellen. Zum Beispiel kann die ASR-Komponente 150 die Audiodaten 211 mit Modellen für Töne (z. B. Teilworteinheiten, wie etwa Phoneme usw.) und Sequenzen von Tönen vergleichen, um Wörter zu identifizieren, die der Sequenz von Tönen der Sprache, die in den Audiodaten 211 dargestellt ist, entsprechen.
  • In mindestens einigen Fällen kann, statt dass die Vorrichtung 110 eine gesprochene natürliche Spracheingabe empfängt, die Vorrichtung 110 eine natürliche Spracheingabe in Textform (z. B. eingetippt) empfangen. Die Vorrichtung 110 kann Textdaten bestimmen, welche die natürliche Spracheingabe in Textform darstellen, und kann die Textdaten an das System 120 senden, wobei die Textdaten von der Orchestratorkomponente 130 empfangen werden. Die Orchestratorkomponente 130 kann die Textdaten oder ASR-Ausgabedaten in Abhängigkeit von der Art der empfangenen natürlichen Spracheingabe an die NLU-Komponente 160 senden.
  • Die NLU-Komponente 160 verarbeitet die ASR-Ausgabedaten oder Textdaten, um eine oder mehrere NLU-Hypothesen zu bestimmen, die in NLU-Ausgabedaten ausgebildet sind. Die NLU-Komponente 160 kann eine Verarbeitung zur Absichtsklassifizierung (IC) an den ASR-Ausgabedaten oder Textdaten vornehmen, um eine Absicht der natürlichen Spracheingabe zu bestimmen. Eine Absicht entspricht einer auszuführenden Aktion, die eine Reaktion auf die natürliche Spracheingabe ist. Um eine IC-Verarbeitung vorzunehmen, kann die NLU-Komponente 160 mit einer Datenbank von Wörtern, die mit Absichten verknüpft sind, kommunizieren. Zum Beispiel kann eine Musikabsichtsdatenbank kann Wörter und Redewendungen wie etwa „leise“, „Ton aus“ und „stumm“ mit einer Absicht <Mute> verknüpfen. Die NLU-Komponente 160 identifiziert Absichten, indem sie Wörter und Redewendungen in ASR-Ausgabedaten oder Textdaten mit den Wörtern und Redewendungen in einer Absichtsdatenbank vergleicht. Bei einigen Ausführungsformen kann die NLU-Komponente 160 mit mehreren Absichtsdatenbanken kommunizieren, wobei jede Absichtsdatenbank einer oder mehreren Absichten entspricht, die einer bestimmten Funktion zugeordnet sind.
  • Zum Beispiel kann die IC-Verarbeitung der natürlichen Spracheingabe „Spiel meine Trainings-Playlist ab“ eine Absicht <PlayMusic> bestimmen. Als weiteres Beispiel kann die IC-Verarbeitung der natürlichen Spracheingabe „Ruf Mama an“ eine Absicht <Call> bestimmen. Bei einem anderen Beispiel kann die IC-Verarbeitung der natürlichen Spracheingabe „Ruf Mama über Video an“ eine Absicht <VideoCall> bestimmen. Bei noch einem anderen Beispiel kann die IC-Verarbeitung der natürlichen Spracheingabe „Wie ist das Wetter heute“ eine Absicht <OutputWeather> bestimmen.
  • Die NLU-Komponente 160 kann auch eine Eigennamenerkennungs-(NER) Verarbeitung an den ASR-Ausgabedaten oder Textdaten vornehmen, um einen oder mehrere Abschnitte, die manchmal als Leerstellen bezeichnet werden, der natürlichen Spracheingabe zu bestimmen, die für die Nach-NLU-Verarbeitung (z. B. eine Verarbeitung, die von einer Funktion ausgeführt wird) notwendig sein können. Zum Beispiel kann eine NER-Verarbeitung der natürlichen Spracheingabe „Spiel [Liedtitel]“ einen Entitätstyp „SongName“ und einen Entitätswert, der einem angegebenen Liedtitel entspricht, bestimmen. Als weiteres Beispiel kann die NER-Verarbeitung der natürlichen Spracheingabe „Ruf Mama an“ einen Entitätstyp „Empfänger“ und einen Entitätswert, der „Mama“ entspricht, bestimmen. Bei einem anderen Beispiel kann die NER-Verarbeitung der natürlichen Spracheingabe „Wie ist das Wetter heute“ einen Entitätstyp „Datum“ und einen Entitätswert „heute“ bestimmen.
  • Bei mindestens einigen Ausführungsformen können die Absichten, die durch die NLU-Komponente 160 identifizierbar sind, mit einem oder mehreren grammatikalischen Rahmenwerken mit Entitätstypen, die mit Entitätswerten auszufüllen sind, verknüpft sein. Jeder Entitätstyp eines grammatikalischen Rahmenwerks entspricht einem Abschnitt von ASR-Ausgabedaten oder Textdaten, von dem die NLU-Komponente 160 glaubt, dass er einem Entitätswert entspricht. Zum Beispiel kann ein grammatikalisches Rahmenwerk, das einer Absicht <PlayMusic> entspricht, Satzstrukturen, wie etwa „Spiel {Name des Interpreten}“, „Spiel {Name des Albums}“, „Spiel {Name des Lieds}“, „Spiel {Name des Lieds} von {Name des Interpreten}“ usw. entsprechen.
  • Zum Beispiel kann die NLU-Komponente 160 eine NER-Verarbeitung vornehmen, um Wörter in ASR-Ausgabedaten oder Textdaten als Subjekt, Objekt, Verb, Präposition usw. basierend auf Grammatikregeln und/oder -modellen zu identifizieren. Dann kann die NLU-Komponente 160 eine IC-Verarbeitung unter Verwendung des identifizierten Verbs vornehmen, um eine Absicht zu identifizieren. Danach kann die NLU-Komponente 160 wieder eine NER-Verarbeitung vornehmen, um ein Grammatikmodell zu bestimmen, das der identifizierten Absicht zugeordnet ist. Zum Beispiel kann ein Grammatikmodell für eine Absicht <PlayMusic> eine Liste von Entitätstypen vorgeben, die anwendbar sind, um das identifizierte „Objekt“ und einen beliebigen Objektmodifikator (z. B. eine präpositionale Redewendung), wie etwa {Name des Interpreten}, {Titel des Albums }, {Titel des Lieds} usw. abzuspielen. Die NER-Verarbeitung kann dann das Suchen von entsprechenden Feldern in einem Wörterbuch bedingen, wobei sie versucht, die Wörter und Redewendungen in den ASR-Ausgabedaten, welche die NER-Verarbeitung zuvor als grammatikalisches Objekt oder als Objektmodifikator markiert hat, mit denjenigen abzugleichen, die in dem Wörterbuch identifiziert wurden.
  • Die NER-Verarbeitung kann eine semantische Kennzeichnung umfassen, wobei es sich um die Auszeichnung eines Wortes oder einer Wortkombination gemäß der Art/ semantischen Bedeutung handelt. Die NER-Verarbeitung kann das Parsen von ASR-Ausgabedaten oder Textdaten unter Verwendung heuristischer Grammatikregeln umfassen, oder es kann ein Modell unter Verwendung von Techniken wie etwa Hidden-Markov-Modellen, Maximale-Entropie-Modellen, loglinearen Modellen, bedingten Zufallsfeldern (CRFs) und dergleichen, konstruiert werden. Zum Beispiel kann die NER-Verarbeitung mit Bezug auf eine Musikfunktion das Parsen und Kennzeichnen von ASR-Ausgabedaten oder Textdaten umfassen, die „Spiel Mother's Little Helper von den Rolling Stones“ mit als {Verb}: „Spielen“, {Objekt}: „Mother's Little Helper“, {Objektpräposition}: „von“ und {Objektmodifikator}: „The Rolling Stones“ entsprechen. Die NER-Verarbeitung kann „Play“ basierend auf einer Wörterdatenbank, die der Musikfunktion zugeordnet ist, als Verb identifizieren, von dem die IC-Verarbeitung bestimmt, dass es der Absicht <PlayMusic> entspricht.
  • Die NLU-Komponente 160 kann NLU-Ausgabedaten generieren, die eine oder mehrere NLU-Hypothesen umfassen, wobei jede NLU-Hypothese eine Absicht und wahlweise einen oder mehrere Entitätstypen und entsprechende Entitätswerte umfasst. Bei einigen Ausführungsformen kann die NLU-Komponente 160 eine IC-Verarbeitung und eine NER-Verarbeitung mit Bezug auf verschiedene Funktionen ausführen. Eine Funktion kann die gleichen oder unterschiedliche Absichten wie eine andere Funktion unterstützen. Somit können die NLU-Ausgabedaten mehrere NLU-Hypothesen umfassen, wobei jede NLU-Hypothese einer IC-Verarbeitung und einer NER-Verarbeitung entspricht, die an der ASR-Ausgabe oder den Textdaten mit Bezug auf eine andere Funktion vorgenommen werden.
  • Wie zuvor beschrieben, kann das System 120 eine Sprachverarbeitung unter Verwendung von zwei verschiedenen Komponenten (z. B. der ASR-Komponente 150 und der NLU-Komponente 160) vornehmen. Bei mindestens einigen Ausführungsformen kann das System 120 eine Komponente zum Verstehen gesprochener Sprache (SLU) umsetzen, die dazu konfiguriert ist, Audiodaten 211 zu verarbeiten, um NLU-Ausgabedaten zu bestimmen.
  • Die SLU-Komponente kann einer Kombination der ASR-Komponente 150 und der NLU-Komponente 160 entsprechen. Doch kann die SLU-Komponente Audiodaten 211 verarbeiten und die NLU-Ausgabedaten ohne einen Zwischenschritt des Generierens von ASR-Ausgabedaten direkt bestimmen. Somit kann die SLU-Komponente Audiodaten 211 nehmen, die eine gesprochene natürliche Spracheingabe darstellen, und versuchen, eine semantische Interpretation der gesprochenen natürlichen Spracheingabe vorzunehmen. Das heißt, die SLU-Komponente kann eine Bedeutung, die der gesprochenen natürlichen Spracheingabe zugeordnet ist, bestimmen und dann diese Bedeutung umsetzen. Zum Beispiel kann die SLU-Komponente Audiodaten 211 interpretieren, die eine gesprochene natürliche Spracheingabe darstellen, um eine gewünschte Aktion abzuleiten. Die SLU-Komponente kann eine höchstwahrscheinliche NLU-Hypothese oder mehrere NLU-Hypothesen ausgeben, die jeweiligen Konfidenz- oder anderen Punktezahlen (wie etwa Wahrscheinlichkeitspunktezahlen usw.) zugeordnet sind.
  • Wie der Begriff hier verwendet wird, kann sich eine „Domäne“ auf eine Sammlung verwandter Funktionalität beziehen. Eine Domäne kann einer oder mehreren Funktionen zugeordnet sein, die eine verwandte Funktionalität ausführen und Teil einer Domäne sein können. Eine nicht einschränkende Liste von Domänen umfasst eine Smarthome-Domäne (die einer Smarthome-Funktionalität entspricht), eine Musikdomäne (die einer Musikfunktionalität entspricht), eine Videodomäne (die einer Videofunktionalität entspricht), eine Wetterdomäne (die einer Wetterfunktionalität entspricht), eine Kommunikationsdomäne (die einer Ein- oder Zweiwege-Kommunikationsfunktionalität entspricht), und eine Einkaufsdomäne (die einer Einkaufsfunktionalität entspricht).
  • Wie der Begriff hier verwendet wird, kann sich eine „Funktion“ auf Software beziehen, die sich in einer Maschine oder einer virtuellen Maschine befinden kann (z. B. eine Software, die in einer virtuellen Instanz gestartet werden kann, wenn sie aufgerufen wird), die dazu konfiguriert ist, Ausgabedaten zum Verstehen natürlicher Sprache (NLU) (die beispielsweise eine Absicht und wahlweise eine oder mehrere Entitäten umfassen) zu verarbeiten und als Reaktion darauf eine oder mehrere Aktionen auszuführen. Was hier als Funktion bezeichnet wird, kann manchmal als Anwendung, Bot, Aktion oder dergleichen bezeichnet werden. Eine Gruppe von Funktionen mit verwandter Funktionalität kann einer Domäne zugeordnet sein. Zum Beispiel können eine erste Musikfunktion und eine zweite Musikfunktion einer Musikdomäne zugeordnet sein.
  • Das System 120 kann eine oder mehrere Funktionskomponenten 190 umfassen und/oder kann mit einer oder mehreren Funktionen 125 kommunizieren. Eine „Funktion“ kann sich auf Software beziehen, die sich in einer Maschine oder einer virtuellen Maschine befinden kann (z. B. eine Software, die in einer virtuellen Instanz gestartet werden kann, wenn sie aufgerufen wird), die dazu konfiguriert ist, NLU-Ausgabedaten zu verarbeiten und eine oder mehrere Aktionen als Reaktion darauf auszuführen. Zum Beispiel kann für NLU-Ausgabedaten, die eine Absicht <PlayMusic>, einen Entitätstyp „Interpret“ und einen Interpretennamen als Entitätswert umfassen, eine Musikfunktion aufgerufen werden, um Musik auszugeben, die von dem angegebenen Interpreten interpretiert wird. Als ein weiteres Beispiel kann für NLU-Ausgabedaten, die eine Absicht <TurnOn>, einen Entitätstyp „Vorrichtung“, und einen Entitätswert Lampen" umfassen, eine Smarthome-Funktion aufgerufen werden, um zu bewirken, dass eine oder mehrere intelligente" Lampen in einem „eingeschalteten“ Zustand funktionieren. Bei einem anderen Beispiel kann für NLU-Ausgabedaten, die eine Absicht <OutputWeather> Absicht, einen Entitätstyp „Standort“ und einen Entitätswert, der einem geographischen Standort der Vorrichtung 110 entspricht, umfassen, eine Wetterfunktion aufgerufen werden, um Wetterinformationen für den geographischen Standort auszugeben. Als ein weiteres Beispiel kann für NLU-Ausgabedaten, die eine Absicht <BookRide> umfassen, eine Taxifunktion aufgerufen werden, um eine angefragte Fahrt zu bestellen. Bei einem anderen Beispiel kann für NLU-Ausgabedaten, die eine Absicht <BuyPizza> umfassen, eine Restaurantfunktion aufgerufen werden, um eine Bestellung für eine Pizza aufzugeben.
  • Eine Funktionskomponente 190 kann in Verbindung mit dem System 120 und anderen Vorrichtungen funktionieren, wie etwa mit der Vorrichtung 110, einem elektronischen Restaurant-Bestellsystem, einem elektronischen Taxi-Reservierungssystem usw., um gewisse Funktionen zu erledigen. Eingaben für eine Funktionskomponente 190 können aus Sprachverarbeitungsinteraktionen oder von anderen Interaktionen oder Eingabequellen stammen.
  • Eine Funktionskomponente 190 kann einer Domäne zugeordnet sein, von der eine nicht einschränkende Liste eine Smarthome-Domäne, eine Musikdomäne, eine Videodomäne, eine Wetterdomäne, eine Kommunikationsdomäne, eine Kurznachrichtendomäne, eine Einkaufsdomäne und eine benutzerdefinierte Domäne umfasst.
  • Das System 120 kann eine TTS-Komponente 180 umfassen, die Audiodaten generiert, die synthetische Sprache umfassen. Die Daten, die in die TTS-Komponente 180 eingegeben werden, können von einer Funktionskomponente 190 oder der Funktion 125, der Orchestratorkomponente 130 oder einer anderen Komponente des Systems 120 stammen.
  • Einzelheiten darüber, was die TTS-Komponente verarbeiten kann, werden nachstehend mit Bezug auf 7A und 7B beschrieben. Bei einem Syntheseverfahren, das als Einheitenauswahl bezeichnet wird, gleicht die TTS-Komponente 180 die Eingabedaten mit einer Datenbank aufgezeichneter Sprache ab. Die TTS-Komponente 180 wählt übereinstimmende Einheiten aufgezeichneter Sprache aus und verkettet die Einheiten miteinander, um Audiodaten zu bilden. Bei einem anderen Syntheseverfahren, das parametrische Synthese heißt, variiert die TTS-Komponente 180 Parameter wie etwa Frequenz, Lautstärke und Rauschen, um Audiodaten zu bestimmen, die eine künstliche Sprachwellenform umfassen. Die Parametrische Synthese verwendet einen computergestützten Sprachgenerator, der manchmal als Vocoder bezeichnet wird.
  • Das System 120 kann eine Benutzererkennungskomponente 195 umfassen. Die Benutzererkennungskomponente 195 kann einen oder mehrere Benutzer unter Verwendung diverser Daten erkennen. Die Benutzererkennungskomponente 195 kann als Eingabe die Audiodaten 211 nehmen. Die Benutzererkennungskomponente 195 kann eine Benutzererkennung durch Vergleichen von Sprachkennzeichen in den Audiodaten 211 mit gespeicherten Sprachkennzeichen des Benutzers vornehmen. Die Benutzererkennungskomponente 195 kann zusätzlich oder alternativ eine Benutzererkennung durch Vergleichen von biometrischen Daten (z. B. Fingerabdruckdaten, Irisdaten, Netzhautdaten usw.), die von dem System 120 in Korrelation mit einer natürlichen Spracheingabe empfangen werden, mit gespeicherten biometrischen Daten des Benutzers vornehmen. Die Benutzererkennungskomponente 195 kann zusätzlich oder alternativ eine Benutzererkennung durch Vergleichen von Bilddaten (die beispielsweise eine Darstellung mindestens eines Merkmals eines Benutzers umfassen), die von dem System 120 in Korrelation mit einer natürlichen Spracheingabe empfangen werden, mit gespeicherten Bilddaten, die Darstellungen von Merkmalen verschiedener Benutzer umfassen, vornehmen. Die Benutzererkennungskomponente 195 kann einen anderen oder zusätzliche Benutzererkennungsprozesse ausführen, einschließlich solcher, die in der Technik bekannt sind. Für eine bestimmte natürliche Spracheingabe kann die Benutzererkennungskomponente 195 eine Verarbeitung mit Bezug auf gespeicherte Daten von Benutzern, die der Vorrichtung 110, welche die natürliche Spracheingabe empfangen hat, zugeordnet sind, vornehmen.
  • Die Benutzererkennungskomponente 195 bestimmt, ob eine natürliche Spracheingabe von einem bestimmten Benutzer ausging. Zum Beispiel kann die Benutzererkennungskomponente 195 einen ersten Wert, der eine Wahrscheinlichkeit darstellt, dass eine natürliche Spracheingabe von einem ersten Benutzer ausging, einen zweiten Wert, der eine Wahrscheinlichkeit darstellt, dass die natürliche Spracheingabe von einem zweiten Benutzer ausging, usw. bestimmen. Die Benutzererkennungskomponente 195 kann auch eine Gesamtkonfidenz bezüglich der Richtigkeit der Benutzererkennungsverarbeitung bestimmen.
  • Die Benutzererkennungskomponente 195 kann eine einzige Benutzerkennung ausgeben, die dem wahrscheinlichsten Benutzer entspricht, von dem die natürliche Spracheingabe ausging. Alternativ kann die Benutzererkennungskomponente 195 mehrere Benutzerkennungen (z. B. als N-Bestenliste) ausgeben, wobei die jeweiligen Werte die Wahrscheinlichkeiten darstellen, dass die natürliche Spracheingabe von dem jeweiligen Benutzer ausging. Die Ausgabe der Benutzererkennungskomponente 195 kann verwendet werden, um die NLU-Verarbeitung, die Verarbeitung, die von einer Funktion 125 ausgeführt wird, sowie die Verarbeitung, die von anderen Komponenten des Systems 120 und/oder anderen Systemen ausgeführt wird, zu informieren.
  • Das System 120 kann die Profilspeichervorrichtung 170 umfassen. Die Profilspeichervorrichtung 170 kann diverse Daten bezüglich einzelner Benutzer, Gruppen von Benutzern, Vorrichtungen usw., die mit dem System 120 interagieren, umfassen. Wie der Begriff hier verwendet wird, bezieht sich ein „Profil“ auf eine Datenmenge, die einem Benutzer, einer Gruppe von Benutzern, einer Vorrichtung usw. zugeordnet ist. Die Daten eines Profils können Präferenzen, die für den Benutzer, die Gruppe von Benutzern, die Vorrichtung usw. spezifisch sind; Ein- und Ausgabekapazitäten einer oder mehrerer Vorrichtungen; Internet-Konnektivitätsdaten; bibliographische Benutzerdaten; Abonnementsdaten; Funktionsaktivierungsdaten; und/oder andere Daten umfassen.
  • Die Profilspeichervorrichtung 170 kann ein oder mehrere Benutzerprofile umfassen. Jedes Benutzerprofil kann einer anderen Benutzerkennung zugeordnet sein. Jedes Benutzerprofil kann diverse Benutzeridentifizierungsdaten (z. B. Name, Geschlecht, Adresse, Sprache(n) usw.) umfassen. Jedes Benutzerprofil kann auch die Präferenzen des Benutzers umfassen. Jedes Benutzerprofil kann eine oder mehrere Vorrichtungskennungen umfassen, die jeweils eine jeweilige Vorrichtung darstellen, die für den Benutzer registriert ist. Jedes Benutzerprofil kann Funktionskennungen von Funktionen 125 umfassen, die der Benutzer aktiviert hat. Wenn ein Benutzer eine Funktion 125 aktiviert, stellt der Benutzer dem System 120 eine Erlaubnis bereit, dass die Funktion 125 mit Bezug auf die natürlichen Spracheingaben des Benutzers ausgeführt werden kann. Falls ein Benutzer eine Funktion 125 nicht aktiviert, kann das System 120 die Funktion 125 mit Bezug auf die natürlichen Spracheingaben des Benutzers nicht ausführen.
  • Die Profilspeichervorrichtung 170 kann eine oder mehrere Gruppenprofile umfassen. Jedes Gruppenprofil kann einer anderen Gruppenkennung zugeordnet sein. Ein Gruppenprofil kann für eine Gruppe von Benutzern spezifisch sein. Das heißt, ein Gruppenprofil kann zwei oder mehreren einzelnen Benutzerprofilen zugeordnet sein. Zum Beispiel kann ein Gruppenprofil ein Haushaltsprofil sein, das Benutzerprofilen zugeordnet ist, die mehreren Benutzern eines einzigen Haushalts zugeordnet sind. Ein Gruppenprofil kann Präferenzen umfassen, die allen Benutzerprofilen gemeinsam sind, die ihm zugeordnet sind. Jedes Benutzerprofil, das einem Gruppenprofil zugeordnet ist, kann zusätzlich Präferenzen umfassen, die für den Benutzer spezifisch sind, der ihm zugeordnet ist. Das heißt, ein Benutzerprofil kann Präferenzen umfassen, die für ein oder mehrere andere Benutzerprofile einzigartig sind, die dem gleichen Gruppenprofil zugeordnet sind. Ein Benutzerprofil kann ein unabhängiges Profil sein oder kann einem Gruppenprofil zugeordnet sein. Ein Gruppenprofil kann einem oder mehreren Vorrichtungsprofilen zugeordnet sein (oder diese umfassen), die einer oder mehreren Vorrichtungen entsprechen, die dem Gruppenprofil zugeordnet sind.
  • Die Profilspeichervorrichtung 170 kann eine oder mehrere Vorrichtungsprofile umfassen. Jedes Vorrichtungsprofil kann einer anderen Vorrichtungskennung zugeordnet sein. Ein Vorrichtungsprofil kann diverse Vorrichtungsidentifizierungsdaten, Ein-/Ausgabe-Kennzeichen, Netzwerkkennzeichen usw. umfassen. Ein Vorrichtungsprofil kann auch eine oder mehrere Benutzerkennungen umfassen, die einem oder mehreren Benutzerprofilen entsprechen, die dem Vorrichtungsprofil zugeordnet sind. Zum Beispiel kann das Profil einer Haushaltsvorrichtung die Benutzerkennungen der Benutzer des Haushalts umfassen.
  • Das Vorstehende beschreibt beispielhafte Komponenten und Verarbeitungen des Systems 120. Nachstehend werden beispielhafte Komponenten und Verarbeitungen der Vorrichtung 110 beschrieben. Wie in 2 abgebildet, kann bei mindestens einigen Ausführungsformen das System 120 die Audiodaten 211 von der Vorrichtung 110 empfangen, um Sprache zu erkennen, die gesprochener natürlicher Sprache in den empfangenen Audiodaten 211 entspricht, und um Funktionen als Reaktion auf die erkannte Sprache ausführen. Bei mindestens einigen Ausführungsformen bedingen diese Funktionen das Senden von Anordnungen (z. B. Befehlen) von dem System 120 an die Vorrichtung 110, um zu bewirken, dass die Vorrichtung 110 eine Aktion, wie etwa die Ausgabe synthetischer Sprache (als Reaktion auf die gesprochene natürliche Spracheingabe) über einen oder mehrere Lautsprecher, ausführt und/oder eine oder mehrere sekundäre Vorrichtungen steuert, indem Steuerbefehle an die eine oder die mehreren sekundären Vorrichtungen gesendet werden.
  • Wenn somit die Vorrichtung 110 in der Lage ist, mit dem System 120 über das oder die Netzwerke 199 zu kommunizieren, können einige oder alle Funktionen, die von dem System 120 ausgeführt werden können, ausgeführt werden, indem eine oder mehrere Anordnungen über das oder die Netzwerke 199 an die Vorrichtung 110 gesendet werden, die wiederum die Anordnung(en) verarbeiten und eine oder mehrere entsprechende Aktionen ausführen können. Zum Beispiel kann das System 120 unter Verwendung einer Fernanordnung, die in den Antwortdaten enthalten ist (z. B. eine Fernantwort), die Vorrichtung 110 anweisen, synthetische Sprache über einen oder mehrere Lautsprecher der Vorrichtung (110) (oder die dieser anderweitig zugeordnet sind) auszugeben, um Inhalt (z. B. Musik) über den oder die Lautsprecher der Vorrichtung 110 (oder die dieser anderweitig zugeordnet sind) auszugeben, um Inhalt an einem Display der Vorrichtung 110 (oder das dieser anderweitig zugeordnet ist) anzuzeigen, und/oder um eine Anordnung an eine sekundäre Vorrichtung zu senden (z. B. eine Anordnung zum Einschalten einer intelligenten Lampe). Es versteht sich, dass das System 120 dazu konfiguriert sein kann, andere Funktionen zusätzlich zu den hier besprochenen auszuführen, wie etwa ohne Einschränkung das Bereitstellen von Schritt-für-Schritt-Anleitungen zum Navigieren von einem Ausgangsstandort zu einem Zielstandort, das Abwickeln einer elektronischen Handelstransaktion im Namen des Benutzers 105 als Teil einer Einkaufsfunktion, das Herstellen einer Kommunikationssitzung (z. B. eines Audio- oder Videoanrufs) zwischen dem Benutzer 105 und einem anderen Benutzer, und so weiter.
  • Die Vorrichtung 110 kann eine Aktivierungswort-Detektionskomponente 220 umfassen, die dazu konfiguriert ist, ein Aktivierungswort (z. B. „Alexa“) zu detektieren, dass der Vorrichtung 110 angibt, dass die Audiodaten 211 zum Bestimmen von NLU-Ausgabedaten zu verarbeiten sind. Bei mindestens einigen Ausführungsformen kann ein Hybridwähler 224 der Vorrichtung 110 die Audiodaten 211 an die Aktivierungswort-Detektionskomponente 220 senden. Falls die Aktivierungswort-Detektionskomponente 220 ein Aktivierungswort in den Audiodaten 211 detektiert, kann die Aktivierungswort-Detektionskomponente 220 eine Angabe einer derartigen Detektion an den Hybridwähler 224 senden. Als Reaktion auf das Empfangen der Angabe kann der Hybridwähler 224 die Audiodaten 211 an das System 120 und/oder an eine vorrichtungsinterne ASR-Komponente 150 senden. Die Aktivierungswort-Detektionskomponente 220 kann auch eine Angabe an den Hybridwähler 224 senden, die darstellt, dass kein Aktivierungswort detektiert wurde. Als Reaktion auf das Empfangen einer derartigen Angabe kann der Hybridwähler 224 davon absehen, die Audiodaten 211 an das System 120 zu senden, und kann die vorrichtungsinterne ASR-Komponente 150 daran hindern, die Audiodaten 211 zu verarbeiten. In diesem Fall können die Audiodaten 211 verworfen werden.
  • Die Vorrichtung 110 kann ihre eigene Sprachverarbeitung vornehmen, indem sie vorrichtungsinterne Sprachverarbeitungskomponenten (wie etwa eine vorrichtungsinterne SLU-Komponente, eine vorrichtungsinterne ASR-Komponente 250 und/oder eine vorrichtungsinterne NLU-Komponente 260) ähnlich wie zuvor mit Bezug auf die ASR-Komponente 150 und die NLU-Komponente 160 besprochen, verwendet. Die Vorrichtung 110 kann auch intern andere Komponenten, wie etwa eine oder mehrere Funktionen 290, eine Benutzererkennungskomponente 295 (die dazu konfiguriert ist, ähnlich wie die Benutzererkennungskomponente 195 zu arbeiten), einen Profilspeicher 270 (der dazu konfiguriert ist, ähnliche Profildaten in der Profilspeichervorrichtung 170 zu speichern) und andere Komponenten umfassen oder anderweitig darauf Zugriff haben. Bei mindestens einigen Ausführungsformen kann es sein, dass der vorrichtungsinterne Profilspeicher 270 nur Profildaten für einen Benutzer oder eine Gruppe von Benutzern speichern kann, die der Vorrichtung 110 spezifisch zugeordnet sind. Die Vorrichtung 110 kann auch eine TTS-Komponente 280 umfassen, die ähnlich wie die TTS-Komponente 180 funktionieren kann.
  • Bei mindestens einigen Ausführungsformen kann es sein, dass die vorrichtungsinternen Sprachverarbeitungskomponenten nicht die gleichen Kapazitäten wie die Sprachverarbeitungskomponenten aufweisen, die von dem System 120 umgesetzt werden. Zum Beispiel können die vorrichtungsinternen Sprachverarbeitungskomponenten dazu konfiguriert sein, nur eine Teilmenge der natürlichen Spracheingaben zu handhaben, die von den Sprachverarbeitungskomponenten gehandhabt werden können, die durch das Sprachverarbeitungssystem umgesetzt werden. Zum Beispiel kann eine derartige Teilmenge von natürlichen Spracheingaben natürlichen Spracheingaben lokaler Art entsprechen, wie etwa solchen, die Vorrichtungen oder Komponenten steuern, die einem Haus des Benutzers zugeordnet sind. Unter solchen Umständen können die vorrichtungsinternen Sprachverarbeitungskomponenten die Möglichkeit haben, eine natürliche Spracheingabe lokaler Art schneller zu interpretieren und schneller darauf zu reagieren, als beispielsweise die Verarbeitung, die das System 120 bedingt. Falls die Vorrichtung 110 versucht, eine natürliche Spracheingabe zu verarbeiten, für welche die vorrichtungsinternen Sprachverarbeitungskomponenten nicht unbedingt am besten geeignet sind, können die NLU-Ausgabedaten, die von den vorrichtungsinternen Komponenten bestimmt werden, eine geringe Konfidenz oder eine andere Metrik aufweisen, die angibt, dass die Verarbeitung durch die vorrichtungsinternen Sprachverarbeitungskomponenten vielleicht nicht so genau ist wie die Verarbeitung, die durch das System 120 erfolgt.
  • Der Hybridwähler 224 der Vorrichtung 110 kann ein Hybrid-Proxy (HP) 226 sein, der dazu konfiguriert ist, als Proxy für Verkehr zu/von dem System 120 zu dienen. Zum Beispiel kann der HP 226 dazu konfiguriert sein, Nachrichten zu/von einem hybriden Ausführungscontroller (HEC) 227 des Hybridwählers 224 zu senden. Zum Beispiel können Befehls-/Anordnungsdaten, die von dem System 120 empfangen werden, an den HEC 227 unter Verwendung des HP 226 gesendet werden. Der HP 226 kann auch dazu konfiguriert sein, zu erlauben, dass die Audiodaten 211 an das System 120 gehen, und dabei auch diese Audiodaten 211 zu empfangen (z. B. abzufangen) und die Audiodaten 211 an den HEC 227 zu senden.
  • Bei mindestens einigen Ausführungsformen kann der Hybridwähler 224 ferner einen lokalen Anfrageorchestrator (LRO) umfassen, der dazu konfiguriert ist, die vorrichtungsinterne ASR-Komponente 150 über die Verfügbarkeit der Audiodaten 211 zu benachrichtigen, und ansonsten die Arbeitsgänge der vorrichtungsinternen Sprachverarbeitung einzuleiten, sobald die Audiodaten 211 verfügbar sind. Im Allgemeinen kann der Hybridwähler 224 die Ausführung der vorrichtungsinternen Sprachverarbeitung steuern, wie etwa durch Senden der Ereignisse/Anweisungen „Ausführen“ und „Beenden“. Ein Ereignis „Ausführen“ kann eine Komponente anweisen, eine aufgehobene Ausführung fortzusetzen (z. B. indem es die Komponente anweist, eine zuvor bestimmte Absicht, eine Anordnung zu bestimmen, auszuführen). Dagegen kann ein Ereignis „Beenden“ eine Komponente anweisen, eine weitere Ausführung zu beenden, wie etwa, wenn die Vorrichtung 110 Anordnungsdaten von dem System 120 empfängt und entscheidet, diese entfernt bestimmten Anordnungsdaten zu verwenden.
  • Wenn somit die Audiodaten 211 empfangen werden, kann es der HP 226 erlauben, dass die Audiodaten 211 durch das System 120 gehen, und der HP 226 kann auch die Audiodaten 211 in die ASR-Komponente 250 eingeben, indem er die Audiodaten 211 durch den HEC 227 des Hybridwählers 224 leitet, wodurch der LRO 228 die ASR-Komponente 250 über die Audiodaten 211 benachrichtigt. Nun kann der Hybridwähler 224 auf Antwortdaten von einem oder beiden von dem System 120 und/oder den vorrichtungsinternen Sprachverarbeitungskomponenten warten. Die Offenbarung ist jedoch nicht darauf eingeschränkt, und bei einigen Beispielen kann der Hybridwähler 224 die Audiodaten 211 nur an die ASR-Komponente 250 senden, ohne die Offenbarung zu verlassen. Zum Beispiel kann die Vorrichtung 110 die Audiodaten 211 vorrichtungsintern verarbeiten, ohne die Audiodaten 211 an das System 120 zu senden.
  • Die ASR-Komponente 250 ist dazu konfiguriert, die Audiodaten 211 von dem Hybridwähler 224 zu empfangen, und die Sprache in den Audiodaten 211 zu erkennen, und die vorrichtungsinterne NLU-Komponente 160 ist dazu konfiguriert, eine Absicht aus der erkannten Sprache (wahlweise einer oder mehreren Eigennamenentitäten) zu erkennen, und zu bestimmen, wie in Folge der Absicht zu agieren ist, indem NLU-Ausgabendaten generiert werden, die Anordnungsdaten umfassen können (die z. B. eine Komponente anweisen, eine Aktion auszuführen). In manchen Fällen kann eine Anordnung eine Beschreibung der Absicht (z. B. einer Absicht, eine {Einschaltvorrichtung} auszuschalten) umfassen. In manchen Fällen kann eine Anordnung eine Kennung einer oder mehrerer zweiter Vorrichtungen, wie etwa Küchenlampen, und einen Arbeitsgang, der an der oder den zweiten Vorrichtungen auszuführen ist, umfassen (z. B. codieren). Die Anordnungsdaten können unter Verwendung von Java, wie etwa einer JavaScript-Syntax oder einer auf JavaScript basierenden Syntax, formatiert werden. Dies kann das Formatieren der Anordnung unter Verwendung von JSON umfassen. Bei mindestens einigen Ausführungsformen kann eine vorrichtungsbestimmte Anordnung serialisiert werden, etwa so wie entfernt bestimmte Anordnungen zur Übertragung in Datenpaketen über das oder die Netzwerke 199 serialisiert werden können. Bei mindestens einigen Ausführungsformen kann eine vorrichtungsbestimmte Anordnung als programmierbarer Anwendungsprogrammschnittstellen- (API) Aufruf mit einer gleichen logischen Operation wie eine entfernt bestimmte Anordnung formatiert werden. Mit anderen Worten kann eine vorrichtungsbestimmte Anordnung eine entfernt bestimmte Anordnung unter Verwendung des gleichen oder eines ähnlichen Formats wie das der entfernt bestimmten Anordnung nachahmen.
  • Eine NLU-Hypothese (die von der NLU-Komponente 260 ausgegeben wird) kann als verwendbar ausgewählt werden, um auf eine natürliche Spracheingabe zu antworten, und lokale Antwortdaten (z. B. lokale NLU-Ausgabedaten, lokale wissensbasierte Informationen, Internet-Suchergebnisse, und/oder lokale Anordnungsdaten) können an den Hybridwähler 224 gesendet werden, wie etwa eine Antwort „ReadyToExecute“. Der Hybridwähler 224 kann dann bestimmen, ob die Anordnungsdaten von den vorrichtungsinternen Komponenten verwendet werden sollen, um auf die natürliche Spracheingabe zu antworten, Anordnungsdaten zu verwenden, die von dem System 120 empfangen werden, wenn man davon ausgeht, dass tatsächlich eine Fernantwort empfangen wurde (z. B. wenn die Vorrichtung 110 in der Lage ist, auf das System 120 über das oder die Netzwerke 199 zuzugreifen), oder Ausgabedaten zu bestimmen, die zusätzliche Informationen beim Benutzer 105 anfragen.
  • Die Vorrichtung 110 und/oder das System 120 können eine einzigartige Kennung jeder natürlichen Spracheingabe zuordnen. Die Vorrichtung 110 kann die einzigartige Kennung umfassen, wenn die Audiodaten 211 an das System 120 gesendet werden, und die Antwortdaten von dem System 120 können die einzigartige Kennung umfassen, um zu identifizieren, welcher natürlichen Spracheingabe die Antwortdaten entsprechen.
  • Die Vorrichtung 110 kann auch eine interaktive Inhaltskomponente 292 und eine interaktive Inhaltsspeichervorrichtung 293 umfassen, die ähnlich wie die interaktive Inhaltskomponente 192 und die interaktive Inhaltspeichervorrichtung 193, die hier beschrieben wurden, sein können.
  • Bei mindestens einigen Ausführungsformen kann die Vorrichtung 110 eine oder mehrere Funktionen 290 umfassen, die ähnlich wie die Funktion(en) 190 arbeiten können. Die Funktion(en) 290, die auf der Vorrichtung 110 installiert sind (oder damit in Verbindung stehen), können ohne Einschränkung eine Smarthome-Funktion und/oder eine Vorrichtungssteuerfunktion, die dazu konfiguriert ist, eine oder mehrere zweite Vorrichtungen zu steuern, eine Musikfunktion, die dazu konfiguriert ist, Musik auszugeben, eine Navigationsfunktion, die dazu konfiguriert ist, eine Wegbeschreibung auszugeben, eine Einkaufsfunktion, die dazu konfiguriert ist, einen elektronischen Einkauf abzuwickeln, und/oder dergleichen umfassen.
  • Eine oder mehrere der hier beschriebenen Komponenten können ein oder mehrere Modelle zum maschinellen Lernen (ML) verwenden. Im Allgemeinen können ML-Modelle gemäß diversen Techniken zum maschinellen Lernen eingelernt und betätigt werden. Diese Techniken können beispielsweise neuronale Netze (wie etwa tiefe neuronale Netze und/oder rekurrente neuronale Netze), Inferenzmaschinen, eingelernte Klassifikatoren usw. umfassen. Beispiele von eingelernten Klassifikatoren umfassen Stützvektormaschinen (SVMs), neuronale Netze, Entscheidungsbäume, AdaBoost (Abkürzung von „Adaptive Boosting“) kombiniert mit Entscheidungsbäumen und Random Forests. Betrachtet man gezielt eine SVM als Beispiel, so ist eine SVM ein Modell zum überwachten Lernen mit dazugehörigen Lernalgorithmen, die Daten und Erkennungsmuster in den Daten analysieren, und die gewöhnlich zur Klassifizierung und Regressionsanalyse verwendet werden. Für einen gegebenen Satz von Trainingsbeispielen, die jeweils als zu einer von zwei Kategorien gehörend markiert sind, baut ein SVM-Trainingsalgorithmus ein Modell auf, das neue Beispiele einer Kategorie oder der anderen zuweist, so dass es sich um einen nicht probabilistischen binären linearen Klassifikator handelt. Es können kompliziertere SVM-Modelle aufgebaut werden, bei denen der Trainingssatz mehr als zwei Kategorien identifiziert, wobei die SVM bestimmt, welche Kategorie den Eingabedaten am ähnlichsten ist. Ein SVM-Modell kann derart abgebildet werden, dass die Beispiele der separaten Kategorien durch klare Abstände unterteilt sind. Neue Beispiele werden dann in den gleichen Raum abgebildet, und es wird vorhergesagt, dass sie einer Kategorie angehören, basierend auf welcher Seite der Abstände sie fallen. Die Klassifikatoren können eine „Punktezahl“ erteilen, die angibt, mit welcher Kategorie die Daten am besten übereinstimmen. Die Punktezahl kann eine Angabe bereitstellen, wie genau die Daten mit der Kategorie übereinstimmen.
  • Um die Techniken zum maschinellen Lernen anzuwenden, müssen die Prozesse zum maschinellen Lernen selber eingelernt werden. Das Einlernen eines Modells zum maschinellen Lernen erfordert das Ermitteln einer „Grundwahrheit“ für die Trainingsbeispiele. Beim maschinellen Lernen bezieht sich der Begriff Grundwahrheit" auf die Richtigkeit der Klassifizierung eines Trainingssatzes für Techniken des überwachten Lernens. Es können diverse Techniken verwendet werden, um die Modelle zu trainieren, wozu Rückpropagierung, statistisches Lernen, überwachtes Lernen teilüberwachtes Lernen, stochastisches Lernen oder andere bekannte Techniken gehören.
  • 3 ist ein konzeptuelles Diagramm, das beispielhafte Komponenten der interaktiven Inhaltskomponente 192 gemäß den Ausführungsformen der vorliegenden Offenbarung abbildet. Die interaktive Inhaltskomponente 192 kann Komponenten umfassen, um einen oder mehrere hier beschriebene Arbeitsgänge zu ermöglichen. Die interaktive Inhaltskomponente 192 kann weniger oder mehr Komponenten als in 3 gezeigt umfassen. Bei den Ausführungsbeispielen kann die interaktive Inhaltskomponente 192 eine Inhaltshandhabungskomponente 315 und die interaktive Inhaltspeichervorrichtung 193 zum Bestimmen und Speichern von Inhalt, der Elementen entspricht, von Aktionen, die mit Bezug auf das Element ausgeführt werden können, von Funktionskomponenten, die Aktionen ausführen können, von Mustereingaben, die das Ausführen der Aktion auslösen, und anderen Daten zum Aktivieren der Interaktion mit dem Inhalt umfassen.
  • Bei einigen Ausführungsformen kann die interaktive Inhaltskomponente 192 Inhalt empfangen, der einem oder mehreren Elementen aus einem oder mehreren Inhaltssystemen 305 entspricht. Das oder die Inhaltssysteme 305 können Inhaltsdaten 306 senden, die Daten umfassen können, die Inhalt, wie etwa Audiodaten (z. B. eine MP3-Datei, eine WAV-Datei usw.), Videodaten (z. B. eine MP4-Datei, eine MOV-Datei usw.), Bilddaten (z. B. eine JPEG-Datei, eine GIF-Datei usw.) und andersartige Daten darstellen. Der Inhalt der dem oder den Elementen entspricht, wie er hier verwendet wird, kann sich auf Werbung für das oder die Elemente, eine Beschreibung des oder der Elemente, eine Beschreibung eines Gutscheins oder Rabatts für das oder die Elemente oder andere Informationen bezüglich des oder der Elemente beziehen. Der Inhalt, der den Elementen entspricht, kann Informationen bereitstellen, die mehr als ein Element betreffen. Der Inhalt, der dem oder den Elementen entspricht, kann im Voraus aufgezeichneter Inhalt sein. Die Inhaltsdaten 306 können ferner eine Elementkennung für jedes der Elemente, das der Inhalt betrifft, umfassen. Die Elementkennung kann verwendet werden, um Aktionen bezüglich des Elements auszuführen. Zum Beispiel kann unter Verwendung der Elementkennung eine Funktionskomponente 190b das Element in einen elektronischen Warenkorb legen oder bewirken, dass ein Muster des Elements an den Benutzer 105 gesendet wird. Die Inhaltsdaten 306 können ferner eine oder mehrere Aktionen umfassen, die mit Bezug auf das Element ausgeführt werden können. Zum Beispiel kann die Aktion das Legen in einen elektronischen Warenkorb, das Senden einer Probe, das Abspielen eines Vorspanns, das Ausschneiden des Gutscheins, das Senden von weiteren Informationen, das Einrichten einer Erinnerung, das Hinzufügen zum Kalender usw. sein. Bei einigen Ausführungsformen können die Inhaltsdaten 306 von einem Benutzer (z. B. dem Besitzer eines Produkts oder einer Dienstleistung) unter Verwendung einer Benutzerschnittstelle, welche die bestimmten Daten verlangt, wozu der Inhalt, der den Elementen entspricht, Elementkennungen und Aktionen, die mit Bezug auf das Element ausgeführt werden können, gehören, bereitgestellt werden. Bei einigen Ausführungsformen können die Inhaltsdaten 306 auch einen Ausgabestimmenart umfassen, die zu verwenden ist, um dem Benutzer 105 den interaktiven Inhalt zu präsentieren. Einzelheiten darüber, wie eine bestimmte Stimmenart verwendet werden kann, werden nachstehend mit Bezug auf 5 und 7A-7B beschrieben.
  • Die Inhaltshandhabungskomponente 315 kann die Inhaltsdaten 306 verarbeiten, und kann Inhaltsdaten 308 in der interaktiven Inhaltspeichervorrichtung 193 speichern. Bei der Verarbeitung der Inhaltsdaten 306 kann die Inhaltshandhabungskomponente 315 eine oder mehrere Funktionskomponenten 190 bestimmen, die in der Lage sind, die Aktionen auszuführen, die in den Inhaltsdaten 306 angegeben werden. Bei einigen Ausführungsformen kann die interaktive Inhaltskomponente 192 dazu konfiguriert sein, eine Funktionskomponente aus einem vordefinierten Satz von Funktionskomponenten aufzurufen, die dazu konfiguriert sein können, einen bestimmten Satz von Aktionen auszuführen. Zum Beispiel kann der vordefinierte Satz von Funktionskomponenten kann eine Einkaufsfunktion, eine Kalenderfunktion, eine Inhalts-Streaming-Funktion, eine Videofunktion und eine Musikfunktion sein. Ein beispielhafter Satz von Aktionen kann das Legen in den Warenkorb, das Senden einer Probe, das Ausschneiden eines Gutscheins, das Einrichten einer Erinnerung, das Hinzufügen eines Ereignisses, das Abspielen eines Vorspanns und das Abspielen eines Lieds sein. Die interaktive Inhaltskomponente 192 kann eine Abbildung davon umfassen, welche Funktion in der Lage ist, welche Aktion auszuführen, und kann die Funktionskomponente 190 bestimmen, die in der Lage ist, die Aktionen auszuführen, die in den Inhaltsdaten 306 unter Verwendung der Abbildungen angegeben werden. Bei anderen Ausführungsformen kann die interaktive Inhaltskomponente 192 eine Fähigkeitsauswahlkomponente verwenden, die ähnlich funktionieren kann wie die Nach-NLU-Einstufungskomponente 165, um eine Funktionskomponente 190 auszuwählen, die in der Lage ist, die Aktionen auszuführen, die in den Inhaltsdaten 306 angegeben werden.
  • Die Inhaltshandhabungskomponente 315 kann auch eine oder mehrere Mustereingaben bestimmen, die das Ausführen der Aktion auslösen können. Bei einigen Ausführungsformen kann die interaktive Inhaltskomponente 192 einen vordefinierten Satz von Mustereingaben für einen bestimmten Satz von Aktionen umfassen. Bei anderen Ausführungsformen kann die interaktive Inhaltskomponente 192 eine Anfrage an die Funktionskomponente 190 senden, um eine Mustereingabe bereitzustellen, um das Ausführen einer Aktion auszulösen. Bei anderen Ausführungsformen kann die interaktive Inhaltskomponente 192 die Mustereingabe von dem oder den Inhaltssystemen 305 empfangen. Bei noch anderen Ausführungsformen kann die interaktive Inhaltskomponente 192 Techniken zum Generieren natürlicher Sprache (NLG) verwenden, um die Mustereingabe basierend auf den Aktionen zu bestimmen, die in den Inhaltsdaten 306 angegeben werden.
  • 4 bildet beispielhafte Daten ab, die in der interaktiven Inhaltspeichervorrichtung 193 gespeichert werden können. Zum Beispiel kann eine Instanz der Inhaltsdaten 308 Inhaltsdaten 402 umfassen, welche die Audiodaten, Videodaten und/oder Bilddaten, die den Inhalt darstellen, der den Elementen entspricht, sein können. Eine Instanz der Inhaltsdaten 308 kann auch Elementdaten 404, wobei es sich um einen Namen des Elements und die entsprechende Elementkennung handeln kann; Aktionsdaten 406, wobei es sich um die Aktion handeln kann, die mit Bezug auf das Element ausgeführt werden kann, das in den Elementdaten 404 angegeben wird; Mustereingabedaten 408, wobei es sich um Textdaten oder Symboldaten handeln kann, die einer Eingabe entsprechen, die das Ausführen der Aktion auslöst, die in den Aktionsdaten 406 angegeben wird; und Funktionsdaten 410, wobei es sich um eine Funktionskennung handeln kann, die der Funktionskomponente entspricht, die in den Aktionsdaten 406 angegeben wird, umfassen. Bei anderen Ausführungsformen kann die interaktive Inhaltsspeichervorrichtung 193 andere Daten umfassen, um das Ausführen der Aktion zu ermöglichen, die in den Aktionsdaten 406 angegeben wird. Zum Beispiel kann es sein, dass eine Funktionskomponente (z. B. eine Einkaufsfunktionskomponente) bestimmte Daten (z. B. eine Elementkennung und eine Benutzerprofilkennung) benötigt, um die angegebene Aktion (z. B. das Legen des Elements in den elektronischen Warenkorb des Benutzers) auszuführen,, und die Instanz der Inhaltsdaten 308 kann angeben, welche Datentypen die Funktionskomponente benötigt (in Eingabefeldern, Eingabeargumenten, Eingabevariablen usw. für die Funktionskomponente speichern kann). Die interaktive Inhaltskomponente 192 kann die Datentypen, welche die Funktionskomponente benötigt, basierend auf einer Tabelle, die derartige Informationen speichert, bestimmen. Bei anderen Ausführungsformen kann die interaktive Inhaltskomponente 192 eine Anfrage an die Funktionskomponente 190 senden, welche die Datentypen anfragt, welche die Funktionskomponente zum Verarbeiten einer Benutzereingabe benötigt.
  • Beispiele von Mustereingaben können „Ja“, „Alexa, Gutschein ausschneiden“, „Schick mir eine Probe“, „Spiel den Vorspann ab“, „Abspielen“, „Schick mir weitere Informationen per E-Mail“, „Sende Informationen an mein Handy“ usw. sein. In manchen Fällen kann eine Instanz der Inhaltsdaten 308 mehr als eine Mustereingabe umfassen, die das Ausführen der Aktion auslösen können, die in den Aktionsdaten 406 angegeben wird. Bei einigen Ausführungsformen kann die Mustereingabe eine Geste angeben (z. B. Daumen hoch), eine Auswahl einer physischen Taste an der Vorrichtung 110 oder eine Auswahl eines graphischen Schnittstellenelements über die Vorrichtung 110, die das Ausführen der Aktion auslösen kann.
  • Nachdem die Inhaltsdaten 308 von der Inhaltshandhabungskomponente 315 bestimmt und gespeichert wurden, können die gespeicherten Inhaltsdaten 308 verwendet werden, um interaktiven Inhalt zur Ausgabe zu bestimmen, wenn eine Funktionskomponente einen derartigen Inhalt zur Ausgabe anfragt. Die gespeicherten Inhaltsdaten 308 können auch verwendet werden, um zu bestimmen, welche Aktion mit Bezug auf den interaktiven Inhalt auszuführen ist.
  • Zum Beispiel kann die Funktionskomponente 190a eine Anfrage 302 für Inhalt generieren. In manchen Fällen kann die Funktionskomponente 190a Inhalt ausgeben, der vom Benutzer 105 angefragt wurde. Bei einigen Ausführungsformen kann dieser angefragte Inhalt ein längerer Inhalt, wie etwa Musik, ein Radiosender, ein Podcast, Kurznachrichten, ein Film, eine Fernsehsendung, ein Audiobuch usw. sein. Gewisse Funktionskomponenten können angeben, dass Inhalt, der nicht auf eine Benutzereingabe reagiert, ausgegeben werden kann, während ein gewisser angefragter Inhalt ausgegeben wird. Um dies zu ermöglichen, kann die Funktionskomponente 190a über eine integrierte Markierung in dem angefragten Inhalt verfügen, wobei die Markierung angeben kann, wann nicht reagierender Inhalt (z. B. Werbung, Gutscheine usw.) präsentiert werden kann. Zum Beispiel kann sich die Markierung 5 Minuten nach dem Beginn des angefragten Inhalts befinden, kann sich am Ende eines Abschnitts des Inhalts (z. B. am Ende eines Liedes, am Ende einer Playlist, am Ende eines Albums, am Ende einer Folge usw.) befinden, kann sich vor der Ausgabe des nächsten Elements in dem angefragten Inhalt (z. B. vor den nächsten Kurznachrichten, vor der nächsten Podcast-Folge usw.) befinden, usw. Wenn die Markierung während der Ausgabe des angefragten Inhalts erreicht wird, kann die Funktionskomponente 190a die Anfrage 302 senden. Es können andere Techniken zum Markieren von Inhalt oder zum Angeben, wann Inhalt, der nicht auf eine Benutzereingabe reagiert, ausgegeben werden kann, verwendet werden.
  • Bei einigen Fällen kann die Anfrage 302 die Art des angefragten Inhalts angeben. Zum Beispiel kann die Anfrage 302 einen audiobasierten interaktiven Inhalt (d. h. Inhalt, der keine Videodaten aufweist), einen videobasierten interaktiven Inhalt, Inhalt für ein bestimmtes Element usw. angeben. Basierend auf dem Empfangen der Anfrage 302 kann die Inhaltshandhabungskomponente 315 die Inhaltsdaten 308 aus der interaktiven Inhaltspeichervorrichtung 193 abrufen. Bei einigen Ausführungsformen kann die interaktive Inhaltskomponente 192 den Inhalt 308, der zuvor für eine bestimmte Vorrichtung (unter Verwendung einer Vorrichtungskennung für die Vorrichtung 110) ausgegeben wurde, einen bestimmten Benutzer (unter Verwendung einer Benutzerprofilkennung für den Benutzer 105) oder ein bestimmtes Konto (unter Verwendung einer Kontokennung für ein Konto, das der Vorrichtung 110 zugeordnet ist; wobei mehr als ein Benutzer einem Konto zugeordnet sein kann) verfolgen. Beim Abrufen des Inhalts 308 aus der interaktiven Inhaltspeichervorrichtung 193 kann die Inhaltshandhabungskomponente 315 den Inhalt 308 basierend darauf abrufen, dass er nicht zuvor für die Vorrichtung 110, den Benutzer 105 oder das Konto des Benutzers 105 ausgegeben wurde. Somit wird zuvor ausgegebener Inhalt (z. B. Werbung, Gutscheine, Informationen usw.) nicht noch einmal für die Vorrichtung 110, den Benutzer 105 oder Benutzer des Kontos ausgegeben.
  • Nachdem der Inhalt 308 aus der interaktiven Inhaltspeichervorrichtung 193 abgerufen wurde, kann die interaktive Inhaltskomponente 192 gewisse Schritte als Vorbereitung auf die Ausgabe von interaktivem Inhalt ausführen. Einer der Schritte kann bedingen, dass eine Funktionsfokuskomponente 325 der interaktiven Inhaltskomponente 192 Fokusdaten generiert und speichert, die angeben, dass die Funktionskomponente 190a zuvor an der Vorrichtung 110 aktiv war. Die Fokusdaten können darauf basieren, dass die Funktionskomponente 190a die Anfrage 302 sendet. Bei anderen Ausführungsformen können die Fokusdaten auf Daten basieren, die von anderen Komponenten des Systems 120 (z. B. der Orchestratorkomponente 130) zur Verfügung gestellt werden. Bei anderen Ausführungsformen können derartige Fokusdaten von anderen Komponenten des Systems 120 (z. B. der Orchestratorkomponente 130) gespeichert werden.
  • Ein anderer Schritt kann bedingen, dass eine Kontextkomponente 310 der interaktiven Inhaltskomponente 192 Kontextdaten generiert und speichert, die angeben, dass die interaktive Inhaltskomponente 192 auf die Vorrichtung 110 und die Ausgabe von interaktivem Inhalt fokussiert ist. Die Kontextdaten können darauf basieren, dass Ausgabedaten 322 an die Orchestratorkomponente 130 zur Ausgabe an der Vorrichtung 110 gesendet werden. Bei anderen Ausführungsformen können die Kontextdaten auf Daten basieren, die von anderen Komponenten des Systems 120 (z. B. der Orchestratorkomponente 130) zur Verfügung gestellt werden. Bei anderen Ausführungsformen können diese Kontextdaten von anderen Komponenten des Systems 120 (z. B. der Orchestratorkomponente 130) gespeichert werden. Wie nachstehend beschrieben, können die Kontextdaten, die von der Kontextkomponente 310 generiert werden, der Nach-NLU-Einstufungskomponente 165 bereitgestellt werden.
  • Ein anderer Schritt kann bedingen, dass eine Ausgabegenerierungskomponente 320 der interaktiven Inhaltskomponente 192 die Ausgabedaten 322 unter Verwendung der Inhaltsdaten 308 generiert. 5 bildet ab, wie die Ausgabegenerierungskomponente 320 die Ausgabedaten 322 generieren kann. Bei einigen Ausführungsformen kann der interaktive Inhalt, der an der Vorrichtung 110 ausgegeben wird, mehrere Abschnitte umfassen, wobei jeder Abschnitt einem anderen Teil des interaktiven Inhalts entspricht. Bei einem Ausführungsbeispiel kann der interaktive Inhalt (1) einen ersten Abschnitt, der dem Benutzer 105 angibt, dass die Art und Weise, wie der Benutzer mit dem Inhalt interagieren kann, in Kürze folgt (bald ausgegeben wird); (2) einen zweiten Abschnitt, der Inhalt umfasst, der einem oder mehreren Elementen entspricht (z. B. der Werbung für das Element, dem Gutschein für das Element, den Informationen für das Element usw.); und (3) einen dritten Abschnitt, der eine oder mehrere Aktionen angibt, die der Benutzer 105 mit Bezug auf das oder die Elemente ausführen kann, umfassen. Die Ausgabegenerierungskomponente 320 kann diese Abschnitte getrennt generieren, und kann sie kombinieren, um die Ausgabedaten 322 zu generieren.
  • Mit Bezug auf 5 kann die Ausgabegenerierungskomponente 320 bei einigen Ausführungsformen Aufforderungsdaten 508 empfangen, die Textdaten, Symboldaten oder andere Strukturdaten natürlicher Sprache, die den ersten Abschnitt des interaktiven Inhalts darstellen, sein können. Zum Beispiel können die Aufforderungsdaten Text- oder Symboldaten, die darstellen „Du kannst mit dem folgenden Inhalt interagieren. Hör weiter zu, wie es geht“, „Der folgende Inhalt ist Werbung, und du kannst damit interagieren, wenn sie vorbei ist“, „Der kommende Inhalt ist interaktiv. Bleib dran, um zu erfahren, wie das geht.“ oder andere ähnliche natürliche Sprache, die angibt, dass der folgende Inhalt interaktiv ist, sein. Bei einigen Ausführungsformen können derartige Aufforderungsdaten 508 von dem oder den Inhaltssystemen 305 bereitgestellt werden oder können von der interaktiven Inhaltskomponente 192 oder der Ausgabegenerierungskomponente 320 vordefiniert werden. Die Ausgabegenerierungskomponente 320 kann erste Ausgabedaten 520 unter Verwendung der Aufforderungsdaten 508 generieren. Bei einigen Ausführungsformen können die ersten Ausgabedaten 520 Audiodaten sein, die synthetischer Sprache entsprechen, die durch die Verarbeitung der Aufforderungsdaten 508 unter Verwendung der TTS-Komponente 180 bestimmt werden. Beim Generieren der synthetischen Sprache kann die TTS-Komponente 180 ein bestimmtes Sprachprofil verwenden, wie es nachstehend mit Bezug auf 7A und 7B beschrieben wird, wobei das Sprachprofil von der Ausgabegenerierungskomponente 320 ausgewählt werden kann oder auf einem Sprachprofil basieren kann, das von dem oder den Inhaltssystemen 305 angegeben wird. Bei anderen Ausführungsformen können die ersten Ausgabedaten 520 Textdaten sein, die eine natürliche Sprachausgabe darstellen, die durch die Verarbeitung der Aufforderungsdaten 508 unter Verwendung von Techniken zum Generieren natürlicher Sprache (NLG) generiert werden.
  • Die Ausgabegenerierungskomponente 320 kann die Inhaltsdaten 402 (z. B. Audiodaten, Videodaten oder Bilddaten), die den Inhalt für das Element darstellen, empfangen. Unter Verwendung der Inhaltsdaten 402 kann die Ausgabegenerierungskomponente 320 die zweiten Ausgabedaten 522 bestimmen, die dem zweiten Abschnitt des interaktiven Inhalts entsprechen. Bei einigen Ausführungsformen können die zweiten Ausgabedaten 522 die Inhaltsdaten 402 sein, wie sie von dem oder den Inhaltssystemen 305 bereitgestellt werden. Bei anderen Ausführungsformen kann die Ausgabegenerierungskomponente 320 eine gewisse Verarbeitung unter Verwendung der Inhaltsdaten 402 vornehmen, um die zweiten Ausgabedaten 522 zu bestimmen, so dass die zweiten Ausgabedaten 522 in einem bestimmten Format, einer bestimmten Ausgabequalität, einer bestimmten Größe usw. vorliegen.
  • Die Ausgabegenerierungskomponente 320 kann die Aktionsdaten 406 und die Mustereingabedaten 408 empfangen, und kann dritte Ausgabedaten 524 unter Verwendung der Aktionsdaten 406 und der Mustereingabedaten 408 generieren. Bei einigen Ausführungsformen kann die Ausgabegenerierungskomponente 320 NLG-Techniken verwenden, um die Aktionsdaten 406 und die Mustereingabedaten 408 zu verarbeiten, um eine natürliche Sprachausgabe zu bestimmen. Zum Beispiel falls die Aktionsdaten 406 <ClipCoupon> angeben und die Mustereingabedaten 408 „Alexa, Gutschein ausschneiden“ angeben, dann kann die Ausgabegenerierungskomponente 320 bestimmen, dass die entsprechende natürliche Sprachausgabe „Du kannst den Gutschein ausschneiden, indem du zu Alexa sagst: Gutschein ausscheiden.“ ist. Als ein anderes Beispiel kann, falls die Aktionsdaten 406 <SetReminder> angeben und die Mustereingabedaten 408 „Ja“ angeben, dann die entsprechende natürliche Sprachausgabe „Zum Einrichten einer Erinnerung sag einfach ja.“ sein. Somit kann die natürliche Sprachausgabe auf einer Kombination der Aktionsdaten 406 und der Mustereingabedaten 408 basieren, um dem Benutzer 105 anzugeben, wie der Benutzer mit dem System 120 bezüglich der Inhaltsdaten 402/ der zweiten Ausgabedaten 522 interagieren kann. Bei einigen Ausführungsformen können die dritten Ausgabedaten 524 Audiodaten sein, die synthetische Sprache darstellen, die der natürlichen Sprachausgabe entsprechen, die durch die Verarbeitung der natürlichen Sprachausgabe unter Verwendung der TTS-Komponente 180 bestimmt wird. Beim Generieren der synthetischen Sprache kann die TTS-Komponente 180 ein bestimmtes Sprachprofil verwenden, wie es nachstehend mit Bezug auf 7A und 7B beschrieben wird, wobei das Sprachprofil von der Ausgabegenerierungskomponente 320 ausgewählt werden oder auf einem Sprachprofil, das von dem oder den Inhaltssystemen 305 angegeben wird, basieren kann. Bei anderen Ausführungsformen können die dritten Ausgabedaten 524 Textdaten sein, welche die natürliche Sprachausgabe darstellen.
  • Bei einigen Ausführungsformen können die zweiten Ausgabedaten 522 Ausgabedaten umfassen, welche die Aktion angeben, die der Benutzer 105 ausführen kann. Zum Beispiel kann die Audio- oder Videodatei Informationen über die Aktion umfassen, die der Benutzer mit Bezug auf das Element ausführen kann.
  • Die Ausgabegenerierungskomponente 320 kann die Ausgabedaten 322 durch Kombinieren der ersten Ausgabedaten 520, der zweiten Ausgabedaten 522 und der dritten Ausgabedaten 524 bestimmen. Bei einigen Ausführungsformen können die Ausgabedaten 322 eine Sequenz angeben, in der die Abschnitte der Ausgabedaten 322 auszugeben sind. Zum Beispiel können die ersten Ausgabedaten 520 zuerst ausgegeben werden, gefolgt von den zweiten Ausgabedaten 522 und dann den dritten Ausgabedaten 524. Bei einigen Ausführungsformen können die ersten Ausgabedaten 520 und die dritten Ausgabedaten 524 gleichartig sein, beispielsweise Audiodaten, die synthetische Sprache darstellen. Bei anderen Ausführungsformen können die ersten Ausgabedaten 520 und die dritten Ausgabedaten 524 andersartig sein, beispielsweise können die ersten Ausgabedaten 520 Audiodaten sein, die synthetische Sprache darstellen, und die dritten Ausgabedaten 524 können Textdaten sein (die an der Vorrichtung 110 angezeigt werden können). Bei einigen Ausführungsformen kann die Ausgabegenerierungskomponente 320 die Art der ersten Ausgabedaten 520 und der dritten Ausgabedaten 524 basierend auf den Kapazitäten der Vorrichtung 110 bestimmen.
  • Die interaktive Inhaltskomponente 192 kann die Ausgabedaten 322 an die Orchestratorkomponente 130 zur Ausgabe an der Vorrichtung 110 senden (z. B. wie mit Bezug auf Schritt 13 in 1 beschrieben). Wie zuvor mit Bezug auf 1 beschrieben, kann der Benutzer 105 eine Eingabe als Reaktion auf die Ausgabe des interaktiven Inhalts, oder nachdem der interaktive Inhalt an der Vorrichtung 110 ausgegeben wurde, bereitstellen. Das System 120 kann ASR-Daten 324 und NLU-Daten 326 bestimmen, die dieser Benutzereingabe entsprechen, und kann die ASR-Daten 324 und die NLU-Daten 326 der interaktiven Inhaltskomponente 192 bereitstellen, wie in 3 gezeigt.
  • Die Nach-NLU-Einstufungskomponente 165 kann die interaktive Inhaltskomponente 192 auswählen, um auf die Benutzereingabe basierend auf den Kontextdaten, die von der Kontextkomponente 310 bereitgestellt werden, die angeben, dass der interaktive Inhalt an der Vorrichtung 110 von der interaktiven Inhaltskomponente 192 ausgegeben wurde, zu reagieren. Bei einigen Ausführungsformen kann die Nach-NLU-Einstufungskomponente 165 die interaktive Inhaltskomponente 192 auswählen, um auf die Benutzereingabe basierend auf der verstrichenen Zeit zwischen der Ausgabe des interaktiven Inhalts und der Zeit, zu der die Benutzereingabe von dem System 120 empfangen wird, zu reagieren. Die Nach-NLU-Einstufungskomponente 165 kann die interaktive Inhaltskomponente 192 auswählen, um auf die Benutzereingabe basierend auf der Absicht und/oder der Entität, die in den NLU-Daten 326 angegeben werden, zu reagieren. Einzelheiten darüber, wie die Nach-NLU-Einstufungskomponente 165 funktioniert, werden nachstehend mit Bezug auf 6 beschrieben.
  • Als Reaktion auf das Empfangen der ASR-Daten 324 und der NLU-Daten 326 kann die Inhaltshandhabungsvorrichtung 315 bestimmen, ob die Benutzereingabe die Ausführung der Aktion (die in den dritten Ausgabedaten 524 angegeben wird) anfragt. Zum Beispiel falls die ASR-Daten 324 angeben, dass der Benutzer 105 „Ja“ gesagt hat, und/oder die NLU-Daten 326 <Yeslntent> angeben, dann kann die Inhaltshandhabungskomponente 315 bestimmen, dass die Aktion ausgeführt wird. Als ein anderes Beispiel kann die Inhaltshandhabungskomponente 315 die ASR-Daten 324 und/oder die NLU-Daten 326 mit den Mustereingabedaten 410 vergleichen, die dem Inhalt 408 entsprechen, der ausgegeben wurde, um zu bestimmen, ob der Benutzer die Ausführung der Aktion mit Bezug auf das oder die Elemente anfragt.
  • Falls die Benutzereingabe die Ausführung der Aktion anfragt, dann kann die Inhaltshandhabungskomponente 315 eine Funktionskomponente bestimmen, die in der Lage ist, die Aktion unter Verwendung der Funktionsdaten 410 auszuführen, die dem Inhalt 408, der ausgegeben wurde, und der entsprechenden Aktion 406 entsprechen. Unter Verwendung der Funktionsdaten 410 kann die Inhaltshandhabungskomponente 315 die Funktionskomponente 190b aufrufen, die der Funktionskennung, die in den Funktionsdaten 410 enthalten ist, zugeordnet ist.
  • Die Inhaltshandhabungskomponente 315 kann einen Befehl an die Funktionskomponente 190b senden, um die Aktion mit Bezug auf das oder die Elemente auszuführen. Bei einigen Ausführungsformen kann die Inhaltshandhabungskomponente 315 die Aktionsdaten 406 und die Elementdaten 404 an die Funktionskomponente 190b senden. Die Inhaltshandhabungskomponente 315 kann beliebige andere Daten senden, welche die Funktionskomponente 190b vielleicht benötigt, um die Aktion auszuführen. Bei einigen Ausführungsformen kann die Funktionskomponente 190b Daten anfragen, die sie benötigt, um die Aktion auszuführen, und kann diese Daten von der interaktiven Inhaltskomponente 192 oder der Orchestratorkomponente 130 nach dem Empfangen des Befehls von der Inhaltshandhabungskomponente 315 anfragen. Sobald die Aktion beendet ist, kann die Funktionskomponente 190b eine Angabe an die Inhaltshandhabungskomponente 315 senden, dass die Aktion beendet ist.
  • Als Reaktion auf das Empfangen der Angabe von der Funktionskomponente 190b kann die Inhaltshandhabungskomponente 315 eine Angabe an die Funktionskomponente 190a, ihre Sitzung an der Vorrichtung 110 wiederaufzunehmen, senden. Die Inhaltshandhabungskomponente 315 kann diese Angabe basierend auf den Fokusdaten senden, die an der Funktionsfokuskomponente 325 gespeichert werden und angeben, dass die Funktionskomponente 190a zuvor aktiv war. Somit kann die interaktive Inhaltskomponente 192 die Kontrolle zurück an die Funktionskomponente 190a geben, so dass sie mit dem Ausgeben des angefragten Inhalts fortfahren kann.
  • Die interaktive Inhaltskomponente 192 kann eine Metrikkomponente 330 umfassen, die dazu konfiguriert sein kann, Metrikdaten 332 basierend auf der Ausgabe der Ausgabedaten 322 und der Ausführung der Aktion durch die Funktionskomponente 190b zu generieren. Die Metrikkomponente 330 kann nachverfolgen, wann bestimmte Inhaltsdaten 402 für einen Benutzer ausgegeben werden. Die Metrikkomponente 330 kann auch nachverfolgen, ob ein Benutzer die Ausführung der Aktion anfragt, die in der Ausgabe angegeben wird. Bei einigen Ausführungsformen kann die Metrikkomponente 330 eine Angabe von der Inhaltshandhabungskomponente 315 empfangen, dass der Inhalt 402 an der Vorrichtung 110 ausgegeben wird. Eine derartige Angabe kann Daten zugeordnet werden, die eine Vorrichtungskennung für die Vorrichtung 110, eine Benutzerprofilkennung für den Benutzer 105, eine Kontokennung für ein Konto des Benutzers 105, eine Inhaltskennung, die dem Inhalt 402 zugeordnet ist, und/oder eine Zeit, zu der interaktiver Inhalt, der den Inhalt 402 umfasst, der an der Vorrichtung 110 ausgegeben wird, umfassen. Die Metrikdaten 332 können die Angabe und die zugeordneten Daten umfassen. Bei einigen Ausführungsformen kann die Metrikkomponente 330 eine andere separate Angabe von der Inhaltshandhabungskomponente 315 empfangen, um zu erfahren, ob der Benutzer 105 die Ausführung der Aktion mit Bezug auf das Element, das in dem Inhalt 402 enthalten ist, anfragt oder nicht. Diese Angabe kann ein boolescher Wert sein (z. B. „Ja“ oder „Nein“). Diese Angabe kann Daten zugeordnet sein, welche die ausgeführte Aktion und eine Zeit, zu der die Aktion ausgeführt wird, umfassen. Die Metrikdaten 332 können die Angabe und die zugeordneten Daten umfassen. Die Metrikdaten 332 können dem oder den Inhaltssystemen 305 bereitgestellt werden, um es dem oder den Inhaltssystemen 305 zu ermöglichen, Interaktionen mit ihrem generierten Inhalt zu verfolgen. Zusätzlich oder alternativ kann die Funktionskomponente 190b gewisse Metrikdaten für das oder die Inhaltssysteme 305 bezüglich der von der Funktionskomponente 190b ausgeführten Aktion bereitstellen. Zum Beispiel kann die Funktionskomponente 190b Metrikdaten bereitstellen, die angeben, wenn der Benutzer 105 einen Einkauf des Elements, das in den elektronischen Warenkorb gelegt wurde, beendet hat, wenn der Benutzer 105 das Element kauft, für den der Gutschein ausgeschnitten wurde, wenn der Benutzer 105 sich den Film/ die Fernsehsendung ansieht, für den bzw. die er den Vorspann angefragt hat, usw.
  • 6 bildet andere Konfigurationen und Arbeitsgänge der Nach-NLU-Einstufungskomponente 165 ab. Wenn die Nach-NLU-Einstufungskomponente 165 NLU-Daten 685 von der NLU-Komponente 160 empfängt, können die NLU-Daten 685 an einen Absicht-Funktion-Paargenerator 602 gesendet werden. Der Absicht-Funktion-Paargenerator 602 kann Informationen darüber umfassen, welche Funktionen in der Lage sind, welche Absichten zu handhaben. Diese Informationen können kontextunwissend sein, und können somit generell angeben, welche Funktionen in der Lage sind, welche Absichten zu handhaben, ohne den Kontext zu berücksichtigen, welcher der Benutzereingabe zugeordnet ist. Der Absicht-Funktion-Paargenerator 602 empfängt somit die NLU-Daten 685 und identifiziert, welche bestimmten Kandidatenfunktionen die Absicht für die NLU-Hypothese handhaben können. Falls zum Beispiel eine NLU-Hypothese eine bestimmte Absicht umfasst, identifiziert der Absicht-Funktion-Paargenerator 602 jede Funktion, die mit Bezug auf die Absicht ausgeführt werden kann. Als ein weiteres Beispiel, falls die NLU-Daten 685 mehrere NLU-Hypothesen umfassen, die mehrere Absichten umfassen, ordnet der Absicht-Funktion-Paargenerator 602 jede unterschiedliche NLU-Hypothese jeder Funktion zu, die mit Bezug auf die NLU-Hypothese ausgeführt werden kann. Wie abgebildet, kann der Absicht-Funktion-Paargenerator 602 als Teil der Nach-NLU-Einstufungskomponente 165 umgesetzt werden. Der Fachmann wird jedoch verstehen, dass der Absicht-Funktion-Paargenerator 602 als Teil der NLU-Komponente 160 oder in einer anderen Komponente umgesetzt werden kann, ohne die vorliegende Offenbarung zu verlassen. In diesem Fall können die NLU-Daten 685 Absicht-Funktion-Paare umfassen.
  • Die Nach-NLU-Einstufungskomponente 165 kann auch eine Vorrichtung zum Einstufen von Absicht-Funktion-Paaren 604 umfassen. Die Vorrichtung zum Einstufen von Absicht-Funktion-Paaren 604 stuft die Absicht-Funktion-Paare, die von dem Absicht-Funktion-Paargenerator 602 generiert werden, beispielsweise basierend auf der Anzahl von gefüllten Leerstellen einer NLU-Hypothese, einer NLU-Konfidenzpunktezahl, die einer NLU-Hypothese zugeordnet ist, Kontextinformationen, die von einem Kontextaggregator 606 ausgegeben werden, und/oder anderen Daten ein.
  • Die Nach-NLU-Einstufungskomponente 165 kann den Kontextaggregator 606 umfassen. Der Kontextaggregator 606 empfängt Kontextdaten 608 von diversen Kontextquellen, einschließlich der interaktiven Inhaltskomponente 192. Die Kontextdaten 608 können Zeitdaten, die eine Zeit des Empfangs der Benutzereingabe durch die Vorrichtung 110 darstellen, eine Zeit des Empfangs der Benutzereingabe durch das oder die Systeme 120, eine Benutzerkennung, die der Benutzereingabe zugeordnet ist, eine Vorrichtungskennung der Vorrichtung 110, ob andere Vorrichtungen mit der Vorrichtung 110 verknüpft sind, und/oder andere Informationen umfassen. Der Kontextaggregator 606 kann die Kontextdaten 608 aggregieren und die Kontextdaten 608 in eine Form bringen, die von der Vorrichtung zum Einstufen von Absicht-Funktion-Paaren 604 verarbeitet werden kann. Die Kontextdaten 608 können Daten umfassen, die von der Vorrichtung 110 oder von anderen Diensten empfangen werden, die mit dem oder den Systemen 120 verbunden sind.
  • Die Kontextdaten 608 können Funktionsverfügbarkeitsdaten umfassen. Derartige Informationen können angeben, welche Funktionen verfügbar sind und die Benutzereingabe verarbeiten dürfen. Falls der Benutzer zum Beispiel nur gewisse Funktionen aktiviert hat, können die aktivierten Funktionen in den Funktionsverfügbarkeitsdaten notiert sein.
  • Die Kontextdaten 608 kann auch Dialogdaten umfassen. Ein „Dialog“ oder eine Dialogsitzung", wie die Begriffe hier verwendet werden, kann sich auf Datenübertragungen (wie etwa bezüglich mehrerer Benutzereingaben und Systemausgaben 120) zwischen dem oder den Systemen 120 und einer lokalen Vorrichtung (z. B. der Vorrichtung 110), die alle eine einzige Ausgangsbenutzereingabe betreffen, beziehen. Somit können sich die Datenübertragungen einer Dialogsitzung eine Dialogkennung oder eine andere einzigartige Kennung teilen, die von der Orchestratorkomponente 130, einer oder mehreren Funktionen 190, einem oder mehreren Funktionsservern 125 usw. verwendet werden kann, um Informationen über die Dialogsitzung zu verfolgen. Zum Beispiel kann die Vorrichtung 110 dem oder den Systemen 120 Daten senden, die „Alexa, spiel ein Quiz“. entsprechen. Das oder die Systeme 120 können Daten, die einer Quiz-Aussage entsprechen, an die Vorrichtung 110 zur Ausgabe an einen oder mehrere Benutzer ausgeben. Ein Benutzer kann dann auf die Aussage antworten, welche die Vorrichtung 110 als Daten an das oder die Systeme 120 sendet. Das Senden von Daten von der Vorrichtung 110 an das oder die Systeme 120 und das Senden von Daten von dem oder den Systemen 120 an die Vorrichtung 110 können alle einer einzigen Dialogsitzung bezüglich der Ausgangsbenutzereingabe „Spiel ein Quiz“ entsprechen. Bei einigen Beispielen kann eine dialogeinleitende Benutzereingabe mit einem Aktivierungswort beginnen und mit einem Befehl, wie etwa „Alexa, spiel ein Quiz“ enden, wobei „Alexa“ das Aktivierungswort ist und „Spiel ein Quiz“ der Befehl ist. Nachfolgende Benutzereingaben der gleichen Dialogsitzung können mit dem Aussprechen eines Aktivierungswortes beginnen oder nicht. Jede Benutzereingabe eines Dialogs kann einer einzigartigen Benutzereingabekennung zugeordnet sein, so dass mehrere Benutzereingabekennungen einer einzigen Dialogsitzungskennung zugeordnet sein können.
  • Die Dialogdaten können interaktive Fokusinformationen umfassen (die z. B. darstellen, welche Funktion als letztes aufgerufen wurde, um eine vorhergehende Benutzereingabe für den Benutzer und/oder die Vorrichtung 110, die der vorliegenden Benutzereingabe zugeordnet ist, auszuführen). Die Dialogdaten können auch Inhaltsfokusinformationen umfassen (die z. B. eine Funktion darstellen, die darin besteht, Daten zu der Vorrichtung 110 zu streamen, wenn die Daten, die der aktuellen Benutzereingabe entsprechen, von dem oder den Systemen 120 empfangen werden). Die Kontextdaten 608 können ein Abschnitt der Daten sein, der von der Vorrichtung zum Einstufen von Absicht-Funktion-Paaren 604 verwendet wird, um zu bestimmen, welche Funktion die aktuelle Benutzereingabe ausführen soll. Somit berücksichtigt anders als gewisse Systeme, die interaktiven Fokus und Inhaltsfokus als binäre Bestimmungen bezüglich der Funktion verwenden, die eine aktuelle Benutzereingabe ausführen soll, die hier offenbarte Architektur den Fokus zusammen mit anderen Daten, wodurch eine unangemessene Leitweglenkung minimiert wird.
  • Die Kontextdaten 608 können auch Vorrichtungsdaten umfassen. Die Vorrichtungsdaten können Kennzeichen der Vorrichtung 10 angeben, von der die Benutzereingabe empfangen wurde. Zum Beispiel können diese Daten Informationen umfassen, wie etwa Anzeigekapazitäten der Vorrichtung, eine Qualität eines oder mehrerer Lautsprecher der Vorrichtung, einen Vorrichtungstyp usw. Gewisse Kapazitäten einer einzelnen Vorrichtung oder Gruppe von Vorrichtungen können in dem System gespeichert werden und während einer bestimmten Interaktion abgefragt werden, um zu bestimmen, ob eine Vorrichtung/ Gruppe von Vorrichtungen eine Rückkehranfrage handhaben kann. Die Vorrichtungsdaten können auch eine Funktion darstellen, die der Vorrichtung 110 zugeordnet ist. Die Vorrichtungsdaten können auch angeben, ob die Vorrichtung 110 gerade Daten streamt oder dabei war, Daten zu streamen, als die Benutzereingabe empfangen und an das oder die Systeme 120 gesendet wurde. Die Kontextdaten 608 (und/oder andere Daten 622) können ein Flag/ einen Indikator für Metadaten umfassen, das bzw. der darstellt, ob die bestimmten Funktion, die gerade ausgeführt wird, eine solche ist, die eine Rückkehr- (oder andere Navigations-) Anfrage handhaben kann.
  • Die Kontextdaten 608 können auch Benutzerprofildaten umfassen. Die Benutzerprofildaten können Präferenzen und/oder Kennzeichen des Benutzers darstellen, von dem die aktuelle Benutzereingabe ausgeht. Diese Daten können von der Profilspeichervorrichtung 170 empfangen werden.
  • Die Kontextdaten 608 können auch Standortdaten umfassen. Die Standortdaten können einen Standort der Vorrichtung 110 darstellen, von der die Benutzereingabe empfangen wurde.
  • Die Kontextdaten 608 können auch Wortwiederholungsdaten umfassen. Die Wortwiederholungsdaten können Daten sein, die verwendet werden, um Wortwiederholungen, Außertextreferenzen oder andere Referenzen (wie etwa Pronomina wie er, sie, es usw.) auf Entitäten aufzulösen, die in einer Benutzereingabe nicht ausdrücklich erwähnt werden. Die Wortwiederholungsdaten können Entitätskennungen oder andere Informationen umfassen, die verwendet werden, um Wortwiederholungsreferenzen in einer Benutzereingabe aufzulösen.
  • Die Kontextdaten 608 können auch Daten darüber umfassen, ob eine oder mehrere Funktionen „im Fokus“ sind. Eine Funktion kann sich in einem interaktiven Fokus befinden, was bedeutet, dass die Funktion die letzte Funktion war, die eine Benutzereingabe für einen Benutzer oder eine Vorrichtung, die einer vorliegenden Benutzereingabe zugeordnet ist, ausgeführt hat, und/oder die Funktion kann mit einem offenen Dialog (z. B. einer Reihe von Benutzereingaben und Antworten) mit einer Benutzervorrichtung zusammenhängen. Der interaktive Fokus versucht, eine Unterhaltung zwischen einem Benutzer und dem System und/oder einer Funktion zum Zweck der Verarbeitung des Dialogs fortzuführen. Es kann jedoch Instanzen geben, bei denen ein Benutzer einen Befehl eingibt, der von der Funktion gehandhabt werden kann, die sich gerade im interaktiven Fokus befindet, von welcher der Benutzer jedoch nicht beabsichtigt, dass sie von dieser Funktion ausgeführt wird. Das System kann die Kontextdaten 608 und andere Daten verarbeiten, um zu bestimmen, wie eine Benutzereingabe am besten zu verarbeiten ist, wenn eine oder mehrere Funktionen im Fokus sein können.
  • Eine Funktion kann alternativ im Inhaltsfokus stehen, was bedeutet, dass die Funktion dem Inhalt zugeordnet ist, der für den Benutzer und/oder die Vorrichtung, die einer aktuellen Benutzereingabe zugeordnet ist, gerade gestreamt wird, wenn die aktuelle Benutzereingabe von dem System empfangen wird. Zum Beispiel kann eine vorhergehende Benutzereingabe „Spiel Musik“ dazu führen, dass das System Musik zu einer Vorrichtung von einer spezifischen Musikfunktion aus streamt. Während die Funktion die Musik streamt, kann derselbe Benutzer eine zweite Benutzereingabe eingeben. Da die zweite Benutzereingabe empfangen wurde, als die Musikfunktion gerade Musik streamte, kann das System diese Musikfunktion in der ersten Instanz anfragen, selbst wenn die zweite Benutzereingabe nicht unbedingt für die Musikfunktion gedacht ist. Die Musikfunktion kann dazu konfiguriert sein, zu versuchen, die nachfolgende Benutzereingabe auszuführen (und möglicherweise einen Fehler auszugeben), obwohl der Benutzer beabsichtigt haben kann, dass eine andere Funktion diese Benutzereingabe ausführt.
  • Die Kontextdaten 608 können auch andere Kontextdaten umfassen, die hier nicht ausdrücklich erwähnt werden.
  • Die Vorrichtung zum Einstufen von Absicht-Funktion-Paaren 604 kann ein oder mehrere eingelernte Modelle betreiben, die dazu konfiguriert sind, die NLU-Daten 685, die Funktionsergebnisdaten 630 und andere Daten 622 zu verarbeiten, um eine einzige beste Funktion zum Ausführen der aktuellen Benutzereingabe von den verfügbaren Paare, die von dem Absicht-Funktion-Paargenerator 602 ausgegeben werden, zu bestimmen. Die Vorrichtung zum Einstufen von Absicht-Funktion-Paaren 604 kann Anfragen an die Funktionen senden und eine erste Funktion und eine zweite Funktion (beispielsweise die Kandidatenfunktionen, die von dem Paargenerator 602 identifiziert werden) fragen, mögliche Ergebnisdaten, die angeben, ob die Funktion die Absicht in dem bestimmten Moment handhaben kann, und wenn ja, welche Ausgabedaten für die bestimmte Funktion wären (z. B. Daten, welche die Funktion einem Benutzer bereitstellen würde, falls die Funktion ausgewählt würde, um die Benutzereingabe auszuführen), basierend auf den NLU-Daten 685 bereitzustellen. Zum Beispiel kann die Vorrichtung zum Einstufen von Absicht-Funktion-Paaren 604 eine erste NLU-Hypothese, die einer ersten Funktion zugeordnet ist, an die erste Funktion zusammen mit einer Anfrage für die erste Funktion, mindestens teilweise mit Bezug auf die erste NLU-Hypothese ausgeführt zu werden, senden. Die Vorrichtung zum Einstufen von Absicht-Funktion-Paaren 604 kann auch eine zweite NLU-Hypothese, die der zweiten Funktion zugeordnet ist, an die zweite Funktion zusammen mit einer Anfrage für die zweite Funktion, mit Bezug auf die zweite NLU-Hypothese mindestens teilweise ausgeführt zu werden, senden. Die Vorrichtung zum Einstufen von Absicht-Funktion-Paaren 604 empfängt von der ersten Funktion erste Ergebnisdaten 630a, die aus der Ausführung der ersten Funktion mit Bezug auf die erste NLU-Hypothese generiert werden. Die Vorrichtung zum Einstufen von Absicht-Funktion-Paaren 604 empfängt auch von der zweiten Funktion zweite Ergebnisdaten 630b, die aus der Ausführung der zweiten Funktion mit Bezug auf die zweite NLU-Hypothese generiert werden. Basierend auf den ersten Ergebnisdaten 630a, einer ersten NLU-Konfidenzpunktezahl, die der ersten NLU-Hypothese zugeordnet ist, den zweiten Ergebnisdaten 630b, einer zweiten NLU-Konfidenzpunktezahl, die der zweiten NLU-Hypothese zugeordnet ist, und anderen Daten 622 (z. B. Kontextdaten, Benutzerprofildaten usw.) bestimmt die Vorrichtung zum Einstufen von Absicht-Funktion-Paaren 604 die beste Funktion zum Ausführen der aktuellen Benutzereingabe. Die Vorrichtung zum Einstufen von Absicht-Funktion-Paaren 604 sendet eine Angabe der besten Funktion an eine Zuteilungskomponente 614.
  • Der Zuteiler 614 kann dann der ausgewählten Funktion die Informationen senden, die zum Ausführen der Benutzereingabe benötigt werden, einschließlich einer Angabe der Absicht, der geeigneten Kontextdaten 608 (wie etwa Vorrichtungskennung, Benutzerkennung oder dergleichen), Leerstellendaten, Äußerungskennung, Dialogkennung oder beliebiger anderer benötigter Informationen.
  • Die Komponenten eines Systems, die verwendet werden können, um eine Einheitenauswahl, eine parametrische TTS-Verarbeitung und/oder eine modellbasierte Audiosynthese vorzunehmen, sind in 7A gezeigt. Wie in 7A gezeigt, kann die TTS-Komponente/ der Prozessor 180 ein TTS-Front-End 716, eine Sprachsynthesemaschine 718, eine TTS-Einheitenspeichervorrichtung 772, eine TTS-Parameterspeichervorrichtung 780 und ein TTS-Back-End 734 umfassen. Die TTS-Einheitenspeichervorrichtung 772 kann unter anderem Stimmenbestände 778a-788n umfassen, die im Voraus aufgezeichnete Audiosegmente (so genannte Einheiten) umfassen können, die von der Einheitenauswahlmaschine 730 zu verwenden sind, wenn eine Einheitenauswahlsynthese erfolgt, wie es nachstehend beschrieben wird. Der TTS-Parameterspeichervorrichtung 780 kann unter anderem Parametereinstellungen 768a-768n umfassen, die von der parametrischen Synthesemaschine 732 verwendet werden können, wenn eine parametrische Synthese erfolgt, wie es nachstehend beschrieben wird. Ein bestimmter Satz von Parametereinstellungen 768 kann einem bestimmten Sprachprofil (z. B. geflüsterter Sprache, aufgeregter Sprache usw.) entsprechen.
  • Bei diversen Ausführungsformen der vorliegenden Offenbarung kann eine modellbasierte Synthese von Audiodaten unter Verwendung eines Sprachmodells 722 und eines TTS-Front-Ends 716 erfolgen. Das TTS-Front-End 716 kann das gleiche sein wie die Front-Ends, die bei der herkömmlichen Einheitenauswahl oder Parametersystemen verwendet werden. Bei anderen Ausführungsformen basieren einige oder alle Komponenten des TTS-Front-Ends 716 auf anderen eingelernten Modellen. Die vorliegende Offenbarung ist jedoch nicht auf eine bestimmte Art von TTS-Front-End 716 eingeschränkt. Das Sprachmodell 722 kann verwendet werden, um Sprache zu synthetisieren, ohne die TTS-Einheitenspeichervorrichtung 772 oder die TTS-Parameterspeichervorrichtung 780 zu benötigen, wie es nachstehend ausführlicher beschrieben wird.
  • Das TTS-Front-End 716 wandelt die Eingabedaten (beispielsweise von einer Anwendung, einem Benutzer, einer Vorrichtung oder anderen Quellen, wie etwa der Ausgabegenerierungskomponente 320 der interaktiven Inhaltskomponente 192) in eine symbolische linguistische Darstellung um, die linguistische Kontextmerkmale, wie etwa Phonemdaten, Zeichensetzungsdaten, Merkmale auf Silbenebene, Merkmale auf Wortebene und/oder Gefühl, Sprecher, Akzent oder andere Merkmale zum Verarbeiten durch die Sprachsynthesemaschine 718 umfassen kann. Die Merkmale auf Silbenebene können Silbenbetonung, Silbensprachgeschwindigkeit, Silbentonfall oder andere derartige Merkmale auf Silbenebene umfassen; die Merkmale auf Wortebene können Wortbetonung, Wortsprachgeschwindigkeit, Worttonfall und andere derartige Merkmale auf Wortebene umfassen. Die Gefühlsmerkmale können Daten umfassen, die einem Gefühl, wie etwa Überraschung, Ärger oder Angst, entsprechen. Die Sprechermerkmale können Daten umfassen, die einer Art des Sprechers, wie etwa Geschlecht, Alter oder Beruf, entsprechen. Die Akzentmerkmale können Daten umfassen, die einem Akzent, der dem Sprecher zugeordnet ist, wie etwa aus dem Süden, aus Boston, Englisch, Französisch, oder einem anderen derartigen Akzent entsprechen. Die Eingabedaten können natürliche Sprachausgabedaten 702 sein, die Textdaten, Symboldaten oder andere strukturierte natürliche Sprachdaten umfassen.
  • Das TTS-Front-End 716 kann auch andere Eingabedaten 715, wie etwa Text-Tags oder Textmetadaten, verarbeiten, die beispielsweise angeben können, wie spezifische Wörter auszusprechen sind, indem sie beispielsweise die gewünschte ausgegebene Sprachqualität in Tags angeben, die gemäß der Sprachsynthese-Auszeichnungssprache (SSML) oder in einer anderen Form formatiert sind. Zum Beispiel kann ein erstes Text-Tag in Text enthalten sein, der den Anfang markiert, von dem an der Text geflüstert werden soll (z. B. <begin whisper>), und ein zweites Tag kann in Text enthalten sein, der das Ende markiert, an dem der Text geflüstert werden soll (z. B. <end whisper>). Die Ausgabegenerierungskomponente 320 kann Tags in der natürlichen Sprachausgabe 702 (oder anderen Eingabedaten 715) umfassen, die angeben, welche Attribute auf welche Abschnitte des Textes anzuwenden sind. Die Tags können in der natürlichen Sprachausgabe 702 enthalten sein, und/oder der Text für eine TTS-Anfrage kann mit getrennten Metadaten einhergehen, die angeben, welcher Text geflüstert werden soll (oder ein anderes angegebenes Audiokennzeichen aufweisen soll). Die Sprachsynthesemaschine 718 kann die angemerkten Modelle von phonetischen Einheiten und Informationen, die in der TTS-Einheitenspeichervorrichtung 772 und/oder der TTS-Parameterspeichervorrichtung 780 gespeichert sind, vergleichen, um den Eingabetext in Sprache umzuwandeln. Das TTS-Front-End 716 und die Sprachsynthesemaschine 718 können ihre eigenen Controller/Prozessoren und Speicher umfassen, oder sie können beispielsweise den Controller/Prozessor und Speicher des Servers 120, der Vorrichtung 110 oder einer anderen Vorrichtung verwenden. Ähnlich können sich die Anweisungen zum Betreiben des TTS-Front-Ends 716 und der Sprachsynthesemaschine 718 in der TTS-Komponente 180, in dem Speicher und/oder der Speichervorrichtung des Servers 120, der Vorrichtung 110 oder in einer externen Vorrichtung befinden.
  • Die natürliche Sprachausgabe 702, die in die TTS-Komponente 180 eingegeben wird, kann an das TTS-Front-End 716 zur Verarbeitung gesendet werden. Das Front-End kann Komponenten umfassen, um Textnormalisierung, linguistische Analyse, linguistische Prosodiegenerierung oder andere derartige Komponenten umfassen. Während der Textnormalisierung kann das TTS-Front-End 716 zuerst die Texteingabe verarbeiten und Standardtext generieren, wobei Dinge wie etwa Zahlen, Abkürzungen (wie etwa Apt., St. usw.), Symbole ($, % usw.) in ihr Gegenstück in ausgeschriebenen Wörtern konvertiert werden.
  • Während der linguistischen Analyse kann das TTS-Front-End 716 die Sprache in dem normalisierten Text analysieren, um eine Sequenz von phonetischen Einheiten zu generieren, die dem Eingabetext entsprechen. Diese Verarbeitung kann als Graphem-zu-Phonem-Konvertierung bezeichnet werden. Die phonetischen Einheiten umfassen symbolische Darstellungen von Toneinheiten, die letztendlich zu kombinieren und von dem System als Sprache auszugeben sind. Diverse Toneinheiten können verwendet werden, um Text zum Zweck der Sprachsynthese zu unterteilen. Die TTS-Komponente 180 kann Sprache basierend auf Phonemen (einzelnen Tönen), Halbphonemen, Diphonen (die letzte Hälfte eines Phonems, die mit der ersten Hälfte des angrenzenden Phonems gekoppelt ist), Biphonen (zwei aufeinanderfolgenden Phonemen), Silben, Wörtern, Redewendungen, Sätzen oder anderen Einheiten verarbeiten. Jedes Wort kann auf eine oder mehrere phonetische Einheiten abgebildet werden. Diese Abbildung kann unter Verwendung eines Sprachwörterbuchs erfolgen, das von dem System gespeichert wird, beispielsweise in der TTS-Speichervorrichtungskomponente 772. Die linguistische Analyse, die von dem TTS-Front-End 716 vorgenommen wird, kann auch unterschiedliche grammatikalische Komponenten identifizieren, wie etwa Präfixe, Suffixe, Redewendungen, Zeichensetzung, syntaktische Grenzen oder dergleichen. Derartige grammatikalische Komponenten können von der TTS-Komponente 180 verwendet werden, um eine natürlich klingende Audiowellenformausgabe zu gestalten. Das Sprachwörterbuch kann auch Buchstabe-zu-Ton-Regeln und andere Hilfsmittel umfassen, die verwendet werden können, um zuvor nicht identifizierte Wörter oder Buchstabenkombinationen auszusprechen, welche die TTS-Komponente 180 vorfinden kann. Im Allgemeinen ist die Qualität der Sprachausgabe umso höher je mehr Informationen in dem Sprachwörterbuch enthalten sind.
  • Basierend auf der linguistischen Analyse kann das TTS-Front-End 716 dann eine linguistische Prosodiegenerierung vornehmen, wobei die phonetischen Einheiten mit gewünschten prosodischen Kennzeichen, die auch als akustische Merkmale bezeichnet werden, angemerkt werden, die angeben, wie die gewünschten phonetischen Einheiten in der letztendlichen Ausgabesprache auszusprechen sind. Während dieser Phase kann das TTS-Front-End 716 eventuelle prosodische Anmerkungen berücksichtigen und einbeziehen, die mit dem Text einhergingen, der in die TTS-Komponente 180 eingegeben wurde. Diese akustischen Merkmale können Merkmale auf Silbenebene, Merkmale auf Wortebene, Gefühl, Sprecher, Akzent, Sprache, Lautstärke, Energie, Dauer und dergleichen umfassen. Die Anwendung von akustischen Merkmalen kann auf prosodischen Modellen basieren, die der TTS-Komponente 180 zur Verfügung stehen. Derartige prosodische Modelle geben an, wie spezifische phonetische Einheiten unter gewissen Umständen auszusprechen sind. Ein prosodisches Modell kann beispielsweise die Position eines Phonems in einer Silbe, die Position einer Silbe in einem Wort, die Position eines Wortes in einem Satz oder einer Redewendung, benachbarte phonetische Einheiten usw. berücksichtigen. Wie bei dem Sprachwörterbuch kann das prosodische Modell mit weiteren Informationen zu einer höheren Qualität der Sprachausgabe als prosodische Modelle mit weniger Informationen führen. Ferner können ein prosodisches Modell und/oder phonetische Einheiten verwendet werden, um bestimmte Sprachqualitäten der zu synthetisierenden Sprache angeben, wobei diese Sprachqualitäten mit den Sprachqualitäten der Eingabesprache übereinstimmen können (beispielsweise können die phonetischen Einheiten prosodische Kennzeichen angeben, um zu bewirken, dass die letztendlich synthetisierte Sprache wie Geflüster klingt, basierend darauf, dass die Eingabesprache geflüstert wird).
  • Die Ausgabe des TTS-Front-Ends 716, die man als symbolische linguistische Darstellung bezeichnen kann, kann eine Sequenz von phonetischen Einheiten umfassen, die mit prosodischen Kennzeichen angemerkt ist. Diese symbolische linguistische Darstellung kann an die Sprachsynthesemaschine 718, die auch Sprachgenerator genannt wird, zur Konvertierung in eine Audiowellenform von Sprache zur Ausgabe an eine Audioausgabevorrichtung und letztendlich an einen Benutzer gesendet werden. Die Sprachsynthesemaschine 718 kann dazu konfiguriert sein, den Eingabetext in hochwertige natürlich klingende Sprache effizient zu konvertieren. Diese hochwertige Sprache kann dazu konfiguriert sein, möglichst gut wie ein menschlicher Sprecher zu klingen, oder kann dazu konfiguriert sein, für einen Zuhörer verständlich zu sein, ohne zu versuchen, eine genaue menschliche Stimme nachzuahmen.
  • Die Sprachsynthesemaschine 718 kann eine Sprachsynthese unter Verwendung eines oder mehrerer unterschiedlicher Verfahren vornehmen. Bei einem Syntheseverfahren, das Einheitenauswahl genannt wird und nachstehend weiter beschrieben wird, gleicht eine Einheitenauswahlmaschine 730 die symbolische linguistische Darstellung, die von dem TTS-Front-End 716 erstellt wird, mit einer Datenbank aufgezeichneter Sprache ab, wie etwa einer Datenbank (z. B. der TTS-Einheitenspeichervorrichtung 772), die Informationen über einen oder mehrere Stimmenkorpora (z. B. die Stimmenbestände 778a-n) speichert. Jeder Stimmenbestand kann diversen Audiosegmenten entsprechen, die von einer sprechenden Person, wie etwa einem Synchronsprecher, aufgezeichnet wurden, wobei die Segmente in einem einzelnen Bestand 778 als akustische Einheiten (z. B. Phoneme, Diphone usw.) gespeichert werden. Jede gespeicherte Audioeinheit kann auch einem Index zugeordnet sein, der diverse akustische Eigenschaften oder andere beschreibende Informationen über die Einheit aufführt. Jede Einheit umfasst eine Audiowellenform, die einer phonetischen Einheit entspricht, wie etwa eine kurze WAV-Datei des spezifischen Tons, zusammen mit einer Beschreibung von diversen Merkmalen, die der Audiowellenform zugeordnet sind. Zum Beispiel kann ein Indexeintrag für eine bestimmte Einheit Informationen umfassen, wie etwa die Tonhöhe, die Energie, die Dauer, die Harmonik, die Mittenfrequenz einer bestimmten Einheit, wobei die phonetische Einheit in einem Wort, einem Satz oder einer Redewendung, den benachbarten phonetischen Einheiten oder dergleichen vorkommt. Die Einheitenauswahlmaschine 730 kann dann die Informationen über jede Einheit verwenden, um Einheiten auszuwählen, die zusammenzufügen sind, um die Sprachausgabe zu bilden.
  • Die Einheitenauswahlmaschine 730 gleicht die symbolische linguistische Darstellung mit Informationen über die gesprochenen Audioeinheiten in der Datenbank ab. Die Einheitendatenbank kann mehrere Beispiele von phonetischen Einheiten umfassen, um dem System viele verschiedene Optionen zum Verketten der Einheiten zu Sprache bereitzustellen. Passende Einheiten, von denen bestimmt wird, dass sie die gewünschten akustischen Qualitäten aufweisen, um das gewünschte Ausgabeaudiomaterial zu erstellen, werden ausgewählt und miteinander verkettet (beispielsweise von einer Synthesekomponente 720), um Ausgabeaudiodaten 790 zu bilden, die synthetische Sprache darstellen. Unter Verwendung aller Informationen in der Einheitendatenbank kann eine Einheitenauswahlmaschine 730 Einheiten mit dem Eingabetext abgleichen, um Einheiten auszuwählen, die eine natürlich klingende Wellenform bilden können. Ein Vorteil der Einheitenauswahl besteht darin, dass in Abhängigkeit von der Größe der Datenbank eine natürlich klingende Sprachausgabe generiert werden kann. Wie zuvor beschrieben ist die Wahrscheinlichkeit, dass das System eine natürlich klingende Sprachausgabe generieren kann, umso größer je größer die Einheitendatenbank des Stimmenkorpus ist.
  • Bei einem anderen Syntheseverfahren - das parametrische Synthese genannt wird - werden Parameter, wie etwa Frequenz, Lautstärke, Rauschen, von einer parametrischen Synthesemaschine 732, einem digitalen Signalprozessor oder einer anderen Audiogenerierungsvorrichtung variiert, um eine künstliche Sprachwellenformausgabe zu erstellen. Die parametrische Synthese verwendet einen computergestützten Sprachgenerator, der manchmal Vocoder genannt wird. Die parametrische Synthese kann ein akustisches Modell und diverse statistische Techniken verwenden, um eine symbolische linguistische Darstellung mit gewünschten Ausgabesprachparametern abzugleichen. Unter Verwendung der parametrischen Synthese kann ein Computersystem (beispielsweise eine Synthesekomponente 720) Audiowellenformen generieren, welche die gewünschten akustischen Eigenschaften aufweisen. Die parametrische Synthese kann die Möglichkeit umfassen, bei hohen Verarbeitungsgeschwindigkeiten ohne große Datenbanken, die der Einheitenauswahl zugeordnet sind, richtig zu sein, können jedoch auch eine Ausgabesprachqualität erzeugen, die vielleicht nicht mit der einer Einheitenauswahl vergleichbar ist. Die Einheitenauswahl und die parametrischen Techniken können einzeln oder miteinander kombiniert und/oder mit anderen Synthesetechniken kombiniert erfolgen, um eine Sprachaudioausgabe zu erzeugen.
  • Die TTS-Komponente 180 kann dazu konfiguriert sein, eine TTS-Verarbeitung in mehreren Sprachen vorzunehmen. Für jede Sprache kann die TTS-Komponente 180 spezifisch konfigurierte Daten, Anweisungen und/oder Komponenten umfassen, um Sprache in der oder den gewünschten Sprachen zu synthetisieren. Um die Leistung zu verbessern, kann die TTS-Komponente 180 den Inhalt der TTS-Parameterspeichervorrichtung 780 basierend auf der Rückmeldung der Ergebnisse der TTS-Verarbeitung revidieren/aktualisieren, wodurch die TTS-Komponente 180 die Spracherkennung verbessern kann.
  • Die TTS-Parameterspeicherkomponente 780 kann für einen einzelnen Benutzer basierend auf seiner individuellen gewünschten Sprachausgabe spezifisch angepasst werden. Insbesondere kann die Spracheinheit, die in einer Einheitendatenbank gespeichert ist, aus Eingabeaudiodaten des sprechenden Benutzers genommen werden. Zum Beispiel zum Erstellen der spezifisch angepassten Sprachausgabe des Systems kann das System mit mehreren Stimmenbeständen 778a-778n konfiguriert sein, wobei jede Einheitendatenbank mit einer anderen „Stimme“ konfiguriert ist, um mit den gewünschten Sprachqualitäten übereinzustimmen. Derartige Stimmenbestände können auch mit Benutzerkonten verknüpft sein. Die Stimme kann von der TTS-Komponente 180 ausgewählt werden, um die Sprache zu synthetisieren. Zum Beispiel kann ein Stimmenkorpus gespeichert werden, um verwendet zu werden, um geflüsterte Sprache (oder Sprache, die ähnlich wie geflüsterte Sprache ist) zu synthetisieren, ein anderer kann gespeichert werden, um verwendet zu werden, um aufgeregte Sprache (oder Sprache, die ähnlich wie aufgeregte Sprache ist) zu synthetisieren, und so weiter. Um die verschiedenen Stimmenkorpora zu erstellen, kann eine Vielzahl von TTS-Trainingsäußerungen von einer Person (wie etwa einem Synchronsprecher) gesprochen und von dem System aufgezeichnet werden. Das Audiomaterial, das den TTS-Trainingsäußerungen zugeordnet ist, kann dann in kleine Audiosegmente aufgeteilt und als Teil eines Stimmenkorpus gespeichert werden. Die Person, welche die TTS-Trainingsäußerungen spricht, kann mit verschiedenen Stimmqualitäten sprechen, um die spezifisch angepassten Stimmenkorpora zu erstellen, beispielsweise kann die Person die Trainingsäußerungen flüstern, sie mit einer aufgeregten Stimme sagen, und so weiter. Somit kann das Audiomaterial jedes spezifisch angepassten Stimmenkorpus mit der jeweiligen gewünschten Sprachqualität übereinstimmen. Der spezifisch angepasste Stimmenbestand 778 kann dann während der Laufzeit verwendet werden, um eine Einheitenauswahl vorzunehmen, um Sprache zu synthetisieren, die eine Sprachqualität aufweist, die der Eingabesprachqualität entspricht.
  • Zudem kann die parametrische Synthese verwendet werden, um Sprache mit der gewünschten Sprachqualität zu synthetisieren. Für die parametrische Synthese können Parametermerkmale konfiguriert werden, die mit der gewünschten Sprachqualität übereinstimmen. Falls simulierte aufgeregte Sprache erwünscht war, können Parametermerkmale eine erhöhte Sprachgeschwindigkeit und/oder Tonhöhe für die sich ergebende Sprache angeben. Viele andere Beispiele sind möglich. Die gewünschten Parametermerkmale für bestimmte Sprachqualitäten können in einem „Stimmen-“ Profil (z. B. Parametereinstellungen 768) gespeichert und für die Sprachsynthese verwendet werden, wenn die spezifische Sprachqualität erwünscht ist. Spezifisch angepasste Stimmen können basierend auf mehreren kombinierten gewünschten Sprachqualitäten erstellt werden (entweder für eine Einheitenauswahl oder für eine parametrische Synthese). Zum Beispiel kann eine Stimme „geschrien“ werden, während eine andere Stimme „geschrien und betont“ sein kann. Viele derartige Kombinationen sind möglich.
  • Bei einigen Ausführungsformen kann die TTS-Komponente 180 den Stimmenbestand 778 und/oder die Parametereinstellung 768 auswählen, um die synthetische Sprache zu generieren, basierend auf einem Sprachprofil, das den Inhaltsdaten 402 zugeordnet ist oder von dem oder den Inhaltssystemen 305 angegeben wird.
  • Die Einheitenauswahl-Sprachsynthese kann folgendermaßen erfolgen. Die Einheitenauswahl umfasst einen Prozess in zwei Schritten. Zuerst bestimmt eine Einheitenauswahlmaschine 730, welche Spracheinheiten zu verwenden sind, und dann kombiniert sie diese, so dass die bestimmten kombinierten Einheiten mit den gewünschten Phonemen und akustischen Merkmalen übereinstimmen und die gewünschte Sprachausgabe erstellen. Die Einheiten können basierend auf einer Kostenfunktion ausgewählt werden, die darstellt, wie gut bestimmte Einheiten zu den zu synthetisierenden Segmenten passen. Die Kostenfunktion kann eine Kombination von verschiedenen Kosten darstellen, die verschiedene Aspekte davon darstellen, wie gut eine bestimmte Spracheinheit für ein bestimmtes Sprachsegment funktionieren kann. Beispielsweise geben Zielkosten an, wie gut eine einzelne gegebene Spracheinheit mit den Merkmalen einer gewünschten Sprachausgabe (z. B. Tonhöhe, Prosodie usw.) übereinstimmt. Verbindungskosten stellen dar, wie gut eine bestimmte Spracheinheit mit einer angrenzenden Spracheinheit (z. B. einer Spracheinheit, die direkt vor oder direkt nach der bestimmten Spracheinheit erscheint) zum Zweck des Verkettens der Spracheinheiten miteinander in der letztendlichen synthetischen Sprache übereinstimmt. Die Gesamtkostenfunktion ist eine Kombination von Zielkosten, Verbindungskosten und anderen Kosten, die von der Einheitenauswahlmaschine 730 bestimmt werden können. Als Teil der Einheitenauswahl wählt die Einheitenauswahlmaschine 730 die Spracheinheit mit den niedrigsten kombinierten Gesamtkosten. Zum Beispiel muss nicht unbedingt eine Spracheinheit mit sehr geringen Zielkosten ausgewählt werden, falls ihre Verbindungskosten hoch sind.
  • Das System kann mit einem oder mehreren Stimmenkorpora für die Einheitenauswahl konfiguriert sein. Jeder Stimmenkorpus kann eine Spracheinheitendatenbank umfassen. Die Spracheinheitendatenbank kann in der TTS-Einheitenspeichervorrichtung 772 oder in einer anderen Speichervorrichtungskomponente gespeichert sein. Zum Beispiel können unterschiedliche Einheitenauswahldatenbanken in der TTS-Einheitenspeichervorrichtung 772 gespeichert sein. Jede Spracheinheitendatenbank (z. B. Stimmenbestand) umfasst aufgezeichnete Sprachäußerungen, wobei der entsprechende Text der Äußerungen auf die Äußerungen ausgerichtet ist. Eine Spracheinheitendatenbank kann viele Stunden von aufgezeichneter Sprache (als Audiowellenformen, Merkmalsvektoren oder andere Formate) umfassen, die einen Großteil der Speichervorrichtung einnehmen können. Die Mustereinheiten in der Spracheinheitendatenbank können auf diverse Art und Weise klassifiziert werden, einschließlich nach phonetischer Einheit (Phonem, Diphon, Wort usw.), linguistischer prosodischer Bezeichnung, akustischer Merkmalssequenz, Sprecheridentität usw. Die Musteräußerungen können verwendet werden, um mathematische Modelle zu erstellen, die der gewünschten Audioausgabe für bestimmte Spracheinheiten entsprechen. Wenn eine symbolische linguistische Darstellung abgeglichen wird, kann die Sprachsynthesemaschine 718 versuchen, eine Einheit in der Spracheinheitendatenbank auszuwählen, die am besten mit dem Eingabetext übereinstimmt (einschließlich sowohl phonetischer Einheiten als auch prosodischer Anmerkungen). Im Allgemeinen gilt, dass je größer der Stimmenkorpus/ die Spracheinheitendatenbank, desto besser kann die Sprachsynthese anhand der größeren Anzahl von Mustereinheiten, die ausgewählt werden können, um die genaue gewünschte Sprachausgabe zu bilden, erreicht werden.
  • Eine Vocoder-basierte parametrische Sprachsynthese kann folgendermaßen erfolgen. Eine TTS-Komponente 180 kann ein akustisches Modell oder andere Modelle umfassen, die eine symbolische linguistische Darstellung in eine synthetische akustische Wellenform der Texteingabe basierend auf einer Audiosignalmanipulation konvertieren können. Das akustische Modell umfasst Regeln, die von der parametrischen Synthesemaschine 732 verwendet werden können, um spezifische Audiowellenformparameter eingegebenen phonetischen Einheiten und/oder prosodischen Anmerkungen zuzuweisen. Die Regeln können verwendet werden, um eine Punktezahl zu berechnen, die eine Wahrscheinlichkeit darstellt, dass ein oder mehrere bestimmte Audioausgabeparameter (wie etwa Frequenz, Lautstärke usw.) dem Abschnitt der eingegebenen symbolischen linguistischen Darstellung von dem TTS-Front-End 716 entsprechen.
  • Die parametrische Synthesemaschine 732 kann eine Anzahl von Techniken verwenden, um die zu synthetisierende Sprache mit den eingegebenen phonetischen Einheiten und/oder den prosodischen Anmerkungen abzugleichen. Eine übliche Technik ist die Verwendung von Hidden-Markov-Modellen (HMMs). Die HMMs können verwendet werden, um Wahrscheinlichkeiten zu bestimmen, dass eine Audioausgabe mit einer Texteingabe übereinstimmt. Die HMMs können verwendet werden, um Parameter aus dem linguistischen und akustischen Raum in die Parameter zu übersetzen, die von einem Vocoder (dem digitalen Stimmencodierer) verwendet werden sollen, um die gewünschte Sprache künstlich zu synthetisieren. Unter Verwendung von HMMs wird eine Anzahl von Zuständen präsentiert, bei denen die Zustände zusammen einen oder mehrere mögliche akustische Parameter darstellen, die an den Vocoder auszugeben sind, und jeder Zustand wird einem Modell zugeordnet, wie etwa einem Gaußschen Mischverteilungsmodell. Die Übergänge zwischen den Zuständen können auch eine zugeordnete Wahrscheinlichkeit aufweisen, die eine Wahrscheinlichkeit darstellt, dass ein aktueller Zustand von einem vorhergehenden Zustand aus erreicht werden kann. Auszugebende Töne können als Wege zwischen den Zuständen des HMM dargestellt werden, und mehrere Wege können mehrere mögliche Audioübereinstimmungen für den gleichen Eingabetext darstellen. Jeder Textabschnitt kann durch mehrere mögliche Zustände dargestellt werden, die verschiedenen bekannten Aussprachen von Phonemen und ihren Teilen entsprechen (wie etwa der Phonemidentität, der Betonung, dem Akzent, der Position usw.). Eine anfängliche Bestimmung einer Wahrscheinlichkeit eines möglichen Phonems kann einem Zustand zugeordnet sein. Wenn neuer Text von der Sprachsynthesemaschine 718 verarbeitet wird, kann sich der Zustand ändern oder gleich bleiben, basierend auf der Verarbeitung des neuen Textes. Zum Beispiel könnte sich die Aussprache eines zuvor verarbeiteten Wortes basierend auf später verarbeiteten Wörtern ändern. Ein Viterbi-Algorithmus kann verwendet werden, um die wahrscheinlichste Sequenz von Zuständen basierend auf dem verarbeiteten Text zu finden. Die HMMs können Sprache in parametrisierter Form generieren, wozu Parameter gehören, wie etwa Grundfrequenz (f0), Rausch-Hüllkurve, Spektralhüllkurve usw., die von einem Vocoder in Audiosegmente übersetzt werden. Die Ausgabeparameter können für bestimmte Vocoder, wie etwa einen STRAIGHT-Vocoder, einen TANDEM-STRAIGHT-Vocoder, WORLD-Vocoder, einen HNM-(Oberwelle zusammen mit Rauschen) basierten Vocoder, CELP- (codeangeregte lineare Vorhersage) Vocoder, GlottHMM-Vocoder, HSM- (harmonische/stochastische Modell) Vocoder oder andere konfiguriert sein.
  • Zusätzlich zu dem Berechnen möglicher Zustände für eine Audiowellenform als eine mögliche Übereinstimmung mit einer phonetischen Einheit kann die parametrische Synthesemaschine 732 auch mögliche Zustände für andere mögliche Audioausgaben (wie etwa diverse Möglichkeiten der Aussprache eines bestimmten Phonems oder Diphons) als mögliche akustische Übereinstimmungen für die akustische Einheit berechnen. Auf diese Art und Weise können mehrere Zustände und Zustandsübergangswahrscheinlichkeiten berechnet werden.
  • Die wahrscheinlichen Zustände und wahrscheinlichen Zustandsübergänge, die von der parametrischen Synthesemaschine 732 berechnet werden, können zu einer Anzahl von möglichen Audioausgabesequenzen führen. Basierend auf dem akustischen Modell und anderen möglichen Modellen können die möglichen Audioausgabesequenzen gemäß einem Konfidenzniveau der parametrischen Synthesemaschine 732 gepunktet werden. Die Audioausgabesequenz mit der höchsten Punktezahl, die einen Strom von zu synthetisierenden Parametern umfasst, kann ausgewählt werden, und eine digitale Signalverarbeitung kann von einem Vocoder oder einer ähnlichen Komponente vorgenommen werden, um eine Audioausgabe zu erstellen, die synthetische Sprachwellenformen umfasst, die den Parametern der Audioausgabesequenz mit der höchsten Punktezahl, und falls die richtige Sequenz ausgewählt wurde, auch dem Eingabetext entsprechen. Die verschiedenen Parametereinstellungen 768, die akustische Einstellungen darstellen können, die mit einer bestimmten parametrischen „Stimme“ übereinstimmen, können von der Synthesekomponente 720 verwendet werden, um letztendlich die Ausgabeaudiodaten 790 zu erstellen.
  • Wenn die Einheitenauswahl vorgenommen wird, können, nachdem eine Einheit von der Einheitenauswahlmaschine 730 ausgewählt wurde, die Audiodaten, die der Einheit entsprechen, an die Synthesekomponente 720 weitergegeben werden. Die Synthesekomponente 720 kann dann die Audiodaten der Einheit verarbeiten, um geänderte Audiodaten zu erstellen, wobei die geänderten Audiodaten eine gewünschte Audioqualität wiedergeben. Die Synthesekomponente 720 kann diverse Arbeitsgänge speichern, die Einheitenaudiodaten in geänderte Audiodaten konvertieren können, wobei unterschiedliche Arbeitsgänge basierend auf dem gewünschten Audioeffekt (z. B. Flüstern, Schreien usw.) ausgeführt werden können.
  • Zum Beispiel kann der Eingabetext zusammen mit Metadaten, wie etwa mit SSML-Tags, die angeben, dass ein ausgewählter Abschnitt des Eingabetextes geflüstert werden soll, wenn er von der TTS-Komponente 180 ausgegeben wird, empfangen werden. Für jede Einheit, die dem ausgewählten Abschnitt entspricht, kann die Synthesekomponente 720 die Audiodaten für diese Einheit verarbeiten, um geänderte Einheitenaudiodaten zu erstellen. Die geänderten Einheitenaudiodaten können dann verkettet werden, um die Ausgabeaudiodaten 790 zu bilden. Die geänderten Einheitenaudiodaten können auch mit nicht geänderten Audiodaten verkettet werden, je nachdem, wann die gewünschte geflüsterte Sprache anfängt und/oder endet. Obwohl die geänderten Audiodaten ausreichen können, um den Ausgabeaudiodaten die gewünschten Audioqualitäten zu verleihen, können sich auch andere Faktoren auf die letztendliche Audioausgabe auswirken, wie etwa die Wiedergabegeschwindigkeit, Hintergrundeffekte oder dergleichen, die außerhalb der Kontrolle der TTS-Komponente 180 liegen können. In diesem Fall können andere Ausgabedaten 785 zusammen mit den Ausgabeaudiodaten 790 ausgegeben werden, so dass eine letztendliche Wiedergabevorrichtung (z. B. Vorrichtung 110) Anweisungen zur Wiedergabe empfängt, die zum Erstellen des gewünschten Ausgabeaudiomaterials beitragen können. Somit können die anderen Ausgabedaten 785 Anweisungen oder andere Daten, die Einstellungen der Wiedergabevorrichtung angeben (wie etwa Lautstärke, Wiedergabegeschwindigkeit usw.) oder andere Daten, die angeben, wie Ausgabeaudiodaten, die synthetische Sprache umfassen, auszugeben sind, umfassen. Zum Beispiel für geflüsterte Sprache können die Ausgabeaudiodaten 790 andere Ausgabedaten 785 umfassen, die ein Prosodie-Tag oder einen anderen Indikator umfassen können, der die Vorrichtung 110 anweist, die Wiedergabe der Ausgabeaudiodaten 790 zu verlangsamen, wodurch der letztendliche Audioton eher wie geflüsterte Sprache ist, die typischerweise langsamer als normale Sprache ist. Bei einem anderen Beispiel können die anderen Ausgabedaten 785 ein Lautstärke-Tag umfassen, das die Vorrichtung 110 anweist, die Sprache auf einem Lautstärkepegel auszugeben, der geringer als eine aktuelle Lautstärkeeinstellung der Vorrichtung 110 ist, wodurch der leise Flüstereffekt verbessert wird.
  • 7B bildet eine Ausführungsform des Sprachmodells 722 ab. Das Sprachmodell kann einen Codierer 750, einen Aufmerksamkeitsmechanismus 752 und einen Decodierer 754 umfassen. Diese Anordnung von Komponenten kann als Sequenz-zu-Sequenz-Modell bezeichnet werden. Der Codierer 750 und/oder der Decodierer 754 können neuronale Netze sein, die eine oder mehrere Ebenen aufweisen. Diese Ebenen können aus einem oder mehreren Knoten bestehen; jeder Knoten kann Eingabedaten oder die Ausgabe eines Knotens einer vorhergehenden Ebene empfangen und diese Daten gemäß einer oder mehreren Modellgewichtungen verarbeiten. Zum Beispiel kann ein Knoten einen Wert einer Eingabe mit einer Modellgewichtung multiplizieren, um eine Ausgabe zu erzeugen. Die neuronalen Netze können tiefe neuronale Netze (DNNs), neuronale Faltungsnetze (CNNs) und/oder rekurrente neuronale Netze (RNNs) sein. Die neuronalen Netze können unter Verwendung von Trainingsdaten, wie etwa Aufzeichnungen von Äußerungen und entsprechendem Text eingelernt werden.
  • Der Codierer 750 kann die natürliche Sprachausgabe 702 empfangen. Der Codierer 750 kann diese Informationen in einen Kontextvektor codieren, der in den Decodierer 754 eingegeben wird. Wahlweise kann ein Aufmerksamkeitsmechanismus 752 diesen Kontextvektor sowie Ausgaben von anderen Knoten des Codierers 750 empfangen und unterschiedliche Ausgaben des Codierers 750 unterschiedlich gewichten (z. B. „Aufmerksamkeit schenken“). Der Decodierer 754 kann dann Ausgabeaudiodaten 790 (welche die Antwortdaten umfassen können) unter Verwendung des Kontextvektors und/oder der Ausgabe des Aufmerksamkeitsmechanismus 752 generieren.
  • 8 ist ein Blockdiagramm, das eine Vorrichtung 110 des Systems 100 konzeptuell abbildet. 9 ist ein Blockdiagramm, das beispielhafte Komponenten einer entfernten Vorrichtung, wie etwa des Systems 120 und des Funktionssystems 125 konzeptuell abbildet. Ein System (120/125) kann einen oder mehrere Server umfassen. Ein „Server“, wie der Begriff hier verwendet wird, kann sich auf einen herkömmlichen Server beziehen, wie er in einer Server-/Client-Struktur zu verstehen ist, kann sich jedoch auch auf eine Anzahl von verschiedenen Computerkomponenten beziehen, die zu den hier besprochenen Arbeitsgängen beitragen können. Zum Beispiel kann ein Server eine oder mehrere physische Computerkomponenten (wie etwa einen Rack-Server) umfassen, die mit anderen Vorrichtungen/Komponenten entweder physisch und/oder über ein Netzwerk verbunden sind, und ist in der Lage, Rechenoperationen vorzunehmen. Ein Server kann auch eine oder mehrere virtuelle Maschinen umfassen, die ein Computersystem emulieren und auf einem oder über mehrere Vorrichtungen ablaufen. Ein Server kann auch andere Kombinationen von Hardware, Software, Firmware oder dergleichen umfassen, um die hier besprochenen Arbeitsgänge vorzunehmen. Das System (120/125) kann dazu konfiguriert sein, unter Verwendung eines oder mehrerer von einem Client-Server-Modell, einem Bürocomputermodell, Grid-Computing-Techniken, Fog-Computing-Techniken, Großrechnertechniken, Utility-Computing-Techniken, einem Peer-to-Peer-Modell, Sandboxtechniken oder anderen Computertechniken betrieben zu werden.
  • Es können mehrere Systeme (120/125) in dem System 100 der vorliegenden Offenbarung enthalten sein, wie etwa ein oder mehrere Systeme 120 und/oder eine oder mehrere Funktionen 125. Im Betrieb kann jedes dieser Systeme computerlesbare und computerausführbare Anweisungen umfassen, die sich auf der jeweiligen Vorrichtung (120/125) befinden, wie es nachstehend noch besprochen wird.
  • Jede dieser Vorrichtungen (110/120/125) kann einen oder mehrere Controller/Prozessoren (804/904) umfassen, die jeweils eine Zentraleinheit (CPU) zum Verarbeiten von Daten und computerlesbaren Anweisungen umfassen können, und einen Speicher (806/906) zum Speichern von Daten und Anweisungen der jeweiligen Vorrichtung umfassen. Die Speicher (806/906) können einzeln einen flüchtigen Arbeitsspeicher (RAM), eine nicht flüchtigen Festspeicher (ROM), einen nicht flüchtigen magnetoresistiven Speicher (MRAM) und/oder andersartige Speicher umfassen. Jede Vorrichtung (110/120/125) kann auch eine Datenspeicherkomponente (808/908) zum Speichern von Daten und Controller-/Prozessor-ausführbaren Anweisungen umfassen. Jede Datenspeicherkomponente (808/908) kann einzeln eine oder mehrere nicht flüchtige Speichervorrichtungsarten umfassen, wie etwa eine Magnetspeichervorrichtung, eine optische Speichervorrichtung, eine Festkörperspeichervorrichtung usw. Jede Vorrichtung (110/120/125) kann auch mit einem abnehmbaren oder externen nicht flüchtigen Speicher und/oder einer Speichervorrichtung (wie etwa einer abnehmbaren Speicherkarte, einem Schlüsselspeicher, einer vernetzten Speichervorrichtung usw.) über jeweilige Ein-/Ausgabe-Vorrichtungsschnittstellen (802/902) verbunden sein.
  • Computeranweisungen zum Betreiben jeder Vorrichtung (110/120/125) und ihrer diversen Komponenten können von den Controllern/Prozessoren (804/904) der jeweiligen Vorrichtung als zeitweilige „Arbeits-“ Speichervorrichtung zur Laufzeit ausgeführt werden. Die Computeranweisungen einer Vorrichtung können nicht vorübergehend in einem nicht flüchtigen Speicher (806/906), einer Speichervorrichtung (808/908) oder einer oder mehreren externen Vorrichtungen gespeichert werden. Alternativ können einige oder alle der ausführbaren Anweisungen in Hardware oder Firmware an der jeweiligen Vorrichtung zusätzlich oder anstelle von Software integriert sein.
  • Jede Vorrichtung (110/120/125) umfasst Ein-/Ausgabe-Vorrichtungsschnittstellen (802/902). Diverse Komponenten können über die Ein-/Ausgabe-Vorrichtungsschnittstellen (802/902) verbunden werden, die es nachstehend noch besprochen wird. Zudem kann jede Vorrichtung (110/120/125) einen Adress-/Datenbus (824/924) umfassen, um Daten zwischen den Komponenten der jeweiligen Vorrichtung zu übermitteln. Jede Komponente in einer Vorrichtung (110/120/125) kann auch direkt mit anderen Komponenten verbunden sein zusätzlich dazu (oder anstelle), dass sie mit anderen Komponenten über den Bus (824/924) verbunden ist.
  • Mit Bezug auf 8 kann die Vorrichtung 110 Ein-/Ausgabe-Vorrichtungsschnittstellen 802 umfassen, die mit diversen Komponenten verbunden sind, wie etwa mit einer Audioausgabekomponente, wie etwa einem Lautsprecher 812, einem drahtgebundenen Kopfhörer oder einem drahtlosen Kopfhörer (nicht abgebildet) oder einer anderen Komponente, die Audiomaterial ausgeben kann. Die Vorrichtung 110 kann auch eine Audioaufnahmekomponente umfassen. Die Audioaufnahmekomponente kann beispielsweise ein Mikrophon 820 oder eine Anordnung von Mikrophonen, ein drahtgebundener Kopfhörer oder ein drahtloser Kopfhörer (nicht abgebildet) usw. sein. Falls eine Anordnung von Mikrophonen enthalten ist, kann die ungefähre Distanz zum Ursprungspunkt eines Tons durch akustische Lokalisierung basierend auf Zeit- und Amplitudendifferenzen zwischen den Tönen, die von verschiedenen Mikrophonen der Anordnung aufgenommen werden, bestimmt werden. Die Vorrichtung 110 kann zusätzlich ein Display 816 zum Anzeigen von Inhalt umfassen. Die Vorrichtung 110 kann ferner eine Kamera 818 umfassen.
  • Über eine oder mehrere Antennen 814 können die Ein-/Ausgabe-Vorrichtungsschnittstellen 802 mit einem oder mehreren Netzwerken 199 über drahtlosen lokalen Netzwerk- (WLAN) Funk (wie etwa WiFi), Bluetooth und/oder drahtlosen Netzwerkfunk, wie etwa ein Funkgerät, das in der Lage ist, mit einem drahtlosen Kommunikationsnetzwerk, wie etwa mit einem LTE- („Long Term Evolution“) Netzwerk, einem WiMAX-Netzwerk, einem 3G-Netzwerk, einem 4G-Netzwerk, einem 5G-Netzwerk usw. zu kommunizieren, verbunden sein. Eine drahtgebundene Verbindung, wie etwa Ethernet, kann ebenfalls unterstützt werden. Über das oder die Netzwerke 199 kann das System über eine vernetzte Umgebung verteilt sein. Die E/A-Vorrichtungsschnittstelle (802/902) kann auch Kommunikationskomponenten umfassen, die es ermöglichen, dass Daten zwischen Vorrichtungen, wie etwa verschiedenen physischen Servern in einer Sammlung von Servern oder anderen Komponenten, ausgetauscht werden.
  • Die Komponenten der Vorrichtung 110, das System 120 und/oder die Funktion 125 können ihre eigenen dedizierten Prozessoren, Speicher und/oder Speichervorrichtungen umfassen. Alternativ können eine oder mehrere der Komponenten der Vorrichtung 110, das System 120 und/oder die Funktion 125 die E/A-Schnittstellen (802/902), den oder die Prozessoren (804/904), die Speicher (806/906) und/oder die Speichervorrichtungen (808/908) jeweils der Vorrichtung 110, des Systems 120 und/oder der Funktion 125 verwenden.
  • Wie zuvor erwähnt, können mehrere Vorrichtungen in einem einzigen System verwendet werden. In einem derartigen System mit mehreren Vorrichtungen kann jede der Vorrichtungen verschiedene Komponenten zum Ausführen verschiedener Aspekte der Verarbeitung des Systems umfassen. Die mehreren Vorrichtungen können überlappende Komponenten umfassen. Die Komponenten der Vorrichtung 110, das System 120 und die Funktion 125, wie sie hier beschrieben werden, sind erläuternd und können als autonome Vorrichtung aufgestellt sein oder können ganz oder teilweise als Komponente einer größeren Vorrichtung oder eines Systems enthalten sein.
  • Wie in 10 abgebildet, können mehrere Vorrichtungen (110a-110j, 120, 125) Komponenten des Systems enthalten, und die Vorrichtungen können über ein oder mehrere Netzwerke 199 verbunden sein. Das oder die Netzwerke 199 können ein lokales oder privates Netzwerk umfassen, oder können ein Großraumnetzwerk, wie etwa Internet, umfassen. Es können Vorrichtungen mit dem oder den Netzwerken 199 entweder über drahtgebundene oder über drahtlose Verbindungen verbunden werden. Zum Beispiel können eine sprachsteuerbare Vorrichtung 110a, ein Smartphone 110b, eine intelligente Armbanduhr 110c, ein Tablet-Computer 110d, ein Fahrzeug 110e, eine sprachsteuerbare Anzeigevorrichtung 110f, ein intelligenter Fernseher 110g, eine Waschmaschine/ ein Trockner 110h, ein Kühlschrank 110i und/oder eine Mikrowelle 110j mit dem oder den Netzwerken 199 über einen drahtlosen Anbieter, über eine WiFi- oder Mobilfunk-Netzwerkverbindung oder dergleichen verbunden sein. Andere Vorrichtungen sind als netzwerkverbundene Hilfsvorrichtungen enthalten, wie etwa das System 120, die Funktion 125 und/oder andere. Die Hilfsvorrichtungen können mit dem oder den Netzwerken 199 über eine drahtgebundene Verbindung oder drahtlose Verbindung verbunden sein.
  • Die hier offenbarten Konzepte können in einer Anzahl verschiedener Vorrichtungen und Computersysteme angewendet werden, wozu beispielsweise universelle Computersysteme, Sprachverarbeitungssysteme und verteilte Computerumgebungen gehören.
  • Das Vorstehende ist auch angesichts der folgenden Paragraphen zu verstehen.
  • 1. Ein computerumgesetztes Verfahren, umfassend: Empfangen, von einer Vorrichtung, von ersten Audiodaten, die eine erste gesprochene Eingabe darstellen; Bestimmen, dass die erste gesprochene Eingabe die Ausgabe eines ersten Inhalts anfragt; Bestimmen einer ersten Funktion, die in der Lage ist, den ersten Inhalt auszugeben; Senden, an die erste Funktion, von ersten Daten, die der ersten gesprochenen Eingabe entsprechen, um es der ersten Funktion zu ermöglichen, mindestens einen ersten Abschnitt des ersten Inhalts an der Vorrichtung auszugeben; Bestimmen, durch die erste Funktion, dass ein zweiter Inhalt an der Vorrichtung auszugeben ist, nachdem mindestens der erste Abschnitt des ersten Inhalts ausgegeben wurde, wobei der zweite Inhalt Informationen für ein Element darstellt; Bestimmen von ersten Ausgabedaten, umfassend: einen ersten Abschnitt, der zweite Audiodaten umfasst, die einer ersten synthetischen Sprache entsprechen, die angibt, dass interaktiver Inhalt ausgegeben wird, und einen zweiten Abschnitt, der dritte Audiodaten umfasst, die dem zweiten Inhalt entsprechen; Senden der ersten Ausgabedaten an die Vorrichtung; Empfangen, von der Vorrichtung und nach Senden der ersten Ausgabedaten, von vierten Audiodaten, die eine zweite gesprochene Eingabe darstellen; Bestimmen, dass die zweite gesprochene Eingabe das Ausführen einer ersten Aktion anfragt, die dem Element zugeordnet ist; Bestimmen einer zweiten Funktion, die in der Lage ist, die erste Aktion auszuführen; und Senden, an die zweite Funktion, eines ersten Befehls, die erste Aktion mit Bezug auf das Element auszuführen.
  • 2. Das computerumgesetzte Verfahren nach Paragraph 1, ferner umfassend: Speichern, als Reaktion auf das Senden der ersten Ausgabedaten an die Vorrichtung, von Kontextdaten, die angeben, dass der zweite Inhalt an der Vorrichtung ausgegeben wird; Bestimmen einer Dauer der Zeit, die zwischen der Ausgabe der ersten Ausgabedaten und dem Empfang der zweiten gesprochenen Eingabe verstrichen ist; Bestimmen, basierend auf den Kontextdaten und der Dauer der Zeit, dass die zweite gesprochene Eingabe auf die ersten Ausgabedaten reagiert; und Senden, als Reaktion auf das Bestimmen, dass die zweite gesprochene Eingabe auf die ersten Ausgabedaten reagiert, von zweiten Daten, die der zweiten gesprochenen Eingabe entsprechen, an eine interaktive Inhaltskomponente zur Verarbeitung, wobei die interaktive Inhaltskomponente bestimmt, dass die zweite gesprochene Eingabe die Ausführung der ersten Aktion unter Verwendung von gespeicherten Daten, die dem Element entsprechen, anfragt.
  • 3. Das computerumgesetzte Verfahren nach Paragraph 1 oder 2, ferner umfassend: Speichern, als Reaktion auf das Senden der ersten Ausgabedaten, von Funktionsfokusdaten, die darstellen, dass der ersten Funktion ein erster Inhalt präsentiert wurde, bevor die ersten Ausgabedaten gesendet wurden; Empfangen, von der zweiten Funktion und nach dem Senden des ersten Befehls, einer Angabe, dass die erste Aktion beendet ist; und basierend auf dem Empfangen der Angabe und der Funktionsfokusdaten, Senden, an die erste Funktion, eines zweiten Befehls, die Ausgabe von mindestens einem zweiten Abschnitt des ersten Inhalts wiederaufzunehmen.
  • 4. Das computerumgesetzte Verfahren nach Paragraph 1, 2 oder 3, wobei die ersten Ausgabedaten einer interaktiven Inhaltskomponente zugeordnet sind, und das Verfahren ferner umfasst: Empfangen, von der zweiten Funktion, von zweiten Ausgabedaten, die der Ausführung der ersten Aktion entsprechen; Senden der zweiten Ausgabedaten an die Vorrichtung; und nach dem Senden der zweiten Ausgabedaten an die Vorrichtung, Senden, durch die interaktive Inhaltskomponente, eines zweiten Befehls an die erste Funktion, die Ausgabe von mindestens einem zweiten Abschnitt des ersten Inhalts wiederaufzunehmen.
  • 5. Ein computerumgesetztes Verfahren, umfassend: Bewirken, dass eine Vorrichtung einen ersten Inhalt ausgibt, der einer ersten Funktionskomponente zugeordnet ist; Bestimmen, dass ein zweiter Inhalt auszugeben ist, wobei der zweite Inhalt einem ersten Element entspricht; Generieren von ersten Ausgabedaten, umfassend: einen ersten Abschnitt, der darstellt, dass ein interaktiver Inhalt ausgegeben wird, und einen zweiten Abschnitt, der dem zweiten Inhalt entspricht; und Senden der ersten Ausgabedaten an die Vorrichtung.
  • 6. Das computerumgesetzte Verfahren nach Paragraph 5, ferner umfassend: Empfangen, von der Vorrichtung, von ersten Audiodaten, die eine gesprochene Eingabe darstellen; Bestimmen einer Dauer der Zeit, die zwischen der Ausgabe der ersten Ausgabedaten an der Vorrichtung und dem Empfang der ersten Audiodaten verstrichen ist; basierend auf der Dauer der Zeit, Bestimmen, dass die gesprochene Eingabe den ersten Ausgabedaten entspricht; und Senden von Daten, die den ersten Audiodaten entsprechen, an eine interaktive Inhaltskomponente zur Verarbeitung.
  • 7. Das computerumgesetzte Verfahren nach Paragraph 5 oder 6, ferner umfassend: Empfangen, von der Vorrichtung, von ersten Audiodaten, die eine gesprochene Eingabe darstellen; Bestimmen von Daten einer automatischen Spracherkennung (ASR), die den ersten Audiodaten entsprechen; Bestimmen, unter Verwendung der ASR-Daten, von Daten zum Verstehen natürlicher Sprache (NLU), die den ersten Audiodaten entsprechen; Bestimmen von Kontextdaten, die angeben, dass die ersten Ausgabedaten an der Vorrichtung ausgegeben wurden; basierend auf den Kontextdaten, Bestimmen, dass die gesprochene Eingabe dem zweiten Inhalt entspricht; und Verarbeiten der ASR-Daten und der NLU-Daten unter Verwendung einer interaktiven Inhaltskomponente.
  • 8. Das computerumgesetzte Verfahren nach Paragraph 7, ferner umfassend: Bestimmen, unter Verwendung der ASR-Daten und der NLU-Daten, dass die gesprochene Eingabe das Ausführen einer ersten Aktion anfragt, die dem ersten Element zugeordnet ist; Bestimmen, unter Verwendung von gespeicherten Daten, die dem zweiten Inhalt zugeordnet sind, dass eine zweite Funktionskomponente aufzurufen ist, um die erste Aktion auszuführen; und Senden, an die zweite Funktionskomponente, einer ersten Angabe der ersten Aktion und einer zweiten Angabe des ersten Elements.
  • 9. Das computerumgesetzte Verfahren nach Paragraph 5, 6, 7 oder 8, ferner umfassend: vor dem Senden der ersten Ausgabedaten, Empfangen, von der Vorrichtung, einer Eingabe, welche die Ausgabe des ersten Inhalts anfragt; Bestimmen von zweiten Ausgabedaten, die dem ersten Inhalt entsprechen, wobei die zweiten Ausgabedaten eine Zeitbedingung umfassen, wann interaktiver Inhalt ausgegeben werden kann; Senden der zweiten Ausgabedaten an die Vorrichtung; nachdem ein Abschnitt der zweiten Ausgabedaten ausgegeben wurde, Bestimmen, dass die Zeitbedingung erfüllt ist; und Senden, an die Vorrichtung, der ersten Ausgabedaten als Reaktion darauf, dass die Zeitbedingung erfüllt ist.
  • 10. Das computerumgesetzte Verfahren nach Paragraph 5, 6, 7, 8 oder 9, wobei die ersten Ausgabedaten einer interaktiven Inhaltskomponente zugeordnet sind, und das Verfahren ferner umfasst: Speichern, basierend auf dem Senden der ersten Ausgabedaten an die Vorrichtung, von Funktionsfokusdaten, die darstellen, dass die erste Funktionskomponente dabei war, einen ersten Abschnitt des ersten Inhalts vor den ersten Ausgabedaten auszugeben; Empfangen einer Eingabe, die das Ausführen einer Aktion anfragt, die dem ersten Element zugeordnet ist; Bestimmen, durch die interaktive Inhaltskomponente und unter Verwendung der Eingabe, einer zweiten Funktionskomponente, um die Aktion auszuführen; Empfangen, von der zweiten Funktionskomponente, einer Angabe, dass das Ausführen der Aktion beendet ist; und basierend auf dem Empfangen der Angabe und der Funktionsfokusdaten, Senden, an die erste Funktionskomponente, eines Befehls, die Ausgabe eines zweiten Abschnitts des ersten Inhalts wiederaufzunehmen.
  • 11. Das computerumgesetzte Verfahren nach Paragraph 5, 6, 7, 8, 9 oder 10, ferner umfassend: nach der Ausgabe der ersten Ausgabedaten, Empfangen, von der Vorrichtung, einer Benutzereingabe; Bestimmen, dass die Benutzereingabe das Ausführen einer Aktion anfragt, die dem ersten Element zugeordnet ist; Bestimmen einer Kontokennung, die der Vorrichtung entspricht; Speichern von Daten, welche die Aktion und den zweiten Inhalt der Kontokennung zuordnen; und Senden der Daten an ein System, das den zweiten Inhalt generiert hat.
  • 12. Das computerumgesetzte Verfahren nach Paragraph 5, 6, 7, 8, 9, 10 oder 11, wobei die ersten Ausgabedaten generiert werden, um einen dritten Abschnitt zu umfassen, eine Aktion darstellt, die mit Bezug auf das erste Element ausgeführt werden kann.
  • 13. Ein System, umfassend: mindestens einen Prozessor; und mindestens einen Speicher, der Anweisungen umfasst, die, wenn sie von dem mindestens einen Prozessor ausgeführt werden, das System veranlassen zum: Bewirken, dass eine Vorrichtung einen ersten Inhalt ausgibt, der einer ersten Funktionskomponente zugeordnet ist; Bestimmen, dass ein zweiter Inhalt auszugeben ist, wobei der zweite Inhalt einem ersten Element entspricht; Generieren von ersten Ausgabedaten, umfassend: einen ersten Abschnitt, der darstellt, dass ein interaktiver Inhalt ausgegeben wird, und einen zweiten Abschnitt, der dem zweiten Inhalt entspricht; und Senden der ersten Ausgabedaten an die Vorrichtung.
  • 14. Das System nach Paragraph 13, wobei der mindestens eine Speicher weitere Anweisungen umfasst, die, wenn sie von dem mindestens einen Prozessor ausgeführt werden, ferner das System veranlassen zum: Empfangen, von der Vorrichtung, von ersten Audiodaten, die eine gesprochene Eingabe darstellen; Bestimmen einer Dauer der Zeit, die zwischen der Ausgabe der ersten Ausgabedaten an der Vorrichtung und dem Empfang der ersten Audiodaten verstrichen ist; basierend auf der Dauer der Zeit, Bestimmen, dass die gesprochene Eingabe den ersten Ausgabedaten entspricht; und Senden von Daten, die den ersten Audiodaten entsprechen, an eine interaktive Inhaltskomponente zur Verarbeitung.
  • 15. Das System nach Paragraph 13 oder 14, wobei der mindestens eine Speicher ferner Anweisungen aufweist, die, wenn sie von dem mindestens einen Prozessor ausgeführt werden, ferner das System veranlassen zum: Empfangen, von der Vorrichtung, von ersten Audiodaten, die eine gesprochene Eingabe darstellen; Bestimmen von Daten einer automatischen Spracherkennung (ASR), die den ersten Audiodaten entsprechen; Bestimmen, unter Verwendung der ASR-Daten, von Daten zum Verstehen natürlicher Sprache (NLU), die den ersten Audiodaten entsprechen; Bestimmen von Kontextdaten, die angeben, dass die ersten Ausgabedaten an der Vorrichtung ausgegeben wurden; basierend auf den Kontextdaten, Bestimmen, dass die gesprochene Eingabe dem zweiten Inhalt entspricht; und Verarbeiten der ASR-Daten und der NLU-Daten unter Verwendung einer interaktiven Inhaltskomponente.
  • 16. Das System nach Paragraph 15, wobei der mindestens eine Speicher weitere Anweisungen umfasst, die, wenn sie von dem mindestens einen Prozessor ausgeführt werden, ferner das System veranlassen zum: Bestimmen, unter Verwendung der ASR-Daten und der NLU-Daten, dass die gesprochene Eingabe das Ausführen einer ersten Aktion anfragt, die dem ersten Element zugeordnet ist; Bestimmen, unter Verwendung von gespeicherten Daten, die dem zweiten Inhalt zugeordnet sind, dass eine zweite Funktionskomponente aufzurufen ist, um die erste Aktion auszuführen; und Senden, an die zweite Funktionskomponente, einer ersten Angabe der ersten Aktion und einer zweiten Angabe des ersten Elements.
  • 17. Das System nach Paragraph 13, 14, 15 oder 16, wobei der mindestens eine Speicher weitere Anweisungen umfasst, die, wenn sie von dem mindestens einen Prozessor ausgeführt werden, ferner das System veranlassen zum: vor dem Senden der ersten Ausgabedaten, Empfangen, von der Vorrichtung, einer Eingabe, welche die Ausgabe des ersten Inhalts anfragt; Bestimmen von zweiten Ausgabedaten, die dem ersten Inhalt entsprechen, wobei die zweiten Ausgabedaten eine Zeitbedingung umfassen, wann interaktiver Inhalt ausgegeben werden kann; Senden der zweiten Ausgabedaten an die Vorrichtung; nachdem ein Abschnitt der zweiten Ausgabedaten ausgegeben wurde, Bestimmen, dass die Zeitbedingung erfüllt ist; und Senden, an die Vorrichtung, der ersten Ausgabedaten als Reaktion darauf, dass die Zeitbedingung erfüllt ist.
  • 18. Das System nach Paragraph 13, 14, 15, 16 oder 17, wobei die ersten Ausgabedaten einer interaktiven Inhaltskomponente zugeordnet sind, und wobei der mindestens eine Speicher weitere Anweisungen umfasst, die, wenn sie von dem mindestens einen Prozessor ausgeführt werden, ferner das System veranlassen zum: Speichern, basierend auf dem Senden der ersten Ausgabedaten an die Vorrichtung, von Funktionsfokusdaten, die darstellen, dass die erste Funktionskomponente dabei war, einen ersten Abschnitt des ersten Inhalts vor den ersten Ausgabedaten auszugeben; Empfangen einer Eingabe, die das Ausführen einer Aktion anfragt, die dem ersten Element zugeordnet ist; Bestimmen, durch die interaktive Inhaltskomponente und unter Verwendung der Eingabe, einer zweiten Funktionskomponente, um die Aktion auszuführen; Empfangen, von der zweiten Funktionskomponente, einer Angabe, dass das Ausführen der Aktion beendet ist; und basierend auf dem Empfangen der Angabe und der Funktionsfokusdaten, Senden, an die erste Funktionskomponente, eines Befehls, die Ausgabe eines zweiten Abschnitts des ersten Inhalts wiederaufzunehmen.
  • 19. Das System nach Paragraph 13, 14, 15, 16, 17 oder 18, wobei der mindestens eine Speicher weitere Anweisungen umfasst, die, wenn sie von dem mindestens einen Prozessor ausgeführt werden, ferner das System veranlassen zum: nach der Ausgabe der ersten Ausgabedaten, Empfangen, von der Vorrichtung, einer Benutzereingabe; Bestimmen, dass die Benutzereingabe das Ausführen einer Aktion anfragt, die dem ersten Element zugeordnet ist; Bestimmen einer Kontokennung, die der Vorrichtung entspricht; Speichern von ersten Daten, welche die Aktion und den ersten Inhalt der Kontokennung zuordnen; und Senden der ersten Daten an ein System, das den ersten Inhalt generiert hat.
  • 20. Das System nach Paragraph 13, 14, 15, 16, 17, 18 oder 19, wobei der mindestens eine Speicher weitere Anweisungen umfasst, die, wenn sie von dem mindestens einen Prozessor ausgeführt werden, ferner das System veranlassen zum: Generieren der ersten Ausgabedaten, so dass sie einen dritten Abschnitt umfassen, der eine Aktion darstellt, die mit Bezug auf das erste Element ausgeführt werden kann.
  • Die obigen Aspekte der vorliegenden Offenbarung sind dazu gedacht, erläuternd zu sein. Sie wurden gewählt, um die Grundlagen und die Anwendung der Offenbarung zu erklären, und sind nicht dazu gedacht, erschöpfend zu sein oder die Offenbarung einzuschränken. Zahlreiche Änderungen und Varianten der offenbarten Aspekte können für den Fachmann offensichtlich sein. Der Fachmann auf dem Gebiet der Computer und der Sprachverarbeitung wird erkennen, dass die hier beschriebenen Komponenten und Arbeitsschritte mit anderen Komponenten oder Schritten oder Kombinationen von Komponenten oder Schritten austauschbar sind und dennoch die Vorzüge und Vorteile der vorliegenden Offenbarung erreichen. Des Weiteren sollte es für den Fachmann offensichtlich sein, dass die Offenbarung ohne einige oder alle der hier offenbarten spezifischen Einzelheiten und Schritte in die Praxis umgesetzt werden kann.
  • Die Aspekte des offenbarten Systems können als Computerverfahren oder als Herstellungsgegenstand, wie etwa als Speichervorrichtung oder als nicht vorübergehendes computerlesbares Speichermedium umgesetzt werden. Das computerlesbare Speichermedium kann von einem Computer lesbar sein und kann Anweisungen umfassen, um zu bewirken, dass ein Computer oder eine andere Vorrichtung Prozesse ausführt, die in der vorliegenden Offenbarung beschrieben werden. Das computerlesbare Speichermedium kann als flüchtiger Computerspeicher, nicht flüchtiger Computerspeicher, Festplatte, Festkörperspeicher, Flash-Laufwerk, Wechselplatte und/oder als andere Medien umgesetzt werden. Zudem können die Komponenten des Systems als Firmware oder Hardware umgesetzt werden, wie etwa als akustisches Front-End (AFE), das unter anderem analoge und/oder digitale Filter umfasst (z. B. Filter, die als Firmware für einen digitalen Signalprozessor (DSP) konfiguriert sind).
  • Die hier verwendete bedingte Ausdrucksweise, wie etwa unter anderem „kann“, „könnte“, „z. B.“ und dergleichen, soweit nicht spezifisch anderweitig angegeben oder anderweitig im verwendeten Kontext zu verstehen, ist im Allgemeinen dazu gedacht, zu vermitteln, dass gewisse Ausführungsformen gewisse Merkmale, Elemente und/oder Schritte umfassen, während andere Ausführungsform diese nicht umfassen. Somit ist diese bedingte Ausdrucksweise im Allgemeinen nicht dazu gedacht nahezulegen, dass Merkmale, Elemente und/oder Schritte irgendwie für eine oder mehrere Ausführungsformen erforderlich sind, oder dass eine oder mehrere Ausführungsformen unbedingt eine Logik zur Entscheidung mit oder ohne weitere Eingabe oder Aufforderung, ob diese Merkmale, Elemente und/oder Schritte enthalten sind oder in einer beliebigen bestimmten Ausführungsform auszuführen sind, umfassen müssen. Die Begriffe „umfassend“, „aufweisend“ und dergleichen sind Synonyme und werden inklusiv und offen verwendet und schließen zusätzliche Elemente, Merkmale, Aktionen, Arbeitsgänge und so weiter nicht aus. Auch wird der Begriff „oder“ im inklusiven Sinne (und nicht im exklusiven Sinne) verwendet, so dass, wenn er verwendet wird, um beispielsweise eine Liste mit Elemente zu verbinden, der Begriff „oder“ ein, einige oder alle Elemente der Liste bedeutet.
  • Eine disjunktive Ausdrucksweise, wie etwa der Ausdruck „mindestens eines von X, Y, Z“, soweit nicht spezifisch anderweitig angegeben, ist in dem verwendeten Kontext im Allgemeinen als ein Element, einen Begriff usw. präsentierend zu verstehen, der entweder X, Y oder Z oder eine beliebige Kombination davon (z. B. X, Y und/oder Z) sein kann. Somit ist eine derartige disjunktive Ausdrucksweise im Allgemeinen nicht dazu gedacht nachzulegen, und soll nicht nahelegen, dass gewisse Ausführungsformen erfordern, dass mindestens eines von X, mindestens eines von Y oder mindestens eines von Z vorhanden ist.
  • Wie er in der vorliegenden Offenbarung verwendet wird, kann der Begriff „ein, eine, ein“ ein oder mehrere Elemente umfassen, soweit nicht spezifisch anderweitig angegeben. Ferner ist der Ausdruck „basierend auf“ dazu gedacht, „mindestens teilweise basierend auf“ zu bedeuten, soweit nicht spezifisch anderweitig angegeben.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • US 17/356877 [0001]

Claims (15)

  1. Computerumgesetztes Verfahren, umfassend: Bewirken, dass eine Vorrichtung einen ersten Inhalt ausgibt, der einer ersten Funktionskomponente zugeordnet ist; Bestimmen, dass ein zweiter Inhalt auszugeben ist, wobei der zweite Inhalt einem ersten Element entspricht; Generieren von ersten Ausgabedaten, umfassend: einen ersten Abschnitt, der darstellt, dass ein interaktiver Inhalt ausgegeben wird, und einen zweiten Abschnitt, der dem zweiten Inhalt entspricht; und Senden der ersten Ausgabedaten an die Vorrichtung.
  2. Computerumgesetztes Verfahren nach Anspruch 1, ferner umfassend: Empfangen, von der Vorrichtung, von ersten Audiodaten, die eine gesprochene Eingabe darstellen; Bestimmen einer Dauer der Zeit, die zwischen der Ausgabe der ersten Ausgabedaten an der Vorrichtung und dem Empfang der ersten Audiodaten verstrichen ist; basierend auf der Dauer der Zeit, Bestimmen dass die gesprochene Eingabe den ersten Ausgabedaten entspricht; und Senden von Daten, die den ersten Audiodaten entsprechen, an eine interaktive Inhaltskomponente zur Verarbeitung.
  3. Computerumgesetztes Verfahren nach Anspruch 1 oder 2, ferner umfassend: Empfangen, von der Vorrichtung, von ersten Audiodaten, die eine gesprochene Eingabe darstellen; Bestimmen von Daten einer automatischen Spracherkennung (ASR), die den ersten Audiodaten entsprechen; Bestimmen, unter Verwendung der ASR-Daten, von Daten zum Verstehen natürlicher Sprache (NLU), die den ersten Audiodaten entsprechen; Bestimmen von Kontextdaten, die angeben, dass die ersten Ausgabedaten an der Vorrichtung ausgegeben wurden; basierend auf den Kontextdaten, Bestimmen, dass die gesprochene Eingabe dem zweiten Inhalt entspricht; und Verarbeiten der ASR-Daten und der NLU-Daten unter Verwendung einer interaktiven Inhaltskomponente.
  4. Computerumgesetztes Verfahren nach Anspruch 3, ferner umfassend: Bestimmen, unter Verwendung der ASR-Daten und der NLU-Daten, dass die gesprochene Eingabe das Ausführen einer ersten Aktion, die dem ersten Element zugeordnet ist, anfragt; Bestimmen, unter Verwendung der gespeicherten Daten, die dem zweiten Inhalt zugeordnet sind, dass eine zweite Funktionskomponente aufzurufen ist, um die erste Aktion auszuführen; und Senden, an die zweite Funktionskomponente, einer ersten Angabe der ersten Aktion und einer zweiten Angabe des ersten Elements.
  5. Computerumgesetztes Verfahren nach Anspruch 1, 2, 3 oder 4, ferner umfassend: vor dem Senden der ersten Ausgabedaten, Empfangen, von der Vorrichtung, einer Eingabe, welche die Ausgabe des ersten Inhalts anfragt; Bestimmen von zweiten Ausgabedaten, die dem ersten Inhalt entsprechen, wobei die zweiten Ausgabedaten eine Zeitbedingung umfassen, wann interaktiver Inhalt ausgegeben werden kann; Senden der zweiten Ausgabedaten an die Vorrichtung; nachdem ein Abschnitt der zweiten Ausgabedaten ausgegeben wurde, Bestimmen dass die Zeitbedingung erfüllt ist; und Senden, an die Vorrichtung, der ersten Ausgabedaten als Reaktion darauf, dass die Zeitbedingung erfüllt ist.
  6. Computerumgesetztes Verfahren nach Anspruch 1, 2, 3, 4 oder 5, wobei die ersten Ausgabedaten einer interaktiven Inhaltskomponente zugeordnet sind, und das Verfahren ferner umfasst: Speichern, basierend auf dem Senden der ersten Ausgabedaten an die Vorrichtung, von Funktionsfokusdaten, die darstellen, dass die erste Funktionskomponente dabei war, einen ersten Abschnitt des ersten Inhalts vor den ersten Ausgabedaten auszugeben; Empfangen einer Eingabe, die das Ausführen einer Aktion, die dem ersten Element zugeordnet ist, anfragt; Bestimmen, durch die interaktive Inhaltskomponente und unter Verwendung der Eingabe, einer zweiten Funktionskomponente, um die Aktion auszuführen; Empfangen, von der zweiten Funktionskomponente, einer Angabe, dass das Ausführen der Aktion beendet ist; und basierend auf dem Empfangen der Angabe und den Funktionsfokusdaten, Senden, an die erste Funktionskomponente, eines Befehls, die Ausgabe eines zweiten Abschnitts des ersten Inhalts wiederaufzunehmen.
  7. Computerumgesetztes Verfahren nach Anspruch 1, 2, 3, 4, 5 oder 6, ferner umfassend: nach dem Ausgeben der ersten Ausgabedaten, Empfangen einer Benutzereingabe von der Vorrichtung; Bestimmen, dass die Benutzereingabe das Ausführen einer Aktion, die dem ersten Element zugeordnet ist, anfragt; Bestimmen einer Kontokennung, die der Vorrichtung entspricht; Speichern von Daten, welche die Aktion und den zweiten Inhalt der Kontokennung zuordnen; und Senden der Daten an ein System, das den zweiten Inhalt generiert hat.
  8. Computerumgesetztes Verfahren nach Anspruch 1, 2, 3, 4, 5, 6 oder 7, wobei das Generieren der ersten Ausgabedaten einen dritten Abschnitt umfasst, der eine Aktion darstellt, die mit Bezug auf das erste Element ausgeführt werden kann.
  9. System, umfassend: mindestens einen Prozessor; und mindestens einen Speicher, der Anweisungen umfasst, die, wenn sie von dem mindestens einen Prozessor ausgeführt werden, das System veranlassen zum: Bewirken, dass eine Vorrichtung einen ersten Inhalt ausgibt, der einer ersten Funktionskomponente zugeordnet ist; Bestimmen, dass ein zweiter Inhalt auszugeben ist, wobei der zweite Inhalt einem ersten Element entspricht; Generieren von ersten Ausgabedaten, umfassend: einen ersten Abschnitt, der darstellt, dass ein interaktiver Inhalt ausgegeben wird, und einen zweiten Abschnitt, der dem zweiten Inhalt entspricht; und Senden der ersten Ausgabedaten an die Vorrichtung.
  10. System nach Anspruch 9, wobei der mindestens eine Speicher weitere Anweisungen umfasst, die, wenn sie von dem mindestens einen Prozessor ausgeführt werden" ferner das System veranlassen zum: Empfangen, von der Vorrichtung, von ersten Audiodaten, die eine gesprochene Eingabe darstellen; Bestimmen einer Dauer der Zeit, die zwischen der Ausgabe der ersten Ausgabedaten an der Vorrichtung und dem Empfang der ersten Audiodaten verstrichen ist; basierend auf die Dauer der Zeit, Bestimmen, dass die gesprochene Eingabe den ersten Ausgabedaten entspricht; und Senden der Daten, die den ersten Audiodaten entsprechen, an eine interaktive Inhaltskomponente zur Verarbeitung.
  11. System nach Anspruch 9 oder 10, wobei der mindestens eine Speicher weitere Anweisungen umfasst, die, wenn sie von dem mindestens einen Prozessor ausgeführt werden,, ferner das System veranlassen zum: Empfangen, von der Vorrichtung, von ersten Audiodaten, die eine gesprochene Eingabe darstellen; Bestimmen von Daten einer automatischen Spracherkennung (ASR), die den ersten Audiodaten entsprechen; Bestimmen, unter Verwendung der ASR-Daten, von Daten zum Verstehen natürlicher Sprache (NLU), die den ersten Audiodaten entsprechen; Bestimmen von Kontextdaten, die angeben, dass die ersten Ausgabedaten an der Vorrichtung ausgegeben wurden; basierend auf den Kontextdaten, Bestimmen, dass die gesprochene Eingabe dem zweiten Inhalt entspricht; und Verarbeiten der ASR-Daten und der NLU-Daten unter Verwendung einer interaktiven Inhaltskomponente.
  12. System nach Anspruch 11, wobei der mindestens eine Speicher weitere Anweisungen umfasst, die, wenn sie von dem mindestens einen Prozessor ausgeführt werden" ferner das System veranlassen zum: Bestimmen, unter Verwendung der ASR-Daten und der NLU-Daten, dass die gesprochene Eingabe das Ausführen einer ersten Aktion, die dem ersten Element zugeordnet ist, anfragt; Bestimmen, unter Verwendung der gespeicherten Daten, die dem zweiten Inhalt zugeordnet sind, dass eine zweite Funktionskomponente aufzurufen ist, um die erste Aktion auszuführen; und Senden, an die zweite Funktionskomponente, einer ersten Angabe der ersten Aktion und einer zweiten Angabe des ersten Elements.
  13. System nach Anspruch 9, 10, 11 oder 12, wobei der mindestens eine Speicher weitere Anweisungen umfasst, die, wenn sie von dem mindestens einen Prozessor ausgeführt werden, ferner das System veranlassen zum: vor dem Senden der ersten Ausgabedaten, Empfangen, von der Vorrichtung, einer Eingabe, welche die Ausgabe des ersten Inhalts anfragt; Bestimmen von zweiten Ausgabedaten, die dem ersten Inhalt entsprechen, wobei die zweiten Ausgabedaten eine Zeitbedingung umfassen, wann interaktiver Inhalt ausgegeben werden kann; Senden der zweiten Ausgabedaten an die Vorrichtung; nachdem ein Abschnitt der zweiten Ausgabedaten ausgegeben wurde, Bestimmen, dass die Zeitbedingung erfüllt ist; und Senden, an die Vorrichtung, der ersten Ausgabedaten als Reaktion darauf, dass die Zeitbedingung erfüllt ist.
  14. System nach Anspruch 9, 10, 11, 12 oder 13, wobei die ersten Ausgabedaten einer interaktiven Inhaltskomponente zugeordnet sind, und wobei der mindestens eine Speicher weitere Anweisungen umfasst, die, wenn sie von dem mindestens einen Prozessor ausgeführt werden, ferner das System veranlassen zum: Speichern, basierend auf dem Senden der ersten Ausgabedaten an die Vorrichtung, von Funktionsfokusdaten, die darstellen, dass die erste Funktionskomponente dabei war, einen ersten Abschnitt des ersten Inhalts vor den ersten Ausgabedaten auszugeben; Empfangen einer Eingabe, die das Ausführen einer Aktion anfragt, die dem ersten Element zugeordnet ist; Bestimmen, durch die interaktive Inhaltskomponente und unter Verwendung der Eingabe, einer zweiten Funktionskomponente, um die Aktion auszuführen; Empfangen, von der zweiten Funktionskomponente, einer Angabe, dass das Ausführen der Aktion beendet ist; und basierend auf dem Empfangen der Angabe und der Funktionsfokusdaten, Senden, an die erste Funktionskomponente, eines Befehls, das Ausgeben eines zweiten Abschnitts des ersten Inhalts wiederaufzunehmen.
  15. System nach Anspruch 9, 10, 11, 12, 13 oder 14, wobei der mindestens eine Speicher weitere Anweisungen umfasst, die, wenn sie von dem mindestens einen Prozessor ausgeführt werden, ferner das System veranlassen zum: nach dem Ausgeben der ersten Ausgabedaten, Empfangen einer Benutzereingabe von der Vorrichtung; Bestimmen, dass die Benutzereingabe das Ausführen einer Aktion anfragt, die dem ersten Element zugeordnet ist; Bestimmen einer Kontokennung, die der Vorrichtung entspricht; Speichern der ersten Daten, welche die Aktion und den ersten Inhalt der Kontokennung zuordnen; und Senden der ersten Daten an ein System, das den ersten Inhalt generiert hat.
DE112022000504.1T 2021-06-24 2022-06-06 Interaktive Inhaltsausgabe Pending DE112022000504T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US17/356,877 2021-06-24
US17/356,877 US11810556B2 (en) 2021-06-24 2021-06-24 Interactive content output
PCT/US2022/032307 WO2022271435A1 (en) 2021-06-24 2022-06-06 Interactive content output

Publications (1)

Publication Number Publication Date
DE112022000504T5 true DE112022000504T5 (de) 2024-03-07

Family

ID=82482753

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112022000504.1T Pending DE112022000504T5 (de) 2021-06-24 2022-06-06 Interaktive Inhaltsausgabe

Country Status (5)

Country Link
US (2) US11810556B2 (de)
CN (1) CN116917984A (de)
DE (1) DE112022000504T5 (de)
GB (1) GB2618276A (de)
WO (1) WO2022271435A1 (de)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10127908B1 (en) 2016-11-11 2018-11-13 Amazon Technologies, Inc. Connected accessory for a voice-controlled device
US10366692B1 (en) * 2017-05-15 2019-07-30 Amazon Technologies, Inc. Accessory for a voice-controlled device

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9767794B2 (en) 2014-08-11 2017-09-19 Nuance Communications, Inc. Dialog flow management in hierarchical task dialogs
US10269351B2 (en) 2017-05-16 2019-04-23 Google Llc Systems, methods, and apparatuses for resuming dialog sessions via automated assistant
US10878438B2 (en) 2017-12-04 2020-12-29 Spotify Ab Audio advertising interaction with voice interactive devices
US10924571B1 (en) * 2018-10-31 2021-02-16 Amazon Technologies, Inc. Sending information to users
US11657095B1 (en) * 2020-03-31 2023-05-23 Amazon Technologies, Inc. Supplemental content placement for natural language interfaces

Also Published As

Publication number Publication date
US20240087562A1 (en) 2024-03-14
GB202312305D0 (en) 2023-09-27
WO2022271435A1 (en) 2022-12-29
US20220415307A1 (en) 2022-12-29
GB2618276A (en) 2023-11-01
CN116917984A (zh) 2023-10-20
US11810556B2 (en) 2023-11-07

Similar Documents

Publication Publication Date Title
US11823678B2 (en) Proactive command framework
DE112021001064T5 (de) Vorrichtungsgerichtete Äußerungserkennung
US11538478B2 (en) Multiple virtual assistants
US11887580B2 (en) Dynamic system response configuration
US11837225B1 (en) Multi-portion spoken command framework
DE112022000504T5 (de) Interaktive Inhaltsausgabe
US11289082B1 (en) Speech processing output personalization
US11749282B1 (en) Goal-oriented dialog system
DE112021000959T5 (de) Synthetische Sprachverarbeitung
US11579841B1 (en) Task resumption in a natural understanding system
US11699441B2 (en) Contextual content for voice user interfaces
US20220358930A1 (en) Generating event output
DE112021000292T5 (de) Sprachverarbeitungssystem
US11955112B1 (en) Cross-assistant command processing
US20240029708A1 (en) Visual responses to user inputs
US20230360633A1 (en) Speech processing techniques
CN117882131A (zh) 多个唤醒词检测
US11763809B1 (en) Access to multiple virtual assistants
US11741965B1 (en) Configurable natural language output
US11908463B1 (en) Multi-session context
US11837229B1 (en) Interaction data and processing natural language inputs
US11922938B1 (en) Access to multiple virtual assistants
US20240096316A1 (en) Multi-assistant device control
US20240105171A1 (en) Data processing in a multi-assistant system

Legal Events

Date Code Title Description
R012 Request for examination validly filed