DE102018128006A1 - NATURAL LANGUAGE GENERATION BASED ON THE USER LANGUAGE STYLE - Google Patents

NATURAL LANGUAGE GENERATION BASED ON THE USER LANGUAGE STYLE Download PDF

Info

Publication number
DE102018128006A1
DE102018128006A1 DE102018128006.8A DE102018128006A DE102018128006A1 DE 102018128006 A1 DE102018128006 A1 DE 102018128006A1 DE 102018128006 A DE102018128006 A DE 102018128006A DE 102018128006 A1 DE102018128006 A1 DE 102018128006A1
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.)
Granted
Application number
DE102018128006.8A
Other languages
German (de)
Other versions
DE102018128006B4 (en
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/en
Application granted granted Critical
Publication of DE102018128006B4 publication Critical patent/DE102018128006B4/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L13/00Speech synthesis; Text to speech systems
    • G10L13/02Methods for producing synthetic speech; Speech synthesisers
    • 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/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/186Templates
    • 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 OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; 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 OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/18Speech classification or search using natural language modelling
    • G10L15/1807Speech classification or search using natural language modelling using prosody or stress
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L17/00Speaker identification or verification
    • 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 OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/26Speech to text systems

Abstract

Ein System und Verfahren zum Erzeugen von Ausgaben natürlichsprachlicher Generierung (NLG), 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 Netzwerke 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.

Figure DE102018128006A1_0000
A system and method for generating natural language generation (NLG) outputs, the method comprising: receiving speech signals from a user at a microphone of a client device; Determining a requested communication destination and at least one input communication value based on the received speech signals; Determining the use of a static natural language generation (NLG) template or a NLG dynamic template to produce an NLG output, determining whether to use a static NLG template or a dynamic NLG template using a selection process for NLG templates for neural networks are done; Selecting an NLG template after determining whether to use a static NLG template or a dynamic NLG template; and generating an NLG output based on the selected NLG template.
Figure DE102018128006A1_0000

Description

EINFÜHRUNGINTRODUCTION

Die vorliegende Erfindung betrifft Erzeugen von Ausgaben natürlichsprachlicher Generierung (NLG), die auf Eigenschaften oder dem Stil der Sprache eines Benutzers basieren.The present invention relates to generating Natural Language Generation (NLG) output based on characteristics or style of a user's language.

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.Using automatic speech recognition (ASR), various device functions can be controlled on a client device. Vehicles include z. For example, hardware and software capable of receiving speech from a vehicle occupant, processing that language to understand speech content, and then performing an action based on the speech content. The vehicles or other client devices may use the hardware and software to process the speech received at the vehicle. A response to an ASR input may be generated at the vehicle or at the client device.

KURZDARSTELLUNGSUMMARY

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 Netzwerke 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.According to one aspect of the invention, there is provided a method of generating natural language generation (NLG) outputs, the method comprising: receiving speech signals from a user at a microphone of a client device; Determining a requested communication destination and at least one input communication value based on the received speech signals; Determining the use of a static natural language generation (NLG) template or a NLG dynamic template to produce an NLG output, determining whether to use a static NLG template or a dynamic NLG template using a selection process for NLG templates for neural networks are done; Selecting an NLG template after determining whether to use a static NLG template or a dynamic NLG template; and generating an NLG output based on the selected NLG template.

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 Netzwerke 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 Netzwerke 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 Netzwerke;
  • • 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 Netzwerke basierend auf früheren Iterationen des Auswahlprozesses für NLG-Vorlagen neuronaler Netzwerke; und/oder
  • • der Anpassungsschritt umfasst ferner Anpassen des Auswahlprozesses für NLG-Vorlagen für neuronale Netzwerke basierend auf einem Satz von Eingaben, der NLG-Ausgabe und einem gemessenen Erfolg des Auswahlprozesses für NLG-Vorlagen neuronaler Netzwerke, 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 Netzwerke erfolgt, wobei der Auswahlprozess für NLG-Vorlagen neuronaler Netzwerke ein künstliches neuronales Netzwerk 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;According to various embodiments, this method may further include one of the following features or a technically possible combination of these features:
  • The step of identifying a user or a likely user who has transmitted the voice signals;
  • The NLG template selection process for neural networks is performed based on a history of the identified user or the probable user and / or a profile of the identified user or the probable user;
  • The selected NLG template is selected based on the history of the identified user or the probable user and / or the profile of the identified user or the probable user;
  • The step of identifying a style based on the received speech signals, the history of the identified user or probable user, and / or the profile of the identified user or probable user, and wherein the identified style is used in the neural network NLG template selection process ;
  • The step of determining that an NLG dynamic template is to be used to generate the NLG output and then generating the NLG dynamic template using a NLG template generation process;
  • The dynamic NLG template is generated based on the communication destination and one or more received communication values;
  • The step of identifying a user or a probable user who has transmitted the voice signals, wherein the dynamic NLG template is generated based on user information associated with the user or likely user, and wherein the user information is either user history information or user profile information, or both of these include;
  • • the NLG template production process is a rule-based production process for NLG templates;
  • • the NLG template generation process is a generation process for NLG templates of neural networks;
  • The steps of: sending a communication value request to a remote server, the communication value request being a request to obtain reactive communication values to be used in the NLG output based on the communication destination and the entered communication values; and receiving a communication value response from the remote server, the communication value response including reactive communication values to be used in generating the NLG output;
  • The step of adapting the selection process for NLG templates of neural networks based on previous iterations of the selection process for NLG templates of neural networks; and or
  • The adaptation step further comprises adjusting the neural network NLG template selection process based on a set of inputs, the NLG output, and a measured success of the neural network NLG template selection process, wherein the set of inputs is the communication destination, the input communication values and information regarding a user or a probable user who has transmitted the voice signals.
According to another aspect of the invention, there is provided a method of generating outputs of natural language generation (NLG), the method comprising: receiving speech signals from a user at a microphone of a client device; Identifying a user or a likely user who has transmitted the voice signals; Determining a communication destination and at least one input communication value based on the received speech signals; Determine whether to use a static NLG template or an NLG dynamic template for use in generating NLG output, determining whether to use a NLG static template or a NLG dynamic template using a selection process for NLG templates of neural networks, where the neural network NLG template selection process uses an artificial neural network to solve a set of inputs to select whether to use a NLG static template or a NLG dynamic template for use in creating a NLG template NLG output, and wherein the set of inputs includes the communication destination, the input communication values, and either a user history associated with the user or a user profile associated with the user;

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 Netzwerke 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 Netzwerke 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.
According to various embodiments, this method may further include one of the following features or a technically possible combination of these features:
  • The set of inputs includes both the user history associated with the user and the user profile associated with the user;
  • • The neural network NLG template selection process includes a set of potential outputs that include a first output value for NLG templates and a second output value for NLG templates, where the first output value for NLG templates corresponds to a probability that a static NLG Template is used for generating the NLG output, and wherein the second output value for NLG templates corresponds to a probability that an NLG dynamic template is used for generating the NLG output;
  • The identifying step includes using the received speech signals to identify the user, determining that a NLG static template or a NLG dynamic template is used based on an identified style, emotion, and / or dialect of the received speech signals;
  • The NLG dynamic template is generated and / or the NLG static template is selected based on the identified style, emotion and / or dialect of the received speech signals;
  • The dynamic NLG template is generated using a machine learning generation process for NLG templates, the NLG template machine learning generation process using a different machine learning method than that used in the selection process for NLG templates of neural networks; and or
  • • The different machine learning method is a rule-based approach that includes a predefined set of rules that are followed when creating the NLG dynamic template.

Figurenlistelist of figures

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 Netzwerkmodells abbildet, das in einem maschinell lernenden NLG-Prozess oder einer maschinell lernenden NLG-Anwendung verwendet werden kann.
One or more embodiments of the invention will be described below in conjunction with the accompanying drawings, wherein like designations denote like elements, and wherein:
  • 1 Figure 10 is a block diagram depicting one embodiment of a communication system capable of utilizing the method disclosed herein;
  • 2 Fig. 10 is a block diagram depicting one embodiment of an Automatic Speech Recognition System (ASR);
  • 3 Fig. 10 is a flowchart of one embodiment of a method for generating a Natural Language Generation (NLG) output; and
  • 4 Figure 10 is a block diagram depicting one embodiment of a neural network model that may be used in a machine learning NLG process or a machine learning NLG application.

AUSFÜHRLICHE BESCHREIBUNGDETAILED DESCRIPTION

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.The system and method described below provides for generating Natural Language Generation (NLG) output using a machine learning NLG process, which may, at least in some embodiments, choose between using a static (or predefined) NLG template and using a NLG dynamic template , The NLG template can be selected to tailor the selected NLG template to a particular user, ASR input, and / or a combination thereof. Natural language generation (NLG) refers to the process of generating a natural language output that conveys a statement, request or question or other intent from a machine to a user. In many cases, NLG templates are used to produce NLG output. A machine learning selection process for NLG templates can be performed as part of the machine learning NLG process. The selection process for NLG templates is the process of selecting to use a static or dynamic NLG template using machine-learning methods. The NLG template may be selected based on specific user information, a communication destination, or a communication intent or various other information, as discussed below.

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 Netzwerkmodell verwendet wird, kann der NLG-Prozess als einen NLG-Prozess eines neuronalen Netzwerks bezeichnet werden (und dasselbe gilt für die maschinell lernenden NLG-Unterprozesse).As used herein, an "NLG template" is a collection of predefined or predefined phrases, sentences, and / or statements that include one or more input fields in which a particular value or word is placed based on the desired or intended output can. In addition, as used herein, an "NLG output" is any output that is based on a natural language and that, at least in some cases, can be audibly transmitted using a loudspeaker (ie, an audible NLG output) or visualized , such as B. Presenting a textual representation containing text characters (eg, alphanumeric characters). And, as used herein, a machine learning NLG process is the process of using machine learning methods to select an NLG template, generate an NLG template, and / or produce an NLG output, and therefore, in at least some embodiments, can machine learning selection process for NLG templates. If a neural network model is used, the NLG process can be referred to as a neural network NLG process (and the same goes for the NLG machine learning subprocesses).

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.As explained in more detail below, the machine learning NLG process may include various processes (or "sub-processes"), including a selection process for NLG templates, a NLG template generation process and / or a NLG output generation process. The selection process for NLG templates is the process of selecting an NLG template to be used in generating the NLG output, choosing between a static and a dynamic template, based on a communication destination, a style of the received language, a user profile , a user history or various other factors. The NLG generation process may be executed when a dynamic template for generating the NLG output is determined. The NLG output generation process is the process for generating the NLG output using the selected and / or generated NLG template.

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.In some scenarios, the NLG template selection process may determine that a static NLG template is used, which is an NLG template predefined to map specific communication destinations to pre-defined NLG template outputs. And in other embodiments, the NLG template selection process may determine that to use a NLG dynamic template that is an NLG template that is at least partially generated using the NLG template automatic learning generation process at a time after the selection process for NLG templates NLG templates, and may be based, at least in some embodiments, on deriving certain template-related outputs from different predefined or static NLG templates. If a static NLG template is selected, the NLG output process (that is, the process of using NLG templates to produce NLG output) can be performed immediately. If it is determined that a NLG dynamic template should be used in the NLG output generation process, a NLG template generation process can be used to generate the NLG dynamic template. The dynamic NLG template may be generated based on a communication destination that identifies from received speech signals, a style (or other attributes) of the received speech signals, an emotion of the received speech signals, a persona of the received speech, or based on a user profile or history becomes. This way a can dynamic NLG template can be customized, which can be adapted to the communication style in order to improve the user-friendliness.

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 Netzwerke, verwenden kann, um zwischen NLG-Vorlagen auszuwählen und/oder NLG-Vorlagen zu aktualisieren oder zu modifizieren.For example, the NLG dynamic template may be tailored to a particular user and / or generated, updated, or changed based on ASR input from a particular user. And, in certain embodiments, when the same communication destination and the same or similar style or emotion is repeatedly used by a user to query the ASR system, a dynamic NLG template may be stored to speed future NLG processes. For example, instead of creating the same NLG dynamic template, the NLG dynamic template can be stored and later retrieved from memory when it is designated for use, thereby avoiding the need to recreate the NLG dynamic template. It should be noted that the dynamic NLG template is saved to become a static NLG template. In addition, the machine learning NLG process (and sub-processes) can use a variety of machine learning methods, including artificial neural networks, to select between NLG templates and / or to update or modify NLG templates.

In einer Ausführungsform kann ein Auswahlprozess für Vorlagen natürlichsprachlicher Generierung (NLG) neuronaler Netzwerke 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 Netzwerke 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 Netzwerke 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 Netzwerke 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.In one embodiment, a natural language generation (NLG) neural network (NLG) selection process may be used to select an NLG template based on a style (or emotion) of received speech signals and a communication destination identified based on the received speech signals. In one scenario, a first user may speak in a verbose and extravagant manner, and so a neural network NLG template selection process can be used to select a verbose NLG template that, when used for NLG, gives a verbose and extravagant response. For example, if a user or a user's language is recognized as talkative or verbose, an NLG template may be used to produce NLG output resulting in a talkative or verbose output; For example, if a user says, "Hello ASR system, what is the weather forecast for my current location," the system can answer, "Hello user 1 , today's weather is cloudy. The maximum temperature is 43 degrees Fahrenheit and the minimum temperature is 31 degrees Fahrenheit. "In another scenario, a second user can use very few words, and so an NLG template tailored to a more direct and concise style can be used in the NLG selection process Templates of neural networks are selected. Here you can select an NLG template that produces the following output: "Cloudy, high temperature 43 , Low temperature 31 . "The neural network NLG template selection process may select a static template based on the style or emotion of the user's language or may select using a NLG dynamic template. In the latter case, a NLG template generation process can be performed to generate a NLG dynamic template based on the style or emotion of the user's language.

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.Continuing to refer to the previous two examples, the first NLG template (the detailed NLG template) used a predefined set tailored to provide weather information: "Today's weather is <weather_condition>. The maximum temperature is <high_temp> degrees Fahrenheit and the minimum is <low_temp> degrees Fahrenheit. "The second NLG template (the direct NLG template) used a template phrase that was also tailored to provide weather information:"<weather_condition> , High temperature <high_temp>, low temperature <low_temp>". Here "<weather_condition>" is a placeholder or input field for the overall weather situation, such as: Cloudy, sunny, partly cloudy, etc., "<high_temp>" is the daily high temperature and "<low_temp>" is the daily low temperature. In addition, the first user said "Hello ASR system", and so the NLG engine learning process appended a "hello" statement to the beginning of the NLG output using the first NLG template to match the ASR input , The placeholders or input fields may provide a location within the phrase or phrase into which a reactive communication value may be inserted. For example, the reactive communication value for low temp " 31 "And using one of the templates, the reaction communication value can be inserted into the input field. In one embodiment, the first template may be a static template configured to be used for use when the communication destination is the provision of local weather and when the user or the user's language is verbose. In another embodiment, the NLG process may determine that there is no suitable static template for the response to the first user, and so may a dynamic template based on the verbosity of the received speech signals of the first user and / or on other information, such as For example, the communication goal to be developed.

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 handgehalterner 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. The machine learning process NLG, including the subprocesses described above, may be implemented in a computer-executable application that may be executed on a variety of different client devices, including hand-held mobile devices (eg, smartphones), home automation devices (e.g., smart personal computers) Assistants such as Amazon ™ Alexa ™ and Google ™ Home), vehicles, and / or any device that receives voice, can connect to a remote computer network, and can be configured to implement the machine learning NLG process or application described herein , In a particular embodiment, a vehicle may be used as a client device to receive and perform the machine learning NLG process. In other embodiments, the machine learning NLG process may be performed at a remote device that may have access to multiple resources (eg, multiple data) and / or higher processing capabilities. The NLG machine-learning process, including the NLG template machine-learning selection process, may be based on numerous inputs, including user history, user profile, communication destination, and communication value.

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.With reference to 1 , an operating environment is represented, which is a communication system 10 and which may be used to implement the method disclosed herein. The communication system 10 generally includes a vehicle 12 with a body control module (BCM) 26 and a wireless communication device 30 , a constellation of satellites of the Global Navigation Satellite System (GNSS) 60 , one or more wireless carrier systems 70 , a land communication network 76 , a computer 78 , a remote facility 80 and a personal mobile device 90 , It should be understood that the disclosed method may be used with any number of different systems and is not specifically limited to the operating environment shown herein. Also the architecture, construction, configuration and general operation of the system 10 and its individual components are well known in the art. Thus, the following paragraphs merely provide a brief overview of such a communication system 10 ready; but other systems not shown here could employ the disclosed methods.

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.The wireless carrier system 70 can be any suitable mobile phone system. The carrier system 70 is with a mobile mast 72 shown; however, the carrier system can 70 include one or more of the following components (eg, depending on the mobile technology): cell towers, base transmitting stations, mobile switching centers, base station controllers, developed nodes (e.g., eNodeBs), mobility management units (MMEs), serving and PGN gateways, etc and all other network components that are required to support the wireless carrier system 70 with the landline 76 or the wireless carrier system with the user equipment (UEs, eg the telematics equipment in the vehicle 12 may involve) to connect. The carrier system 70 can implement any suitable communication technique, including GSM / GPRS technology, CDMA or CDMA2000 technology, LTE technology, etc. Generally, there are wireless carrier systems 70 , their components, the arrangement of their components, the interaction of the components, etc., widely known in the art.

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.Apart from using the wireless carrier system 70 For example, a different wireless carrier system may be used in the form of satellite communications to provide unidirectional or bidirectional communication with the vehicle. This may be done using one or more communication satellites (not shown) and an uplink transmitting station (not shown). The unidirectional communication may be, for example, satellite radio services wherein programmed content data (news, music, etc.) is received from the uplink transmitting station, packed for uploading, and then sent to the satellite, which transmits programming to the subscribers. Bidirectional communication may be, for example, satellite telephony services using the one or more communication satellites to facilitate telephone communications between the vehicle 12 and the uplink station. In use, this satellite telephony can be either in addition to or instead of the wireless carrier system 70 be used.

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.The landline 76 may be a conventional land-based telecommunications network connected to one or more landline telephones and the wireless carrier system 70 with the remote location 80 combines. For example, the landline 76 a telephone network (PSTN) as used to provide landline telephony, packet-switched data communications and the Internet infrastructure. One or more segments of the fixed network 76 could be through the use of a standard landline, a fiber optic network or other fiber optic network, a cable network, through the use of power lines, other wireless networks, such as local wireless networks (WLAN) or networks that provide wireless broadband access (BWA) or any combination thereof.

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.The computer 78 (only one shown) may be some of a number of computers accessible over a private or public network, such as the Internet. Each of these computers 78 may be a client device that can perform speech processing and / or at least part of the machine learning NLG process. For other such accessible computers 78 For example, it may be: a computer at a service center where diagnostic information and other vehicle data may be uploaded from the vehicle; a client computer used by the vehicle owner or other subscriber for such purposes as accessing or receiving vehicle data or for setting or configuring subscriber preferences or controlling vehicle functions; a car sharing server that coordinates reservations and / or registrations of multiple users requesting the use of a vehicle as part of a car sharing service; or a third-party storage location, the vehicle data or other information either by communicating with the vehicle 12 or the remote facility 80 or both. A computer 78 may also be used for providing Internet connectivity, such as DNS services, or as a network address server using DHCP or other suitable protocol to the vehicle 12 assign an IP address.

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.The remote facility 80 can be designed to handle the vehicle electronics 20 and the mobile device 90 provides a variety of system backend capabilities using one or more electronic servers. For example, the remote device 80 partially used to allow or coordinate information between the vehicle 12 and one or more client devices, such as the mobile device 90 or the computer 78 to be sent. In one embodiment, the remote device 80 Provide voice recognition services that may include receiving voice signals from a customer device and processing the received voice signals using a voice recognition system. Additionally or alternatively, the remote device may 80 include one or more network switches, servers, databases, live advisors, and an automated voice response system (VRS), all of which are known in the art. The remote location 80 may include any or all of the various components, wherein all of the various components are preferably coupled together via a wired or wireless local area network. The remote location 80 receives and transmits data via a landline 76 connected 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.The remote facility 80 may also include one or more databases that may store account information such as subscriber authentication information, vehicle identifiers, profile records, behavior patterns, speech recognition, and / or NLG information (including NLG templates in a NLG template database) and other relevant subscriber information. As used herein, speech recognition and / or NLG information includes information that may be used to train a speech recognition or NLG system, such as the machine learning NLG process discussed in detail below. In some embodiments, the remote device may 80 perform one or more steps of the NLG process and / or supplement the NLG process by, for example, providing useful information to the client device performing the NLG process. Data transmissions can also be made by wireless systems, such. Eg IEEE 802.11x , GPRS and the like, take place. Professionals in the field will recognize that although only a remote facility 80 and a computer 78 in the illustrated embodiment, numerous remote devices 80 and / or computer 78 can be used.

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).The personal mobile device 90 is a mobile device and may include hardware, software, and / or firmware that facilitate cellular and short-range wireless communication (SRWC) and other mobile device applications. As used herein, a personal mobile device is a mobile device that is SRWC-enabled and that is portable by a user and that the portability of the device is at least partially dependent on the user, such as a portable device (e.g. Smartwatch), an implantable device, or a handheld device (for example, a smartphone, a tablet, a laptop). As used herein, a short-range wireless communication (SRWC) device is an SRWC-enabled device. The personal mobile device 90 may be a client device and may include a processor and memory (eg, a non-transitory computer-readable medium configured to operate with the processor) for storing the software, firmware, and so on. The personal mobile devices and the memory may be various software applications 92 allow the user (or manufacturer) to pre-install or install (for example, with a software application or graphical user interface (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 Netzwerke 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.An implementation of an application 92 for mobile devices may enable receiving speech and processing the received speech using speech recognition techniques, some of which may involve generating a Natural Language Generation (NLG) response. In some embodiments, the mobile device may 90 a client device performing the machine learning NLG process. For example, the mobile device 90 include a microphone that allows reception of speech waves generated by one or more users. In a particular embodiment, the selection of NLG templates may be performed on the mobile device according to the NLG process of neural networks discussed below. In some embodiments, the application 92 or another mobile device application may include a graphical user interface (GUI) that allows a user to enter credentials, transmit credentials for authorization and / or authentication, connect to the vehicle 12 to enter vehicle status information, to request vehicle functions, to configure functions to be performed and / or to configure one or more vehicle settings. The mobile device 90 can with the wireless communication device 30 according to one or more SRWC technologies or wired connections, such as a connection via a Universal Serial Bus (USB) cable. Although a single mobile device 90 is displayed, the communication can 10 a variety of mobile devices 90 include.

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.The vehicle 12 is illustrated as a passenger car in the illustrated embodiment, but it should be understood that any other vehicle, including motorcycles, trucks, sport utility vehicles (SUVs), recreational vehicles (RVs), ships, aircraft, etc., may also be used. Part of the vehicle electronics 20 is generally in 1 and includes a Global Navigation Satellite System (GNSS) module 22 , an engine control unit (ECU) 24 , a Body Control Module (BCM) 26 , a wireless communication device 30 that can be configured to perform a machine learning NLG process and / or voice recognition processing, other vehicle system modules (VSMs) 42 and numerous other components and devices. A part or the entire vehicle electronics can communicate with each other via one or more communication buses, such. Bus 44 , get connected. communication 44 provides vehicle electronics with network connections using one or more network protocols. Examples of suitable network connections include a Controller Area Network (CAN), a Media Oriented System Transfer (MOST), a Local Area Network (LIN), a Local Area Network (LAN), and other suitable connections, such as: Ethernet, or others that conform to known ISO, SAE and IEEE standards and specifications, among others.

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.The vehicle 12 can use numerous vehicle system modules (VSMs) as part of vehicle electronics 20 include, for example, the GNSS module 22 , ECU 24 , BCM 26 , the wireless communication device 30 and the vehicle user interfaces 52 -58, as described in more detail below. The vehicle 12 can also use other VSMs 42 in the form of electronic hardware components residing throughout the vehicle receiving an input from one or more sensors and using the sensed inputs to perform diagnostic, monitoring, control, reporting and / or other functions. Each of the VSMs 42 can over the communication bus 44 can be connected to the other VSMs and can be programmed to perform vehicle system tests and subsystem diagnostics. One or more VSMs 42 may update their software or firmware periodically or occasionally and, in some embodiments, such vehicle updates may be over-the-air (OTA) updates made by a computer 78 or a remote location 80 over the landline 76 and communication devices 30 be received. Those skilled in the art will recognize that the aforementioned VSMs are only examples of some of the modules used in the vehicle 12 can be used, but numerous other modules are also possible.

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.The Global Navigation Satellite System (GNSS) module 22 receives radio signals from a constellation of GNSS satellites. In one embodiment, the GNSS module 22 a GPS module (Global Positioning System), the GPS signals from a constellation of GPS satellites 60 can receive. These signals enable the module 22 Determine the vehicle position that may allow the vehicle to determine if it is in a known location, such as home or work. In addition, the GNSS module can 22 this location data (eg, geographic coordinates) to the wireless communication device 30 then use this data to identify known locations, such as B. the apartment or the workplace of a driver. In addition, the GNSS module 22 used to guide the driver Provide navigation and other location related services. Navigation information can be viewed on the display 58 (or other display within the vehicle) or presented in verbal form, as is the case for example with route description navigation. The navigation services may be operated using an associated vehicle navigation module (the part of the GNSS module 22 or some or all of the navigation services may be provided via a telematics unit installed in the vehicle, wherein the location information is sent to a remote location for the purpose of providing the vehicle with navigation maps, map annotations (sights, restaurants, etc.), route calculations, and the like , The location information may be sent to a remote facility 80 or another remote computer system, such as the computer 78 , for other purposes, such as B. Fleet management and / or for use in a car sharing service. In addition, new or updated map data can be obtained from a remote telematics unit via a vehicle-mounted telematics unit 80 into the GNSS module 22 be downloaded.

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.The vehicle electronics 20 Also includes a number of vehicle user interfaces that provide vehicle occupants with means for providing and / or receiving information, including pushbutton (s). 52 , Audio system 54 , Microphone 56 and visual display 58 , As used herein, the term "vehicle user interface" broadly encompasses any suitable form of electronic device that includes both on-vehicle hardware and software components and allows a vehicle user to communicate with or through a component of the vehicle. The pushbutton (s) 52 allow manual user input to the communication device 30 to provide additional data, responses or control inputs. The audio system 54 provides audio output to a vehicle occupant and may be an associated stand-alone system or part of the primary vehicle audio system. In accordance with the particular embodiment shown here, the audio system is 54 operational both with the vehicle bus 44 and also coupled to an entertainment bus (not shown) and can provide AM, FM and satellite radio, CD, DVD and other multimedia functionality. This functionality may be provided independently of or in connection with the infotainment module. The microphone 56 provides an audio input for the wireless communication device 30 to allow the driver or other occupant voice commands and / or handsfree over the wireless carrier system 70 which can be processed with speech recognition techniques, as explained in more detail below. The microphone 56 can be connected to an integrated automated language processing unit utilizing the human-machine interface (HMI) known in the art. The optical display or the touch screen 58 Preferably, it is a graphic display, such as a touch screen on the dashboard or a warning light, which is reflected off the windshield and can be used to provide a variety of input and output functions. Various other vehicle user interfaces can also be used because the interfaces of 1 merely serve as an example of a particular implementation.

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.The Body Control Module (BCM) 26 in the exemplary embodiment 1 as with the communication bus 44 electrically connected, shown. In some embodiments, the BCM 26 integrated with or part of a center stack module (CSM) and / or with a wireless communication device 30 to get integrated. Alternatively, the BCM and the CSM are separate devices that communicate via bus 44 connected to each other. The BCM 26 may include a processor and / or memory associated with the processor 36 and the memory 38 the wireless communication device 30 may be similar, as explained below. The BCM 26 can with the wireless communication device 30 and / or one or more vehicle system modules, such as GNSS 22 , Audio system 54 or other VSMs 42 , communicate. The processor and memory of the BCM 26 may be used to control or execute one or more vehicle operations including, for example, central locking control, air conditioning, exterior mirrors, vehicle ignition control or primary movers (eg, engine, prime mover), and / or the control of various other vehicle modules. The BCM 26 can data from the wireless communication device 30 and then send the data to one or more vehicle modules.

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.In addition, the BCM 26 Provide information that matches the vehicle condition or specific vehicle components or systems. For example, the BCM of the wireless communication device 30 Provide information indicating whether the vehicle's ignition is on, what gear the vehicle is currently in (ie in gear), and / or other vehicle related information. The BCM 26 may be used to determine one or more vehicle conditions, such as whether the vehicle is on, the battery charge of a vehicle battery, and / or other vehicle conditions. These Different vehicle conditions can be used as a wireless communication device 30 received and used as input for the machine-learning NLG process. For example, the vehicle may have certain mobile devices 90 can detect within or near the vehicle, and based on previous user settings or configurations, the vehicle may determine that the presence of a particular mobile device indicates a high probability that a particular user will be in the vicinity of the vehicle or on the vehicle located. This information can be used to identify the respective user so that an NLG template can be created, selected, and / or used by the vehicle to generate NLG output.

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.The wireless communication device 30 is able to transmit data over the short-range wireless communication (SRWC) and, in some embodiments, may transmit data over the cellular network communication. As in the exemplary embodiment of 1 shown includes the wireless communication device 30 an SRWC circuit 32 , a cellular chipset 34 , a processor 36 , Storage 38 and the antennas 40 and 50 , In some embodiments, the wireless communication device 30 specifically configured to carry out at least part of the method disclosed herein. In an embodiment, the wireless communication device 30 be a stand-alone module or, in other embodiments, the device 30 as part of one or more other vehicle system modules, such as a Center Stack Module (CSM), BCMs 26 , an infotainment module, a telematics unit, a main unit and / or a gateway module, integrated or be included. In some embodiments, the device may 30 as an OEM-installed (embedded) or as an after-market device installed in the vehicle.

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.The wireless communication device 30 may be for wireless communication in accordance with one or more wireless protocols including wireless local area network communication (SRWC), such as one of the IEEE 802.11 protocols, Wi-Fi ™, WiMAX, ZigBee ™, Wi-Fi ™ Direct, Bluetooth ™, Bluetooth ™ Low Energy (BLE) or Near Field Communication (NFC). As used herein, Bluetooth ™ refers to any of the Bluetooth ™ technologies, such as Bluetooth Low Energy ™ (BLE), Bluetooth ™ 4.1 , Bluetooth ™ 4.2 , Bluetooth ™ 5.0 and other Bluetooth ™ technologies that can be developed. As used herein, Wi-Fi ™ or Wi-Fi ™ technology refers to any of the Wi-Fi ™ technologies, such as IEEE 802.11b / g / n / ac or any other IEEE 802.11 technology. The short-range wireless communication circuit 32 allows the wireless communication device 30 To send and receive SRWC signals, such as BLE signals. The SRWC circuit can be the connection between the device 30 and another SRWC device. In addition, in some embodiments, the wireless communication device may be a mobile phone chipset 34 which allows the device to communicate over one or more mobile radio protocols, such as the mobile radio bearer system 70 be used.

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.The wireless communication device 30 it can be the vehicle 12 allow to communicate with one or more remote networks via packet-switched data communication. This packet-switched data communication can be achieved by using a non-vehicle-based wireless access point that is connected to a landline network via a router or modem. When the data transmission device 30 For packet-switched data communication, such as TCP / IP, it can be configured or set up with a static IP address to obtain an assigned IP address from another device in the network, such as a network device. As a router or a network address server to automatically receive.

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.Packet-switched data communication may also be via the use of a cellular network that is responsible for the device 30 can be accessible. The communication device 30 can have a cellular chipset 34 Data via the wireless carrier system 70 transfer. In such an embodiment, radio transmissions may be used to connect a communication channel, such as a voice channel and / or a data channel, to the wireless carrier system 70 set up so that voice and / or data transmissions can be sent and received over the channel. Data may be sent either over a data link, such as via packet data transmission over a data channel, or over a voice channel using techniques known in the art. For combined services involving both voice and data communications, the system may use a single call over a voice channel and switch between voice and data transmission over the voice channel as needed, again employing techniques known to those skilled in the art. It should be noted that the mobile device 90 may include a cellular chipset and / or other communication means that may be used for packet-switched data communication.

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 Netzwerkmodells 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. The processor 36 can be any type of device capable of handling electronic commands, including microprocessors, microcontrollers, host processors, controllers, vehicle communication processors, and application specific integrated circuits (ASICs). He can be a special for the data transfer device 30 be provided processor or it can be shared with other vehicle systems. The processor 36 Executes various types of digitally stored commands, such as software or firmware programs stored in memory 38 are stored, which the device 30 to provide a wide variety of services. For example, the processor 36 in at least one embodiment, execute programs or process data to perform at least part of the method described herein, which may include selecting and / or creating NLG templates using a neural network model. The memory 38 may include a volatile RAM memory or other temporarily operated memory, as well as a non-transitory computer-readable medium (e.g., EEPROM) or any other electronic computer medium storing some or all of the software for performing the various external device functions described herein.

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 Infotainment-Modul 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.In an embodiment, the wireless communication device 30 be operated both in the on state and in the off state. As used herein, an "on-state" is a state of the vehicle in which the ignition or prime mover system of the vehicle is on and, as used herein, a "disabled state" is a state of the vehicle in which the ignition or prime mover system the vehicle is not switched on. The operation or state of the wireless communication device 30 can by another vehicle system module, such as by the BCM 26 or controlled by an infotainment module. When switched on, the wireless communication device 30 always remain "on" or powered by a vehicle battery or other power source. When turned off, the wireless communication device 30 be kept in a low power mode or periodically energized, so that the device 30 can be activated and perform functions.

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.Now referring to 2 , becomes an illustrative architecture for an ASR system 210 which can be used to implement the method disclosed herein. Although the ASR system 210 hereafter with reference to the wireless communication device 30 of the vehicle 12 is explained, the ASR system 210 into any client device such as those described above, including the mobile device 90 and the computer 78 , An ASR system that conforms to the ASR system 210 may be integrated into one or more remote speech processing servers, including one or more at the remote facility 80 located server. In general, a vehicle occupant interacts via his voice with an Automatic Speech Recognition System (ASR) for one or more of the following reasons: training the system to the specific voice of the person in the vehicle; Storing word-for-word terms, such as a spoken contact, or a spoken control word, such as a reference number or a keyword; or recognizing the language of the person in the vehicle for any suitable purpose, such as voice dialing, menu navigation, transcription, service calls, control of devices and their function in the vehicle or the like. Generally, ASR draws acoustic data from human speech, compares and contrasts the acoustic data with stored data of subwords, makes a selection of a suitable subword that can be concatenated with other selected subwords, and passes the linked subwords for post processing, such as dictation or Transcription, dialing from the address book, storing, training the ASR models, or adjusting the parameters, etc. Additionally, in at least some embodiments, the ASR system may be used to perform at least part of the NLG machine learning process, including selection of an NLG Template and / or the generation of a NLG output based on a selected NLG template.

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.ASR systems are generally known to those skilled in the art and 2 only illustrates one specific illustrative ASR system 210 , The system 210 includes a device for receiving speech, such as the vehicle microphone 56 , and an acoustic interface 33 , such as a sound card of the wireless communication device 30 with an analog-to-digital converter to digitize the voice into acoustic data. The system 210 Also includes a memory, such as the vehicle memory 38 for storing the acoustic data and for storing speech recognition software and databases, and a processor such as the vehicle processor 36 for processing the acoustic data. The processor operates on the memory and in conjunction with the following modules: one or more front-end processor (s) or preprocessor software modules 212 for decomposing acoustic data of speech output in parametric representations, such as acoustic properties; one or more decoder software module (s) 214 for decoding the acoustic properties in digital output data in the form of (sub) words corresponding to the input utterances; and one or more post-processor software modules 276 to use the output data from the decoder module (s) 214 for all suitable purposes.

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.The system 210 can also record voice from other suitable audio sources 31 received, either in direct communication with the / the modules of the preprocessor software 212 as seen by the solid line, or indirectly through the acoustic interface 33 , To the audio sources 31 For example, a telephone source such as a voicemail system or any other telephone-based service may be included.

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.One or more modules or models may act as input to the decoder module (s) 214 be used. First, grammar and / or lexicon models 278 Provide rules that determine which words can logically follow other words to form valid sentences. Roughly speaking, a grammar can define a vocabulary universe that the system 210 expected at any given time in each ASR mode. Is the system located? 210 For example, in training mode to learn commands, then the grammar model (s) can / do 278 Include commands to the system 210 are known and used by this. Is the system located? 210 in another example in main menu mode, then the active grammar model (s) may / may 278 Include all the main menu commands that the system has 210 expected, such as call, dial, leave, delete, directory or the like. Furthermore, by the / the acoustic models 280 a support in choosing the most likely partial word according to the input of the preprocessor module 212 done. Third, word models 222 and sentence / language models 224 Provide rules, syntax, and / or semantics in classifying the selected sub-words or words into the context of the words or sentences. Furthermore, can / can sentence and language models 224 create a universe of sentences that the system 210 at any given time in each ASR mode, and / or provide rules that determine which sentences can logically follow other sentences to form an extended, valid speech output.

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.According to an alternative illustrative embodiment, some or all of the ASR system may 210 on a computing equipment at one of the vehicle 12 remote location, such as the computer 78 or the remote facility 80 , housed and processed. For example, grammar models, acoustic models and the like may be stored in the memory of one of the servers and / or databases in the remote facility 80 stored and to the wireless vehicle communication device 30 be transmitted to the vehicle's own speech processing. Likewise, the speech recognition software may be using processors of one of the remote servers in the remote device 80 are processed. In other words, the ASR system 210 in the wireless communication device 30 passing through the computer 78 / the remote device 80 and the vehicle 12 distributed in any way, be housed, and / or on the computer 78 or the remote facility 80 be housed.

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.First, acoustic data is extracted from the human speech that a vehicle occupant uses via the microphone 56 has entered, which converts the sounds into electrical signals and to the acoustic interface 33 passes. A sound-sensitive element in the microphone 56 captures the occupant's statements as variations in air pressure and converts the utterances into corresponding variations of an analog electrical signal, such as DC or voltage. The acoustic interface 33 receives the analog electrical signals that are initially sampled so that the values of the analog signal are detected at certain points of time, then quantized such that the amplitudes of the analog signals are converted into a continuous stream of digital speech signals at each sampling instant , In other words, the acoustic interface 33 converts the analog, electrical signals into digital, electronic signals. The digital data is binary bits stored in memory 38 the wireless communication device 30 buffered and then from the processor 36 the wireless communication device 30 can be processed or processed as soon as they are processed by the processor 36 be received in real time.

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.Then, the continuous stream of digital speech signals is processed by the preprocessor module (s) 212 converted into discrete sequences of acoustic parameters. More precisely, the processor performs 36 the preprocessor module (s) 212 to segment the digital voice data into overlapping phonetic or acoustic frames of, for example, 10-30 milliseconds (ms) duration. The frames correspond to acoustic subwords, such as syllables, demi-syllables, phones, diphones, phonemes, etc. The preprocessor module (s) 212 also performs phonetic analysis for each frame for extracting acoustic parameters from the speech output of the occupant, such as time-varying feature vectors. Utterances in the language of the occupant can be represented as sequences of these feature vectors. As is well known to those skilled in the art, feature vectors may be extracted and include, for example: pitch, energy profile, spectral Features and / or cepstral coefficients by Fourier transforms the frames and decorrelate the acoustic spectra by means of a cosine transform. Acoustic frames and corresponding parameters that cover a specific speech duration are linked to unknown test patterns for decoding.

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).As a third step, the processor leaves the decoder module (s) 214 to process the incoming feature vectors of each test pattern. The decoder module (s) 214 are also known as a recognition engine or classifier and use stored speech reference patterns. Like the test patterns, the reference patterns are defined as a concatenation of related acoustic frames and corresponding parameters. The decoder module 214 compares and contrasts the acoustic feature vectors of a subtype test pattern for comparison with stored reference patterns for subtotals, examines the degree of difference or similarity therebetween, and finally applies decision logic for selecting the most likely matching partial word as the recognized partial word. In general, the most consistent subword is that which is the least deviant stored sample, or most likely to coincide, the test pattern is determined by one of several techniques known to those skilled in the art for parsing and recognizing subwords. Such techniques may include: dynamic time-warping classifiers, AI techniques, neural networks, free phoneme recognizers, and / or probabilistic pattern matchers, such as a Hidden Markov Model (HMM) engine.

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.The HMM is known to those skilled in the art of creating many model hypotheses for speech recognition of an acoustic input. The hypotheses are considered in the final identification and selection of the output, which is the most likely correct decoding of the acoustic input due to the feature analysis of the speech. More specifically, an HMM engine generates statistical models in the form of an "N-best" list of hypotheses for subword models that are graded on the basis of HMM calculated confidence values or probabilities of an observed sequence of acoustic data the Bayes' theorem.

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.A Bayesian HMM method identifies a best hypothesis corresponding to the most probable utterance, or subword sequence, for a given set of acoustic feature vectors whose confidence values depend on a variety of factors, including the signal to noise ratio of the incoming acoustic signal. The HMM may also include a statistical distribution known as a mixture of diagonal Gaussian values containing a probability value for each detected feature vector of each subword, the values may be used to rearrange the N-best list of hypotheses. The HMM engine can also be used to identify and select a subword whose value is highest in the probabilistic model.

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.Similarly, individual HMMs can be concatenated for a sequence of subwords to form HMM for single or multiple words. Thereafter, an N-best list of word reference patterns and associated parameter values for single or multiple words may be generated and further evaluated.

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.In one example, the speech recognition decoder processes 214 the feature vectors using the appropriate acoustic models, grammars, and algorithms to generate an N-best list of reference patterns. As used herein, the term reference pattern is interchangeable with models, waveforms, templates, throughput models, specimens, hypotheses, or other types of references. A reference pattern may include a series of feature vectors representative of one word (or multiple words) or subtotals and based on particular speakers, speech styles, and ambient acoustic conditions. Those skilled in the art will recognize that reference patterns can be created by appropriate reference pattern training of the ASR system and stored in memory. Those skilled in the art will further appreciate that stored patterns may also be altered in which the parameter values of the reference patterns are adjusted due to differences in the signals of speech input in reference pattern training and the current use of the ASR system. For example, a set of reference patterns learned for one vehicle occupant, or certain acoustics, may be adapted for another vehicle occupant, or other acoustic conditions, and stored as a different set of reference patterns based on limited other person's learning data or acoustic conditions , In other words, the patterns are not necessarily rigid, they can be adjusted during speech recognition.

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.Using vocabulary grammar and all appropriate decoder algorithms and acoustic models, the processor accesses numerous reference patterns in memory that interpret the test pattern. For example, the processor may create a list of N-best vocabulary results or reference patterns along with corresponding parameter values, and save. Illustrative parameter values may include confidence and probability scores, noise ripple spacing values, and / or the like for each reference pattern in the N-best list of the vocabulary and associated segment durations. The N-best list of the vocabulary can be sorted in decreasing size of the parameter values. For example, the vocabulary reference pattern is the best reference pattern with the highest confidence, and so on. Once a set of recognized subwords has been created, they can be used to form words with word model inputs 222 whereas sentences are used with input from the language models 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-Modell(e) 214 oder Anpassungs-Parameter für das/die Präprozessor-Modul(e) 212 zu trainieren.Finally, the post processor software module (s) receive 276 the output data from the decoder module (s) 214 for all suitable purposes. In one example, the postprocessor software module (s) may / may 276 Identify one or more reference patterns from the N-best list for reference patterns of single or multiple words as recognized speech. In another example, the post-processor software module (s) may / may 276 used to convert audio data into text or numbers for use with other functions of the ASR system or other vehicle systems. In another example, the postprocessor software module (s) may / may 276 used to provide training feedback for the decoder 214 or preprocessor 212 provide. More specifically, the postprocessor 276 used for acoustic models for the decoder model (s) 214 or adjustment parameters for the preprocessor module (s) 212 to train.

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.In at least some embodiments, the ASR system may also be integrated with a natural language system (NLG) that may perform the machine learning process NLG described herein. In other embodiments, the machine learning process NLG may be part of a separate module and / or performed with different components or systems. In addition, the NLG process may be performed at different locations and / or using different components. In one embodiment, the vehicle or other client device may be used to perform the entire NLG process, or in another embodiment, a remote server or device may be used to perform the entire NLG process. In other embodiments, a combination of the client device and the remote server or device may be used to perform the NLG process. For example, selecting an NLG template at a remote facility 80 while generating the NLG template and / or generating the NLG output using the NLG template on the vehicle or other client device. There are various other embodiments that will be understood by those skilled in the art in light of the following discussion.

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.And, as will be apparent from the discussion below, the ASR system and / or the machine learning NLG application may be implemented in a client device, such as a vehicle 12 or mobile device 90 , and / or into a server device, such as one in the remote device 80 located server. In at least some embodiments, the ASR system located on the remote server may include more computing power as well as more speech recognition information that may be used to provide a more powerful ASR system than that residing on the client device; however, as will be appreciated by those skilled in the art, other embodiments exist.

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.The machine learning NLG process or portions thereof may be implemented in a computer program product (or "application") embodied in a computer readable medium and containing instructions used by one or more processors of one or more computers of one or more systems can. A computer software product may include one or more software programs consisting of program instructions in source code, object code, executable code, or other format; one or more firmware programs; or files of a hardware description language (HDL); and other program related data. The data may include data structures, value tables, or data in another suitable format. The program instructions may include program modules, routines, programs, objects, components, and / or the like. The computer program may be executed by one or more computers in conjunction with each other.

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.The program (s) may be embodied on computer readable media that may be non-transitory and include one or more storage devices, articles of manufacture, or the like. Examples of computer-readable media include computer system memory such as RAM (Random Access Memory), ROM (Read Only Memory); Semiconductor memory, eg EPROM (erasable, programmable ROM), EEPROM (electrically erasable, programmable ROM), flash memory; magnetic or optical disks or tapes; and/ or similar. A computer-readable medium may also include computer-to-computer connections when, for example, transmitting or providing data over a network or other communication link (wired, wireless, or a combination of both). All combinations of the above examples also fall within the scope of computer readable media. It is therefore to be understood that the method may be practiced, at least in part, by electronic articles and / or devices that may execute instructions in accordance with one or more steps of the disclosed method. Additionally, the ASR system or portions thereof may be embodied in a computer program product, similar to the computer program product that may embody the machine learning NLG process.

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 Netzwerke diskutiert, bei dem es sich um einen maschinell lernenden NLG-Prozess handelt, der künstliche neuronale Netzwerke 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.To get up now 3 come back, will be an embodiment of a method 300 for generating a Natural Language Generation (NLG) output. The procedure 300 can generally be used to receive voice signals, to determine whether to use a static NLG template or a NLG dynamic template using a machine learning NLG template selection process, and NLG output using a selected one To create NLG template. The machine learning selection process for NLG templates may result in the use of a dynamic template being specified, and in this case, an NLG template generation process may be performed to create the NLG dynamic template. After an NLG template has been selected and / or possibly generated, the NLG output can be generated using the selected NLG template, which is the case, at least in some embodiments. With respect to the particular embodiment of the method 300 discusses a NLG process of neural networks, which is a machine-learning NLG process using artificial neural networks to perform a selection process for NLG templates, a NLG template generation process and / or a NLG generation process To carry out expenses. Those skilled in the art will recognize that other machine learning methods can be used to perform the machine learning NLG process, including decision tree learning, learning association rules, deep learning, inductive logic programming, clustering, Bayesian networks, and many others.

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.The machine-learning NLG process may be on the processor 36 the wireless communication device 30 in vehicle 12 and / or on another VSM of the vehicle 12 be implemented. The machine learning NLG process may be on the wireless communication device 30 (or another VSM) can be implemented by the device 30 is configured with a machine-learning NLG application, which may be in the form of software and / or firmware instructions or part of a computer program product. The machine learning NLG application may initially be in a remote device, such as the remote device 80 , configured and / or compiled and may be on the wireless device 30 (or other client device) may be installed by using a provisioning process or an initial manufacturing process, before, during, or after the sale of the vehicle 12 (or another client device) can be performed. In some embodiments, the NLG template learning learning process may be implemented at a remote device, and a NLG output machine learning generation process may be implemented on a client device; however, this is only an example as those skilled in the art will recognize various other implementations in light of the discussion below.

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.In at least one embodiment, the NLG machine learning application may first include a set of computer instructions and a set of first NLG information, such as NLG template information, including a plurality of predefined or static NLG templates. The machine-learning NLG template selection process can be implemented on a client device in the form of a computer application and can therefore be referred to as a machine learning selection application for NLG templates. In addition, a dynamic NLG template may be generated for a particular user, and based on received speech signals from that user and / or based on a user profile, the NLG dynamic template may be updated to better reflect an NLG template tailored to the particular user. When a new user is first identified by the client device or the communication system, a predefined template based on the user settings can be selected. In subsequent machine learning NLG process iterations, the NLG template selection process may select a template for the user based on the profile of the user and / or the history of the user, which may be stored during the ASR processes, including the NLG processes , A static NLG template or a dynamic NLG can be selected using the user's history, and when a dynamic NLG template is selected, a dynamic NLG template can be used based on the history of usage, the profile and settings of the user, the received speech signals, and the communication destination. The history of the user may include information about previous machine learning NLG process iterations (including input, output, and performance metrics associated with NLG machine learning iterations), previously received speech signals, and analysis of previously used speech signals, including style, emotion, Dialect and / or character of the language. The profile of the user may include: one or more styles of speech signals previously communicated by the user, one or more styles selected by a user, or other information about the user's language. In one embodiment, the user's profile may include a typical speech style that tends to speak more than others to the user. For example, a first user may speak at length, and so the user profile may include an indication of it.

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.In addition, various NLG templates can be designed and / or predefined for different types of users, including: a verbose NLG template that uses whole sentences and / or wordier phrases; a direct NLG template that uses phrases and / or a reduced number of words; a formal NLG template that includes predefined statements or phrases using a formal language; an informal NLG template containing predefined statements or phrases using an informal or colloquial language; a clear-cut NLG template that produces NLG audio output that is designed to be very clear so that, for example, a person with damaged or below-average hearing or understanding can interpret the NLG output more likely; and / or a modern NLG template using popular expressions. One of these predefined templates can be selected to use as a starting point for a new user. The user can configure his user profile and / or settings to select a startup template, or the system can automatically select a template that determines that it best suits the user.

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 Netzwerke 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.The machine learning NLG application can be generated and / or trained with various training information, including information obtained from previous iterations of the machine learning NLG processes. In some embodiments, an NLG application of neural networks may be trained with various statistical algorithms. The machine-learning NLG application may be periodically updated and / or trained to improve the generation of NLG outputs. This may include using inputs and outputs from previous NLG process iterations (as well as performance counters) as training information for the machine learning NLG process. In addition, further training information (eg, input sentences and their associated or desired outputs) as well as updated software / firmware instructions may be provided by a remote server, such as the remote device 80 , sent to the client device. In one embodiment, the machine learning selection process for NLG templates may select static NLG templates until the NLG machine learning process is sufficiently trained so that dynamic templates can be generated that accurately reflect a style or type of response that reflects the NLG templates received speech signals or the profile / history of the user.

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.The training of the NLG machine learning or NLG learning application may be performed before the machine learning NLG application is installed on the client device and / or before the machine learning NLG application is configured for use on the client device. In addition, the initial training can be monitored using training information (inputs, outputs, and accuracy of expenses) obtained from previous NLG models. In other embodiments, the initial training may be unattended training. The initial training may be at a remote facility, such as the remote facility 80 , and once the initial training is completed and the client device is ready to be configured to use, the machine learning NLG application may be installed. The machine learning NLG application may be included as part or module of a speech recognition application and may be performed and / or integrated similarly to the ASR system discussed above.

In Ausführungsformen, die neuronale Netze für den maschinell lernenden NLG-Prozess verwenden, kann für den NLG-Prozess neuronaler Netzwerke ein flaches neuronales Netzwerk oder ein tiefes neuronales Netzwerk verwendet werden. Wie hierin verwendet, beinhaltet ein flaches neuronales Netzwerk eine einzelne versteckte Schicht, während ein tiefes neuronales Netzwerk eine Vielzahl von versteckten Schichten beinhaltet. Jede Schicht des neuronalen Netzwerks 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.In embodiments employing neural networks for the NLG machine learning process, a flat neural network or a deep neural network may be used for the NLG process of neural networks. As used herein, a flat neural network includes a single hidden layer while a deep neural network includes a plurality of hidden layers. Each layer of the neural network may include one or more nodes, each of which may point to one or more other nodes within the same hidden layer, to one or more other nodes within another hidden layer or to one or more output nodes.

Zum Beispiel zeigt 4 ein exemplarisches neuronales Netzwerkmodell dar, das im Auswahlprozess oder in der Anwendung für NLG-Vorlagen neuronaler Netzwerke verwendet werden kann. Das neuronale Netzwerkmodell 100 beinhaltet einen Satz von Eingabeknoten 102-108, Ausgabeknoten 122-124 für neuronale Netzwerke (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 Netzwerke 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 Netzwerkmodell 100 mit Bezug auf den Auswahlprozess für NLG-Vorlagen neuronaler Netzwerke erörtert wird, könnte ein neuronales Netzwerkmodell auch für die anderen Prozesse verwendet werden, einschließlich des Erzeugungsprozesses für NLG-Vorlagen neuronaler Netzwerke und des Erzeugungsprozesses für NLG-Ausgaben.For example, shows 4 an exemplary neural network model that can be used in the selection process or in the application for NLG templates of neural networks. The neural network model 100 includes a set of input nodes 102 - 108 , Output node 122 - 124 for neural networks (or machine learning) and a hidden layer covering the nodes 110 - 118 includes. The set of input nodes 102 -108 may each correspond to a different input, including a communication destination ( 102 ), a communication value ( 104 ), a user profile ( 106 ) and a user history ( 108 ). The hidden layer, including the knots 110 - 118 , can be used to associate the inputs with the appropriate output. The selection nodes 122 - 124 The NLG templates of neural networks may correspond to an NLG template, such as a static or predefined NLG template, or a NLG dynamic template. In one embodiment, the expenses 122 and 124 each associated with a probability or a statistical measure that has a posterior probability of using the static NLG template (output 122 ) and a posterior probability of using the NLG dynamic template (Issue 124 ). The template generation selection process can select the template with the highest probability. Various statistical models can be used as part of the machine learning selection process for NLG templates. Although the neural network model 100 With reference to the selection process for NLG templates of neural networks, a neural network model could also be used for the other processes, including the generation process for NLG templates of neural networks and the generation process for NLG outputs.

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.The procedure 300 starts with step 310 wherein voice signals are received at the client device. As mentioned above, the client device may be one of a variety of devices, including the vehicle 12 , the mobile device 90 and / or the computer 78 ; the procedure 300 However, this is done using vehicle 12 as the client device discussed. The vehicle 12 Can the voice signals through the microphone 56 at the wireless communication device 30 receive. The speech signals may be sampled to obtain a digital representation of the speech signals and from the processor 36 can be used. The scanning can be done on the microphone 56 , at the wireless communication device 30 or on another VSM of the vehicle 12 be performed. Once the voice signals have been received and sampled, the procedure goes 300 to step 320 over.

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.In step 320 a user or a probable user who has transmitted the voice signals is identified. In one embodiment, the received speech signals are processed with respect to the history of various users, and due to the processing, a particular user can be identified as a transmitter of the speech. Or the system may determine a likelihood that a particular user has transmitted the voice signals, and if the likelihood is above a certain threshold or higher than any other probabilities with respect to other users, then the system may determine that a user is likely to be the voice signals has transferred. These probabilities may be based on a user's history and / or profile, which may also include information about the voice signals previously used by a user. In a particular embodiment, a fingerprint may be generated for the voice of a particular user and used to identify a particular user.

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.Alternatively or additionally, a state of the client device, such as the vehicle, may be used to determine a user or a likely user who has transmitted the voice signals. In one scenario, the client device may be a smartphone belonging to a single user, and thus the system may be configured to determine that the user or likely users is the single user of the smartphone, and thus transmit the voice signals. In another embodiment, a vehicle may determine which users are on the vehicle by, for example, determining with which key the vehicle was started, which seats of the vehicle are occupied, and / or which personal mobile devices are in or near the vehicle are located. Other different vehicle conditions may be used. Once a particular user has been identified, the procedure goes 300 to step 330 over.

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 step 330 a communication destination is determined based on the received speech signals. As used herein, a communication destination is an intent that attempts to be communicated to the ASR system using the received speech signals. The intent may, as discussed above, be through the use of the ASR system 210 be determined. This can be done using various speech recognition techniques and then using post-processing methods for determining an intention to be communicated by the user. These post-processing methods may include using natural language understanding (NLU) processing techniques or a dialog manager that can interpret the received speech signals. Once the communication destination has been determined by the NLU system or the dialogue manager, the communication destination can be stored and assigned to the identified user.

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 Netzwerke 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 some embodiments, communication values may be obtained from the received voice. These communication values obtained from the received voice may be referred to as input communication values. As used herein, communication values are values that are specific to received speech or NLG output or response, such as values that are the subject of NLG output (eg, the current temperature, address, and name of a user or memory). Proper names, properties that are unique to a situation or user, and other dynamic information may be considered a communication value. For example, a user may ask, "What is the weather in Royal Oak, Michigan?" The city name "Royal Oak" and the state name "Michigan" may be considered communication values, the communication goal being to provide weather information about the entered communication values (or Royal Oak, Michigan). The communication values may be recognized as unique or dynamic information contained in received speech signals using a natural language understanding system (NLU). In at least some embodiments, these communication values may be used as input to the neural network NLG template selection process, as described below in step 350 explained. As explained in more detail below, communication values can also be obtained for entering in input fields of an NLG template. These communication values, which are obtained for input in input fields of an NLG template, can be referred to as reactive communication values. The procedure 300 then go to step 340 over.

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 step 340 It is determined whether an NLG output or a response should be generated. In some scenarios, an ASR system may receive voice signals and perform an operation, but may not need to generate and send NLG output because, for example, the execution of the operation speaks for itself-that is, performing the operation provides clues sufficient to the user convey that the language was interpreted accurately and / or led to the desired operation of the user. Whether or not a response is to be generated can be analyzed by analyzing the step in 330 determined communication goal. However, some communication destinations may require an NLG output or response, or may be supplemented by an NLG output or response, such as those in which the user polls the system via the voice signals, and based on the fact that the user is asking a question with his vote, it may be determined that the results of the query should be communicated or transmitted to the user preferably using speech. Thus, when it is determined that an NLG output or response is to be generated, the procedure proceeds 300 to step 350 otherwise, the procedure ends 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 Netzwerke ausgewählt, wobei der Auswahlprozess für NLG-Vorlagen neuronaler Netzwerke ein künstliches neuronales Netzwerk 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 Netzwerke durchgeführt wird, kann ein Satz von Eingaben erhalten werden, die im Auswahlprozess für NLG-Vorlagen neuronaler Netzwerke 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.In step 350 select a Natural Language Generation (NLG) template to use when generating an NLG output. In some embodiments, the NLG template is selected using a neural network NLG template selection process, wherein the neural network NLG template selection process uses an artificial neural network to solve a set of inputs to use an NLG template for use when generating a NLG output. Before the selection process for NLG templates of neural networks is performed, a set of inputs to be used in the selection process for NLG templates of neural networks can be obtained. The set of inputs may include the communication destination, a user history associated with the user, or a user profile associated with the user.

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 Netzwerke verwendet werden.According to one embodiment, the set of inputs includes a communication destination (eg, that in step 330 certain communication destination), communication values, information from the profile of a user and / or information from the history of a user. One or more of these metrics may be available at the time of reaching step 350 determined or earlier determined and stored in memory on the client device, such as the memory 38 the wireless communication device 30 , According to the latter scenario, upon reaching step 350 One or more metrics used in the set of inputs for the machine learning process NLG are retrieved from the storage device. In one embodiment, the user's history may include information identifying prior styles, dialects, or character information related to the user's previous use of language. In addition, based on the received language of a user or other user-configured settings, a style profile associated with the user may be used as input to the neural network template selection process.

Sobald alle Eingaben für den Auswahlprozess für NLG-Vorlagen neuronaler Netzwerke erhalten wurden, kann der Auswahlprozess für NLG-Vorlagen neuronaler Netzwerke durchgeführt werden. In einigen Ausführungsformen kann der Auswahlprozess für NLG-Vorlagen neuronaler Netzwerke 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.Once all the inputs to the NLG Nuclear Template Selection process have been received, the selection process for NLG Nuclear Networks templates can be performed. In some embodiments, the neural network NLG template selection process may be used: (i) determining whether to use a static NLG template or a NLG dynamic template; (ii) if it is determined that a static NLG template is used, then selecting an NLG static template from a plurality of static NLG templates; and (iii) if it is determined that a NLG static template is used, then generating a NLG dynamic template created using the NLG template generation process (step 360 ) can be carried out. Some or all of these steps may be performed on the client device, e.g. B. vehicle 12 , Or, one or all of these steps may be performed on a remote server, such as the remote device 80 contained. In one embodiment, the client device may be located in the remote device 80 NLG template database to query for predefined or static NLG templates that match the style of interaction of a particular user (eg, formal, informal, verbose, direct, and concise). The NLG template database may be queried using the communication destination, the style of the user, the communication values from the received voice, and / or the communication values to be used in the NLG output.

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.In many embodiments, a template is selected that corresponds to the vocabulary, style, style, and / or character of the user. If a predefined or static NLG template does not sufficiently match these attributes of the user, the template selection process can specify that a dynamic NLG template be created and used. The procedure 300 go to step 360 over, when a dynamic NLG template is selected to be used; otherwise, if a predefined or static NLG template is to be used, the procedure goes 300 to step 370 over.

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 Netzwerke für einen Erzeugungsprozess für NLG-Vorlagen neuronaler Netzwerke 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 Netzwerkansatz 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.When in step 360 it is determined that a NLG dynamic template is used to generate the NLG output, then the NLG dynamic template is generated. This may include generating an NLG template, in particular for the communication destination, and using a particular style to be used in the NLG output. In some embodiments, the set of inputs to the neural network NLG template selection process may be used for a neural network NLG template generation process used to generate the NLG dynamic template. The dynamic template can be based on a predefined or static NLG template, which can be changed according to the style or character of the user. For example, if the user is considered chatty and uses a particular type of dialect or idiom, the process may begin with a verbose static NLG template. Then, the detailed static NLG template can be changed with respect to the user's style to create a NLG dynamic template that better matches the user's style. In other embodiments, a rule-based approach rather than a neural network approach may be used to generate the dynamic templates. A rule-based approach may use a predefined set of rules for certain predefined templates, styles or emotions of language, user history, user profiles, communication goals, and / or communication values. These rules can be followed to develop a dynamic NLG template. Once a dynamic NLG template has been created, the procedure goes 300 to step 370 over.

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.In step 370 An NLG output is generated based on the selected NLG template. The NLG output can be generated by using predefined phrases or phrases from the selected NLG template and then inserting the communication values to be transferred into designated input fields within the predefined phrases and sentences. The communication values may be obtained and may be based on a user's style and / or emotion. The communication values may be obtained based on sending a communication value request to a remote server that can process the request and return communication values. For example, the communication value request may include an indicator of a communication destination and communication values included in the received speech signals. A remote server may then be queried to provide an appropriate response (ie, a communication value response) that satisfies the user's request or intent as communicated in the received voice signals. The communication value response can be received and used with the selected NLG template to generate the NLG output. Once the NLG output is generated, the NLG output can be communicated to the user, e.g. Through speakers or other audio playback device, such as the audio system 54 of the vehicle 12 , In other embodiments, the NLG output may include text displayed on a screen, such as the touch screen 58 of the vehicle 12 ,

Wie vorstehend erwähnt, kann der NLG-Prozess neuronaler Netzwerke 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 Netzwerke 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.As mentioned above, the NLG process of neural networks and / or the application (and sub-processes) may adapt, at least in some embodiments, based on previous iterations. In one embodiment, the neural network NLG template selection process may adapt by maintaining the set of inputs of a particular iteration and the NLG output for the given iteration. Additionally, the client device may determine a measured success of the given iteration based on one or more performance indicators. The performance indicators may include the time to perform speech recognition or the NLG machine-learning process, the accuracy of matching the style or emotion of the NLG output to the style or emotion of the received speech signals, and / or other indications of accuracy and / or Efficiency of the selection and / or production processes of NLG templates. In some embodiments, each one or more of the inputs may be used as a performance indicator. The procedure 300 ends then.

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.It should be understood that the foregoing is a description of one or more embodiments of the invention. The invention is not limited to the particular embodiment (s) disclosed herein, but is defined solely by the following claims. In addition, the statements made in the foregoing description refer to particular embodiments and are not to be construed as limitations on the scope of the invention or the definition of the terms used in the claims except where a term or phrase has been expressly defined above. Various other embodiments and various changes and modifications to the designated embodiment (s) will be apparent to those skilled in the art. All of these other embodiments, changes, and modifications should be understood to be within the scope of the appended claims.

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“.As used in this specification and claims, the terms "for example", "for example", "e.g. "," "As" and "equals" and the verbs "include," "comprise," "include," and their other verb forms, when used in conjunction with a listing of one or more components or other items, are each open which means that the listing will not be considered as excluding other, additional components or elements. Other terms are to be interpreted in their broadest reasonable sense, unless they are used in a context that requires a different interpretation. In addition, the term "and / or" is understood to include an inclusive OR. As an example, the term "A, B, and / or C" includes the following: "A"; "B"; "C"; "A and B"; "A and C"; "B and C" and "A, B and C".

Claims (10)

Verfahren zum Erzeugen von Ausgaben natürlichsprachlicher Generierung (NLG), wobei das Verfahren Folgendes umfasst: 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, 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 Netzwerkeerfolgt; 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.A method for generating natural language generation (NLG) output, the method comprising: Receiving speech signals from a user at a microphone of a client device; Determining a requested communication destination and at least one input communication value based on the received speech signals; Determine whether to use a static natural language generation (NLG) template or a dynamic NLG template to produce NLG output, determining whether to use a static NLG template or a dynamic NLG template. using a selection process for NLG templates of neural networks; Selecting an NLG template after determining whether to use a static NLG template or a dynamic NLG template; and Generate an NLG output based on the selected NLG template. Verfahren nach Anspruch 1, ferner umfassend den Schritt des Identifizierens eines Benutzers oder eines wahrscheinlichen Benutzers, der die Sprachsignale übermittelt hat, wobei der Auswahlprozess für NLG-Vorlagen neuronaler Netzwerke basierend auf einer Historie des identifizierten Benutzers oder wahrscheinlichen Benutzers und/oder einem Profil des identifizierten Benutzers oder wahrscheinlichen Benutzers durchgeführt wird.Method according to Claim 1 further comprising the step of identifying a user or likely user who has transmitted the voice signals, wherein the selection process for NLG templates of neural networks is based on a history of the identified user or likely user and / or profile of the identified user or likely user is carried out. Verfahren 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 Netzwerke verwendet wird.Method according to Claim 2 wherein the selected NLG template is selected based on the history of the identified user or the probable user and / or the profile of the identified user or the probable user, and wherein the method further comprises the step of identifying a style based on the received speech signals comprising history of the identified user or the probable user and / or the profile of the identified user or probable user, and wherein the identified style in the selection process is used for NLG templates of neural networks. Verfahren nach Anspruch 1, ferner umfassend 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;Method according to Claim 1 further comprising the step of determining that an NLG dynamic template is to be used to generate the NLG output and then generating the NLG dynamic template using a NLG template generation process; Verfahren 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 beide dieser beinhalten.Method according to Claim 4 wherein the NLG dynamic template is generated based on the communication destination and one or more received communication values, and wherein the method further comprises the step of identifying a user or a likely user who has transmitted the voice signals, wherein the dynamic NLG template is generated based on user information associated with the user or likely user, and wherein the user information includes either or both user history information or user profile information. Verfahren 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 Netzwerke ist.Method according to Claim 5 where the NLG template generation process is a rule-based generation process for NLG templates or a NLG template generation process for neural networks. Verfahren 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.Method according to Claim 1 , further comprising the steps of: sending a communication value request to a remote server, the communication value request being a request to obtain reactive communication values to be used in the NLG output based on the communication destination and the entered communication values; and receiving a communication value response from the remote server, the communication value response including reactive communication values to be used in generating the NLG output. Verfahren nach Anspruch 1, ferner umfassend den Schritt des Anpassens des Auswahlprozesses für NLG-Vorlagen neuronaler Netzwerke basierend auf früheren Iterationen des Auswahlprozesses für NLG-Vorlagen neuronaler Netzwerke.Method according to Claim 1 and further comprising the step of adjusting the selection process for NLG templates of neural networks based on previous iterations of the neural network NLG template selection process. Verfahren nach Anspruch 8, wobei der Anpassungsschritt ferner Anpassen des Auswahlprozesses für NLG-Vorlagen für neuronale Netzwerke basierend auf einem Satz von Eingaben, der NLG-Ausgabe und einem gemessenen Erfolg des Auswahlprozesses für NLG-Vorlagen neuronaler Netzwerke 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.Method according to Claim 8 wherein the adjusting step further comprises adjusting the neural network NLG template selection process based on a set of inputs, the NLG output, and a measured success of the neural network NLG template selection process, wherein the set of inputs is the communication destination, the input Communication values and information regarding a user or a probable user who has transmitted the voice signals includes. Verfahren zum Erzeugen von Ausgaben natürlichsprachlicher Generierung (NLG), wobei das Verfahren Folgendes umfasst: Empfangen von Sprachsignalen von einem Benutzer an einem Mikrofon einer Clientvorrichtung; Identifizieren eines Benutzers oder eines wahrscheinlichen Benutzers, der die Sprachsignale übermittelt 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 das Bestimmen, ob eine statische NLG-Vorlage oder eine dynamische NLG-Vorlage verwendet werden soll, unter Verwendung eines Auswahlprozesses für NLG-Vorlagen neuronaler Netzwerke erfolgt, wobei der Auswahlprozess für NLG-Vorlagen neuronaler Netzwerke ein künstliches neuronales Netzwerk 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; wobei bestimmt wird, ob eine statische NLG-Vorlage verwendet wird, und dann eine statische NLG-Vorlage ausgewählt wird; wenn bestimmt wird, eine dynamische NLG-Vorlage zu verwenden, dann Erzeugen der dynamischen NLG-Vorlage; und Erzeugen der NLG-Ausgabe unter Verwendung der ausgewählten NLG-Vorlage.A method for generating natural language generation (NLG) output, the method comprising: Receiving speech signals from a user at a microphone of a client device; Identifying a user or a likely user who transmitted the voice signals; Determining a communication destination and at least one input communication value based on the received speech signals; Determine whether to use a static NLG template or a NLG dynamic template for use in generating NLG output, determining whether to use a static NLG template or a NLG dynamic template using a selection process for NLG templates of neural networks, the neural network NLG template selection process uses an artificial neural network to solve a set of inputs to select whether to use an NLG static template or an NLG dynamic template for use in generating an NLG output, and wherein the set of inputs includes the communication destination, the input communication values, and either a user history associated with the user or a user profile associated with the user; wherein it is determined whether a static NLG template is used, and then a static NLG template is selected; if it is determined to use a NLG dynamic template, then generating the NLG dynamic template; and Generate the NLG output using the selected NLG template.
DE102018128006.8A 2017-11-13 2018-11-08 METHOD OF PRODUCING OUTPUTS OF NATURAL LANGUAGE GENERATION BASED ON USER LANGUAGE STYLE Active DE102018128006B4 (en)

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 true DE102018128006A1 (en) 2019-05-16
DE102018128006B4 DE102018128006B4 (en) 2022-05-05

Family

ID=66335771

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102018128006.8A Active DE102018128006B4 (en) 2017-11-13 2018-11-08 METHOD OF PRODUCING OUTPUTS OF NATURAL LANGUAGE GENERATION BASED ON USER LANGUAGE STYLE

Country Status (3)

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

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11288328B2 (en) 2014-10-22 2022-03-29 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
AU2019207800A1 (en) * 2018-01-10 2020-08-06 Qrs Music Technologies, Inc. Musical activity system
US10963649B1 (en) 2018-01-17 2021-03-30 Narrative Science Inc. Applied artificial intelligence technology for narrative generation using an invocable analysis service and configuration-driven analytics
US10755046B1 (en) 2018-02-19 2020-08-25 Narrative Science Inc. Applied artificial intelligence technology for conversational inferencing
US11307880B2 (en) * 2018-04-20 2022-04-19 Meta Platforms, Inc. Assisting users with personalized and contextual communication content
US10782986B2 (en) 2018-04-20 2020-09-22 Facebook, Inc. Assisting users with personalized and contextual communication content
US11886473B2 (en) 2018-04-20 2024-01-30 Meta Platforms, Inc. Intent identification for agent matching by assistant systems
US11715042B1 (en) 2018-04-20 2023-08-01 Meta Platforms Technologies, Llc Interpretability of deep reinforcement learning models in assistant systems
US11676220B2 (en) 2018-04-20 2023-06-13 Meta Platforms, Inc. Processing multimodal user input for assistant systems
US20210035579A1 (en) * 2018-05-01 2021-02-04 Ntt Docomo, Inc. Dialogue device
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
EP4018439A1 (en) 2019-08-21 2022-06-29 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 (en) * 2020-05-12 2021-06-11 北京邮电大学 Method and device for identifying modulation format and signal-to-noise ratio based on XOR neural network
EP4300359A3 (en) * 2020-07-13 2024-03-20 AI21 Labs Controllable reading guides and natural language generation
CN112233671A (en) * 2020-08-28 2021-01-15 广州南方卫星导航仪器有限公司 Method, device, equipment and medium for controlling GNSS receiver based on dialect recognition
WO2022077202A1 (en) * 2020-10-13 2022-04-21 Qualcomm Incorporated Methods and apparatus for managing ml processing model
US20220188390A1 (en) * 2020-12-16 2022-06-16 International Business Machines Corporation Spatiotemporal Deep Learning for Behavioral Biometrics
WO2023215260A1 (en) * 2022-05-02 2023-11-09 Ai21 Labs Reading assistant

Family Cites Families (18)

* 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
JPWO2014073612A1 (en) * 2012-11-08 2016-09-08 日本電気株式会社 Conversation sentence generation device, conversation sentence generation method, and conversation sentence generation program
US9798799B2 (en) * 2012-11-15 2017-10-24 Sri International Vehicle personal assistant that interprets spoken natural language input based upon vehicle context
US10095692B2 (en) * 2012-11-29 2018-10-09 Thornson Reuters Global Resources Unlimited Company Template bootstrapping for domain-adaptable natural language generation
US9177318B2 (en) * 2013-04-22 2015-11-03 Palo Alto Research Center Incorporated Method and apparatus for customizing conversation agents based on user characteristics using a relevance score for automatic statements, and a response prediction function
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
WO2016166417A1 (en) * 2015-04-13 2016-10-20 Equivalentor Oy Method for generating natural language communication
US10573299B2 (en) * 2016-08-19 2020-02-25 Panasonic Avionics Corporation Digital assistant and associated methods for a transportation vehicle
CN106547735B (en) * 2016-10-25 2020-07-07 复旦大学 Construction and use method of context-aware dynamic word or word vector based on deep learning
CN107329996B (en) * 2017-06-08 2021-06-29 三峡大学 Chat robot system and chat method based on fuzzy neural network
US10019491B1 (en) * 2017-11-29 2018-07-10 OJO Labs, Inc. Machine learning of response selection to structured data input

Also Published As

Publication number Publication date
US10380992B2 (en) 2019-08-13
CN109785828A (en) 2019-05-21
DE102018128006B4 (en) 2022-05-05
US20190147849A1 (en) 2019-05-16
CN109785828B (en) 2023-05-23

Similar Documents

Publication Publication Date Title
DE102018128006B4 (en) METHOD OF PRODUCING OUTPUTS OF NATURAL LANGUAGE GENERATION BASED ON USER LANGUAGE STYLE
DE102019105269B4 (en) METHOD OF SPEECH RECOGNITION USING SPEECH RECOGNITION ARBITRATION LOGIC
DE102019111529A1 (en) AUTOMATED LANGUAGE IDENTIFICATION USING A DYNAMICALLY ADJUSTABLE TIME-OUT
DE102018103188B4 (en) METHOD OF VOICE RECOGNITION IN A VEHICLE TO IMPROVE TASKS
DE102017121059A1 (en) IDENTIFICATION AND PREPARATION OF PREFERRED EMOJI
DE102011120315B4 (en) Adaptation of male acoustic models based on language-independent female speech data
US10083685B2 (en) Dynamically adding or removing functionality to speech recognition systems
US10229671B2 (en) Prioritized content loading for vehicle automatic speech recognition systems
DE102017102392A1 (en) AUTOMATIC LANGUAGE RECOGNITION BY VOICE CHANNELS
DE102008034143B4 (en) Method for ambient noise coupling for speech recognition in a production vehicle
DE102012217160B4 (en) Procedures for correcting unintelligible synthetic speech
DE102018125966A1 (en) SYSTEM AND METHOD FOR RECORDING KEYWORDS IN A ENTERTAINMENT
DE102012220796B4 (en) Method for initiating a handsfree conference call
DE102018128003A1 (en) NEURONAL NETWORK FOR USE IN VOICE RECOGNITION ARBITRATION
DE102017121054A1 (en) REMOTE LANGUAGE RECOGNITION IN A VEHICLE
DE102014111816A1 (en) Vehicle telematics unit and method for operating this
DE102010034433B4 (en) Method of recognizing speech
DE102008062542A1 (en) In-vehicle condition-aware speech recognition
CN105609109A (en) Hybridized automatic speech recognition
DE102018125564A1 (en) RESPONSE RAPID ACTIVATION OF A VEHICLE FEATURE
DE102019115685A1 (en) VOICE ACTIVATED VEHICLE ALARM
US20150255063A1 (en) Detecting vanity numbers using speech recognition
US20170018273A1 (en) Real-time adaptation of in-vehicle speech recognition systems
DE102013216427B4 (en) Device and method for means of transport-based speech processing
DE102019110418A1 (en) SYSTEM AND METHOD FOR SELECTING AND OPERATING A MOBILE DEVICE THROUGH A TELEMATICS UNIT

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