-
Technisches Gebiet
-
Ausführungsbeispiele betreffen ein Verfahren zur Unterstützung eines Nutzers bei einer Steuerung von Gerätefunktionen unter Verwendung von Sprachbefehlen. Weitere Ausführungsbeispiele betreffen ein Computerprogrammprodukt.
-
Hintergrund
-
In modernen Kraftfahrzeugen geht der Trend zu einer stets steigenden Anzahl an Funktionen des Fahrzeugs, die für Nutzer bereitgestellt werden. Die Funktionen können das Fahrzeug selbst betreffen (z.B. Fensteröffner, Klimaanlage, etc.) oder Entertainment-/Infotainment-Systeme betreffen (z.B. Audioanlage, Nachrichten, Verkehr, etc.) Um eine unüberschaubare Zahl an Bedienelementen zu vermeiden, wird oft eine Menüführung genutzt, um zu einer vom Nutzer zu bedienenden Funktion zu gelangen.
-
Neben der Verwendung von Schaltern, Knöpfen oder Touch-Displays kann bekanntermaßen auch Sprachsteuerung verwendet werden, um Funktionen des Fahrzeugs zu steuern. Steuerung von Fahrzeug-Funktionen mit Hilfe von Spracheingabe ist dabei zumindest in Fahrzeugen der Premiumklasse etabliert. Das mit Sprache bedienbare Funktionsspektrum wird dabei immer größer. Jedoch kann dadurch gerade bei Nutzem, die keine Erfahrung mit Sprachsteuerung haben eine Hürde entstehen, da sie die Befehle zur Bedienung per Sprache nicht kennen. Es kann vorkommen, dass Nutzer mangels Kenntnis der Möglichkeit zur Sprachsteuerung auf die Verwendung dieser verzichten.
-
Benutzer von Fahrzeugen oder anderen Geräten, die Funktionen per Sprachsteuerung einstellen wollen, müssen notwendigerweise die jeweiligen Sprachbefehle kennen, um dazu korrespondierende Funktionen zu steuern. Dies kann z.B. über eine Schulung des Benutzers beim Kauf des Fahrzeugs oder Gerätes erfolgen, oder über das Ansehen von Videos/Tutorials vom Hersteller.
-
Alternativ könnte der Benutzer auch versuchen, die Sprachbefehle zu erraten, in dem er verschiedene Befehle ausprobiert, um zu prüfen, ob diese vom Fahrzeug verstanden werden. In derartigen Konzepten kann der Nutzer jedoch einen Diskomfort erfahren oder die Sprachsteuerung auch dauerhaft nicht nutzen, z.B. wenn er nach mehrmaligem Versuch nicht die korrekten Sprachbefehle zur Gerätesteuerung errät. Wenn ein Nutzer nicht weiß, dass sein Gerät Sprachsteuerung unterstützt, wird er auch kaum auf eine Bedienungsanleitung zurückgreifen, um sich in die Thematik einzuarbeiten.
-
Zusammenfassung
-
Es ist eine Aufgabe der vorliegenden Offenbarung, verbesserte Konzepte für die Sprachsteuerung von Geräten oder Fahrzeugen bereitzustellen.
-
Diese Aufgabe wird gelöst gemäß den Gegenständen der unabhängigen Patentansprüche. Weitere vorteilhafte Ausführungsformen werden in den abhängigen Patentansprüchen, der folgenden Beschreibung sowie in Verbindung mit den Figuren beschrieben.
-
Entsprechend wird ein Verfahren zur Unterstützung eines Nutzers bei einer Steuerung von Gerätefunktionen unter Verwendung von Sprachbefehlen vorgeschlagen. Das Verfahren umfasst als Verfahrensschritt ein Detektieren einer Benutzerhandlung, durch welche der Nutzer eine Gerätefunktion einstellt. Ein weiterer Verfahrensschritt betrifft ein Erfassen einer finalen Einstellung der Gerätefunktion nach Abschluss der Benutzerhandlung. Das Verfahren umfasst als Verfahrensschritt ferner ein Ausgeben eines Sprachbefehls, der zu der vom Nutzer vorgenommenen Einstellung der Gerätefunktion korrespondiert.
-
Eine Benutzerhandlung kann eine Einstellung der Gerätefunktion in einem Schritt oder in mehreren Teilschritten umfassen. Zum Beispiel kann der Nutzer einen Knopf einfach oder mehrfach betätigen, um die von ihm gewählte Gerätefunktion wunschgemäß einzustellen. Verfahrensgemäß werden der Handlungsschritt oder die Handlungsschritte des Nutzers detektiert, z.B. aufgezeichnet und gespeichert. Als Nutzerhandlung kann die Bedienung (z.B. manuelle Bedienung, z.B. per Hand) von physikalischen Reglern oder Knöpfen erfasst werden.
-
Es kann erkannt werden, wenn der Nutzer die finale Einstellung der Gerätefunktion eingestellt hat (z.B. die Einstellung, die der Nutzer erreichen wollte). Das Erreichen der finalen Einstellung kann etwa dadurch erfasst werden, dass keine weiteren Handlungsschritte betreffend die Funktion des Geräts erfolgen. Das Erreichen der finalen Einstellung kann auch dadurch erfasst werden, dass eine gerätebedingte Endeinstellung erreicht ist (z.B. bei Gerätefunktionen, die auf ein einfaches Ein- und Ausschalten beschränkt sind; z.B. bei Erreichen einer maximalen oder minimalen Einstellungsstufe des Geräts). Wenn erkannt wird, dass die finale Einstellung vorliegt, kann z.B. ein Sprachbefehl an den Nutzer ausgegeben werden. Der Sprachbefehl kann allgemein zu einer manuellen Handlung des Nutzers korrespondieren oder auch speziell zur durch den Nutzer vorgenommenen finalen Einstellung korrespondieren.
-
Gemäß dem vorgeschlagenen Verfahren kann dem Nutzer z.B. als Alternative für das nächste Mal, wenn er die Geräteeinstellung ändern will, um zur erfassten finalen Einstellung zu gelangen, vorgeschlagen werden, dass er dies auch mittels Sprachsteuerung erreichen kann. Dazu kann ihm z.B. ein geeigneter Sprachbefehl ausgegeben werden. Die Ausgabe kann z.B. akustisch über einen Lautsprecher des Geräts erfolgen. Alternativ oder zusätzlich kann die Ausgabe auch visuell erfolgen. Beispielsweise kann der Nutzer mithilfe des vorgeschlagenen Verfahrens z.B. hinsichtlich der Verwendung der Sprachsteuerung geschult werden. Wenn der Nutzer beispielsweise ein Gerät manuell (z.B. mittels Schalter) einschaltet, kann dies erfasst werden und ihm verfahrensgemäß mitgeteilt werden, wie er dies alternativ mittels Sprachsteuerung erreichen kann (z.B. „Schalte das Gerät ein“). Eine derartige Schulung oder Unterstützung bei der Verwendung von Sprachbefehlen kann dem Nutzer unmittelbar aufzeigen, dass er auch die Möglichkeit zur Sprachsteuerung hat und wie er einen für ihn relevanten Sprachbefehl zu formulieren hätte.
-
Beispielsweise kann vorgesehen sein, dass die Benutzerhandlung als abgeschlossen behandelt wird oder gilt, wenn der Nutzer für zumindest drei Sekunden (oder für zumindest fünf Sekunden) keine weitere Einstellungsänderung vornimmt und/oder wenn ein vordefinierter Endzustand der Gerätefunktion erreicht ist. Beispielsweise kann per Fahrzeugkamera erkannt werden, wenn der Nutzer seine Hand von dem manuellen Bedienelement wegbewegt, sodass er keine weitere Einstellungsänderung vornehmen kann und somit davon ausgegangen werden, dass die gewünschte finale Einstellung erreicht ist. Vordefinierte Endzustände können sich durch das Erreichen einer Grenze der Einstellmöglichkeit ergeben (z.B. wenn keine weitere Benutzungshandlung zu erwarten ist), z.B. bei Öffnen eines Schiebedachs oder Fenster ein komplett offenes oder komplett geschossenes Schiebedach oder Fenster. Auch das Ausschalten eines Geräts (z.B. eines Radios) kann als vordefinierter Endzustand angesehen werden, da nach Ausschalten keine weitere Benutzungshandlung zu erwarten ist.
-
Ein Aspekt betrifft das Generieren des Sprachbefehls vor dem Ausgeben des Sprachbefehls an den Nutzer. Hierbei können auch mehrere unterschiedliche Sprachbefehle generiert werden, die je zur Nutzerhandlung und/oder der finalen Einstellung korrespondieren. Dabei kann es möglich sein, die gesamte erfasste Benutzerhandlung in einen entsprechenden Sprachbefehl zu übersetzen (z.B. bei mehreren Einzelschritten des Nutzers ein Sprachbefehl, der die Einzelschritte je separat beschreibt). Ein derartiger Sprachbefehl kann jedoch unnötig lang oder nicht intuitiv sein, beispielsweise wenn für die manuelle Einstellung das Durchklicken durch eine Menüführung notwendig ist. Daher kann das Generieren des Sprachbefehls derart erfolgen, dass der Nutzer mit diesem Sprachbefehl unmittelbar die finale Geräteeinstellung erreichen kann (z.B. bei manueller, inkrementeller Änderung der Gerätefunktion einen Sprachbefehl generieren, der direkt die schließlich erreichte, finale Einstellung ermöglicht). Alternativ oder zusätzlich kann z.B. wenn die manuelle Benutzerhandlung ein wiederholtes Betätigen derselben Einstellungsänderung betrifft (z.B. mehrmals wiederholter, selber Einzelschritt) ein Sprachbefehl zu eben dieser Einstellungsänderung (z.B. betreffend den wiederholten Einzelschritt) generiert werden, damit er an den Nutzer ausgegeben werden kann.
-
Beispielsweise kann entsprechend vorgesehen sein, dass der generierte Sprachbefehl im Fall, dass die Benutzerhandlung eine Verkettung von Einzelschritten aufweist, zu dem letzten Einzelschritt der Benutzerhandlung korrespondiert. Auf diese Weise kann ein verkürzter Sprachbefehl genutzt werden, der unmittelbar zur finalen Einstellung führt. Mit anderen Worten kann der generierte Sprachbefehl zum letzten Handlungsschritt in einer Handlungskette korrespondieren.
-
Beispielsweise kann die manuelle Einstellung etwa eine Sendersuche eines Radios betreffen. Der Nutzer kann entsprechend im Suchlauf mehrmals vorwärts klicken, bis er einen bestimmten Sender findet, den er eingestellt lässt. Der Sprachbefehl kann dann generiert werden, sodass er mit ihm direkt der bestimmte Sender eingestellt werden kann. Alternativ oder zusätzlich kann jedoch auch ein Sprachbefehl generiert werden, der zum Fortsetzen des Suchlaufs korrespondiert (z.B. „stelle nächsten Sender ein“).
-
Es ist also möglich, dass zu einer Benutzerhandlung eine Mehrzahl verschiedener Sprachbefehle generiert werden kann, die die Benutzerhandlung verschieden bewerten und/oder in unterschiedlicher sprachlicher Weise beschreiben oder ausdrücken (z.B. Verwenden unterschiedlicher Begriffe für dieselbe Handlung). Daher betrifft ein Aspekt des Verfahrens ein Auswählen eines Sprachbefehls aus einer Mehrzahl an zur vorgenommenen Geräteeinstellung korrespondierenden Sprachbefehlen zum Ausgeben an den Nutzer. Auf diese Weise kann z.B. eine Überforderung des Nutzers vermieden werden, die z.B. bei Ausgeben aller möglichen Sprachbefehle auftreten könnte. Ferner ist es möglich, einen auf den Nutzer angepassten Sprachbefehl auszuwählen und auszugeben. Dies kann eine Individualisierung des Verfahrens ermöglichen, wodurch z.B. eine bessere Annahme der Sprachsteuerung durch den Nutzer und/oder einfachere Bedienung der Sprachsteuerung für den Nutzer erreicht werden kann
-
Beispielsweise kann vorgesehen sein, dass derjenige Sprachbefehl zur Ausgabe ausgewählt wird, der im Sprachgebrauch häufiger verwendete Wörter aufweist. Beispielsweise werden Fremdwörter oder technische Spezialwörter im alltäglichen Sprachgebrauch eher seltener verwendet. Entsprechend kann bei mehreren vorhandenen Sprachbefehlen derjenige Sprachbefehl ausgewählt, der weniger Fremdwörter und/oder Fachwörter und/oder firmenspezifische Wörter verwendet als andere zur Auswahl stehende Sprachbefehle. Beispielsweise kann auch derjenige Sprachbefehl ausgewählt werden, der am kürzesten ist, z.B. um eine besonders schnelle Sprachsteuerung für Nutzer zu ermöglichen.
-
Beispielsweise kann vorgesehen sein, dass derjenige Sprachbefehl zur Ausgabe ausgewählt wird, der hinsichtlich des Sprachgebrauchs zu einem Geschlecht und/oder Alter des Nutzers korrespondiert. Hierdurch kann eine Individualisierung von Sprachbefehlen für den Nutzer erfolgen. Zum Beispiel kann es sein, dass junge Benutzer Ausdrücke der Jugendsprache bevorzugen und ältere Nutzer eine gehobene Ausdrucksweise bevorzugen. Beispielsweise kann berücksichtigt werden, wenn ein Nutzer eine besonders höfliche Ausdrucksweise bevorzugt (z.B. Einfügen von Höflichkeitswörtern in den generierten Sprachbefehl, der dann ausgewählt wird).
-
Beispielsweise kann vorgesehen sein, dass die Auswahl des auszugebenden Sprachbefehls in Abhängigkeit eines Ortes und/oder einer Geschwindigkeit eines Fahrzeugs, dessen Gerätefunktion eingestellt wird, erfolgt. Zum Beispiel kann vorgesehen sein, einen einfacheren und/oder kürzeren Sprachbefehl auszugeben, wenn das Fahrzeug bei hoher Geschwindigkeit fährt und/oder in einem hohen Verkehrsaufkommen fährt. Dadurch kann eine zu hohe Ablenkung des Nutzers (z.B. des Fahrers) vom Verkehrsgeschehen vermieden werden, sodass dieser seiner Fahrzeugführungsverpflichtung nachkommen kann.
-
Beispielsweise kann vorgesehen sein, dass zwei alternative Sprachbefehle ausgegeben werden, die für das Einstellen der durch die Benutzerhandlung eingestellten Gerätefunktion geeignet sind. Wie bereits beschrieben können manche Benutzerhandlungen verschiedenartig aufgefasst werden. Zum Beispiel kann eine Einstellungsänderung als relative und als absolute Einstellungsänderung interpretiert werden (z.B. Fortsetzen des Sendersuchlaufs als relative Interpretation und Einstellen des bestimmten Senders als absolute Interpretation). Entsprechend kann z.B. ein Sprachbefehl ausgegeben werden, der zu einer relativen Einstellungsänderung korrespondiert und ein zweiter Sprachbefehl ausgegeben werden, der zu einer absoluten Einstellungsänderung korrespondiert. Zum Beispiel kann sich der erste Sprachbefehl darauf beziehen, eine Temperatur um 3°C erhöhen und der zweite Sprachbefehl kann sich darauf beziehen, die Temperatur auf genau 22°C einstellen. Zum Beispiel kann sich der erste Sprachbefehl darauf beziehen, einen Radiosender weiterzuschalten und der zweite Sprachbefehl kann sich darauf beziehen, genau den manuell eingestellten Radiosender unmittelbar per Sprachbefehl einstellen zu können.
-
Gemäß einem Aspekt des Verfahrens kann ferner ein Bereitstellen einer Konfigurationsmöglichkeit für den Nutzer vorgesehen sein, die es dem Nutzer ermöglicht, für den ausgegebenen Sprachbefehl einen selbstgewählten Sprachbefehl alternativ oder zusätzlich vorzugeben. Dadurch kann der Nutzer die Sprachsteuerung noch individueller nutzen. Zum Beispiel können somit für oft genutzte Funktionen sehr kurze Sprachbefehle (z.B. nur einzelne Wörter für eine bestimmte Funktionseinstellung) verwendet werden.
-
Beispielsweise kann vorgesehen sein, dass die Gerätefunktion eine Funktion eines Fahrzeugs ist. Gerade durch die Vielzahl von Funktionen (z.B. ineinandergreifende Einstellungsmöglichkeiten oder abhängige Funktionen) werden in Fahrzeugen die Einstellungsmöglichkeiten immer komplexer, sodass eine manuelle Bedienung umständlich sein kann. Eine Sprachsteuerung kann hier die Bedienung vereinfachen. Auch haben Fahrzeugnutzer teils nicht dieselbe Technikaffinität wie Nutzer anderer digitaler Geräte (z.B. Smartphone; z.B. Smart-Home) wodurch sich ein erhöhter Bedarf einer Schulung dieser Nutzer hinsichtlich der Nutzung von Sprachsteuerung ergeben kann. Entsprechend betrifft ein Aspekt der Offenbarung ein Kraftfahrzeug, das zum Ausführen des vorgeschlagenen Verfahrens ausgebildet ist.
-
Ein weiterer Aspekt betrifft ein Computerprogrammprodukt mit einem Programmcode, der ausgebildet ist, das Verfahren durchzuführen, wenn das Programm auf einem Prozessor oder einer programmierbaren Hardwarekomponente abläuft. Ein derartiges Computerprogrammprodukt oder Programm kann z.B. auf einem Bordcomputer eines Fahrzeugs, in einem Smart-Home und/oder auf einem Mobilgerät eines Nutzers eingesetzt werden, sodass ein Nutzer des jeweiligen Gerätes eine verbesserte Unterstützung für eine Sprachsteuerung des Gerätes bekommen kann. Das Programm kann für alle Geräte, die über Sprachsteuerung verfügen, eingesetzt werden.
-
Entsprechend können je nach bestimmten Implementierungsanforderungen Ausführungsbeispiele der Offenbarung in Hardware oder in Software implementiert sein. Die Implementierung kann unter Verwendung eines digitalen Speichermediums, beispielsweise einer Floppy-Disk, einer DVD, einer Blu-Ray Disc, einer CD, eines ROM, eines PROM, eines EPROM, eines EEPROM oder eines FLASH-Speichers, einer Festplatte oder eines anderen magnetischen oder optischen Speichers durchgeführt werden, auf dem elektronisch lesbare Steuersignale gespeichert sind, die mit einer programmierbaren Hardwarekomponente derart zusammenwirken können oder zusammenwirken, dass das jeweilige Verfahren durchgeführt wird.
-
Eine programmierbare Hardwarekomponente kann durch einen Prozessor, einen Computerprozessor (CPU = Central Processing Unit), einen Grafikprozessor (GPU = Graphics Processing Unit), einen Computer, ein Computersystem, einen ASIC, einen IC, ein SoC, ein programmierbares Logikelement oder ein FPGA gebildet sein.
-
Das digitale Speichermedium kann daher maschinen- oder computerlesbar sein. Manche Ausführungsbeispiele umfassen also einen Datenträger, der elektronisch lesbare Steuersignale aufweist, die in der Lage sind, mit einem programmierbaren Computersystem oder einer programmierbaren Hardwarekomponente derart zusammenzuwirken, dass eines der hierin beschriebenen Verfahren durchgeführt wird. Ein Ausführungsbeispiel ist somit ein Datenträger (oder ein digitales Speichermedium oder ein computerlesbares Medium), auf dem das Programm zum Durchführen eines der hierin beschriebenen Verfahren aufgezeichnet ist.
-
Allgemein ist entsprechend vorgesehen, dass Ausführungsbeispiele der vorliegenden Offenbarung als Programm, Firmware, Computerprogramm oder Computerprogrammprodukt mit einem Programmcode oder als Daten implementiert sind, wobei der Programmcode oder die Daten dahingehend wirksam ist bzw. sind, eines der Verfahren durchzuführen, wenn das Programm auf einem Prozessor oder einer programmierbaren Hardwarekomponente abläuft. Der Programmcode oder die Daten kann bzw. können beispielsweise auch auf einem maschinenlesbaren Träger oder Datenträger gespeichert sein. Der Programmcode oder die Daten können unter anderem als Quellcode, Maschinencode oder Bytecode sowie als anderer Zwischencode vorliegen.
-
Figurenliste
-
Ausführungsbeispiele werden nachfolgend bezugnehmend auf die beiliegenden Figuren näher erläutert. Es zeigen:
- 1 ein Flussdiagram eines Verfahrens zur Unterstützung eines Nutzers bei einer Steuerung von Gerätefunktionen unter Verwendung von Sprachbefehlen; und
- 2 ein schematisches Beispiel einer Pfadstruktur von Bedienhandlungen zum Einstellen verschiedener Funktionen.
-
Beschreibung
-
Verschiedene Ausführungsbeispiele werden nun ausführlicher unter Bezugnahme auf die beiliegenden Zeichnungen beschrieben, in denen einige Ausführungsbeispiele dargestellt sind. In den Figuren können die Dickenabmessungen von Linien, Schichten und/oder Regionen um der Deutlichkeit Willen übertrieben dargestellt sein. Bei der nachfolgenden Beschreibung der beigefügten Figuren, die lediglich einige exemplarische Ausführungsbeispiele zeigen, können gleiche Bezugszeichen gleiche oder vergleichbare Komponenten bezeichnen.
-
Ein Element, das als mit einem anderen Element „verbunden“ oder „verkoppelt“ bezeichnet wird, mit dem anderen Element direkt verbunden oder verkoppelt sein kann oder dass dazwischenliegende Elemente vorhanden sein können. Solange nichts anderes definiert ist, haben sämtliche hierin verwendeten Begriffe (einschließlich von technischen und wissenschaftlichen Begriffen) die gleiche Bedeutung, die ihnen ein Durchschnittsfachmann auf dem Gebiet, zu dem die Ausführungsbeispiele gehören, beimisst.
-
1 zeigt ein Flussdiagram eines Verfahrens 10 zur Unterstützung eines Nutzers bei einer Steuerung von Gerätefunktionen unter Verwendung von Sprachbefehlen.
-
Das Verfahren 10 umfasst ein Detektieren 11 einer Benutzerhandlung, durch welche der Nutzer eine Gerätefunktion einstellt sowie ein Erfassen 12 einer finalen Einstellung der Gerätefunktion nach Abschluss der Benutzerhandlung. Das Verfahren umfasst ferner ein Ausgeben 13 eines Sprachbefehls, der zu der vom Nutzer vorgenommenen Einstellung der Gerätefunktion korrespondiert.
-
Verfahrensgemäß können somit Benutzerhandlungen ausgewertet werden, durch die der Nutzer eine Geräteeinstellung vornimmt (z.B. manuelles Einschalten eines Geräts). Zur Verbesserung der Bedienmöglichkeit per Sprachsteuerung für den Nutzer kann ein zur manuell vorgenommenen Einstellung korrespondierender Sprachbefehl ausgegeben werden. Somit wird der Nutzer auf die Möglichkeit der Sprachsteuerung hingewiesen und kann unmittelbar im zeitlichen Zusammenhang seiner manuellen Handlung einen korrespondierenden (z.B. alternativ zur manuellen Handlung verwendbaren) Sprachbefehl erlernen.
-
2 zeigt ein schematisches Beispiel einer Pfadstruktur 20 von Bedienhandlungen zum Einstellen verschiedener Funktionen. Durch manuelle Bedienschritte 211, 212, 213 können z.B. jeweilige Zielzustände 231, 232, 233 einer Gerätefunktion eingestellt werden. Die manuelle Benutzerhandlung kann erkannt werden und ein entsprechender Sprachbefehl ausgegeben werden, wie nachfolgend detaillierter beschrieben ist.
-
In der folgenden Beschreibung werden die im Kontext der Programmierung von Sprachsteuerung bekannten Begriffe „Intent“, „Utterance“ und „Slot“ verwendet. Die Definition dieser Begriffe folgt einer gebräuchlichen Verwendungsweise. Ein Intent bezeichnet die hauptsächliche Anfrage oder Aktion, die dem Befehl des Nutzers zugeordnet ist. Utterance bezeichnet die Wörter, die der Nutzer sagt, um dem Sprachassistenten mitzuteilen, was er möchte oder um auf eine Frage des Sprachassistenten zu antworten. Ein Slot bezeichnet ein Argument eines Intents, über das der Sprachassistent zusätzliche Informationen über die Anfrage erhält. Für die einzelnen Intents können die Slots entweder erforderlich oder optional sein.
-
Ein Grundaspekt der vorliegenden Offenbarung besteht darin, dass die manuellen Handlungen 211, 212, 213, die ein Benutzer ausgeführt hat, so auf einen oder mehrere Sprachbefehle abgebildet werden können, dass die Ausführung der Sprachbefehle zum selben Zielzustand 231, 232, 233 wie die Handlungen des Benutzers führen. Dem Benutzer werden die Sprachbefehle vorgespielt, damit dieser lernen kann, welche Sprachbefehle er alternativ zu seinen manuellen Handlungen nutzen könnte. Manuelle Handlungen können z.B. sein: das Drücken eines Knopfes; das Verstellen eines Reglers, das Klicken von Buttons in Menüs.
-
Beispielhaft wird ein einfaches Anwendungsbeispiel gegeben. In einem ersten Schritt kann der Benutzer den Kopf zum Öffnen des Schiebedachs drücken (z.B. erster Handlungsschritt 211 zum Einstellen eines ersten Zielzustandes 231 - in diesem Fall „offenes Schiebedach“ - der Gerätefunktion Schiebedach). In einem zweiten Schritt kann der Sprachassistent zum Benutzer sagen (z.B. Ausgeben eines Sprachbefehls) „Du kannst auch sagen: «Öffne das Schiebedach»“. In Folge kennt der Benutzer daraufhin diesen Sprachbefehl und kann ihn zukünftig nutzen. Bei einem wiederholten manuellen Öffnen des Schiebedachs kann z.B. ein alternativer Sprachbefehl zur Ausgabe ausgewählt werden (z.B. „Bitte öffne das Dachfenster“).
-
Für eine konkrete Ausgestaltung des vorgeschlagenen Konzepts werden im Folgenden drei Beispiele verwendet. Diese werden in 2 dargestellt, wobei ein Start-Knoten 21 einen Start des Verfahrens darstellt. Gestrichelt dargestellte Kästchen des Diagramms stellen je eine manuelle Handlung (z.B. je erste Benutzerhandlung 211, 212, 213 für eine jeweilige Funktion) des Benutzers dar (z.B. via Knöpfe/Taster/Menüs). Mit den Handlungen kann je eine assoziierte Utterance verbunden werden. Ein erreichter Zielzustand 231, 232, 233 der jeweiligen Gerätefunktion wird mittels eines Kästchens mit durchgehender Linie dargestellt. Im Folgenden bezeichnet die Bezeichnung „${VARIABLE}“ einen Slot eines Intents.
-
Eine erste Gerätefunktion kann die Bedienung eines Schiebedachs betreffen. Der Start 21 des Verfahrens kann z.B. dann erfolgen, wenn der Nutzer irgendeine manuelle Benutzerhandlung durchführt. Zum Beispiel kann der Start 21 mit der Benutzerhandlung 211 (z.B. Knopf für „Schiebedach öffnen“ gedrückt) zusammenfallen. Der erste Zielzustand 231 kann erreicht sein, wenn das Schiebedach offen ist. Entsprechend kann ein Sprachbefehl „Öffne das Schiebedach“ ausgegeben werden.
-
Eine zweite Gerätefunktion kann die Bedienung eines Radios betreffen. Eine zugehörige erste manuelle Nutzungshandlung 212 (z.B. Ein-Aus-Schalter Radio gedrückt) kann einen ersten Teilschritt einer Sequenz an Einzelschritten darstellen. Nach dem Einschalten 212 kann der Nutzer über verschiedene Pfade zum Zielzustand 232, z.B. Einstellen eines bestimmten Senders, gelangen. Eine erste Möglichkeit ist es, mehrmals eine manuelle Benutzerhandlung 212a, 212b (z.B. je Drücken der Taste „Nächster Sender“ zu tätigen, bis der Zielzustand 232 erreicht ist und der gewünschte Sender eingestellt ist und wiedergegeben wird. Alternativ kann eine manuelle Benutzungshandlung 212c gewählt werden, um direkt zum Zielzustand 232 zu gelangen (z.B. Drücken einer Kurzwahl-Taste). Entsprechend kann ein Sprachbefehl „Spiele ${RADIO_SENDER}“ ausgegeben werden.
-
Eine dritte Gerätefunktion kann die Bedienung einer Klimaanlage betreffen. Eine zugehörige erste manuelle Nutzungshandlung 213 (z.B. Erhöhen der Temperatur) kann zum Zielzustand 233 führen (z.B. Temperatur auf 22°C eingestellt). Entsprechend kann ein Sprachbefehl „Stelle Temperatur auf ${GRAD} Grad“ und/oder „Mir ist kalt“ und/oder „Erhöhe Temperatur um 2 Grad“ ausgegeben werden.
-
Ein System zum Ausführen des Verfahrens kann ausgebildet sein, die gesamte Benutzeraktion erfassen (z.B. Kette von Einzelschritten 212, 212a, 212b). Eine Benutzeraktion kann aus einer oder mehreren einzelnen Handlungen bestehen. Ein Schritt kann z.B. das Öffnen des Schiebedachs per Knopfdruck (z.B. einzelner Handlungsschritt 211) betreffen. Mehrere Schritte können z.B. das Einschalten des Radios (Nutzerhandlung 212) und den anschließenden Wechsel zum bestimmten Radiosender durch mehrmaliges Drücken der „nächster Sender Taste“ (z.B. Nutzerhandlung 212a, 212b). betreffen.
-
Um eine Benutzeraktion festzustellen, können z.B. bestimmte Zielzustände definiert werden (bspw. „Schiebedach ist offen“). Ist solch ein Zielzustand erreicht, dann ist die Benutzeraktion abgeschlossen und kann analysiert werden. Alternativ kann eine Benutzeraktion auch als abgeschlossen angesehen werden, wenn nach einer gewissen Zeitdauer (z.B. 5 Sekunden; z.B. 3 Sekunden; z.B. 1 Sekunde) keine weitere Handlung ausgeführt wird. Im Beispiel wird im mittleren dargestellten Handlungspfad nach dem zweiten Drücken der „Nächster Sender“-Taste (z.B. manuelle Nutzerhandlung 212b) keine weitere Handlung mehr ausgeführt, damit kann die Aktion als abgeschlossen angenommen oder behandelt werden.
-
Die vom Benutzer ausgeführten Aktionen können dabei unterschiedlich klassifiziert werden. Eine Handlung kann z.B. eindeutig einem Intent zugeordnet werden (z.B. Öffnen des Schiebedachs per Knopfdruck). Eine andere Art von Handlung kann z.B. nicht eindeutig einem Intent zugeordnet werden (z.B. Erhöhen der Klimaanlagen-Temperatur von 19° C auf 22 °C; hier kann der Nutzer verschiedene Ziele verfolgen, z.B. exakt einen Temperaturwert (z.B. 22 °C) einzustellen oder z.B. allgemein die Temperatur etwas zu erhöhen, weil dem Benutzer kalt war).
-
Nachdem die Benutzeraktion analysiert wurde, ist es möglich, einen Sprachbefehl zu generieren, der dem Benutzer z.B. vorgespielt wird, z.B. um ihn im Umgang mit dem Sprachassistenten zu schulen.
-
Dazu könnte zum einem der Pfad der vom Benutzer vollzogenen Handlungen nachverfolgt werden und die Utterances, die mit den einzelnen Handlungen assoziiert sind, zusammengefügt werden. In dem Beispiel der zweiten Gerätefunktion (z.B. Radio) ergäbe sich damit bspw. der Gesamtbefehl „Schalte das Radio ein, nächster Sender, nächster Sender“. Dieser Befehl ist allerdings nicht eindeutig, da das Ergebnis davon abhängt, welcher Sender beim Einschalten aktiv ist. Das Ergebnis dieses Sprachbefehls entspricht also nicht immer den Handlungen des Benutzers. Damit kann es sinnvoll sein, dass dieser generierte Sprachbefehl in diesem Beispiel nicht gewählt wird (z.B. beim Auswählen aus mehreren generierten Sprachbefehlen).
-
Wenn im System mehrere Pfade hinterlegt sind, auf die der Benutzer zu dem Zielzustand kommen kann, kann entschieden werden, welcher Pfad für die Generierung des Sprachbefehls gewählt wird. Zum einen kann natürlich der vom Benutzer eben gewählte Weg gewählt werden, da dies für Benutzer dann anschaulich ist. Alternativ kann der Pfad gewählt werden, der am kürzesten ist und damit den einfachsten Sprachbefehl erzeugt, damit sich der Benutzer diesen besser merken kann.
-
Alternativ wird der Zielzustand der Benutzeraktion mit einer im System abgelegten Liste von Intents verglichen. Im Beispiel der Radioeinstellung könnte im System der generische Intent „Spiele ${RADIO_SENDER}“ hinterlegt sein. Nun wird über den Abgleich mit dem Zielzustand der Slot ${RADIO_SENDER} z.B. zum Wert „Radio 1“ identifiziert. Damit kann z.B. der Sprachbefehl „Spiele den Radiosender Radio 1“ an den Benutzer ausgegeben werden.
-
Da die gesprochene Sprache viel Flexibilität in der Formulierung erlaubt, werden in einem Sprachassistenten üblicherweise für einen Intent mehrere verschiedene Utterances hinterlegt. Für ein und denselben Intent können also mehrere Utterances zur Verfügung stehen. Aus diesen kann gemäß einem Aspekt des Verfahrens nun eine Utterance ausgewählt werden, welche dann schlussendlich für den Benutzer ausgegeben werden soll.
-
Die Auswahl kann nach verschiedenen Strategien erfolgen. Die Utterances können z.B. vorab (d.h. beim Design des Sprachassistenten) gewichtet sein, z.B. können die Utterances nach Häufigkeit im allgemeinen Sprachgebraucht sortiert sein. Die Utterance mit dem höchsten Gewicht wird ausgewählt. Es kann z.B. zufällig eine der Utterances ausgewählt werden. Es können z.B. Informationen über den Benutzer mit in die Auswahl einbezogen werden (z.B. durch Nutzung von Daten eines Benutzerkontos oder durch Sensorik des zu bedienenden Gerätes, die den Nutzer erkennen kann). Bspw. können Daten vorliegen, welcher Zusammenhang zwischen Alter und Geschlecht mit dem Sprachgebrauch typischer Benutzergruppen vorherrscht. Dieser Zusammenhang (der auch über die Zeit hinweg durch Lernprozesse, z.B. unter Verwendung von künstlicher Intelligenz, z.B. Machine Learning, verbessert werden kann) kann angewendet werden, um die für den Benutzer passendste Utterance auszuwählen. Für die Auswahl können z.B. auch weitere Faktoren wie Ort und Geschwindigkeit eines Fahrzeugs dessen Funktion bedient werden soll, Uhrzeit, Belegung des Fahrzeugs, etc. einfließen.
-
Eine Aspekt betrifft eine Festlegung eines Sprachbefehls durch den Nutzer dar, um einen bestimmten Zielzustand zu erreichen. So könnte der Benutzer mit dem von ihm festgelegten Sprachbefehl „spiel meinen Lieblingssender“ den Zielzustand „Spiel den Radiosender Radio 1“ verknüpfen.
-
Das vorgestellte Konzept eignet sich gleichermaßen zur Verwendung in einem Fahrzeug wie auch bei anderen Geräten, z.B. um eine jeweilige Sprachsteuerung dem Nutzer zugänglicher zu machen oder einfacher zu gestalten. Die beschriebene Analyse der Benutzeraktionen kann z.B. auch im Zusammenspiel mit Smart Home Geräten angewendet werden.
-
Weitere Einzelheiten und Aspekte sind in Verbindung mit den vor- oder nachstehend beschriebenen Ausführungsbeispielen erwähnt. Das in 2 gezeigte Ausführungsbeispiel kann ein oder mehrere optionale zusätzliche Merkmale aufweisen, die einem oder mehreren Aspekten entsprechen, die in Verbindung mit dem vorgeschlagenen Konzept oder mit einem oder mehreren vorstehend (z.B. 1) oder nachstehend beschriebenen Ausführungsbeispielen erwähnt sind.
-
Beispiele beziehen sich auf ein Verfahren bezüglich Utterance-Synthese, das z.B. zur Benutzer-Schulung von Sprachassistenten eingesetzt werden kann. Manuelle Handlungen, die ein Benutzer ausgeführt hat, können dabei auf einen oder mehrere Sprachbefehle abgebildet werden, so dass die Ausführung der Sprachbefehle zum selben Zielzustand wie die manuellen Handlungen des Benutzers führen. Dem Benutzer werden die Sprachbefehle dann präsentiert, damit dieser lernen kann, welche Sprachbefehle er alternativ zu seinen manuellen Handlungen nutzen könnte. Ein unmittelbares Präsentieren der korrespondierenden Sprachbefehle im zeitlichen Zusammenhang der manuellen Handlung kann dabei einen Lerneffekt für das Nutzen der Sprachsteuerung deutlich positiv beeinflussen.