DE202017105719U1 - Kontext-Hotwords - Google Patents

Kontext-Hotwords Download PDF

Info

Publication number
DE202017105719U1
DE202017105719U1 DE202017105719.4U DE202017105719U DE202017105719U1 DE 202017105719 U1 DE202017105719 U1 DE 202017105719U1 DE 202017105719 U DE202017105719 U DE 202017105719U DE 202017105719 U1 DE202017105719 U1 DE 202017105719U1
Authority
DE
Germany
Prior art keywords
hotword
audio data
computing device
determination
context
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
DE202017105719.4U
Other languages
English (en)
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.)
Google LLC
Original Assignee
Google 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 Google LLC filed Critical Google LLC
Priority to DE202017105719.4U priority Critical patent/DE202017105719U1/de
Publication of DE202017105719U1 publication Critical patent/DE202017105719U1/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/16Sound input; Sound output
    • G06F3/167Audio in a user interface, e.g. using voice commands for navigating, audio feedback
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/10Speech classification or search using distance or distortion measures between unknown speech and reference templates
    • 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
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L2015/088Word spotting
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • G10L2015/223Execution procedure of a spoken command
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • G10L2015/226Procedures used during a speech recognition process, e.g. man-machine dialogue using non-speech characteristics
    • G10L2015/228Procedures used during a speech recognition process, e.g. man-machine dialogue using non-speech characteristics of application context

Abstract

Nicht flüchtiges, computerlesbares Speichermedium, das ein Computerprogramm speichert, das bei Ausführung durch einen Prozessor eingerichtet ist, ein Verfahren durchzuführen, das Folgendes umfasst: die Bestimmung, durch ein Computergerät, eines Kontexts, das mit dem Computergerät verknüpft ist; basierend auf dem Kontext, der mit dem Computergerät verknüpft ist, die Bestimmung eines Hotwords; nach der Bestimmung des Hotwords den Erhalt von Audiodaten, die einer Äußerung entsprechen; die Bestimmung, dass die Audiodaten das Hotword beinhalten; und als Reaktion auf die Bestimmung des Hotwords in den Audiodaten die Durchführung einer Operation, die mit dem Hotword verknüpft ist.

Description

  • GEBIET
  • In Übereinstimmung mit den Bestimmungen des Gebrauchsmustergesetzes sind nur Vorrichtungen, wie sie in den anliegenden Ansprüchen definiert sind, geschützt und vom Gebrauchsmuster abgedeckt, nicht jedoch Verfahren. Soweit in der nachstehenden Beschreibung gegebenenfalls auf Verfahren Bezug genommen wird, dienen diese Hinweise nur zur exemplarischen Erläuterung der mit den anliegenden Schutzansprüchen geschützten Vorrichtung(en).
  • Diese Beschreibung betrifft generell automatisierte Sprachverarbeitung.
  • HINTERGRUND
  • Die Realität eines sprachgesteuerten Haushaltes oder einer anderen Umgebung – d. h. eine, in der ein Benutzer eine Abfrage oder einen Befehl nur laut aussprechen muss und ein computergestütztes System beantwortet die Abfrage und/oder lässt den Befehl ausführen – ist da. Eine sprachgesteuerte Umgebung (z. B. Haushalt, Arbeitsplatz, Schule usw.) kann unter Verwendung eines Netzwerks von verbundenen Mikrofongeräten implementiert werden, die in verschiedenen Räumen oder Bereichen der Umgebung verteilt sind. Durch solch ein Netzwerk von Mikrofonen kann ein Benutzer das System prinzipiell überall in der Umgebung mündlich abfragen, ohne sich vor oder auch nur in der Nähe eines Computers oder einer anderen Vorrichtung befinden zu müssen. Während er in der Küche kocht, kann ein Benutzer beispielsweise das System fragen „Wie viele Milliliter sind in drei Tassen?“ und als Reaktion, z. B. in Form einer künstlichen Sprachausgabe, eine Antwort vom System erhalten. Alternativ könnte ein Benutzer dem System Fragen stellen, wie „Wann schließt meine nächstgelegene Tankstelle“ oder vor dem Verlassen des Hauses „Sollte ich heute einen Mantel anziehen?“.
  • Weiterhin kann ein Benutzer eine Abfrage und/oder einen Befehl an das System ausgeben, die/der sich auf persönliche Informationen des Benutzers bezieht. Beispielsweise könnte ein Benutzer das System fragen „Wann ist mein Treffen mit John?“ oder das System anweisen „Erinnere mich daran, John anzurufen, wenn ich nach Hause komme“.
  • KURZDARSTELLUNG DER OFFENBARUNG
  • Bei einem sprachgesteuerten System ist die Art und Weise der Interaktion des Benutzers mit dem System hauptsächlich, wenn nicht ausschließlich, auf Spracheingabe ausgerichtet. Daher muss das System, das potenziell alle Äußerungen in der Umgebung aufnimmt, auch die, welche nicht an das System gerichtet sind, eine Methode zur Erkennung haben, um zwischen einer an das System gerichteten Äußerung und einer beispielsweise an eine anwesende Person gerichtete Äußerung zu unterscheiden. Eine Möglichkeit, dies zu erreichen, ist die Verwendung eines Hotwords, das nach Zustimmung aller Benutzer in der Umgebung als ein vorbestimmtes Wort reserviert ist, das bei Aussprache die Aufmerksamkeit des Systems erweckt. In einer Beispielumgebung besteht das Hotword zur Erreichung der Aufmerksamkeit des Systems aus den Worten „OK Computer“. Daher werden die ausgesprochenen Worte „OK Computer“ bei jeder Erfassung durch ein Mikrofon an das System geleitet, das anhand von Sprachmodelltechnologien bestimmt, ob das Hotword gesprochen wurde, und, wenn dem so ist, auf einen folgenden Befehl oder eine Abfrage wartet. Dementsprechend weisen an das System gerichtete Äußerungen die allgemeine Form [HOTWORD] [ABFRAGE] auf, wobei „HOTWORD“ in diesem Beispiel „OK Computer“ und „ABFRAGE“ jede(r) Frage, Befehl, Aussage oder andere Anforderung sein kann, die als Sprache vom System erkannt, geparst und behandelt werden kann, entweder allein oder über eine Netzverbindung mit dem Server.
  • In Fällen, in denen der Benutzer einem Spracherkennungssystem viele auf Hotwords basierte Befehle gibt, beispielsweise einem Mobiltelefon, kann die Interaktion des Benutzers mit dem Telefon schwierig sein. Der Benutzer sagt möglicherweise „OK Computer, spiele meine Hausarbeits-Playliste ab“. Das Telefon kann dann mit der Wiedergabe des ersten Titels der Playliste beginnen. Der Benutzer möchte eventuell zum nächsten Lied springen und sagt „OK Computer, nächstes“. Um zu noch einem anderen Lied zu springen, kann der Benutzer erneut sagen „OK Computer, nächstes“. Um das Hotword nicht ständig wiederholen zu müssen, kann das Telefon so konfiguriert werden, dass es „nächstes“ sowohl als Hotword, als auch als Abfrage, oder in diesem Fall, als Befehl erkennt. Dank dieser Eigenschaft ist die Interaktion des Benutzers mit dem Telefon und der Musikanwendung natürlicher, da er anstatt „OK Computer, nächstes“ nur noch „nächstes“ sagen muss.
  • Um das zu leisten, ermittelt das Spracherkennungssystem einen gegenwärtigen Kontext des Systems und identifiziert entsprechende Hotwords. Der Kontext kann auf einer auf dem System laufenden Anwendung, der Position oder Bewegung des Systems oder einer jeglichen anderen ähnlichen Situation basieren. Das System kann den Kontext des Systems verwenden, um zusätzliche Hotwords zu identifizieren. Beispielsweise kann das System bei der Steuerung der Musikwiedergabe die Hotwords „nächstes“, „Stopp“ und „zurück“ identifizieren. Das System kann für jedes der erkannten Hotwords ein Hotword-Modell anfordern. Das System kann die Hotword-Modelle zur Erkennung der neuen Hotwords verwenden, indem es die Eigenschaften der Audiodaten verarbeitet, die der Sprechweise des Benutzers entsprechen, und die Hotword-Modelle auf die Audioeigenschaften anwendet. Das System erkennt ein gesprochenes Hotword und führt die entsprechende Operation aus. Sagt der Benutzer „Stopp“ und „Stopp“ ist ein aktives Hotword, da das System Musik wiedergibt, dann kann das System die Musikwiedergabe anhalten.
  • Entsprechend einem innovativen Aspekt der für diese Anwendung beschriebenen Thematik kann ein System konfiguriert werden, Operationen eines Verfahrens zum Abbau von Sicherheitsschranken durchzuführen, die folgende Vorgänge beinhalten: die Bestimmung, durch ein Computergerät, eines Inhalts, der mit dem Computergerät verknüpft ist; basierend auf dem Kontext, der mit dem Computergerät verknüpft ist, die Bestimmung eines Hotwords; nach der Bestimmung des Hotwords den Erhalt von Audiodaten, die einer Äußerung entsprechen; die Bestimmung, dass die Audiodaten das Hotword beinhalten; und als Reaktion auf die Bestimmung, dass die Audiodaten das Hotword beinhalten, die Ausführung einer mit dem Hotword verknüpften Operation.
  • Diese und andere Implementierungen können jeweils optional eines oder mehrere der folgenden Merkmale beinhalten. Der Vorgang der Bestimmung, dass die Audiodaten das Hotword beinhalten, beinhaltet, dass die Bestimmung, dass die Audiodaten das Hotword beinhalten, ohne eine Spracherkennung der Audiodaten erfolgt. Der Vorgang der Bestimmung, dass die Audiodaten das Hotword beinhalten, beinhaltet die Extrahierung von Audioeigenschaften aus den Audiodaten, die der Äußerung entsprechen; die Erzeugung eines Wahrscheinlichkeitswerts für das Hotword durch die Verarbeitung der Audioeigenschaften; die Bestimmung, dass der Wahrscheinlichkeitswert für das Hotword einen Schwellenwert erreicht; und basierend auf der Tatsache, dass der Wahrscheinlichkeitswert einen Schwellenwert erreicht, die Bestimmung, dass die Audiodaten, die der Äußerung entsprechen, das Hotword beinhalten. Die Vorgänge beinhalten ferner den Erhalt eines Hotword-Modells, das dem Hotword entspricht, nachdem das Hotword bestimmt wurde. Der Vorgang der Bestimmung, dass die Audiodaten das Hotword beinhalten, die Bestimmung mithilfe des Hotword-Modells beinhaltet, dass die Audiodaten das Hotword beinhalten.
  • Der Vorgang der Erkennung einer Anwendung, die auf dem Computergerät läuft, durch das Computergerät. Der Kontext basiert auf der Anwendung, die auf dem Computergerät läuft. Die Vorgänge beinhalten ferner die Bestimmung durch das Computergerät, dass der Kontext nicht länger mit dem Computergerät verknüpft ist; und die Bestimmung, dass danach empfangene Audiodaten, die das Hotword beinhalten, keine Operation auslösen. Die Vorgänge beinhalten ferner die Bereitstellung von Daten zur Identifikation des Hotwords für die Ausgabe. Die Vorgänge beinhalten ferner die Erkennung der Bewegung des Computergeräts durch das Computergerät. Der Kontext basiert auf der Bewegung des Computergeräts. Die Vorgänge beinhalten ferner die Erkennung des Standorts des Computergeräts durch das Computergerät. Der Kontext basiert auf dem Standort des Computergeräts. Der Vorgang der Ausführung einer Operation, die mit dem Hotword verknüpft ist, beinhaltet die Durchführung einer Spracherkennung für einen Teil der Audiodaten, der das Hotword nicht beinhaltet. Die Operation basiert auf einer Transkription des Teils der Audiodaten, der das Hotword nicht beinhaltet. Die Audiodaten beinhalten nur das Hotword. Ein erster Teil der Audiodaten beinhaltet das Hotword.
  • Ausführungsformen dieses Aspekts beinhalten entsprechende Systeme, Vorrichtungen und Computerprogramme auf Computerspeichergeräten, von denen jedes für die Ausführung der Operationen der Verfahren konfiguriert ist.
  • Der in dieser Anwendung beschriebene Gegenstand kann einen oder mehrere der folgenden Vorteile aufweisen. Ein Computergerät kann im Vergleich zu herkömmlichen Systemen, bei denen der Benutzer typischerweise ein Hotword und ein Kommando sprechen muss, kürzere Befehle erkennen und auf diese reagieren. Dementsprechend wird weniger Rechenleistung für den erkannten Befehl benötigt, was beim Computergerät für die Reaktion weniger Ressourcen belegt (einschließlich Speicherplatz zur Ablage von Eingabebegriffen und Stromverbrauch), und das Computergerät kann schneller und effizienter reagieren. Ein Computergerät kann möglicherweise ohne Anwendung von Spracherkennung auf die Befehle diese verstehen und auf sie reagieren. Die erforderliche Rechen- und Batterieleistung zur Erkennung einer Abfrage und eines Befehls kann auch verringert werden, da das Computergerät Abfrage und Befehl in einem Durchgang erkennen kann, dadurch entfällt die Notwendigkeit, zwei oder mehrere unterschiedliche Bezeichnungen in unterschiedlichen Schritten verarbeiten zu müssen.
  • Die Details von einer oder mehreren Ausführungsformen des in dieser Spezifikation beschriebenen Gegenstands sind in den begleitenden Zeichnungen und der nachfolgenden Beschreibung dargelegt. Weitere Merkmale, Aspekte und Vorteile des Gegenstands werden anhand der Beschreibung, der Zeichnungen und der Patentansprüche offensichtlich.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • 1 veranschaulicht ein Beispielsystem zur Identifikation und Verarbeitung von kontextbezogenen Hotwords.
  • 2 veranschaulicht einen Beispielprozess zur Identifikation und Verarbeitung von kontextbezogenen Hotwords.
  • 3 veranschaulicht ein Beispiel eines Computergeräts und eines mobilen Computergeräts.
  • In den Zeichnungen bezeichnen gleiche Referenznummern durchgängig gleiche Teile.
  • AUSFÜHRLICHE BESCHREIBUNG
  • 1 veranschaulicht ein Beispielsystem 100 zur Identifikation und Verarbeitung von kontextbezogenen Hotwords. Kurz gesagt – und weiter unten ausführlicher beschrieben – startet das Computergerät 104 als Reaktion auf die Äußerung 106 „OK Computer, spiel Musik“ die Musikwiedergabe. Das Computergerät 104 startet die Musikwiedergabe und das Computergerät 104 kann zusätzlich das Hotword „nächstes“ als Anweisung erkennen, um zum folgenden Lied zu springen.
  • Ausführlicher und beginnend mit Schritt A in 1 spricht der Benutzer 102 die Äußerung 106 „OK Computer, spiel Musik“ in der Nähe des Computergeräts 104. Ein Mikrofon des Computergeräts 104 erfasst die Äußerung 104 und verarbeitet die Audiodaten, die der Äußerung entsprechen. Die einleitende Verarbeitung der Audiodaten kann deren Filterung und die Umwandlung von analogen zu digitalen Signalen einschließen.
  • Während das Computergerät 104 die Audiodaten verarbeitet, kann es die Audiodaten in einem Puffer für die weitere Verarbeitung speichern. Mit den gepufferten Audiodaten kann das Computergerät 104 bestimmen, ob die Audiodaten irgendwelche gesprochenen Wörter beinhalten. Eine Methode, wie das Computergerät 104 gesprochene Wörter erkennt, ist die Verwendung eines Hotword-Detektors 108. Der Hotword-Detektor 108 ist dafür ausgelegt, Hotwords in den Audiodaten zu erkennen.
  • Bei einigen Implementierungen kann der Hotword-Detektor 108 so konfiguriert sein, dass er Hotwords in der ursprünglichen Äußerung 106 erkennen kann. In diesem Beispiel kann der Hotword-Detektor 108 feststellen, dass die Äußerung 106 „OK Computer, spiel Musik“ das Hotword 110 „OK Computer“ beinhaltet, wenn der Hotword-Detektor 108 in den Audiodaten akustische Merkmale erfasst, die für ein aktives Hotword 112 charakteristisch sind. Die akustischen Eigenschaften können Mel-Frequenz-Cepstrum-Koeffizienten (MFCCs) sein, die kurzfristige Energiespektren der Äußerung darstellen oder Werten einer Mel-Filterbank für die Äußerung 106 entsprechen. Beispielsweise kann der Hotword-Detektor 108 basierend auf der Erzeugung von MFCCs aus den Audiodaten und der anschließenden Feststellung, dass diese MFCCs solche beinhalten, die den Merkmalen des Hotwords „OK Computer“ in den Hotword-Modellen 114 entsprechen, erkennen, dass die Äußerung 106 „OK Computer, spiel Musik“ das Hotword 110 „OK Computer“ beinhaltet. Bei einem anderen Beispiel kann der Hotword-Detektor 108 basierend auf der Erzeugung von Werten einer Mel-Filterbank aus den Audiodaten und der anschließenden Feststellung, dass diese Werte solche beinhalten, die den Merkmalen des Hotwords „OK Computer“ in den Hotword-Modellen 114 entsprechen, erkennen, dass die Äußerung 106 „OK Computer, spiel Musik“ das Hotword 110 „OK Computer“ beinhaltet.
  • Der Hotword-Detektor 108 erkennt, dass die der Äußerung 106 entsprechenden Audiodaten das Hotword 110 beinhalten, das Computergerät 104 kann daraufhin eine Spracherkennung oder semantische Interpretation der Audiodaten durchführen, die der Äußerung 106 entsprechen. Das Spracherkennungsgerät 116 kann für die Audiodaten nach dem Hotword 110 eine Spracherkennung durchführen. In diesem Beispiel kann das Spracherkennungsgerät 116 die Wörter 118 „spiel Musik“ erkennen.
  • Bei einigen Implementierungen ist das Spracherkennungsgerät 116 möglicherweise nicht Teil des Computergeräts 104. Stattdessen überträgt das Computergerät 104 die Audiodaten des Teils der Äußerung 106 nach dem Hotword 110 an einen Server, z. B. den Server 120. Der Server 120 führt die Spracherkennung durch und überträgt eine Transkription der Audiodaten an das Computergerät 104 zurück. Das Computergerät 104 erkennt die Wörter der Äußerung 106, führt eine semantische Interpretation durch und erkennt jegliche Sprachbefehle. Das Computergerät 104 erkennt den Befehl und führt ihn aus. In diesem Beispiel und bei Schritt B startet das Computergerät 104 die Musikwiedergabe 122 nach Erkennung des Befehls 118 „spiel Musik“.
  • Bei der Musikwiedergabe 122 lässt das Computergerät 104 eine Musikanwendung entweder im Vorder- oder Hintergrund ablaufen. Das Computergerät 104 kann eine Kontexterkennung 124 und einen aktiven Hotwordwähler 126 beinhalten. Die Kontexterkennung 124 kann dafür ausgelegt sein, einen aktuellen Kontext des Computergeräts 104 zu erkennen. Der aktive Hotwordwähler 126 kann den aktuellen Kontext des Computergeräts 104 verwenden, um aktive Hotwords auszuwählen. In diesem Beispiel kann der Kontext des Geräts mit der Musikwiedergabe 122 und der Ausführung der Musikanwendung zusammenhängen. Der aktive Hotwordwähler 126 kann den Code der Musikanwendung untersuchen, um alle Hotwords und ihre zugehörigen Aktionen zu erkennen, die von den Entwicklern der Musikanwendung für die Benutzer zur Interaktion mit der Musikanwendung über Sprache vorgesehen sind. Die Musikanwendung kann möglicherweise Hotwords wie „spiel“, „nächstes“, „Stopp“ und „zurück“ erkennen. Basierend auf dem Kontext der aktuell gespielten Musik kann der aktive Hotwordwähler 126 die Hotwords „nächstes“, „Stopp“ und „zurück“ auswählen und als aktive Hotwords 112 speichern.
  • In einigen Implementierungen kann die Kontexterkennung 124 den Standort des Computergeräts 104 zur Bestimmung des Kontexts verwenden. Beispielsweise kann die Kontexterkennung 124 eventuell feststellen, dass die Position des Computergeräts 104 der des Heims des Benutzers 102 entspricht. Der aktive Hotwordwähler 126 kann als Kontext verwenden, dass sich das Gerät im Haus des Benutzers 102 befindet, um Hotwords wie „wärmer“ und „kälter“ zu erkennen, die dem Benutzer die Regulierung der Temperatur des Hauses ermöglichen. Ähnlich dem Beispiel oben, kann der aktive Hotwordwähler 126 die Hotwords „wärmer“ und „kälter“ unter den aktiven Hotwords 112 abspeichern, während der Benutzer 102 zu Hause ist.
  • In einigen Implementierungen kann die Kontexterkennung 124 die Bewegung des Computergeräts 104 zur Bestimmung des Kontexts verwenden. Beispielsweise kann die Kontexterkennung 124 eventuell feststellen, dass die Bewegung des Computergeräts 104 der Bewegung und Geschwindigkeit eines typischen Autos entspricht. Zur weiteren Betätigung der Annahme, dass sich das Computergerät 104 in einem Fahrzeug befindet, kann die Kontexterkennung 124 Geschwindigkeit und Bewegung des Computergeräts 104 vergleichen, um festzustellen, ob sich das Computergerät 104 entlang einer Straße bewegt. In diesem Fall könnte der aktive Hotwordwähler 126 den Kontext des Computergeräts verwenden, um das Hotword „Fahrtroute“ zu erkennen, mit dem der Benutzer Navigationshilfe zu einer bestimmten Position abfragen kann. Der aktive Hotwordwähler 126 kann das Hotword „Fahrtroute“ unter den aktiven Hotwords 112 abspeichern, während sich das Computergerät 104 im Fahrzeug befindet.
  • In einigen Implementierungen kann die Kontexterkennung 124 Datum und/oder Uhrzeit zur Bestimmung des Kontexts verwenden. Beispielsweise kann die Kontexterkennung 124 feststellen, dass die Situation den Abendstunden, wie beispielsweise zwischen 21:00 Uhr und Mitternacht entspricht. In diesem Fall kann der aktive Hotwordwähler 126 den Kontext der Abendstunden verwenden, um das Hotword „Weckzeit einstellen“ zu erkennen, mit dem der Benutzer 102 eine Weckfunktion einstellen kann. Während des Zeitabschnitts 21:00 Uhr bis Mitternacht kann der aktive Hotwordwähler 126 das Hotword „Weckzeit einstellen“ unter den aktiven Hotwords 112 abspeichern.
  • In einigen Implementierungen kann die Kontexterkennung 124 eventuell die letzten Vorgänge und Muster des Benutzers 102 zur Erkennung von Hotwords verwenden. Die Kontexterkennung 124 kann Vorgänge erkennen, die der Benutzer für gewöhnlich durchführt, beispielsweise zu unterschiedlichen Tageszeiten, und stellt dann einen auf diese Vorgänge basierten Kontext her. Der aktive Hotwordwähler 126 kann verbundene Hotwords erkennen und diese unter den aktiven Hotwords 112 für den entsprechenden Zeitabschnitt abspeichern. Beispielsweise kann die Kontexterkennung 124 eventuell feststellen, dass der Benutzer 102 auf dem Computergerät 104 zwischen 8:00 Uhr und 10:00 Uhr die Nachrichten liest. Der aktive Hotwordwähler 126 kann „Nachrichten“ als aktives Hotword 112 auswählen. Mit „Nachrichten“ als Hotword kann der Benutzer 102 „Nachrichten“ sagen, um die Nachrichten-Anwendung morgens zwischen 8:00 Uhr und 10:00 Uhr zu öffnen. Die Nachrichten-Anwendung kann ihrer eigenen entsprechenden Hotwords haben. Der aktive Hotwordwähler 126 kann Hotwords wie „Sport“, „Lokales“ und „Nationales“ als aktive Hotwords 112 erkennen, wenn die Nachrichten-Anwendung auf dem Computergerät 104 geöffnet ist.
  • In einigen Implementierungen kann die Kontexterkennung 124 Vorgänge aus der Vergangenheit erkennen, die nicht notwendigerweise zeitabhängig sind. Beispielsweise kann der Benutzer 102 mit dem Computergerät 102 gewohnheitsmäßig die Wetterberichte überprüfen. Die Kontexterkennung 124 kann erfassen, dass der Kontext des Computergeräts fast immer einer Zeit entspricht, zu der der Benutzer 102 Wetterinformationen überprüft hat. In diesem Fall kann der aktive Hotwordwähler 126 das Hotword „Wetter“ erkennen und unter den aktiven Hotwords 112 abspeichern. Ist „Wetter“ aktives Hotword, so muss der Benutzer 102 nur „Wetter“ sagen, um eine Wetteranwendung zu öffnen und den Wetterbericht zu überprüfen.
  • In einigen Implementierungen kann die Kontexterkennung 124 den Status des Computergeräts 104 zur Kontextbestimmung verwenden. Beispielsweise kann sich das Computergerät 104 im Zustand „gesperrt“ befinden. In diesem Fall kann der aktive Hotwordwähler 126 das Hotword „entsperren“ erkennen und es unter den aktiven Hotwords 112 abspeichern, wenn das Gerät derzeit gesperrt ist. Ist „entsperren“ aktives Hotword, so wird das Gerät entsperrt, wenn der Benutzer „entsperren“ sagt. Zur Erhöhung der Sicherheit kann das Computergerät 104 zur Bestätigung, dass der Sprecher der Benutzer 102 ist, Techniken der Sprechererkennung nutzen. Dafür würde ein entsprechendes Hotword-Modell mit der Stimme des Benutzers 102 angelegt werden. So kann das Computergerät 104 z. B. den Benutzer 102 auffordern, wiederholt „entsperren“ zu sagen, damit das Computergerät 104 oder der Server 120 ein spezifisch auf den Benutzer 102 abgestimmtes Hotword-Modell mit seinen Sprechproben einrichten kann.
  • Die aktiven Hotwords 112 schließen ein neues Hotword mit ein und das Computergerät 104 kann die Hotword-Modelle 114 daraufhin abprüfen, ob im Computergerät 104 bereits ein Hotword für das eben zugefügte Hotword vorliegt. So kann das Computergerät 104 beispielsweise prüfen, ob die Hotword-Modelle 114 ein Hotword-Modell für „nächstes“ beinhalten, wenn der aktive Hotwordwähler 126 „nächstes“ unter den aktiven Hotwords 112 abspeichert. Befindet sich das Hotword-Modell für „nächstes“ unter den Hotword-Modellen 114, so kann der Hotword-Detektor 108 das Hotword „nächstes“ erkennen und das Computergerät 104 kann die Schritte C, D und E überspringen. Befindet sich das Hotword-Modell für „nächstes“ nicht unter den Hotword-Modellen 114, dann übermittelt das Computergerät 104 im Schritt C eine auf das Hotword-Modell für „nächstes“ bezogene Anfrage 128 an den Server 120.
  • In einigen Implementierungen kann das Computergerät 104 ein Hotword-Modell für ein Hotword anfordern, für das bereits ein entsprechendes Hotword-Modell unter den Hotword-Modellen 114 vorhanden ist. Das Computergerät 104 kann regelmäßig ein Hotword-Modell abfragen, beispielsweise einmal pro Woche, um sicherzugehen dass das lokal gespeicherte Hotword-Modell so korrekt wie möglich ist. Das Computergerät 104 kann auch als Reaktion auf eine Rückmeldung vom Benutzer 102 ein Hotword-Modell anfordern. In einigen Fällen kann der Benutzer 102 ein Hotword wie „nächstes“ aussprechen und der Computer springt möglicherweise nicht zum nächsten Lied. Der Hotword-Detektor 108 kann die „nächstes“ entsprechenden Audiodaten verarbeiten, aber möglicherweise das Hotword nicht erkennen, weil der Wahrscheinlichkeitswert für das Hotword den Schwellenwert nicht erreicht hat.
  • Der Benutzer 102 kann durch Betätigen der entsprechenden Taste (z. B. Next) des Computergeräts 104 zum nächsten Lied springen. Erkennt das Computergerät 104 diesen Ablauf, kann das Computergerät 104 ein aktualisiertes Hotword für „nächstes“ anfordern. Alternativ kann das Computergerät 104 das Hotword-Modell anhand der Audiodaten für „nächstes“ aktualisieren, die zwar nicht den für den Schwellenwert ausreichenden Wahrscheinlichkeitswert für das Hotword erstellt haben, aber über einem unteren Schwellenwert für die Hotword-Wahrscheinlichkeit lagen. In einigen Implementierungen kann das Computergerät 104 einen Geräuschpegel der Audiodaten errechnen, die nicht den für den Schwellenwert ausreichenden Wahrscheinlichkeitswert für das Hotword erzielten. Wenn der Geräuschpegel eine Geräuschschwelle überschreitet, dann kann das Computergerät 104 das Hotword-Modell möglicherweise nicht mit den entsprechenden Audiodaten aktualisieren, da es zu viele Hintergrundgeräusche geben kann.
  • Der Server 120 erhält die Anforderung 128 für das Hotword-Modell und erkennt das entsprechende Hotword-Modell 130 im Stadium D. Der Server 120 kann einem oder mehreren Servern entsprechen, die durch ein Netz 132 zugänglich sind, z. B. das Internet. Die für einen Server zugänglichen Daten sind eventuell auch für andere Server zugänglich. Zusätzlich zur Erkennung und Bereitstellung von Hotword-Modellen ist der Server 120 dafür ausgelegt, Audiodaten zu empfangen und auf Basis der empfangenen Audiodaten die Hotword-Modelle 130 zu erzeugen.
  • Zur Erstellung der Hotword-Modelle 130 empfängt und sammelt der Server 120 Sprachdaten 134. Der Server 120 kann Sprachdaten 134 von den Servern erhalten, die Spracherkennung durchführen. Die Server können die Spracherkennung durchführen und dem Server 120 die Audiodaten zur Verfügung stellen, um Hotword-Modelle zu erzeugen. Anhand der gesammelten Sprachdaten 134 erkennt die Spracherkennung 136 die darin enthaltenen Wörter.
  • Die Spracherkennung 136 stellt dem Lexer 138 die Transkription und die Sprachdaten zur Verfügung. Der Lexer 138 für die Sprachdaten segmentiert die Audiodaten in Teile, die unterschiedlichen Wörtern entsprechen. Entsprechen z. B. die gesammelten Sprachdaten 134 den Wörtern „spiel das nächste Lied“, dann erzeugt die Spracherkennung die Transkription von „spiel das nächste Lied“ und der Lexer 138 teilt die Audiodaten in vier Abschnitte. Es gibt einen Abschnitt für „spiel“ und jeweils einen weiteren Abschnitt für „das“, „nächste“ und „Lied“.
  • Die Spracherkennung 136 und der Lexer 138 können viele Sprachmuster so zerlegen und die zerlegten Sprachmuster dem Generator für Hotword-Modelle 140 zur Verfügung stellen. Der Generator für Hotword-Modelle 140 verarbeitet mehrere Muster des gleichen Wortes, um ein Hotword-Modell für dieses Wort zu erzeugen. Beispielsweise kann der Generator für Hotword-Modelle 140 mehrere Sprachmuster erhalten, die dem Wort „nächstes“ entsprechen. Der Generator für Hotword-Modelle 140 extrahiert die Audioeigenschaften des Sprachmusters, um das Hotword-Modell für „nächstes“ zu erzeugen. Der Generator für Hotword-Modelle 140 speichert das Hotword-Modell für „nächstes“ unter den Hotword-Modellen 130 ab.
  • Die Hotword-Modelle 130 stehen dem Server 120 für die Versorgung der Computergeräte zur Erkennung dieser speziellen Hotwords zur Verfügung. In einigen Implementierungen ist das verlangte Hotword möglicherweise nicht in den Hotword-Modellen 130 des Servers 120 beinhaltet. In diesem Fall kann der Server 120 die gesammelten Sprachdaten 134 mit der Spracherkennung 136 und dem Lexer 138 analysieren, um Audiomuster zu erkennen, die dem angeforderten Word entsprechen. Alternativ kann der Server 120 das Computergerät 104 zur Sammlung von Mustern auffordern. Das Computergerät 104 kann den Benutzer dazu auffordern, ein Wort mehrmals zu wiederholen. Das Computergerät 104 kann dem Server 120 die Audiodaten für die Verarbeitung zur Erzeugung eines Hotword-Modelles zur Verfügung stellen. In einigen Implementierungen kann ein angefordertes Hotword aus mehr als einem Wort bestehen. In diesem Fall kann der Generator für Hotword-Modelle 140 Hotword-Modelle 130 kombinieren, um ein Hotword-Modell für das Hotword aus mehreren Wörtern zu erzeugen.
  • In einigen Implementierungen kann der Generator für Hotword-Modelle 140 Hotword-Modelle erzeugen, die Geräusche beinhalten, die in einem bestimmten Kontext spezifisch sind. Der Generator für Hotword-Modelle 140 wählt möglicherweise nicht alle Sprachsegmente aus, die dem Ziel-Hotword entsprechen. Stattdessen wählt der Generator für Hotword-Modelle 140 Sprachsegmente, die Hintergrundgeräusche einschließen, die mit einiger Wahrscheinlichkeit im gegebenen Kontext existieren. Beispielsweise kann der Generator für Hotword-Modelle 140 ein Hotword-Modell für „nächstes“ mit Sprachsegmenten erzeugen, die „nächstes“ und Hintergrundmusik einschließen. Erhält der Server 120 eine Anforderung für das Hotword-Modell „nächstes“ und die Anforderung deutet darauf hin, dass es sich beim Kontext um Musikwiedergabe handelt, dann kann der Server 120 das Hotword-Modell von „nächstes“ für Hintergrundmusik zur Verfügung stellen. Erhält der Server 120 eine Anforderung für das Hotword-Modell „nächstes“ und die Anforderung deutet darauf hin, dass es sich beim Kontext um die Wiedergabe von Fotos handelt, dann kann der Server 120 das Hotword-Modell von „nächstes“ ohne Hintergrundgeräusche zur Verfügung stellen.
  • Bei Schritt E stellt der Server 120 die Antwort 142 zur Verfügung, die das angeforderte Hotword-Modell einschließt. In dem in 1 gezeigten Beispiel stellt der Server 120 dem Computergerät 104 ein Hotword-Modell für „nächstes“ zur Verfügung. Das Computergerät 104 speichert das Hotword-Modell unter den Hotword-Modellen 114 ab und kann in den aktiven Hotwords 112 einen Indikator aktualisieren, um anzuzeigen, dass ein entsprechendes Hotword-Modell im Computergerät 104 gespeichert ist.
  • In einigen Implementierungen kann der aktive Hotwordwähler 126 Hotwords aus den aktiven Hotwords 112 entfernen. Zeigt die Kontextbezeichner 124 an, dass sich der Kontext geändert hat, kann der aktive Hotwordwähler 126 die aktiven Hotwords 112 basierend auf dem neuen Kontext aktualisieren. Gemäß einigen der o.a. Beispiele kann der aktive Hotwordwähler 126 das Hotword „Nachrichten“ nach 10:00 Uhr morgens aus den aktiven Hotwords 112 entfernen. Ähnlich kann der aktive Hotwordwähler 126 das Hotword „Weckzeit einstellen“ nach Mitternacht entfernen und das Hotword „Weckzeit einstellen“ nach 21:00 Uhr den aktiven Hotwords 112 wieder hinzufügen. In einigen Implementierungen verbleibt das entsprechende Hotword-Modell in den Hotword-Modellen 114, wenn der aktive Hotwordwähler 126 das Hotword aus den aktiven Hotwords 112 entfernt.
  • In einigen Implementierungen kann der aktive Hotwordwähler 126 Hotwords aus den aktiven Hotwords 112 selbst dann entfernen, wenn die gleiche Anwendung auf dem Computergerät 104 läuft. Wenn das Computergerät 104 die Musikanwendung ausführt, kann der aktive Hotwordwähler 126 die Hotwords „spiel“, „nächstes“, „Stopp“ und „zurück“ erkennen und die entsprechenden Hotword-Modelle aus den Hotword-Modellen 114 laden. In diesem Fall müssen die Hotwords nicht den aktiven Hotwords 112 für das Computergerät 104 hinzugefügt werden, um ein Hotword-Modell anzufordern. Während der Musikwiedergabe, kann der aktive Hotwordwähler 126 die Hotwords „nächstes“ „Stopp“ und „zurück“ als die aktiven Hotwords einschließen. Stoppt die Musikwiedergabe und die Musikanwendung bleibt geöffnet, dann kann der aktive Hotwordwähler 126 die aktiven Hotwords 112 auf „nächstes“, „spiel“ und „zurück“ aktualisieren.
  • In einigen Implementierungen erzeugt der Generator für die Benutzeroberfläche 144 eine Benutzeroberfläche für die Anzeige auf dem Computergerät 104. Die Benutzeroberfläche kann die aktiven Hotwords 112 anzeigen. Beispielsweise kann die Benutzeroberfläche bei Beginn einer Liedwiedergabe dem Benutzer 102 „nächstes“, „Stopp“ oder „zurück“ als Steuerkommandos für die Musik anzeigen. Stoppt die Musikwiedergabe, kann die Benutzeroberfläche dem Benutzer 102 „nächstes“, „spiel“ oder „zurück“ als Steuerkommandos für die Musik anzeigen. Der Generator für die Benutzeroberfläche 144 kann auch eine Mitteilung erzeugen, wenn ein Hotword aktiv ist.
  • Beispielsweise kann die Benutzeroberfläche anzeigen, dass das Hotword „Weckzeit einstellen“ aktiv ist, sobald es 21:00 Uhr ist. Ähnlich kann die Benutzeroberfläche anzeigen, dass das Hotword „Weckzeit einstellen“ nicht mehr aktiv ist, sobald es Mitternacht ist. Die Benutzeroberfläche kann außerdem die Auswirkung für jede Benutzung eines Hotwords anzeigen. Ist z. B. die Musikanwendung aktiv und es wird Musik abgespielt, kann die Benutzeroberfläche anzeigen, dass „nächstes“ zum folgenden Lied der Playliste springt, „Stopp“ das laufende Lied anhält und „zurück“ zum vorherigen Lied in der Playliste springt.
  • In einigen Implementierungen kann der Generator für die Benutzeroberfläche 144 eine Benutzeroberfläche auch zur Steuerung der Aktivierung von verschiedenen Hotwords erzeugen. Die Steuerschnittstelle kann bei einem aktiven Hotword den Kontext einschließen und dem Benutzer erlauben, den Kontext zu aktualisieren, wenn ein Hotword aktiv ist. Zusätzlich oder alternativ kann die Steuerschnittstelle dem Benutzer 102 erlauben, die Hotwords zu benennen, die für jeden Kontext aktiv sind. Beispielsweise kann die Steuerschnittstelle anzeigen, dass das Hotword „Nachrichten“ von 8:00 bis 10:00 Uhr morgens aktiv ist. Der Benutzer 102 kann diesen Kontext anpassen, damit das Hotword „Nachrichten“ von 8:00 Uhr morgens bis zum Mittag aktiv ist.
  • Die Steuerschnittstelle kann auch anzeigen, dass die Hotwords „nächstes“ „Stopp“ oder „zurück“ aktiv sind, wenn Musik abgespielt wird. Der Benutzer 102 kann für den Kontext Musikwiedergabe die Hotwords so aktualisieren, dass nur „nächstes“ und „Stopp“ gültig sind. In einigen Implementierungen kann die Steuerschnittstelle dem Benutzer 102 die Möglichkeit bieten, kundenspezifische Hotwords für bestehenden oder kundenspezifischen Kontext hinzuzufügen. Beispielsweise kann der Benutzer 102 „Mutter anrufen“ als Hotword anlegen und permanent aktiviert haben; nach Erkennung des Hotwords wird der Kontakt „Mutter“ angerufen. Der Benutzer 102 kann „lauter“ und „leiser“ für den Kontext Musik zufügen und dadurch Hotwords für die Einstellung der Lautstärke bestimmen. Der Benutzer kann auch einen neuen Kontext anlegen, welcher dem Zeitraum von 11:00 bis 13:00 Uhr entspricht. Der Benutzer kann das Hotword „Essen bestellen“ als aktiv für diesen Zeitraum zufügen und anzeigen, dass das Hotword eine Anwendung zur Speisebestellung öffnen soll.
  • Bei Schritt F spricht der Benutzer 102 die Äußerung 146, die das Hotword 148 beinhaltet. Das Computergerät 104 erfasst die Äußerung 146 mit einem Mikrofon und verarbeitet die entsprechenden Audiodaten. Der Hotword-Detektor 108 vergleicht die Hotword-Modelle 114 der aktiven Hotwords 112 zwecks der Feststellung, ob die Äußerung 146 aktive Hotwords beinhaltet. Erkennt der Hotword-Detektor 108 ein Hotword, dann führt das Computergerät den entsprechenden Befehl aus. Im Beispiel in 1 sagt der Benutzer 102 „nächstes“. Die aktiven Hotwords 112 können „Stopp“ „nächstes“ und „zurück“ sein. Der Hotword-Detektor 108 vergleicht die Audiodaten der Äußerung 146 mit den Hotword-Modellen 114, die „Stopp“ „nächstes“ und „zurück“ entsprechen und erkennt, dass die Äußerung 146 das Hotword „nächstes“ beinhaltet. Aufgrund des erkannten Hotwords „nächstes“, das einer Anweisung für einen Sprung zum nächsten Lied entspricht, fährt das Computergerät bei Schritt G mit der Wiedergabe des folgenden Liedes 150 fort.
  • In einigen Implementierungen kann der Hotword-Detektor 108 eventuell Hotwords erkennen, die zwar nicht in den aktiven Hotwords 112 beinhalten, aber deren Modelle dennoch in den Hotword-Modellen abgespeichert sind. In diesem Fall kann der Hotword-Detektor 108 dem Generator für die Benutzeroberfläche 144 einen Hinweis geben, über eine erzeugte Benutzeroberfläche anzuzeigen, dass das Hotword derzeit nicht aktiv ist. Beispielsweise kann der Benutzer 102 während der Musikwiedergage „spiele“ sagen. Der Hotword-Detektor 108 kann das Hotword „spiele“ erkennen. Da das Hotword derzeit nicht aktiv ist, führt das Computergerät 104 keine Vorgänge aus. Der Generator für die Benutzeroberfläche 144 kann jedoch eine Oberfläche erzeugen, aus der ersichtlich wird, dass „spiele“ als Hotword derzeit nicht aktiv ist und „Stopp“ „nächstes“ und „zurück“ als Hotwords aktiv sind.
  • In einigen Implementierungen kann das Computergerät 104 noch so ausgelegt sein, das Standard-Hotword „OK Computer“ zu erkennen. In diesem Fall kann das Computergerät 104 mittels Spracherkennung die Audiodaten verarbeiten, die dem „OK Computer“ folgen, und die geeigneten Schritte durchführen, die auf der Transkription der Audiodaten basieren. Sagt der Benutzer 102 bei laufender Musikwiedergabe z. B. „OK Computer, nächstes“, so springt das Computergerät 104 zum folgenden Lied, nachdem das Hotword „OK Computer“ erkannt und der nachfolgende Teil der Audiodaten transkribiert wurde, der das Kommando „nächstes“ beinhaltet.
  • Ähnlich können auch Kontext-Hotwords von Kommandos gefolgt werden. Das Beispiel „Essen bestellen“ fortsetzend, kann der Benutzer 102 im Zeitraum, für den dieses Hotword aktiv ist, sagen „Essen bestellen vom Sandwich-Feinkostgeschäft“. In diesem Fall erkennt der Hotword-Detektor 108 das Hotword „Essen bestellen“. Das Spracherkennungsgerät 116 erzeugt die Transkription von „vom Sandwich-Feinkostgeschäft“. Das Computergerät 104 kann die Anwendung zur Speisebestellung starten und die Karte des Sandwich-Feinkostgeschäftes öffnen.
  • In einigen Implementierungen erzeugt der Hotword-Detektor 108 einen Wahrscheinlichkeitswert für jeden Teil der verarbeiteten Audiodaten. Wenn der Wahrscheinlichkeitswert einen Schwellenwert erreicht, dann legt der Hotword-Detektor 108 fest, dass die Audiodaten das Hotword beinhalten. Beträgt der Wahrscheinlichkeitswert beispielsweise 0,9 und der Schwellenwert liegt bei 0,8, dann legt der Hotword-Detektor 108 fest, dass die Audiodaten das Hotword beinhalten.
  • In einigen Implementierungen kann der Generator für die Benutzeroberfläche 144 in Fällen des Wahrscheinlichkeitswertes unterhalb des Schwellenwertes eine Oberfläche erzeugen, mit der um eine Bestätigung nachgesucht wird, dass der Benutzer 102 das Hotword gesagt hat. Beispielsweise kann der Wahrscheinlichkeitswert bei 0,7 liegen. Liegt der Bereich zwischen 0,6 und 0,8, so kann der Generator für die Benutzeroberfläche 144 eine Benutzeroberfläche erzeugen, die den Benutzer 102 um Bestätigung oder Wiederholung des Hotwords ersucht. In einigen Implementierungen – und wenn der Benutzer 102 bestätigt, dass der Benutzer 102 das Hotword verwendet hat – kann das Computergerät 104 die Audiodaten verwenden, um das Hotword-Modell im Sinne einer verbesserten Leistung für die Zukunft zu aktualisieren. Das Computergerät 104 kann möglicherweise die Audiodaten nicht verwenden, wenn es zu viele Störgeräusche in den Audiodaten gibt.
  • 2 veranschaulicht einen Beispielprozess 200 zur Erkennung und Verarbeitung von kontextbezogenen Hotwords. Allgemein erkennt der Prozess 200 die Hotwords, die auf einem Kontext des Geräts basieren, und weist den Hotwords Vorgänge zu, damit der Prozess bei Verwendung des Hotwords durch den Benutzer den entsprechenden Vorgang durchführt. Der Prozess 200 wird für die Durchführung auf einem Computersystem beschrieben, das aus einen oder mehreren Computern bestehen kann, wie z. B. das System 100 in 1.
  • Das System stellt einen Kontext in Verbindung mit dem Computergerät (210) her. In einigen Implementierungen erkennt das System eine Anwendung, die auf dem System läuft. Das System ermittelt den Kontext auf Basis der Anwendung, die auf dem System läuft. Beispielsweise kann die Anwendung eine Musikanwendung sein. In diesem Fall kann der Kontext in der Wiedergabe von Musik bestehen. Das System kann auch zwischen Anwendungen unterscheiden, die im Hintergrund und im Vordergrund laufen. So kann beispielsweise die Musikanwendung im Hintergrund oder Vordergrund laufen und Musik wiedergeben und dennoch den gleichen Kontext der Musikwiedergabe aufweisen. Eine Anwendung, wie ein Browser im Hintergrund, muss den Kontext nicht beeinflussen. In einigen Implementierungen kann der Kontext auch in Verbindung zum Zustand des Geräts stehen, beispielsweise wenn das Gerät gesperrt ist. Der Kontext kann auch in Zusammenhang mit dem Inhalt auf einer Anzeige stehen, z. B. dem „Startbildschirm“.
  • In einigen Implementierungen kann der Kontext auch auf der Bewegung des Systems basieren. Bewegt das System z. B. mit Geschwindigkeiten, die einem fahrenden Auto entsprechen, dann kann das System feststellen, dass der Kontext „in einem Auto“ ist. In einigen Implementierungen kann der Kontext auf einem Standort des Computergeräts basieren. Beispielsweise kann sich das System im Haus des Benutzers befinden. In diesem Fall kann der Kontext des Geräts „zu Hause“ sein. In einigen Implementierungen kann sich der Kontext auf eine Kombination mehrerer Inhalte beziehen. Beispielsweise kann der Kontext „gesperrt zu Hause“ sein, wenn sich das System im verriegelten Zustand im Heim des Benutzers befindet.
  • Das System legt auf Basis des mit dem Gerät verbundenen Kontextes ein Hotword fest (220). In einigen Implementierungen legt das System ein Hotword basierend auf die in der Software erkannten Hotwords fest. Beispielsweise kann die laufende Musikanwendung im Rahmen des Kontextes „Musikwiedergabe“ bei Stoppen der Wiedergabe Hotwords erkennen.
  • In einigen Implementierungen kann das System die Hotwords basierend auf eine frühere Verwendung festlegen. Liest der Benutzer z. B. die Nachrichten meistens in einem bestimmten Zeitraum, dann kann das System das Hotword „Nachrichten“ festlegen, wenn der Kontext dieser Zeitraum ist. In einigen Implementierungen kann das System auf einem Display das Hotword und die zugehörige Aktion anzeigen, die vom Hotword ausgelöst wird. Das System kann bei Aktivierung und Deaktivierung des Hotwords eine Meldung ausgeben.
  • Nach Bestimmung des Hotwords erhält das System Audiodaten, die einer Äußerung entsprechen (230). In einigen Implementierungen fordert das System von einem Server ein Hotword-Modell für das Hotword an, dann legt das System das Hotword fest. Legt das das System z. B. das Hotword „nächstes“ fest, dann kann das System von einem Server ein Hotword-Modell für „nächstes“ anfordern.
  • Das System stellt fest, dass die Audiodaten das Hotword beinhalten (240). In einigen Implementierungen stellt das System die Existenz des Hotwords in den Audiodaten fest, ohne eine Spracherkennung der Audiodaten durchzuführen. In einigen Implementierungen stellt das System die Existenz des Hotwords in den Audiodaten fest, indem es Audioeigenschaften der Audiodaten extrahieren, die der Äußerung entsprechen. Das System erzeugt anhand der Verarbeitung der Audiomerkmale – und möglicherweise deren Vergleich mit denen eines Hotword-Modells – einen Wahrscheinlichkeitswert.
  • Erreicht der Wahrscheinlichkeitswert einen Schwellenwert, dann bestimmt das System, dass die Audiodaten das Hotword beinhalten. Erreicht der Wahrscheinlichkeitswert den Schwellenwert nicht, dann bestimmt das System, dass die Audiodaten das Hotword nicht beinhalten. Beträgt der Schwellenwert beispielsweise 0,8, so werden Audiodaten mit einem Wahrscheinlichkeitswert von über 0,8 als Hotword enthaltend eingestuft, Audiodaten mit einem Wahrscheinlichkeitswert von unter 0,8 hingegen als nicht Hotword enthaltend.
  • In einigen Implementierungen beinhalten die Audiodaten nur das Hotword. Beispielsweise kann ein Benutzer lediglich „nächstes“ sagen, was ein Hotword ist. In einigen Implementierungen beinhaltet ein erster Teil der Audiodaten das Hotword. Beispielsweise kann das Hotword „Essen bestellen“ sein und der Benutzer kann „Essen bestellen vom Sandwich-Feinkostgeschäft“ sagen. In diesem Fall erkennt das System das Hotword „Essen bestellen“ und verarbeitet mittels Spracherkennung den Teil der Audiodaten, die dem Hotword folgen.
  • Als Reaktion auf die Feststellung des Hotwords in den Audiodaten führt das System eine Operation aus, die mit dem Hotword in Verbindung steht (250). In einigen Implementierungen erkennt das System die Operation anhand des Hotwords. Sagt der Benutzer während der Musikwiedergabe beispielsweise „nächstes“, springt das System zum folgenden Lied.
  • In einigen Implementierungen entfernt das System ein Hotword aus der Liste der aktiven Hotwords, wenn der Kontext nicht länger gegeben ist. Hält der Benutzer beispielsweise die Musikwiedergabe an, dann entfernt das System das Hotword „nächstes“ aus der Liste der aktiven Hotwords. Sagt ein Benutzer in dieser Situation „nächstes“, so führt das System keine Vorgänge als Reaktion auf „nächstes“ aus.
  • In einigen Implementierungen kann die Operation auf dem Hotword und beliebigen Audiodaten, die dem Hotword folgen, oder lediglich auf den Audiodaten basieren, die dem Hotword folgen. Beispielsweise kann ein aktives Hotword „Fahrtroute“ sein und der Benutzer kann sagen „Fahrtroute nach Hause.“ In diesem Fall kann das System die Kartenanwendung öffnen und mit der Navigation zum Heim des Benutzers beginnen.
  • In einigen Implementierungen kann die Operation von den Audiodaten abhängig sein, die einem Hotword folgen. Es kann Fälle geben, in denen einem aktiven Hotword unterschiedliche Operationen zugeordnet sind, die jeweils von den Audiodaten abhängen, die dem Hotword folgen. Beispielsweise kann ein Benutzer zu Hause sein und das System kann Musik abspielen. Die Tatsache, dass der Benutzer zu Hause ist, kann das System dazu veranlassen, das Hotword „steigern“ zur Erhöhung der Temperatur des Thermostats zu aktivieren. Die Musikwiedergabe hingegen kann das System dazu veranlassen, das Hotword „steigern“ zur Erhöhung der Lautstärke der Musik zu aktivieren. In diesem Fall kann das System den Konflikt auf verschiedene Arten lösen.
  • Das System kann die Hotwords auf „Temperatur steigern“ und „Lautstärke steigern“ aktualisieren Das System kann dem Benutzer nach der Äußerung von „steigern“ auf dem Display anzeigen, dass er „Lautstärke steigern“ sagen sollte, um die Lautstärke der Musik zu erhöhen und „Temperatur steigern“ zur Anhebung der Temperatur des Thermostats. Alternativ kann das System „steigern“ als Hotword behalten und ein Argument nach „steigern“ erfordern, bei dem das System für alle Audiodaten nach „steigern“ eine Spracherkennung durchführt oder eine weitere Verdeutlichung vom Benutzer anfordert. Beispielsweise kann der Benutzer „steigern“ sagen. Das System kann eine Aufforderung anzeigen oder als synthetisierte Sprache ausgeben, um den Benutzer zur näheren Erklärung aufzufordern, was gesteigert werden soll.
  • In einigen Implementierungen kann das System aktive Hotwords mit einem Argument oder Zusatz zum gesprochenen Hotword erkennen, manchmal auch nur in Anwesenheit eines Arguments oder Zusatzes zum gesprochenen Hotword. Beispielsweise kann ein aktives Hotword „Weckzeit einstellen“. Das System kann das Hotword eventuell nur dann bestätigen, wenn „Weckzeit einstellen“ durch ein Argument wie „für 6:00 Uhr morgens“ oder „für morgen früh“ ergänzt wird. In diesem Fall kann das System für den Teil der Audiodaten eine Spracherkennung durchführen, die dem Hotword folgen und das Hotword erst dann bestätigen, wenn ihm zusätzliche gesprochene Bedingungen folgen. In einigen Implementierungen sind die zusätzlich gesprochenen Bedingungen Argumente, die das Hotword akzeptiert. Das Hotword „Weckzeit einstellen“ kann Argumente wie „für 6:00 Uhr morgens“ akzeptieren, aber nicht „Thunfischsandwich“.
  • In einigen Implementierungen kann das System feststellen, dass die Audiodaten mehr als ein Hotword beinhalten. Das kann geschehen, weil derzeit aktive Hotwords ähnlich klingen. Beispielsweise könnten zwei aktive englische Hotwords „next“ und „text“ sein. In einigen Implementierungen kann das System lediglich feststellen, dass die Audiodaten ein Hotword beinhalten, aber nicht notwendigerweise welches Hotword. Wenn das System feststellt, dass zwei oder mehrere Hotword-Modelle den Audiodaten entsprechen, kann das System Spracherkennung für den Teil der Audiodaten durchführen, der das Hotword beinhaltet, um festzustellen, welches Hotword der Benutzer ausgesprochen hat.
  • 3 zeigt ein Beispiel eines Computergeräts 300 und eines mobilen Computergeräts 350, das zur Transkription der hier beschriebenen Techniken verwendet werden kann. Das Computergerät 300 dient der Darstellung verschiedener Formen digitaler Computer, wie etwa Laptops, Desktops, Workstations, persönliche digitale Assistenten, Server, Blade-Server, Großrechner und andere geeignete Computer. Das mobile Computergerät 350 soll verschiedene Formen mobiler Geräte wie Personal Digital Assistants, Mobiltelefone, Smartphones und andere ähnliche Computergeräte darstellen. Die hier gezeigten Komponenten, ihre Verbindungen und Beziehungen und ihre Funktionen sollen nur Beispiele sein und sind nicht dazu beabsichtigt, zu begrenzen.
  • Das Computergerät 300 beinhaltet einen Prozessor 302, einen Speicher 304, ein Speichergerät 306, eine Hochgeschwindigkeitsschnittstelle 308, die mit dem Speicher 304 und mehreren Hochgeschwindigkeits-Erweiterungsanschlüssen 310 verbunden ist, und eine langsame Schnittstelle 312, die mit einem langsamen Erweiterungsanschluss 314 und dem Speichergerät 306 verbunden ist. Jedes der nachfolgend gelisteten Teile, der Prozessor 302, der Speicher 304, das Speichergerät 306, die High-Speed-Schnittstelle 308, die High-Speed-Erweiterungsports 310 und die Low-Speed-Schnittstelle 312 sind durch verschiedene Busse miteinander verbunden und können auf einer gemeinsamen Hauptplatine oder auf andere geeignete Weise montiert sein. Der Prozessor 302 kann Befehle zur Ausführung innerhalb des Computergeräts 300 verarbeiten, darunter im Speicher 304 oder auf dem Speichergerät 306 abgelegte Befehle für die Anzeige einer GUI auf einem externen Eingabe-/Ausgabegerät wie einer Anzeige 316, die mit der Hochgeschwindigkeitsschnittstelle 308 verbunden ist. Bei anderen Implementierungen können mehrere Prozessoren und/oder mehrere Busse, wie jeweils anwendbar, zusammen mit mehreren Speichern und Speicherarten verwendet sein. Außerdem können mehrere Computergeräte verbunden sein, wobei jedes Gerät Teile der nötigen Operationen bereitstellt (z. B. als eine Serverbank, eine Gruppe von Blade-Servern oder ein Multiprozessorsystem).
  • Der Speicher 304 speichert Informationen im Computergerät 300. Bei einigen Implementierungen handelt es sich bei dem Speicher 304 um (eine) flüchtige Speichereinheit(en). Bei einigen Implementierungen handelt es sich bei dem Speicher 304 um (eine) nichtflüchtige Speichereinheit(en). Der Speicher 304 kann auch eine andere Form eines computerlesbaren Mediums sein, wie beispielsweise ein magnetischer oder optischer Datenträger.
  • Das Speichergerät 306 ist geeignet, als Massenspeicher für das Computergerät 300 zu fungieren. Bei einigen Implementierungen kann das Speichergerät 306 ein computerlesbares Medium sein oder beinhalten, wie ein Diskettenlaufwerk, ein Festplattenlaufwerk, ein optisches Laufwerk, eine Magnetbandeinheit, ein Flash-Speicher oder ein anderes ähnliches Solid-State-Speichergerät oder eine Reihe von Geräten, einschließlich Geräten in einem Speichernetzwerk oder anderen Konfigurationen. Befehle können in einem Informationsträger gespeichert werden. Die Anweisungen führen, wenn sie von einem oder mehreren Verarbeitungsgeräten (zum Beispiel Prozessor 302) ausgeführt werden, ein oder mehrere Verfahren, wie etwa die oben beschriebenen, aus. Die Befehle können auch durch ein oder mehrere Speichergeräte wie computer- oder maschinenlesbare Medien (beispielsweise der Speicher 304, das Speichergerät 306 oder der Speicher im Prozessor 302) gespeichert werden.
  • Die Hochgeschwindigkeitsschnittstelle 308 verwaltet bandbreitenintensive Operationen für das Computergerät 300, während die Niedergeschwindigkeitsschnittstelle 312 niedrigere bandbreitenintensive Operationen verwaltet. Eine solche Zuordnung von Funktionen ist nur beispielhaft. Bei einigen Implementierungen ist die Hochgeschwindigkeitsschnittstelle 308 mit dem Speicher 304, der Anzeige 316 (z. B. durch einen Grafikprozessor oder Beschleuniger) und mit den Hochgeschwindigkeitserweiterungsanschlüssen 310 gekoppelt, die verschiedene Erweiterungskarten aufnehmen können. In der Implementierung ist die Niedergeschwindigkeitsschnittstelle 312 mit dem Speichergerät 306 und dem Niedergeschwindigkeitserweiterungsanschluss 314 gekoppelt. Der Niedergeschwindigkeitserweiterungsanschluss 314, der verschiedene Kommunikationsanschlüsse (z. B. USB, Bluetooth, Ethernet, drahtloses Ethernet) beinhalten kann, kann mit einem oder mehreren Eingabe-/Ausgabegeräten wie einer Tastatur, einem Zeigegerät, einem Scanner oder einem Netzwerkgerät wie einem Switch oder Router z. B. durch einen Netzwerkadapter gekoppelt sein.
  • Das Computergerät 300 kann in einer Reihe verschiedener Formen implementiert sein, wie in der Figur gezeigt wird. Zum Beispiel kann es als Standardserver 320, oder mehrfach in einer Gruppe solcher Server implementiert sein. Darüber hinaus kann es in einem Personal Computer, wie Laptop-Computer 322, implementiert sein. Es kann auch als Teil eines Rackserversystems 324 implementiert sein. Alternativ können Komponenten vom Computergerät 300 mit anderen Komponenten in einem mobilen Gerät, wie einem mobilen Computergerät 350, kombiniert werden. Jedes dieser Geräte kann eines oder mehrere der Computergeräte 300 und der mobilen Computergeräte 350 beinhalten und ein vollständiges System kann aus mehreren Computergeräten gebildet sein, die miteinander kommunizieren.
  • Das mobile Computergerät 350 beinhaltet neben anderen Komponenten einen Prozessor 352, einen Speicher 364, ein Eingabe-/Ausgabegerät wie eine Anzeige 354, eine Kommunikationsschnittstelle 366 und einen Transceiver 368. Das mobile Computergerät 350 kann auch mit einem Speichergerät wie einem Microdrive oder einem anderen Gerät ausgestattet sein, um zusätzlichen Speicher bereitzustellen. Alle Prozessoren 352, Speicher 364, Displays 354, die Kommunikationsschnittstelle 366 und das Sende-Empfängergerät 368 sind mithilfe verschiedener Busse miteinander verbunden, und mehrere der Komponenten können auf einer gemeinsamen Hauptplatine oder nach Eignung auf andere Weise angeordnet sein.
  • Der Prozessor 352 kann Befehle innerhalb des mobilen Computergeräts 350 ausführen, darunter auch im Speicher 364 abgelegte Befehle. Der Prozessor 352 kann als ein Chipsatz aus Chips implementiert werden, die separate und mehrere analoge und digitale Prozessoren beinhalten. Der Prozessor 352 kann beispielsweise die Koordination der anderen Komponenten des mobilen Computergeräts 350, wie beispielsweise die Steuerung von Benutzerschnittstellen, Anwendungen, die durch das mobile Computergerät 350 ausgeführt werden, sowie die drahtlose Kommunikation des mobilen Computergeräts 350 bereitstellen.
  • Der Prozessor 352 kann mit einem Benutzer über eine Steuerschnittstelle 358 und eine Display-Schnittstelle 356 kommunizieren, die mit einem Display 354 verbunden sind. Die Anzeige 354 kann zum Beispiel ein TFT-LCD-Display (Thin-Film-Transistor Liquid Crystal Display) oder eine OLED-Anzeige (organische Leuchtdiode) oder eine andere geeignete Anzeigetechnologie sein. Die Anzeigeschnittstelle 356 kann angemessene Verschaltung zum Treiben der Anzeige 354 beinhalten, um einem Benutzer grafische und andere Informationen zu präsentieren. Die Steuerschnittstelle 358 kann Befehle von einem Benutzer empfangen und sie für die Sendung an Prozessor 352 umwandeln. Außerdem kann eine äußere Schnittstelle 362 Kommunikation mit dem Prozessor 352 bereitstellen, um Nahbereichskommunikation des mobilen Computergeräts 350 mit anderen Vorrichtungen zu ermöglichen. Die externe Schnittstelle 362 kann beispielsweise bei manchen Implementierungen eine drahtgestützte Verbindung oder bei anderen Implementierungen eine drahtlose Verbindung sein, und es können auch mehrere Schnittstellen verwendet werden.
  • Der Speicher 364 speichert Informationen innerhalb des mobilen Computergeräts 350. Der Speicher 364 kann als eines oder mehrere von computerlesbaren Medien, als flüchtige(r) Speicher oder nicht flüchtige(r) Speicher implementiert sein. Ein Erweiterungsspeicher 374 kann ebenfalls bereitgestellt und mit dem mobilen Computergerät 350 durch eine Erweiterungsschnittstelle 372 verbunden sein, die zum Beispiel eine SIMM-(Single In Line Memory Module)-Kartenschnittstelle beinhalten kann. Der Erweiterungsspeicher 374 kann zusätzlichen Speicherplatz für das mobile Computergerät 350 bereitstellen oder kann auch Anwendungen oder andere Informationen für das mobile Computergerät 350 speichern. Insbesondere kann der Erweiterungsspeicher 374 Befehle zum Ausführen oder Ergänzen der vorstehend beschriebenen Prozesse beinhalten und er kann außerdem sichere Informationen beinhalten. So kann die Speichererweiterung 374 zum Beispiel als Sicherheitsmodul für das mobile Computergerät 350 eingesetzt und mit Anweisungen programmiert werden, die eine sichere Nutzung des mobilen Computergeräts 350 ermöglichen. Zusätzlich dazu können über die SIMM-Karten sichere Anwendungen zusammen mit zusätzlichen Informationen, wie dem Ablegen von Identifizierungsinformationen auf der SIMM-Karte auf eine Weise, die nicht gehackt werden kann, bereitgestellt werden.
  • Der Speicher kann zum Beispiel einen Flash-Speicher und/oder einen NVRAM-Speicher (nicht-flüchtiger Direktzugriffspeicher) beinhalten, wie unten besprochen wird. In einigen Implementierungen werden Anweisungen in einem Informationsträger gespeichert, so dass die Anweisungen, wenn sie von einem oder mehreren Verarbeitungsgeräten (zum Beispiel Prozessor 352) ausgeführt werden, ein oder mehrere Verfahren ausführen, wie etwa die oben beschriebenen. Die Befehle können auch durch ein oder mehrere Speichergeräte, wie ein oder mehrere computer- oder maschinenlesbare Medien (beispielsweise der Speicher 364, der Erweiterungsspeicher 374 oder der Speicher im Prozessor 352) gespeichert werden. Bei einigen Implementierungen können die Befehle in einem propagierten Signal beispielsweise über den Transceiver 368 oder die externe Schnittstelle 362 empfangen werden.
  • Das mobile Computergerät 350 kann durch die Kommunikationsschnittstelle 366 drahtlos kommunizieren, die bei Bedarf eine Verarbeitungsschaltung für Digitalsignale beinhalten kann. Die Kommunikationsschnittstelle 366 kann Kommunikationen unter verschiedenen Modi oder Protokollen, unter anderem beispielsweise GSM-(Global System for Mobile Communication)-Sprachverbindungen, SMS (Short Message Service), EMS (erweiterter Nachrichtenservice) oder MMS (Multimedia Messaging Service), CDMA (Code Division Multiple Access), TDMA (Time Division Multiple Access), PDC (Personal Digital Cellular System), WCDMA (Wideband Code Division Multiple Access), CDMA2000 oder GPRS (General Packet Radio System) bereitstellen. Eine derartige Kommunikation kann beispielsweise über den Transceiver 368 unter Verwendung einer Funkfrequenz erfolgen. Zusätzlich kann eine Kurzstreckenkommunikation stattfinden, wie unter Verwendung eines Bluetooth-, WLAN- oder eines anderen solchen Transceivers. Außerdem kann ein GPS-(globales Positionsbestimmungssystem)-Empfangsmodul 370 zusätzliche navigations- und ortsbezogene drahtlose Daten an das mobile Computergerät 350 bereitstellen, die wie jeweils anwendbar durch Anwendungen verwendet werden können, die auf dem mobilen Computergerät 350 laufen.
  • Das mobile Computergerät 350 kann ebenfalls unter Verwendung eines Audiocodec 360 hörbar kommunizieren, der gesprochene Informationen von einem Benutzer empfangen und diese in nutzbare digitale Informationen konvertieren kann. Der Audiocodec 360 kann gleichermaßen einen hörbaren Ton für einen Benutzer erzeugen, beispielsweise über einen Lautsprecher, wie zum Beispiel in einem Handset des mobilen Computergeräts 350. Ein derartiger Ton kann einen Ton von Sprachfernsprechverbindungen, aufgenommene Töne (z. B. Sprachnachrichten, Musikdateien usw.) beinhalten und kann auch Töne beinhalten, die von Anwendungen erzeugt werden, die auf dem mobilen Computergerät 350 betrieben werden.
  • Das Computergerät 350 kann in einer Reihe verschiedener Formen implementiert sein, wie in der Figur gezeigt wird. Es kann beispielsweise als ein Mobiltelefon 380 implementiert sein. Es kann außerdem als Teil eines Smartphones 382, Personal Digital Assistant oder einer anderen ähnlichen mobilen Vorrichtung implementiert sein.
  • Verschiedene Implementierungen der hier beschriebenen Systeme und Techniken können in digitaler elektronischer Schaltung, integrierter Schaltung, in speziell konstruierten ASICs (anwendungsspezifische integrierte Schaltungen), in Computer-Hardware, Firmware, Software und/oder Kombinationen davon realisiert werden. Diese verschiedenen Implementierungen können eine Implementierung in einem oder mehreren Computerprogrammen beinhalten, die auf einem programmierbaren System ausführbar und/oder interpretierbar sind, das mindestens einen programmierbaren Prozessor beinhaltet, der ein spezieller oder für allgemeine Zwecke sein kann und der zum Empfangen von Daten und Anweisungen von und zum Übertragen von Daten und Befehlen an ein Speichersystem, mindestens ein Eingabegerät und mindestens ein Ausgabegerät gekoppelt ist.
  • Diese Computerprogramme (auch bekannt als Programme, Software, Anwendungen oder Code) beinhalten Maschinenanweisungen für einen programmierbaren Prozessor und können in eine hochrangige verfahrens- und/oder objektorientierte Programmiersprache und/oder in eine Montage-/Maschinensprache transkribiert werden. Wie hierin verwendet, bezeichnen die Begriffe „maschinenlesbares Medium“ und „computerlesbares Medium“ ein beliebiges Computerprogrammprodukt, eine beliebige Vorrichtung und/oder ein beliebiges Gerät (z. B. Magnetplatten, optische Platten, Speicher, programmierbare Logikbausteine (PLDs)), die verwendet werden, um einem programmierbaren Prozessor Maschinenbefehle und/oder Daten bereitzustellen, einschließlich eines maschinenlesbaren Mediums, das Maschinenbefehle als ein maschinenlesbares Signal empfängt. Der Begriff „maschinenlesbares Signal“ bezeichnet ein beliebiges Signal, das verwendet wird, um einem programmierbaren Prozessor Maschinenanweisungen und/oder Daten bereitzustellen.
  • Zur Interaktion mit einem Benutzer können die hier beschriebenen Techniken und Systeme auf einem Computer mit einem Bildschirm (z. B. einem CRT-(Cathode Ray Tube) oder LCD-(Liquid Crystal Display)Monitor) für die Anzeige von Informationen für den Benutzer und mit einer Tastatur und einem Zeigegerät (z. B. einer Maus oder einem Trackball), durch die der Benutzer Eingaben an den Computer liefern kann, implementiert werden. Es können auch andere Arten von Einrichtungen verwendet werden, um für eine Interaktion mit einem Benutzer zu sorgen; beispielsweise kann eine an den Benutzer bereitgestellte Rückkopplung eine beliebige Form von sensorischer Rückkopplung sein, wie z. B. eine visuelle Rückkopplung, auditive Rückkopplung oder taktile Rückkopplung; und die Eingabe vom Benutzer kann in beliebiger Form empfangen werden, einschließlich akustischer, Sprach- oder taktiler Eingabe.
  • Die hier beschriebenen Systeme und Techniken können in einem Computersystem implementiert werden, das eine Back-End-Komponente beinhaltet (z. B. als Datenserver), oder das eine Middleware-Komponente (z. B. einen Anwendungsserver) beinhaltet, oder das eine Front-End-Komponente (z. B. einen Client-Computer, der eine grafische Benutzeroberfläche oder einen Webbrowser aufweist, durch die ein Benutzer mit einer Implementierung der hier beschriebenen Systeme und Techniken interagieren kann) oder eine beliebige Kombination dieser Back-End, Middleware- oder Front-End-Komponenten beinhaltet. Die Komponenten des Systems können durch eine beliebige Form oder ein beliebiges Medium digitaler Datenkommunikation, wie z. B. ein Kommunikationsnetzwerk, miteinander verbunden sein). Beispiele von Kommunikationsnetzwerken beinhalten ein lokales Netzwerk („LAN“), ein Fernnetzwerk („WAN“) und das Internet.
  • Das Computersystem kann Clients und Server beinhalten. Ein Client und ein Server befinden sich im Allgemeinen entfernt voneinander und interagieren typischerweise über ein Kommunikationsnetzwerk. Die Beziehung zwischen Client und Server entsteht aufgrund von Computerprogrammen, die auf den jeweiligen Computern laufen und die eine Client-Server-Beziehung zueinander aufweisen.
  • Obgleich vorstehend nur einige Implementierungen ausführlich beschrieben wurden, sind andere Ausführungen möglich. Während eine Kundenanwendung als Zugreifen auf den bzw. die Delegierten beschrieben ist, können bei anderen Implementierungen der bzw. die Delegierten durch andere Anwendungen verwendet werden, die durch einen oder mehrere Prozessoren implementiert sind, wie beispielsweise eine Anwendung, die auf einem oder mehreren Servern ausführt. Außerdem erfordern die in den Figuren dargestellten logischen Abläufe nicht die bestimmte dargestellte Reihenfolge oder sequenzielle Reihenfolge, um wünschenswerte Ergebnisse zu erzielen. Darüber hinaus können andere Aktionen vorgesehen oder Aktionen aus den beschriebenen Abläufen eliminiert werden und andere Komponenten können zu den beschriebenen Systemen hinzugefügt oder davon entfernt werden. Dementsprechend liegen andere Implementierungen im Geltungsbereich der folgenden Ansprüche.

