DE112020002531T5 - Emotionsdetektion unter verwendung der sprechergrundlinie - Google Patents

Emotionsdetektion unter verwendung der sprechergrundlinie Download PDF

Info

Publication number
DE112020002531T5
DE112020002531T5 DE112020002531.4T DE112020002531T DE112020002531T5 DE 112020002531 T5 DE112020002531 T5 DE 112020002531T5 DE 112020002531 T DE112020002531 T DE 112020002531T DE 112020002531 T5 DE112020002531 T5 DE 112020002531T5
Authority
DE
Germany
Prior art keywords
data
audio data
user
audio
representing
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
DE112020002531.4T
Other languages
English (en)
Inventor
Daniel Kenneth Bone
Chao Wang
Viktor Rozgic
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 DE112020002531T5 publication Critical patent/DE112020002531T5/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/48Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use
    • G10L25/51Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use for comparison or discrimination
    • G10L25/63Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use for comparison or discrimination for estimating an emotional state
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/18Speech classification or search using natural language modelling
    • G10L15/1822Parsing for meaning understanding
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/26Speech to text systems
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L17/00Speaker identification or verification techniques
    • G10L17/04Training, enrolment or model building
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/48Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use
    • G10L25/51Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use for comparison or discrimination
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • G10L2015/223Execution procedure of a spoken command
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/27Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the analysis technique
    • G10L25/30Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the analysis technique using neural networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Multimedia (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Acoustics & Sound (AREA)
  • Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computational Linguistics (AREA)
  • Signal Processing (AREA)
  • Hospice & Palliative Care (AREA)
  • General Health & Medical Sciences (AREA)
  • Psychiatry (AREA)
  • Child & Adolescent Psychology (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • User Interface Of Digital Computer (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Machine Translation (AREA)

Abstract

Hierin beschrieben wird ein System zur Emotionsdetektion in Audiodaten unter Verwendung der Grundlinie eines Sprechers. Die Grundlinie kann den Sprechstil eines Benutzers in einem neutralen emotionalen Zustand darstellen. Das System ist konfiguriert, um die Grundlinie des Benutzers mit Eingabeaudio, das Sprache von dem Benutzer darstellt, zu vergleichen, um eine Emotion des Benutzers zu bestimmen. Das System kann mehrere Grundlinien für den Benutzer speichern, die jeweils mit einem unterschiedlichen Kontext (z. B. Umgebung, Aktivität usw.) assoziiert sind, und eine der Grundlinien, zum Vergleich mit dem Eingabeaudio auf Basis der kontextuellen Situation, auswählen.

Description

  • QUERVERWEIS AUF VERWANDTE ANMELDUNGSDATEN
  • Diese Anmeldung beansprucht den Vorteil der Priorität von US-Patentanmeldung Nr. 16/456,158 , eingereicht am 28. Juni 2019, und mit dem Titel „EMOTION DETECTION USING SPEAKER BASELINE“, in den Namen von Daniel Kenneth Bone, et al.
  • HINTERGRUND
  • Spracherkennungssysteme sind so weit fortgeschritten, dass Menschen unter Verwendung ihrer Stimme mit Computergeräten interagieren können. Solche Systeme verwenden Techniken zum Identifizieren der von einem menschlichen Benutzer gesprochenen Wörter auf Basis der verschiedenen Eigenschaften einer empfangenen Audioeingabe. Die Audioeingabe kann auch eine Emotion oder Stimmung des Benutzers beim Sprechen der Wörter anzeigen.
  • Computer, Handheld-Geräte, Telefoncomputersysteme, Kioske und eine Vielzahl anderer Geräte können die Sprachverarbeitung nutzen, um Mensch-Computer-Interaktionen zu verbessern.
  • Figurenliste
  • Zum besseren Verständnis der vorliegenden Offenbarung wird nun auf die folgende Beschreibung in Verbindung mit den beigefügten Zeichnungen verwiesen.
    • 1A veranschaulicht ein System, das dafür konfiguriert ist, einen Benutzer für die Emotionsdetektion in Audiodaten gemäß Ausführungsformen der vorliegenden Offenbarung anzumelden.
    • 1B veranschaulicht ein System, das zur Detektion von Emotionen in Audiodaten gemäß Ausführungsformen der vorliegenden Offenbarung konfiguriert ist.
    • 2A und 2B sind konzeptionelle Diagramme von Sprachverarbeitungskomponenten eines Systems gemäß Ausführungsformen der vorliegenden Offenbarung.
    • 3 ist ein schematisches Diagramm einer veranschaulichenden Architektur, in der Sensordaten kombiniert werden, um einen oder mehrere Benutzer gemäß Ausführungsformen der vorliegenden Offenbarung zu erkennen.
    • 4 ist ein Systemflussdiagramm, das die Benutzererkennung gemäß Ausführungsformen der vorliegenden Offenbarung veranschaulicht.
    • 5 ist ein konzeptionelles Diagramm, das eine Emotionsdetektionskomponente für die Benutzeranmeldung gemäß Ausführungsformen der vorliegenden Offenbarung veranschaulicht.
    • 6 ist ein konzeptionelles Diagramm, das eine Emotionsdetektionskomponente gemäß Ausführungsformen der vorliegenden Offenbarung veranschaulicht.
    • 7 ist ein konzeptionelles Diagramm des Aufbaus des trainierten Modells unter Verwendung von Trainingsdaten gemäß Ausführungsformen der vorliegenden Offenbarung.
    • 8 ist ein konzeptionelles Diagramm, das Schichten eines trainierten Modells gemäß Ausführungsformen der vorliegenden Offenbarung veranschaulicht.
    • 9 veranschaulicht ein neuronales Netz wie eines, das zur Emotionsdetektion gemäß Ausführungsformen der vorliegenden Offenbarung verwendet werden kann.
    • 10 veranschaulicht ein neuronales Netz wie eines, das zur Emotionsdetektion gemäß Ausführungsformen der vorliegenden Offenbarung verwendet werden kann.
    • 11 veranschaulicht die Funktionsweise eines Codierers gemäß Ausführungsformen der vorliegenden Offenbarung.
    • 12 ist ein Blockdiagramm, das Beispielskomponenten eines Gerätes gemäß Ausführungsformen der vorliegenden Offenbarung konzeptionell veranschaulicht.
    • 13 ist ein Blockdiagramm, das Beispielskomponenten eines Servers gemäß Ausführungsformen der vorliegenden Offenbarung konzeptionell veranschaulicht.
    • 14 veranschaulicht ein Beispiel für ein Computernetzwerk zur Verwendung mit dem Sprachverarbeitungssystem.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Automatische Spracherkennung (Automatic Speech Recognition, ASR) ist ein Gebiet der Computerwissenschaft, künstlichen Intelligenz und Linguistik, das sich mit der Umwandlung von mit Sprache assoziierten Audiodaten in Text befasst, der für jene Sprache repräsentativ ist. Ähnlich ist das Verstehen natürlicher Sprache (Natural Language Understanding, NLU) ein Gebiet der Computerwissenschaft, künstlichen Intelligenz und Linguistik, das sich damit befasst, Computern zu ermöglichen, aus Texteingaben, die natürliche Sprache enthalten, eine Bedeutung abzuleiten. ASR und NLU werden oft zusammen als Teil eines Sprachverarbeitungssystems verwendet. „Text-zu-Sprache“ (Text-to-Speech, TTS) ist ein Gebiet, das sich mit der Umwandlung von Textdaten in Audiodaten befasst, die so synthetisiert werden, dass sie der menschlichen Sprache ähneln.
  • Bestimmte Systeme können so konfiguriert sein, dass sie auf Benutzereingaben reagierende Aktionen ausführen. Beispielsweise kann ein System bei der Benutzereingabe „Alexa, spiele Musik“ Musik ausgeben. Ein weiteres Beispiel: bei der Benutzereingabe „Alexa, wie ist das Wetter“ kann ein System synthetisierte Sprache ausgeben, die Wetterinformationen für einen geographischen Standort des Benutzers darstellt. In einem weiteren Beispiel kann ein System bei der Benutzereingabe „Alexa, sende eine Nachricht an John“ den Inhalt einer gesprochenen Nachricht erfassen und veranlassen, dass diese über ein auf „John“ registriertes Gerät ausgegeben wird.
  • Bei der Stimmungsanalyse anhand von Sprache kann es darum gehen, die Stimmung, Ansicht und / oder Haltung einer Person zu einer Situation / einem Thema zu bestimmen. Die Stimmung einer Person kann daraus abgeleitet werden, welche Wörter die Person verwendet, um ihre Meinungen auszudrücken. Bei der Emotionsanalyse anhand von Sprache kann es darum gehen, den Geisteszustand, die Emotionen, die Gefühle und / oder die Laune einer Person zu bestimmen. Die Emotionen einer Person können daraus, wie die Person die Wörter spricht, und aus den akustischen Eigenschaften der Sprache der Person abgeleitet werden. Das vorliegende System kann dafür konfiguriert werden, Audiodaten, z. B. von einem Benutzer stammende Sprache, auf Basis von Emotion und / oder Stimmung zu klassifizieren, die sich aus den Audiodaten ableiten und auf der Grundlinie des Benutzers, die eine neutrale Emotion / Stimmung darstellt, basieren. Das System kann eine Grundlinie beispielsweise dazu verwenden, die Erfassung des persönlichen Sprechstils eines Sprechers und der assoziierten Eigenheiten zu unterstützen. Der Sprechstil, wie hierin verwendet, kann durch akustische Sprachattribute wie Tonhöhe, Geschwindigkeit, Rate, Akzent, Ton, Betonung, Rhythmus, Intonation, Lautstärke und dergleichen dargestellt werden. Die Grundlinie, wie hierin verwendet, kann sich auf (Referenz-)Audiodaten beziehen, die den neutralen emotionalen Zustand eines Sprechers darstellen. Durch Verwendung der Grundlinien-Sprachdaten eines einzelnen Sprechers kann das System eine genauere Bestimmung der Emotion des einzelnen Benutzers während der Laufzeit vornehmen. Beispielsweise kann ein typisch lauter Sprecher vom System als wütend wahrgenommen werden, bis er mit der Grundlinie des Sprechers verglichen wird. In einem anderen Beispiel kann ein typisch leiser Sprecher vom System als schüchtern oder traurig wahrgenommen werden, bis er mit der Grundlinie des Sprechers verglichen wird. Das System kann die Stimmung / Emotion eines Benutzers auf Basis einer Analyse der Grundlinie des Benutzers und der Laufzeit-Eingabeaudiodaten bestimmen, die Unterschiede zwischen den Eingabeaudiodaten und der Grundlinie anzeigt.
  • Das System kann eine Grundlinie bestimmen, indem es die vom Benutzer gesprochenen Anmeldungsäußerungen verwendet. Das System kann bestimmen, ob eine Anmeldungsäußerung den neutralen emotionalen Zustand des Benutzers darstellt und als Grundlinie verwendet werden kann. Das System kann auch so konfiguriert sein, dass es mehrere Grundlinien für verschiedene Umgebungen oder Aktivitäten, die vom Sprecher womöglich ausgeübt werden, erhält. Unterschiedliche Umgebungen oder Aktivitäten können bewirken, dass ein Sprecher unterschiedliche neutrale emotionale Zustände aufweist. Beispielsweise kann die Grundlinie des Sprechers bei der Arbeit anders sein als zu Hause. Ähnlich kann die Grundlinie des Sprechers anders sein, wenn er mit Kollegen spricht, als wenn er mit seiner Familie oder seinen Kindern spricht. Ein weiteres Beispiel: die Grundlinie des Sprechers kann anders sein, wenn er abends spricht, als wenn er morgens spricht. Die verschiedenen Grundlinien können die unterschiedlichen akustischen Sprachattribute erfassen, die der Benutzer in verschiedenen Situationen / Kontexten aufweist.
  • Das System kann auch so konfiguriert werden, dass es die geeignete Grundlinie zur Analyse mit Eingabeaudiodaten für die Emotions- / Stimmungsdetektion auf Basis der Umgebung oder Aktivität auswählt, mit der der Benutzer befasst ist, während er die Äußerung spricht, die in den zu analysierenden Laufzeit-Eingabeaudiodaten dargestellt ist.
  • Das System kann Benutzergenehmigungen einbeziehen und hierin offenbarte Funktionalitäten, wie z. B. die Emotionsdetektion, evtl. nur durchführen, wenn sie von einem Benutzer genehmigt wurden, und kann die Emotionsdetektion entsprechend den Benutzergenehmigungen / -präferenzen konfigurieren. Wie hierin offenbart kann sich ein Benutzer beim System für die Emotionsdetektion anmelden, indem er Äußerungen als Referenz bereitstellt. Beispielsweise kann das System die Emotionsdetektion an der Sprache durchführen, die von dem Benutzer gesprochen wird, der sich dafür entscheidet hat und mit dem Erfassungsgerät assoziiert ist (und nicht an der von anderen Benutzern erfassten Sprache). Von daher können die hierin beschriebenen Systeme, Geräte, Komponenten und Techniken die Verarbeitung gegebenenfalls einschränken und Benutzerinformationen nur in einer Weise verarbeiten, die die Einhaltung aller einschlägigen Gesetze, Vorschriften, Normen und dergleichen gewährleistet. Das System und die Techniken können auf geographischer Basis implementiert werden, um die Einhaltung von Gesetzen in verschiedenen Gerichtsbarkeiten und Einrichtungen zu gewährleisten, in denen sich die Komponenten des Systems und / oder der Benutzer befinden. Das System kann alle Daten betreffend Emotionsdetektion nach einer gewissen Zeit und / oder nach der Analyse der Audiodaten und erfolgter Darstellung und / oder Ansicht der Ausgabe durch den Benutzer löschen. Der Benutzer kann das System auch auffordern, alle Daten betreffend Emotionsdetektion zu löschen. Das System kann den Zugriff auf Daten betreffend Emotionsdetektion entsprechend den vom Benutzer ausgewählten Benutzergenehmigungen beschränken.
  • Das vorliegende System kann Eingabeaudiodaten verarbeiten, um zu bestimmen, ob die Audiodaten eine Stimmaktivität eines menschlichen Benutzers (z. B. Sprache) beinhalten. Anschließend kann das System Teile der Eingabeaudiodaten identifizieren, die Sprache von einem bestimmten Benutzer darstellen. Die Teile der Eingabeaudiodaten können unter Verwendung eines trainierten maschinellen Lern-(ML-) Modells verarbeitet werden, um eine Emotionskategorie für die Audiodaten vorherzusagen. Die Emotionskategorie kann in verschiedenen Anwendungen verwendet werden. Beispielsweise kann die Emotionskategorie einem Benutzer angezeigt werden, um seine Emotionen während der Interaktionen mit anderen Personen anzuzeigen und / oder um seine Emotionen zu bestimmten Tageszeiten anzuzeigen. Die Emotionskategorie kann auch von Anwendungsentwicklern für stimmaktivierte Systeme oder intelligente Lautsprechersysteme verwendet werden, um Emotionen und / oder Stimmungen eines Benutzers während der Interaktion mit dem stimmaktivierten System bzw. intelligenten Lautsprechersystem zu identifizieren. Der Anwendungsentwickler kann möglicherweise die Zufriedenheit des Benutzers mit seinen Interaktionen mit dem stimmaktivierten System oder dem intelligenten Lautsprechersystem bestimmen. Beispielsweise kann ein Gaming-Anwendungsentwickler die Emotionen des Benutzers bestimmen, während er ein Spiel spielt oder mit diesem interagiert. Als weiteres Beispiel können die Emotionen des Benutzers, während er einen Werbespot sieht oder hört, für die Marketingforschung genutzt werden. In einem noch anderen Beispiel kann ein stimmaktiviertes System bzw. intelligentes Lautsprechersystem, das in einem Fahrzeug inbegriffen ist, Emotionen eines Fahrers anhand von Audiodaten analysieren und den Fahrer informieren, wenn er aufgeregt, frustriert oder wütend zu sein scheint, dass seine Stimmungen / Emotionen sein Fahrverhalten beeinflussen könnten. Mit Zustimmung des Benutzers können auch andere Komponenten Emotionsdaten für verschiedene Vorgänge entgegennehmen.
  • In einer Beispielsausführungsform kann ein Benutzer ein Gerät tragen oder anderweitig mit sich führen, das Audiodaten detektiert und eine Analyse der Audiodaten einleitet, wenn eine Stimmaktivität detektiert wird. Der Benutzer kann das Gerät so konfigurieren, dass es seine Sprachinteraktionen mit anderen Personen den ganzen Tag überwacht. Das System kann einen emotionalen Zustand des Benutzers bei verschiedenen Interaktionen bestimmen und einen periodischen Bericht für den Benutzer erstellen. Der Bericht kann gespeichert und / oder dem Benutzer angezeigt werden, z. B. auf einem tragbaren Gerät, Telefon, Tablet oder einem anderen Gerät.
  • 1A veranschaulicht ein System 100, das dafür konfiguriert ist, einen Benutzer für die Emotionsdetektion in Audiodaten gemäß Ausführungsformen der vorliegenden Offenbarung anzumelden. 1B veranschaulicht ein System 100, das zur Detektion von Emotionen in Audiodaten gemäß Ausführungsformen der vorliegenden Offenbarung konfiguriert ist. Obwohl die Figuren und die Diskussion gewisse Betriebsschritte des Systems in einer bestimmten Reihenfolge veranschaulichen, können die beschriebenen Schritte in einer unterschiedlichen Reihenfolge durchgeführt (sowie gewisse Schritte entfernt oder hinzugefügt) werden, ohne von der Absicht der Offenbarung abzuweichen. Wie in 1A und 1B veranschaulicht kann das System 100 ein Gerät 110, das sich lokal bei einem Benutzer 5 befindet, und ein oder mehrere Systeme 120, die über ein oder mehrere Netzwerke 199 verbunden sind, beinhalten. Wie in 1A veranschaulicht kann das Gerät 110a mit Gerät 110b in Kommunikation stehen. Wie veranschaulicht können die Prozesse, die mit Bezug auf 1A beschrieben sind, während der Anmeldungsvorgänge durchgeführt werden (wenn das System 100 dafür konfiguriert ist, Referenzaudiodaten von dem Benutzer 5 für die Emotionsdetektion unter Verwendung einer Grundlinie zu erhalten), und Prozesse, die mit Bezug auf 1B beschrieben sind, können während der Laufzeitvorgänge durchgeführt werden (wenn das konfigurierte System 100 Eingabeaudiodaten verarbeitet, um eine Emotion zu detektieren).
  • Während des Anmeldungsprozesses ist / sind das / die System(e) 120 dafür konfiguriert, Audiodaten zu erhalten, die einen neutralen emotionalen Zustand eines Benutzers darstellen. Wie in 1A gezeigt empfängt / empfangen (132) das / die System(e) 120 Audiodaten, die eine erste Referenzäußerung darstellen. Der Benutzer 5 kann eine von Gerät 110 erfasste Äußerung sprechen, die von den Audiodaten dargestellt ist. Als Teil des Anmeldungsprozesses kann / können das / die System(e) 120 das Gerät 110 veranlassen, Audio auszugeben, das den Benutzer 5 auffordert, bestimmte Sätze zu sprechen. In einigen Ausführungsformen kann das Gerät 110 einen spezifischen Satz ausgeben, den der Benutzer 5 sprechen soll, z. B. „für Anmeldungszwecke sagen Sie bitte, ich liebe das Wetter heute“, und der Benutzer 5 kann sagen: „ich liebe das Wetter heute“. Das / die System(e) 120 kann / können die Audiodaten speichern, die die vom Benutzer 5 gesprochene Referenzäußerung darstellen.
  • Das / die System(e) 120 bestimmt / bestimmen (134), ob die Audiodaten als Grundlinie verwendet werden können. Das / die System(e) 120 kann / können bestimmen, ob die Audiodaten den neutralen emotionalen Zustand des Benutzers 5 darstellen. Das / die System(e) 120 kann / können die Audiodaten analysieren, um zu bestimmen, ob die entsprechenden akustischen Sprachattribute innerhalb eines vordefinierten Bereichs liegen oder bestimmte Bedingungen erfüllen, die einen neutralen emotionalen Zustand anzeigen. Beispielsweise kann / können das / die System(e) 120 akustische Sprachattribute identifiziert und gespeichert haben, die einen neutralen emotionalen Zustand darstellen, auf Basis der Analyse von Audiodaten von mehreren Benutzern / einer allgemeinen Population, und kann / können diese akustischen Sprachattribute verwenden, um zu bestimmen, ob die Audiodaten (aus Vorgang 132) mit diesen Attributen übereinstimmen, so dass die Audiodaten einen neutralen emotionalen Zustand des Benutzers 5 darstellen. In einigen Ausführungsformen kann / können das / die System(e) 120 die Audiodaten unter Verwendung eines maschinellen Lern-(ML-) Modells verarbeiten, das dafür konfiguriert ist, eine den Audiodaten entsprechende Emotionskategorie zu bestimmen. Das ML-Modell kann bestimmen, dass die den Audiodaten entsprechende Emotionskategorie neutral ist. In einigen Ausführungsformen kann / können das / die System(e) 120 auch bestimmen, ob die Qualität der Audiodaten gut genug für die Verwendung als Grundlinie ist.
  • Wenn das / die System(e) 120 bestimmt / bestimmen, dass die Audiodaten nicht als Grundlinie verwendet werden können, dann fordert / fordern (136) das / die System(e) 120 den Benutzer 5 auf, eine andere Äußerung zu sprechen. Das / die System(e) 120 kann / können den Benutzer 5 auffordern, den zuvor dargebotenen Satz zu wiederholen, indem beispielsweise „bitte wiederholen Sie, ich liebe das Wetter heute“ ausgegeben wird, oder das / die System(e) 120 kann / können den Benutzer 5 auffordern, einen anderen Satz zu sagen. Das / die System(e) 120 empfängt / empfangen (138) Audiodaten, die eine zweite Referenzäußerung darstellen, und kehrt / kehren zu Vorgang 134 zurück, um zu bestimmen, ob die Audiodaten als Grundlinie (die einen neutralen emotionalen Zustand des Benutzers darstellt) verwendet werden können.
  • In einigen Ausführungsformen kann / können das / die System(e) 120 nur ein paar Versuche unternehmen, um Audiodaten für eine Grundlinie zu erhalten. Das heißt, der Vorgang von Schritt 136 kann eine begrenzte Anzahl von Malen (z. B. zwei- oder dreimal) durchgeführt werden, bevor das / die System(e) 120 erkennt / erkennen, außerstande zu sein, Audiodaten von Benutzer 5, zur Verwendung als Grundlinie, zu erhalten. Das / die System(e) 120 kann / können das Gerät 110 veranlassen, „etwas stimmt nicht, versuchen wir, uns zu einem anderen Zeitpunkt anzumelden“ auszugeben. Die Audiodaten können aufgrund von Hintergrundgeräuschen nicht von guter Qualität sein, oder die Audiodaten stellen evtl. nicht den neutralen emotionalen Zustand des Benutzers dar (beispielsweise kann der Benutzer während des Anmeldungsprozesses zu aufgeregt oder wütend sein).
  • Wenn das / die System(e) 120 bestimmt / bestimmen, dass die Audiodaten als Grundlinie verwendet werden können, dann speichert / speichern (140) das / die System(e) 120 die Audiodaten als eine Grundlinie, die mit einem dem Benutzer 5 entsprechenden Benutzerprofil assoziiert ist. Das / die System(e) 120 kann / können die Audiodaten als die Grundlinie in einem Profilspeicher 270 speichern. Das / die System(e) kann / können einen ersten Merkmalsvektor bestimmen (142), der den Audiodaten entspricht, und kann / können den ersten Merkmalsvektor als die Grundlinie speichern. Der erste Merkmalsvektor kann von den Audiodaten abgeleitete Spektralmerkmale darstellen. Das / die System(e) 120 kann / können einen Codierer (z. B. Codierer 1150 von 11) verwenden, um Rahmen der Audiodaten zu verarbeiten und den ersten Merkmalsvektor zu erzeugen. In einigen Ausführungsformen kann der erste Merkmalsvektor akustische Sprachattribute (z. B. Akzent, Tonhöhe, Prosodie usw.) darstellen, die der Benutzer 5 in einem neutralen emotionalen Zustand aufweist.
  • Das / die System(e) 120 kann / können dafür konfiguriert sein, mehrere Grundlinien zu erhalten, die den neutralen emotionalen Zustand des Benutzers unter verschiedenen Umständen darstellen. Von daher kann der Profilspeicher 270 Audiodaten beinhalten, die mehrere Grundlinien für den Benutzer 5 darstellen. In einigen Ausführungsformen kann / können das / die System(e) 120 den Benutzer 5 auffordern, beim Aufenthalt in verschiedenen Umgebungen oder bei der Interaktion mit verschiedenen Personen zu sprechen, um verschiedene Grundlinien zu erhalten. Das / die System(e) 120 kann / können den Benutzer um die Erlaubnis bitten, Audio (für einen begrenzten Zeitraum für Anmeldungszwecke) aufzuzeichnen, während der Benutzer 5 in verschiedenen Umgebungen spricht oder während der Benutzer mit verschiedenen Personen interagiert, um Audiodaten zu erfassen, die den emotionalen Zustand des Benutzers in verschiedenen Situationen darstellen. Zum Beispiel kann der Benutzer 5 zu Hause andere Sprechstile bzw. andere akustische Sprachattribute aufweisen als bei der Arbeit. Ähnlich kann der Benutzer 5 unterschiedliche Sprechstile / akustische Sprachattribute aufweisen, wenn er mit der Familie (Ehepartner, Lebensgefährte, Kindern, Haustieren usw.) spricht, im Gegensatz zu Kollegen.
  • In solchen Fällen kann / können das / die System(e) 120 Kontextdaten bestimmen (144), die den Audiodaten entsprechen, und kann / können die Kontextdaten mit der Grundlinie und dem Benutzerprofil assoziieren (146). Die den Audiodaten / der Grundlinie entsprechenden Kontextdaten, wie hierin verwendet, beziehen sich auf Daten, die eine mit dem Benutzer beim Empfang der Audiodaten assoziierte Umgebung und / oder Situation anzeigen. Beispielsweise kann / können das / die System(e) 120 bestimmen, wo sich der Benutzer 5 befand, als er die Referenzäußerung sprach (z. B. anhand des Standortes des Gerätes 110). Wenn entsprechende Genehmigungen und Einstellungen so konfiguriert sind, dass der Vorgang erlaubt ist, kann / können das / die System(e) 120 bestimmen, mit wem der Benutzer 5 beim Sprechen der Äußerung interagierte. In einigen Ausführungsformen kann / können das / die System(e) 120 Eingabedaten vom Benutzer 5 empfangen, die die Kontextdaten angeben, wie z.B. den Standort des Benutzers (z. B. zu Hause, bei der Arbeit, im Fitnessstudio usw.), mit wem der Benutzer interagiert (z. B. Kollegen, Chef, Ehepartner / Lebensgefährte, Kindern, Nachbarn usw.) und dergleichen. Als nicht einschränkendes Beispiel kann / können das / die System(e) 120 speichern: erste Audiodaten, die eine erste Grundlinie darstellen, im Profilspeicher 270 zusammen mit Kontextdaten, die <Ort: Arbeit> angeben, zweite Audiodaten, die eine zweite Grundlinie darstellen, zusammen mit Kontextdaten, die <Ort: Zuhause> angeben, dritte Audiodaten, die eine dritte Grundlinie darstellen, zusammen mit Kontextdaten, die <Person: Kollege> angeben, vierte Audiodaten, die eine vierte Grundlinie darstellen, zusammen mit Kontextdaten, die <Person: Tochter> angeben, und so weiter.
  • Um die Grundlinie zu erhalten, kann das Gerät 110 in einigen Ausführungsformen einen spezifischen Satz ausgeben, den der Benutzer 5 sprechen soll, z. B. „für Anmeldungszwecke sagen Sie bitte, ich liebe das Wetter heute“, und der Benutzer 5 kann sagen: „ich liebe das Wetter heute“. In einigen Ausführungsformen kann / können das / die System(e) 120 den Benutzer 5 auffordern, über ein Thema zu sprechen, anstatt den Benutzer 5 aufzufordern, einen bestimmten Satz zu sprechen. Beispielsweise kann das Gerät 110 ausgeben „für Anmeldungszwecke sagen Sie mir bitte, was halten Sie vom Wetter heute?“, und der Benutzer 5 kann sagen: „heute regnet es und ich mag nicht, wenn es regnet“. Das / die System(e) 120 kann / können die Audiodaten speichern, die die vom Benutzer 5 gesprochenen Referenzäußerungen darstellen. In einigen Ausführungsformen kann / können das / die System(e) 120 den Benutzer 5 auffordern, einen spezifischen Satz zu sagen und auch über ein Thema zu sprechen, um Audiodaten für beide Situationen zu erfassen, weil ein Benutzer unterschiedliche Sprechstile / akustische Sprachattribute aufweisen kann, wenn er einen Satz wiederholt, im Gegensatz zum freien Sprechen über ein Thema. Das / die System(e) 120 kann / können die Audiodaten, die den Benutzer darstellen, der einen spezifischen Satz sagt, und die Audiodaten, die den Benutzer darstellen, der frei über ein Thema spricht, verarbeiten, um eine geeignete Grundlinie zu bestimmen, zum Beispiel unter Verwendung der Unterschiede bei den akustischen Sprachattributen für die beiden Situationen, des Durchschnitts (gewichtet oder ungewichtet) der akustischen Sprachattribute für die beiden Situationen, einer statistischen Analyse, eines maschinellen Lernmodells zur Verarbeitung der entsprechenden Merkmalsvektoren und / oder unter Verwendung anderer Verfahren.
  • Auf diese Weise erhält / erhalten das / die System(e) 120 während des in 1A veranschaulichten Anmeldungsprozesses Audiodaten, die den neutralen emotionalen Zustand des Benutzers 5 darstellen. Das / die System(e) 120 kann / können die in 1A gezeigten Vorgänge mehrmals durchführen, um mehrere Grundlinien zu erhalten, die verschiedene Umstände darstellen, in denen sich der Benutzer befinden kann und bei denen sich der Benutzer für die Emotionsdetektion entscheidet. Weitere Einzelheiten des Anmeldungsprozesses werden in Verbindung mit 5 beschrieben.
  • Während der Laufzeit, wie in 1B gezeigt, empfängt / empfangen (150) System(e) 120 Eingabeaudiodaten. Die Eingabeaudiodaten können von dem Gerät 110a erfasst werden und können Sprache oder Geräusche vom Benutzer 5 und / oder Sprache und Geräusche von mindestens einer anderen Person beinhalten. Wie nachstehend (in Verbindung mit 6) beschrieben kann die Sprache / können die Geräusche von der anderen Person, die in den Eingabeaudiodaten beinhaltet sind, isoliert und vor der weiteren Verarbeitung verworfen werden. Das Gerät 110a kann mit einem Gerät 110b in Kommunikation stehen und kann die Eingabeaudiodaten an das Gerät 110b senden. 1B zeigt Gerät 110a als eine intelligente Uhr, allerdings kann Gerät 110a ein beliebiges tragbares Gerät oder ein beliebiges Gerät sein, das vom Benutzer 5 mitgeführt wird und dafür konfiguriert ist, Audiodaten zu erfassen, wenn die entsprechenden Benutzergenehmigungen erfüllt sind. Das Gerät 110b ist als ein Smartphone dargestellt, allerdings kann Gerät 110b ein beliebiges mobiles Gerät oder Computergerät sein, wie z. B. ein Laptop, ein Tablet, ein Desktop usw., das mit dem Gerät 110a in Kommunikation steht und dafür konfiguriert ist, Daten von Gerät 110a zu empfangen und an dieses zu senden. Alternativ kann das Gerät 110a ein stimmaktiviertes System oder ein intelligenter Lautsprecher sein und kann Eingabeaudiodaten direkt an das / die System(e) 120 senden, anstelle der Weiterleitung über ein Gerät 110b. Alternativ können die Funktionen der Geräte 110a und 110b zu einem einzigen Gerät kombiniert werden. Das für den Anmeldungsprozess verwendete Gerät 110 von 1A kann sich von dem während der Laufzeit verwendeten Gerät 110a unterscheiden; von daher kann der Benutzer 5 ein anderes Gerät zur Anmeldung bei der Emotionsdetektion verwenden als jenes, das zur Eingabeaudio-Bereitstellung verwendet wird.
  • Das / die System(e) 120 identifiziert / identifizieren (152) Referenzaudiodaten, die eine mit dem Benutzerprofil des Benutzers 5 assoziierte Grundlinie darstellen. Das / die System(e) 120 kann / können die Referenzaudiodaten aus dem Profilspeicher 270 abrufen.
  • Wie oben beschrieben kann der Profilspeicher 270 in einigen Ausführungsformen mehrere Grundlinien für den Benutzer 5 speichern, wobei jede Grundlinie einem anderen Kontext / Umstand entsprechen kann. Das / die System(e) 120 kann / können eine Grundlinie aus den mehreren Grundlinien, die mit dem Benutzerprofil assoziiert sind, auf Basis der Kontextdaten, die mit der Grundlinie assoziiert sind, und der Kontextdaten, die mit den Eingabeaudiodaten assoziiert sind, identifizieren. Das / die System(e) 120 kann / können Kontextdaten bestimmen, die den Eingabeaudiodaten entsprechen, wie z. B. den Standort des Benutzers (z. B. unter Verwendung des Standortes des Gerätes 110a), die Person, mit der er interagiert, und dergleichen.
  • Das / die System(e) 120 kann / können die Grundlinie mit Kontextdaten auswählen, die den Kontextdaten der Eingabeaudiodaten ähnlich sind, also unter Verwendung einer geeigneten Grundlinie, um unterschiedliche Sprechstile / akustische Sprachattribute des Benutzers in verschiedenen Situationen zu berücksichtigen. In anderen Ausführungsformen kann / können das / die System(e) 120 Merkmale analysieren (z. B. unter Verwendung eines ML-Modells, einer statistischen Analyse oder anderer Verfahren), die den Referenzaudiodaten für die Grundlinien und den Eingabeaudiodaten entsprechen, um eine Grundlinie mit den Eingabeaudiodaten ähnlichen Merkmalen zu identifizieren. In einigen Ausführungsformen, wenn das / die System(e) 120 keine Grundlinie mit Kontextdaten identifizieren kann / können, die den Kontextdaten der Eingabeaudiodaten ähnlich sind, dann kann / können das / die System(e) 120 die beste verfügbare Grundlinie auf Basis der Qualität der Grundlinie auswählen (z. B. Audioqualität, Qualität der akustischen Merkmale, bester Darstellung eines neutralen emotionalen Zustands usw.).
  • Das / die System(e) 120 kann / können dann einen ersten Merkmalsvektor bestimmen (154), der den Referenzaudiodaten entspricht, wenn dieser Vorgang nicht bereits während des Anmeldungsprozesses (Vorgang 142) durchgeführt wurde. Der erste Merkmalsvektor kann Spektralmerkmale darstellen, die sich von den Referenzaudiodaten ableiten. Das / die System(e) 120 kann / können einen Codierer (z. B. Codierer 1150 von 11) verwenden, um Rahmen der Referenzaudiodaten zu verarbeiten und den ersten Merkmalsvektor zu erzeugen. In einigen Ausführungsformen kann der erste Merkmalsvektor akustische Sprachattribute (z. B. Akzent, Tonhöhe, Prosodie usw.) darstellen, die der Benutzer 5 in einem neutralen emotionalen Zustand aufweist.
  • Das / die System(e) 120 bestimmt / bestimmen (156) einen zweiten Merkmalsvektor, der den Eingabeaudiodaten entspricht. Der zweite Merkmalsvektor kann Spektralmerkmale darstellen, die sich von den Eingabeaudiodaten ableiten. Das / die System(e) 120 kann / können einen Codierer (z. B. Codierer 1150 von 11) verwenden, um Rahmen der Eingabeaudiodaten zu verarbeiten und den zweiten Merkmalsvektor zu erzeugen. In einigen Ausführungsformen kann der zweite Merkmalsvektor akustische Sprachattribute (z. B. Akzent, Tonhöhe, Prosodie usw.) darstellen, die der Benutzer 5 beim Sprechen der von den Eingabeaudiodaten dargestellten Äußerung aufweist.
  • Das / die System(e) 120 verarbeitet / verarbeiten (158) den ersten Merkmalsvektor und den zweiten Merkmalsvektor unter Verwendung eines trainierten Modells. Das trainierte Modell kann einen oder mehrere Scores ausgeben. Das / die System(e) 120 bestimmt / bestimmen (160) eine Emotionskategorie auf Basis der von dem trainierten Modell erzeugten Scores. Das trainierte Modell kann ein ML-Modell sein, das dafür konfiguriert ist, Merkmale von Referenzaudiodaten und Eingabeaudiodaten zu verarbeiten, um eine Emotionskategorie zu bestimmen, die den Eingabeaudiodaten auf Basis des neutralen emotionalen Zustands des Benutzers (von den Referenzaudiodaten dargestellt) entspricht. Die Emotionskategorien können allgemeine Kategorien wie positiv, neutral und negativ beinhalten. In anderen Ausführungsformen können die Emotionskategorien spezifischer sein und können z. B. Wut, Freude, Traurigkeit und neutral beinhalten. In einer anderen Ausführungsform können die Emotionskategorien Wut, traurig, freudig, überrascht, Stress und Abscheu beinhalten. Wie man sehen kann, sind je nach der Systemkonfiguration verschiedene Emotionskategorien / Indikatoren möglich.
  • In einigen Ausführungsformen kann / können das / die System(e) 120 bestimmen, dass die Eingabeaudiodaten Stimmaktivität eines Menschen darstellen. Das / die System(e) 120 kann / können ein Stimmprofil identifizieren, das mit einem Benutzerprofil des Gerätes 110 assoziiert ist. Das / die System(e) 120 kann / können gespeicherte Daten abrufen, die mit dem Benutzerprofil assoziiert sind. Die gespeicherten Daten können einen Stimmfingerabdruck oder einen Stimmbiomarker, zum Identifizieren eines Benutzers unter Verwendung der Audiodaten, beinhalten. In anderen Ausführungsformen können die gespeicherten Daten HF-Daten, Standortdaten, Maschinenvisionsdaten und dergleichen beinhalten, die im Zusammenhang mit Benutzererkennungskomponente 295 beschrieben werden. Das / die System(e) 120 kann / können das Stimmprofil unter Verwendung der hierin beschriebenen Benutzererkennungskomponente 295 identifizieren.
  • Das / die System(e) 120 kann / können einen ersten Teil der Eingabeaudiodaten bestimmen, wobei der erste Teil dem Stimmprofil entspricht. Beispielsweise können die Eingabeaudiodaten Sprache von mehreren Personen erfassen, insbesondere wenn Benutzer 5 sich mit einer anderen Person unterhält. Das / die System(e) 120 kann / können den ersten Teil der Eingabeaudiodaten isolieren, der mit von Benutzer 5 gesprochener Sprache assoziiert ist, und den ersten Teil zur weiteren Analyse speichern. Das / die System(e) 120 kann / können den Merkmalsvektor (in Vorgang 156) unter Verwendung des ersten Teils der Eingabeaudiodaten bestimmen.
  • Das / die System(e) 120 kann / können Assoziationsdaten speichern, die die Emotionskategorie mit den Eingabeaudiodaten und dem Benutzerprofil assoziieren. In einer Beispielsausführungsform kann / können das / die System(e) 120 Eingabeaudiodaten während eines Zeitraums analysieren und eine Emotionskategorie in verschiedenen Zeitintervallen bestimmen, um dem Benutzer Informationen über seinen emotionalen Zustand während des Zeitraums oder während der Interaktion mit anderen Personen bereitzustellen. In einer anderen Ausführungsform kann / können das / die System(e) 120 Eingabeaudiodaten analysieren, während der Benutzer mit dem Gerät 110 interagiert, und die Emotionskategorie kann die Zufriedenheit des Benutzers mit seinen Interaktionen mit dem Gerät 110 anzeigen.
  • Das / die System(e) 120 erzeugt / erzeugen (162) Ausgabedaten, die mindestens die Emotionskategorie und einen Teil der Eingabeaudiodaten beinhalten. Das / die System(e) 120 kann / können Textdaten, die dem Audiodatenrahmen entsprechen, unter Verwendung der nachstehend beschriebenen ASR-Verarbeitungstechniken bestimmen. Das / die System(e) 120 kann / können auch Zeitdaten bestimmen, die angeben, wann der Teil der Eingabeaudiodaten von dem Gerät 110 empfangen wird. Die Ausgabedaten können die Textdaten, die dem Teil der Eingabeaudiodaten entsprechen, die Zeitdaten und einen Indikator der Emotionskategorie beinhalten. Die Ausgabedaten können auf dem Gerät 110a oder dem Gerät 110b angezeigt werden. Der Indikator der Emotionskategorie kann Text, der die Emotionskategorie darstellt, ein Symbol, das die Emotionskategorie darstellt, oder andere Indikatoren sein.
  • Die Vorgänge von 1B werden hierin allgemein so beschrieben, dass sie von dem / den System(en) 120 durchgeführt werden. Es versteht sich jedoch, dass einer oder mehrere der Vorgänge auch von dem Gerät 110a, Gerät 110b oder sonstigem Gerät durchgeführt werden kann / können. Weitere Einzelheiten der Laufzeitvorgänge werden in Verbindung mit 6 beschrieben.
  • Das Gesamtsystem der vorliegenden Offenbarung kann unter Verwendung verschiedener Komponenten arbeiten, wie nachstehend veranschaulicht. Die verschiedenen Komponenten können sich auf demselben physischen Gerät oder auf unterschiedlichen physischen Geräten befinden. Kommunikation zwischen verschiedenen Komponenten kann direkt oder über (ein) Netzwerk(e) 199 erfolgen.
  • Wie in 2A und 2B gezeigt erfasst / erfassen (eine) Audioerfassungskomponente(n), wie z. B. ein Mikrofon oder eine Anordnung von Mikrofonen eines Gerätes 110, Audio 11. Das Gerät 110 verarbeitet Audiodaten, die das Audio 11 darstellen, um zu bestimmen, ob Sprache detektiert wird. Das Gerät 110 kann verschiedene Techniken verwenden, um zu bestimmen, ob Audiodaten Sprache beinhalten. In einigen Beispielen kann das Gerät 110 Stimmaktivitätsdetektions (Voice Activity Detection, VAD)-Techniken anwenden. Solche Techniken können bestimmen, ob Sprache in Audiodaten vorhanden ist, und zwar auf Basis verschiedener quantitativer Aspekte der Audiodaten wie z. B. der spektralen Steigung zwischen einem oder mehreren Rahmen der Audiodaten; der Energieniveaus der Audiodaten in einem oder mehreren Spektralbändern; der Rauschabstände der Audiodaten in einem oder mehreren Spektralbändern; oder anderer quantitativer Aspekte. In anderen Beispielen kann das Gerät 110 einen begrenzten Klassifikator implementieren, der dafür konfiguriert ist, Sprache von Hintergrundgeräuschen zu unterscheiden. Der Klassifikator kann durch Techniken wie lineare Klassifikatoren, Support-Vektor-Maschinen und Entscheidungsbäume implementiert werden. In noch anderen Beispielen kann das Gerät 110 Hidden Markov Model (HMM)- oder Gaussian Mixture Model (GMM)-Techniken anwenden, um die Audiodaten mit einem oder mehreren akustischen Modellen im Speicher zu vergleichen; diese akustischen Modelle können Modelle beinhalten, die Sprache, Geräuschen (z. B. Umgebungsgeräuschen oder Hintergrundgeräuschen) oder Stille entsprechen. Noch andere Techniken können verwendet werden, um zu bestimmen, ob Sprache in Audiodaten vorhanden ist.
  • Sobald Sprache in Audiodaten, die das Audio 11 darstellen, detektiert wird, kann das Gerät 110 eine Weckwortdetektionskomponente 220 verwenden, um eine Weckwortdetektion durchzuführen, um zu bestimmen, wann ein Benutzer beabsichtigt, eine Eingabe in das Gerät 110 zu sprechen. Ein Beispiel für ein Weckwort ist „Alexa“.
  • Weckwortdetektion erfolgt in der Regel ohne Durchführung einer linguistischen Analyse, Textanalyse oder semantischen Analyse. Stattdessen werden die Audiodaten, die das Audio 11 darstellen, analysiert, um zu bestimmen, ob spezifische Eigenschaften der Audiodaten mit vorkonfigurierten akustischen Wellenformen, Audiosignaturen oder anderen Daten übereinstimmen, um zu bestimmen, ob die Audiodaten mit gespeicherten Audiodaten, die einem Weckwort entsprechen, „übereinstimmen“.
  • Somit kann die Weckwortdetektionskomponente 220 Audiodaten mit gespeicherten Modellen oder Daten vergleichen, um ein Weckwort zu detektieren. Ein Ansatz für die Weckwortdetektion wendet allgemeine Systeme zur kontinuierlichen Spracherkennung mit großem Vokabular (Large Vocabulary Continuous Speech Recognition, LVCSR) zur Decodierung von Audiosignalen an, wobei die Weckwortsuche in den resultierenden Rastern oder Konfusionsnetzwerken durchgeführt wird. LVCSR-Decodierung kann relativ hohe Rechenressourcen erfordern. Ein anderer Ansatz für die Weckwortdetektion baut HMMs für jedes Weckwort- bzw. Nicht-Weckwort-Sprachsignal auf. Die Nicht-Weckwort-Sprache beinhaltet andere gesprochene Wörter, Hintergrundgeräusche usw. Es können ein oder mehrere HMMs aufgebaut werden, um die Nicht-Weckwort-Spracheigenschaften zu modellieren, die als Füllermodelle bezeichnet werden. Viterbi-Decodierung wird benutzt, um den besten Weg im Decodierungsgraphen zu suchen, und die Decodierungsausgabe wird weiterverarbeitet, um die Entscheidung hinsichtlich Weckwort-Gegenwart zu treffen. Dieser Ansatz kann erweitert werden, um diskriminative Informationen einzuschließen, indem ein hybrider DNN-HMM-Decodierungsrahmen einbezogen wird. In einem anderen Beispiel kann die Weckwortdetektionskomponente 220 direkt auf tiefen neuronalen Netz (Deep Neural Network, DNN)- / rekursiven neuronalen Netz (Recursive Neural Network, RNN)-Strukturen aufbauen, ohne dass HMM beteiligt ist. Eine solche Architektur kann die Posterioren von Weckwörtern mit Kontextinformationen schätzen, entweder durch Stapeln von Rahmen innerhalb eines Kontextfensters für DNN oder unter Verwendung von RNN. Für die Entscheidungsfindung wird eine anschließende posteriore Schwellenwertabstimmung oder Glättung angewandt. Andere Techniken zur Weckwortdetektion, wie sie in der Technik bekannt sind, können ebenfalls verwendet werden.
  • Sobald das Weckwort detektiert wird, kann das Gerät 110 „aufwachen“ und mit der Übertragung von Audiodaten 211, die das Audio 11 darstellen, an das / die System(e) 120 beginnen, wie in 2A gezeigt. Wie in 2B gezeigt kann das Gerät 110a Audiodaten 211 an Gerät 110b übertragen, und das Gerät 110b kann Audiodaten 211 an das / die System(e) 120 übertragen. Die Audiodaten 211 können Daten beinhalten, die dem Weckwort entsprechen, oder der Teil des Audios, das dem Weckwort entspricht, kann von dem Gerät 110a vor dem Senden der Audiodaten 211 an das / die System(e) 120 entfernt werden. In einigen Ausführungsformen kann das Gerät 110a mit der Übertragung von Audiodaten 211 an System(e) 120 / Gerät 110b (oder sonst wie mit der Durchführung einer Weiterverarbeitung an Audiodaten) beginnen, und zwar als Reaktion auf ein auftretendes Ereignis oder ein von dem Gerät 110a detektiertes Ereignis.
  • Nach dem Empfang durch das / die System(e) 120 können die Audiodaten 211 an eine Orchestrator-Komponente 230 gesendet werden. Die Orchestrator-Komponente 230 kann Speicher und Logik beinhalten, wodurch es der Orchestrator-Komponente 230 möglich ist, verschiedene Stücke und Formen von Daten an verschiedene Komponenten des Systems zu übertragen sowie andere hierin beschriebene Vorgänge durchzuführen.
  • Die Orchestrator-Komponente 230 sendet die Audiodaten 211 an eine Sprachverarbeitungskomponente 240. Eine ASR-Komponente 250 der Sprachverarbeitungskomponente 240 transkribiert die Eingabeaudiodaten 211 in Eingabetextdaten, die eine oder mehrere Hypothesen darstellen, die in den Eingabeaudiodaten 211 enthaltene Sprache darstellen. Die von der ASR-Komponente 250 ausgegebenen Textdaten können daher eine oder mehr als eine (z. B. in Form einer n-best-Liste) ASR-Hypothesen darstellen, die in den Audiodaten 211 dargestellte Sprache darstellen. Die ASR-Komponente 250 interpretiert die Sprache in den Audiodaten 211 auf Basis einer Ähnlichkeit zwischen den Audiodaten 211 und vorher festgelegten Sprachenmodellen. Beispielsweise kann die ASR-Komponente 250 die Audiodaten 211 mit Modellen für Klänge (z. B. Teilworteinheiten wie Phonemen usw.) und Klangsequenzen vergleichen, um Wörter zu identifizieren, die mit der Klangsequenz der in den Audiodaten 211 dargestellten Sprache übereinstimmen. Die ASR-Komponente 250 gibt Textdaten aus, die eine oder mehrere ASR-Hypothesen darstellen. Die ASR-Komponente 250 kann auch jeweilige Scores für die eine oder mehrere ASR-Hypothesen ausgeben. Solche Textdaten und Scores können beispielsweise nach Sprachenmodell-Operationen durch die ASR-Komponente 250 ausgegeben werden. Somit können die von der ASR-Komponente 250 ausgegebenen Textdaten eine ASR-Hypothese mit dem höchsten Score beinhalten oder können eine n-best-Liste von ASR-Hypothesen beinhalten. Eine n-best-Liste kann außerdem einen jeweiligen Score beinhalten, der mit jeder darin dargestellten ASR-Hypothese assoziiert ist. Jeder Score kann eine Konfidenz der ASR-Verarbeitung angeben, die durchgeführt wird, um die ASR-Hypothese zu erzeugen, mit der der Score assoziiert ist. Weitere Einzelheiten der ASR-Verarbeitung sind unten aufgeführt.
  • Die NLU-Komponente 260 empfängt die ASR-Hypothese(n) (d. h. Textdaten) [und] versucht, eine semantische Interpretation der darin dargestellten Phrase(n) oder Aussage(n) vorzunehmen. Das heißt, die NLU-Komponente 260 bestimmt eine oder mehrere Bedeutungen, die mit der / den in den Textdaten dargestellten Phrase(n) oder Aussage(n) assoziiert sind, auf Basis von in den Textdaten dargestellten Wörtern. Die NLU-Komponente 260 bestimmt eine Absicht, die eine Aktion darstellt, deren Durchführung ein Benutzer wünscht, sowie Stücke der Textdaten, die es einem Gerät (z. B. dem Gerät 110, dem / den System(en) 120, einer Fertigkeit 290, (einem) Fertigkeitssystem(en) 225 usw.) erlauben, die Absicht auszuführen. Wenn die Textdaten beispielsweise „Adele-Musik abspielen“ entsprechen, kann die NLU-Komponente 260 eine Absicht bestimmen, dass das / die System(e) 120 Musik ausgibt / ausgeben, und „Adele“ als Interpretin identifizieren. Ein weiteres Beispiel: wenn die Textdaten der Frage „Wie ist das Wetter?“ entsprechen, kann die NLU-Komponente 260 eine Absicht bestimmen, dass das / die System(e) 120 Wetterinformationen ausgibt / ausgeben, die mit einem geographischen Standort des Gerätes 110 assoziiert sind. Wenn, in einem anderen Beispiel, die Textdaten „schalte die Lichter aus“ entsprechen, kann die NLU-Komponente 260 eine Absicht bestimmen, dass das / die System(e) 120 mit dem / den Gerät(en) 110 oder dem / den Benutzer(n) 5 assoziierte Lichter ausschaltet / ausschalten.
  • Die NLU-Komponente 260 kann NLU-Ergebnisdaten (die getaggte Textdaten, Absichtsindikatoren usw. beinhalten können) an die Orchestrator-Komponente 230 senden. Die Orchestrator-Komponente 230 kann die NLU-Ergebnisdaten an (eine) Fertigkeit(en) 290 senden. Wenn die NLU-Ergebnisdaten eine einzelne NLU-Hypothese beinhalten, kann die Orchestrator-Komponente 230 die NLU-Ergebnisdaten an die mit der NLU-Hypothese assoziierte(n) Fertigkeit(en) 290 senden. Wenn die NLU-Ergebnisdaten eine n-best-Liste von NLU-Hypothesen beinhalten, kann die Orchestrator-Komponente 230 die NLU-Hypothese mit dem höchsten Score an (eine) Fertigkeit(en) 290 senden, die mit der NLU-Hypothese mit dem höchsten Score assoziiert ist / sind.
  • Eine „Fertigkeit“ kann eine Software sein, die auf dem / den System(en) 120 läuft, die einer Softwareanwendung ähnelt, die auf einem herkömmlichen Computergerät läuft. Das heißt, eine Fertigkeit 290 kann es dem / den System(en) 120 ermöglichen, spezifische Funktionen auszuführen, um Daten bereitzustellen oder eine andere angeforderte Ausgabe zu erzeugen. Das / die System(e) 120 kann / können mit mehr als einer Fertigkeit 290 konfiguriert werden. Beispielsweise kann ein Wetterdienst als Fertigkeit dem / den System(en) 120 ermöglichen, Wetterinformationen bereitzustellen, ein PKW-Service als Fertigkeit dem / den System(en) 120 ermöglichen, eine Fahrt mit Bezug auf einen Taxi- oder Mitfahrdienst zu buchen, ein Restaurant als Fertigkeit dem / den System(en) 120 ermöglichen, eine Pizza über das Online-Bestellsystem des Restaurants zu bestellen usw. Eine Fertigkeit 290 kann gemeinsam zwischen dem / den System(en) 120 und anderen Geräten, wie dem Gerät 110, arbeiten, um bestimmte Funktionen durchzuführen. Eingaben in eine Fertigkeit 290 können aus Sprachverarbeitungsinteraktionen stammen oder durch andere Interaktionen oder Eingabequellen erfolgen. Eine Fertigkeit 290 kann Hardware, Software, Firmware oder dergleichen beinhalten, die einer bestimmten Fertigkeit 290 gewidmet sein oder von verschiedenen Fertigkeiten 290 gemeinsam genutzt werden kann.
  • Zusätzlich oder alternativ zur Implementierung durch das / die System(e) 120 kann eine Fertigkeit 290 von (einem) Fertigkeitssystem(en) 225 implementiert werden. Dies kann es (einem) Fertigkeitssystem(en) 225 ermöglichen, spezifische Funktionen auszuführen, um Daten bereitzustellen oder eine andere von einem Benutzer angeforderte Aktion durchzuführen.
  • Zu den Arten von Fertigkeiten gehören Hausautomatisierungs-Fertigkeiten (z. B. Fertigkeiten, die einem Benutzer ermöglichen, Hausgeräte wie Lichter, Türschlösser, Kameras, Thermostate usw. zu steuern), Unterhaltungsgeräte-Fertigkeiten (z. B. Fertigkeiten, die einem Benutzer ermöglichen, Unterhaltungsgeräte wie intelligente Fernsehgeräte zu steuern), Video-Fertigkeiten, Flash-Briefing-Fertigkeiten sowie benutzerdefinierte Fertigkeiten, die mit keinem vorkonfigurierten Fertigkeitstyp assoziiert sind.
  • Das / die System(e) 120 kann / können mit einer einzigen Fertigkeit 290 konfiguriert sein, die dem Interagieren mit mehr als einem Fertigkeitssystem 225 gewidmet ist.
  • Sofern nicht ausdrücklich anders angegeben, kann der Verweis auf eine Fertigkeit, ein Fertigkeitsgerät oder eine Fertigkeitskomponente eine von dem / den System(en) 120 betriebene Fertigkeit 290 und / oder eine von dem / den Fertigkeitssystem(en) 225 betriebene Fertigkeit beinhalten. Darüber hinaus kann die hierin als eine Fertigkeit beschriebene Funktionalität mit vielen verschiedenen Begriffen bezeichnet werden, wie z. B. als Aktion, Bot, App oder dergleichen.
  • Das / die System(e) 120 kann / können eine TTS-Komponente 280 beinhalten, die Audiodaten (z. B. synthetisierte Sprache) aus Textdaten unter Verwendung eines oder mehrerer verschiedener Verfahren erzeugt. Textdaten, die in die TTS-Komponente 280 eingegeben werden, können aus einer Fertigkeit 290, der Orchestrator-Komponente 230 oder einer anderen Komponente des Systems / der Systeme 120 stammen.
  • In einem Syntheseverfahren, der sogenannten Unit Selection, gleicht die TTS-Komponente 280 Textdaten mit einer Datenbank aufgezeichneter Sprache ab. Die TTS-Komponente 280 wählt passende Einheiten der aufgezeichneten Sprache aus und verkettet die Einheiten, um Audiodaten zu bilden. In einem anderen Syntheseverfahren, das als parametrische Synthese bezeichnet wird, variiert die TTS-Komponente 280 Parameter wie Frequenz, Lautstärke und Rauschen, um Audiodaten mit einer künstlichen Sprachwellenform zu erzeugen. Parametrische Synthese verwendet einen computergestützten Stimmgenerator, mitunter auch Vocoder genannt.
  • Das / die System(e) 120 kann / können Profilspeicher 270 beinhalten. Der Profilspeicher 270 kann eine Vielzahl von Informationen über einzelne Benutzer, Benutzergruppen, Geräte usw., die mit dem / den System(en) 120 interagieren, beinhalten. Ein „Profil“ bezieht sich auf einen Satz von Daten, die mit einem Benutzer, Gerät usw. assoziiert sind. Die Daten eines Profils können Präferenzen, die für den Benutzer, das Gerät usw. spezifisch sind; Eingabe- und Ausgabefähigkeiten des Gerätes; Internetkonnektivität-Informationen; bibliographische Informationen des Benutzers; Abonnement-Informationen; sowie andere Informationen beinhalten.
  • Der Profilspeicher 270 kann ein oder mehrere Benutzerprofile beinhalten, wobei jedes Benutzerprofil mit einer unterschiedlichen Benutzerkennung assoziiert ist. Jedes Benutzerprofil kann verschiedene benutzeridentifizierende Informationen beinhalten. Jedes Benutzerprofil kann auch Präferenzen des Benutzers und / oder eine oder mehrere Gerätekennungen, die ein oder mehrere für den Benutzer registrierte Geräte darstellen, beinhalten.
  • Der Profilspeicher 270 kann ein oder mehrere Gruppenprofile beinhalten. Jedes Gruppenprofil kann mit einer unterschiedlichen Gruppenprofilkennung assoziiert sein. Ein Gruppenprofil kann für eine Gruppe von Benutzern spezifisch sein. Das heißt, ein Gruppenprofil kann mit zwei oder mehr individuellen Benutzerprofilen assoziiert sein. Ein Gruppenprofil kann beispielsweise ein Haushaltsprofil sein, das mit Benutzerprofilen assoziiert ist, die mit mehreren Benutzern eines einzelnen Haushalts assoziiert sind. Ein Gruppenprofil kann Präferenzen beinhalten, die von allen damit assoziierten Benutzerprofilen gemeinsam genutzt werden. Jedes Benutzerprofil, das mit einem Gruppenprofil assoziiert ist, kann zusätzlich Präferenzen beinhalten, die für den damit assoziierten Benutzer spezifisch sind. Das heißt, jedes Benutzerprofil kann Präferenzen beinhalten, die einem oder mehreren anderen, mit demselben Gruppenprofil assoziierten Benutzerprofilen gegenüber einzigartig sind. Ein Benutzerprofil kann ein eigenständiges Profil sein oder mit einem Gruppenprofil assoziiert sein. Ein Gruppenprofil kann ein oder mehrere Geräteprofile beinhalten, die ein oder mehrere mit dem Gruppenprofil assoziierte Geräte darstellen.
  • Der Profilspeicher 270 kann ein oder mehrere Geräteprofile beinhalten. Jedes Geräteprofil kann mit einer unterschiedlichen Gerätekennung assoziiert sein. Jedes Geräteprofil kann verschiedene geräteidentifizierende Informationen beinhalten. Jedes Geräteprofil kann auch eine oder mehrere Benutzerkennungen beinhalten, die ein oder mehrere mit dem Geräteprofil assoziierte Benutzerprofile darstellen. Beispielsweise kann das Profil eines Haushaltsgerätes die Benutzerkennungen der Benutzer des Haushalts beinhalten.
  • Der Profilspeicher 270 kann Audiodaten beinhalten, die eine oder mehrere Grundlinien darstellen, die einem neutralen emotionalen Zustand des Benutzers entsprechen. Der Profilspeicher 270 kann Daten beinhalten, die sich auf mehrere Grundlinien beziehen, die jeweils mit unterschiedlichen Kontextdaten assoziiert sind.
  • Das / die System(e) 120 kann / können auch eine Emotionsdetektionskomponente 275 beinhalten, die dafür konfiguriert sein kann, eine Emotion eines Benutzers aus Audiodaten zu detektieren, die Sprache / Äußerungen des Benutzers darstellen. Die Emotionsdetektionskomponente 275 kann in der Sprachverarbeitungskomponente 240 beinhaltet sein oder kann eine separate Komponente sein, wie in 2A veranschaulicht. Die Emotionsdetektionskomponente 275 und andere Komponenten werden im Allgemeinen als von dem / den System(en) 120 betrieben beschrieben. Das Gerät 110 kann jedoch auch eine oder mehrere der Komponenten, einschließlich der Emotionsdetektionskomponente 275, betreiben.
  • Das System kann so konfiguriert sein, dass es Benutzergenehmigungen einbezieht und hierin offenbarte Aktivitäten evtl. nur dann durchführt, wenn von einem Benutzer genehmigt. Von daher wären die hierin beschriebenen Systeme, Geräte, Komponenten und Techniken in der Regel dafür konfiguriert, die Verarbeitung ggf. einzuschränken und Benutzerinformationen nur derart zu verarbeiten, dass die Einhaltung aller einschlägigen Gesetze, Vorschriften, Normen und dergleichen gewährleistet ist. Das System und die Techniken können auf geographischer Basis implementiert werden, um die Einhaltung von Gesetzen in verschiedenen Gerichtsbarkeiten und Einrichtungen zu gewährleisten, in denen sich die Komponenten des Systems und / oder der Benutzer befinden. Der Benutzer kann alle im Profilspeicher 270 gespeicherten Daten löschen, z. B. Daten, die sich auf eine oder mehrere Grundlinien (Grundliniendaten), Emotionsdetektion usw. beziehen.
  • Das / die System(e) 120 kann / können eine Benutzererkennungskomponente 295 beinhalten, die einen oder mehrere Benutzer unter Verwendung einer Vielzahl von Daten erkennt. Wie in 3 veranschaulicht kann die Benutzererkennungskomponente 295 eine oder mehrere Subkomponenten beinhalten, darunter eine Bildverarbeitungskomponente 308, eine Audiokomponente 310, eine Identifikationskomponente 312, eine Hochfrequenz-(HF)-Komponente 314, eine maschinelle Lern-(ML-) Komponente 316 und eine Erkennungskonfidenzkomponente 318. In einigen Fällen kann die Benutzererkennungskomponente 295 Daten und Bestimmungen aus einer oder mehreren Subkomponenten überwachen, um eine Identität eines oder mehrerer Benutzer zu bestimmen, die mit Dateneingabe in das / die System(e) 120 assoziiert sind. Die Benutzererkennungskomponente 295 kann Benutzererkennungsdaten 395 ausgeben, die eine Benutzerkennung beinhalten können, die mit einem Benutzer assoziiert ist, von dem die Benutzererkennungskomponente 295 annimmt, dass er Dateneingaben in das / die System(e) 120 vornahm. Die Benutzererkennungsdaten 395 können verwendet werden, um Prozesse zu prägen, die von verschiedenen Komponenten des Systems / der Systeme 120 durchgeführt werden.
  • Die Bildverarbeitungskomponente 308 kann Daten aus einem oder mehreren Sensoren, die Bilder bereitstellen können (z. B. Kameras), oder Sensoren, die Bewegungen anzeigen (z. B. Bewegungssensoren), empfangen. Die Bildverarbeitungskomponente 308 kann eine Gesichtserkennung oder Bildanalyse durchführen, um die Identität eines Benutzers zu bestimmen und diese Identität mit einem mit dem Benutzer assoziierten Benutzerprofil zu assoziieren. In einigen Fällen, wenn ein Benutzer einer Kamera zugewandt ist, kann die Bildverarbeitungskomponente 308 eine Gesichtserkennung durchführen und den Benutzer mit einem hohen Konfidenzgrad identifizieren. In anderen Fällen kann die Bildverarbeitungskomponente 308 einen niedrigen Konfidenzgrad in die Identität eines Benutzers haben, und die Benutzererkennungskomponente 295 kann Bestimmungen aus zusätzlichen Komponenten benutzen, um die Identität eines Benutzers zu bestimmen. Die Bildverarbeitungskomponente 308 kann zusammen mit anderen Komponenten verwendet werden, um die Identität eines Benutzers zu bestimmen. Beispielsweise kann die Benutzererkennungskomponente 295 Daten aus der Bildverarbeitungskomponente 308 mit Daten aus der Audiokomponente 310 verwenden, um zu identifizieren, das Gesicht welches Benutzers zum gleichen Zeitpunkt zu sprechen scheint, zu dem Audio von einem Gerät 110 erfasst wird, dem der Benutzer zugewandt ist, zwecks Identifizierung eines Benutzers, der eine Spracheingabe in das / die System(e) 120 vornahm.
  • Das Gesamtsystem 100 der vorliegenden Offenbarung kann biometrische Sensoren beinhalten, die Daten an die Identifikationskomponente 312 übertragen. Beispielsweise kann die Identifikationskomponente 312 Daten empfangen, die Fingerabdrücken, Iris- oder Retina-Scans, thermischen Scans, Gewichten von Benutzern, der Größe eines Benutzers, Druck (z. B. innerhalb von Bodensensoren) usw. entsprechen, und kann ein Profil bestimmen, das einem Benutzer entspricht. Die Identifikationskomponente 312 kann beispielsweise zwischen einem Benutzer und dem Sound eines Fernsehers unterscheiden. Somit kann die Identifikationskomponente 312 Identifikationsinformationen in ein Konfidenzniveau zur Bestimmung der Identität eines Benutzers einbeziehen. Von der Identifikationskomponente 312 ausgegebene Identifikationsinformationen können mit spezifischen Benutzerprofildaten assoziiert werden, so dass die Identifikationsinformationen ein Benutzerprofil eines Benutzers eindeutig identifizieren.
  • Die HF-Komponente 314 kann HF-Lokalisierung benutzen, um Geräte zu verfolgen, die ein Benutzer evtl. mitführt oder trägt. Beispielsweise kann ein Benutzer (und ein mit dem Benutzer assoziiertes Benutzerprofil) mit einem Gerät assoziiert sein. Das Gerät kann HF-Signale aussenden (z. B. Wi-Fi, Bluetooth®, usw.). Ein Gerät kann das Signal detektieren und der HF-Komponente 314 die Stärke des Signals anzeigen (z. B. als Empfangssignalstärkeanzeige (Received Signal Strength Indication, RSSI)). Die HF-Komponente 314 kann die RSSI verwenden, um die Identität eines Benutzers (mit einem assoziierten Konfidenzniveau) zu bestimmen. In einigen Fällen kann die HF-Komponente 314 bestimmen, dass ein empfangenes HF-Signal mit einem mobilen Gerät assoziiert ist, das mit einer bestimmten Benutzerkennung assoziiert ist.
  • In einigen Fällen kann ein Gerät 110 ein gewisses HF- oder sonstiges Detektionsverarbeitungsvermögen beinhalten, so dass ein Benutzer, der eine Eingabe spricht, sein persönliches Gerät (wie z. B. ein Telefon) scannen, antippen oder anderweitig dem Gerät 110 bestätigen kann. Auf diese Weise kann sich der Benutzer bei dem / den System(en) 120 „registrieren“, damit das / die System(e) 120 bestimmen kann / können, wer eine bestimmte Eingabe gesprochen hat. Eine solche Registrierung kann vor, während oder nach dem Sprechen einer Eingabe erfolgen.
  • Die ML-Komponente 316 kann das Verhalten verschiedener Benutzer als Faktor bei der Bestimmung eines Konfidenzniveaus bzgl. der Identität des Benutzers verfolgen. Beispielsweise kann ein Benutzer einen regelmäßigen Zeitplan einhalten, so dass der Benutzer sich tagsüber an einem ersten Ort befindet (z. B. bei der Arbeit oder in der Schule). In diesem Beispiel würde die ML-Komponente 316 vergangenes Verhalten und / oder Trends bei der Bestimmung der Identität des Benutzers berücksichtigen, der Eingaben in das / die System(e) 120 vorgenommen hat. Somit kann die ML-Komponente 316 historische Daten und / oder Nutzungsmuster im Laufe der Zeit verwenden, um ein Konfidenzniveau bzgl. der Identität eines Benutzers zu erhöhen oder zu verringern.
  • In zumindest einigen Fällen empfängt die Erkennungskonfidenzkomponente 318 Bestimmungen aus den verschiedenen Komponenten 308, 310, 312, 314 und 316 und kann ein endgültiges Konfidenzniveau bestimmen, das mit der Identität eines Benutzers assoziiert ist. In einigen Fällen kann das Konfidenzniveau bestimmen, ob eine Aktion als Reaktion auf eine Benutzereingabe durchgeführt wird. Wenn eine Benutzereingabe beispielsweise eine Aufforderung zum Aufschließen einer Tür beinhaltet, muss ein Konfidenzniveau evtl. einem Schwellenwert genügen oder über diesem liegen, der höher sein kann als ein Schwellenkonfidenzniveau, der zur Durchführung einer Benutzeranforderung erforderlich ist, die mit dem Abspielen einer Wiedergabeliste oder dem Senden einer Nachricht assoziiert ist. Das Konfidenzniveau oder sonstige Score-Daten können in den Benutzererkennungsdaten 395 beinhaltet sein.
  • Die Audiokomponente 310 kann Daten aus einem oder mehreren Sensoren empfangen, die ein Audiosignal liefern können (z. B. ein oder mehrere Mikrofone), um die Erkennung eines Benutzers zu erleichtern. Die Audiokomponente 310 kann eine Audioerkennung an einem Audiosignal durchführen, um die Identität des Benutzers und die assoziierte Benutzerkennung zu bestimmen. In einigen Fällen können Aspekte des Systems / der Systeme 120 an einem Computergerät (z. B. einem lokalen Server) konfiguriert werden. Somit kann in einigen Fällen die Audiokomponente 310, die auf einem Computergerät arbeitet, den gesamten Sound analysieren, um die Erkennung eines Benutzers zu erleichtern. In einigen Fällen kann die Audiokomponente 310 eine Stimmerkennung durchführen, um die Identität eines Benutzers zu bestimmen.
  • Die Audiokomponente 310 kann auch eine Benutzeridentifizierung auf Basis von Audiodaten 211 durchführen, die in das / die System(e) 120 zur Sprachverarbeitung eingegeben wurden. Die Audiokomponente 310 kann Scores bestimmen, die angeben, ob Sprache in den Audiodaten 211 von bestimmten Benutzern stammt. Beispielsweise kann ein erster Score eine Wahrscheinlichkeit angeben, dass Sprache in den Audiodaten 211 von einem ersten Benutzer stammt, der mit einer ersten Benutzerkennung assoziiert ist, kann ein zweiter Score eine Wahrscheinlichkeit angeben, dass die Sprache in den Audiodaten 211 von einem zweiten Benutzer stammt, der mit einer zweiten Benutzerkennung assoziiert ist, usw. Die Audiokomponente 310 kann eine Benutzererkennung durchführen, indem in den Audiodaten 211 dargestellte Spracheigenschaften mit gespeicherten Spracheigenschaften von Benutzern verglichen werden (z. B. gespeicherte Stimmprofile, die mit dem Gerät 110 assoziiert sind, das die gesprochene Benutzereingabe erfasst hat).
  • Wie in 2B gezeigt können die Emotionsdetektionskomponente 275 und die Benutzererkennungskomponente 295 in dem Gerät 110b beinhaltet sein. Das Gerät 110a kann Audiodaten 211 an Gerät 110b übertragen. Nach dem Empfang kann das Gerät 110b die Audiodaten 211 an die Benutzererkennungskomponente 295 senden, um die hierin beschriebenen Vorgänge in Bezug auf Komponente 295 durchzuführen, zum Beispiel einschließlich der Identifizierung eines Benutzerprofils, das den Audiodaten 211 entspricht. Die Benutzererkennungskomponente 295 kann Daten an die Emotionsdetektionskomponente 275 senden, um hierin beschriebene Vorgänge durchzuführen.
  • 4 veranschaulicht die Verarbeitung der Benutzererkennung, wie sie von der Benutzererkennungskomponente 295 durchgeführt werden kann. Die ASR-Komponente 250 führt die ASR-Verarbeitung an ASR-Merkmalsvektordaten 450 durch. ASR-Konfidenzdaten 407 können an die Benutzererkennungskomponente 295 weitergeleitet werden.
  • Die Benutzererkennungskomponente 295 führt die Benutzererkennung unter Verwendung verschiedener Daten durch, einschließlich der Benutzererkennungs-Merkmalsvektordaten 440, Merkmalsvektoren 405, die Stimmprofile von Benutzern des Systems / der Systeme 120 darstellen, der ASR-Konfidenzdaten 407 und anderer Daten 409. Die Benutzererkennungskomponente 295 kann die Benutzererkennungsdaten 395 ausgeben, die eine bestimmte Konfidenz widerspiegeln, dass die Benutzereingabe von einem oder mehreren bestimmten Benutzern gesprochen wurde. Die Benutzererkennungsdaten 395 können eine oder mehrere Benutzerkennungen beinhalten (z. B. entsprechend einem oder mehreren Stimmprofilen). Jede Benutzerkennung in den Benutzererkennungsdaten 395 kann mit einem entsprechenden Konfidenzwert assoziiert sein, der eine Wahrscheinlichkeit darstellt, dass die Benutzereingabe der Benutzerkennung entspricht. Ein Konfidenzwert kann ein numerischer oder diskretisierter Wert sein.
  • Der / die Merkmalsvektor(en) 405, der / die in die Benutzererkennungskomponente 295 eingegeben wird / werden, kann / können einem oder mehreren Stimmprofilen entsprechen. Die Benutzererkennungskomponente 295 kann den / die Merkmalsvektor(en) 405 verwenden, um ihn / sie mit dem Benutzererkennungs-Merkmalsvektor 440 zu vergleichen, der die aktuelle Benutzereingabe darstellt, um zu bestimmen, ob der Benutzererkennungs-Merkmalsvektor 440 einem oder mehreren der Merkmalsvektoren 405 der Stimmprofile entspricht. Jeder Merkmalsvektor 405 kann die gleiche Größe wie der Benutzererkennungs-Merkmalsvektor 440 aufweisen.
  • Zur Durchführung der Benutzererkennung kann die Benutzererkennungskomponente 295 das Gerät 110 bestimmen, aus dem die Audiodaten 211 stammen. Beispielsweise können die Audiodaten 211 mit Metadaten assoziiert sein, einschließlich einer das Gerät 110 darstellenden Gerätekennung. Die Metadaten können entweder von dem Gerät 110 oder dem / den System(en) 120 erzeugt werden. Das / die System(e) 120 kann / können eine Gruppenprofilkennung bestimmen, die mit der Gerätekennung assoziiert ist, kann / können Benutzerkennungen bestimmen, die mit der Gruppenprofilkennung assoziiert sind, und kann / können die Gruppenprofilkennung und / oder die Benutzerkennungen in den Metadaten beinhalten. Das / die System(e) 120 kann / können die Metadaten mit dem aus den Audiodaten 211 erzeugten Benutzererkennungs-Merkmalsvektor 440 assoziieren. Die Benutzererkennungskomponente 295 kann ein Signal an den Stimmprofilspeicher 485 senden, wobei das Signal nur Audiodaten und / oder Merkmalsvektoren 405 anfordert (je nachdem, ob Audiodaten und / oder entsprechende Merkmalsvektoren gespeichert sind), die mit der Gerätekennung, der Gruppenprofilkennung und / oder den Benutzerkennungen, die in den Metadaten dargestellt sind, assoziiert sind. Dies schränkt das Universum möglicher Merkmalsvektoren 405 ein, die die Benutzererkennungskomponente 295 zur Laufzeit berücksichtigt, und verkürzt somit die Zeit für die Durchführung der Benutzererkennungsverarbeitung, indem die Menge der zu verarbeitenden Merkmalsvektoren 405 verringert wird. Alternativ kann die Benutzererkennungskomponente 295 auf alle (oder eine andere Teilmenge) der Audiodaten und / oder Merkmalsvektoren 405 zugreifen, die der Benutzererkennungskomponente 295 zur Verfügung stehen. Der Zugriff auf alle Audiodaten und / oder Merkmalsvektoren 405 erhöht jedoch wahrscheinlich die Zeit, die für die Durchführung der Benutzererkennungsverarbeitung benötigt wird, basierend auf der Größenordnung der zu verarbeitenden Audiodaten und / oder Merkmalsvektoren 405.
  • Wenn die Benutzererkennungskomponente 295 Audiodaten aus dem Stimmprofilspeicher 485 empfängt, kann die Benutzererkennungskomponente 295 einen oder mehrere Merkmalsvektoren 405 entsprechend den empfangenen Audiodaten erzeugen.
  • Die Benutzererkennungskomponente 295 kann versuchen, den Benutzer zu identifizieren, der die in den Audiodaten 211 dargestellte Sprache gesprochen hat, indem sie den Benutzererkennungs-Merkmalsvektor 440 mit dem / den Merkmalsvektor(en) 405 vergleicht. Die Benutzererkennungskomponente 295 kann eine Scoring-Komponente 422 beinhalten, die jeweilige Scores bestimmt, die angeben, ob die Benutzereingabe (dargestellt durch den Benutzererkennungs-Merkmalsvektor 440) von einem oder mehreren bestimmten Benutzern (dargestellt durch den / die Merkmalsvektor(en) 405) gesprochen wurde. Die Benutzererkennungskomponente 295 kann auch eine Konfidenzkomponente 424 beinhalten, die eine insgesamte Genauigkeit der Benutzererkennungsverarbeitung (wie diejenigen der Scoring-Komponente 422) und / oder einen individuellen Konfidenzwert mit Bezug auf jeden potenziell von der Scoring-Komponente 422 identifizierten Benutzer bestimmt. Die Ausgabe aus der Scoring-Komponente 422 kann einen unterschiedlichen Konfidenzwert für jeden empfangenen Merkmalsvektor 405 beinhalten. Beispielsweise kann die Ausgabe einen ersten Konfidenzwert für einen ersten Merkmalsvektor 405a (der ein erstes Stimmprofil darstellt), einen zweiten Konfidenzwert für einen zweiten Merkmalsvektor 405b (der ein zweites Stimmprofil darstellt) usw. beinhalten. Obwohl als zwei separate Komponenten veranschaulicht, können die Scoring-Komponente 422 und die Konfidenzkomponente 424 zu einer einzigen Komponente kombiniert oder in mehr als zwei Komponenten aufgeteilt werden.
  • Die Scoring-Komponente 422 und die Konfidenzkomponente 424 können ein oder mehrere trainierte maschinelle Lernmodelle (wie neuronale Netze, Klassifikatoren usw.) implementieren, wie sie in der Technik bekannt sind. Beispielsweise kann die Scoring-Komponente 422 probabilistische lineare Diskriminanzanalyse (Probabilistic Linear Discriminant Analysis, PLDA)-Techniken verwenden. PLDA-Scoring bestimmt, wie wahrscheinlich es ist, dass der Benutzererkennungs-Merkmalsvektor 440 einem bestimmten Merkmalsvektor 405 entspricht. Das PLDA-Scoring kann einen Konfidenzwert für jeden betrachteten Merkmalsvektor 405 erzeugen und kann eine Liste von Konfidenzwerten ausgeben, die mit jeweiligen Benutzerkennungen assoziiert sind. Die Scoring-Komponente 422 kann auch andere Techniken wie GMMs, generative Bayes'sche Modelle oder dergleichen verwenden, um Konfidenzwerte zu bestimmen.
  • Die Konfidenzkomponente 424 kann verschiedene Daten eingeben, einschließlich Informationen über die ASR-Konfidenz 407, Sprachlänge (z. B. die Anzahl der Rahmen oder eine andere gemessene Länge der Benutzereingabe), Audiozustands-/- qualitätsdaten (wie Signal-zu-Interferenz-Daten oder andere metrische Daten), Fingerabdruckdaten, Bilddaten oder andere Faktoren, um zu prüfen, wie konfident die Benutzererkennungskomponente 295 mit Bezug auf die Konfidenzwerte ist, die Benutzer mit der Benutzereingabe verknüpfen. Die Konfidenzkomponente 424 kann auch die von der Scoring-Komponente 422 ausgegebenen Konfidenzwerte und assoziierten Kennungen berücksichtigen. Beispielsweise kann die Konfidenzkomponente 424 bestimmen, dass eine niedrigere ASR-Konfidenz 407 oder eine schlechte Audioqualität oder andere Faktoren zu einer niedrigeren Konfidenz der Benutzererkennungskomponente 295 führen können. Eine höhere ASR-Konfidenz 407 oder eine bessere Audioqualität oder andere Faktoren hingegen können zu einer höheren Konfidenz der Benutzererkennungskomponente 295 führen. Die genaue Bestimmung der Konfidenz kann von der Konfiguration und dem Training der Konfidenzkomponente 424 und dem / den dadurch implementierten Modell(en) abhängen. Die Konfidenzkomponente 424 kann unter Verwendung einer Reihe verschiedener maschineller Lernmodelle/-techniken wie GMM, neuronaler Netze usw. arbeiten. Beispielsweise kann die Konfidenzkomponente 424 ein Klassifikator sein, der dafür konfiguriert ist, einen von der Scoring-Komponente 422 ausgegebenen Score einem Konfidenzwert zuzuordnen.
  • Die Benutzererkennungskomponente 295 kann Benutzererkennungsdaten 395 ausgeben, die für eine oder mehrere Benutzerkennungen spezifisch sind. Beispielsweise kann die Benutzererkennungskomponente 295 Benutzererkennungsdaten 395 mit Bezug auf jeden empfangenen Merkmalsvektor 405 ausgeben. Die Benutzererkennungsdaten 395 können numerische Konfidenzwerte beinhalten (z. B. 0,0-1,0, 0-1000 oder eine beliebige Skala, für deren Betrieb das System konfiguriert ist). Somit können die Benutzererkennungsdaten 395 eine n-best-Liste potenzieller Benutzer mit numerischen Konfidenzwerten ausgeben (z. B. Benutzerkennung 123 - 0,2, Benutzerkennung 234 - 0,8). Alternativ oder zusätzlich können die Benutzererkennungsdaten 395 diskretisierte Konfidenzwerte beinhalten. Beispielsweise kann ein berechneter Erkennungsscore eines ersten Bereichs (z. B. 0,0-0,33) als „niedrig“ ausgegeben werden, kann ein berechneter Erkennungsscore eines zweiten Bereichs (z. B. 0,34-0,66) als „mittel“ ausgegeben werden und kann ein berechneter Erkennungsscore eines dritten Bereichs (z. B. 0,67-1,0) als „hoch“ ausgegeben werden. Die Benutzererkennungskomponente 295 kann eine n-best-Liste von Benutzerkennungen mit diskretisierten Konfidenzwerten ausgeben (z. B. Benutzerkennung 123 - niedrig, Benutzerkennung 234 - hoch). Kombinierte diskretisierte und numerische Konfidenzwertausgaben sind ebenfalls möglich. Anstelle einer Liste von Kennungen und ihren jeweiligen Konfidenzwerten können die Benutzererkennungsdaten 395 nur Informationen in Bezug auf die Kennung mit dem höchsten Score beinhalten, wie von der Benutzererkennungskomponente 295 bestimmt. Die Benutzererkennungskomponente 295 kann auch einen insgesamten Konfidenzwert ausgeben, dass die einzelnen Konfidenzwerte korrekt sind, wobei der insgesamte Konfidenzwert angibt, wie konfident die Benutzererkennungskomponente 295 in die Ausgabeergebnisse ist. Die Konfidenzkomponente 424 kann den insgesamten Konfidenzwert bestimmen.
  • Die Konfidenzkomponente 424 kann bei der Bestimmung der Benutzererkennungsdaten 395 Unterschiede zwischen einzelnen Konfidenzwerten bestimmen. Wenn beispielsweise ein Unterschied zwischen einem ersten Konfidenzwert und einem zweiten Konfidenzwert groß ist und der erste Konfidenzwert über einem Schwellenkonfidenzwert liegt, dann ist die Benutzererkennungskomponente 295 imstande, einen ersten Benutzer (der mit dem Merkmalsvektor 405 assoziiert ist, der mit dem ersten Konfidenzwert assoziiert ist) als den Benutzer zu erkennen, der die Benutzereingabe sprach, mit einer höheren Konfidenz als wenn der Unterschied zwischen den Konfidenzwerten kleiner wäre.
  • Die Benutzererkennungskomponente 295 kann Schwellenwertbildung durchführen, um zu vermeiden, dass falsche Benutzererkennungsdaten 395 ausgegeben werden. Beispielsweise kann die Benutzererkennungskomponente 295 einen von der Konfidenzkomponente 424 ausgegebenen Konfidenzwert mit einem Schwellenkonfidenzwert vergleichen. Wenn der Konfidenzwert den Schwellenkonfidenzwert nicht erfüllt (z. B. nicht erreicht oder überschreitet), kann die Benutzererkennungskomponente 295 keine Benutzererkennungsdaten 395 ausgeben oder in diesen Daten 395 nur einen Indikator einschließen, dass ein Benutzer, der die Benutzereingabe sprach, nicht erkannt werden konnte. Weiterhin kann die Benutzererkennungskomponente 295 Benutzererkennungsdaten 395 erst ausgeben, wenn genügend Benutzererkennungs-Merkmalsvektordaten 440 gesammelt und verarbeitet wurden, um einen Benutzer oberhalb eines Schwellenkonfidenzwerts zu verifizieren. Somit kann die Benutzererkennungskomponente 295 warten, bis eine ausreichende Schwellenmenge an Audiodaten der Benutzereingabe verarbeitet worden ist, bevor Benutzererkennungsdaten 395 ausgegeben werden. Die Menge der empfangenen Audiodaten kann ebenfalls von der Konfidenzkomponente 424 berücksichtigt werden.
  • Die Benutzererkennungskomponente 295 kann standardmäßig so eingestellt werden, dass diskretisierte (z. B. niedrige, mittlere, hohe) Benutzererkennungs-Konfidenzwerte ausgegeben werden. Dies kann jedoch in bestimmten Situationen problematisch sein. Wenn zum Beispiel die Benutzererkennungskomponente 295 einen einzigen diskretisierten Konfidenzwert für mehrere Merkmalsvektoren 405 berechnet, kann das System möglicherweise nicht bestimmen, von welchem jeweiligen Benutzer die Benutzereingabe stammt. In dieser Situation kann die Benutzererkennungskomponente 295 ihre Standardeinstellung übersteuern und numerische Konfidenzwerte ausgeben. Dadurch kann das System einen mit dem höchsten numerischen Konfidenzwert assoziierten Benutzer bestimmen, von dem die Benutzereingabe stammt.
  • Die Benutzererkennungskomponente 295 kann andere Daten 409 verwenden, um die Benutzererkennungsverarbeitung zu prägen. Ein trainiertes Modell bzw. trainierte Modelle oder eine andere Komponente der Benutzererkennungskomponente 295 kann / können trainiert werden, um andere Daten 409 als Eingabemerkmal zu nehmen, bei der Durchführung der Benutzererkennungsverarbeitung. Andere Daten 409 können je nach der Systemkonfiguration eine Vielzahl von Datentypen beinhalten und können aus anderen Sensoren, Geräten oder Speicherung verfügbar gemacht werden. Die anderen Daten 409 können eine Tageszeit, zu der die Audiodaten 211 von dem Gerät 110 erzeugt oder aus dem Gerät 110 empfangen wurden, einen Wochentag, an dem die Audiodaten 211 von dem Gerät 110 erzeugt oder aus dem Gerät 110 empfangen wurden, usw. beinhalten.
  • Die anderen Daten 409 können Bilddaten oder Videodaten beinhalten. Beispielsweise kann die Gesichtserkennung anhand von Bilddaten oder Videodaten durchgeführt werden, die aus dem Gerät 110 empfangen wurden, aus dem die Audiodaten 211 empfangen wurden (oder einem anderen Gerät). Gesichtserkennung kann von der Benutzererkennungskomponente 295 durchgeführt werden. Die Ausgabe der Gesichtserkennungsverarbeitung kann von der Benutzererkennungskomponente 295 verwendet werden. Das heißt, Gesichtserkennungs-Ausgabedaten können zusammen mit dem Vergleich des Benutzererkennungs-Merkmalsvektors 440 und einem oder mehreren Merkmalsvektoren 405 verwendet werden, um eine genauere Benutzererkennungsverarbeitung durchzuführen.
  • Die anderen Daten 409 können Standortdaten des Gerätes 110 beinhalten. Die Standortdaten können spezifisch für ein Gebäude sein, in dem sich das Gerät 110 befindet. Wenn sich das Gerät 110 beispielsweise im Schlafzimmer von Benutzer A befindet, kann ein solcher Ort einen mit Benutzer A assoziierten Benutzererkennungs-Konfidenzwert erhöhen und / oder einen mit Benutzer B assoziierten Benutzererkennungs-Konfidenzwert verringern.
  • Die anderen Daten 409 können Daten beinhalten, die einen Typ des Gerätes 110 angeben. Zu den verschiedenen Gerätetypen gehören evtl. zum Beispiel eine intelligente Uhr, ein Smartphone, ein Tablet und ein Fahrzeug. Der Typ des Gerätes 110 kann in einem mit dem Gerät 110 assoziierten Profil angegeben werden. Wenn das Gerät 110, aus dem die Audiodaten 211 empfangen wurden, beispielsweise eine intelligente Uhr oder ein Fahrzeug in Besitz eines Benutzers A ist, kann die Tatsache, dass das Gerät 110 Benutzer A gehört, einen mit Benutzer A assoziierten Benutzererkennungs-Konfidenzwert erhöhen und / oder einen mit Benutzer B assoziierten Benutzererkennungs-Konfidenzwert verringern.
  • Die anderen Daten 409 können geographische Koordinatendaten beinhalten, die mit dem Gerät 110 assoziiert sind. Beispielsweise kann ein mit einem Fahrzeug assoziiertes Gruppenprofil mehrere Benutzer angeben (z. B. Benutzer A und Benutzer B). Das Fahrzeug kann ein globales Positionierungssystem (GPS) beinhalten, das Breiten- und Längenkoordinaten des Fahrzeugs, als das Fahrzeug die Audiodaten 211 erzeugte, angibt. Von daher, wenn sich das Fahrzeug an einer Koordinate befindet, die einem Arbeitsort / Gebäude von Benutzer A entspricht, kann dies einen mit Benutzer A assoziierten Benutzererkennungs-Konfidenzwert erhöhen und / oder Benutzererkennungs-Konfidenzwerte aller anderen Benutzer, die in einem mit dem Fahrzeug assoziierten Gruppenprofil angegeben sind, verringern. Ein mit dem Gerät 110 assoziiertes Profil kann globale Koordinaten und assoziierte Standorte (z. B. Arbeit, Zuhause usw.) angeben. Ein oder mehrere Benutzerprofile können ebenfalls oder alternativ die globalen Koordinaten angeben.
  • Die anderen Daten 409 können Daten beinhalten, die die Aktivität eines bestimmten Benutzers darstellen, die bei der Durchführung der Benutzererkennungsverarbeitung nützlich sein kann. Beispielsweise kann ein Benutzer kürzlich einen Code eingegeben haben, um einen Hausalarm zu deaktivieren. Ein Gerät 110, das in einem mit dem Zuhause assoziierten Gruppenprofil dargestellt ist, kann die Audiodaten 211 erzeugt haben. Die anderen Daten 409 können Signale vom Hausalarm über den deaktivierenden Benutzer, den Zeitpunkt der Deaktivierung usw. widerspiegeln. Wenn ein mobiles Gerät (z. B. ein Smartphone, eine Tile, ein Dongle oder ein anderes Gerät), das bekanntermaßen mit einem bestimmten Benutzer assoziiert ist, nahe dem Gerät 110 detektiert wird (z. B. ihm physisch nahe, mit demselben WiFi-Netzwerk wie es verbunden oder ihm anderweitig nahe), kann dies in den anderen Daten 409 widergespiegelt und von der Benutzererkennungskomponente 295 berücksichtigt werden.
  • Je nach der Systemkonfiguration können die anderen Daten 409 so konfiguriert werden, dass sie in den Benutzererkennungs-Merkmalsvektordaten 440 beinhaltet sind, so dass alle Daten, die sich auf die von der Scoring-Komponente 422 zu verarbeitende Benutzereingabe beziehen, in einem einzigen Merkmalsvektor beinhaltet sein können. Alternativ können die anderen Daten 409 in einer oder mehreren verschiedenen, von der Scoring-Komponente 422 zu verarbeitenden Datenstrukturen widergespiegelt sein.
  • 5 ist ein konzeptionelles Diagramm, das eine Emotionsdetektionskomponente mit Komponenten für die Benutzeranmeldung gemäß Ausführungsformen der vorliegenden Offenbarung veranschaulicht. In einigen Ausführungsformen kann die Emotionsdetektionskomponente 275 eine Anmeldungskomponente 505 und eine Kontextkomponente 515 beinhalten.
  • Die Anmeldungskomponente 505 kann so konfiguriert sein, dass sie Audiodaten von einem Benutzer erhält, die den neutralen emotionalen Zustand des Benutzers darstellen. Die Anmeldungskomponente 505 kann so konfiguriert sein, dass sie das Gerät 110 veranlasst, den Benutzer aufzufordern, einen oder mehrere Sätze zu sprechen. Beispielsweise kann die Anmeldungskomponente 505 das Gerät 110 veranlassen, „für Anmeldungszwecke sagen Sie bitte, ich liebe das Wetter heute“ auszugeben, und der Benutzer kann sagen: „ich liebe das Wetter heute“, was durch die Audiodaten 211 dargestellt werden kann. Die Anmeldungskomponente 505 kann die Audiodaten 211 verarbeiten, die die von einem Benutzer gesprochene Referenzäußerung darstellen. In einigen Fällen können die Audiodaten 211 mehrere Äußerungen beinhalten, und die Referenzaudiodaten 510 können den mehreren Äußerungen entsprechen.
  • Die Anmeldungskomponente 505 kann auch dafür konfiguriert sein, zu bestimmen, ob die Audiodaten 211 als Grundlinie für die Darstellung des neutralen emotionalen Zustands eines Benutzers verwendet werden können. Wenn bestimmt wird, dass die Audiodaten 211 eine gute / gültige Grundlinie sind, dann kann die Anmeldungskomponente 505 die Audiodaten 211 als die Referenzaudiodaten 510 im Profilspeicher 270 speichern und die Referenzaudiodaten 510 mit dem Profil des Benutzers als eine Grundlinie für die Emotionsdetektion assoziieren.
  • Die Anmeldungskomponente 505 kann die Audiodaten 211 analysieren, um zu bestimmen, ob die entsprechenden akustischen Sprachattribute innerhalb eines vordefinierten Bereichs liegen oder bestimmte Bedingungen erfüllen, die einen neutralen emotionalen Zustand des Benutzers anzeigen. Wie hierin verwendet bezieht sich „akustische Sprachattribute“ auf Merkmale wie Akzent, Tonhöhe, Prosodie (Intonation, Ton, Betonung, Rhythmus), Sprache und dergleichen, die aus Audiodaten abgeleitet werden können. Die Anmeldungskomponente 505 kann akustische Sprachattribute identifiziert und gespeichert haben, die einen neutralen emotionalen Zustand darstellen, basierend auf der Analyse von Audiodaten von mehreren Benutzern, die eine allgemeine Population oder eine bestimmte Population darstellen (um Akzente, kulturelle Unterschiede und andere Faktoren zu berücksichtigen, die die Sprache basierend auf einem geographischen Standort beeinflussen), und kann diese akustischen Sprachattribute verwenden, um zu bestimmen, ob die Audiodaten 211 den neutralen emotionalen Zustand eines Benutzers darstellen.
  • In einigen Ausführungsformen kann die Anmeldungskomponente 505 ein ML-Modell zur Verarbeitung der Audiodaten 211 verwenden, um eine den Audiodaten entsprechende Emotionskategorie zu bestimmen. Wenn das ML-Modell bestimmt, dass die den Audiodaten 211 entsprechende Emotionskategorie neutral ist, dann kann die Anmeldungskomponente 505 die Audiodaten 211 als die Referenzaudiodaten 510 speichern. Wenn das ML-Modell bestimmt, dass die den Audiodaten 211 entsprechende Emotionskategorie anders als neutral (wütend, freudig usw.) ist, dann können die Audiodaten 211 verworfen und nicht als Grundlinie für die Emotionsdetektion verwendet werden. Die Audiodaten 211 können in einen Codierer (nicht dargestellt) eingegeben werden, um (einen) Rahmenmerkmalsvektor(en) (nicht dargestellt) zu bestimmen. Der / die Rahmenmerkmalsvektor(en) kann / können Merkmale auf Audiorahmen-Ebene darstellen, die aus den Audiodaten 211 extrahiert wurden. Ein Rahmenmerkmalsvektor kann Merkmale auf Audiorahmen-Ebene für einen Audiorahmen von 20 ms der Audiodaten 211 darstellen. Der / die Rahmenmerkmalsvektor(en) kann / können durch Spektralanalyse der Audiodaten 211 abgeleitet werden. In einer Beispielsausführungsform kann die Emotionskomponente 275 Audiodaten 211 bestimmen, die eine gesamte Äußerung beinhalten, und der / die Rahmenmerkmalsvektor(en) kann / können verwendet werden, um (einen) Äußerungsmerkmalsvektor(en) zu bestimmen, der / die Merkmale auf Äußerungsebene einer oder mehrerer Äußerungen darstellt / darstellen, die in den Audiodaten 211 dargestellt ist / sind. Der / die Äußerungsmerkmalsvektor(en) kann / können mittels Durchführung von statistischen Berechnungen, Delta-Berechnung und sonstiger Verarbeitung an dem / den Rahmenmerkmalsvektor(en) für die Audiorahmen bestimmt werden, die einer Äußerung von Interesse entsprechen. Das ML-Modell (nicht dargestellt), das von der Anmeldungskomponente 505 verwendet wird, kann den / die Rahmenmerkmalsvektor(en) verarbeiten, um einen oder mehrere Scores zu bestimmen, die eine Emotion des Benutzers beim Sprechen einer von dem / den Rahmenmerkmalsvektor(en) dargestellten Äußerung anzeigen. In einer anderen Ausführungsform kann das ML-Modell die Merkmalsvektoren auf Äußerungsebene verarbeiten, um einen oder mehrere Scores zu bestimmen, die eine Emotion des Benutzers beim Sprechen einer von dem / den Rahmenmerkmalsvektor(en) dargestellten Äußerung anzeigen. Das ML-Modell kann unter Verwendung eines Trainingsdatensatzes trainiert werden, um Audiorahmenmerkmale und / oder Merkmale auf Äußerungsebene zu verarbeiten, um eine Emotion des Benutzers zu bestimmen. In einigen Ausführungsformen kann das ML-Modell so trainiert werden, dass es einen Score ausgibt, der ein Konfidenzniveau angibt, wie neutral die Emotion des Benutzers ist, z. B. kann ein Score von 1-2 ein niedriges Konfidenzniveau angeben, kann ein Score von 3 ein mittleres Konfidenzniveau angeben und kann ein Score von 4-5 ein hohes Konfidenzniveau angeben. In anderen Ausführungsformen kann das ML-Modell so trainiert werden, dass es für die neutrale Emotionskategorie eine Anzeige von niedrig, mittel oder hoch ausgibt. In einer Beispielsausführungsform kann das ML-Modell ein maschinelles Lernmodell mit neuronalem Netz (rekurrentes neuronales Netz, tief lernendes neuronales Netz, konvolutionales neuronales Netz usw.), ein statistisches Modell, ein probabilistisches Modell oder eine andere Art von Modell sein.
  • Die Anmeldungskomponente 505 kann so konfiguriert sein, dass sie den Benutzer auffordert, einen Satz zu wiederholen oder einen anderen Satz zu sagen, wenn die Audiodaten 211 keine gute Grundlinie für die Emotionsdetektion darstellen. Die Anmeldungskomponente 505 kann das Gerät 110 veranlassen, z. B. „bitte wiederholen Sie, ich liebe das Wetter heute“ auszugeben. Die Anmeldungskomponente 505 kann die als Reaktion von dem Benutzer empfangenen Audiodaten verarbeiten, um zu bestimmen, ob diese als Grundlinie verwendet werden können. In einigen Ausführungsformen kann die Anmeldungskomponente 505 nur ein paar Versuche unternehmen, um Audiodaten für eine Grundlinie zu erhalten. Nach zwei oder drei Versuchen, bei denen es nicht möglich war, Daten zu erhalten, die für eine Grundlinie verwendet werden können, kann die Anmeldungskomponente 505 das Gerät 110 veranlassen, Audio auszugeben, um den Benutzer darüber zu informieren, dass das System den Anmeldungsprozess nicht fortsetzen wird und dass der Benutzer es zu einem anderen Zeitpunkt erneut versuchen sollte. Die Audiodaten 211 können aufgrund von Hintergrundgeräuschen nicht von guter Qualität sein, oder die Audiodaten 211 stellen evtl. nicht den neutralen emotionalen Zustand des Benutzers dar (beispielsweise kann der Benutzer während des Anmeldungsprozesses zu aufgeregt oder wütend sein).
  • In einigen Ausführungsformen kann die Anmeldungskomponente 505 den Benutzer auffordern, einen spezifischen Satz zu sprechen. In anderen Ausführungsformen kann die Anmeldungskomponente 505 den Benutzer auffordern, über ein Thema zu sprechen, anstatt einen spezifischen Satz zu sagen. In einigen Ausführungsformen kann die Anmeldungskomponente 505 den Benutzer auffordern, einen spezifischen Satz zu sagen und auch über ein Thema zu sprechen, um Audiodaten für beide Situationen zu erfassen, weil ein Benutzer unterschiedliche Sprechstile / akustische Sprachattribute aufweisen kann, wenn er einen Satz wiederholt, im Gegensatz zum freien Sprechen über ein Thema. Die Anmeldungskomponente 505 kann die Audiodaten, die den Benutzer darstellen, der einen spezifischen Satz sagt, und die Audiodaten, die den Benutzer darstellen, der frei über ein Thema spricht, verarbeiten, um eine geeignete Grundlinie zu bestimmen, zum Beispiel unter Verwendung der Unterschiede bei den akustischen Sprachattributen für die beiden Situationen, des Durchschnitts (gewichtet oder ungewichtet) der akustischen Sprachattribute für die beiden Situationen, einer statistischen Analyse, eines maschinellen Lernmodells zur Verarbeitung der entsprechenden Merkmalsvektoren und / oder unter Verwendung anderer Verfahren.
  • Die Emotionsdetektionskomponente 275 kann dafür konfiguriert sein, Referenzaudiodaten (für mehrere Grundlinien) vom Benutzer unter verschiedenen Umständen zu erhalten. Auf diese Weise kann das System die unterschiedlichen Sprechstile / akustischen Sprachattribute berücksichtigen, die der Benutzer unter verschiedenen Umständen aufweist. Die Kontextkomponente 515 kann dafür konfiguriert sein, Daten (z. B. Kontextdaten 520), die die Umgebung des Benutzers, die Umstände, den Standort, das Umfeld darstellen, oder andere Hintergrunddaten des Benutzers zu bestimmen, die dem Benutzer entsprachen, als er das für die Grundlinie verwendete Audio sprach. Beispielsweise kann die Kontextkomponente 515 bestimmen, wo der Benutzer war, als er die Referenzäußerung sprach, durch Verwendung des Standortes des Gerätes 110 oder sonstiger mit dem Benutzerprofil assoziierter Informationen. Die Kontextkomponente 515 kann eine Interaktionsart bestimmen, die einschließt, mit wem der Benutzer interagierte, als er die Äußerung sprach, das Umfeld, in dem sich der Benutzer befand, als er sprach (z. B. Arbeitstreffen, Familien-/ Freundestreffen, Sportveranstaltung, Konzert usw.), die Zeit (z. B. morgens, nachmittags, abends, der Wochentag usw.), jede Aktion, mit der der Benutzer beschäftigt ist, während er spricht (z. B. Autofahren, Spazierengehen, Fernsehen usw.) und dergleichen. Die Kontextdaten 520 können auch Daten beinhalten, die andere Kontextinformationen darstellen, die dem Zeitpunkt entsprechen, zu dem der Benutzer das Audio sprach, wie z. B. Wetterinformationen, physiologische Daten (z. B. Herzfrequenz, Blutdruck, Körpertemperatur usw.), die mit dem Benutzer assoziiert sind, die Jahreszeit, der Monat des Jahres und dergleichen. Die Kontextkomponente 515 kann die Kontextdaten 520 durch Abrufen von Daten aus dem Benutzerprofilspeicher 270, anderen Datenspeichern und / oder anderen Systemen / Anwendungen bestimmen. Die Kontextkomponente 515 kann die Kontextdaten 520 ableiten, indem die Audiodaten verarbeitet und Eigenschaften oder Merkmale aus den Audiodaten bestimmt werden, die bestimmte Kontextdaten angeben. In einigen Ausführungsformen kann das System Eingabedaten vom Benutzer empfangen, die die Kontextdaten angeben, wie z. B. den Standort des Benutzers (z. B. zu Hause, bei der Arbeit, im Fitnessstudio usw.), mit wem der Benutzer interagiert (z. B. Kollegen, Chef, Ehepartner / Lebensgefährte, Kindern, Nachbarn usw.), ein Umfeld, in dem sich der Benutzer befindet (z. B. Arbeitstreffen, geselliges Beisammensein usw.), eine Aktion, mit der der Benutzer beschäftigt ist (z. B. Autofahren, Spazierengehen usw.), und dergleichen.
  • Die Emotionsdetektionskomponente 275 kann mehrere Grundlinien und entsprechende Kontextdaten im Profilspeicher 270 speichern. Beispielsweise kann die Emotionsdetektionskomponente 275 speichern: erste Audiodaten (z. B. 510a), die eine erste Grundlinie darstellen, im Profilspeicher 270 zusammen mit Kontextdaten (z. B. 520a), die <Ort: Arbeit> angeben, zweite Audiodaten (z. B. 510b), die eine zweite Grundlinie darstellen, zusammen mit Kontextdaten (z. B. 520b), die <Ort: Zuhause> angeben, dritte Audiodaten (z. B. 510c), die eine dritte Grundlinie darstellen, zusammen mit Kontextdaten (z. B. 520c), die <Person: Kollege> angeben, vierte Audiodaten (z. B. 510d), die eine vierte Grundlinie darstellen, zusammen mit Kontextdaten (z. B. 520d), die <Person: Tochter> angeben, und so weiter.
  • In einigen Ausführungsformen kann die Emotionsdetektionskomponente 275 vor der Verarbeitung der Audiodaten 211 durch die Anmeldungskomponente 505 bestimmen, dass die Audiodaten 211 Sprache von einer oder mehreren anderen Personen als dem Benutzer beinhalten, der sich zur Emotionsdetektion anmeldet. Beispielsweise kann das System als Teil des Anmeldungsprozesses die Erlaubnis des Benutzers erhalten, seine Sprache für einen begrenzten Zeitraum aufzuzeichnen, um Audio zu erhalten, das Interaktionen des Benutzers in verschiedenen Situationen und Umfeldern darstellt, so dass das System Grundlinien für verschiedene Kontexte bestimmen kann. Wie oben beschrieben ist dies von Vorteil, weil ein Benutzer unter verschiedenen Umständen unterschiedliche Sprechstile / akustische Sprachattribute aufweisen kann, je nachdem, mit wem er interagiert, wo er spricht und / oder was er gerade tut. Von daher können die Audiodaten 211 Sprache von einer oder mehreren anderen Personen als dem Benutzer beinhalten. In solchen Fällen kann die Emotionsdetektionskomponente 275 unter Verwendung der Benutzererkennungskomponente 295 einen oder mehrere Benutzer erkennen, wie in Verbindung mit 3 und 4 beschrieben. Wenn bestimmt wird, dass ein Teil der Audiodaten 211 von einer anderen Person als dem Benutzer stammt, dann wird dieser Teil der Audiodaten 211 verworfen, und nur der Teil der Audiodaten 211, der dem Benutzer entspricht, wird zur weiteren Verarbeitung und zur Anmeldung des Benutzers für die Emotionsdetektion gespeichert.
  • 6 ist ein konzeptionelles Diagramm, das eine Emotionsdetektionskomponente gemäß Ausführungsformen der vorliegenden Offenbarung veranschaulicht. Zusätzlich zu den in 5 veranschaulichten Komponenten kann die Emotionsdetektionskomponente 275 auch eine Stimmaktivitätsdetektions(VAD)-Komponente 605, ein trainiertes Modell 615 und eine Grundlinienauswahlkomponente 620 beinhalten. Die von einem Gerät 110 erfassten Audiodaten 211 können in die VAD-Komponente 605 eingegeben werden. Die Emotionsdetektionskomponente 275 kann sich auf einem Gerät 110a, auf einem anderen Gerät nahe und in Kommunikation mit Gerät 110 wie z. B. Gerät 110b oder auf einem Remote-Gerät wie z. B. in System(en) 120 befinden. Wenn sich die Emotionsdetektionskomponente 275 nicht auf dem Gerät 110a befindet, das Audio erfasst, beinhaltet die Emotionsdetektionskomponente 275 evtl. nicht notwendigerweise die VAD-Komponente 605 (oder beinhaltet evtl. nicht notwendigerweise andere Komponenten) und kann auch andere Komponenten beinhalten oder nicht. Die genaue Zusammensetzung der Emotionsdetektionskomponente 275 hängt von der Systemkonfiguration ab.
  • Die VAD-Komponente 605 kann bestimmen, ob die Audiodaten 211 von einem Menschen gesprochene Sprache oder Stimmaktivität eines Menschen beinhalten, und kann einen Teil der Audiodaten 211 bestimmen, der Sprache oder Stimmaktivität beinhaltet. Die VAD-Komponente 605 kann den Teil der Audiodaten 211, der Sprache oder Stimmaktivität beinhaltet, an die Benutzererkennungskomponente 295 senden. Die VAD-Komponente 605 kann Stimmaktivitätsdetektionstechniken verwenden. Solche Techniken können bestimmen, ob Sprache in Audiodaten vorhanden ist, und zwar auf Basis verschiedener quantitativer Aspekte der Audiodaten wie z. B. der spektralen Steigung zwischen einem oder mehreren Rahmen der Audiodaten; der Energieniveaus der Audiodaten in einem oder mehreren Spektralbändern; der Rauschabstände der Audiodaten in einem oder mehreren Spektralbändern; oder anderer quantitativer Aspekte. In anderen Beispielen kann die VAD-Komponente 605 einen begrenzten Klassifikator implementieren, der dafür konfiguriert ist, Sprache von Hintergrundgeräuschen zu unterscheiden. Der Klassifikator kann durch Techniken wie lineare Klassifikatoren, Support-Vektor-Maschinen und Entscheidungsbäume implementiert werden. In noch anderen Beispielen kann das Gerät 110 Hidden Markov Model (HMM)- oder Gaussian Mixture Model (GMM)-Techniken anwenden, um die Audiodaten mit einem oder mehreren akustischen Modellen im Speicher zu vergleichen; diese akustischen Modelle können Modelle beinhalten, die Sprache, Geräuschen (z. B. Umgebungsgeräuschen oder Hintergrundgeräuschen) oder Stille entsprechen. Noch andere Techniken können verwendet werden, um zu bestimmen, ob Sprache in Audiodaten vorhanden ist.
  • Die Benutzererkennungskomponente 295 (die sich auf demselben Gerät wie die Emotionsdetektionskomponente 275 oder auf einem anderen Gerät befinden kann) kann mit der Emotionsdetektionskomponente 275 kommunizieren, um Benutzeraudiodaten 610 zu bestimmen, die einem bestimmten Benutzerprofil entsprechen. Die Benutzererkennungskomponente 295 kann einen oder mehrere Benutzer erkennen, wie in Verbindung mit 3 und 4 beschrieben. Beispielsweise kann die Benutzererkennungskomponente 295 gespeicherte Daten identifizieren, die einem mit dem Benutzerprofil assoziierten Stimmprofil entsprechen, und auf Basis einer Analyse der gespeicherten Daten ein Konfidenzniveau bestimmen, dass ein Teil der Eingabeaudiodaten dem Stimmprofil entspricht. Die Benutzererkennungskomponente 295 kann bestimmen, ob das Konfidenzniveau einen Schwellenwert erreicht / erfüllt. Wenn das Konfidenzniveau für einen Teil der Eingabeaudiodaten unter einem Schwellenwert liegt, dann wird der jeweilige Teil der Eingabeaudiodaten verworfen, da er nicht die Sprache des mit dem Benutzerprofil assoziierten Benutzers darstellt. Wenn das Konfidenzniveau für einen Teil der Eingabeaudiodaten einen Schwellenwert erreicht / erfüllt, dann wird der jeweilige Teil der Eingabeaudiodaten als die Benutzeraudiodaten 610 gespeichert.
  • Die Benutzeraudiodaten 610 können ein Teil der Audiodaten 211 sein, der Sprache oder eine oder mehrere Äußerungen eines bestimmten mit dem Benutzerprofil assoziierten Benutzers beinhaltet. Mit anderen Worten können Audiodaten, die die Sprache eines bestimmten Benutzers darstellen, isoliert und als die Benutzeraudiodaten 610 zur weiteren Analyse gespeichert werden. In einer Beispielsausführungsform kann der Benutzer mit dem Gerät 110 assoziiert sein oder es benutzen und kann dem / den System(en) 120 die Erlaubnis erteilt haben, seine Stimme / Unterhaltungen aufzuzeichnen und zu analysieren, um eine der Unterhaltung entsprechende Emotionskategorie zu bestimmen.
  • Vor Durchführung einer weiteren Analyse der Benutzeraudiodaten 610 kann die Emotionsdetektionskomponente 275 bestätigen, dass der Benutzer die Erlaubnis erteilt hat, die vom Benutzer gesprochene Sprache zwecks Emotionsdetektion zu analysieren.
  • Die Benutzeraudiodaten 610 können in einen Codierer 1150 eingegeben werden (in Bezug auf 11 weiter beschrieben), um Rahmenmerkmalsvektor(en) 612 zu bestimmen. Der / die Rahmenmerkmalsvektor(en) 612 kann / können Merkmale auf Audiorahmen-Ebene darstellen, die aus den Benutzeraudiodaten 610 extrahiert wurden. Ein Rahmenmerkmalsvektor 612 kann Merkmale darstellen, die für ein Fenster von 25 ms Audio extrahiert wurden, wobei sich das Fenster in Schritten von 10 ms verschiebt oder bewegt, um Merkmale zu extrahieren, die von dem nächsten Rahmenmerkmalsvektor dargestellt werden. In anderen Ausführungsformen kann ein Rahmenmerkmalsvektor 612 Merkmale darstellen, die einem einzelnen Wort in der Äußerung entsprechen. Die Emotionsdetektionskomponente 275 kann die Teile der Benutzeraudiodaten 610 bestimmen, die einzelnen Wörtern entsprechen, und extrahiert Merkmale aus den jeweiligen Teilen des Audios unter Verwendung des Codierers 1150. Der / die Rahmenmerkmalsvektor(en) 612 kann / können durch Spektralanalyse der Benutzeraudiodaten 610 abgeleitet werden und kann / können akustische Sprachattribute wie Akzent, Tonhöhe, Intonation, Ton, Betonung, Rhythmus, Geschwindigkeit usw. anzeigen.
  • Die Grundlinienauswahlkomponente 620 kann dafür konfiguriert sein, eine Grundlinie für die Emotionsdetektion zu identifizieren oder auszuwählen. In einigen Ausführungsformen kann der Profilspeicher 270 Referenzaudiodaten speichern, die mehreren Grundlinien entsprechen, die mit unterschiedlichen Kontextdaten assoziiert sind. Die Grundlinienauswahlkomponente 620 kann bestimmen, welche Grundlinie während der Laufzeit verwendet werden soll, um die jeweiligen Eingabeaudiodaten 211 zu analysieren. Die Grundlinienauswahlkomponente 620 kann eine Grundlinie aus den mehreren Grundlinien auf Basis der mit der Grundlinie assoziierten Kontextdaten und der mit den Audiodaten 211 assoziierten Kontextdaten auswählen. Die Grundlinienauswahlkomponente 620 fordert die Kontextkomponente 515 auf, Kontextdaten zu bestimmen, die den Audiodaten 211 entsprechen, wie z. B. den Standort des Benutzers (z. B. unter Verwendung des Standortes des Gerätes 110), die Person, mit der er interagiert, und dergleichen. Die Grundlinienauswahlkomponente 620 kann eine Grundlinie mit Kontextdaten auswählen, die den Kontextdaten der Audiodaten 211 ähnlich sind, für die Emotionsdetektion, und somit unter Verwendung einer geeigneten Grundlinie, um zu berücksichtigen, dass der Benutzer in verschiedenen Situationen unterschiedliche Sprechstile / akustische Sprachattribute aufweist. In anderen Ausführungsformen kann die Grundlinienauswahlkomponente 620 Merkmale analysieren (z. B. unter Verwendung eines ML-Modells, einer statistischen Analyse oder anderer Verfahren), die den Referenzaudiodaten für die Grundlinien und den Audiodaten 211 entsprechen, um eine Grundlinie mit Merkmalen ähnlich wie die Audiodaten 211 zu identifizieren. Wenn, in einigen Ausführungsformen, die Grundlinienauswahlkomponente 620 keine Grundlinie mit Kontextdaten identifizieren kann, die den Kontextdaten der Audiodaten ähnlich sind, dann kann die Grundlinienauswahlkomponente 620 die beste verfügbare Grundlinie auf Basis der Qualität der Grundlinie auswählen (z. B. Audioqualität, Qualität der akustischen Merkmale, die beste Darstellung eines neutralen emotionalen Zustands usw.). In einigen Ausführungsformen kann das System eine durchschnittliche Grundlinie unter Verwendung der Merkmale aller oder einiger der mit dem Benutzerprofil assoziierten Grundlinien bestimmen.
  • In einigen Ausführungsformen, in denen der Profilspeicher 270 nur eine Grundlinie beinhaltet, kann die Grundlinienauswahlkomponente 620 deaktiviert sein und führt evtl. keine Aktionen durch.
  • Die Grundlinienauswahlkomponente 620 kann die Referenzaudiodaten 602 abrufen, die der für die Emotionsdetektion zu verwendenden Grundlinie entsprechen. Die Referenzaudiodaten 602 können in einen Codierer 1150 eingegeben werden (in Bezug auf 11 weiter beschrieben), um Rahmenmerkmalsvektor(en) 614 zu bestimmen. Der / die Rahmenmerkmalsvektor(en) 614 kann / können Merkmale auf Audiorahmen-Ebene darstellen, die aus den Referenzaudiodaten 602 extrahiert wurden. Ein Rahmenmerkmalsvektor 614 kann Merkmale darstellen, die für ein Fenster von 25 ms Audio extrahiert wurden, wobei sich das Fenster in Schritten von 10 ms verschiebt oder bewegt, um Merkmale zu extrahieren, die von dem nächsten Rahmenmerkmalsvektor dargestellt werden. In anderen Ausführungsformen kann ein Rahmenmerkmalsvektor 614 Merkmale darstellen, die einem einzelnen Wort in der Äußerung entsprechen. Die Emotionsdetektionskomponente 275 kann die Teile der Referenzaudiodaten 602 bestimmen, die einzelnen Wörtern entsprechen, und Merkmale aus den jeweiligen Audio-Teilen unter Verwendung des Codierers 1150 extrahieren. Der / die Rahmenmerkmalsvektor(en) 614 kann / können durch Spektralanalyse der Referenzaudiodaten 602 abgeleitet werden und kann / können akustische Sprachattribute wie Akzent, Tonhöhe, Intonation, Ton, Betonung, Rhythmus, Geschwindigkeit usw. anzeigen, die dem neutralen emotionalen Zustand des Benutzers entsprechen.
  • Das trainierte Modell 615 kann den / die Rahmenmerkmalsvektor(en) 612 und den / die Rahmenmerkmalsvektor(en) 614 verarbeiten. Das trainierte Modell 615 kann dafür konfiguriert sein, Merkmale von Referenzaudiodaten 602 und der Eingabeaudiodaten 211 zu verarbeiten, um eine Emotionskategorie zu bestimmen, die den Audiodaten 211 auf Basis des neutralen emotionalen Zustands des Benutzers (von den Referenzaudiodaten 602 dargestellt) entspricht. Das trainierte Modell 615 kann einen oder mehrere Score(s) 630 ausgeben, der / die eine den Audiodaten 211 entsprechende Emotionskategorie 640 angibt / angeben. Die Emotionskategorien können allgemeine Kategorien wie positiv, neutral und negativ beinhalten. In anderen Ausführungsformen können die Emotionskategorien spezifischer sein und können z. B. Wut, Freude, Traurigkeit und neutral beinhalten. In einer anderen Ausführungsform können die Emotionskategorien Wut, traurig, freudig, überrascht, Stress und Abscheu beinhalten. Wie man sehen kann, sind je nach der Systemkonfiguration verschiedene Emotionskategorien / Indikatoren möglich. In einigen Ausführungsformen kann das trainierte Modell 615 dafür konfiguriert sein, Kontextdaten zu bestimmen, die den Eingabeaudiodaten 211 entsprechen.
  • In einigen Ausführungsformen kann das System dafür konfiguriert sein, die Audiodaten 211 / Benutzeraudiodaten 610 unter Verwendung eines oder mehrerer anderer trainierter Modelle weiterzuverarbeiten, um die Stimmung des Benutzers zu detektieren, die daraus abgeleitet wird, welche Worte der Benutzer sagt, um seine Ansichten / Meinungen auszudrücken.
  • Das trainierte Modell 615 kann ein neuronales Netz sein, z. B. ein tief lernendes neuronales Netz (DNN). Wie in 8 veranschaulicht kann ein neuronales Netz eine Reihe von Schichten beinhalten, von Eingabeschicht 1 810 bis Ausgabeschicht N 820. Jede Schicht beinhaltet einen oder mehrere Knoten und ist dafür konfiguriert, eine bestimmte Art von Daten einzugeben und eine andere Art von Daten auszugeben. Eine Schicht kann durch eine Datenstruktur dargestellt werden, die die Verbindungen zwischen Schichten und Operationen innerhalb einer Schicht darstellt. Das in 8 veranschaulichte neuronale Netz ist dafür konfiguriert, Daten des Datentyps A 802 einzugeben (dies ist die Eingabe in Schicht 1 810) und Daten des Datentyps Z 808 auszugeben (dies ist die Ausgabe aus der letzten Schicht N 820). Die Ausgabe aus einer Schicht wird dann als die Eingabe in die nächste Schicht genommen. Beispielsweise sind die Ausgabedaten (Daten B 804) aus Schicht 1 810 die Eingabedaten für Schicht 2 812 und so weiter, so dass die Eingabe in Schicht N 820 die Daten Y 806 sind, die aus der vorletzten Schicht (nicht dargestellt) ausgegeben werden.
  • Obwohl Werte für die Eingabedaten / Ausgabedaten einer bestimmten Schicht erst dann bekannt sind, wenn ein neuronales Netz tatsächlich während der Laufzeit arbeitet, beschreiben die Daten, die das neuronale Netz beschreiben, die Struktur und Operationen der Schichten des neuronalen Netzes.
  • Maschinelles Lernen (ML) ist eine wertvolle Computertechnik, die es Computersystemen ermöglicht, Techniken zur Lösung komplexer Probleme zu erlernen, ohne einen expliziten Algorithmus zu benötigen, dem das Computersystem folgen muss. ML kann ein trainiertes Modell verwenden, das aus intern konfigurierten Operationen besteht, die eine bestimmte Art von Eingabedaten manipulieren können, um ein gewünschtes Ergebnis zu bestimmen. Trainierte Modelle werden bei vielen Computeraufgaben eingesetzt, z. B. Computervision, Sprachverarbeitung, prädiktiven Analysen und vielen mehr.
  • Trainierte Modelle gibt es in einer Vielzahl von Formen, darunter trainierte Klassifikatoren, Support-Vektor-Maschinen (SVMs), neuronale Netze (wie tiefe neuronale Netze (DNNs), rekurrente neuronale Netze (RNNs) oder konvolutionale neuronale Netze (CNNs)) und andere. Beispielsweise beinhaltet ein neuronales Netz in der Regel eine Eingabeschicht, eine Ausgabeschicht und eine oder mehrere versteckte Zwischenschichten, wobei die Eingabeschicht dafür konfiguriert ist, eine bestimmte Art von Daten aufzunehmen, und die Ausgabeschicht dafür konfiguriert ist, die gewünschte Art von Daten auszugeben, die aus dem Netz resultieren, und die versteckte(n) Schicht(en) eine Vielzahl von Funktionen durchführen, um aus den Eingabedaten Ausgabedaten zu erzeugen.
  • Verschiedene maschinelle Lerntechniken können verwendet werden, um Modelle zu trainieren und zu betreiben, um verschiedene hierin beschriebene Schritte durchzuführen, wie z. B. die Extraktion von Benutzererkennungsmerkmalen, Codierung, Scoring der Benutzererkennung, Bestimmung der Benutzererkennungskonfidenz usw. Modelle können verschiedenen maschinellen Lerntechniken gemäß trainiert und betrieben werden. Solche Techniken können beispielsweise neuronale Netze (wie tiefe neuronale Netze und / oder rekurrente neuronale Netze), Inferenzmaschinen, trainierte Klassifikatoren usw. beinhalten. Zu Beispielen für trainierte Klassifikatoren zählen Support-Vektor-Maschinen (SVMs), neuronale Netze, Entscheidungsbäume, AdaBoost (kurz für „Adaptive Boosting“) zusammen mit Entscheidungsbäumen und Random Forests. SVM als Beispiel nehmend ist SVM ein überwachtes Lernmodell mit zugehörigen Lernalgorithmen, die Daten analysieren und Muster in den Daten erkennen und die üblicherweise zur Klassifizierungs- und Regressionsanalyse verwendet werden. Ein SVM-Trainingsalgorithmus erstellt aus einer Reihe von Trainingsbeispielen, die jeweils als einer von zwei Kategorien zugehörig markiert sind, ein Modell, das neue Beispiele der einen oder der anderen Kategorie zuordnet, und ist damit ein nichtprobabilistischer binärer linearer Klassifikator. Komplexere SVM-Modelle können mit dem Trainingssatz aufgebaut werden, der mehr als zwei Kategorien identifiziert, wobei die SVM bestimmt, welche Kategorie den Eingabedaten am ähnlichsten ist. Ein SVM-Modell kann so zugeordnet werden, dass die Beispiele für die separaten Kategorien durch deutliche Lücken getrennt sind. Neue Beispiele werden dann demselben Raum zugeordnet und je nachdem, auf welche Seite der Lücken sie fallen, als einer Kategorie angehörend vorhergesagt. Klassifikatoren können einen „Score“ ausgeben, der angibt, welcher Kategorie die Daten am ehesten entsprechen. Der Score kann einen Hinweis darauf liefern, wie gut die Daten mit der Kategorie übereinstimmen.
  • Zum Anwenden der maschinellen Lerntechniken müssen die maschinellen Lernprozesse selbst trainiert werden. Das Trainieren einer maschinellen Lernkomponente, wie in diesem Fall eines der ersten oder zweiten Modelle, erfordert die Festlegung einer „Grundwahrheit“ für die Trainingsbeispiele. Beim maschinellen Lernen bezieht sich der Begriff „Grundwahrheit“ auf die Genauigkeit der Klassifizierung eines Trainingssatzes für überwachte Lerntechniken. Zum Trainieren der Modelle können verschiedene Techniken verwendet werden, darunter Backpropagation, statistisches Lernen, überwachtes Lernen, halbüberwachtes Lernen, stochastisches Lernen oder andere bekannte Techniken.
  • 7 veranschaulicht konzeptionell Komponenten zum Trainieren eines ML-Modells für die Emotionsdetektion unter Verwendung einer Grundlinie. Die Emotionskomponente 275 kann eine Modellbildungskomponente 710 beinhalten. Die Modellbildungskomponente 710 kann eine separate Komponente sein, die in dem / den System(en) 120 beinhaltet ist.
  • Die Modellbildungskomponente 710 kann ein oder mehrere maschinelle Lernmodelle trainieren, um eine Emotion zu bestimmen, die einer Benutzereingabe entspricht, und zwar auf Basis des neutralen emotionalen Zustands des Benutzers, der durch eine Grundlinie / Referenzaudiodaten dargestellt ist. Die Modellbildungskomponente 710 kann das eine oder mehrere maschinelle Lernmodelle während des Offline-Betriebs trainieren. Die Modellbildungskomponente 710 kann das eine oder mehrere maschinelle Lernmodelle unter Verwendung eines Trainingsdatensatzes trainieren.
  • Der Trainingsdatensatz kann ein Paar Audiodaten beinhalten, von denen eines einen neutralen emotionalen Zustand eines Sprechers darstellt und das andere einen nicht neutralen emotionalen Zustand des Sprechers darstellt. Beispielsweise können die Referenzaudiodaten 702a den neutralen emotionalen Zustand eines ersten Sprechers darstellen und können die Testaudiodaten 704a den nicht neutralen (z. B. wütenden) emotionalen Zustand des ersten Sprechers darstellen. Die Referenzaudiodaten 702b können den neutralen emotionalen Zustand eines zweiten Sprechers darstellen und die Testaudiodaten 704b können den nicht neutralen (z. B. freudigen) emotionalen Zustand des zweiten Sprechers darstellen. Das Paar Audiodaten 702 und 704 kann den Trainingsdatensatz ausmachen, der von der Modellbildungskomponente 710 zum Trainieren eines ML-Modells zur Detektion von Emotionen unter Verwendung einer Grundlinie verwendet wird. Die Testaudiodaten 704 können mit der Emotionskategorie entsprechend den Testaudiodaten annotiert oder markiert werden.
  • In einigen Ausführungsformen kann der Trainingsdatensatz auch Kontextdaten 706 beinhalten, die den Referenzaudiodaten 702 und / oder den Testaudiodaten 704 entsprechen. Die Kontextdaten 706a können beispielsweise die Umgebung, die Umstände, den Ort, das Umfeld oder andere Hintergrundinformationen des ersten Sprechers darstellen, die dem ersten Sprecher entsprechen, als er die Referenzaudiodaten 702a und / oder die Testaudiodaten 704a sprach. Die Kontextdaten 706a können auch eine Interaktionsart darstellen, die beinhaltet, mit wem der erste Sprecher interagierte, als er die Äußerung sprach, das Umfeld, in dem sich der erste Sprecher befand, als er sprach (z. B. Arbeitstreffen, Familien-/ Freundestreffen, Sportveranstaltung, Konzert usw.), die Zeit (z. B. morgens, nachmittags, abends, der Wochentag usw.), jede Aktion, die der erste Sprecher während des Sprechens durchführte (z. B. Autofahren, Spazierengehen, Fernsehen usw.) und dergleichen. Die Kontextdaten 520 können auch Daten beinhalten, die andere Kontextinformationen darstellen, die dem Zeitpunkt entsprechen, zu dem der erste Sprecher das Audio sprach, wie z. B. Wetterinformationen, physiologische Daten, die mit dem Benutzer assoziiert sind, die Jahreszeit, der Monat des Jahres und dergleichen. Die Kontextdaten 706a können den Kontext darstellen, der den Referenzaudiodaten 702a und den Testaudiodaten 704a entspricht, wenn sie beide ähnliche / gleiche Kontexte aufweisen. In anderen Ausführungsformen können die Kontextdaten 706a nur den Kontext darstellen, der den Referenzaudiodaten 702a entspricht, und der Trainingsdatensatz kann optional zusätzliche Kontextdaten (nicht dargestellt) beinhalten, die den Testaudiodaten 704a entsprechen. Somit kann das trainierte Modell 615 unter Verwendung von Kontextdaten 706 dafür konfiguriert werden, Kontextdaten entsprechend den Eingabeaudiodaten während des Laufzeitbetriebs zu bestimmen / zu identifizieren.
  • Als Teil des Trainingsprozesses kann die Modellbildungskomponente 710 Gewichte und Parameter verschiedener Schichten des trainierten Modells 615 bestimmen. Die Gewichte und Parameter, die dem endgültigen Zustand des trainierten Modells 615 entsprechen, können als gespeicherte Daten 712 gespeichert werden.
  • Ein Beispiel für ein neuronales Netz für das trainierte Modell 615 ist in 9 veranschaulicht. Ein neuronales Netz kann mit einer Eingabeschicht 902, einer oder mehreren mittleren Schichten 904 und einer Ausgabeschicht 906 strukturiert sein. Die mittlere(n) Schicht(en) kann / können auch als versteckte Schicht(en) bekannt sein. Jeder Knoten der versteckten Schicht ist mit jedem Knoten in der Eingabeschicht und jedem Knoten in der Ausgabeschicht verbunden. Obwohl in 9 mit einer einzigen versteckten Schicht dargestellt, kann ein neuronales Netz mehrere mittlere Schichten beinhalten. In diesem Fall wird sich jeder Knoten in einer versteckten Schicht mit jedem Knoten in der nächsthöheren und nächstniedrigeren Schicht verbinden. Jeder Knoten der Eingabeschicht stellt eine potenzielle Eingabe für das neuronale Netz dar, und jeder Knoten der Ausgabeschicht stellt eine potenzielle Ausgabe des neuronalen Netzes dar.
  • Jede Verbindung von einem Knoten zu einem anderen Knoten in der nächsten Schicht kann mit einem Gewicht oder Score assoziiert sein. Ein neuronales Netz kann eine einzelne Ausgabe oder einen gewichteten Satz möglicher Ausgaben ausgeben.
  • In einem Aspekt kann das neuronale Netz mit rekurrenten Verbindungen aufgebaut sein, so dass der Ausgang der versteckten Schicht des Netzes beim nächsten Satz von Eingaben wieder in die verborgene Schicht zurückfließt. Ein solches neuronales Netz ist in 10 veranschaulicht. Jeder Knoten der Eingabeschicht 1002 verbindet sich mit jedem Knoten der versteckten Schicht 1004. Jeder Knoten der versteckten Schicht 1004 verbindet sich mit jedem Knoten der Ausgabeschicht 1006. Wie veranschaulicht wird die Ausgabe der versteckten Schicht 1004 zur Verarbeitung des nächsten Satzes von Eingaben in die versteckte Schicht zurückgeführt. Ein neuronales Netz, das rekurrente Verbindungen enthält, kann als rekurrentes neuronales Netz (RNN) bezeichnet werden.
  • Neuronale Netze können auch zur Durchführung der ASR-Verarbeitung verwendet werden, einschließlich der Verarbeitung von akustischen Modellen und von Sprachenmodellen. Falls ein akustisches Modell ein neuronales Netz verwendet, kann jeder Knoten der Eingabeschicht des neuronalen Netzes ein akustisches Merkmal eines Merkmalsvektors akustischer Merkmale darstellen, wie diejenigen, die nach dem ersten Durchgang der Spracherkennungsdurchführung ausgegeben werden können, und jeder Knoten der Ausgabeschicht stellt einen Score dar, der einer Teilworteinheit (wie einem Phonem, Triphonem usw.) und / oder zugehörigen Zuständen entspricht, die dem vom Merkmalsvektor dargestellten Klang entsprechen können. Bei einer gegebenen Eingabe in das neuronale Netz gibt es eine Reihe potenzieller Ausgaben aus, jeweils mit einem zugewiesenen Score, der eine Wahrscheinlichkeit darstellt, dass die jeweilige Ausgabe die richtige Ausgabe angesichts der jeweiligen Eingabe ist. Die Ausgabe, mit dem höchsten Score, eines neuronalen Netzes für akustische Modelle kann dann in ein HMM eingespeist werden, das Übergänge zwischen Klängen bestimmen kann, bevor die Ergebnisse an ein Sprachenmodell weitergegeben werden.
  • Falls ein Sprachenmodell ein neuronales Netz verwendet, kann jeder Knoten der Eingabeschicht des neuronalen Netzes ein vorhergehendes Wort darstellen und kann jeder Knoten der Ausgabeschicht ein potenzielles nächstes Wort darstellen, wie von dem trainierten Sprachenmodell des neuronalen Netzes bestimmt. Da ein Sprachenmodell als ein rekurrentes neuronales Netz konfiguriert sein kann, das eine gewisse Historie der von dem neuronalen Netz verarbeiteten Wörter enthält, wie z. B. das in 10 veranschaulichte Netz, kann die Vorhersage des potenziellen nächsten Wortes auf früheren Wörtern in einer Äußerung und nicht nur auf dem jüngsten Wort basieren. Das neuronale Netz des Sprachenmodells kann auch gewichtete Vorhersagen für das nächste Wort ausgeben.
  • Die Verarbeitung durch ein neuronales Netz wird von den gelernten Gewichten an jedem Knoteneingang und der Struktur des Netzes bestimmt. Bei einer jeweiligen Eingabe bestimmt das neuronale Netz die Ausgabe, eine Schicht nach der anderen, bis die Ausgabeschicht des gesamten Netzes berechnet ist.
  • Verbindungsgewichte können vom neuronalen Netz zunächst während des Trainings erlernt werden, wobei gegebene Eingaben mit bekannten Ausgaben assoziiert sind. In einem Trainingsdatensatz wird eine Vielzahl von Trainingsbeispielen in das Netz eingespeist. Jedes Beispiel setzt typischerweise die Gewichte der korrekten Verbindungen vom Eingang zum Ausgang auf 1 und gibt allen Verbindungen ein Gewicht von 0. Während Beispiele in den Trainingsdaten vom neuronalen Netz verarbeitet werden, kann eine Eingabe an das Netz gesendet und mit der zugehörigen Ausgabe verglichen werden, um zu bestimmen, wie die Netzleistung im Vergleich zur Zielleistung ist. Unter Verwendung einer Trainingstechnik, wie z. B. der Backpropagation, können die Gewichte des neuronalen Netzes aktualisiert werden, um Fehler zu reduzieren, die das neuronale Netz bei der Verarbeitung der Trainingsdaten macht. Unter bestimmten Umständen kann das neuronale Netz mit einem gesamten Raster trainiert werden, um die Spracherkennung zu verbessern, wenn das gesamte Raster verarbeitet wird.
  • 11 veranschaulicht die Verarbeitung der Merkmalsdatenwerte 1102-1106 durch einen Codierer 1150 zur Erzeugung eines codierten Merkmalsvektors y. In mathematischer Schreibweise, angesichts einer Folge von Merkmalsdatenwerten x1, ...xn, ...xN, wobei xn ein D-dimensionaler Vektor ist, projiziert ein Codierer E(x1, ... xN) = y die Merkmalsfolge auf y, wobei y ein F-dimensionaler Vektor ist. F ist eine feste Länge des Vektors und ist je nach Benutzer des codierten Vektors und anderen Systemkonfigurationen konfigurierbar. Jeder bestimmte Codierer 1150 wird dafür konfiguriert sein, Vektoren derselben Größe auszugeben, wodurch eine Kontinuität der ausgegebenen codierten Vektorgröße aus jedem bestimmten Codierer 1150 gewährleistet ist (obwohl verschiedene Codierer Vektoren mit unterschiedlichen festen Größen ausgeben können). Der Wert y kann als eine Einbettung der Folge x1, ... xN bezeichnet werden. Die Länge von xn und y sind fest und a priori bekannt, die Länge von N der Merkmalsfolge x1, ... xN ist aber nicht unbedingt a priori bekannt. Der Codierer kann als ein rekurrentes neuronales Netz (RNN) implementiert werden, z. B. als RNN mit langem Kurzzeitgedächtnis (LSTM-RNN) oder als RNN mit Gated Recurrent Unit (GRU-RNN). Ein RNN ist ein Tool, wodurch ein Netz von Knoten numerisch dargestellt werden kann und wobei jede Knotendarstellung Informationen über die vorhergehenden Teile des Netzes beinhaltet. Das RNN führt beispielsweise eine lineare Transformation der Folge von Merkmalsvektoren aus, wodurch die Folge in einen Vektor mit fester Größe umgewandelt wird. Der resultierende Vektor bewahrt Merkmale der Folge in reduziertem Vektorraum, der ansonsten beliebig lang sein kann. Die Ausgabe des RNN nach dem Konsumieren der Folge von Merkmalsdatenwerten ist die Codiererausgabe. Es gibt eine Vielzahl von Möglichkeiten für den RNN-Codierer, die Codiererausgabe zu konsumieren, einschließlich, aber nicht beschränkt auf:
    • • linear, eine Richtung (vorwärts oder rückwärts),
    • • bi-linear, im Wesentlichen die Verkettung einer Vorwärts- und einer Rückwärtseinbettung, oder
    • • Baum, basierend auf dem Parse-Baum der Folge.
  • Außerdem kann ein Aufmerksamkeitsmodell verwendet werden, das ein anderes RNN oder DNN ist, das lernt, die Aufmerksamkeit auf bestimmte Teile der Eingabe zu „lenken“. Das Aufmerksamkeitsmodell kann zusammen mit den oben genannten Methoden zum Konsumieren der Eingabe verwendet werden.
  • 11 veranschaulicht die Funktionsweise des Codierers 1150. Die eingegebene Merkmalswertfolge, beginnend mit dem Merkmalswert x1 1102, weiter über den Merkmalswert xn 1104 und abschließend mit dem Merkmalswert xN, 1106 wird in den Codierer 1150 eingegeben. Der Codierer 1150 kann die eingegebenen Merkmalswerte wie oben angegeben verarbeiten. Der Codierer 1150 gibt den kodierten Merkmalsvektor y 1110 aus, der ein Merkmalsvektor fester Länge der Länge F ist. Ein oder mehrere Codierer wie 1150 können mit der Emotionsdetektionskomponente 275 verwendet werden. Beispielsweise können die Audiodaten 211 / Benutzeraudiodaten 610 unter Verwendung eines Codierers 1150a verarbeitet werden, um den / die Merkmalsvektor(en) 612 zu bestimmen, und die Referenzaudiodaten 602 können unter Verwendung eines Codierers 1150b verarbeitet werden, um den / die Merkmalsvektor(en) 614 zu bestimmen. In einigen Ausführungsformen können die Codierer 1150a und 1150b beide ein LSTM sein, aber unterschiedliche Gewichte und Parameter haben, die für die Kodierung von Eingabeaudiodaten bzw. Referenzaudiodaten konfiguriert sind. In anderen Ausführungsformen können die Codierer 1150a und 1150b die gleichen Gewichte und Parameter aufweisen. In noch einer anderen Ausführungsform können der Codierer 1150a (zur Verarbeitung der Eingabeaudiodaten) und der Codierer 1150b (zur Verarbeitung der Referenzaudiodaten) ihre Gewichte und Parameter für bestimmte Schichten teilen. Beispielsweise kann die Emotionsdetektionskomponente 275 ein gemeinsames oder gestapeltes LSTM verwenden, um die Eingabeaudiodaten und die Referenzaudiodaten zu verarbeiten. Eine oder mehrere Schichten (z. B. Schicht 1 810, Schicht 812) des Codierers 1150b können ihre Gewichte und Parameter mit einer oder mehreren Schichten des Codierers 1150a teilen und umgekehrt.
  • 12 ist ein Blockdiagramm, das konzeptionell ein Gerät 110a und ein Gerät 110b veranschaulicht, die mit dem System verwendet werden können. 13 ist ein Blockdiagramm, das beispielhafte Komponenten eines Remote-Gerätes, wie das / die System(e) 120, das / die bei der ASR-Verarbeitung, NLU-Verarbeitung usw. helfen kann / können, und das / die Fertigkeitssystem(e) 225 konzeptionell veranschaulicht. Ein System (120/225) kann einen oder mehrere Server beinhalten. Ein „Server“, wie hierin verwendet, kann sich auf einen traditionellen Server im Sinne einer Server / Client-Computerstruktur beziehen, kann sich aber auch auf eine Reihe verschiedener Computerkomponenten beziehen, die bei den hierin diskutierten Vorgängen helfen können. Ein Server kann beispielsweise eine oder mehrere physische Rechnerkomponenten (z. B. einen Rack-Server) beinhalten, die mit anderen Geräten / Komponenten entweder physisch und / oder über ein Netzwerk verbunden sind, und kann Rechenoperationen durchführen. Ein Server kann auch eine oder mehrere virtuelle Maschinen beinhalten, der ein Computersystem emuliert und auf einem oder mehreren Geräten läuft. Ein Server kann auch andere Kombinationen von Hardware, Software, Firmware oder dergleichen beinhalten, um hierin diskutierte Operationen durchzuführen. Der / die Server kann / können so konfiguriert sein, dass er / sie unter Verwendung eines oder mehrerer eines Client-Server-Modells, eines Computerbüro-Modells, von Grid-Computing-Techniken, Fog-Computing-Techniken, Mainframe-Techniken, Utility-Computing-Techniken, eines Peer-to-Peer-Modells, von Sandbox-Techniken oder sonstigen Computertechniken arbeitet / arbeiten.
  • Mehrere Systeme (100/120/225) können in das Gesamtsystem der vorliegenden Offenbarung einbezogen werden, wie z. B. ein oder mehrere Systeme 120 zur Durchführung der ASR-Verarbeitung, ein oder mehrere Systeme 120 zur Durchführung der NLU-Verarbeitung, ein oder mehrere Fertigkeitssysteme 225 zur Durchführung von Aktionen als Reaktion auf Benutzereingaben usw. Im Betrieb kann jedes dieser Systeme computerlesbare und computerausführbare Anweisungen beinhalten, die sich auf dem jeweiligen Gerät (120/225) befinden, wie weiter unten diskutiert wird.
  • Jedes dieser Geräte (100/110/120/225) kann einen oder mehrere Controller / Prozessoren (1204/1304) beinhalten, die jeweils eine zentrale Verarbeitungseinheit (CPU) zur Verarbeitung von Daten und computerlesbaren Anweisungen sowie einen Speicher (1206/1306) zur Speicherung von Daten und Anweisungen des jeweiligen Gerätes beinhalten können. Die Speicher (1206/1306) können individuell flüchtige Direktzugriffsspeicher (RAM), nichtflüchtige Nurlesespeicher (ROM), nichtflüchtige magnetoresistive Speicher (MRAM) und / oder andere Speichertypen beinhalten. Jedes Gerät (100/110/120/225) kann auch eine Datenspeicherkomponente (1208/1308) zum Speichern von Daten und per Controller / Prozessor ausführbaren Anweisungen beinhalten. Jede Datenspeicherkomponente (1208/1308) kann individuell einen oder mehrere nichtflüchtige Speichertypen wie Magnetspeicher, optische Speicher, Festkörperspeicher usw. beinhalten. Jedes Gerät (100/110/120/225) kann auch mit einem entfernbaren oder externen nichtflüchtigen Memory und / oder Speicher (wie z. B. einer entfernbaren Speicherkarte, einem Memory-Key-Laufwerk, vernetzter Speicherung usw.) durch jeweilige Eingabe-/ Ausgabegeräteschnittstellen (1202/1302) verbunden werden.
  • Computeranweisungen für den Betrieb jedes Gerätes (100/110/120/225) und seiner verschiedenen Komponenten können von dem / den Controller(n) / Prozessor(en) (1204/1304) des jeweiligen Gerätes ausgeführt werden, wobei der Speicher (1206/1306) als temporärer „Arbeits“-Speicher zur Laufzeit verwendet wird. Die Computeranweisungen eines Gerätes können in einer nicht-transitorischen Weise in einem nichtflüchtigen Memory (1206/1306), in einem Speicher (1208/1308) oder in (einem) externen Gerät(en) gespeichert werden. Alternativ können einige oder alle der ausführbaren Anweisungen in Hardware oder Firmware auf dem jeweiligen Gerät zusätzlich zu oder anstelle von Software eingebettet sein.
  • Jedes Gerät (100/110/120/225) beinhaltet Eingabe-/ Ausgabegeräteschnittstellen (1202/1302). Durch die Eingabe-/Ausgabegeräteschnittstellen (1202/1302) kann eine Vielzahl von Komponenten angeschlossen werden, wie weiter unten diskutiert wird. Zusätzlich kann jedes Gerät (100/110/120/225) einen Adress-/ Datenbus (1224/1324) zur Übermittlung von Daten unter den Komponenten des jeweiligen Gerätes beinhalten. Jede Komponente innerhalb eines Gerätes (100/110/120/225) kann auch direkt mit anderen Komponenten verbunden sein, zusätzlich zu (oder anstatt) der Verbindung mit anderen Komponenten über den Bus (1224/1324).
  • Bezug nehmend auf 12 kann das Gerät 110 Eingabe-/ Ausgabegeräteschnittstellen 1202 beinhalten, die sich mit einer Vielzahl von Komponenten verbinden, wie z. B. einer Audioausgabekomponente wie einem Lautsprecher 1212, einem kabelgebundenen Headset oder einem drahtlosen Headset (nicht veranschaulicht) oder einer anderen Komponente, die Audio ausgeben kann.
  • Das Gerät 110 kann auch eine Audioerfassungskomponente beinhalten. Die Audioerfassungskomponente kann beispielsweise ein Mikrofon 1220 oder eine Anordnung von Mikrofonen 1220, ein kabelgebundenes Headset oder ein drahtloses Headset (nicht veranschaulicht) usw. sein. Wenn eine Anordnung von Mikrofonen 1220 inbegriffen ist, kann die ungefähre Entfernung zum Ausgangspunkt eines Geräuschs durch akustische Lokalisierung auf Basis von Zeit- und Amplitudendifferenzen zwischen den von verschiedenen Mikrofonen der Anordnung erfassten Geräuschen bestimmt werden. Das Gerät 110 kann zusätzlich ein Display 1216 zur Anzeige von Inhalten beinhalten. Das Gerät 110 kann weiterhin eine Kamera 1218 beinhalten.
  • Über Antenne(n) 1214 können sich die E/A-Geräteschnittstellen 1202 mit einem oder mehreren Netzwerken 199 über einen drahtlosen lokalen Netzwerk(WLAN)-Funk (z. B. WiFi), Bluetooth und / oder drahtlosen Netzwerkfunk verbinden, z. B. ein Funkgerät, das zur Kommunikation mit einem drahtlosen Kommunikationsnetzwerk wie einem LTE (Long Term Evolution)-Netzwerk, WiMAX-Netzwerk, 3G-Netzwerk, 4G-Netzwerk, 5G-Netzwerk usw. fähig ist. Eine kabelgebundene Verbindung, wie z. B. Ethernet, kann ebenfalls unterstützt werden. Durch das / die Netzwerk(e) 199 kann das System über eine vernetzte Umgebung verteilt werden. Die E/A-Geräteschnittstellen (1202/1302) können auch Kommunikationskomponenten beinhalten, die den Austausch von Daten zwischen Geräten wie verschiedenen physischen Servern in einer Sammlung von Servern oder anderen Komponenten erlauben.
  • Die Komponenten des Gerätes / der Geräte 110, des Systems / der Systeme 100, des Systems / der Systeme 120 oder des Fertigkeitssystems / der Fertigkeitssysteme 225 können ihre eigenen dedizierten Prozessoren, Memorys und / oder Speicher beinhalten. Alternativ kann / können eine oder mehrere der Komponenten des Gerätes / der Geräte 110, des Systems / der Systeme 120 oder des Fertigkeitssystems / der Fertigkeitssysteme 225 die E/A-Geräteschnittstellen (1202/1302), den / die Prozessor(en) (1204/1304), den Speicher (1206/1306) und / oder den Speicher (1208/1308) des Gerätes der Geräte 110, des Systems / der Systeme 120 bzw. des Fertigkeitssystems / der Fertigkeitssysteme 225 nutzen. Somit kann die ASR-Komponente 250 ihre eigene(n) E/A-Geräteschnittstelle(n), Prozessor(en), Memory und / oder Speicher haben; die NLU-Komponente 260 kann ihre eigene(n) E/A-Schnittstelle(n), Prozessor(en), Memory und / oder Speicher haben; und so weiter für die verschiedenen hierin diskutierten Komponenten.
  • Wie oben angegeben können mehrere Geräte in einem einzigen System verwendet werden. In einem solchen System mit mehreren Geräten kann jedes der Geräte unterschiedliche Komponenten zur Durchführung verschiedener Aspekte der Systemverarbeitung beinhalten. Die mehreren Geräte können sich überschneidende Komponenten beinhalten. Die hierin beschriebenen Komponenten des Gerätes 110, des Systems / der Systeme 100, des Systems / der Systeme 120 und des Fertigkeitssystems / der Fertigkeitssysteme 225 sind veranschaulichend und können als eigenständiges Gerät aufgestellt sein oder ganz oder teilweise als Komponente eines größeren Gerätes oder Systems beinhaltet sein.
  • Wie in 14 veranschaulicht können mehrere Geräte (110a-110k, 120, 225) Komponenten des Systems enthalten, und die Geräte können über (ein) Netzwerk(e) 199 verbunden sein. Das (die) Netzwerk(e) 199 kann / können ein lokales oder privates Netzwerk beinhalten oder kann / können ein weites Netzwerk wie das Internet beinhalten. Geräte können entweder durch drahtgebundene oder drahtlose Verbindungen mit dem / den Netzwerk(en) 199 verbunden werden. Beispielsweise können eine intelligente Uhr 110a, ein Smartphone 110b, ein Sprachdetektionsgerät 110c, ein Tablet-Computer 110d, ein Fahrzeug 110e, ein Anzeigegerät 110f, ein intelligentes Fernsehgerät 110g, eine Waschmaschine / ein Wäschetrockner 110h, ein Kühlschrank 110i, ein Toaster 110j und / oder eine Mikrowelle 110k mit dem / den Netzwerk(en) 199 durch einen drahtlosen Dienstanbieter, über eine WiFi- oder Mobilnetzverbindung oder dergleichen, verbunden sein. Andere Geräte sind als netzwerkverbundene Unterstützungsgeräte beinhaltet, wie z. B. das / die System(e) 120, das / die Fertigkeitssystem(e) 225 und / oder andere. Die Unterstützungsgeräte können sich durch eine drahtgebundene oder drahtlose Verbindung mit dem / den Netzwerk(en) 199 verbinden. Vernetzte Geräte können Audio unter Verwendung eines oder mehrerer eingebauter oder angeschlossener Mikrofone oder anderer Audioerfassungsgeräte erfassen, wobei die Verarbeitung von ASR-Komponenten, NLU-Komponenten oder anderen Komponenten desselben Gerätes oder eines anderen, über das / die Netzwerk(e) 199 verbundenen Gerätes wie der ASR-Komponente 250, der NLU-Komponente 260 usw. eines oder mehrerer Systeme 120 durchgeführt wird.
  • Das Vorstehende ist auch im Hinblick auf die folgenden Klauseln zu verstehen.
    1. 1. Ein computerimplementiertes Verfahren, umfassend:
      • während eines Anmeldungszeitraums:
        • Empfangen erster Audiodaten, die eine von einem Benutzer gesprochene erste Referenzäußerung darstellen;
        • Verarbeiten der ersten Audiodaten, um zu bestimmen, dass die ersten Audiodaten einen neutralen emotionalen Zustand des Benutzers darstellen;
        • Bestimmen erster Kontextdaten, die den ersten Audiodaten entsprechen, wobei die ersten Kontextdaten mindestens eines von einem ersten Ort, der mit den ersten Audiodaten assoziiert ist, oder einer ersten Art von Interaktion darstellen;
        • Bestimmen eines ersten Merkmalsvektors, der den ersten Audiodaten entspricht, wobei der erste Merkmalsvektor akustische Sprachattribute darstellt, die den ersten Audiodaten entsprechen; und
        • Assoziieren des ersten Merkmalsvektors mit den ersten Kontextdaten und einem mit dem Benutzer assoziierten Benutzerprofil;
        • Empfangen zweiter Audiodaten, die eine von dem Benutzer gesprochene zweite Referenzäußerung darstellen;
        • Verarbeiten der zweiten Audiodaten, um zu bestimmen, dass die zweiten Audiodaten einen neutralen emotionalen Zustand des Benutzers darstellen;
        • Bestimmen zweiter Kontextdaten, die den zweiten Audiodaten entsprechen, wobei die zweiten Kontextdaten mindestens eines von einem zweiten Ort, der mit den zweiten Audiodaten assoziiert ist, oder einer zweiten Art von Interaktion darstellen;
        • Bestimmen eines zweiten Merkmalsvektors, der den zweiten Audiodaten entspricht, wobei der zweite Merkmalsvektor akustische Sprachattribute darstellt, die den zweiten Audiodaten entsprechen; und
        • Assoziieren des zweiten Merkmalsvektors mit den zweiten Kontextdaten und dem Benutzerprofil;
      • während eines Zeitraums nach dem Anmeldungszeitraum:
        • Empfangen dritter Audiodaten, die eine von dem Benutzer gesprochene Eingabeäußerung darstellen;
        • Bestimmen eines dritten Merkmalsvektors, der den dritten Audiodaten entspricht, wobei der dritte Merkmalsvektor akustische Sprachattribute darstellt, die den dritten Audiodaten entsprechen;
        • Bestimmen dritter Kontextdaten, die den dritten Audiodaten entsprechen; Auswählen des ersten Merkmalsvektors auf Basis der dritten Kontextdaten, entsprechend den ersten Kontextdaten
        • Verarbeiten des ersten Merkmalsvektors und des dritten Merkmalsvektors unter Verwendung eines trainierten Modells, um einen Score zu bestimmen, wobei das trainierte Modell dafür konfiguriert ist, Referenzaudiodaten und Eingabeaudiodaten zu vergleichen, um eine mit den dritten Audiodaten assoziierte Emotion zu bestimmen;
        • Bestimmen einer Emotionskategorie unter Verwendung des Scores; und Assoziieren der Emotionskategorie mit den dritten Audiodaten und dem Benutzerprofil.
    2. 2. Das computerimplementierte Verfahren nach Klausel 1, weiterhin umfassend:
      • während des Anmeldungszeitraums:
        • Empfangen zweiter Audiodaten, die eine von dem Benutzer gesprochene zweite Referenzäußerung darstellen;
        • Verarbeiten der zweiten Audiodaten unter Verwendung eines Emotionsdetektionsmodells, um erste Emotionsdaten zu bestimmen, die eine Emotion des Benutzers beim Sprechen der zweiten Referenzäußerung darstellen;
        • Bestimmen, dass die ersten Emotionsdaten eine Emotion angeben, die anders als neutral ist; und
        • Erzeugen von Ausgabeaudiodaten, die den Benutzer auffordern, eine andere Äußerung zu sprechen;
        • Empfangen der ersten Audiodaten als Reaktion auf die Ausgabeaudiodaten, und
      • wobei das Verarbeiten der ersten Audiodaten, um zu bestimmen, dass die ersten Audiodaten einen neutralen emotionalen Zustand des Benutzers darstellen, umfasst:
        • Verarbeiten der ersten Audiodaten unter Verwendung des Emotionsdetektionsmodells, um zweite Emotionsdaten zu bestimmen, die eine Emotion des Benutzers beim Sprechen der ersten Referenzäußerung darstellen; und
        • Bestimmen, dass die zweiten Emotionsdaten eine neutrale Emotionskategorie angeben.
    3. 3. Das computerimplementierte Verfahren nach Klausel 1 oder 2, wobei das Bestimmen des ersten Merkmalsvektors umfasst:
      • Verarbeiten der ersten Audiodaten unter Verwendung eines ersten Codierers, um den ersten Merkmalsvektor zu bestimmen, wobei der erste Codierer mindestens eine erste Verarbeitungsschicht, die ersten Modelldaten entspricht, und eine zweite Verarbeitungsschicht, die zweiten Modelldaten entspricht, aufweist, wobei die ersten Modelldaten und die zweiten Modelldaten mit einem neutralen emotionalen Zustand des Benutzers assoziiert sind, und
      wobei das Bestimmen des dritten Merkmalsvektors umfasst:
      • Verarbeiten der dritten Audiodaten unter Verwendung eines zweiten Codierers, um den dritten Merkmalsvektor zu bestimmen, wobei der zweite Codierer mindestens eine dritte Verarbeitungsschicht aufweist, die dritten Modelldaten entspricht, wobei die dritten Modelldaten einen Teil der ersten Modelldaten beinhalten.
    4. 4. Das computerimplementierte Verfahren nach Klausel 1, 2 oder 3, weiterhin umfassend:
      • Bestimmen von Textdaten, die den zweiten Audiodaten entsprechen, unter Verwendung von Text-zu-Sprache-Verarbeitung;
      • Bestimmen eines Zeitstempels, der den zweiten Audiodaten entspricht, wobei der Zeitstempel angibt, wann die ersten Audiodaten von einem mit dem Benutzer assoziierten Gerät empfangen wurden;
      • Erzeugen von Ausgabedaten einschließlich der Emotionskategorie, der Textdaten und des Zeitstempels; und
      • Anzeigen der Ausgabedaten über das Gerät.
    5. 5. Ein computerimplementiertes Verfahren, umfassend:
      • Empfangen von Eingabeaudiodaten;
      • Bestimmen, dass die Eingabeaudiodaten Sprache darstellen, die von einem Benutzer gesprochen wird, der mit einem Benutzerprofil assoziiert ist;
      • Empfangen erster Kontextdaten, die den Eingabeaudiodaten entsprechen;
      • Auswählen von Referenzaudiodaten aus einer Vielzahl von Referenzaudiodaten, die mit dem Benutzerprofil assoziiert sind, wobei die Referenzaudiodaten auf Basis der ersten Kontextdaten ausgewählt werden, die zweiten Kontextdaten entsprechen, die mit den Referenzaudiodaten assoziiert sind, und die Referenzaudiodaten den neutralen emotionalen Zustand des Benutzers darstellen;
      • Bestimmen erster Merkmalsdaten, die akustische Sprachattribute darstellen, die den Referenzaudiodaten entsprechen;
      • Bestimmen zweiter Merkmalsdaten, die akustische Sprachattribute darstellen, die den Eingabeaudiodaten entsprechen;
      • Verarbeiten der ersten Merkmalsdaten und der zweiten Merkmalsdaten unter Verwendung eines trainierten Modells, um eine Emotionskategorie zu bestimmen, die den Eingabeaudiodaten entspricht; und
      • Speichern von Assoziationsdaten, die die Emotionskategorie mit dem Benutzerprofil und den Eingabeaudiodaten assoziieren.
    6. 6. Das computerimplementierte Verfahren nach Klausel 5, weiterhin umfassend:
      • Empfangen erster Audiodaten, die eine erste Referenzäußerung darstellen;
      • Speichern eines ersten Ortes, der den ersten Audiodaten entspricht, als die zweiten Kontextdaten;
      • Assoziieren der ersten Audiodaten mit dem Benutzerprofil und den zweiten Kontextdaten;
      • Empfangen zweiter Audiodaten, die eine zweite Referenzäußerung darstellen;
      • Speichern eines zweiten Ortes, der den zweiten Audiodaten entspricht, als dritte Kontextdaten; und
      • Assoziieren der zweiten Audiodaten mit dem Benutzerprofil und den dritten Kontextdaten, wobei das Auswählen der Referenzaudiodaten weiterhin umfasst:
      • Bestimmen, dass die ersten Kontextdaten einen dritten Ort beinhalten, der mit den Eingabeaudiodaten assoziiert ist;
      • Bestimmen, dass der dritte Ort dem ersten Ort entspricht; und
      • Auswählen der ersten Audiodaten als die Referenzaudiodaten auf Basis des dritten Ortes, der dem ersten Ort entspricht.
    7. 7. Das computerimplementierte Verfahren nach Klausel 5 oder 6, weiterhin umfassend:
      • Empfangen erster Audiodaten, die eine erste Referenzäußerung darstellen;
      • Empfangen zweiter Audiodaten, die eine zweite Referenzäußerung darstellen;
      • Verarbeiten der ersten Audiodaten unter Verwendung eines Emotionsdetektionsmodells, um einen ersten Score zu bestimmen;
      • Verarbeiten der zweiten Audiodaten unter Verwendung des Emotionsdetektionsmodells, um einen zweiten Score zu bestimmen;
      • Bestimmen, dass der erste Score einer neutralen Emotionskategorie entspricht; und
      • Speichern der ersten Audiodaten als die Referenzaudiodaten.
    8. 8. Das computerimplementierte Verfahren nach Klausel 5, 6 oder 7, weiterhin umfassend:
      • Empfangen erster Audiodaten, die eine erste Referenzäußerung darstellen;
      • Bestimmen der zweiten Kontextdaten, die den ersten Audiodaten entsprechen, wobei die zweiten Kontextdaten mindestens eines von einem ersten Ort, der den ersten Audiodaten entspricht, und erster Interaktionsart darstellen;
      • Assoziieren der ersten Audiodaten mit dem Benutzerprofil und den zweiten Kontextdaten;
      • Empfangen zweiter Audiodaten, die eine zweite Referenzäußerung darstellen;
      • Bestimmen dritter Kontextdaten, die den zweiten Audiodaten entsprechen, wobei die dritten Kontextdaten mindestens eines von einem zweiten Ort, der den zweiten Audiodaten entspricht, und einer zweiten Interaktionsart darstellen;
      • Assoziieren der zweiten Audiodaten mit dem Benutzerprofil und den dritten Kontextdaten; wobei das Auswählen der Referenzaudiodaten weiterhin umfasst:
      • Bestimmen, dass die ersten Kontextdaten den zweiten Kontextdaten entsprechen; und
      • Auswählen der ersten Audiodaten als die Referenzaudiodaten.
    9. 9. Das computerimplementierte Verfahren nach Klausel 5, 6, 7 oder 8, wobei das Bestimmen der ersten Merkmalsdaten und das Bestimmen der zweiten Merkmalsdaten umfassen:
      • Verarbeiten der Referenzaudiodaten unter Verwendung eines ersten Codierers, um die ersten Merkmalsdaten zu bestimmen, wobei der Codierer mindestens eine erste Verarbeitungsschicht und eine zweite Verarbeitungsschicht aufweist; und
      • Verarbeiten der Eingabeaudiodaten unter Verwendung eines zweiten Codierers und von Daten, die der zweiten Verarbeitungsschicht entsprechen, um die zweiten Merkmalsdaten zu bestimmen.
    10. 10. Das computerimplementierte Verfahren nach Klausel 5, 6, 7, 8 oder 9, weiterhin umfassend, zu einem ersten Zeitraum vor dem Empfangen der Eingabeaudiodaten:
      • Bestimmen eines ersten Sets von Äußerungen einschließlich einer ersten Äußerung, die einen neutralen emotionalen Zustand eines zweiten Benutzers darstellt, und einer zweiten Äußerung, die einen nicht neutralen emotionalen Zustand des zweiten Benutzers darstellt;
      • Bestimmen eines zweiten Sets von Äußerungen einschließlich einer dritten Äußerung, die einen neutralen emotionalen Zustand eines dritten Benutzers darstellt, und einer vierten Äußerung, die einen nicht neutralen emotionalen Zustand des dritten Benutzers darstellt;
      • Speichern des ersten Sets von Äußerungen und des zweiten Sets von Äußerungen als Trainingsdaten;
      • Verarbeiten der Trainingsdaten, um Modelldaten zu bestimmen; und
      • Bestimmen des trainierten Modells unter Verwendung der Modelldaten, wobei das trainierte Modell dafür konfiguriert ist, Referenzaudio und Eingabeaudio zu vergleichen, um eine dem Referenzaudio und dem Eingabeaudio entsprechende Emotion des Benutzers zu bestimmen.
    11. 11. Das computerimplementierte Verfahren nach Klausel 5, 6, 7, 8, 9 oder 10, wobei das Empfangen der Eingabeaudiodaten das Empfangen einer ersten Äußerung, die von dem Benutzer gesprochen wird, und das Empfangen einer zweiten Äußerung, die von einem zusätzlichen Benutzer gesprochen wird, umfasst, und das Verfahren weiterhin umfasst:
      • Bestimmen eines ersten Konfidenzniveaus, dass die erste Äußerung dem Benutzerprofil entspricht;
      • Bestimmen, dass das erste Konfidenzniveau einem Schwellenwert genügt;
      • Speichern eines ersten Teils der Eingabeaudiodaten, der der ersten Äußerung entspricht, als Benutzeraudiodaten;
      • Bestimmen eines zweiten Konfidenzniveaus, dass die zweite Äußerung dem Benutzerprofil entspricht;
      • Bestimmen, dass das zweite Konfidenzniveau dem Schwellenwert nicht genügt;
      • Verwerfen eines zweiten Teils der Eingabeaudiodaten, der der zweiten Äußerung entspricht; und
      • Bestimmen der zweiten Merkmale unter Verwendung des ersten Teils der Eingabeaudiodaten.
    12. 12. Das computerimplementierte Verfahren nach Klausel 5, 6, 7, 8, 9, 10 oder 11, weiterhin umfassend:
      • Verwenden von Text-zu-Sprache-Verarbeitung zur Bestimmung von Textdaten, die den Eingabeaudiodaten entsprechen;
      • Bestimmen von Zeitdaten, die angeben, wann die Eingabeaudiodaten von einem Gerät empfangen wurden;
      • Erzeugen von Ausgabedaten einschließlich der Textdaten, der Zeitdaten und eines Indikators der Emotionskategorie; und
      • Anzeigen der Ausgabedaten unter Verwendung des Gerätes.
    13. 13. Ein System, umfassend:
      • mindestens einen Prozessor; und
      • mindestens einen Speicher, der Anweisungen beinhaltet, die bei Ausführung durch den mindestens einen Prozessor das System veranlassen zum:
        • Empfangen von Eingabeaudiodaten;
        • Bestimmen, dass die Eingabeaudiodaten Sprache darstellen, die von einem Benutzer gesprochen wird, der mit einem Benutzerprofil assoziiert ist;
        • Empfangen erster Kontextdaten, die den Eingabeaudiodaten entsprechen;
        • Auswählen von Referenzaudiodaten aus einer Vielzahl von Referenzaudiodaten, die mit dem Benutzerprofil assoziiert sind, wobei die Referenzaudiodaten auf Basis der ersten Kontextdaten ausgewählt werden, die zweiten Kontextdaten entsprechen, die mit den Referenzaudiodaten assoziiert sind, und die Referenzaudiodaten den neutralen emotionalen Zustand des Benutzers darstellen;
        • Bestimmen erster Merkmalsdaten, die akustische Sprachattribute darstellen, die den Referenzaudiodaten entsprechen;
        • Bestimmen zweiter Merkmalsdaten, die akustische Sprachattribute darstellen, die den Eingabeaudiodaten entsprechen;
        • Verarbeiten der ersten Merkmalsdaten und der zweiten Merkmalsdaten unter Verwendung eines trainierten Modells, um eine Emotionskategorie zu bestimmen, die den Eingabeaudiodaten entspricht; und
        • Speichern von Assoziationsdaten, die die Emotionskategorie mit dem Benutzerprofil und den Eingabeaudiodaten assoziieren.
    14. 14. Das System nach Klausel 13, wobei die Anweisungen bei Ausführung durch den mindestens einen Prozessor das System weiterhin veranlassen zum:
      • Empfangen erster Audiodaten, die eine erste Referenzäußerung darstellen;
      • Speichern eines ersten Ortes, der den ersten Audiodaten entspricht, als die zweiten Kontextdaten;
      • Assoziieren der ersten Audiodaten mit dem Benutzerprofil und den zweiten Kontextdaten;
      • Empfangen zweiter Audiodaten, die eine zweite Referenzäußerung darstellen;
      • Speichern eines zweiten Ortes, der den zweiten Audiodaten entspricht, als dritte Kontextdaten; und
      • Assoziieren der zweiten Audiodaten mit dem Benutzerprofil und den dritten Kontextdaten, wobei die Anweisungen, die das System veranlassen, die Referenzaudiodaten auszuwählen, das System weiterhin veranlassen zum:
      • Bestimmen, dass die ersten Kontextdaten einen dritten Ort beinhalten, der mit den Eingabeaudiodaten assoziiert ist;
      • Bestimmen, dass der dritte Ort dem ersten Ort entspricht; und
      • Auswählen der ersten Audiodaten als die Referenzaudiodaten auf Basis des dritten Ortes, der dem ersten Ort entspricht.
    15. 15. Das System nach Klausel 13 oder 14, wobei die Anweisungen bei Ausführung durch den mindestens einen Prozessor das System weiterhin veranlassen zum:
      • Empfangen erster Audiodaten, die eine erste Referenzäußerung darstellen;
      • Empfangen zweiter Audiodaten, die eine zweite Referenzäußerung darstellen;
      • Verarbeiten der ersten Audiodaten unter Verwendung eines Emotionsdetektionsmodells, um einen ersten Score zu bestimmen;
      • Verarbeiten der zweiten Audiodaten unter Verwendung des Emotionsdetektionsmodells, um einen zweiten Score zu bestimmen;
      • Bestimmen, dass der erste Score einer neutralen Emotionskategorie entspricht; und
      • Speichern der ersten Audiodaten als die Referenzaudiodaten.
    16. 16. Das System nach Klausel 13, 14 oder 15, wobei die Anweisungen bei Ausführung durch den mindestens einen Prozessor das System weiterhin veranlassen zum:
      • Empfangen erster Audiodaten, die eine erste Referenzäußerung darstellen;
      • Bestimmen der zweiten Kontextdaten, die den ersten Audiodaten entsprechen, wobei die zweiten Kontextdaten mindestens eines von einem ersten Ort, der den ersten Audiodaten entspricht, und erster Interaktionsart darstellen;
      • Assoziieren der ersten Audiodaten mit dem Benutzerprofil und den zweiten Kontextdaten;
      • Empfangen zweiter Audiodaten, die eine zweite Referenzäußerung darstellen;
      • Bestimmen dritter Kontextdaten, die den zweiten Audiodaten entsprechen, wobei die dritten Kontextdaten mindestens eines von einem zweiten Ort, der den zweiten Audiodaten entspricht, und einer zweiten Interaktionsart darstellen;
      • Assoziieren der zweiten Audiodaten mit dem Benutzerprofil und den dritten Kontextdaten; wobei die Anweisungen, die das System veranlassen, die Referenzaudiodaten auszuwählen, das System weiterhin veranlassen zum:
      • Bestimmen, dass die ersten Kontextdaten den zweiten Kontextdaten entsprechen; und
      • Auswählen der ersten Audiodaten als die Referenzaudiodaten.
    17. 17. Das System nach Klausel 13, 14, 15 oder 16, wobei die Anweisungen, die das System veranlassen, die ersten Merkmalsdaten zu bestimmen und die zweiten Merkmalsdaten zu bestimmen, das System weiterhin veranlassen zum:
      • Verarbeiten der Referenzaudiodaten unter Verwendung eines ersten Codierers, um die ersten Merkmalsdaten zu bestimmen, wobei der Codierer mindestens eine erste Verarbeitungsschicht und eine zweite Verarbeitungsschicht aufweist; und
      • Verarbeiten der Eingabeaudiodaten unter Verwendung eines zweiten Codierers und von Daten, die der zweiten Verarbeitungsschicht entsprechen, um die zweiten Merkmalsdaten zu bestimmen.
    18. 18. Das System nach Klausel 13, 14, 15, 16 oder 17, wobei die Anweisungen, die bei Ausführung durch den mindestens einen Prozessor das System weiterhin, während eines ersten Zeitraums vor dem Empfangen der Eingabeaudiodaten, veranlassen zum:
      • Bestimmen eines ersten Sets von Äußerungen einschließlich einer ersten Äußerung, die einen neutralen emotionalen Zustand eines zweiten Benutzers darstellt, und einer zweiten Äußerung, die einen nicht neutralen emotionalen Zustand des zweiten Benutzers darstellt;
      • Bestimmen eines zweiten Sets von Äußerungen einschließlich einer dritten Äußerung, die einen neutralen emotionalen Zustand eines dritten Benutzers darstellt, und einer vierten Äußerung, die einen nicht neutralen emotionalen Zustand des dritten Benutzers darstellt;
      • Speichern des ersten Sets von Äußerungen und des zweiten Sets von Äußerungen als Trainingsdaten;
      • Verarbeiten der Trainingsdaten, um Modelldaten zu bestimmen; und
      • Bestimmen des trainierten Modells unter Verwendung der Modelldaten, wobei das trainierte Modell dafür konfiguriert ist, Referenzaudio und Eingabeaudio zu vergleichen, um eine dem Referenzaudio und dem Eingabeaudio entsprechende Emotion des Benutzers zu bestimmen.
    19. 19. Das System nach Klausel 13, 14, 15, 16, 17 oder 18, wobei die Anweisungen, die das System veranlassen, die Eingabeaudiodaten zu empfangen, das System weiterhin veranlassen, eine von dem Benutzer gesprochene erste Äußerung zu empfangen und eine von einem zusätzlichen Benutzer gesprochene zweite Äußerung zu empfangen, und die Anweisungen das System weiterhin veranlassen zum:
      • Bestimmen eines ersten Konfidenzniveaus, dass die erste Äußerung dem Benutzerprofil entspricht;
      • Bestimmen, dass das erste Konfidenzniveau einem Schwellenwert genügt;
      • Speichern eines ersten Teils der Eingabeaudiodaten, der der ersten Äußerung entspricht, als Benutzeraudiodaten;
      • Bestimmen eines zweiten Konfidenzniveaus, dass die zweite Äußerung dem Benutzerprofil entspricht;
      • Bestimmen, dass das zweite Konfidenzniveau dem Schwellenwert nicht genügt;
      • Verwerfen eines zweiten Teils der Eingabeaudiodaten, der der zweiten Äußerung entspricht; und
      • Bestimmen der zweiten Merkmale unter Verwendung des ersten Teils der Eingabeaudiodaten.
    20. 20. Das System nach Klausel 13, 14, 15, 16, 17, 18 oder 19, wobei die Anweisungen, die bei Ausführung durch den mindestens einen Prozessor das System weiterhin veranlassen zum:
      • Verwenden von Text-zu-Sprache-Verarbeitung zur Bestimmung von Textdaten, die den Eingabeaudiodaten entsprechen;
      • Bestimmen von Zeitdaten, die angeben, wann die Eingabeaudiodaten von einem Gerät empfangen wurden;
      • Erzeugen von Ausgabedaten einschließlich der Textdaten, der Zeitdaten und eines Indikators der Emotionskategorie; und
      • Anzeigen der Ausgabedaten unter Verwendung des Gerätes.
  • Die hier offengelegten Konzepte können in einer Reihe von verschiedenen Geräten und Computersystemen angewendet werden, einschließlich z. B. Allzweck-Computersystemen, Sprachverarbeitungssystemen und verteilten Computerumgebungen.
  • Die obigen Aspekte der vorliegenden Offenbarung sind veranschaulichend zu verstehen. Sie wurden ausgewählt, um die Grundsätze und die Anwendung der Offenbarung zu erläutern, und sollen nicht erschöpfend sein oder die Offenbarung einschränken. Viele Modifikationen und Variationen der offengelegten Aspekte können für Fachleute auf dem Gebiet offensichtlich sein. Durchschnittsfachleute auf dem Gebiet der Computer und der Sprachverarbeitung sollten erkennen, dass hierin beschriebene Komponenten und Verfahrensschritte mit anderen Komponenten oder Schritten oder Kombinationen von Komponenten oder Schritten austauschbar sein können und dennoch den Nutzen und die Vorteile der vorliegenden Offenbarung erreichen. Darüber hinaus sollte es für einen Fachmann auf dem Gebiet offensichtlich sein, dass die Offenbarung ohne einige oder alle der hierin offenbarten spezifischen Einzelheiten und Schritte praktiziert werden kann.
  • Aspekte des offenbarten Systems können als Computerverfahren oder als Herstellungsgegenstand, wie z. B. ein Speichergerät oder ein nicht-transitorisches computerlesbares Speichermedium, implementiert werden. Das computerlesbare Speichermedium kann von einem Computer lesbar sein und kann Anweisungen umfassen, die einen Computer oder ein anderes Gerät veranlassen, in der vorliegenden Offenbarung beschriebene Prozesse durchzuführen. Das computerlesbare Speichermedium kann durch einen flüchtigen Computerspeicher, einen nichtflüchtigen Computerspeicher, ein Festplattenlaufwerk, einen Festkörperspeicher, ein Flash-Laufwerk, eine Wechselplatte und / oder andere Medien implementiert werden. Darüber hinaus können Komponenten des Systems als Firmware oder Hardware implementiert sein, wie z. B. ein akustisches Frontend (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 hierin verwendete bedingte Sprache, wie unter anderem „kann“, „könnte“, „z. B.“ und dergleichen, ist, sofern nicht ausdrücklich anders angegeben oder im verwendeten Kontext anders zu verstehen ist, im Allgemeinen dazu gedacht, zu vermitteln, dass bestimmte Ausführungsformen bestimmte Merkmale, Elemente und / oder Schritte beinhalten, während andere Ausführungsformen diese nicht beinhalten. Daher soll eine solche bedingte Sprache im Allgemeinen nicht implizieren, dass Merkmale, Elemente und / oder Schritte in irgendeiner Weise für eine oder mehrere Ausführungsformen erforderlich sind oder dass eine oder mehrere Ausführungsformen notwendigerweise eine Logik beinhalten, um mit oder ohne andere Eingaben oder Aufforderungen zu entscheiden, ob diese Merkmale, Elemente und / oder Schritte in einer bestimmten Ausführungsform inbegriffen oder auszuführen sind. Die Begriffe „umfassend“, „einschließlich / beinhaltend“, „aufweisend“ und dergleichen sind synonym und werden in einer offenen Weise einschließend verwendet und schließen zusätzliche Elemente, Merkmale, Handlungen, Vorgänge und so weiter nicht aus. Außerdem wird der Begriff „oder“ in seinem einschließenden (und nicht in seinem ausschließenden) Sinn verwendet, so dass der Begriff „oder“, wenn er z. B. zur Verbindung einer Liste von Elementen verwendet wird, ein, einige oder alle der Elemente in der Liste meint.
  • Eine disjunktive Sprache wie der Ausdruck „mindestens eines von X, Y, Z“ soll, sofern nicht ausdrücklich anders angegeben, in dem Kontext verstanden werden, der allgemein verwendet wird, um darzustellen, dass ein Artikel, Begriff usw. entweder X, Y oder Z sein kann oder eine beliebige Kombination davon (z. B. X, Y und / oder Z). Somit soll und sollte eine solche disjunktive Sprache nicht generell implizieren, dass bei bestimmten Ausführungsformen mindestens eines von X, mindestens eines von Y oder mindestens eines von Z jeweils vorhanden sein muss.
  • Wie in dieser Offenbarung verwendet kann der Begriff „ein(e)“ oder „eins“ einen oder mehrere Gegenstände beinhalten, sofern nicht ausdrücklich etwas anderes angegeben ist. Außerdem soll der Ausdruck „basierend auf“ „mindestens teilweise basierend auf“ bedeuten, sofern nicht ausdrücklich etwas anderes angegeben ist.
  • 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 16/456158 [0001]

Claims (15)

  1. Ein computerimplementiertes Verfahren, umfassend: Empfangen von Eingabeaudiodaten; Bestimmen, dass die Eingabeaudiodaten Sprache darstellen, die von einem Benutzer gesprochen wird, der mit einem Benutzerprofil assoziiert ist; Empfangen erster Kontextdaten, die den Eingabeaudiodaten entsprechen; Auswählen von Referenzaudiodaten aus einer Vielzahl von Referenzaudiodaten, die mit dem Benutzerprofil assoziiert sind, wobei die Referenzaudiodaten auf Basis der ersten Kontextdaten ausgewählt werden, die zweiten Kontextdaten entsprechen, die mit den Referenzaudiodaten assoziiert sind, und die Referenzaudiodaten den neutralen emotionalen Zustand des Benutzers darstellen; Bestimmen erster Merkmalsdaten, die akustische Sprachattribute darstellen, die den Referenzaudiodaten entsprechen; Bestimmen zweiter Merkmalsdaten, die akustische Sprachattribute darstellen, die den Eingabeaudiodaten entsprechen; Verarbeiten der ersten Merkmalsdaten und der zweiten Merkmalsdaten unter Verwendung eines trainierten Modells, um eine Emotionskategorie zu bestimmen, die den Eingabeaudiodaten entspricht; und Speichern von Assoziationsdaten, die die Emotionskategorie mit dem Benutzerprofil und den Eingabeaudiodaten assoziieren.
  2. Das computerimplementierte Verfahren nach Anspruch 1, weiterhin umfassend: Empfangen erster Audiodaten, die eine erste Referenzäußerung darstellen; Speichern eines ersten Ortes, der den ersten Audiodaten entspricht, als die zweiten Kontextdaten; Assoziieren der ersten Audiodaten mit dem Benutzerprofil und den zweiten Kontextdaten; Empfangen zweiter Audiodaten, die eine zweite Referenzäußerung darstellen; Speichern eines zweiten Ortes, der den zweiten Audiodaten entspricht, als dritte Kontextdaten; und Assoziieren der zweiten Audiodaten mit dem Benutzerprofil und den dritten Kontextdaten, wobei das Auswählen der Referenzaudiodaten weiterhin umfasst: Bestimmen, dass die ersten Kontextdaten einen dritten Ort beinhalten, der mit den Eingabeaudiodaten assoziiert ist; Bestimmen, dass der dritte Ort dem ersten Ort entspricht; und Auswählen der ersten Audiodaten als die Referenzaudiodaten auf Basis des dritten Ortes, der dem ersten Ort entspricht.
  3. Das computerimplementierte Verfahren nach Anspruch 1 oder 2, weiterhin umfassend: Empfangen erster Audiodaten, die eine erste Referenzäußerung darstellen; Empfangen zweiter Audiodaten, die eine zweite Referenzäußerung darstellen; Verarbeiten der ersten Audiodaten unter Verwendung eines Emotionsdetektionsmodells, um einen ersten Score zu bestimmen; Verarbeiten der zweiten Audiodaten unter Verwendung des Emotionsdetektionsmodells, um einen zweiten Score zu bestimmen; Bestimmen, dass der erste Score einer neutralen Emotionskategorie entspricht; und Speichern der ersten Audiodaten als die Referenzaudiodaten.
  4. Das computerimplementierte Verfahren nach Anspruch 1, 2 oder 3, weiterhin umfassend: Empfangen erster Audiodaten, die eine erste Referenzäußerung darstellen; Bestimmen der zweiten Kontextdaten, die den ersten Audiodaten entsprechen, wobei die zweiten Kontextdaten mindestens eines von einem ersten Ort, der den ersten Audiodaten entspricht, und erster Interaktionsart darstellen; Assoziieren der ersten Audiodaten mit dem Benutzerprofil und den zweiten Kontextdaten; Empfangen zweiter Audiodaten, die eine zweite Referenzäußerung darstellen; Bestimmen dritter Kontextdaten, die den zweiten Audiodaten entsprechen, wobei die dritten Kontextdaten mindestens eines von einem zweiten Ort, der den zweiten Audiodaten entspricht, und einer zweiten Interaktionsart darstellen; Assoziieren der zweiten Audiodaten mit dem Benutzerprofil und den dritten Kontextdaten; wobei das Auswählen der Referenzaudiodaten weiterhin umfasst: Bestimmen, dass die ersten Kontextdaten den zweiten Kontextdaten entsprechen; und Auswählen der ersten Audiodaten als die Referenzaudiodaten.
  5. Das computerimplementierte Verfahren nach Anspruch 1, 2, 3 oder 4, wobei das Bestimmen der ersten Merkmalsdaten und das Bestimmen der zweiten Merkmalsdaten umfassen: Verarbeiten der Referenzaudiodaten unter Verwendung eines ersten Codierers, um die ersten Merkmalsdaten zu bestimmen, wobei der Codierer mindestens eine erste Verarbeitungsschicht und eine zweite Verarbeitungsschicht aufweist; und Verarbeiten der Eingabeaudiodaten unter Verwendung eines zweiten Codierers und von Daten, die der zweiten Verarbeitungsschicht entsprechen, um die zweiten Merkmalsdaten zu bestimmen.
  6. Das computerimplementierte Verfahren nach Anspruch 1, 2, 3, 4 oder 5, weiterhin umfassend, zu einem ersten Zeitraum vor dem Empfangen der Eingabeaudiodaten: Bestimmen eines ersten Sets von Äußerungen einschließlich einer ersten Äußerung, die einen neutralen emotionalen Zustand eines zweiten Benutzers darstellt, und einer zweiten Äußerung, die einen nicht neutralen emotionalen Zustand des zweiten Benutzers darstellt; Bestimmen eines zweiten Sets von Äußerungen einschließlich einer dritten Äußerung, die einen neutralen emotionalen Zustand eines dritten Benutzers darstellt, und einer vierten Äußerung, die einen nicht neutralen emotionalen Zustand des dritten Benutzers darstellt; Speichern des ersten Sets von Äußerungen und des zweiten Sets von Äußerungen als Trainingsdaten; Verarbeiten der Trainingsdaten, um Modelldaten zu bestimmen; und Bestimmen des trainierten Modells unter Verwendung der Modelldaten, wobei das trainierte Modell dafür konfiguriert ist, Referenzaudio und Eingabeaudio zu vergleichen, um eine dem Referenzaudio und dem Eingabeaudio entsprechende Emotion des Benutzers zu bestimmen.
  7. Das computerimplementierte Verfahren nach Anspruch 1, 2, 3, 4, 5 oder 6, wobei das Empfangen der Eingabeaudiodaten das Empfangen einer ersten Äußerung, die von dem Benutzer gesprochen wird, und das Empfangen einer zweiten Äußerung, die von einem zusätzlichen Benutzer gesprochen wird, umfasst, und das Verfahren weiterhin umfasst: Bestimmen eines ersten Konfidenzniveaus, dass die erste Äußerung dem Benutzerprofil entspricht; Bestimmen, dass das erste Konfidenzniveau einem Schwellenwert genügt; Speichern eines ersten Teils der Eingabeaudiodaten, der der ersten Äußerung entspricht, als Benutzeraudiodaten; Bestimmen eines zweiten Konfidenzniveaus, dass die zweite Äußerung dem Benutzerprofil entspricht; Bestimmen, dass das zweite Konfidenzniveau dem Schwellenwert nicht genügt; Verwerfen eines zweiten Teils der Eingabeaudiodaten, der der zweiten Äußerung entspricht; und Bestimmen der zweiten Merkmale unter Verwendung des ersten Teils der Eingabeaudiodaten.
  8. Das computerimplementierte Verfahren nach Anspruch 1, 2, 3, 4, 5, 6 oder 7, weiterhin umfassend: Verwenden von Text-zu-Sprache-Verarbeitung zur Bestimmung von Textdaten, die den Eingabeaudiodaten entsprechen; Bestimmen von Zeitdaten, die angeben, wann die Eingabeaudiodaten von einem Gerät empfangen wurden; Erzeugen von Ausgabedaten einschließlich der Textdaten, der Zeitdaten und eines Indikators der Emotionskategorie; und Anzeigen der Ausgabedaten unter Verwendung des Gerätes.
  9. Ein System, umfassend: mindestens einen Prozessor; und mindestens einen Speicher, der Anweisungen beinhaltet, die bei Ausführung durch den mindestens einen Prozessor das System veranlassen zum: Empfangen von Eingabeaudiodaten; Bestimmen, dass die Eingabeaudiodaten Sprache darstellen, die von einem Benutzer gesprochen wird, der mit einem Benutzerprofil assoziiert ist; Empfangen erster Kontextdaten, die den Eingabeaudiodaten entsprechen; Auswählen von Referenzaudiodaten aus einer Vielzahl von Referenzaudiodaten, die mit dem Benutzerprofil assoziiert sind, wobei die Referenzaudiodaten auf Basis der ersten Kontextdaten ausgewählt werden, die zweiten Kontextdaten entsprechen, die mit den Referenzaudiodaten assoziiert sind, und die Referenzaudiodaten den neutralen emotionalen Zustand des Benutzers darstellen; Bestimmen erster Merkmalsdaten, die akustische Sprachattribute darstellen, die den Referenzaudiodaten entsprechen; Bestimmen zweiter Merkmalsdaten, die akustische Sprachattribute darstellen, die den Eingabeaudiodaten entsprechen; Verarbeiten der ersten Merkmalsdaten und der zweiten Merkmalsdaten unter Verwendung eines trainierten Modells, um eine Emotionskategorie zu bestimmen, die den Eingabeaudiodaten entspricht; und Speichern von Assoziationsdaten, die die Emotionskategorie mit dem Benutzerprofil und den Eingabeaudiodaten assoziieren.
  10. Das System nach Anspruch 9, wobei die Anweisungen bei Ausführung durch den mindestens einen Prozessor das System weiterhin veranlassen zum: Empfangen erster Audiodaten, die eine erste Referenzäußerung darstellen; Speichern eines ersten Ortes, der den ersten Audiodaten entspricht, als die zweiten Kontextdaten; Assoziieren der ersten Audiodaten mit dem Benutzerprofil und den zweiten Kontextdaten; Empfangen zweiter Audiodaten, die eine zweite Referenzäußerung darstellen; Speichern eines zweiten Ortes, der den zweiten Audiodaten entspricht, als dritte Kontextdaten; und Assoziieren der zweiten Audiodaten mit dem Benutzerprofil und den dritten Kontextdaten, wobei die Anweisungen, die das System veranlassen, die Referenzaudiodaten auszuwählen, das System weiterhin veranlassen zum: Bestimmen, dass die ersten Kontextdaten einen dritten Ort beinhalten, der mit den Eingabeaudiodaten assoziiert ist; Bestimmen, dass der dritte Ort dem ersten Ort entspricht; und Auswählen der ersten Audiodaten als die Referenzaudiodaten auf Basis des dritten Ortes, der dem ersten Ort entspricht.
  11. Das System nach Anspruch 9 oder 10, wobei die Anweisungen bei Ausführung durch den mindestens einen Prozessor das System weiterhin veranlassen zum: Empfangen erster Audiodaten, die eine erste Referenzäußerung darstellen; Empfangen zweiter Audiodaten, die eine zweite Referenzäußerung darstellen; Verarbeiten der ersten Audiodaten unter Verwendung eines Emotionsdetektionsmodells, um einen ersten Score zu bestimmen; Verarbeiten der zweiten Audiodaten unter Verwendung des Emotionsdetektionsmodells, um einen zweiten Score zu bestimmen; Bestimmen, dass der erste Score einer neutralen Emotionskategorie entspricht; und Speichern der ersten Audiodaten als die Referenzaudiodaten.
  12. Das System nach Anspruch 9, 10 oder 11, wobei die Anweisungen bei Ausführung durch den mindestens einen Prozessor das System weiterhin veranlassen zum: Empfangen erster Audiodaten, die eine erste Referenzäußerung darstellen; Bestimmen der zweiten Kontextdaten, die den ersten Audiodaten entsprechen, wobei die zweiten Kontextdaten mindestens eines von einem ersten Ort, der den ersten Audiodaten entspricht, und erster Interaktionsart darstellen; Assoziieren der ersten Audiodaten mit dem Benutzerprofil und den zweiten Kontextdaten; Empfangen zweiter Audiodaten, die eine zweite Referenzäußerung darstellen; Bestimmen dritter Kontextdaten, die den zweiten Audiodaten entsprechen, wobei die dritten Kontextdaten mindestens eines von einem zweiten Ort, der den zweiten Audiodaten entspricht, und einer zweiten Interaktionsart darstellen; Assoziieren der zweiten Audiodaten mit dem Benutzerprofil und den dritten Kontextdaten; wobei die Anweisungen, die das System veranlassen, die Referenzaudiodaten auszuwählen, das System weiterhin veranlassen zum: Bestimmen, dass die ersten Kontextdaten den zweiten Kontextdaten entsprechen; und Auswählen der ersten Audiodaten als die Referenzaudiodaten.
  13. Das System nach Anspruch 9, 10, 11 oder 12, wobei die Anweisungen, die das System veranlassen, die ersten Merkmalsdaten zu bestimmen und die zweiten Merkmalsdaten zu bestimmen, das System weiterhin veranlassen zum: Verarbeiten der Referenzaudiodaten unter Verwendung eines ersten Codierers, um die ersten Merkmalsdaten zu bestimmen, wobei der Codierer mindestens eine erste Verarbeitungsschicht und eine zweite Verarbeitungsschicht aufweist; und Verarbeiten der Eingabeaudiodaten unter Verwendung eines zweiten Codierers und von Daten, die der zweiten Verarbeitungsschicht entsprechen, um die zweiten Merkmalsdaten zu bestimmen.
  14. Das System nach Anspruch 9, 10, 11, 12 oder 13, wobei die Anweisungen, die bei Ausführung durch den mindestens einen Prozessor das System weiterhin, während eines ersten Zeitraums vor dem Empfangen der Eingabeaudiodaten, veranlassen zum: Bestimmen eines ersten Sets von Äußerungen einschließlich einer ersten Äußerung, die einen neutralen emotionalen Zustand eines zweiten Benutzers darstellt, und einer zweiten Äußerung, die einen nicht neutralen emotionalen Zustand des zweiten Benutzers darstellt; Bestimmen eines zweiten Sets von Äußerungen einschließlich einer dritten Äußerung, die einen neutralen emotionalen Zustand eines dritten Benutzers darstellt, und einer vierten Äußerung, die einen nicht neutralen emotionalen Zustand des dritten Benutzers darstellt; Speichern des ersten Sets von Äußerungen und des zweiten Sets von Äußerungen als Trainingsdaten; Verarbeiten der Trainingsdaten, um Modelldaten zu bestimmen; und Bestimmen des trainierten Modells unter Verwendung der Modelldaten, wobei das trainierte Modell dafür konfiguriert ist, Referenzaudio und Eingabeaudio zu vergleichen, um eine dem Referenzaudio und dem Eingabeaudio entsprechende Emotion des Benutzers zu bestimmen.
  15. Das System nach Anspruch 9, 10, 11, 12, 13 oder 14, wobei die Anweisungen, die bei Ausführung durch den mindestens einen Prozessor das System weiterhin veranlassen zum: Verwenden von Text-zu-Sprache-Verarbeitung zur Bestimmung von Textdaten, die den Eingabeaudiodaten entsprechen; Bestimmen von Zeitdaten, die angeben, wann die Eingabeaudiodaten von einem Gerät empfangen wurden; Erzeugen von Ausgabedaten einschließlich der Textdaten, der Zeitdaten und eines Indikators der Emotionskategorie; und Anzeigen der Ausgabedaten unter Verwendung des Gerätes.
DE112020002531.4T 2019-06-28 2020-06-08 Emotionsdetektion unter verwendung der sprechergrundlinie Pending DE112020002531T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/456,158 US10943604B1 (en) 2019-06-28 2019-06-28 Emotion detection using speaker baseline
US16/456,158 2019-06-28
PCT/US2020/036605 WO2020263547A1 (en) 2019-06-28 2020-06-08 Emotion detection using speaker baseline

Publications (1)

Publication Number Publication Date
DE112020002531T5 true DE112020002531T5 (de) 2022-02-24

Family

ID=71899892

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112020002531.4T Pending DE112020002531T5 (de) 2019-06-28 2020-06-08 Emotionsdetektion unter verwendung der sprechergrundlinie

Country Status (5)

Country Link
US (2) US10943604B1 (de)
CN (1) CN114051639A (de)
DE (1) DE112020002531T5 (de)
GB (1) GB2602398B (de)
WO (1) WO2020263547A1 (de)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220343905A1 (en) * 2019-09-16 2022-10-27 3M Innovative Properties Company Context-aware safety assistant for worker safety
US10754614B1 (en) * 2019-09-23 2020-08-25 Sonos, Inc. Mood detection and/or influence via audio playback devices
US11322133B2 (en) * 2020-07-21 2022-05-03 Adobe Inc. Expressive text-to-speech utilizing contextual word-level style tokens
WO2023086025A2 (en) * 2021-11-10 2023-05-19 National University Of Singapore Method and system for generating an explainable prediction of an emotion associated with a vocal sample
US20230238114A1 (en) * 2022-01-25 2023-07-27 Yiftah Frechter Applied behavioral therapy apparatus and method
US20230395078A1 (en) * 2022-06-06 2023-12-07 Cerence Operating Company Emotion-aware voice assistant
US20240062745A1 (en) * 2022-08-16 2024-02-22 Cypress Semiconductor Corporation Systems, methods, and devices for low-power audio signal detection
US11847309B1 (en) * 2023-01-20 2023-12-19 Bang & Olufsen, A/S Auditory memories
CN117079673B (zh) * 2023-10-17 2023-12-19 青岛铭威软创信息技术有限公司 一种基于多模态人工智能的智能情绪识别方法
CN117497009A (zh) * 2023-12-19 2024-02-02 摩尔线程智能科技(北京)有限责任公司 一种语音情感识别方法、装置、电子设备和存储介质

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6275806B1 (en) * 1999-08-31 2001-08-14 Andersen Consulting, Llp System method and article of manufacture for detecting emotion in voice signals by utilizing statistics for voice signal parameters
US6882971B2 (en) 2002-07-18 2005-04-19 General Instrument Corporation Method and apparatus for improving listener differentiation of talkers during a conference call
US10127927B2 (en) * 2014-07-28 2018-11-13 Sony Interactive Entertainment Inc. Emotional speech processing
US20180101776A1 (en) 2016-10-12 2018-04-12 Microsoft Technology Licensing, Llc Extracting An Emotional State From Device Data
US11094316B2 (en) * 2018-05-04 2021-08-17 Qualcomm Incorporated Audio analytics for natural language processing

Also Published As

Publication number Publication date
WO2020263547A1 (en) 2020-12-30
US20210249035A1 (en) 2021-08-12
GB202200934D0 (en) 2022-03-09
GB2602398A (en) 2022-06-29
US11545174B2 (en) 2023-01-03
CN114051639A (zh) 2022-02-15
US10943604B1 (en) 2021-03-09
GB2602398B (en) 2024-01-24

Similar Documents

Publication Publication Date Title
DE112020002531T5 (de) Emotionsdetektion unter verwendung der sprechergrundlinie
US11790919B2 (en) Multiple classifications of audio data
DE112017003563B4 (de) Verfahren und system einer automatischen spracherkennung unter verwendung von a-posteriori-vertrauenspunktzahlen
Pandey et al. Deep learning techniques for speech emotion recognition: A review
US11636851B2 (en) Multi-assistant natural language input processing
DE112020004504T5 (de) Kontoverbindung mit Gerät
DE602004011545T2 (de) Datenverarbeitungseinrichtung und datenverarbeitungseinrichtungssteuerprogramm
DE112021001064T5 (de) Vorrichtungsgerichtete Äußerungserkennung
US11854538B1 (en) Sentiment detection in audio data
US11004454B1 (en) Voice profile updating
US11194973B1 (en) Dialog response generation
US11393473B1 (en) Device arbitration using audio characteristics
US11205428B1 (en) Deleting user data using keys
CN113168832A (zh) 交替响应生成
US11200885B1 (en) Goal-oriented dialog system
US10757207B1 (en) Presence detection
US11862170B2 (en) Sensitive data control
US11132994B1 (en) Multi-domain dialog state tracking
DE112021000959T5 (de) Synthetische Sprachverarbeitung
DE102022121680A1 (de) Ermittlung eines aktiven Sprechers mittels Bilddaten
US11200884B1 (en) Voice profile updating
DE112021000291T5 (de) Erzeugen von ereignisausgaben
US20230377574A1 (en) Word selection for natural language interface
CN109961152B (zh) 虚拟偶像的个性化互动方法、系统、终端设备及存储介质
US20230052442A1 (en) Analyzing Objects Data to Generate a Textual Content Reporting Events

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication