DE102018128006B4 - Verfahren zum erzeugen von ausgaben natürlichsprachlicher generierung basierend auf dem benutzersprachstil - Google Patents

Verfahren zum erzeugen von ausgaben natürlichsprachlicher generierung basierend auf dem benutzersprachstil Download PDF

Info

Publication number
DE102018128006B4
DE102018128006B4 DE102018128006.8A DE102018128006A DE102018128006B4 DE 102018128006 B4 DE102018128006 B4 DE 102018128006B4 DE 102018128006 A DE102018128006 A DE 102018128006A DE 102018128006 B4 DE102018128006 B4 DE 102018128006B4
Authority
DE
Germany
Prior art keywords
nlg
template
user
communication
dynamic
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
DE102018128006.8A
Other languages
English (en)
Other versions
DE102018128006A1 (de
Inventor
Gaurav Talwar
Xu Fang Zhao
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.)
GM Global Technology Operations LLC
Original Assignee
GM Global Technology Operations LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by GM Global Technology Operations LLC filed Critical GM Global Technology Operations LLC
Publication of DE102018128006A1 publication Critical patent/DE102018128006A1/de
Application granted granted Critical
Publication of DE102018128006B4 publication Critical patent/DE102018128006B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L13/00Speech synthesis; Text to speech systems
    • G10L13/02Methods for producing synthetic speech; Speech synthesisers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/186Templates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/16Sound input; Sound output
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/16Sound input; Sound output
    • G06F3/167Audio in a user interface, e.g. using voice commands for navigating, audio feedback
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/40Processing or translation of natural language
    • G06F40/55Rule-based translation
    • G06F40/56Natural language generation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • G06N5/046Forward inferencing; Production systems
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/06Creation of reference templates; Training of speech recognition systems, e.g. adaptation to the characteristics of the speaker's voice
    • 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/1807Speech classification or search using natural language modelling using prosody or stress
    • 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
    • G10L17/00Speaker identification or verification techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/01Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation
    • G06N5/022Knowledge engineering; Knowledge acquisition
    • G06N5/025Extracting rules from data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/01Probabilistic graphical models, e.g. probabilistic networks
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/26Speech to text systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • Artificial Intelligence (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Computer Interaction (AREA)
  • Multimedia (AREA)
  • Acoustics & Sound (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Mathematical Physics (AREA)
  • Biophysics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Molecular Biology (AREA)
  • Medical Informatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Navigation (AREA)
  • Machine Translation (AREA)
  • Telephonic Communication Services (AREA)

Abstract

Verfahren (300) zum Erzeugen von Ausgaben natürlichsprachlicher Generierung (NLG), wobei das Verfahren Folgendes umfasst:Empfangen (310) von Sprachsignalen von einem Benutzer an einem Mikrofon (56) einer Clientvorrichtung (12);Bestimmen (330) eines angeforderten Kommunikationsziels und mindestens eines eingegebenen Kommunikationswertes basierend auf den empfangenen Sprachsignalen;Bestimmen (340), ob eine Vorlage zur statischen natürlichsprachlichen Generierung (NLG) oder eine dynamische NLG-Vorlage verwendet werden soll, um eine NLG-Ausgabe zu erzeugen, wobei die Bestimmung, ob eine statische NLG-Vorlage oder eine dynamische NLG-Vorlage verwendet werden soll, unter Verwendung eines Auswahlprozess für NLG-Vorlagen neuronaler Netze erfolgt;Auswählen (350) einer NLG-Vorlage nach der Bestimmung, ob eine statische NLG-Vorlage oder eine dynamische NLG-Vorlage verwendet werden soll; undErzeugen (370) einer NLG-Ausgabe basierend auf der ausgewählten NLG-Vorlage.

Description

  • EINFÜHRUNG
  • Die vorliegende Erfindung betrifft Erzeugen von Ausgaben natürlichsprachlicher Generierung (NLG), die auf Eigenschaften oder dem Stil der Sprache eines Benutzers basieren.
  • Unter Verwendung automatischer Spracherkennung (ASR) können auf einer Clientvorrichtung verschiedene Vorrichtungsfunktionen gesteuert werden. Fahrzeuge beinhalten z. B. Hardware und Software, die in der Lage sind, Sprache von einem Fahrzeuginsassen zu empfangen, diese Sprache zu verarbeiten, um Sprachinhalte zu verstehen und dann eine Handlung basierend auf den Sprachinhalten auszuführen. Die Fahrzeuge oder sonstige Clientvorrichtungen können die Hardware und Software verwenden, um die am Fahrzeug empfangene Sprache zu verarbeiten. Eine Reaktion auf eine ASR-Eingabe kann am Fahrzeug oder an der Clientvorrichtung erzeugt werden.
  • Aus der Druckschrift US 2014 0 317 030 A1 ist ein Verfahren und eine Vorrichtung zur Anpassung von Unterhaltungsagenten basierend auf Benutzereigenschaften bekannt. In der Druckschrift WO 2016 166 417 A1 ist ein Verfahren zur Erzeugung von natürlicher Sprachkommunikation beschrieben. Die Druckschrift US 2015 0 261 745 A1 offenbart ein System und ein Verfahren zum Bootstrapping von Vorlagen zur Verwendung bei der natürlichen Spracherzeugung.
  • Es ist eine Aufgabe der vorliegenden Erfindung, verbesserte Verfahren zum Erzeugen von Ausgaben natürlichsprachlicher Generierung anzugeben.
  • KURZDARSTELLUNG
  • Diese Aufgabe wird gelöst durch den Gegenstand der unabhängigen Ansprüche 1 und 10. Vorteilhafte Ausgestaltungen sind in den abhängigen Ansprüchen angegeben.
  • Gemäß einem Aspekt der Erfindung ist ein Verfahren zum Erzeugen von Ausgaben natürlichsprachlicher Generierung (NLG) vorgesehen, wobei das Verfahren Folgendes beinhaltet: Empfangen von Sprachsignalen von einem Benutzer an einem Mikrofon einer Clientvorrichtung; Bestimmen eines angeforderten Kommunikationsziels und mindestens eines eingegebenen Kommunikationswertes basierend auf den empfangenen Sprachsignalen; Bestimmen der Verwendung einer Vorlage zur statischen natürlichsprachlichen Generierung (NLG) oder einer dynamischen NLG-Vorlage zum Erzeugen einer NLG-Ausgabe, wobei die Bestimmung, ob eine statische NLG-Vorlage oder eine dynamische NLG-Vorlage verwendet werden soll, unter Verwendung eines Auswahlprozesses für NLG-Vorlagen für neuronale Netze erfolgt; Auswählen einer NLG-Vorlage nach der Bestimmung, ob eine statische NLG-Vorlage oder eine dynamische NLG-Vorlage verwendet werden soll; und Erzeugen einer NLG-Ausgabe basierend auf der ausgewählten NLG-Vorlage.
  • Gemäß verschiedenen Ausführungsformen kann dieses Verfahren ferner eines der folgenden Merkmale oder eine technisch mögliche Kombination dieser Merkmale beinhalten:
    • • den Schritt zum Identifizieren eines Benutzers oder eines wahrscheinlichen Benutzers, der die Sprachsignale übertragen hat;
    • • den Auswahlprozess für NLG-Vorlagen für neuronale Netze wird basierend auf einer Historie des identifizierten Benutzers oder des wahrscheinlichen Benutzers und/oder einem Profil des identifizierten Benutzers oder des wahrscheinlichen Benutzers durchgeführt;
    • • die ausgewählte NLG-Vorlage wird basierend auf der Historie des identifizierten Benutzers oder des wahrscheinlichen Benutzers und/oder dem Profil des identifizierten Benutzers oder des wahrscheinlichen Benutzers ausgewählt;
    • • den Schritt zum Identifizieren eines Stils basierend auf den empfangenen Sprachsignalen, der Historie des identifizierten Benutzers oder wahrscheinlichen Benutzers und/oder dem Profil des identifizierten Benutzers oder wahrscheinlichen Benutzers, und wobei der identifizierte Stil in dem Auswahlprozess für NLG-Vorlagen für neuronale Netze verwendet wird;
    • • den Schritt, wenn bestimmt wird, dass eine dynamische NLG-Vorlage verwendet werden soll, um die NLG-Ausgabe zu erzeugen, und dann Erzeugen der dynamischen NLG-Vorlage unter Verwendung eines Erzeugungsprozesses für NLG-Vorlagen;
    • • die dynamische NLG-Vorlage wird basierend auf dem Kommunikationsziel und einem oder mehreren erhaltenen Kommunikationswerten erzeugt;
    • • den Schritt zum Identifizieren eines Benutzers oder eines wahrscheinlichen Benutzers, der die Sprachsignale übertragen hat, wobei die dynamische NLG-Vorlage basierend auf Benutzerinformationen erzeugt wird, die dem Benutzer oder wahrscheinlichen Benutzer zugeordnet sind, und wobei die Benutzerinformationen entweder Benutzerhistorieninformationen oder Benutzerprofilinformationen oder beide dieser beinhalten;
    • • der Erzeugungsprozesses für NLG-Vorlagen ist ein regelbasierter Erzeugungsprozesses für NLG-Vorlagen;
    • • der Erzeugungsprozesses für NLG-Vorlagen ist ein Erzeugungsprozesses für NLG-Vorlagen neuronaler Netze;
    • • die Schritte: Senden einer Kommunikationswertanforderung an einen entfernten Server, wobei die Kommunikationswertanforderung eine Anforderung ist, um reaktive Kommunikationswerte zu erhalten, die in der NLG-Ausgabe zu verwenden sind und die auf dem Kommunikationsziel und den eingegebenen Kommunikationswerten basieren; und Empfangen einer Kommunikationswertreaktion von dem entfernten Server, wobei die Kommunikationswertantwort reaktive Kommunikationswerte beinhaltet, die beim Erzeugen der NLG-Ausgabe zu verwenden sind;
    • • den Schritt des Anpassens des Auswahlprozesses für NLG-Vorlagen neuronaler Netze basierend auf früheren Iterationen des Auswahlprozesses für NLGVorlagen neuronaler Netze; und/oder
    • • der Anpassungsschritt umfasst ferner Anpassen des Auswahlprozesses für NLG-Vorlagen für neuronale Netze basierend auf einem Satz von Eingaben, der NLG-Ausgabe und einem gemessenen Erfolg des Auswahlprozesses für NLG-Vorlagen neuronaler Netze, wobei der Satz von Eingaben das Kommunikationsziel, die eingegebenen Kommunikationswerte und Informationen bezüglich eines Benutzers oder eines wahrscheinlichen Benutzers, der die Sprachsignale übertragen hat, beinhaltet.
  • Gemäß einem weiteren Aspekt der Erfindung ist ein Verfahren zum Erzeugen von Ausgaben natürlichsprachlicher Generierung (NLG) vorgesehen, wobei das Verfahren Folgendes beinhaltet: Empfangen von Sprachsignalen von einem Benutzer an einem Mikrofon einer Clientvorrichtung; Identifizieren eines Benutzers oder eines wahrscheinlichen Benutzers, der die Sprachsignale übertragen hat; Bestimmen eines Kommunikationsziels und mindestens eines eingegebenen Kommunikationswertes basierend auf den empfangenen Sprachsignalen; Bestimmen, ob eine statische NLG-Vorlage oder eine dynamische NLG-Vorlage zum Verwenden beim Erzeugen einer NLG-Ausgabe verwendet werden soll, wobei Bestimmen, ob eine statische NLG-Vorlage oder eine dynamische NLG-Vorlage verwendet werden soll, unter Verwendung eines Auswahlprozesses für NLG-Vorlagen neuronaler Netze erfolgt, wobei der Auswahlprozess für NLG-Vorlagen neuronaler Netze ein künstliches neuronales Netz verwendet, um einen Satz von Eingaben zu lösen, um auszuwählen, ob eine statische NLG-Vorlage oder eine dynamische NLG-Vorlage zum Verwenden beim Erzeugen einer NLG-Ausgabe verwendet werden soll, und wobei der Satz von Eingaben das Kommunikationsziel, die eingegebenen Kommunikationswerte und entweder eine Benutzerhistorie, die dem Benutzer zugeordnet ist, oder ein Benutzerprofil, das dem Benutzer zugeordnet ist, beinhaltet;
  • Gemäß verschiedenen Ausführungsformen kann dieses Verfahren ferner eines der folgenden Merkmale oder eine technisch mögliche Kombination dieser Merkmale beinhalten:
    • • der Satz von Eingaben beinhaltet sowohl die Benutzerhistorie, die dem Benutzer zugeordnet ist, als auch das Benutzerprofil, das dem Benutzer zugeordnet ist;
    • • der Auswahlprozess für NLG-Vorlagen neuronaler Netze beinhaltet einen Satz von potenziellen Ausgaben, die einen ersten Ausgabewert für NLG-Vorlagen und einen zweiten Ausgabewert für NLG-Vorlagen beinhalten, wobei der erste Ausgabewert für NLG-Vorlagen einer Wahrscheinlichkeit entspricht, dass eine statische NLG-Vorlage zum Erzeugen der NLG-Ausgabe verwendet wird, und wobei der zweite Ausgabewert für NLG-Vorlagen einer Wahrscheinlichkeit entspricht, dass eine dynamische NLG-Vorlage zum Erzeugen der NLG-Ausgabe verwendet wird;
    • • der Identifizierungsschritt beinhaltet Verwenden der empfangenen Sprachsignale zum Identifizieren des Benutzers, wobei bestimmt wird, dass eine statische NLG-Vorlage oder eine dynamische NLG-Vorlage basierend auf einem identifizierten Stil, einer Emotion und/oder einem Dialekt der empfangenen Sprachsignale verwendet wird,
    • • die dynamische NLG-Vorlage wird erzeugt und/oder die statische NLG-Vorlage wird basierend auf dem identifizierten Stil, der Emotion und/oder dem Dialekt der empfangenen Sprachsignale ausgewählt;
    • • die dynamische NLG-Vorlage wird unter Verwendung eines maschinell lernenden Erzeugungsprozesses für NLG-Vorlagen erzeugt, wobei der maschinelle lernende Erzeugungsprozesses für NLG-Vorlagen eine andere maschinelle Lernmethode verwendet als die, die im Auswahlprozess für NLG-Vorlagen neuronaler Netze verwendet wird; und/oder
    • • die unterschiedliche maschinelle Lernmethode ist ein regelbasierter Ansatz, der einen vordefinierten Satz von Regeln beinhaltet, die beim Erstellen der dynamischen NLG-Vorlage eingehalten werden.
  • Figurenliste
  • Eine oder mehrere Ausführungsformen der Erfindung werden im Folgenden in Verbindung mit den beigefügten Zeichnungen beschrieben, wobei gleiche Bezeichnungen gleiche Elemente bezeichnen, und wobei Folgendes gilt:
    • 1 ist ein Blockdiagramm, das eine Ausführungsform eines Kommunikationssystems abbildet, das in der Lage ist, das hierin offenbarte Verfahren zu nutzen;
    • 2 ist ein Blockdiagramm, das eine Ausführungsform eines automatischen Spracherkennungssystems (ASR) abbildet;
    • 3 ist ein Flussdiagramm einer Ausführungsform eines Verfahrens zum Erzeugen einer Ausgabe natürlichsprachlicher Generierung (NLG); und
    • 4 ist ein Blockdiagramm, das eine Ausführungsform eines neuronalen Netzmodells abbildet, das in einem maschinell lernenden NLG-Prozess oder einer maschinell lernenden NLG-Anwendung verwendet werden kann.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Das nachfolgend beschriebene System und Verfahren sieht Erzeugen von Ausgaben natürlichsprachlicher Generierung (NLG) unter Verwendung eines maschinell lernenden NLG-Prozesses vor, der zumindest in einigen Ausführungsformen zwischen Verwenden einer statischen (oder vordefinierten) NLG-Vorlage und Verwenden einer dynamischen NLG-Vorlage wählen kann. Die NLG-Vorlage kann so ausgewählt werden, dass die ausgewählte NLG-Vorlage auf einen bestimmten Benutzer, eine bestimmte ASR-Eingabe und/oder eine Kombination davon zugeschnitten ist. Die natürlichsprachliche Generierung (NLG) bezieht sich auf den Prozess des Erzeugens einer natürlichsprachlichen Ausgabe, die eine Aussage, Anfrage oder Frage bzw. eine sonstige Absicht von einer Maschine an einen Benutzer übermittelt. In vielen Fällen werden NLG-Vorlagen zum Erzeugen einer NLG-Ausgabe verwendet. Ein maschinell lernender Auswahlprozess für NLG-Vorlagen kann als Teil des maschinell lernenden NLG-Prozesses durchgeführt werden. Der Auswahlprozess für NLG-Vorlagen ist der Prozess des Auswählens, eine statische oder dynamische NLG-Vorlage mit Hilfe von maschinellen Lernmethoden zu verwenden. Die NLG-Vorlage kann, wie im Folgenden erläutert, basierend auf bestimmten Benutzerinformationen, einem Kommunikationsziel oder einer Kommunikationsabsicht bzw. verschiedenen sonstigen Informationen ausgewählt werden.
  • Wie hierin verwendet, ist eine „NLG-Vorlage“ eine Sammlung von vorgefertigten oder vordefinierten Phrasen, Sätzen und/oder Aussagen, die ein oder mehrere Eingabefelder beinhalten, in denen ein bestimmter Wert oder ein bestimmtes Wort basierend auf der gewünschten oder beabsichtigten Ausgabe platziert werden kann. Außerdem ist eine „NLG-Ausgabe“, wie hierin verwendet, jede Ausgabe, die auf einer natürlichen Sprache basiert und die zumindest in einigen Fällen, unter Verwendung eines Lautsprechers hörbar übertragen (d. h. eine hörbare NLG-Ausgabe) oder auf visuelle Weise dargestellt werden kann, wie z. B. Präsentieren einer textuellen Darstellung, die Textzeichen enthält (z. B. alphanumerische Zeichen). Und, wie hierin verwendet, ist ein maschinell lernender NLG-Prozess der Prozess des Verwendens maschineller Lernmethoden, um eine NLG-Vorlage auszuwählen, eine NLG-Vorlage zu erzeugen und/oder eine NLG-Ausgabe zu erzeugen und kann daher zumindest in einigen Ausführungsformen den maschinell lernenden Auswahlprozess für NLG-Vorlagen beinhalten. Wenn ein neuronales Netzmodell verwendet wird, kann der NLG-Prozess als einen NLG-Prozess eines neuronalen Netzes bezeichnet werden (und dasselbe gilt für die maschinell lernenden NLG-Unterprozesse).
  • Wie im Folgenden näher erläutert, kann der maschinell lernende NLG-Prozess verschiedene Prozesse (oder „Unterprozesse“) beinhalten, einschließlich eines Auswahlprozesses für NLG-Vorlagen, eines Erzeugungsprozesses für NLG-Vorlagen und/oder eines Erzeugungsprozesses für NLG-Ausgaben. Der Auswahlprozess für NLG-Vorlagen ist der Prozess des Auswählens einer NLG-Vorlage, die beim Erzeugen der NLG-Ausgabe verwendet werden soll, was Auswählen zwischen einer statischen und einer dynamischen Vorlage, basierend auf einem Kommunikationsziel, einem Stil der empfangenen Sprache, einem Benutzerprofil, einer Benutzerhistorie bzw. verschiedenen sonstigen Faktoren, beinhalten kann. Der NLG-Erzeugungsprozess kann ausgeführt werden, wenn eine dynamische Vorlage zum Erzeugen der NLG-Ausgabe bestimmt wird. Der Erzeugungsprozess für NLG-Ausgaben ist der Prozess zum Erzeugen der NLG-Ausgabe unter Verwendung der ausgewählten und/oder erzeugten NLG-Vorlage.
  • In einigen Szenarien kann der Auswahlprozess für NLG-Vorlagen bestimmen, dass eine statische NLG-Vorlage verwendet werden soll, die eine NLG-Vorlage ist, die so vordefiniert ist, dass bestimmte Kommunikationsziele auf vordefinierte NLG-Vorlagenausgaben abgebildet werden. Und in anderen Ausführungsformen kann der Auswahlprozess für NLG-Vorlagen bestimmen, dass eine dynamische NLG-Vorlage verwendet werden soll, die eine NLG-Vorlage ist, die zumindest teilweise unter Verwendung des maschinell lernenden Erzeugungsprozesses für NLG-Vorlagen zu einem Zeitpunkt nach dem Auswahlprozess für NLG-Vorlagen erzeugt wird und zumindest in einigen Ausführungsformen auf Ableiten bestimmter vorlagenbezogener Ausgaben aus verschiedenen vordefinierten oder statischen NLG-Vorlagen basieren kann. Wenn eine statische NLG-Vorlage ausgewählt wird, kann der NLG-Ausgabeprozess (d. h. der Prozess zum Verwenden von NLG-Vorlagen zum Erzeugen einer NLG-Ausgabe) sofort durchgeführt werden. Wenn bestimmt wird, dass eine dynamische NLG-Vorlage im Erzeugungsprozesses für NLG-Ausgaben verwendet werden soll, kann ein Erzeugungsprozess für NLG-Vorlagen verwendet werden, um die dynamische NLG-Vorlage zu erzeugen. Die dynamische NLG-Vorlage kann basierend auf einem Kommunikationsziel erzeugt werden, das aus empfangenen Sprachsignalen, einem Stil (oder anderen Attributen) der empfangenen Sprachsignale, einer Emotion der empfangenen Sprachsignale, einer Persona der empfangenen Sprache bzw. basierend auf einem Benutzerprofil oder einer Historie identifiziert wird. Auf diese Weise kann eine dynamische NLG-Vorlage erzeugt werden, die an den Kommunikationsstil angepasst werden kann, um die Benutzerfreundlichkeit zu verbessern.
  • So kann beispielsweise die dynamische NLG-Vorlage auf einen bestimmten Benutzer zugeschnitten und/oder basierend auf ASR-Eingaben eines bestimmten Benutzers erzeugt, aktualisiert oder geändert werden. Und wenn in bestimmten Ausführungsformen das gleiche Kommunikationsziel und der gleiche oder ähnliche Stil oder die gleiche Emotion von einem Benutzer wiederholt zum Abfragen des ASR-Systems verwendet wird, kann eine dynamische NLG-Vorlage gespeichert werden, um zukünftige NLG-Prozesse zu beschleunigen. Anstatt beispielsweise die gleiche dynamische NLG-Vorlage zu erzeugen, kann die dynamische NLG-Vorlage gespeichert und später aus dem Speicher abgerufen werden, wenn sie für die Verwendung bestimmt ist, wodurch vermieden wird, dass die dynamische NLG-Vorlage neu erzeugt werden muss. Es ist zu beachten, dass die dynamische NLG-Vorlage so gespeichert wird, dass sie sich in eine statische NLG-Vorlage verwandelt. Darüber hinaus kann der maschinell lernende NLG-Prozess (und Unterprozesse) eine Vielzahl von maschinellen Lernmethoden, einschließlich künstlicher neuronaler Netze, verwenden kann, um zwischen NLG-Vorlagen auszuwählen und/oder NLG-Vorlagen zu aktualisieren oder zu modifizieren.
  • In einer Ausführungsform kann ein Auswahlprozess für Vorlagen natürlichsprachlicher Generierung (NLG) neuronaler Netze verwendet werden, um eine NLG-Vorlage basierend auf einem Stil (oder einer Emotion) empfangener Sprachsignale und einem Kommunikationsziel auszuwählen, das basierend auf den empfangenen Sprachsignalen identifiziert wird. In einem Szenario kann ein erster Benutzer auf wortreiche und ausschweifende Weise sprechen, und so kann ein Auswahlprozess für NLG-Vorlagen neuronaler Netze verwendet werden, um eine ausführliche NLG-Vorlage auszuwählen, die bei Verwenden für NLG eine wortreiche und ausschweifende Antwort ausgibt. Wenn beispielsweise ein Benutzer oder die Sprache eines Benutzers als redselig oder ausführlich erkannt wird, kann eine NLG-Vorlage verwendet werden, um eine NLG-Ausgabe zu erzeugen, die zu einer redseligen oder ausführlichen Ausgabe zur Folge hat; dies ist der Fall, wenn ein Benutzer beispielsweise sagt: „Hallo ASR-System, wie lautet die Wettervorhersage für meinem aktuellen Standort“, kann das System antworten: „Hallo Benutzer 1, das heutige Wetter ist bewölkt. Die Höchsttemperatur beträgt 43 Grad Fahrenheit und die Tiefsttemperatur beträgt 31 Grad Fahrenheit.“ In einem anderen Szenario kann ein zweiter Benutzer sehr wenige Wörter verwenden und somit kann eine NLG-Vorlage, die auf einen direkteren und kurzgefassteren Stil zugeschnitten ist, durch den Auswahlprozess für NLG-Vorlagen neuronaler Netze ausgewählt werden. Hier kann eine NLG-Vorlage ausgewählt werden, die die folgende Ausgabe erzeugt: „Bewölkt, Höchsttemperatur 43, Tiefsttemperatur 31.“ Der Auswahlprozess für NLG-Vorlagen neuronaler Netze kann eine statische Vorlage basierend auf dem Stil oder der Emotion der Sprache des Benutzers auswählen oder kann Verwenden einer dynamischen NLG-Vorlage auswählen. Im letzteren Fall kann ein Erzeugungsprozesses für NLG-Vorlagen durchgeführt werden, um eine dynamische NLG-Vorlage zu generieren, die auf dem Stil oder der Emotion der Sprache des Benutzers basiert.
  • Unter fortgesetzter Bezugnahme auf die beiden vorangegangenen Beispiele verwendete die erste NLG-Vorlage (die ausführliche NLG-Vorlage) einen vordefinierten Satz, der auf die Bereitstellung von Wetterinformationen zugeschnitten war: „Das heutige Wetter ist <weather_condition>. Die Höchsttemperatur beträgt <high-temp> Grad Fahrenheit und die Tiefsttemperatur beträgt <low_temp> Grad Fahrenheit.“ Die zweite NLG-Vorlage (die direkte NLG-Vorlage) verwendete eine vorlagenbezogene Phrase, die ebenfalls auf die Bereitstellung von Wetterinformationen zugeschnitten war: „<weather_condition>, Höchsttemperatur <high_temp>, Tiefsttemperatur <low_temp>“. Hier ist „<weather_condition>“ ein Platzhalter oder Eingabefeld für die Gesamtwetterlage, wie z. B. bewölkt, sonnig, teilweise bewölkt, usw., „<high_temp>“ ist die Tageshöchsttemperatur und „<low_temp>“ ist die Tagestiefsttemperatur. Darüber hinaus sagte der erste Benutzer „Hallo ASR-System“, und so hängte der maschinell lernende NLG-Prozess unter Verwendung der ersten NLG-Vorlage eine „Hallo“-Aussage an den Anfang der NLG-Ausgabe, um der ASR-Eingabe zu entsprechen. Die Platzhalter oder Eingabefelder können eine Stelle innerhalb der Phrase oder des Satzes vorsehen, in die ein reaktiver Kommunikationswert eingefügt werden kann. So kann beispielsweise der reaktive Kommunikationswert für low_temp „31“ sein und unter Verwendung einer der Vorlagen kann der Reaktionskommunikationswert in das Eingabefeld eingefügt werden. In einer Ausführungsform kann die erste Vorlage eine statische Vorlage sein, die konfiguriert ist, um für die Verwendung verwendet zu werden, wenn das Kommunikationsziel die Bereitstellung von lokalem Wetter ist und wenn der Benutzer oder die Sprache des Benutzers ausführlich ist. In einer weiteren Ausführungsform kann der NLG-Prozess bestimmen, dass es keine geeignete statische Vorlage für die Reaktion auf den ersten Benutzer gibt, und so kann eine dynamische Vorlage basierend auf der Ausführlichkeit der empfangenen Sprachsignale des ersten Benutzers und/oder auf anderen Informationen, wie beispielsweise dem Kommunikationsziel, entwickelt werden.
  • Der maschinelle Lernprozess NLG, einschließlich der oben beschriebenen Unterprozesse, kann in eine computerausführbare Anwendung implementiert werden, die auf einer Vielzahl von verschiedenen Clientvorrichtungen ausgeführt werden kann, einschließlich handgehaltemer mobiler Vorrichtungen (z. B. Smartphones), Heimautomatisierungsvorrichtungen (z. B. intelligente persönliche Assistenten wie Amazon™ Alexa™ und Google™ Home), Fahrzeugen und/oder jeder Vorrichtung, die Sprache empfangen, eine Verbindung mit einem entfernten Computernetzwerk eingehen kann und konfiguriert werden kann, um den hierin beschriebenen maschinell lernenden NLG-Prozess oder die Anwendung zu implementieren. In einer bestimmten Ausführungsform kann ein Fahrzeug als eine Clientvorrichtung verwendet werden, um den maschinell lernenden NLG-Prozess zu empfangen und durchzuführen. In anderen Ausführungsformen kann der maschinell lernende NLG-Prozess an einer entfernten Einrichtung durchgeführt werden, die Zugriff auf mehrere Ressourcen (z. B. mehrere Daten) und/oder höhere Verarbeitungskapazitäten haben kann. Der maschinell lernende NLG-Prozess, einschließlich des maschinell lernenden Auswahlprozesses für NLG-Vorlagen, kann auf zahlreichen Eingaben, einschließlich der Benutzerhistorie, eines Benutzerprofils, eines Kommunikationsziels und eines Kommunikationswerts basieren.
  • Unter Bezugnahme auf 1, wird eine Betriebsumgebung dargestellt, die ein Kommunikationssystem 10 umfasst und die zum Implementieren des hierin offenbarten Verfahrens verwendet werden kann. Das Kommunikationssystem 10 beinhaltet im Allgemeinen ein Fahrzeug 12 mit einem Karosserie-Steuermodul (BCM) 26 und einer drahtlosen Kommunikationsvorrichtung 30, eine Konstellation von Satelliten des globalen Navigationssatellitensystems (GNSS) 60, ein oder mehrere drahtlose Trägersysteme 70, ein Landkommunikationsnetzwerk 76, einen Computer 78, eine entfernte Einrichtung 80 und eine persönliche mobile Vorrichtung 90. Es versteht sich, dass das offenbarte Verfahren mit einer beliebigen Anzahl an unterschiedlichen Systemen verwendet werden kann und nicht speziell auf die hier gezeigte Betriebsumgebung eingeschränkt ist. Auch die Architektur, Konstruktion, Konfiguration und der allgemeine Betrieb des Systems 10 und seiner einzelnen Komponenten sind in der Technik allgemein bekannt. Somit stellen die folgenden Absätze lediglich einen kurzen Überblick über ein solches Kommunikationssystem 10 bereit; aber auch andere, hier nicht dargestellte Systeme könnten die offenbarten Verfahren einsetzen.
  • Das Drahtlosträgersystem 70 kann jedes geeignete Mobiltelefonsystem sein. Das Trägersystem 70 ist mit einem Mobilfunkmast 72 dargestellt; jedoch kann das Trägersystem 70 eine oder mehrere der folgenden Komponenten beinhalten (z. B. abhängig von der Mobilfunktechnologie): Mobilfunkmasten, Basisübertragungsstationen, Mobilvermittlungszentralen, Basisstationssteuerungen, entwickelte Knotenpunkte (z. B. eNodeBs), Mobilitätsmanagement-Einheiten (MMEs), Serving- und PGN-Gateways usw. sowie alle anderen Netzwerkkomponenten, die erforderlich sind, um das Drahtlosträgersystem 70 mit dem Festnetz 76 zu verbinden oder das Drahtlosträgersystem mit der Benutzerausrüstung (UEs, z. B. die Telematikausrüstung im Fahrzeug 12 beinhalten kann) zu verbinden. Das Trägersystem 70 kann jede geeignete Kommunikationstechnik realisieren, einschließlich GSM/GPRS-Technologie, CDMA- oder CDMA2000-Technologie, LTE-Technologie, usw. Im Allgemeinen sind Drahtlosträgersysteme 70, deren Komponenten, die Anordnung ihrer Komponenten, das Zusammenwirken der Komponenten usw. weitgehend im dem Stand der Technik bekannt.
  • Abgesehen vom Verwenden des Drahtlosträgersystems 70 kann ein unterschiedliches Drahtlosträgersystem in der Form von Satellitenkommunikation verwendet werden, um unidirektionale oder bidirektionale Kommunikation mit dem Fahrzeug bereitzustellen. Dies kann unter Verwendung von einem oder mehreren Kommunikationssatelliten (nicht dargestellt) und einer aufwärts gerichteten Sendestation (nicht dargestellt) erfolgen. Die unidirektionale Kommunikation können beispielsweise Satellitenradiodienste sein, worin programmierte Inhaltsdaten (Nachrichten, Musik usw.) von der Uplink-Sendestation erhalten werden, für das Hochladen gepackt und anschließend zum Satelliten gesendet werden, der die Programmierung an die Teilnehmer sendet. Bidirektionale Kommunikation kann beispielsweise Satellitentelefoniedienste unter Verwendung der ein oder mehreren Kommunikationssatelliten sein, um Telefonkommunikationen zwischen dem Fahrzeug 12 und der Aufwärtssendestation weiterzugeben. Bei Verwendung kann diese Satellitentelefonie entweder zusätzlich oder anstatt des Drahtlosträgersystems 70 verwendet werden.
  • Das Festnetz 76 kann ein konventionelles landgebundenes Telekommunikationsnetzwerk sein, das mit einem oder mehreren Festnetztelefonen verbunden ist und das Drahtlosträgersystem 70 mit dem entfernten Standort 80 verbindet. Zum Beispiel kann das Festnetz 76 ein Fernsprechnetz (PSTN) beinhalten, wie es verwendet wird, um die Festnetz-Telefonie, die paketvermittelte Datenkommunikation und die Internet-Infrastruktur bereitzustellen. Ein oder mehrere Segmente des Festnetzes 76 könnten durch die Verwendung eines Standard-Festnetzes, eines Glasfasernetzwerks oder eines anderen LWL-Netzwerks, eines Kabelnetzwerks, durch die Verwendung von Stromleitungen, anderer drahtloser Netzwerke, wie beispielsweise lokaler Drahtlosnetze (WLAN) oder von Netzwerken, die einen drahtlosen Breitbandzugang (BWA) oder eine beliebige Kombination davon bereitstellen, implementiert werden.
  • Die Computer 78 (nur ein dargestellt) können einige von einer Anzahl an Computern sein, die über ein privates oder öffentliches Netzwerk, wie das Internet, zugänglich sind. Jeder dieser Computer 78 kann eine Clientvorrichtung sein, die Sprachverarbeitung und/oder zumindest einen Teil des maschinell lernenden NLG-Prozesses durchführen kann. Bei anderen derartig zugänglichen Computern 78 kann es sich beispielsweise um Folgende handeln: ein Computer in einem Kundendienstzentrum, bei dem Diagnoseinformationen und andere Fahrzeugdaten vom Fahrzeug hochgeladen werden können; ein Clientcomputer, der von dem Fahrzeugbesitzer oder einem anderen Teilnehmer für derartige Zwecke, wie etwa das Zugreifen auf oder Empfangen von Fahrzeugdaten oder zum Einstellen oder Konfigurieren von Teilnehmerpräferenzen oder Steuern von Fahrzeugfunktionen verwendet wird; einen Carsharing-Server, der Reservierungen und/oder Registrierungen von mehreren Benutzern koordiniert, welche die Nutzung eines Fahrzeugs als Teil eines Carsharing-Dienstes beantragen; oder ein Speicherort eines Drittanbieters, dem oder von dem Fahrzeugdaten oder andere Informationen entweder durch Kommunizieren mit dem Fahrzeug 12 oder der entfernten Einrichtung 80 oder beiden bereitgestellt werden. Ein Computer 78 kann auch für das Bereitstellen von Internetkonnektivität, wie DNS-Dienste oder als ein Netzwerkadressenserver, verwendet werden, der DHCP oder ein anderes geeignetes Protokoll verwendet, um dem Fahrzeug 12 eine IP-Adresse zuzuweisen.
  • Die entfernte Einrichtung 80 kann so ausgelegt sein, dass sie die Fahrzeugelektronik 20 und die mobile Vorrichtung 90 mit einer Reihe verschiedener System-Backend-Funktionen unter Verwendung eines oder mehrerer elektronischer Server versieht. So kann beispielsweise die entfernte Einrichtung 80 teilweise verwendet werden, um Informationen zu ermöglichen oder zu koordinieren, die zwischen dem Fahrzeug 12 und einer oder mehreren Clientvorrichtungen, wie beispielsweise der mobilen Vorrichtung 90 oder dem Computer 78, gesendet werden. In einer Ausführungsform kann die entfernte Einrichtung 80 Spracherkennungsdienste vorsehen, die den Empfang von Sprachsignalen von einer Kundenvorrichtung und die Verarbeitung der empfangenen Sprachsignale unter Verwendung eines Spracherkennungssystems beinhalten können. Zusätzlich oder alternativ kann die entfernte Einrichtung 80 einen oder mehrere Netzwerkweichen, Server, Datenbanken, Live-Berater sowie ein automatisiertes Sprachreaktionssystem (VRS) beinhalten, die alle in der Technik bekannt sind. Der entfernte Standort 80 kann eine oder alle der verschiedenen Komponenten beinhalten, wobei sämtliche der verschiedenen Komponenten vorzugsweise über ein drahtgebundenes oder drahtloses lokales Netzwerk miteinander gekoppelt sind. Der entfernte Standort 80 empfängt und überträgt Daten über ein mit dem Festnetz 76 verbundenes Modem.
  • Die entfernte Einrichtung 80 kann auch eine oder mehrere Datenbanken beinhalten, die Kontoinformationen, wie Teilnehmerauthentifizierungsinformationen, Fahrzeugidentifikatoren, Profildatensätze, Verhaltensmuster, Spracherkennung und/oder NLG-Informationen (einschließlich NLG-Vorlagen in einer NLG-Vorlagendatenbank) und andere relevante Teilnehmerinformationen speichern können. Wie hierin verwendet, beinhalten Spracherkennung und/oder NLG-Informationen Informationen, die für das Training eines Spracherkennungs- oder NLG-Systems verwendet werden können, wie beispielsweise den im Folgenden ausführlich erläuterten maschinell lernenden NLG-Prozess. In einigen Ausführungsformen kann die entfernte Einrichtung 80 einen oder mehrere Schritte des NLG-Prozesses durchführen und/oder den NLG-Prozess ergänzen, indem sie beispielsweise der Clientvorrichtung, die den NLG-Prozess durchführt, nützliche Informationen bereitstellt. Datenübertragungen können auch durch drahtlose Systeme, wie z. B. IEEE 802.11x, GPRS und dergleichen, erfolgen. Fachleute auf dem Gebiet werden erkennen, dass obwohl nur eine entfernte Einrichtung 80 und ein Computer 78 in der veranschaulichten Ausführungsform abgebildet sind, zahlreiche entfernte Einrichtungen 80 und/oder Computer 78 verwendet werden können.
  • Die persönliche mobile Vorrichtung 90 ist eine mobile Vorrichtung und kann Folgendes beinhalten: Hardware, Software und/oder Firmware, die Mobilfunktelekommunikation und drahtlose Kurzstreckenkommunikation (SRWC) sowie andere Anwendungen für mobile Vorrichtungen ermöglichen. Wie hierin verwendet, ist eine persönliche mobile Vorrichtung eine mobile Vorrichtung, die SRWC-fähig ist und die von einem Benutzer tragbar ist, und wobei die Tragbarkeit der Vorrichtung zumindest teilweise vom Benutzer abhängig ist, wie beispielsweise ein tragbares Gerät (z. B. eine Smartwatch), ein implantierbares Gerät oder ein Handheld-Gerät (z. B. ein Smartphone, ein Tablet, ein Laptop). Wie hierin verwendet, ist eine drahtlose Kurzstreckenkommunikations-(SRWC)-Vorrichtung eine SRWC-fähige Vorrichtung. Die persönliche mobile Vorrichtung 90 kann eine Clientvorrichtung sein und kann einen Prozessor und einen Speicher (z. B. ein nichtflüchtiges, computerlesbares Medium, das für den Betrieb mit dem Prozessor konfiguriert ist) zum Speichern der Software, Firmware usw. beinhalten. Die persönlichen mobilen Vorrichtungen und der Speicher können verschiedene Softwareanwendungen 92 ermöglichen, die vom Benutzer (oder Hersteller) vorinstalliert oder installiert werden können (z. B. mit einer Softwareanwendung oder grafischen Benutzeroberfläche (GUI).
  • Eine Implementierung einer Anwendung 92 für mobile Vorrichtungen kann Empfangen von Sprache und Verarbeiten der empfangenen Sprache unter Verwendung von Spracherkennungsmethoden ermöglichen, von denen einige Erzeugen einer Antwort zur natürlichsprachlichen Generierung (NLG) beinhalten können. In einigen Ausführungsformen kann die mobile Vorrichtung 90 eine Clientvorrichtung sein, die den maschinell lernenden NLG-Prozess durchführt. So kann beispielsweise die mobile Vorrichtung 90 ein Mikrofon beinhalten, das den Empfang von Sprachwellen ermöglicht, die von einem oder mehreren Benutzern erzeugt werden. In einer bestimmten Ausführungsform kann die Auswahl von NLG-Vorlagen an der mobilen Vorrichtung gemäß dem im Folgenden erläuterten NLG-Prozess neuronaler Netze durchgeführt werden. In einigen Ausführungsformen kann die Anwendung 92 oder eine andere Anwendung für mobile Vorrichtungen eine grafische Benutzeroberfläche (GUI) beinhalten, die es einem Benutzer ermöglicht, Anmeldeinformationen einzugeben, Anmeldeinformationen zur Autorisierung und/oder Authentifizierung zu übermitteln, eine Verbindung mit dem Fahrzeug 12 einzugehen, Fahrzeugzustandsinformationen anzuzeigen, Fahrzeugfunktionen anzufordern, auszuführende Funktionen zu konfigurieren und/oder eine oder mehrere Fahrzeugeinstellungen zu konfigurieren. Die mobile Vorrichtung 90 kann mit der drahtlosen Kommunikationsvorrichtung 30 gemäß einer oder mehreren SRWC-Technologien oder drahtgebundenen Verbindungen, wie beispielsweise einer Verbindung über ein USB-Kabel (Universal Serial Bus), kommunizieren. Obwohl eine einzelne mobile Vorrichtung 90 angezeigt wird, kann die Kommunikation 10 eine Vielzahl von mobilen Vorrichtungen 90 beinhalten.
  • Das Fahrzeug 12 ist in der veranschaulichten Ausführungsform als ein Pkw dargestellt, aber es sollte klar sein, dass jedes andere Fahrzeug, einschließlich Motorrädern, LKWs, Sport Utility Vehicles (SUV), Campingfahrzeugen (RVs), Schiffen, Flugzeugen usw., ebenfalls verwendet werden kann. Ein Teil der Fahrzeugelektronik 20 wird im Allgemeinen in 1 gezeigt und beinhaltet ein globales Navigationssatellitensystem (GNSS) Modul 22, eine Motorsteuereinheit (ECU) 24, ein Karosserie-Steuermodul (BCM) 26, eine drahtlose Kommunikationsvorrichtung 30, die konfiguriert werden kann, um einen maschinell lernenden NLG-Prozess und/oder eine Spracherkennungsverarbeitung durchzuführen, andere Fahrzeugsystemmodule (VSMs) 42 und zahlreiche andere Komponenten und Vorrichtungen. Ein Teil bzw. die gesamte Fahrzeugelektronik kann zur Kommunikation miteinander über eine oder mehrere Kommunikationsbusse, wie z. B. Bus 44, verbunden werden. Kommunikationsbus 44 stellt der Fahrzeugelektronik unter Verwendung einer oder mehrerer Netzwerkprotokolle Netzwerkverbindungen bereit. Beispiele geeigneter Netzwerkverbindungen beinhalten ein Controller Area Network (CAN), einen medienorientierten Systemtransfer (MOST), ein lokales Kopplungsstrukturnetzwerk (LIN), ein lokales Netzwerk (LAN) und andere geeignete Verbindungen, wie z. B. Ethernet, oder andere, die u. a. den bekannten ISO-, SAE- und IEEE-Standards und -Spezifikationen entsprechen.
  • Das Fahrzeug 12 kann zahlreiche Fahrzeugsystemmodule (VSMs) als Teil der Fahrzeugelektronik 20 beinhalten, wie beispielsweise das GNSS-Modul 22, ECU 24, BCM 26, die drahtlose Kommunikationsvorrichtung 30 und die Fahrzeug-Benutzeroberflächen 52-58, wie im Folgenden näher beschrieben wird. Das Fahrzeug 12 kann auch andere VSMs 42 in Form von elektronischen Hardwarekomponenten beinhalten, die sich im gesamten Fahrzeug befinden und eine Eingabe von einem oder mehreren Sensoren empfangen und die erfassten Eingaben verwenden, um Diagnose-, Überwachungs-, Steuerungs-, Berichterstattungs- und/oder andere Funktionen auszuführen. Jedes der VSMs 42 kann über den Kommunikationsbus 44 mit den anderen VSMs verbunden werden und kann zur Durchführung von Tests des Fahrzeugsystems und der Untersystemdiagnose programmiert werden. Ein oder mehrere VSMs 42 können ihre Software oder Firmware periodisch oder gelegentlich aktualisieren lassen und, in einigen Ausführungsformen können derartige Fahrzeug-Updates Over-the-Air-(OTA)-Updates sein, die von einem Computer 78 oder einem entfernten Standort 80 über das Festnetz 76 und Kommunikationsvorrichtungen 30 empfangen werden. Fachleute auf dem Fachgebiet werden erkennen, dass es sich bei den vorgenannten VSMs nur um Beispiele von einigen der Module handelt, die im Fahrzeug 12 verwendet werden können, zahlreiche andere Module jedoch ebenfalls möglich sind.
  • Das globale Navigationssatellitensystem-(GNSS)-Modul 22 empfängt Funksignale von einer Konstellation von GNSS-Satelliten. In einer Ausführungsform kann das GNSS-Modul 22 ein GPS-Modul (Global Positioning System) sein, das GPS-Signale von einer Konstellation von GPS-Satelliten 60 empfangen kann. Mithilfe dieser Signale kann das Modul 22 die Fahrzeugposition bestimmen, die es dem Fahrzeug ermöglichen kann, zu bestimmen, ob es sich an einem bekannten Ort, wie dem Zuhause oder am Arbeitsplatz, befindet. Darüber hinaus kann das GNSS-Modul 22 diese Standortdaten (z. B. geografische Koordinaten) an die drahtlose Kommunikationsvorrichtung 30 übermitteln, die diese Daten dann verwenden kann, um bekannte Standorte zu identifizieren, wie z. B. die Wohnung oder den Arbeitsplatz eines Fahrzeugführers. Zusätzlich kann das GNSS Modul 22 verwendet werden, um dem Fahrzeugführer Navigations- und sonstige positionsbezogene Dienste bereitzustellen. Navigationsinformationen können auf der Anzeige 58 (oder einer anderen Anzeige innerhalb des Fahrzeugs) dargestellt oder in verbaler Form präsentiert werden, wie es beispielsweise bei der Wegbeschreibungsnavigation der Fall ist. Die Navigationsdienste können unter Verwendung von einem zugehörigen Fahrzeugnavigationsmodul (das Teil des GNSS-Moduls 22 sein kann) bereitgestellt werden, oder einige oder alle Navigationsdienste können über eine im Fahrzeug installierte Telematikeinheit erfolgen, worin die Positionsinformationen zum Zweck des Ausstattens des Fahrzeugs mit Navigationskarten, Kartenanmerkungen (Sehenswürdigkeiten, Restaurants usw.), Routenberechnungen und dergleichen zu einem entfernten Standort gesendet werden. Die Standortinformationen können an eine entfernte Einrichtung 80 oder ein anderes entferntes Computersystem, wie beispielsweise den Computer 78, für andere Zwecke, wie z. B. Flottenmanagement und/oder zur Verwendung in einem Carsharing-Dienst, übermittelt werden. Außerdem können neue oder aktualisierte Kartendaten über eine im Fahrzeug eingebaute Telematikeinheit vom entfernten Standort 80 in das GNSS-Modul 22 heruntergeladen werden.
  • Die Fahrzeugelektronik 20 beinhaltet auch eine Anzahl an Fahrzeugbenutzeroberflächen, die Fahrzeuginsassen mit einem Mittel zum Bereitstellen und/oder das Empfangen von Informationen ausstattet, einschließlich Drucktaste(n) 52, Audiosystem 54, Mikrofon 56 und optische Anzeige 58. Wie hierin verwendet, umfasst der Begriff „Fahrzeugbenutzeroberfläche“ weitgehend jede geeignete Form von elektronischer Vorrichtung, zu dem sowohl im Fahrzeug befindliche Hardware- als auch Softwarekomponenten gehören und einem Fahrzeugbenutzer wird ermöglicht, mit oder durch eine(r) Komponente des Fahrzeugs zu kommunizieren. Die Drucktaste(n) 52 ermöglichen eine manuelle Benutzereingabe in die Kommunikationsvorrichtung 30, um weitere Daten, Reaktionen oder Steuereingänge bereitzustellen. Das Audiosystem 54 stellt eine Audioausgabe an einen Fahrzeuginsassen bereit und kann ein zugehöriges selbstständiges System oder Teil des primären Fahrzeugaudiosystems sein. Gemäß der bestimmten Ausführungsform, die hier gezeigt ist, ist das Audiosystem 54 operativ sowohl mit dem Fahrzeugbus 44 als auch mit einem Entertainmentbus (nicht dargestellt) gekoppelt und kann AM-, FM- und Satellitenradio, CD-, DVD- und andere Multimediafunktionalität bereitstellen. Diese Funktionalität kann in Verbindung mit dem Infotainmentmodul oder davon unabhängig bereitgestellt werden. Das Mikrofon 56 stellt eine Audioeingabe für die drahtlose Kommunikationsvorrichtung 30 zur Verfügung, damit der Fahrer oder ein anderer Insasse Sprachbefehle und/oder Freisprechfunktionen über das drahtlose Trägersystem 70 ausführen kann, die mit Spracherkennungstechniken verarbeitet werden können, wie im Folgenden näher erläutert. Das Mikrofon 56 kann mit einer integrierten automatisierten Sprachverarbeitungseinheit verbunden werden, die die in der Technik bekannte Mensch-Maschine-Schnittstelle (HMI) nutzt. Die optische Anzeige oder der Touchscreen 58 ist vorzugsweise eine Grafikanzeige, wie beispielsweise ein Touchscreen am Armaturenbrett oder eine Warnanzeige, die von der Frontscheibe reflektiert wird und verwendet werden kann, um eine Vielzahl von Eingabe- und Ausgabefunktionen bereitzustellen. Verschiedene andere Fahrzeugbenutzeroberflächen können ebenfalls verwendet werden, denn die Schnittstellen von 1 dienen lediglich als Beispiel für eine bestimmte Implementierung.
  • Das Karosseriesteuermodul (BCM) 26 wird in der exemplarischen Ausführungsform aus 1 als mit dem Kommunikationsbus 44 elektrisch verbunden, dargestellt. In einigen Ausführungsformen kann das BCM 26 mit einem Center-Stack-Modul (CSM) integriert oder Teil davon sein und/oder mit einer drahtlosen Kommunikationsvorrichtung 30 integriert werden. Alternativ dazu sind das BCM und das CSM voneinander getrennte Vorrichtungen, die über Bus 44 miteinander verbunden sind. Das BCM 26 kann einen Prozessor und/oder Speicher beinhalten, der dem Prozessor 36 und dem Speicher 38 der drahtlosen Kommunikationsvorrichtung 30 ähnlich sein kann, wie nachfolgend erläutert. Das BCM 26 kann mit der drahtlosen Kommunikationsvorrichtung 30 und/oder einem oder mehreren Fahrzeugsystemmodulen, wie beispielsweise GNSS 22, Audiosystem 54 oder anderen VSMs 42, kommunizieren. Der Prozessor und der Speicher des BCM 26 können verwendet werden, um einen oder mehrere Fahrzeugvorgänge zu steuern oder auszuführen, einschließlich beispielsweise der Steuerung von Zentralverriegelung, Klimaanlage, Außenspiegeln, der Steuerung der Fahrzeugzündung oder des Primärbewegers (z. B. Motor, Primärantriebssystem) und/oder der Steuerung verschiedener anderer Fahrzeugmodule. Das BCM 26 kann Daten von der drahtlosen Kommunikationsvorrichtung 30 empfangen, und die Daten anschließend an ein oder mehrere Fahrzeugmodule senden.
  • Darüber hinaus kann das BCM 26 Informationen bereitstellen, die dem Fahrzeugzustand oder bestimmten Fahrzeugkomponenten oder -systemen entsprechen. So kann beispielsweise das BCM der drahtlosen Kommunikationsvorrichtung 30 Informationen zur Verfügung stellen, die anzeigen, ob die Zündung des Fahrzeugs eingeschaltet ist, in welchem Gang sich das Fahrzeug gerade befindet (d. h. im Gangzustand) und/oder weitere Informationen bezüglich des Fahrzeugs. Das BCM 26 kann verwendet werden, um einen oder mehrere Fahrzeugzustände zu bestimmen, wie beispielsweise ob das Fahrzeug eingeschaltet ist, die Batterieladung einer Fahrzeugbatterie und/oder andere Fahrzeugzustände. Diese verschiedenen Fahrzeugzustände können als drahtlose Kommunikationsvorrichtung 30 erhalten und als Eingabe für den maschinell lernenden NLG-Prozess verwendet werden. So kann das Fahrzeug beispielsweise bestimmte mobile Vorrichtungen 90 erkennen, die sich innerhalb oder in der Nähe des Fahrzeugs befinden, und basierend auf früheren Benutzereinstellungen oder Konfigurationen kann das Fahrzeug bestimmen, dass das Vorhandensein einer bestimmten mobilen Vorrichtung eine hohe Wahrscheinlichkeit anzeigt, dass sich ein bestimmter Benutzer in der Nähe des Fahrzeugs oder am Fahrzeug befindet. Diese Angabe kann zum Identifizieren des jeweiligen Benutzers verwendet werden, so dass eine NLG-Vorlage erzeugt, ausgewählt und/oder vom Fahrzeug verwendet werden kann, um eine NLG-Ausgabe zu erzeugen.
  • Die drahtlose Kommunikationsvorrichtung 30 ist in der Lage, Daten über die drahtlose Kurzstreckenkommunikation (SRWC) zu übertragen und kann in einigen Ausführungsformen Daten über die Kommunikation über das Mobilfunknetz übertragen. Wie in der exemplarischen Ausführungsform von 1 dargestellt, beinhaltet die drahtlose Kommunikationsvorrichtung 30 eine SRWC-Schaltung 32, einen zellulären Chipsatz 34, einen Prozessor 36, Speicher 38 und die Antennen 40 und 50. In einigen Ausführungsformen kann die drahtlose Kommunikationsvorrichtung 30 speziell konfiguriert werden, um mindestens einen Teil des hierin offenbarten Verfahrens auszuführen. In einer Ausführungsform kann die drahtlose Kommunikationsvorrichtung 30 ein eigenständiges Modul sein oder, in anderen Ausführungsformen, kann die Vorrichtung 30 als Teil eines oder mehrerer anderer Fahrzeugsystemmodule, wie beispielsweise eines Center-Stack-Moduls (CSM), BCMs 26, eines Infotainment-Moduls, einer Telematikeinheit, einer Haupteinheit und/oder eines Gateway-Moduls, integriert oder beinhaltet sein. In einigen Ausführungsformen kann die Vorrichtung 30 als eine OEM-installierte (eingebettete) oder als eine Aftermarket-Vorrichtung, die in das Fahrzeug installiert wird, implementiert werden.
  • Die drahtlose Kommunikationsvorrichtung 30 kann für die drahtlose Kommunikation gemäß einem oder mehreren drahtlosen Protokollen, einschließlich drahtloser Nahbereichskommunikation (SRWC), wie beispielsweise eines der IEEE 802.11-Protokolle, Wi-Fi™, WiMAX, ZigBee™, Wi-Fi™ direkt, Bluetooth™, Bluetooth™ Low Energy (BLE) oder Nahfeldkommunikation (NFC), konfiguriert sein. Wie hierin verwendet, bezieht sich Bluetooth™ auf jede der Bluetooth™-Technologien, wie beispielsweise Bluetooth Low Energy™ (BLE), Bluetooth™ 4.1, Bluetooth™ 4.2, Bluetooth™ 5.0 und andere Bluetooth™-Technologien, die entwickelt werden können. Wie hierin verwendet, bezieht sich Wi-Fi™ oder Wi-Fi™-Technologie auf jede der Wi-Fi™-Technologien, wie beispielsweise IEEE 802.11b/g/n/ac oder jede andere IEEE 802.11-Technologie. Die drahtlose Kurzstreckenkommunikationsschaltung 32 ermöglicht es der drahtlosen Kommunikationsvorrichtung 30, SRWC-Signale, wie beispielsweise BLE-Signale, zu senden und zu empfangen. Der SRWC-Kreis kann die Verbindung zwischen der Vorrichtung 30 und einer anderen SRWC-Vorrichtung ermöglichen. Darüber hinaus kann die drahtlose Kommunikationsvorrichtung in einigen Ausführungsformen einen Mobiltelefon-Chipsatz 34 enthalten, wodurch der Vorrichtung ermöglicht wird, über ein oder mehrere Mobilfunkprotokolle zu kommunizieren, wie sie beispielsweise vom Mobilfunkträgersystem 70 verwendet werden.
  • Die drahtlose Kommunikationsvorrichtung 30 kann es dem Fahrzeug 12 ermöglichen, mit einem oder mehreren entfernten Netzwerken über paketvermittelte Datenkommunikation zu kommunizieren. Diese paketvermittelte Datenkommunikation kann durch die Nutzung eines nicht fahrzeuggebundenen drahtlosen Zugangspunkts erfolgen, der über einen Router oder ein Modem mit einem Festnetz verbunden ist. Wenn die Datenübertragungsvorrichtung 30 für paketvermittelte Datenkommunikation, wie etwa TCP/IP, verwendet wird, kann sie mit einer statischen IP-Adresse konfiguriert oder eingerichtet werden, um eine zugewiesene IP-Adresse von einer anderen Vorrichtung im Netzwerk, wie z. B. einem Router oder einem Netzwerkadressenserver, automatisch zu empfangen.
  • Paketvermittelte Datenkommunikation kann auch über die Verwendung eines Mobilfunknetzes erfolgen, das für die Vorrichtung 30 zugänglich sein kann. Die Kommunikationsvorrichtung 30 kann über einen zellulären Chipsatz 34 Daten über das drahtlose Trägersystem 70 übertragen. In einer derartigen Ausführungsform können Funkübertragungen dazu verwendet werden, einen Kommunikationskanal, wie beispielsweise einen Sprachkanal und/oder einen Datenkanal, mit dem Drahtlosträgersystem 70 einzurichten, sodass Sprach- und/oder Datenübertragungen über den Kanal gesendet und empfangen werden können. Daten können entweder über eine Datenverbindung, wie über Paketdatenübertragung über einen Datenkanal oder über einen Sprachkanal unter Verwendung von auf dem Fachgebiet bekannten Techniken gesendet werden. Für kombinierte Dienste, die sowohl Sprach- als auch Datenkommunikation einschließen, kann das System einen einzelnen Anruf über einen Sprachkanal verwenden und nach Bedarf zwischen Sprach- und Datenübertragung über den Sprachkanal umschalten, auch hier kommen Techniken zum Einsatz, die unter Fachleuten bekannt sind. Es ist zu beachten, dass die mobile Vorrichtung 90 einen zellulären Chipsatz und/oder andere Kommunikationsmittel beinhalten kann, die für paketvermittelte Datenkommunikation verwendet werden können.
  • Der Prozessor 36 kann jede Geräteart sein, die fähig ist elektronische Befehle zu verarbeiten, einschließlich Mikroprozessoren, Mikrocontrollern, Hostprozessoren, Steuerungen, Fahrzeugkommunikationsprozessoren und anwendungsspezifische integrierte Schaltungen (ASICs). Er kann ein speziell für die Datenübertragungsvorrichtung 30 vorgesehener Prozessor sein oder er kann mit anderen Fahrzeugsystemen gemeinsam genutzt werden. Der Prozessor 36 führt verschiedene Arten von digital gespeicherten Befehlen aus, wie Software oder Firmwareprogramme, die im Speicher 38 gespeichert sind, welche dem Gerät 30 ermöglichen, eine große Vielfalt von Diensten bereitzustellen. So kann beispielsweise der Prozessor 36 in mindestens einer Ausführungsform Programme oder Prozessdaten ausführen, um mindestens einen Teil des hierin beschriebenen Verfahrens auszuführen, was die Auswahl und/oder Erzeugung von NLG-Vorlagen unter Verwendung eines neuronalen Netzmodells beinhalten kann. Der Speicher 38 kann einen flüchtigen RAM-Speicher oder einen anderen temporär betriebenen Speicher sowie ein nichtflüchtiges computerlesbares Medium (z. B. EEPROM) oder jedes andere elektronische Computermedium beinhalten, das einen Teil oder die gesamte Software zur Durchführung der verschiedenen hierin beschriebenen externen Gerätefunktionen speichert.
  • In einer Ausführungsform kann die drahtlose Kommunikationsvorrichtung 30 sowohl im eingeschalteten Zustand als auch im ausgeschalteten Zustand betrieben werden.
  • Wie hierin verwendet, ist ein „eingeschalteter Zustand“ ein Zustand des Fahrzeugs, in dem das Zünd- oder Primärantriebssystem des Fahrzeugs eingeschaltet ist und, wie hierin verwendet, ist ein „abgeschalteter Zustand“ ein Zustand des Fahrzeugs, in dem die Zündung oder das Primärantriebssystem des Fahrzeugs nicht eingeschaltet ist. Der Betrieb oder Zustand der drahtlosen Kommunikationsvorrichtung 30 kann durch ein anderes Fahrzeugsystemmodul, wie beispielsweise durch das BCM 26 oder durch ein InfotainmentModul gesteuert werden. Im eingeschalteten Zustand kann die drahtlose Kommunikationsvorrichtung 30 immer „eingeschaltet“ bleiben oder von einer Fahrzeugbatterie oder einer anderen Stromquelle versorgt werden. Im ausgeschalteten Zustand kann die drahtlose Kommunikationsvorrichtung 30 in einem Niedrigverbrauchsmodus gehalten werden oder periodisch mit Energie versorgt werden, sodass die Vorrichtung 30 aktiviert werden und Funktionen ausführen kann.
  • Unter nun erfolgender Bezugnahme auf 2, wird eine veranschaulichende Architektur für ein ASR-System 210 gezeigt, das für die Umsetzung des hierin offenbarten Verfahrens verwendet werden kann. Obwohl das ASR-System 210 im Folgenden in Bezug auf die drahtlose Kommunikationsvorrichtung 30 des Fahrzeugs 12 erläutert wird, kann das ASR-System 210 in jede Clientvorrichtung, wie die oben beschriebenen, integriert werden, einschließlich der mobilen Vorrichtung 90 und der Computer 78. Ein ASR-System, das dem ASR-System 210 ähnlich oder gleich ist, kann in einen oder mehrere entfernte Sprachverarbeitungsserver integriert werden, einschließlich eines oder mehrerer sich an der entfernten Einrichtung 80 befindlicher Server. Generell interagiert ein Fahrzeuginsasse über seine Stimme mit einem automatischen Spracherkennungssystem (ASR) aus einem oder mehreren der folgenden Gründe: Trainieren des Systems auf die spezifische Stimme der Person im Fahrzeug; Speichern von Wort-für-Wort-Begriffen, wie ein gesprochener Kontakt, oder ein gesprochenes Kontrollwort, wie eine Bezugszahl oder ein Schlüsselwort; oder Erkennung der Sprache der Person im Fahrzeug für alle geeigneten Zweck, wie Sprachanwahl, Menü-Navigation, Transkription, Dienstabrufe, Steuerung von Geräten und deren Funktion im Fahrzeug oder ähnliches. Generell zieht ASR akustische Daten aus der menschlichen Sprache, vergleicht und kontrastiert die akustischen Daten mit gespeicherten Daten von Teilwörtern, trifft eine Auswahl eines geeigneten Teilwortes das mit anderen gewählten Teilwörtern verkettet werden kann und gibt die verketteten Teil-Wörter zur Nachbearbeitung weiter, beispielsweise Diktat oder Transkription, Anwahl aus dem Adressbuch, Speichern, Training der ASR-Modelle oder Anpassung der Parameter usw. Zusätzlich kann das ASR-System zumindest in einigen Ausführungsformen verwendet werden, um zumindest einen Teil des maschinell lernenden NLG-Prozesses durchzuführen, einschließlich der Auswahl einer NLG-Vorlage und/oder der Erzeugung einer NLG-Ausgabe basierend auf einer ausgewählten NLG-Vorlage.
  • ASR-Systeme sind Fachleuten im Allgemeinen bekannt und 2 veranschaulicht nur ein spezifisches veranschaulichendes ASR-System 210. Das System 210 beinhaltet eine Vorrichtung zum Empfangen von Sprache, wie beispielsweise das Fahrzeugmikrofon 56, und eine akustische Schnittstelle 33, wie beispielsweise eine Soundkarte der drahtlosen Kommunikationsvorrichtung 30 mit einem Analog-Digital-Wandler zum Digitalisieren der Sprache in akustische Daten. Das System 210 beinhaltet auch einen Speicher, wie den Fahrzeugspeicher 38 zum Speichern der akustischen Daten und zum Speichern von Spracherkennungssoftware und von Datenbanken, und einen Prozessor, wie den Fahrzeugprozessor 36 zum Verarbeiten der akustischen Daten. Der Prozessor arbeitet mit dem Speicher und in Verbindung mit den folgenden Modulen: ein oder mehrere Front-End-Prozessor(en) oder Präprozessor-Softwaremodule 212 zur Zerlegung akustischer Daten der Sprachausgabe in parametrischen Darstellungen, wie z.B. akustische Eigenschaften; ein oder mehrere Decoder-Softwaremodul(e) 214 zur Decodierung der akustischen Eigenschaften in digitale Ausgabedaten in Form von (Teil-)Wörtern entsprechend der Eingabe-Sprachäußerungen; und ein oder mehrere Postprozessor-Softwaremodule 276 zur Verwendung der Ausgabedaten aus dem/den Decoder-Modul(en) 214 für alle geeigneten Zwecke.
  • Das System 210 kann auch Sprachaufnahmen aus anderen geeigneten Audioquellen 31 empfangen, entweder in direkter Kommunikation mit dem/den Modulen der Präprozessor-Software 212, wie anhand der durchgezogenen Linie zu sehen, oder indirekt über die akustische Schnittstelle 33. Zu den Audioquellen 31 können zum Beispiel eine telefonische Quelle, wie ein Voicemail-System oder andere, beliebige telefongestützte Dienste gehören.
  • Ein oder mehrere Module oder Modelle kann/können als Eingabe für das/die Decoder-Module 214 verwendet werden. Zunächst können Grammatik- und/oder Lexikonmodelle 278 Regeln liefern, die festlegen, welche Wörter logischerweise auf andere Wörter folgen können, um gültige Sätze zu bilden. Grob gesagt kann eine Grammatik ein Vokabeluniversum definieren, welches das System 210 zu jeder gegebenen Zeit bei jedem ASR-Modus erwartet. Befindet sich das System 210 beispielsweise im Trainingsmodus, um Befehle zu erlernen, dann kann/können das/die Grammatikmodelle 278 Befehle einschließen, die dem System 210 bekannt sind und von diesem genutzt werden. Befindet sich das System 210 bei einem anderen Beispiel im Hauptmenü-Modus, dann kann/können das/die aktiven Grammatikmodelle 278 alle Hauptmenübefehle einschließen, die das System 210 erwartet, beispielsweise Anruf, Wählen, Verlassen, Löschen, Verzeichnis oder ähnliches. Weiterhin wird durch das/die akustischen Modelle 280 eine Unterstützung bei der Auswahl des wahrscheinlichsten Teil-Wortes entsprechend der Eingabe des Präprozessor-Moduls 212 geleistet. Drittens können Wortmodelle 222 und Satz-/Sprachmodelle 224 Regeln, Syntax, und/oder Semantik bei der Einordnung der ausgewählten Teil-Wörter oder Wörter in den Kontext der Wörter oder Sätze liefern. Weiterhin kann/können Satz- und Sprachmodelle 224 ein Universum von Sätzen schaffen, die das System 210 zu jeder gegebenen Zeit bei jedem ASR-Modus erwartet und/oder Regeln bereitstellen, die festlegen, welche Sätze logischerweise auf andere Sätze folgen können, um eine erweiterte, gültige Sprachausgabe zu bilden.
  • Gemäß einer alternativen veranschaulichenden Ausführungsform kann ein Teil oder das gesamte ASR-System 210 auf einer Rechenausrüstung an einem vom Fahrzeug 12 entfernten Ort, wie beispielsweise dem Computer 78 oder der entfernten Einrichtung 80, untergebracht und verarbeitet werden. So können beispielsweise Grammatikmodelle, akustische Modelle und dergleichen im Speicher eines der Server und/oder Datenbanken in der entfernten Einrichtung 80 gespeichert und an die drahtlose Fahrzeugkommunikationsvorrichtung 30 zur fahrzeugeigenen Sprachverarbeitung übermittelt werden. Ebenso kann die Spracherkennungssoftware unter Verwendung von Prozessoren eines der entfernten Server in der entfernten Einrichtung 80 verarbeitet werden. Mit anderen Worten kann das ASR-System 210 in der drahtlosen Kommunikationsvorrichtung 30, die über den Computer 78/der entfernten Einrichtung 80 und das Fahrzeug 12 in beliebiger Weise verteilt ist, untergebracht sein, und/oder auf dem Computer 78 oder der entfernten Einrichtung 80 untergebracht sein.
  • Zunächst werden akustische Daten aus der menschlichen Sprache extrahiert, die ein Fahrzeuginsasse über das Mikrofon 56 eingegeben hat, welches die Laute in elektrische Signale umwandelt und an die akustische Schnittstelle 33 übergibt. Ein klangempfindliches Element im Mikrofon 56 erfasst die Äußerungen des Insassen als Variationen im Luftdruck und wandelt die Äußerungen in entsprechende Variationen eines analogen, elektrischen Signals um, wie zum Beispiel Gleichstrom oder Spannung. Die akustische Schnittstelle 33 empfängt die analogen elektrischen Signale, die zunächst abgetastet werden, sodass die Werte des analogen Signals an bestimmten Punkten der Zeit erfasst werden, danach erfolgt eine Quantisierung in der Art, dass die Amplituden der analogen Signale an jedem Abtastzeitpunkt in einen kontinuierlichen Strom digitaler Sprachsignale konvertiert werden. Mit anderen Worten, die akustische Schnittstelle 33 wandelt die analogen, elektrischen Signale in digitale, elektronische Signale um. Die digitalen Daten sind Binärbits, die im Speicher 38 der drahtlosen Kommunikationsvorrichtung 30 gepuffert und dann vom Prozessor 36 der drahtlosen Kommunikationsvorrichtung 30 verarbeitet werden oder die verarbeitet werden können, sobald sie vom Prozessor 36 in Echtzeit empfangen werden.
  • Dann wird der kontinuierliche Strom von digitalen Sprachsignalen durch das/die Präprozessor-Module 212 in diskrete Sequenzen akustischer Parameter umgewandelt. Genauer gesagt, führt der Prozessor 36 das/die Präprozessormodul(e) 212 aus, um die digitalen Sprachdaten in überlappende phonetische oder akustische Einzelbilder von beispielsweise 10-30 Millisekunden (ms) Dauer zu segmentieren. Die Rahmen entsprechen akustischen Teilwörtern, wie Silben, Halbsilben, Phonen, Diphonen, Phonemen usw. Das/die Präprozessor-Module 212 führt/führen für jeden Rahmen auch eine phonetische Analyse zur Extraktion akustischer Parameter aus der Sprachausgabe des Insassen durch, wie beispielsweise zeitvariable Merkmalsvektoren. Äußerungen in der Sprache des Insassen können als Sequenzen dieser Merkmalsvektoren dargestellt werden. Wie unter Fachleuten wohl bekannt ist, können Merkmalsvektoren extrahiert werden und beispielsweise beinhalten: Stimmlage, Energieprofil, spektrale Merkmale und/oder Cepstral-Koeffizienten durch Fouriertransformationen der Rahmen und Dekorrelieren der akustischen Spektren mittels einer Cosinus-Transformation. Akustische Rahmen und entsprechende Parameter die eine bestimmte Sprechdauer abdecken, werden für die Dekodierung zu unbekannten Testmustern verkettet.
  • Als dritten Schritt lässt der Prozessor das/die Decoder-Module 214 ablaufen, um die eingehenden Merkmalsvektoren jedes Testmusters zu verarbeiten. Das/die Decoder-Module 214 sind auch als Erkennungs-Engine oder Klassifikator bekannt und verwenden gespeicherte Sprachreferenzmuster. Wie die Prüfmuster sind auch die Referenzmuster als eine Verkettung verwandter akustischer Rahmen und entsprechender Parameter definiert. Das Decoder-Modul 214 vergleicht und kontrastiert die akustischen Merkmalsvektoren eines Testmusters für Teilwörter zum Abgleich mit gespeicherten Referenzmustern für Teilwörter, untersucht den Grad der Differenz oder Ähnlichkeit dazwischen, und wendet schließlich Entscheidungslogik zur Auswahl des am ehesten übereinstimmenden Teilwortes als das erkannte Teilwort an. Generell ist das am ehesten übereinstimmende Teilwort das, welches dem gespeicherten Referenzmuster mit der geringsten Abweichung gleicht, oder mit der höchsten Wahrscheinlichkeit übereinstimmt, das Testmuster wird durch eine der verschiedenen unter Fachleuten bekannten Techniken zur Analyse und Erkennung von Teilwörtern ermittelt. Derartige Techniken können beinhalten: dynamische Time-Warping-Klassifikatoren, KI-Techniken, Neuronale Netze, freie Phonemerkenner, und/oder probabilistische Musteranpassungseinrichtungen, wie ein Engine nach dem Hidden Markov Model (HMM).
  • Das HMM ist unter Fachleuten für die Erstellung vieler Modellhypothesen für Spracherkennung einer akustischen Eingabe bekannt. Die Hypothesen werden bei der abschließenden Identifikation und Auswahl der Ausgabe berücksichtigt, die aufgrund der Merkmalsanalyse der Sprache die wahrscheinlichste korrekte Dekodierung der akustischen Eingabe darstellt. Genauer gesagt erzeugt ein HMM-Engine statistische Modelle in Form einer „N-best“-Liste der Hypothesen für Teilwort-Modelle, die abgestuft anhand von HMMberechneten Vertrauenswerten oder Wahrscheinlichkeiten einer beobachteten Sequenz von akustischen Daten das eine oder andere Teilwort durch eine Anwendung, wie das Bayes'-Theorem, ermitteln.
  • Ein Bayesisches HMM-Verfahren identifiziert eine beste Hypothese entsprechend der wahrscheinlichsten Äußerung, oder Teilwort-Sequenz für eine gegebene Beobachtungsreihe von akustischen Merkmalsvektoren, deren Vertrauenswerte von einer Vielzahl von Faktoren abhängen, so auch dem Rauschabstand des eingehenden Akustiksignals. Das HMM kann auch eine statistische Verteilung enthalten, die als Mischung diagonaler Gauss'scher Werte bekannt ist und einen Wahrscheinlichkeitswert für jeden festgestellten Merkmalsvektor jedes Teilwortes enthält, die Werte können zur Neuordnung der N-best-Liste von Hypothesen verwendet werden. Der HMM-Engine kann auch zur Identifikation und Auswahl eines Teilwortes verwendet werden, dessen Wert im Wahrscheinlichkeitsmodell am höchsten ist.
  • Auf ähnliche Weise können einzelne HMM für eine Abfolge von Teilwörtern verkettet werden kann, um HMM für einzelne oder mehrere Wörter zu bilden. Danach kann eine N-best Liste von Wortreferenzmustern und zugeordneten Parameterwerten für einzelne oder mehrere Wörter erzeugt und weiter ausgewertet werden.
  • In einem Beispiel verarbeitet der Spracherkennungs-Decoder 214 die Merkmalsvektoren unter Verwendung der geeigneten akustischen Modelle, Grammatik und Algorithmen zur Erzeugung einer N-best Liste von Referenzmustern. In seiner Verwendung hierin ist der Begriff Referenzmuster austauschbar mit Modellen, Wellenformen, Vorlagen, Durchsatz-Modellen, Exemplaren, Hypothesen oder anderen Arten von Referenzen. Ein Referenzmuster kann eine Reihe von Merkmalsvektoren repräsentativ für ein Wort (oder mehrere Wörter) oder Teilwörter beinhalten und auf bestimmten Sprechern, Sprechstilen und akustischen Umgebungsbedingungen basieren. Fachleute werden erkennen, dass Referenzmuster durch entsprechendes Referenzmuster-Training des ASR-Systems erstellt und im Speicher abgelegt werden können. Fachleute werden weiterhin erkennen, dass auch gespeicherte Muster verändert werden können, worin die Parameterwerte der Referenzmuster aufgrund von Unterschieden bei den Signalen der Spracheingabe beim Referenzmuster-Training und dem aktuellen Einsatz des ASR-Systems angepasst werden. So kann beispielsweise ein Satz von Referenzmustern, die für einen Fahrzeuginsassen, oder bestimmte akustische Verhältnisse erlernt wurden, für einen anderen Fahrzeuginsassen, oder andere akustische Bedingungen angepasst und als anderer Satz von Referenzmuster gespeichert werden, das beruht auf begrenzten Anlerndaten der anderen Person oder akustischen Bedingungen. Mit anderen Worten sind die Muster nicht notwendigerweise starr, sie können während der Spracherkennung angepasst werden.
  • Bei der Verwendung der Grammatik im Vokabular und aller geeigneten Decoder-Algorithmen und akustischen Modelle greift der Prozessor auf zahlreiche Referenzmuster im Speicher zu, die das Testmuster interpretieren. So kann der Prozessor beispielsweise eine Liste von N-best Vokabularergebnissen oder Referenzmustern zusammen mit entsprechenden Parameterwerten erstellen und abspeichern. Anschauliche Parameterwerte können für jedes Referenzmuster in der N-best-Liste des Vokabulars und zugehöriger Segmentdauern Wertungen für Vertrauen und Wahrscheinlichkeit, Werte für den Rauschspannungsabstand und/oder dergleichen beinhalten. Die N-best-Liste des Vokabulars kann in abnehmender Größe der Parameterwerte sortiert werden. Das Vokabular-Referenzmuster ist beispielsweise mit dem höchsten Vertrauenswert das beste Referenzmuster und so weiter. Sobald eine Reihe von erkannten Teilwörtern erstellt ist, können diese zur Formung von Wörtern mit Eingaben der Wortmodelle 222 genutzt werden, Sätze hingegen mit Eingaben der Sprachmodelle 224.
  • Abschließend empfangen die Postprozessor-Softwaremodul(e) 276 die Ausgabedaten aus dem/den Decoder-Modul(en) 214 für alle geeigneten Zwecke. Bei einem Beispiel kann/können das/die Postprozessor-Softwaremodul(e) 276 ein oder mehrere Referenzmuster aus der N-best-Liste für Referenzmuster einzelner oder mehrerer Wörter als erkannte Sprache identifizieren. In einem anderen Beispiel kann/können das/die Postprozessor-Softwaremodul(e) 276 verwendet werden, um akustische Daten in Text oder Ziffern für die Verwendung mit anderen Funktionen des ASR-Systems oder anderer Fahrzeugsysteme umzuwandeln. In einem weiteren Beispiel kann/können das/die Postprozessor-Softwaremodul(e) 276 verwendet werden, um ein Trainings-Feedback für den Decoder 214 oder Präprozessor 212 bereitzustellen. Genauer gesagt kann der Postprozessor 276 dafür eingesetzt werden, akustische Modelle für das/die Decoder-Modelle) 214 oder Anpassungs-Parameter für das/die Präprozessor-Modul(e) 212 zu trainieren.
  • Zumindest in einigen Ausführungsformen kann das ASR-System auch mit einem System zur Erzeugung natürlicher Sprachen (NLG) integriert werden, das den hierin beschriebenen maschinellen Lernprozess NLG durchführen kann. In anderen Ausführungsformen kann der maschinelle Lernprozess NLG Teil eines separaten Moduls sein und/oder mit verschiedenen Komponenten oder Systemen ausgeführt werden. Außerdem kann der NLG-Prozess an verschiedenen Orten und/oder unter Verwendung verschiedener Komponenten durchgeführt werden. In einer Ausführungsform kann das Fahrzeug oder eine andere Clientvorrichtung verwendet werden, um den gesamten NLG-Prozess durchzuführen, oder in einer anderen Ausführungsform kann ein entfernter Server oder eine Einrichtung verwendet werden, um den gesamten NLG-Prozess durchzuführen. In anderen Ausführungsformen kann eine Kombination aus der Clientvorrichtung und dem entfernten Server oder der entfernten Einrichtung für die Durchführung des NLG-Prozesses verwendet werden. So kann beispielsweise die Auswahl einer NLG-Vorlage an einer entfernten Einrichtung 80 durchgeführt werden, während die Generierung einer NLG-Vorlage und/oder die Generierung der NLG-Ausgabe unter Verwendung der NLG-Vorlage am Fahrzeug oder einer anderen Clientvorrichtung durchgeführt werden kann. Es gibt verschiedene andere Ausführungsformen, die von den Fachleuten auf dem Gebiet in Bezug auf die nachstehende Erörterung verstanden wird.
  • Und, wie auch aus der nachstehenden Diskussion hervorgeht, kann das ASR-System und/oder die maschinell lernende NLG-Anwendung in eine Clientvorrichtung, wie beispielsweise Fahrzeug 12 oder mobile Vorrichtung 90, und/oder in eine Servervorrichtung, wie beispielsweise einen sich in der entfernten Einrichtung 80 befindlichen Server, integriert werden. Zumindest gemäß einigen Ausführungsformen kann das sich auf dem entfernten Server befindliche ASR-System mehr Rechenleistung sowie mehr Spracherkennungsinformationen beinhalten, die verwendet werden können, um ein leistungsfähigeres ASR-System als das sich auf der Clientvorrichtung befindliche bereitzustellen; wie Fachleuten auf dem Gebiet bereits bekannt ist, existieren jedoch auch andere Ausführungsformen.
  • Der maschinell lernende NLG-Prozess oder Teile davon können in einem Computerprogrammprodukt (oder einer „Anwendung“) implementiert werden, das in einem computerlesbaren Medium verkörpert ist und Anweisungen enthält, die von einem oder mehreren Prozessoren eines oder mehrerer Computer eines oder mehrerer Systeme verwendet werden können. Ein Computersoftwareprodukt kann ein oder mehrere aus Programmanweisungen in Quellcode, Objektcode, ausführbarem Code oder einem anderen Format bestehende Softwareprogramme; ein oder mehrere Firmwareprogramme; oder Dateien einer Hardwarebeschreibungssprache (HDL); und andere programmbezogene Daten beinhalten. Die Daten können Datenstrukturen, Wertetabellen oder Daten in einem anderen geeigneten Format beinhalten. Die Programmbefehle können Programmmodule, Routinen, Programme, Objekte, Komponenten und/oder dergleichen beinhalten. Das Computerprogramm kann von einem oder mehreren Computern in Verbindung miteinander ausgeführt werden.
  • Das/die Programm(e) kann/können auf computerlesbaren Medien verkörpert sein, die ggf. nicht-flüchtig sind und ein oder mehrere Speichergeräte, Herstellungsartikel oder dergleichen beinhalten. Zu den Beispielen für computerlesbare Medien gehören Systemspeicher von Computern, z.B. RAM (Speicher mit wahlfreiem Zugriff), ROM (Nur-Lese-Speicher); Halbleiterspeicher, z.B. EPROM (löschbarer, programmierbarer ROM), EEPROM (elektrisch löschbarer, programmierbarer ROM), Flash-Speicher; magnetische oder optische Platten oder Bänder; und/oder dergleichen. Ein computerlesbares Medium kann außerdem Verbindungen von Rechner zu Rechner beinhalten, wenn beispielsweise Daten über ein Netzwerk oder eine andere Kommunikationsverbindung (drahtgebunden, drahtlos oder in einer Kombination von beiden) übertragen oder bereitgestellt werden. Sämtliche Kombinationen aus den vorstehenden Beispielen fallen ebenfalls in den Umfang der computerlesbaren Medien. Es versteht sich daher, dass das Verfahren zumindest teilweise durch elektronische Artikel und/oder Geräte ausgeführt werden kann, die Anweisungen gemäß eines oder mehrerer Schritte des offenbarten Verfahrens ausführen können. Zusätzlich kann das ASR-System oder Teile davon in einem Computerprogrammprodukt verkörpert werden, ähnlich dem Computerprogrammprodukt, das den maschinell lernenden NLG-Prozess verkörpern kann.
  • Um nun auf 3 zurückzukommen, wird eine Ausführungsform eines Verfahrens 300 zum Erzeugen einer Ausgabe natürlichsprachlicher Generierung (NLG) gezeigt. Das Verfahren 300 kann im Allgemeinen verwendet werden, um Sprachsignale zu empfangen, zu bestimmen, ob eine statische NLG-Vorlage oder eine dynamische NLG-Vorlage unter Verwendung eines maschinell lernenden Auswahlprozesses für NLG-Vorlagen verwendet werden soll, und um die NLG-Ausgabe unter Verwendung einer ausgewählten NLG-Vorlage zu erzeugen. Der maschinell lernende Auswahlprozess für NLG-Vorlagen kann dazu führen, dass die Verwendung einer dynamischen Vorlage festgelegt wird, und in diesem Fall kann ein Erzeugungsprozess für NLG-Vorlagen durchgeführt werden, um die dynamische NLG-Vorlage zu erstellen. Nachdem dann eine NLG-Vorlage ausgewählt und/oder ggf. generiert wurde, kann die NLG-Ausgabe unter Verwendung der ausgewählten NLG-Vorlage erzeugt werden, was zumindest in einigen Ausführungsformen der Fall ist. In Bezug auf die besondere Ausführungsform des Verfahrens 300 wird ein NLG-Prozess neuronaler Netze diskutiert, bei dem es sich um einen maschinell lernenden NLG-Prozess handelt, der künstliche neuronale Netze verwendet, um einen Auswahlprozess für NLG-Vorlagen, einen Erzeugungsprozess für NLG-Vorlagen und/oder einen Erzeugungsprozess für NLG-Ausgaben durchzuführen. Die Fachleute auf dem Gebiet werden erkennen, dass andere maschinelle Lernmethoden verwendet werden können, um den maschinell lernenden NLG-Prozess durchzuführen, einschließlich Entscheidungsbaumlernen, Lernen von Assoziationsregeln, Deep Learning, induktive Logikprogrammierung, Clustering, Bayes'sche Netzwerke und viele andere.
  • Der maschinell lernende NLG-Prozess kann auf dem Prozessor 36 der drahtlosen Kommunikationsvorrichtung 30 in Fahrzeug 12 und/oder auf einem anderen VSM des Fahrzeugs 12 implementiert werden. Der maschinell lernende NLG-Prozess kann auf der drahtlosen Kommunikationsvorrichtung 30 (oder einem anderen VSM) implementiert werden, indem die Vorrichtung 30 mit einer maschinell lernenden NLG-Anwendung konfiguriert wird, was in Form von Software- und/oder Firmware-Anweisungen oder einem Teil eines Computerprogrammprodukts erfolgen kann. Die maschinell lernende NLG-Anwendung kann zunächst in einer entfernten Einrichtung, wie beispielsweise der entfernten Einrichtung 80, konfiguriert und/oder kompiliert werden und kann auf der drahtlosen Vorrichtung 30 (oder einer anderen Clientvorrichtung) durch Verwenden eines Bereitstellungsprozesses oder eines anfänglichen Herstellungsprozesses installiert werden, der vor, während oder nach dem Verkauf des Fahrzeugs 12 (oder einer anderen Clientvorrichtung) durchgeführt werden kann. In einigen Ausführungsformen kann der maschinell lernende Auswahlprozess für NLG-Vorlagen an einer entfernten Einrichtung implementiert werden, und ein maschinell lernender Erzeugungsprozesses für NLG-Ausgaben kann auf einer Clientvorrichtung implementiert werden; dies ist jedoch nur ein Beispiel, da die Fachleute auf dem Gebiet im Hinblick auf die nachstehende Diskussion verschiedene andere Implementierungen erkennen werden.
  • Mindestens in einer Ausführungsform kann die maschinell lernende NLG-Anwendung zunächst einen Satz von Computeranweisungen und einen Satz von ersten NLG-Informationen wie NLG-Vorlageninformationen, einschließlich einer Vielzahl von vordefinierten oder statischen NLG-Vorlagen, beinhalten. Der maschinell lernende Auswahlprozess für NLG-Vorlagen kann auf einer Clientvorrichtung in Form einer Computeranwendung implementiert werden und kann daher als eine maschinell lernende Auswahlanwendung für NLG-Vorlagen bezeichnet werden. Zusätzlich kann eine dynamische NLG-Vorlage für einen bestimmten Benutzer erzeugt werden und basierend auf empfangenen Sprachsignalen dieses Benutzers und/oder basierend auf einem Benutzerprofil kann die dynamische NLG-Vorlage aktualisiert werden, um eine auf den jeweiligen Benutzer zugeschnittene NLG-Vorlage besser wiederzugeben. Wenn ein neuer Benutzer zum ersten Mal von der Clientvorrichtung oder dem Kommunikationssystem identifiziert wird, kann eine vordefinierte Vorlage basierend auf den Benutzereinstellungen ausgewählt werden. Bei nachfolgenden maschinell lernenden NLG-Prozessiterationen kann der Auswahlprozess für NLG-Vorlagen eine Vorlage für den Benutzer basierend auf dem Profil des Benutzers und/oder der Historie des Benutzers auswählen, die während der ASR-Prozesse, einschließlich der NLG-Prozesse, gespeichert werden kann. Eine statische NLG-Vorlage oder eine dynamische NLG kann unter Verwendung der Historie des Benutzers ausgewählt werden, und wenn eine dynamische NLG-Vorlage ausgewählt wird, kann eine dynamische NLG-Vorlage basierend auf der Historie der Nutzung, dem Profil und den Einstellungen des Benutzers, den empfangenen Sprachsignalen und dem Kommunikationsziel erzeugt werden. Die Historie des Benutzers kann Informationen über frühere maschinell lernende NLG-Prozessiterationen (einschließlich Eingangs-, Ausgangs- und Leistungsmetriken, die mit den maschinell lernenden NLG-Prozessiterationen verbunden sind), zuvor empfangene Sprachsignale und die Analyse zuvor verwendeter Sprachsignale, einschließlich Stil, Emotion, Dialekt und/oder Charakter der Sprache, beinhalten. Das Profil des Benutzers kann Folgendes beinhalten: einen oder mehrere Stile von Sprachsignalen, die zuvor vom Benutzer übermittelt wurden, einen oder mehrere Stile, die von einem Benutzer ausgewählt wurden, oder andere Informationen über die Sprache des Benutzers. In einer Ausführungsform kann das Profil des Benutzers einen typischen Sprachstil beinhalten, mit dem der Benutzer tendenziell mehr als andere spricht. So kann beispielsweise ein erster Benutzer ausführlich sprechen, und so kann das Benutzerprofil eine Angabe darüber beinhalten.
  • Darüber hinaus können verschiedene NLG-Vorlagen für verschiedene Benutzertypen entworfen und/oder vordefiniert werden, darunter auch: eine ausführliche NLG-Vorlage, die ganze Sätze und/oder wortreichere Phrasen verwendet; eine direkte NLG-Vorlage, die Phrasen und/oder eine reduzierte Anzahl von Wörtern verwendet; eine formelle NLG-Vorlage, die vordefinierte Aussagen oder Phrasen unter Verwendung einer formalen Sprache beinhaltet; eine informelle NLG-Vorlage, die vordefinierte Aussagen oder Phrasen unter Verwendung einer informellen oder umgangssprachlichen Sprache enthält; eine klar gesprochene NLG-Vorlage, die eine NLG-Audioausgabe erzeugt, die so konzipiert ist, dass sie sehr klar ist, so dass beispielsweise eine Person mit beschädigtem oder unterdurchschnittlichem Gehör oder Verständnis die NLG-Ausgabe mit höherer Wahrscheinlichkeit interpretieren kann; und/oder eine moderne NLG-Vorlage, die beliebte Ausdrucksweisen verwendet. Eine dieser vordefinierten Vorlagen kann zum Verwenden als Ausgangspunkt für einen neuen Benutzer ausgewählt werden. Der Benutzer kann sein Benutzerprofil und/oder seine Einstellungen konfigurieren, um eine Startvorlage auszuwählen, oder das System kann automatisch eine Vorlage auswählen, bei der es feststellt, dass sie am besten zum Benutzer passt.
  • Die maschinell lernende NLG-Anwendung kann mit verschiedenen Trainingsinformationen erzeugt und/oder zunächst trainiert werden, einschließlich Informationen, die aus früheren Iterationen der maschinell lernenden NLG-Prozesse gewonnen wurden. In einigen Ausführungsformen kann eine NLG-Anwendung neuronaler Netze mit verschiedenen statistischen Algorithmen trainiert werden. Die maschinell lernende NLG-Anwendung kann regelmäßig aktualisiert und/oder trainiert werden, um das Erzeugen von NLG-Ausgaben zu verbessern. Dies kann Verwenden von Eingaben und Ausgaben früherer NLG-Prozessiterationen (sowie von Leistungsindikatoren) als Trainingsinformationen für den maschinell lernenden NLG-Prozess beinhalten. Darüber hinaus können weitere Trainingsinformationen (z. B. Eingabesätze und ihre dazugehörigen oder gewünschten Ausgaben), sowie aktualisierte Software/Firmware-Anweisungen von einem entfernten Server, wie beispielsweise der entfernten Einrichtung 80, an die Clientvorrichtung gesendet werden. In einer Ausführungsform kann der maschinell lernende Auswahlprozess für NLG-Vorlagen statische NLG-Vorlagen auswählen, bis der maschinelle lernende NLG-Prozess ausreichend trainiert ist, so dass dynamische Vorlagen erzeugt werden können, die genau einen Stil oder eine Art von Antwort widerspiegeln, die den empfangenen Sprachsignalen oder dem Profil/der Historie des Benutzers entspricht.
  • Das Training des maschinell lernenden NLG-Prozesses oder der maschinell lernenden NLG-Anwendung kann durchgeführt werden, bevor die maschinell lernende NLG-Anwendung auf der Clientvorrichtung installiert wird und/oder bevor die maschinell lernende NLG-Anwendung für die Verwendung auf der Clientvorrichtung konfiguriert wird. Darüber hinaus kann das erstmalige Training überwacht werden, das Trainingsinformationen (Eingaben, Ausgaben und Genauigkeit von Ausgaben) verwendet, die aus früheren NLG-Modellen gewonnen wurden. In anderen Ausführungsformen kann das erstmalige Training unbeaufsichtigtes Training sein. Das erstmalige Training kann an einer entfernten Einrichtung, wie z.B. der entfernten Einrichtung 80, durchgeführt werden, und wenn das erstmalige Training abgeschlossen ist und die Clientvorrichtung bereit ist zum Verwenden konfiguriert zu werden, kann die maschinell lernende NLG-Anwendung installiert werden. Die maschinell lernende NLG-Anwendung kann als ein Teil oder Modul einer Spracherkennungsanwendung miteinbezogen werden und kann ähnlich wie das vorstehend erörterte ASR-System durchgeführt und/oder integriert werden.
  • In Ausführungsformen, die neuronale Netze für den maschinell lernenden NLG-Prozess verwenden, kann für den NLG-Prozess neuronaler Netze ein flaches neuronales Netz oder ein tiefes neuronales Netz verwendet werden. Wie hierin verwendet, beinhaltet ein flaches neuronales Netz eine einzelne versteckte Schicht, während ein tiefes neuronales Netz eine Vielzahl von versteckten Schichten beinhaltet. Jede Schicht des neuronalen Netzes kann einen oder mehrere Knoten beinhalten, von denen jeder auf einen oder mehrere andere Knoten innerhalb derselben verborgenen Schicht, auf einen oder mehrere andere Knoten innerhalb einer anderen verborgenen Schicht oder auf einen oder mehrere Ausgabeknoten abgebildet werden kann.
  • Zum Beispiel zeigt 4 ein exemplarisches neuronales Netzmodell dar, das im Auswahlprozess oder in der Anwendung für NLG-Vorlagen neuronaler Netze verwendet werden kann. Das neuronale Netzmodell 100 beinhaltet einen Satz von Eingabeknoten 102-108, Ausgabeknoten 122-124 für neuronale Netze (oder maschinelles Lernen) und eine versteckte Schicht, die die Knoten 110-118 beinhaltet. Der Satz von Eingabeknoten 102-108 kann jeweils einer anderen Eingabe entsprechen, einschließlich eines Kommunikationsziels (102), eines Kommunikationswertes (104), eines Benutzerprofils (106) und einer Benutzerhistorie (108). Die versteckte Schicht, einschließlich der Knoten 110-118, kann verwendet werden, um die Eingaben der entsprechenden Ausgabe zuzuordnen. Die Auswahlknoten 122-124 der NLG-Vorlagen neuronaler Netze können einer NLG-Vorlage entsprechen, wie beispielsweise einer statischen oder vordefinierten NLG-Vorlage oder einer dynamischen NLG-Vorlage. In einer Ausführungsform können die Ausgaben 122 und 124 jeweils einer Wahrscheinlichkeit oder einem statistischen Maß zugeordnet werden, das eine posteriore Wahrscheinlichkeit für die Verwendung der statischen NLG-Vorlage (Ausgabe 122) und eine posteriore Wahrscheinlichkeit für die Verwendung der dynamischen NLG-Vorlage (Ausgabe 124) anzeigt. Der Auswahlprozess der Vorlagenerzeugung kann die Vorlage mit der höchsten Wahrscheinlichkeit auswählen. Verschiedene statistische Modelle können im Rahmen des maschinell lernenden Auswahlprozesses für NLG-Vorlagen verwendet werden. Obwohl das neuronale Netzmodell 100 mit Bezug auf den Auswahlprozess für NLG-Vorlagen neuronaler Netze erörtert wird, könnte ein neuronales Netzmodell auch für die anderen Prozesse verwendet werden, einschließlich des Erzeugungsprozesses für NLG-Vorlagen neuronaler Netze und des Erzeugungsprozesses für NLG-Ausgaben.
  • Das Verfahren 300 beginnt mit Schritt 310, wobei Sprachsignale an der Clientvorrichtung empfangen werden. Wie vorstehend erwähnt, kann die Clientvorrichtung eine von einer Vielzahl von Vorrichtungen sein, einschließlich des Fahrzeugs 12, der mobilen Vorrichtung 90 und/oder des Computers 78; das Verfahren 300 wird jedoch unter Verwendung von Fahrzeug 12 als die Clientvorrichtung erörtert. Das Fahrzeug 12 kann die Sprachsignale über das Mikrofon 56 an der drahtlosen Kommunikationsvorrichtung 30 empfangen. Die Sprachsignale können so abgetastet werden, dass eine digitale Darstellung der Sprachsignale erhalten und vom Prozessor 36 verwendet werden kann. Das Abtasten kann am Mikrofon 56, an der drahtlosen Kommunikationsvorrichtung 30 oder an einem anderen VSM des Fahrzeugs 12 durchgeführt werden. Sobald die Sprachsignale empfangen und abgetastet worden sind, geht das Verfahren 300 zu Schritt 320 über.
  • In Schritt 320 wird ein Benutzer oder ein wahrscheinlicher Benutzer, der die Sprachsignale übertragen hat, identifiziert. In einer Ausführungsform werden die empfangenen Sprachsignale im Hinblick auf die Historie verschiedener Benutzer verarbeitet, und aufgrund der Verarbeitung kann ein bestimmter Benutzer als Übermittler der Sprache identifiziert werden. Oder das System kann eine Wahrscheinlichkeit bestimmen, dass ein bestimmter Benutzer die Sprachsignale übertragen hat, und wenn die Wahrscheinlichkeit über einem bestimmten Schwellenwert oder höher als alle anderen Wahrscheinlichkeiten in Bezug auf andere Benutzer liegt, dann kann das System bestimmen, dass ein Benutzer wahrscheinlich die Sprachsignale übertragen hat. Diese Wahrscheinlichkeiten können auf einer Historie und/oder dem Profil eines Benutzers basieren, zu denen auch Informationen über die zuvor von einem Benutzer verwendeten Sprachsignale gehören können. In einer bestimmten Ausführungsform kann ein Fingerabdruck für die Stimme eines bestimmten Benutzers erzeugt und zum Identifizieren eines bestimmten Benutzers verwendet werden.
  • Alternativ oder zusätzlich kann ein Zustand der Clientvorrichtung, wie beispielsweise das Fahrzeug, verwendet werden, um einen Benutzer oder einen wahrscheinlichen Benutzer zu bestimmen, der die Sprachsignale übertragen hat. In einem Szenario kann die Clientvorrichtung ein Smartphone sein, das zu einem einzelnen Benutzer gehört, und somit kann das System so ausgelegt sein, dass es bestimmt, dass der Benutzer oder wahrscheinliche Benutzer der einzelne Benutzer des Smartphones ist und somit die Sprachsignale übermittelte. In einer weiteren Ausführungsform kann ein Fahrzeug bestimmen, welche Benutzer sich am Fahrzeug befinden, indem es beispielsweise bestimmt, mit welchem Schlüssel das Fahrzeug gestartet wurde, welche Sitze des Fahrzeugs besetzt sind und/oder welche persönlichen mobilen Vorrichtungen sich im oder in der Nähe des Fahrzeugs befinden. Es können auch andere verschiedene Fahrzeugzustände verwendet werden. Sobald ein bestimmter Benutzer identifiziert wurde, geht das Verfahren 300 zu Schritt 330 über.
  • In Schritt 330 wird basierend auf den empfangenen Sprachsignalen ein Kommunikationsziel bestimmt. Wie hierin verwendet, stellt ein Kommunikationsziel eine Absicht dar, die versucht, unter Verwendung der empfangenen Sprachsignale an das ASR-System übermittelt zu werden. Die Absicht kann, wie vorstehend erörtert, durch den Einsatz des ASR-Systems 210 bestimmt werden. Dies kann Durchführen verschiedener Spracherkennungstechniken und dann Verwenden von Nachbearbeitungsmethoden zum Bestimmen einer Absicht beinhalten, die vom Benutzer kommuniziert werden soll. Diese Nachbearbeitungsmethoden können Verwenden von Verarbeitungsmethoden des natürlichen Sprachverständnisses (NLU) oder einen Dialogmanager beinhalten, der die empfangenen Sprachsignale interpretieren kann. Sobald das Kommunikationsziel vom NLU-System oder dem Dialogmanager festgelegt wurde, kann das Kommunikationsziel gespeichert und dem identifizierten Benutzer zugeordnet werden.
  • In einigen Ausführungsformen können Kommunikationswerte aus der empfangenen Sprache gewonnen werden. Diese Kommunikationswerte, die aus der empfangenen Sprache gewonnen werden, können als eingegebene Kommunikationswerte bezeichnet werden. Wie hierin verwendet, sind Kommunikationswerte Werte, die für empfangene Sprache oder eine NLG-Ausgabe oder -Antwort spezifisch sind, wie beispielsweise Werte, die Gegenstand der NLG-Ausgabe sind (z. B. die aktuelle Temperatur, die Adresse und der Name eines Benutzers oder Speichers). Eigennamen, Eigenschaften, die für eine Situation oder einen Benutzer einzigartig sind, und andere dynamische Informationen können als ein Kommunikationswert angesehen werden. Ein Benutzer kann beispielsweise fragen: „Wie ist das Wetter in Royal Oak, Michigan?“ Der Städtename „Royal Oak“ und der Staatsname „Michigan“ können als Kommunikationswerte betrachtet werden, wobei das Kommunikationsziel darin besteht, Wetterinformationen über die eingegebenen Kommunikationswerte (oder Royal Oak, Michigan) zu erhalten. Die Kommunikationswerte können als eindeutige oder dynamische Informationen erkannt werden, die in empfangenen Sprachsignalen enthalten sind, wobei ein natürliches Sprachverständnissystem (NLU) verwendet wird. Zumindest in einigen Ausführungsformen können diese Kommunikationswerte als Eingabe in den Auswahlprozess für NLG-Vorlagen neuronaler Netze verwendet werden, wie im Folgenden in Schritt 350 erläutert. Wie im Folgenden näher erläutert, können Kommunikationswerte darüber hinaus zum Eingeben in Eingabefelder einer NLG-Vorlage erhalten werden. Diese Kommunikationswerte, die für die Eingabe in Eingabefelder einer NLG-Vorlage erhalten werden, können als reaktive Kommunikationswerte bezeichnet werden. Das Verfahren 300 geht dann zu Schritt 340 über.
  • In Schritt 340 wird bestimmt, ob eine NLG-Ausgabe oder eine Antwort erzeugt werden soll. In einigen Szenarien kann ein ASR-System Sprachsignale empfangen und eine Operation durchführen, muss aber möglicherweise keine NLG-Ausgabe erzeugen und senden, da beispielsweise die Ausführung der Operation für sich selbst spricht - d. h. die Durchführung der Operation führt zu Hinweisen, die dem Benutzer ausreichend vermitteln, dass die Sprache genau interpretiert wurde und/oder zu der gewünschten Operation des Benutzers führte. Ob eine Antwort erzeugt werden soll oder nicht, kann durch Analysieren des in Schritt 330 festgelegten Kommunikationsziels bestimmt werden. Einige Kommunikationsziele können jedoch eine NLG-Ausgabe oder -Antwort erfordern oder durch eine NLG-Ausgabe oder -Antwort ergänzt werden, wie beispielsweise diejenigen, bei denen der Benutzer das System über die Sprachsignale abfragt, und basierend auf der Tatsache, dass der Benutzer eine Frage mit seiner Stimme gestellt hat, kann bestimmt werden, dass die Ergebnisse der Abfrage dem Benutzer vorzugsweise unter Verwendung Sprache mitgeteilt oder übermittelt werden sollten. Wenn also bestimmt wird, dass eine NLG-Ausgabe oder -Antwort erzeugt werden soll, geht das Verfahren 300 zu Schritt 350 über, andernfalls endet das Verfahren 300.
  • In Schritt 350 wird eine Vorlage natürlichsprachlicher Generierung (NLG) ausgewählt, die beim Erzeugen einer NLG-Ausgabe verwendet wird. In einigen Ausführungsformen wird die NLG-Vorlage unter Verwendung eines Auswahlprozesses für NLG-Vorlagen neuronaler Netze ausgewählt, wobei der Auswahlprozess für NLG-Vorlagen neuronaler Netze ein künstliches neuronales Netz verwendet, um einen Satz von Eingaben zu lösen, um eine NLG-Vorlage zum Verwenden beim Erzeugen einer NLG-Ausgabe auszuwählen. Bevor der Auswahlprozess für NLG-Vorlagen neuronaler Netze durchgeführt wird, kann ein Satz von Eingaben erhalten werden, die im Auswahlprozess für NLG-Vorlagen neuronaler Netze verwendet werden sollen. Der Satz von Eingaben kann das Kommunikationsziel, eine Benutzerhistorie, die dem Benutzer zugeordnet ist, oder ein Benutzerprofil, das dem Benutzer zugeordnet ist, beinhalten.
  • Gemäß einer Ausführungsform beinhaltet der Satz von Eingaben ein Kommunikationsziel (z. B. das in Schritt 330 bestimmte Kommunikationsziel), Kommunikationswerte, Informationen aus dem Profil eines Benutzers und/oder Informationen aus der Historie eines Benutzers. Eine oder mehrere dieser Metriken können zum Zeitpunkt des Erreichens von Schritt 350 bestimmt oder zu einem früheren Zeitpunkt bestimmt und in einem Speicher auf der Clientvorrichtung gespeichert werden, wie beispielsweise dem Speicher 38 der drahtlosen Kommunikationsvorrichtung 30. Gemäß dem letztgenannten Szenario kann bei Erreichen von Schritt 350 eine oder mehrere Metriken, die in der Menge der Eingaben für den maschinellen Lernprozess NLG verwendet werden, aus der Speichervorrichtung abgerufen werden. In einer Ausführungsform kann die Historie des Benutzers Informationen beinhalten, die frühere Stile, Dialekte oder Zeicheninformationen identifizieren, die sich auf die vorherige Verwendung von Sprache des Benutzers beziehen. Darüber hinaus kann basierend auf der empfangenen Sprache eines Benutzers oder anderen von einem Benutzer konfigurierten Einstellungen ein dem Benutzer zugeordnetes Stilprofil als Eingabe in den Auswahlprozess für Vorlagen neuronaler Netze verwendet werden.
  • Sobald alle Eingaben für den Auswahlprozess für NLG-Vorlagen neuronaler Netze erhalten wurden, kann der Auswahlprozess für NLG-Vorlagen neuronaler Netze durchgeführt werden. In einigen Ausführungsformen kann der Auswahlprozess für NLG-Vorlagen neuronaler Netze verwendet werden: (i) Bestimmen, ob eine statische NLG-Vorlage oder eine dynamische NLG-Vorlage verwendet werden soll; (ii) wenn bestimmt wird, dass eine statische NLG-Vorlage verwendet wird, dann Auswählen einer statischen NLG-Vorlage aus einer Vielzahl von statischen NLG-Vorlagen; und (iii) wenn bestimmt wird, dass eine statische NLG-Vorlage verwendet wird, dann Erzeugen einer dynamischen NLG-Vorlage, die unter Verwendung des Erzeugungsprozesses für NLG-Vorlagen (Schritt 360) durchgeführt werden kann. Ein Teil oder alle diese Schritte können an der Clientvorrichtung ausgeführt werden, z. B. Fahrzeug 12. Oder, ein oder alle diese Schritte können auf einem entfernten Server ausgeführt werden, wie beispielsweise in der entfernten Einrichtung 80 enthaltenen. In einer Ausführungsform kann die Clientvorrichtung eine sich in der entfernten Einrichtung 80 befindlichen NLG-Vorlagendatenbank nach vordefinierten oder statischen NLG-Vorlagen abfragen, die dem Interaktionsstil eines bestimmten Benutzers entsprechen (z. B. formell, informell, ausführlich, direkt und kurz gefasst). Die NLG-Vorlagendatenbank kann unter Verwendung des Kommunikationsziels, des Stils des Benutzers, der Kommunikationswerte aus der empfangenen Sprache und/oder der Kommunikationswerte, die in der NLG-Ausgabe verwendet werden sollen, abgefragt werden.
  • In vielen Ausführungsformen wird eine Vorlage ausgewählt, die dem Vokabular, dem Stil, der Ausdrucksweise und/oder dem Charakter des Benutzers entspricht. Wenn eine vordefinierte oder statische NLG-Vorlage nicht ausreichend mit diesen Attributen des Benutzers übereinstimmt, kann der Vorlagenauswahlprozess festlegen, dass eine dynamische NLG-Vorlage erzeugt und verwendet werden soll. Das Verfahren 300 geht zu Schritt 360 über, wenn eine dynamische NLG-Vorlage zum Verwenden ausgewählt wird; andernfalls, wenn eine vordefinierte oder statische NLG-Vorlage verwendet werden soll, geht das Verfahren 300 zu Schritt 370 über.
  • Wenn in Schritt 360 bestimmt wird, dass eine dynamische NLG-Vorlage zum Erzeugen der NLG-Ausgabe verwendet wird, dann wird die dynamische NLG-Vorlage erzeugt. Dies kann Erzeugen einer NLG-Vorlage insbesondere für das Kommunikationsziel und Verwenden eines bestimmten Stils beinhalten, der in der NLG-Ausgabe verwendet werden soll. In einigen Ausführungsformen kann der Satz von Eingaben für den Auswahlprozess für NLG-Vorlagen neuronaler Netze für einen Erzeugungsprozess für NLG-Vorlagen neuronaler Netze verwendet werden, der zum Erzeugen der dynamischen NLG-Vorlage verwendet wird. Die dynamische Vorlage kann auf einer vordefinierten oder statischen NLG-Vorlage basieren, die je nach Stil oder Charakter des Benutzers geändert werden kann. Wenn der Benutzer beispielsweise als gesprächig angesehen wird und eine bestimmte Art von Dialekt oder Ausdrucksweise verwendet, kann der Prozess mit einer ausführlichen statischen NLG-Vorlage beginnen. Danach kann die ausführliche statische NLG-Vorlage im Hinblick auf den jeweiligen Stil des Benutzers geändert werden, um eine dynamische NLG-Vorlage zu erzeugen, die dem Stil des Benutzers besser entspricht. In anderen Ausführungsformen kann ein regelbasierter Ansatz und nicht ein neuronaler Netzansatz verwendet werden, um die dynamischen Vorlagen zu generieren. Ein regelbasierter Ansatz kann einen vordefinierten Satz von Regeln für bestimmte vordefinierte Vorlagen, Stile oder Emotionen von Sprache, Benutzerhistorie, Benutzerprofilen, Kommunikationszielen und/oder Kommunikationswerten verwenden. Diese Regeln können befolgt werden, um eine dynamische NLG-Vorlage zu entwickeln. Sobald eine dynamische NLG-Vorlage erzeugt wurde, geht das Verfahren 300 zu Schritt 370 über.
  • In Schritt 370 wird eine NLG-Ausgabe basierend auf der ausgewählten NLG-Vorlage erzeugt. Die NLG-Ausgabe kann erzeugt werden, indem vordefinierte Phrasen oder Sätze aus der ausgewählten NLG-Vorlage verwendet werden und dann die zu übertragenden Kommunikationswerte in bestimmte dafür vorgesehene Eingabefelder innerhalb der vordefinierten Phrasen und Sätze eingefügt werden. Die Kommunikationswerte können erhalten werden und können auf einem Stil und/oder einer Emotion des Benutzers basieren. Die Kommunikationswerte können basierend auf dem Senden einer Kommunikationswertanforderung an einen entfernten Server erhalten werden, der die Anforderung verarbeiten und Kommunikationswerte zurücksenden kann. So kann beispielsweise die Kommunikationswertanforderung einen Indikator für ein Kommunikationsziel und Kommunikationswerte beinhalten, die in den empfangenen Sprachsignalen enthalten waren. Ein entfernter Server kann dann so abgefragt werden, dass eine geeignete Antwort (d. h. eine Kommunikationswertantwort) bereitgestellt wird, die die Anforderung oder Absicht des Benutzers erfüllt, wie sie in den empfangenen Sprachsignalen übermittelt wird. Die Kommunikationswertantwort kann empfangen und zusammen mit der ausgewählten NLG-Vorlage verwendet werden, um die NLG-Ausgabe zu erzeugen. Sobald die NLG-Ausgabe erzeugt wird, kann die NLG-Ausgabe dem Benutzer mitgeteilt werden, z. B. über Lautsprecher oder eine andere Audiowiedergabevorrichtung, wie das Audiosystem 54 des Fahrzeugs 12. In anderen Ausführungsformen kann die NLG-Ausgabe Text umfassen, der auf einem Bildschirm angezeigt wird, wie beispielsweise dem Touchscreen 58 des Fahrzeugs 12.
  • Wie vorstehend erwähnt, kann der NLG-Prozess neuronaler Netze und/oder die Anwendung (und die Unterprozesse) sich zumindest in einigen Ausführungsformen, basierend auf früheren Iterationen anpassen. In einer Ausführungsform kann sich der Auswahlprozess für NLG-Vorlagen neuronaler Netze anpassen, indem die Menge der Eingaben einer bestimmten Iteration und die NLG-Ausgabe für die gegebene Iteration beibehalten werden. Zusätzlich kann die Clientvorrichtung einen gemessenen Erfolg der gegebenen Iteration basierend auf einem oder mehreren Leistungsindikatoren bestimmen. Die Leistungsindikatoren können die Zeit zum Durchführen der Spracherkennung oder des maschinell lernenden NLG-Prozesses, die Genauigkeit der Angleichung des Stils oder der Emotion der NLG-Ausgabe an den Stil oder die Emotion der empfangenen Sprachsignale und/oder andere Angaben hinsichtlich der Genauigkeit und/oder Effizienz der Auswahl- und/oder Erzeugungsprozesse der NLG-Vorlagen beinhalten. In einigen Ausführungsformen kann jeder einzelne oder mehrere der Eingaben als ein Leistungsindikator verwendet werden. Das Verfahren 300 endet dann.
  • Es versteht sich, dass das Vorstehende eine Beschreibung einer oder mehrerer Ausführungsformen der Erfindung ist. Die Erfindung ist nicht auf die besondere(n) hierin offenbarte(n) Ausführungsform(en) beschränkt, sondern ausschließlich durch die folgenden Patentansprüche definiert. Darüber hinaus beziehen sich die in der vorstehenden Beschreibung gemachten Aussagen auf bestimmte Ausführungsformen und sind nicht als Einschränkungen des Umfangs der Erfindung oder der Definition der in den Patentansprüchen verwendeten Begriffe zu verstehen, außer dort, wo ein Begriff oder Ausdruck ausdrücklich vorstehend definiert wurde. Verschiedene andere Ausführungsformen und verschiedene Änderungen und Modifikationen an der/den ausgewiesenen Ausführungsform(en) sind für Fachleute offensichtlich. Alle diese anderen Ausführungsformen, Änderungen und Modifikationen sollten im Geltungsbereich der angehängten Patentansprüche verstanden werden.
  • Wie in dieser Beschreibung und den Ansprüchen verwendet, sind die Begriffe „zum Beispiel“, „beispielsweise“, „z. B.“, „wie“ und „gleich“ und die Verben „umfassen“, „aufweisen“, „beinhalten“ und ihre anderen Verbformen, wenn sie in Verbindung mit einer Auflistung einer oder mehrerer Komponenten oder anderen Gegenständen verwendet werden, jeweils als offen auszulegen, was bedeutet, dass die Auflistung nicht so berücksichtigt wird, als dass sie andere, zusätzliche Komponenten oder Elemente ausschließt. Andere Begriffe sind in deren weitesten vernünftigen Sinn auszulegen, es sei denn, diese werden in einem Kontext verwendet, der eine andere Auslegung erfordert. Zusätzlich versteht sich der Ausdruck „und/oder“ als ein inklusives ODER. Als ein Beispiel, beinhaltet der Ausdruck „A, B, und/oder C“ Folgendes: „A“; „B“; „C“; „A und B“; „A und C“; „B und C“ und „A, B und C“.

Claims (10)

  1. Verfahren (300) zum Erzeugen von Ausgaben natürlichsprachlicher Generierung (NLG), wobei das Verfahren Folgendes umfasst: Empfangen (310) von Sprachsignalen von einem Benutzer an einem Mikrofon (56) einer Clientvorrichtung (12); Bestimmen (330) eines angeforderten Kommunikationsziels und mindestens eines eingegebenen Kommunikationswertes basierend auf den empfangenen Sprachsignalen; Bestimmen (340), ob eine Vorlage zur statischen natürlichsprachlichen Generierung (NLG) oder eine dynamische NLG-Vorlage verwendet werden soll, um eine NLG-Ausgabe zu erzeugen, wobei die Bestimmung, ob eine statische NLG-Vorlage oder eine dynamische NLG-Vorlage verwendet werden soll, unter Verwendung eines Auswahlprozess für NLG-Vorlagen neuronaler Netze erfolgt; Auswählen (350) einer NLG-Vorlage nach der Bestimmung, ob eine statische NLG-Vorlage oder eine dynamische NLG-Vorlage verwendet werden soll; und Erzeugen (370) einer NLG-Ausgabe basierend auf der ausgewählten NLG-Vorlage.
  2. Verfahren (300) nach Anspruch 1, ferner umfassend den Schritt des Identifizierens (320) eines Benutzers oder eines wahrscheinlichen Benutzers, der die Sprachsignale übermittelt hat, wobei der Auswahlprozess für NLG-Vorlagen neuronaler Netze basierend auf einer Historie des identifizierten Benutzers oder wahrscheinlichen Benutzers und/oder einem Profil des identifizierten Benutzers oder wahrscheinlichen Benutzers durchgeführt wird.
  3. Verfahren (300) nach Anspruch 2, wobei die ausgewählte NLG-Vorlage basierend auf der Historie des identifizierten Benutzers oder des wahrscheinlichen Benutzers und/oder dem Profil des identifizierten Benutzers oder des wahrscheinlichen Benutzers ausgewählt wird, und wobei das Verfahren ferner den Schritt des Identifizierens eines Stils basierend auf den empfangenen Sprachsignalen, der Historie des identifizierten Benutzers oder des wahrscheinlichen Benutzers und/oder dem Profil des identifizierten Benutzers oder wahrscheinlichen Benutzers umfasst, und wobei der identifizierte Stil im Auswahlprozess für NLG-Vorlagen neuronaler Netze verwendet wird.
  4. Verfahren (300) nach Anspruch 1, ferner umfassend den Schritt, wenn bestimmt wird, dass eine dynamische NLG-Vorlage verwendet werden soll, um die NLG-Ausgabe zu erzeugen, dann Erzeugen (360) der dynamischen NLG-Vorlage unter Verwendung eines Erzeugungsprozesses für NLG-Vorlagen.
  5. Verfahren (300) nach Anspruch 4, wobei die dynamische NLG-Vorlage basierend auf dem Kommunikationsziel und einem oder mehreren erhaltenen Kommunikationswerten erzeugt wird, und wobei das Verfahren ferner den Schritt zum Identifizieren eines Benutzers oder eines wahrscheinlichen Benutzers, der die Sprachsignale übertragen hat, umfasst, wobei die dynamische NLG-Vorlage basierend auf Benutzerinformationen erzeugt wird, die dem Benutzer oder wahrscheinlichen Benutzer zugeordnet sind, und wobei die Benutzerinformationen entweder Benutzerhistorieninformationen oder Benutzerprofilinformationen oder beides beinhalten.
  6. Verfahren (300) nach Anspruch 5, wobei der Erzeugungsprozesses für NLG-Vorlagen ein regelbasierter Erzeugungsprozesses für NLG-Vorlagen oder ein Erzeugungsprozesses für NLG-Vorlagen neuronaler Netze ist.
  7. Verfahren (300) nach Anspruch 1, ferner umfassend die folgenden Schritte: Senden einer Kommunikationswertanforderung an einen entfernten Server, wobei die Kommunikationswertanforderung eine Anforderung ist, um reaktive Kommunikationswerte zu erhalten, die in der NLG-Ausgabe zu verwenden sind und die auf dem Kommunikationsziel und den eingegebenen Kommunikationswerten basieren; und Empfangen einer Kommunikationswertantwort von dem entfernten Server, wobei die Kommunikationswertantwort reaktive Kommunikationswerte beinhaltet, die beim Erzeugen der NLG-Ausgabe zu verwenden sind.
  8. Verfahren (300) nach Anspruch 1, ferner umfassend den Schritt des Anpassens des Auswahlprozesses für NLG-Vorlagen neuronaler Netze basierend auf früheren Iterationen des Auswahlprozesses für NLG-Vorlagen neuronaler Netze.
  9. Verfahren (300) nach Anspruch 8, wobei der Anpassungsschritt ferner Anpassen des Auswahlprozesses für NLG-Vorlagen für neuronale Netze basierend auf einem Satz von Eingaben, der NLG-Ausgabe und einem gemessenen Erfolg des Auswahlprozesses für NLG-Vorlagen neuronaler Netze umfasst, wobei der Satz von Eingaben das Kommunikationsziel, die eingegebenen Kommunikationswerte und Informationen bezüglich eines Benutzers oder eines wahrscheinlichen Benutzers, der die Sprachsignale übertragen hat, beinhaltet.
  10. Verfahren (300) zum Erzeugen von Ausgaben natürlichsprachlicher Generierung (NLG), wobei das Verfahren Folgendes umfasst: Empfangen (310) von Sprachsignalen von einem Benutzer an einem Mikrofon (56) einer Clientvorrichtung (12); Identifizieren (320) eines Benutzers oder eines wahrscheinlichen Benutzers, der die Sprachsignale übermittelt hat; Bestimmen (330) eines Kommunikationsziels und mindestens eines eingegebenen Kommunikationswertes basierend auf den empfangenen Sprachsignalen; Bestimmen (340), ob eine statische NLG-Vorlage oder eine dynamische NLG-Vorlage zum Verwenden beim Erzeugen einer NLG-Ausgabe verwendet werden soll, wobei das Bestimmen, ob eine statische NLG-Vorlage oder eine dynamische NLG-Vorlage verwendet werden soll, unter Verwendung eines Auswahlprozesses für NLG-Vorlagen neuronaler Netze erfolgt, wobei der Auswahlprozess für NLG-Vorlagen neuronaler Netze ein künstliches neuronales Netz verwendet, um einen Satz von Eingaben zu lösen, um auszuwählen, ob eine statische NLG-Vorlage oder eine dynamische NLG-Vorlage zum Verwenden beim Erzeugen einer NLG-Ausgabe verwendet werden soll, und wobei der Satz von Eingaben das Kommunikationsziel, die eingegebenen Kommunikationswerte und entweder eine Benutzerhistorie, die dem Benutzer zugeordnet ist, oder ein Benutzerprofil, das dem Benutzer zugeordnet ist, beinhaltet; wenn bestimmt wird eine statische NLG-Vorlage zu verwenden, dann Auswählen einer statischen NLG-Vorlage; wenn bestimmt wird eine dynamische NLG-Vorlage zu verwenden, dann Erzeugen der dynamischen NLG-Vorlage; und Erzeugen (370) der NLG-Ausgabe unter Verwendung der ausgewählten NLG-Vorlage.
DE102018128006.8A 2017-11-13 2018-11-08 Verfahren zum erzeugen von ausgaben natürlichsprachlicher generierung basierend auf dem benutzersprachstil Active DE102018128006B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/811,204 2017-11-13
US15/811,204 US10380992B2 (en) 2017-11-13 2017-11-13 Natural language generation based on user speech style

Publications (2)

Publication Number Publication Date
DE102018128006A1 DE102018128006A1 (de) 2019-05-16
DE102018128006B4 true DE102018128006B4 (de) 2022-05-05

Family

ID=66335771

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102018128006.8A Active DE102018128006B4 (de) 2017-11-13 2018-11-08 Verfahren zum erzeugen von ausgaben natürlichsprachlicher generierung basierend auf dem benutzersprachstil

Country Status (3)

Country Link
US (1) US10380992B2 (de)
CN (1) CN109785828B (de)
DE (1) DE102018128006B4 (de)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11475076B2 (en) 2014-10-22 2022-10-18 Narrative Science Inc. Interactive and conversational data exploration
US11954445B2 (en) 2017-02-17 2024-04-09 Narrative Science Llc Applied artificial intelligence technology for narrative generation based on explanation communication goals
US11568148B1 (en) 2017-02-17 2023-01-31 Narrative Science Inc. Applied artificial intelligence technology for narrative generation based on explanation communication goals
US10713442B1 (en) 2017-02-17 2020-07-14 Narrative Science Inc. Applied artificial intelligence technology for interactive story editing to support natural language generation (NLG)
CN111868820B (zh) * 2018-01-10 2024-08-16 Qrs音乐技术公司 音乐活动系统
US11023689B1 (en) 2018-01-17 2021-06-01 Narrative Science Inc. Applied artificial intelligence technology for narrative generation using an invocable analysis service with analysis libraries
US11126798B1 (en) 2018-02-19 2021-09-21 Narrative Science Inc. Applied artificial intelligence technology for conversational inferencing and interactive natural language generation
US11715042B1 (en) 2018-04-20 2023-08-01 Meta Platforms Technologies, Llc Interpretability of deep reinforcement learning models in assistant systems
US11886473B2 (en) 2018-04-20 2024-01-30 Meta Platforms, Inc. Intent identification for agent matching by assistant systems
US11010179B2 (en) 2018-04-20 2021-05-18 Facebook, Inc. Aggregating semantic information for improved understanding of users
US11676220B2 (en) 2018-04-20 2023-06-13 Meta Platforms, Inc. Processing multimodal user input for assistant systems
WO2019211967A1 (ja) * 2018-05-01 2019-11-07 株式会社Nttドコモ 対話装置
US10963627B2 (en) * 2018-06-11 2021-03-30 Adobe Inc. Automatically generating digital enterprise content variants
US11042713B1 (en) 2018-06-28 2021-06-22 Narrative Scienc Inc. Applied artificial intelligence technology for using natural language processing to train a natural language generation system
WO2020060151A1 (en) * 2018-09-19 2020-03-26 Samsung Electronics Co., Ltd. System and method for providing voice assistant service
US10839167B2 (en) * 2018-12-04 2020-11-17 Verizon Patent And Licensing Inc. Systems and methods for dynamically expanding natural language processing agent capacity
US11341330B1 (en) 2019-01-28 2022-05-24 Narrative Science Inc. Applied artificial intelligence technology for adaptive natural language understanding with term discovery
US11854538B1 (en) * 2019-02-15 2023-12-26 Amazon Technologies, Inc. Sentiment detection in audio data
US11929058B2 (en) 2019-08-21 2024-03-12 Dolby Laboratories Licensing Corporation Systems and methods for adapting human speaker embeddings in speech synthesis
US11562744B1 (en) * 2020-02-13 2023-01-24 Meta Platforms Technologies, Llc Stylizing text-to-speech (TTS) voice response for assistant systems
CN111614398B (zh) * 2020-05-12 2021-06-11 北京邮电大学 基于异或神经网络的调制格式及信噪比识别方法及装置
CA3239449A1 (en) 2020-07-13 2022-01-20 Ai21 Labs Controllable reading guides and natural language generation
CN112233671A (zh) * 2020-08-28 2021-01-15 广州南方卫星导航仪器有限公司 基于方言识别的gnss接收机控制方法、装置、设备及介质
US20230379692A1 (en) * 2020-10-13 2023-11-23 Qualcomm Incorporated Managing ml processing model
US12019720B2 (en) * 2020-12-16 2024-06-25 International Business Machines Corporation Spatiotemporal deep learning for behavioral biometrics
AU2023264499A1 (en) * 2022-05-02 2024-09-19 Ai21 Labs Reading assistant

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140317030A1 (en) 2013-04-22 2014-10-23 Palo Alto Research Center Incorporated Method and apparatus for customizing conversation agents based on user characteristics
US20150261745A1 (en) 2012-11-29 2015-09-17 Dezhao Song Template bootstrapping for domain-adaptable natural language generation
WO2016166417A1 (en) 2015-04-13 2016-10-20 Equivalentor Oy Method for generating natural language communication

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5239594A (en) * 1991-02-12 1993-08-24 Mitsubishi Denki Kabushiki Kaisha Self-organizing pattern classification neural network system
US20020087311A1 (en) * 2000-12-29 2002-07-04 Leung Lee Victor Wai Computer-implemented dynamic language model generation method and system
US9978365B2 (en) * 2008-10-31 2018-05-22 Nokia Technologies Oy Method and system for providing a voice interface
US8175873B2 (en) * 2008-12-12 2012-05-08 At&T Intellectual Property I, L.P. System and method for referring to entities in a discourse domain
US9202465B2 (en) * 2011-03-25 2015-12-01 General Motors Llc Speech recognition dependent on text message content
US10540430B2 (en) * 2011-12-28 2020-01-21 Cbs Interactive Inc. Techniques for providing a natural language narrative
US9286390B2 (en) * 2011-12-30 2016-03-15 Microsoft Technology Licensing, Llc Presentation of rich search results in delineated areas
WO2014073612A1 (ja) * 2012-11-08 2014-05-15 日本電気株式会社 会話文生成装置、会話文生成方法及び会話文生成プログラム
US9798799B2 (en) * 2012-11-15 2017-10-24 Sri International Vehicle personal assistant that interprets spoken natural language input based upon vehicle context
US9189742B2 (en) * 2013-11-20 2015-11-17 Justin London Adaptive virtual intelligent agent
US9412358B2 (en) * 2014-05-13 2016-08-09 At&T Intellectual Property I, L.P. System and method for data-driven socially customized models for language generation
US10573299B2 (en) * 2016-08-19 2020-02-25 Panasonic Avionics Corporation Digital assistant and associated methods for a transportation vehicle
CN106547735B (zh) * 2016-10-25 2020-07-07 复旦大学 基于深度学习的上下文感知的动态词或字向量的构建及使用方法
CN107329996B (zh) * 2017-06-08 2021-06-29 三峡大学 一种基于模糊神经网络的聊天机器人系统与聊天方法
US10019491B1 (en) * 2017-11-29 2018-07-10 OJO Labs, Inc. Machine learning of response selection to structured data input

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150261745A1 (en) 2012-11-29 2015-09-17 Dezhao Song Template bootstrapping for domain-adaptable natural language generation
US20140317030A1 (en) 2013-04-22 2014-10-23 Palo Alto Research Center Incorporated Method and apparatus for customizing conversation agents based on user characteristics
WO2016166417A1 (en) 2015-04-13 2016-10-20 Equivalentor Oy Method for generating natural language communication

Also Published As

Publication number Publication date
CN109785828A (zh) 2019-05-21
US10380992B2 (en) 2019-08-13
CN109785828B (zh) 2023-05-23
US20190147849A1 (en) 2019-05-16
DE102018128006A1 (de) 2019-05-16

Similar Documents

Publication Publication Date Title
DE102018128006B4 (de) Verfahren zum erzeugen von ausgaben natürlichsprachlicher generierung basierend auf dem benutzersprachstil
DE102019105269B4 (de) Verfahren zur spracherkennung mit spracherkennungs-arbitrierungslogik
DE102019111529A1 (de) Automatisierte spracherkennung unter verwendung einer dynamisch einstellbaren hörzeitüberschreitung
DE102018103188B4 (de) Verfahren zur spracherkennung in einem fahrzeug zur verbesserung der aufgabenerledigung
US10083685B2 (en) Dynamically adding or removing functionality to speech recognition systems
DE102018128003A1 (de) Neuronales netzwerk zum anwenden bei der spracherkennungsarbitrierung
DE102008034143B4 (de) Verfahren zur Umgebungsgeräuscheinkopplung für eine Spracherkennung in einem Serienfahrzeug
DE102011120315B4 (de) Anpassung männlicher Akustikmodelle auf der Basis von sprachunabhängigen weiblichen Sprechdaten
DE102017121059A1 (de) Identifikation und erzeugung von bevorzugten emoji
DE102017102392A1 (de) Automatische spracherkennung bei stockender sprechweise
DE102012217160B4 (de) Verfahren zum Korrigieren unverständlicher synthetischer Sprache
CN106816149A (zh) 车辆自动语音识别系统的优先化内容加载
DE102017121054A1 (de) Remote-spracherkennung in einem fahrzeug
DE102008062542A1 (de) Fahrzeuginterne die Umstände berücksichtigende Spracherkennung
DE102012220796B4 (de) Verfahren zum Initiieren eines Freisprechkonferenzgesprächs
DE102010034433B4 (de) Verfahren zum Erkennen von Sprache
DE102014111816A1 (de) Fahrzeugtelematikeinheit und Verfahren zum Bedienen dieser
DE102018125564A1 (de) Reaktionsschnelle aktivierung eines fahrzeugmerkmals
DE102015117380B4 (de) Selektive Geräuschunterdrückung während automatischer Spracherkennung
DE102019115685A1 (de) Sprachaktivierter fahrzeugalarm
DE102015105876A1 (de) Verfahren zum Bereitstellen einer Betreiberunterstützung unter Verwendung eines Telematikdienstsystems eines Fahrzeugs
US20160307562A1 (en) Controlling speech recognition systems based on radio station availability
DE102013216427B4 (de) Vorrichtung und Verfahren zur fortbewegungsmittelbasierten Sprachverarbeitung
DE102019110418A1 (de) System und verfahren zum auswählen und betreiben einer mobilen vorrichtung über eine telematikeinheit

Legal Events

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

Free format text: PREVIOUS MAIN CLASS: G10L0015080000

Ipc: G10L0013020000

R082 Change of representative

Representative=s name: MANITZ FINSTERWALD PATENT- UND RECHTSANWALTSPA, DE

R016 Response to examination communication
R018 Grant decision by examination section/examining division
R020 Patent grant now final