Claims (20)

  1. Nicht flüchtiges, computerlesbares Speichermedium, das ein Computerprogramm speichert, das bei Ausführung durch einen Prozessor eingerichtet ist, ein Verfahren durchzuführen, das Folgendes umfasst: die Bestimmung, durch ein Computergerät, eines Kontexts, das mit dem Computergerät verknüpft ist; basierend auf dem Kontext, der mit dem Computergerät verknüpft ist, die Bestimmung eines Hotwords; nach der Bestimmung des Hotwords den Erhalt von Audiodaten, die einer Äußerung entsprechen; die Bestimmung, dass die Audiodaten das Hotword beinhalten; und als Reaktion auf die Bestimmung des Hotwords in den Audiodaten die Durchführung einer Operation, die mit dem Hotword verknüpft ist.
  2. Computerlesbares Medium nach Anspruch 1, wobei die Bestimmung, dass die Audiodaten das Hotword beinhalten, umfasst, dass die Bestimmung, dass die Audiodaten das Hotword beinhalten, ohne eine Spracherkennung der Audiodaten erfolgt.
  3. Computerlesbares Medium nach Anspruch 1, wobei die Bestimmung, dass die Audiodaten das Hotword beinhalten, Folgendes umfasst: die Extrahierung von Audioeigenschaften aus den Audiodaten, die der Äußerung entsprechen; die Erzeugung eines Wahrscheinlichkeitswerts für das Hotword durch die Verarbeitung der Audioeigenschaften; die Bestimmung, dass der Wahrscheinlichkeitswert für das Hotword einen Schwellenwert erreicht; und basierend auf der Tatsache, dass der Wahrscheinlichkeitswert einen Schwellenwert erreicht, die Bestimmung, dass die Audiodaten, die der Äußerung entsprechen, das Hotword beinhalten.
  4. Computerlesbares Medium nach einem beliebigen der Ansprüche 1 bis 3, umfassend: den Erhalt eines Hotword-Modells, das dem Hotword entspricht, nachdem das Hotword bestimmt wurde, wobei die Bestimmung, dass die Audiodaten das Hotword beinhalten, die Bestimmung mithilfe des Hotword-Modells umfasst, dass die Audiodaten das Hotword beinhalten.
  5. Computerlesbares Medium nach einem beliebigen der vorigen Ansprüche, umfassend: die Bereitstellung von Daten zur Identifikation des Hotwords für die Ausgabe.
  6. Computerlesbares Medium nach einem beliebigen der vorigen Ansprüche, umfassend: die Erkennung der Bewegung des Computergeräts durch das Computergerät, wobei der Kontext auf der Bewegung des Computergeräts basiert.
  7. Computerlesbares Medium nach einem beliebigen der Ansprüche 1 bis 5, umfassend: die Erkennung durch das Computergerät, dass eine Anwendung auf dem Computergerät läuft, wobei der Kontext auf der Anwendung basiert, die auf dem Computergerät läuft.
  8. Computerlesbares Medium nach einem beliebigen der Ansprüche 1 bis 5, umfassend: die Erkennung des Standorts des Computergeräts durch das Computergerät, wobei der Kontext auf dem Standort des Computergeräts basiert.
  9. Computerlesbares Medium nach einem beliebigen der vorigen Ansprüche, umfassend: die Bestimmung durch das Computergerät, dass der Kontext nicht länger mit dem Computergerät verknüpft ist; und die Bestimmung, dass danach empfangene Audiodaten, die das Hotword beinhalten, keine Operation auslösen.
  10. Computerlesbares Medium nach einem beliebigen der vorigen Ansprüche, wobei die Durchführung einer mit dem Hotword verknüpften Operation Folgendes umfasst: die Durchführung einer Spracherkennung für einen Teil der Audiodaten, die das Hotword beinhalten, wobei die Operation auf einer Transkription des Teils der Audiodaten basiert, der das Hotword nicht beinhaltet.
  11. Computerlesbares Medium nach einem beliebigen der vorigen Ansprüche, wobei die Audiodaten nur das Hotword beinhalten.
  12. Computerlesbares Medium nach einem beliebigen der Ansprüche 1 bis 10, wobei ein erster Teil der Audiodaten das Hotword beinhaltet.
  13. System, das Folgendes umfasst: einen oder mehrere Computer und ein oder mehrere Speichergeräte, die Befehle speichern, welche bei Ausführung durch den einen oder die mehreren Computer betriebsfähig sind, den einen oder die mehreren Computer zu veranlassen, Operationen auszuführen, die Folgendes umfassen: die Bestimmung, durch ein Computergerät, eines Kontexts, das mit dem Computergerät verknüpft ist; basierend auf dem Kontext, der mit dem Computergerät verknüpft ist, die Bestimmung eines Hotwords; nach der Bestimmung des Hotwords den Erhalt von Audiodaten, die einer Äußerung entsprechen; die Bestimmung, dass die Audiodaten das Hotword beinhalten; und als Reaktion auf die Bestimmung, dass die Audiodaten das Hotwords beinhalten, die Durchführung einer mit dem Hotword verknüpften Operation.
  14. System nach Anspruch 13, wobei die Bestimmung, dass die Audiodaten das Hotword beinhalten, umfasst, dass die Bestimmung, dass die Audiodaten das Hotword beinhalten, ohne eine Spracherkennung der Audiodaten erfolgt.
  15. System nach Anspruch 13, wobei die Bestimmung, dass die Audiodaten das Hotword beinhalten, Folgendes umfasst: die Extrahierung von Audioeigenschaften aus den Audiodaten, die der Äußerung entsprechen; die Erzeugung eines Wahrscheinlichkeitswerts für das Hotword durch die Verarbeitung der Audioeigenschaften; die Bestimmung, dass der Wahrscheinlichkeitswert für das Hotword einen Schwellenwert erreicht; und basierend auf der Tatsache, dass der Wahrscheinlichkeitswert einen Schwellenwert erreicht, die Bestimmung, dass die Audiodaten, die der Äußerung entsprechen, das Hotword beinhalten.
  16. System nach einem beliebigen der Ansprüche 13 bis 15, wobei die Operationen ferner Folgendes umfassen: den Erhalt eines Hotword-Modells, das dem Hotword entspricht, nachdem das Hotword bestimmt wurde, wobei die Bestimmung, dass die Audiodaten das Hotword beinhalten, die Bestimmung mithilfe des Hotword-Modells umfasst, dass die Audiodaten das Hotword beinhalten.
  17. System nach einem beliebigen der Ansprüche 13 bis 16, wobei die Operationen ferner Folgendes umfassen: die Erkennung durch das Computergerät, dass eine Anwendung auf dem Computergerät läuft, wobei der Kontext auf der Anwendung basiert, die auf dem Computergerät läuft.
  18. System nach einem beliebigen der Ansprüche 13 bis 17, wobei die Operationen ferner Folgendes umfassen: die Bestimmung durch das Computergerät, dass der Kontext nicht länger mit dem Computergerät verknüpft ist; und die Bestimmung, dass danach empfangene Audiodaten, die das Hotword beinhalten, keine Operation auslösen.
  19. System nach einem der Ansprüche 13 bis 18, wobei die Durchführung einer mit dem Hotword verknüpften Operation Folgendes umfasst: die Durchführung einer Spracherkennung für einen Teil der Audiodaten, die das Hotword beinhalten, wobei die Operation auf einer Transkription des Teils der Audiodaten basiert, der das Hotword nicht beinhaltet.
  20. Nicht flüchtiges computerlesbares Medium, das Software speichert, die Befehle umfasst, welche durch einen oder mehrere Computer ausführbar sind, die bei einer solchen Ausführung den einen oder die mehreren Computer veranlassen, Operationen auszuführen, die Folgendes umfassen: die Bestimmung, durch ein Computergerät, eines Kontexts, das mit dem Computergerät verknüpft ist; basierend auf dem Kontext, der mit dem Computergerät verknüpft ist, die Bestimmung eines Hotwords; nach der Bestimmung des Hotwords den Erhalt von Audiodaten, die einer Äußerung entsprechen; die Bestimmung, dass die Audiodaten das Hotword beinhalten; und als Reaktion auf die Bestimmung, dass das Hotword in den Audiodaten beinhaltet ist, die Durchführung einer Operation, die mit dem Hotword verknüpft ist.
DE202017105719.4U 2017-09-20 2017-09-20 Kontext-Hotwords Active DE202017105719U1 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE202017105719.4U DE202017105719U1 (de) 2017-09-20 2017-09-20 Kontext-Hotwords

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE202017105719.4U DE202017105719U1 (de) 2017-09-20 2017-09-20 Kontext-Hotwords

Publications (1)

Publication Number Publication Date
DE202017105719U1 true DE202017105719U1 (de) 2017-11-13

Family

ID=60480903

Family Applications (1)

Application Number Title Priority Date Filing Date
DE202017105719.4U Active DE202017105719U1 (de) 2017-09-20 2017-09-20 Kontext-Hotwords

Country Status (1)

Country Link
DE (1) DE202017105719U1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112735428A (zh) * 2020-12-27 2021-04-30 科大讯飞(上海)科技有限公司 一种热词获取方法、语音识别方法及相关设备

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112735428A (zh) * 2020-12-27 2021-04-30 科大讯飞(上海)科技有限公司 一种热词获取方法、语音识别方法及相关设备

Similar Documents

Publication Publication Date Title
DE102017121086B4 (de) Zusammenwirkende sprachgesteuerte geräte
DE112014000709B4 (de) Verfahren und vorrichtung zum betrieb eines sprachtriggers für einen digitalen assistenten
DE112016004863T5 (de) Parametersammlung und automatische Dialogerzeugung in Dialogsystemen
CN109326289B (zh) 免唤醒语音交互方法、装置、设备及存储介质
DE202017104895U1 (de) Hotword-Detektion bei mehreren Vorrichtungen
DE102017125396B4 (de) Abfrage-Endpunktbestimmung auf Basis der Lippenerkennung
DE112016003459B4 (de) Sprecherkennung
DE102017125001A1 (de) Streaming-Dialogmanagement in Echtzeit
DE202017106606U1 (de) Hotword-Erkennung auf der Server-Seite
DE112014003653T5 (de) Automatisch aktivierende intelligente Antworten auf der Grundlage von Aktivitäten von entfernt angeordneten Vorrichtungen
DE112018006101T5 (de) Dynamische Anmeldung einer benutzerdefinierten Aufweck-Schlüsselphrase für ein sprachfähiges Computersystem
DE202017105810U1 (de) Identifikation eines virtuellen Assistenten von nahgelegenen Rechenvorrichtungen
DE112020004504T5 (de) Kontoverbindung mit Gerät
DE112014002747T5 (de) Vorrichtung, Verfahren und grafische Benutzerschnittstelle zum Ermöglichen einer Konversationspersistenz über zwei oder mehr Instanzen eines digitalen Assistenten
DE202017105819U1 (de) Mehrfachanwenderpersonalisierung bei einer Sprachschnittstellenvorrichtung
DE202016008260U1 (de) Erlernen von Aussprachen einer personalisierten Entität
DE202017103860U1 (de) Kontextabhängige Task-Shortcuts
CN116052661A (zh) 上下文热词
DE102016214955A1 (de) Latenzfreier digitaler Assistent
DE102017125196A1 (de) Proaktive Aufnahme von nicht angefordertem Inhalt in Mensch-Computer-Dialoge
DE102014109122A1 (de) Systeme und Verfahren für ergebnisbezogene Arbitrierung in Sprachdialogsystemen
DE202015010012U1 (de) Aktivierungswort-Ermittlung auf mehreren Vorrichtungen
DE112021001064T5 (de) Vorrichtungsgerichtete Äußerungserkennung
DE102016125508A1 (de) Auffindbarkeitssystem für Sprachaktionen
DE112020003306T5 (de) Unterscheiden von sprachbefehlen

Legal Events

Date Code Title Description
R207 Utility model specification
R081 Change of applicant/patentee

Owner name: GOOGLE LLC (N.D.GES.D. STAATES DELAWARE), MOUN, US

Free format text: FORMER OWNER: GOOGLE, INC., MOUNTAIN VIEW, CALIF., US

R082 Change of representative

Representative=s name: VENNER SHIPLEY LLP, GB

R150 Utility model maintained after payment of first maintenance fee after three years
R082 Change of representative

Representative=s name: VENNER SHIPLEY GERMANY LLP, DE

Representative=s name: VENNER SHIPLEY LLP, DE

R151 Utility model maintained after payment of second maintenance fee after six years