DE202017104895U1 - Hotword-Detektion bei mehreren Vorrichtungen - Google Patents

Hotword-Detektion bei mehreren Vorrichtungen Download PDF

Info

Publication number
DE202017104895U1
DE202017104895U1 DE202017104895.0U DE202017104895U DE202017104895U1 DE 202017104895 U1 DE202017104895 U1 DE 202017104895U1 DE 202017104895 U DE202017104895 U DE 202017104895U DE 202017104895 U1 DE202017104895 U1 DE 202017104895U1
Authority
DE
Germany
Prior art keywords
computing device
data
hotword
audio data
server
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
DE202017104895.0U
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
Publication of DE202017104895U1 publication Critical patent/DE202017104895U1/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/28Constructional details of speech recognition systems
    • G10L15/30Distributed recognition, e.g. in client-server systems, for mobile phones or network applications
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/78Detection of presence or absence of voice signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/06Creation of reference templates; Training of speech recognition systems, e.g. adaptation to the characteristics of the speaker's voice
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/16Speech classification or search using artificial neural networks
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L2015/088Word spotting
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • G10L2015/223Execution procedure of a spoken command

Landscapes

  • Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Telephonic Communication Services (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

Computerprogrammprodukt, wobei das Computerprogrammprodukt Code umfasst, der bei Ausführung durch eine oder mehrere Computervorrichtungen, die eine oder die mehreren Computervorrichtungen veranlasst, ein Verfahren auszuführen, wobei das Verfahren umfasst: Empfangen, durch eine Computervorrichtung, von Audiodaten, die einer Äußerung entsprechen; Bestimmen, dass die Äußerung wahrscheinlich ein bestimmtes vordefiniertes Hotword umfasst; als Reaktion auf das Bestimmen, dass die Äußerung wahrscheinlich das bestimmte vordefinierte Hotword umfasst, Senden, an einen Server, (i) Daten, die anzeigen, dass die Computervorrichtung wahrscheinlich das bestimmte vordefinierte Hotword empfangen hat, (ii) Daten, welche die Computervorrichtung identifizieren, und (iii) Daten, die eine Gruppe von in der Nähe befindlichen Computervorrichtungen identifizieren, welche die Computervorrichtung umfasst; Empfangen, vom Server, eines Befehls, Spracherkennungsverarbeitung an den Audiodaten zu beginnen; und als Reaktion auf das Empfangen des Befehls, Spracherkennungsverarbeitung an den Audiodaten zu beginnen, Verarbeiten von mindestens einem Abschnitt der Audiodaten unter Verwendung eines automatisierten Spracherkenners auf der Computervorrichtung.

Description

  • TECHNISCHES GEBIET
  • Diese Beschreibung betrifft generell automatisierte Spracherkennung.
  • ALLGEMEINER STAND DER TECHNIK
  • Die Realität eines sprachgesteuerten Haushaltes oder einer anderen Umgebung – d. h. eine, in der ein Benutzer nur eine Abfrage oder einen Befehl laut aussprechen muss und ein computerbasiertes System die Abfrage beantwortet und/oder verursacht, dass der Befehl ausgeführt wird – ist da. Eine sprachgesteuerte Umgebung (z. B. Haushalt, Arbeitsplatz, Schule usw.) kann unter Verwendung eines Netzwerks von verbundenen Mikrofonvorrichtungen, die in den verschiedenen Räumen oder Bereichen der Umgebung verteilt sind, implementiert werden. Durch solch ein Netzwerk von Mikrofonen hat ein Benutzer die Möglichkeit, das System von im Wesentlichen irgendwo in der Umgebung mündlich abzufragen, ohne die Notwendigkeit, einen Computer oder eine andere Vorrichtung vor sich oder gar in der Nähe zu haben. Während er in der Küche kocht, kann ein Benutzer beispielsweise das System fragen „Wie viele Milliliter in drei Tassen?“ und als Reaktion eine Antwort vom System z. B. in der Form einer künstlichen Sprachausgabe erhalten. Alternativ könnte ein Benutzer dem System Fragen stellen wie „Wann schließt meine nahest gelegene Tankstelle“, oder beim Vorbereiten, aus dem Haus zu gehen „Sollte ich eine Jacke anziehen?“.
  • Weiter kann ein Benutzer eine Abfrage des Systems anfordern und/oder einen Befehl ausgeben, der die persönlichen Informationen des Benutzers betrifft. 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
  • Bei einem sprachgesteuerten System ist die Art und Weise, in der der Benutzer mit dem System interagiert, hauptsächlich, wenn nicht ausschließlich, mittels Spracheingabe konzipiert. Daher kann das System, das potenziell alle Äußerungen aufnimmt, die in der Umgebung auftreten, einschließlich denjenigen, die nicht an das System gerichtet sind, eine Art von Erkennung aufweisen, wann irgendeine gegebene Äußerung an das System gerichtet ist, anstatt im Gegensatz dazu z. B. an eine in der Umgebung anwesende Person gerichtet zu sein. Eine Art, das zu erreichen, ist, ein Hotword zu verwenden, das anhand der Übereinstimmung unter den Benutzern in der Umgebung als ein vorbestimmtes Wort reserviert ist, das ausgesprochen wird, um die Aufmerksamkeit des Systems aufzurufen. Bei einer beispielhaften Umgebung ist das Hotword, das verwendet wird, um die Aufmerksamkeit des Systems aufzurufen, die Worte „OK Computer“. Daher wird jedes Mal, wenn die Worte „OK Computer“ gesprochen werden, dies durch ein Mikrofon aufgenommen, zum System transportiert, das Spracherkennungstechniken ausführen oder Audiomerkmale und neuronale Netze verwenden kann, um zu bestimmen, ob das Hotword gesprochen wurde, und, wenn dies 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 Frage, Befehl, Aussage oder andere Anforderung sein kann, die Sprache sein kann, die vom System erkannt, geparst und behandelt wurde, entweder allein oder in Verbindung mit dem Server über das Netzwerk.
  • Innovative Aspekte des hierin beschriebenen Gegenstandes betreffen Computerprogrammprodukte, Systeme und Ausrüstung einschließlich Computerprogrammen, die auf einem Computerspeichermedium codiert sind, zur Hotword-Detektion auf mehreren Vorrichtungen. Verschiedene Implementierungen sind derart konfiguriert, dass die Verwendung von Computerressourcen reduziert ist, wenn sich mehr als eine Vorrichtung nahe einem Benutzer befindet, wenn der Benutzer ein Hotword spricht.
  • Ein innovativer Aspekt des in dieser Beschreibung beschriebenen Gegenstandes kann in Verfahren verkörpert sein, welche die Aktionen umfassen, Empfangen durch eine Computervorrichtung, von Audiodaten, die einer Äußerung entsprechen; Bestimmen, dass die Äußerung wahrscheinlich ein bestimmtes vordefiniertes Hotword umfasst; als Reaktion auf das Bestimmen, dass die Äußerung wahrscheinlich das bestimmte vordefinierte Hotword umfasst, Senden, an einen Server, (i) von Daten, die anzeigen, dass die Computervorrichtung wahrscheinlich das bestimmte vordefinierte Hotword empfangen hat, (ii) von Daten, welche die Computervorrichtung identifizieren, und (iii) von Daten, die eine Gruppe von in der Nähe befindlichen Computervorrichtungen identifizieren, welche die Computervorrichtung umfasst; Empfangen eines Befehls vom Server, Spracherkennungsverarbeitung an den Audiodaten zu beginnen; und als Reaktion auf das Empfangen des Befehls, Spracherkennungsverarbeitung an den Audiodaten zu beginnen, Verarbeiten von mindestens einem Abschnitt der Audiodaten unter Verwendung eines automatisierten Spracherkenners auf der Computervorrichtung.
  • Diese und andere Ausführungsformen können jeweils optional ein oder mehrere von den folgenden Merkmalen umfassen. Die Aktionen umfassen weiter das Empfangen, von einer zusätzlichen Computervorrichtung, von Daten, die anzeigen, dass die zusätzliche Computervorrichtung konfiguriert ist, auf ein bestimmtes vordefiniertes Hotword anzusprechen; Senden, an die zusätzliche Computervorrichtung, der Daten, die anzeigen, dass die Computervorrichtung konfiguriert ist, auf ein bestimmtes vordefiniertes Hotword anzusprechen; Bestimmen eines Gruppenbezeichners für eine Gruppe von Computervorrichtungen, welche die Computervorrichtung und die zusätzliche Computervorrichtung umfasst; und Senden, an die zusätzliche Computervorrichtung, des Gruppenbezeichners. Die zusätzliche Computervorrichtung ist eine Computervorrichtung, die sich in der Nähe der Computervorrichtung befindet. Die Daten, welche die Gruppe von in der Nähe befindlichen Computervorrichtungen identifizieren, welche die Computervorrichtung umfasst, sind den Gruppenbezeichner. Die Aktionen umfassen weiter das Empfangen, durch die Computervorrichtung, zusätzlicher Audiodaten, die einer zusätzlichen Äußerung entsprechen; das Bestimmen, dass die zusätzliche Äußerung wahrscheinlich das bestimmte vordefinierte Hotword umfasst; als Reaktion auf das Bestimmen, dass die Äußerung wahrscheinlich das bestimmte vordefinierte Hotword umfasst, Senden, an den Server, (i) der Daten, die anzeigen, dass die Computervorrichtung wahrscheinlich das bestimmte vordefinierte Hotword empfangen hat, (ii) der Daten, welche die Computervorrichtung identifizieren, und (iii) der Daten, welche die Gruppe von in der Nähe befindlichen Computervorrichtungen identifiziert, welche die Computervorrichtung umfasst; das Empfangen, von dem Server, eines Befehls, Spracherkennungsverarbeitung an den Audiodaten nicht zu beginnen; und als Reaktion auf das Empfangen des Befehls, Spracherkennungsverarbeitung an den Audiodaten nicht zu beginnen, das Verarbeiten der Audiodaten unter Verwendung des automatisierten Spracherkenners auf der Computervorrichtung einzustellen.
  • Die Aktionen umfassen weiter das Bestimmen einer Lautstärke der mit dem bestimmten vordefinierten Hotword verknüpften Audiodaten; und als Reaktion auf das Bestimmen, dass die Äußerung wahrscheinlich das bestimmte vordefinierte Hotword umfasst, Senden, an den Server, der Lautstärke der mit dem bestimmten vordefinierten Hotword verknüpften Audiodaten. Die Aktion des Bestimmens einer Lautstärke der mit dem bestimmten vordefinierten Hotword verknüpften Audiodaten umfasst das Bestimmen einer Leistung der Audiodaten, die mit dem bestimmten vordefinierten Hotword verknüpft sind, und das Bestimmen einer Leistung von Audiodaten, die mit dem bestimmten vordefinierten Hotword nicht verknüpft sind, und welche die Computervorrichtung vor den Audiodaten empfangen hat, die mit dem bestimmten vordefinierten Hotword verknüpft sind. Die Lautstärke der mit dem bestimmten vordefinierten Hotword verknüpften Audiodaten basiert auf der Leistung der Audiodaten, die mit dem bestimmten vordefinierten Hotword verknüpft sind, und der Leistung der Audiodaten, die mit dem bestimmten vordefinierten Hotword nicht verknüpft sind, und welche die Computervorrichtung vor den Audiodaten empfangen hat, die mit dem bestimmten vordefinierten Hotword verknüpft sind. Die Aktionen umfassen weiter das Bestimmen einer Konfidenzpunktzahl, die eine Wahrscheinlichkeit reflektiert, dass die mit dem bestimmten vordefinierten Hotword verknüpften Audiodaten dem bestimmten vordefinierten Hotword entsprechen; und als Reaktion auf das Bestimmen, dass die Äußerung wahrscheinlich das bestimmte vordefinierte Hotword umfasst, das Senden, an den Server, der Konfidenzpunktzahl.
  • Die Aktion des Bestimmens einer Konfidenzpunktzahl, die eine Wahrscheinlichkeit reflektiert, dass die mit dem bestimmten vordefinierten Hotword verknüpften Audiodaten dem bestimmten vordefinierten Hotword entsprechen, umfasst das Bestimmen von Audiomerkmalen von den mit dem bestimmten vordefinierten Hotword verknüpften Audiodaten; und basierend auf den Audiomerkmalen, das Bestimmen der Konfidenzpunktzahl unter Verwendung eines neuronalen Netzwerks. Die Aktionen umfassen weiter, als Reaktion auf das Bestimmen, das die Äußerung wahrscheinlich das bestimmte vordefinierte Hotword umfasst, das Senden, an den Server, von Daten, die einen Ort der Computervorrichtung anzeigen. Die Aktionen umfassen weiter, als Reaktion auf das Bestimmen, dass die Äußerung wahrscheinlich das bestimmte vordefinierte Hotword umfasst, das Senden, an den Server, von Daten, die eine abgelaufene Zeit seit einer vorhergehenden Verwendung der Computervorrichtung anzeigen. Die Aktionen umfassen weiter, als Reaktion auf das Bestimmen, dass die Äußerung wahrscheinlich das bestimmte vordefinierte Hotword umfasst, das Senden, an den Server, von Daten, die eine durch die Computervorrichtung zuvor ausgeführte Aktion anzeigen.
  • Andere Ausführungsformen dieses Aspekts umfassen entsprechende Systeme, Vorrichtungen und Computerprogramme, die auf Computerspeichervorrichtungen aufgezeichnet sind, von denen jedes konfiguriert ist, die Operationen der Verfahren auszuführen.
  • Ein weiterer innovativer Aspekt des in dieser Beschreibung beschriebenen Gegenstandes kann in Verfahren verkörpert werden, welche die Aktionen des Empfangens, durch einen Server und von einer Computervorrichtung, (i) von Daten, die anzeigen, dass die Computervorrichtung wahrscheinlich ein bestimmtes vordefiniertes Hotword empfangen hat, (ii) von Daten, welche die Computervorrichtung identifizieren, und (iii) von Daten, die eine Gruppe von Computervorrichtungen identifiziert, die der Computervorrichtung nahe sind, und welche die Computervorrichtung umfasst; das Zugreifen auf Kontextdaten, die einen Kontext der Computervorrichtung anzeigen; basierend auf den Kontextdaten der Computervorrichtung, das Bestimmen, dass die Computervorrichtung Spracherkennungsverarbeitung an mit dem bestimmten vordefinierten Hotword verknüpften Audiodaten beginnt; und das Senden, zur Computervorrichtung, eines Befehls, Spracherkennungsverarbeitung an den mit dem bestimmten vordefinierten Hotword verknüpften Audiodaten zu beginnen.
  • Diese und andere Ausführungsformen können jeweils optional ein oder mehrere von den folgenden Merkmalen umfassen. Die Aktionen umfassen weiter das Empfangen, durch einen Server und von einer zusätzlichen Computervorrichtung, (i) von Daten, die anzeigen, dass die zusätzliche Computervorrichtung wahrscheinlich das bestimmte vordefinierte Hotword empfangen hat, (ii) von Daten, welche die zusätzliche Computervorrichtung identifizieren, und (iii) von Daten, welche die Gruppe von Computervorrichtungen identifizieren, die der zusätzlichen Computervorrichtung nahe sind, und welche die Computervorrichtung und die zusätzliche Computervorrichtung umfasst; das Zugreifen auf Kontextdaten, die einen Kontext der zusätzlichen Computervorrichtung anzeigen; basierend auf den Kontextdaten der Computervorrichtung und den Kontextdaten der zusätzlichen Computervorrichtung, das Bestimmen, dass die zusätzliche Computervorrichtung Spracherkennungsverarbeitung an den mit dem bestimmten vordefinierten Hotword verknüpften Audiodaten nicht beginnt; und das Senden, an die zusätzliche Computervorrichtung, eines Befehls, Spracherkennungsverarbeitung an den mit dem bestimmten vordefinierten Hotword verknüpften Audiodaten nicht zu beginnen.
  • Die Aktionen umfassen weiter das Empfangen, durch einen Server und von einer ersten Computervorrichtung, von Daten, die anzeigen, dass die erste Computervorrichtung konfiguriert ist, auf ein bestimmtes vordefiniertes Hotword anzusprechen; das Empfangen, durch einen Server und von einer zweiten Computervorrichtung, von Daten, die anzeigen, dass die zweite Computervorrichtung konfiguriert ist, auf das bestimmte vordefinierten Hotword anzusprechen; das Bestimmen, durch den Server, eines Gruppenbezeichners für eine Gruppe von Computervorrichtungen, welche die erste Computervorrichtung und die zweite Computervorrichtung umfasst; und das Senden, an die erste Computervorrichtung und die zweite Computervorrichtung, des Gruppenbezeichners. Die Daten, welche die Gruppe von Computervorrichtungen identifizieren, die sich nahe der Computervorrichtung befinden, und welche die Computervorrichtung umfasst, sind den Gruppenbezeichner. Die mit dem bestimmten vordefinierten Hotword verknüpften Audiodaten sind Audiodaten, die einer Äußerung entsprechen. Die Kontextdaten, die einen Kontext der Computervorrichtung anzeigen, umfassen Daten, die eine von mehreren Fähigkeiten der Computervorrichtung anzeigen.
  • Die Aktion des Bestimmens, dass die Computervorrichtung Spracherkennungsverarbeitung an mit dem bestimmten vordefinierten Hotword verknüpften Audiodaten beginnt, basiert auf der einen von mehreren Fähigkeiten der Computervorrichtung. Die Kontextdaten, die einen Kontext der Computervorrichtung anzeigen, umfassen Daten, die eine abgelaufene Zeit seit einer vorhergehenden Verwendung der Computervorrichtung anzeigen. Die Aktion des Bestimmens, dass die Computervorrichtung Spracherkennungsverarbeitung an mit dem bestimmten vordefinierten Hotword verknüpften Audiodaten beginnt, basiert auf der abgelaufenen Zeit seit der vorhergehenden Verwendung der Computervorrichtung. Die Kontextdaten, die einen Kontext der Computervorrichtung anzeigen, umfassen Daten, die eine durch die Computervorrichtung zuvor ausgeführte Aktion anzeigen. Die Aktion des Bestimmens, dass die Computervorrichtung Spracherkennungsverarbeitung an mit dem bestimmten vordefinierten Hotword verknüpften Audiodaten beginnt, basiert auf der durch die Computervorrichtung zuvor ausgeführten Aktion. Die Aktionen umfassen weiter das Empfangen, von der Computervorrichtung, von Daten die eine Lautstärke der mit dem bestimmten vordefinierten Hotword verknüpften Audiodaten anzeigen. Die Aktion des Bestimmens, dass die Computervorrichtung Spracherkennungsverarbeitung an den mit dem bestimmten vordefinierten Hotword verknüpften Audiodaten beginnt, basiert weiter auf der Lautstärke der mit dem bestimmten vordefinierten Hotword verknüpften Audiodaten.
  • Die Aktionen umfassen weiter das Empfangen, durch den Server und von der Computervorrichtung, von Daten, die einen Ort der Computervorrichtung anzeigen. Die Aktion des Bestimmens, dass die Computervorrichtung Spracherkennungsverarbeitung an mit dem bestimmten vordefinierten Hotword verknüpften Audiodaten beginnt, basiert weiter auf dem Ort der Computervorrichtung. Die Aktionen umfassen weiter das Empfangen, von der Computervorrichtung, von Daten, die eine Aktion anzeigen, die mit den Audiodaten verknüpft sind, und von Daten, die Aktionen anzeigen, die durch die Computervorrichtung innerhalb eines bestimmten Zeitraums nach dem Empfangen des Befehls ausgeführt werden, Spracherkennungsverarbeitung an den mit dem bestimmten vordefinierten Hotword verknüpften Audiodaten zu beginnen; und das Aktualisieren der Kontextdaten der Computervorrichtung basierend auf den Daten, welche die Aktion anzeigen, die mit den Audiodaten verknüpft ist, und den Daten, welche die Aktionen anzeigen, die durch die Computervorrichtung innerhalb des bestimmten Zeitraums nach dem Empfangen des Befehls ausgeführt werden, Spracherkennungsverarbeitung an den mit dem bestimmten vordefinierten Hotword verknüpften Audiodaten zu beginnen.
  • Andere Ausführungsformen dieses Aspekts umfassen entsprechende Systeme, Vorrichtungen und Computerprogramme, die auf Computerspeichervorrichtungen aufgezeichnet sind, von denen jede konfiguriert ist, die Operationen der Verfahren auszuführen.
  • Bestimmte Ausführungsformen des in dieser Spezifikation beschriebenen Gegenstands können so implementiert werden, dass sie einen oder mehrere der folgenden Vorteile verwirklichen. Ein Benutzer kann ein Hotword in einem Raum mit mehreren Vorrichtungen sprechen, die fähig sind, auf Hotwords anzusprechen, und nur eine Vorrichtung wird ansprechen. Der Benutzer kann ein Hotword sprechen und nur die naheste Vorrichtung wird auf das Hotword ansprechen, selbst wenn andere Vorrichtungen das Hotword hören. Das System, das die Vorrichtung auswählt, das auf das Hotword ansprechen soll, kann eine geeignete Vorrichtung basierend auf dem Kontext der Vorrichtung und anderen in der Nähe befindlich Vorrichtungen auswählen.
  • Die Details von einer oder mehreren Ausführungsformen des in dieser Patentschrift beschriebenen Gegenstandes sind in den begleitenden Zeichnungen und der nachfolgenden Beschreibung dargelegt. Andere Merkmale, Aspekte und Vorteile des Gegenstands werden aus der Beschreibung, den Zeichnungen und den Ansprüchen offensichtlich.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • 1 ist ein Diagramm eines beispielhaften Systems zur Hotword-Detektion.
  • 2 ist ein Ablaufdiagramm eines beispielhaften Prozesses zur Hotword-Detektion.
  • 3 ist ein Ablaufdiagramm eines beispielhaften Prozesses zur Hotword-Detektion.
  • 4 ist ein Beispiel einer Computervorrichtung und einer mobilen Computervorrichtung.
  • Gleiche Bezugsnummern und Bezeichnungen in den verschiedenen Zeichnungen verweisen auf ähnliche Elemente.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Da Systeme, die konfiguriert sind, auf Hotwords anzusprechen, häufiger anzutreffen sind, steigt die Wahrscheinlichkeit, dass sich mehr als eines nahe einem Benutzer befindet, wenn der Benutzer das Hotword spricht. Beispielsweise kann ein Benutzer im Wohnzimmer sein und fernsehen. Ein Tablet kann auf dem Tisch liegen und ein Telefon kann sich auf der Couch neben dem Benutzer befinden. Gemäß verschiedener Ausführungsformen, wenn das Telefon, das Tablet und der Fernseher ein Hotword detektiert, kommunizieren diese jeweils mit einem Server und benachrichtigen den Server, dass die Vorrichtung ein Hotword detektiert hat. Mit jeder an den Server gesendeten Benachrichtigung sendet jede Vorrichtung einen Gruppenbezeichner und die Vorrichtungsart. Der Gruppenbezeichner ist Daten, die eine Vorrichtungsgruppe identifizieren, von der nur eine Vorrichtung auf ein Hotword ansprechen sollte. Beispielsweise können Vorrichtungen im gleichen Raum einen Gruppenbezeichner teilen.
  • Wenn der Server Daten von jedem von dem Telefon, Tablet und Fernseher empfängt, vergleicht der Server die Kontextdaten jeder Vorrichtung, um zu bestimmen, welche auf das Hotword ansprechen sollte. Die Kontextdaten können die Fähigkeiten der Vorrichtungen, die Zeit, seit jede Vorrichtung zuvor verwendet wurde, die vorhergehend ausgeführte Aktion, der Ort der Vorrichtung und die Lautstärke des detektierten Hotwords umfassen. Basierend auf diesen Kontextdaten wählt der Server eine der Vorrichtungen zum Ansprechen auf das Hotword aus. Beispielsweise kann der Server das Tablet zum Ansprechen auf das Hotword basierend auf den Vorrichtungen auswählen, die sich im Zuhause des Benutzers befinden, und auf der Tatsache, dass der Benutzer meistens das Tablet verwendet, während er zu Zuhause ist. Der Server stellt dann einen Befehl an das Tablet bereit, um die Sprache des Benutzers zu verarbeiten. Das Tablet verarbeitet den Befehl „Musik abspielen“ und beginnt Musik abzuspielen. Der Server stellt auch Befehle an den Fernseher und das Telefon bereit, die Sprache des Benutzers nicht zu verarbeiten. Das Telefon kehrt zu seinem vorhergehenden Zustand zurück und der Fernseher fährt fort, die Fernsehshow ohne Unterbrechung abzuspielen.
  • Auf diese Weise wird die Verwendung von Computerressourcen reduziert, wenn ein Benutzer einen Sprachbefehl an das System richtet. Anstatt, dass jede Vorrichtung unabhängig voneinander auf den Sprachbefehl anspricht, wird das System in der hierin näher beschriebenen Art und Weise konfiguriert, sodass nur eine der Vorrichtungen die angeforderte Aktion als Reaktion auf den Sprachbefehl annimmt.
  • 1 veranschaulicht ein beispielhaftes System 100 zur Hotword-Detektion. Kurz gesagt, und wie nachfolgend ausführlicher beschrieben, spricht ein Benutzer 102 eine Äußerung 104, die durch Mikrofone von Computervorrichtungen 106 und 108 detektiert wird. Die Computervorrichtungen 106 und 108 verarbeiten die Audiodaten der Äußerung 104 und bestimmen, ob die Äußerung 104 ein Hotword umfasst. Vor dem Ausführen von Spracherkennung an der Äußerung 104 kommunizieren die Computervorrichtungen 106 und 108 mit dem Server 110. Der Server 110 verwendet Kontextdaten sowohl für die Computervorrichtung 106 als auch für die Computervorrichtung 108, um eine der Computervorrichtungen 106 oder 108 auszuwählen und Spracherkennung an den Audiodaten zu beginnen, die das Hotword umfassen. Basierend auf den Kontextdaten wählt der Server 110 die Computervorrichtung 106 aus und sendet Befehle an die Computervorrichtung 106, eine Spracherkennung an den Audiodaten zu beginnen. Der Server 110 sendet auch Befehle an die Computervorrichtung 108, Spracherkennung an den Audiodaten nicht zu beginnen.
  • Im gezeigten Beispiel in 1 befindet sich der Benutzer 102 in einem Raum sowohl mit der Computervorrichtung 106, wie beispielsweise einem Mobiltelefon, als auch mit Computervorrichtung 108, wie beispielsweise einem Fernseher. Wenn der Benutzer 102 einen Sprachbefehl spricht, empfangen sowohl das Telefon 106 als auch der Fernseher 108 durch deren entsprechenden Mikrofone die Audiodaten, die dem Sprachbefehl des Benutzers entsprechen. Sowohl das Telefon 106 als auch der Fernseher 108 sind konfiguriert, auf Sprachbefehle anzusprechen, aber es ist unwahrscheinlich, dass, wenn der Benutzer 102 „OK Computer, Musik abspielen“ spricht, der Benutzer 102 möchte, dass sowohl das Telefon 106 als auch der Fernseher 108 Musik abzuspielen beginnt. Um die Situation zu vermeiden, dass beide Vorrichtungen auf einen Sprachbefehl ansprechen, können die Computervorrichtungen 106 und 108 mit dem Identifizieren anderer Vorrichtungen in der näheren Umgebung beginnen, die konfiguriert sind, auf Sprachbefehle anzusprechen, die ein Hotword umfassen. Die nähere Umgebung kann Vorrichtungen umfassen, die sich im gleichen lokalen Netzwerk befinden, Vorrichtungen, die durch Signale für kurze Reichweiten kommunizieren können, oder Vorrichtungen, die sich in einem gleichen Raum befinden.
  • Bei einigen Implementierungen befinden sich das Telefon 106 und der Fernseher 108 im gleichen lokalen Netzwerk, wie beispielsweise einem drahtlosen Heimnetzwerk. Das Telefon 106 oder der Fernseher 108, kommuniziert mit den anderen Vorrichtungen im Netzwerk und identifiziert die Vorrichtungen, die konfiguriert sind, auf Sprachbefehle anzusprechen, die ein Hotword umfassen. Sobald das Telefon 106 den Fernseher 108 identifiziert und bestätigt, dass der Fernseher 108 auch konfiguriert ist, auf ein Hotword anzusprechen, verhandeln das Telefon 106 und der Fernseher 108 in Stufe A einen Gruppenbezeichner zur Verwendung, wenn sie den Server 110 benachrichtigen, dass entweder das Telefon 106 oder der Fernseher 108 ein Hotword detektiert hat. Beispielsweise kann den Gruppenbezeichner die E-Mail-Adresse, user@example.com von dem Benutzer sein, der sich bei einer oder beiden Vorrichtungen angemeldet hat. Das Telefon 106 speichert user@example.com als den Gruppenbezeichner 112 und der Fernseher 108 speichert user@example.com als den Gruppenbezeichner 114. Bei einigen Implementierungen geschieht diese Verhandlung periodisch, um sicherzustellen, dass eine Vorrichtung in der Nähe befindliche Vorrichtungen identifiziert, die konfiguriert sind, auf ein Hotword anzusprechen. Beispielsweise kann die Verhandlung einmal pro Stunde geschehen. Alternativ kann eine Vorrichtung nach in der Nähe befindlichen Vorrichtungen suchen, wenn sich die Vorrichtung mindestens einen Schwellenabstand wie beispielsweise hundert Meter bewegt, basierend auf Ortsdaten, die von der Vorrichtung empfangen wurden.
  • Bei einigen Implementierungen befinden sich das Telefon 106 und der Fernseher 108 in unterschiedlichen Netzwerken. Beispielsweise befindet sich das Telefon 106 in einem Mobilfunknetz und der Fernseher 108 in einem lokalen drahtlosen Netzwerk. In diesem Fall können das Telefon 106 und der Fernseher 108 in der Lage sein, durch lokalen Nahbereichsfunk zu kommunizieren und einen Gruppenbezeichner zu verhandeln. Wenn das Telefon 106 und der Fernseher 108 unfähig sind, zu kommunizieren, dann kann jede Vorrichtung einen Gruppenbezeichner auswählen, das dem Benutzer entspricht, der bei der Vorrichtung angemeldet ist. Wenn der Benutzer 102 beispielsweise sowohl am Telefon 106 als auch am Fernseher 108 angemeldet ist, dann können beide Vorrichtungen den Gruppenbezeichner user@example.com auswählen.
  • Bei Stufe B spricht der Benutzer 102 die Äußerung 104 „OK Computer, Musik abspielen“. Die Äußerung 104 umfasst sowohl ein Hotword 116 „OK Computer“ als auch einen Sprachbefehl 118 „Musik abspielen“. Da sich der Benutzer 102 nahe genug am Telefon 106 und dem Fernseher 108 befindet, empfangen sowohl das Telefon 106 als auch der Fernseher 108 durch ihre entsprechenden Mikrofone die Audiodaten, die der Äußerung 102 entsprechen.
  • Bei Stufe B1 empfängt das Telefon 106 die Audiodaten, die der Äußerung 102 entsprechen, und verarbeitet diese. Das Telefon 106 umfasst einen Puffer 120. Der Puffer 120 speichert das gegenwärtige Audio, das durch das Mikrofon des Telefons 106 empfangen wurde. Beispielsweise speichert der Puffer 120 die vorhergehenden fünf Sekunden an Audiodaten. Der Hotworder 122 analysiert kontinuierlich die Audiodaten, die im Puffer 120 gespeichert sind. Der Hotworder 122 berechnet eine Hotword-Konfidenzpunktzahl, welche die Wahrscheinlichkeit reflektiert, dass gegenwärtige Audiodaten im Puffer 120 ein Hotword umfassen. Um die Hotword-Konfidenzpunktzahl zu berechnen, kann der Hotworder 122 Audiomerkmale von den Audiodaten wie Filterbankenergien oder Mel-Frequenz-Cepstrum-Koeffizienten extrahieren. Der Hotworder 122 kann Einstufungsfenster verwenden, um diese Audiomerkmale beispielsweise unter Verwendung einer Support Vector Machine oder eines neuronalen Netzwerks zu verarbeiten. Bei einigen Implementierungen führt der Hotworder 122 keine Spracherkennung aus, um eine Hotword-Konfidenzpunktzahl zu bestimmen.
  • Zu annähernd der gleichen Zeit, zu der das Telefon 106 die Äußerung 104 verarbeitet, und bei Stufe B2, verarbeitet der Fernseher 108 Audiodaten, die durch sein Mikrofon empfangen wurden. Der Fernseher 108 umfasst auch einen Puffer 124, der die gegenwärtigen durch das Mikrofon empfangenen Audiodaten speichert. Der Puffer 124 kann beispielsweise die vorhergehenden sieben Sekunden von Audiodaten speichern. Der Hotworder 126 analysiert kontinuierlich die Audiodaten, die im Puffer 124 gespeichert sind. Der Hotworder 126 analysiert kontinuierlich die Audiodaten, die im Puffer 124 gespeichert sind. Der Hotworder 126 berechnet eine Hotword-Konfidenzpunktzahl, welche die Wahrscheinlichkeit reflektiert, dass gegenwärtige Audiodaten im Puffer 124 ein Hotword umfassen. Um die Hotword-Konfidenzpunktzahl zu berechnen, kann der Hotworder 126 Audiomerkmale von den Audiodaten wie Filterbankenergien oder Mel-Frequenz-Cepstrum-Koeffizienten extrahieren. Der Hotworder 126 kann Einstufungsfenster verwenden, um diese Audiomerkmale beispielsweise unter Verwendung einer Support Vector Machine oder eines neuronalen Netzwerks zu verarbeiten. Bei einigen Implementierungen führt der Hotworder 126 keine Spracherkennung aus, um eine Hotword-Konfidenzpunktzahl zu bestimmen.
  • Während das Telefon 106 eine Hotword-Konfidenzpunktzahl für die Audiodaten im Puffer 120 berechnet, vergleicht das Telefon 106 die Hotword-Konfidenzpunktzahl mit einem Hotword-Konfidenzpunktzahlschwellenwert. Wenn die Hotword-Konfidenzpunktzahl den Hotword-Konfidenzpunktzahlschwellenwert erfüllt, dann schreitet das Telefon 106 zu Stufe C1 fort. Wenn die Hotword-Konfidenzpunktzahl beispielsweise 0,8 ist und der Schwellenwert 0,7 ist, dann schreitet das Telefon 106 zu Stufe C1 fort. Der Hotword-Konfidenzpunktzahlschwellenwert stellt eine Hotword-Konfidenzpunktzahl dar, die wahrscheinlich dem Detektieren eines Hotwords entspricht. Bei Fällen, bei denen ein Benutzer „OK, Computer“ deutlich spricht und sich nahe der Empfangsvorrichtung befindet, kann die Hotword-Konfidenzpunktzahl 0,9 sein. Hotword-Konfidenzpunktzahlen können sich verringern, wenn der Lautsprecher von den Vorrichtungen weiter entfernt ist oder weniger deutlich spricht. In Fällen, bei denen ein Benutzer „Alice anrufen“ spricht, kann die Hotword-Konfidenzpunktzahl 0,1 sein.
  • In Stufe C1 erzeugt das Telefon 106 ein Datenpaket und sendet es an den Server 110. Das Datenpaket kann Daten umfassen, die anzeigen, dass das Telefon 106 ein Hotword, einen Datenbezeichner 128 für das Telefon 106 und den Gruppenbezeichner 112 detektiert hat. Die Daten, die anzeigen, dass das Telefon 106 ein Hotword detektiert hat, können ein Flag umfassen, das anzeigt, dass das Telefon 106 ein Hotword detektiert hat, oder können die Hotword-Konfidenzpunktzahl oder beides umfassen. Der Datenbezeichner 128 für das Telefon 106 kann jeder eindeutige Bezeichner für das Telefon 106, wie die MAC-Adresse, die IMEI-Nummer, ein vom Benutzer gegebener Name, die Telefonnummer oder die Seriennummer und das Modell, sein. Bei einigen Implementierungen umfasst der Datenbezeichner 128 mindestens das Modell des Telefons 106.
  • Während ungefähr der gleichen Zeit, zu der das Telefon 106 die Hotword-Konfidenzpunktzahl berechnet und an den Server 110 das Datenpaket sendet, das Daten umfasst, die anzeigen, dass das Telefon 106 ein Hotword 116, einen Datenbezeichner 128 für das Telefon 106 und den Gruppenbezeichner 112 detektiert hat, berechnet der Fernseher 108 auch eine Hotword-Konfidenzpunktzahl für die Audiodaten im Puffer 124 und das Telefon 106 vergleicht die Hotword-Konfidenzpunktzahl mit einem Hotword-Konfidenzpunktzahlschwellenwert. Wenn die Hotword-Konfidenzpunktzahl den Hotword-Konfidenzpunktzahlschwellenwert erfüllt, dann schreitet der Fernseher 108 zu Stufe C2 fort. Wenn die Hotword-Konfidenzpunktzahl beispielsweise 0,75 ist und der Hotword-Konfidenzpunktzahlschwellenwert 0,7 ist, dann schreitet der Fernseher 108 zu Stufe C2 fort. Die Hotword-Konfidenzpunktzahl für den Fernseher 108 kann niedriger als die Hotword-Konfidenzpunktzahl für das Telefon 106 sein, da sich der Benutzer 102 vom Fernseher 108 weiter entfernt befindet oder der Fernseher gegenwärtig eine Fernsehshow mit Tönen anzeigt, die das Mikrofon dabei stören, die Sprache des Benutzers zu detektieren.
  • In Stufe C2 und ähnlich zu Stufe C1 erzeugt der Fernseher 108 ein Datenpaket und sendet es an den Server 110, ein Datenpaket, das Daten umfassen kann, die anzeigen, dass der Fernseher 108 ein Hotword 116, einen Datenbezeichner 130 für den Fernseher 108 und den Gruppenbezeichner 114 detektiert hat. Die Daten, die anzeigen, dass der Fernseher 108 ein Hotword detektiert hat, können ein Flag umfassen, das anzeigt, dass der Fernseher 108 ein Hotword detektiert hat, oder können die Hotword-Konfidenzpunktzahl oder beides umfassen. Der Datenbezeichner 130 für den Fernseher 108 kann jeder eindeutige Bezeichner für den Fernseher 108, wie die MAC-Adresse, ein vom Benutzer gegebener Name oder die Seriennummer und das Modell, sein. Bei einigen Implementierungen umfasst der Datenbezeichner 130 mindestens das Modell des Fernsehers 108.
  • Bei einigen Implementierungen und wie veranschaulicht in Stufe C1' sendet das Telefon 106 zusätzliche Daten an den Server. Die zusätzlichen Daten können Daten umfassen, die eine verstrichene Zeit anzeigen, seit das Telefon 106 zuvor verwendet wurde und wie das Telefon 106 verwendet wurde. Beispielsweise kann der Benutzer 102 zuvor das Telefon 106 verwendet haben, um eine Kurznachricht zu senden, zwei Minuten, bevor das Telefon 106 das Hotword 116 detektiert. Das Telefon 106 kann eine Historie der vorausgehenden Verwendung des Telefons 106 in den Verwendungsdaten 132 speichern. Jeder Eintrag in den Verwendungsdaten 132 kann jede Kombination aus einer verwendeten Anwendung, einer Aktion, die durch das Telefon 106 ausgeführt wird, einer Aktion, die durch Benutzer 102 ausgeführt wird, und einen Zeitstempel umfassen. Bei einigen Implementierungen kann das Telefon 106 zusätzliche Daten senden, die mit mehr als einer vorhergehenden Aktion, wie beispielsweise den vorhergehenden drei Aktionen, in Zusammenhang stehen.
  • Bei einigen Implementierungen und in Stufe C1' sendet das Telefon 106 Daten, die einen aktuellen Zustand des Telefons 106 anzeigen, als das Telefon 106 das Hotword 116 detektiert hat. Der aktuelle Zustand kann beispielsweise sein, dass das Telefon 106 schläft, das Telefon 106 wach ist, wobei der Bildschirm aus oder abgedunkelt ist, oder das Telefon 106 ist wach und der Benutzer 102 verwendet die E-Mail-Anwendung des Telefons 106. In dem gezeigten Beispiel in 1 ist das Telefon 106 gegenwärtig in einem Schlafzustand, wenn es das Hotword 116 detektiert.
  • Bei einigen Implementierungen und wie veranschaulicht in Stufe C1' sendet das Telefon 106 Daten an den Server 110, welche die Lautstärke des detektierten Hotwords 116 anzeigen. Der Lautstärkepunktezähler 134 greift auf den Puffer 120 zu und misst die Lautstärke des Abschnitts von Audiodaten, die dem Hotword 116 entsprechen. Bei einigen Implementierungen berechnet der Lautstärkepunktezähler 134 die Leistung oder den Effektivwert der Audiodaten, die dem Hotword 116 entsprechen. Beispielsweise kann der Lautstärkepunktezähler 134 die Lautstärke als fünfzig Dezibel berechnen. Bei einigen Implementierungen normalisiert der Lautstärkepunktezähler 134 die Leistung oder den Effektivwert der Audiodaten, die dem Hotword 116 entsprechen, durch Subtrahieren der Leistung oder des Effektivwerts der Audiodaten im Puffer 120, die dem Hotword 116 nicht entsprechen. Die Audiodaten im Puffer 120, die dem Hotword 116 nicht entsprechen, können dem Umgebungsgeräusch um das Telefon 108 herum entsprechen. Beispielsweise berechnet der Lautstärkepunktezähler 134 die Leistung oder den Effektivwert von ungefähr einer Sekunde von Audiodaten vor dem Hotword 116 als dreißig Dezibel. Daher beträgt der Lautstärkeunterschied zehn Dezibel. Das Telefon 106 kann dann die Lautstärkedaten an den Server 110 senden. Bei einigen Implementierungen kann das Telefon 106 die Lautstärke der gesamten Äußerung 104 oder von nur dem Sprachbefehl 116 berechnen. Das Telefon 106 kann dann Daten, welche die Lautstärke der gesamten Äußerung 104 oder von nur dem Sprachbefehl 116 anzeigen, an den Server 110 senden.
  • Bei einigen Implementierungen und wie veranschaulicht in Stufe C1' sendet das Telefon 106 die Hotword-Konfidenzpunktzahl an den Server 110. Beispielsweise berechnet das Telefon 106 eine Hotword-Konfidenzpunktzahl von 0,8 für das Hotword 116 und sendet die Punktzahl an den Server 110. Bei einigen Implementierungen sendet das Telefon 106 Standortdaten an den Server 110. Die GPS-Einheit am Telefon 106 kann beispielsweise jede Kombination aus geografischer Lage, geografischer Geschwindigkeit und geografischer Bewegung detektieren und das Telefon 106 kann diesen geografischen Ort, diese geografische Geschwindigkeit und geografische Bewegung an den Server 110 senden. Als ein weiteres Beispiel kann das Telefon 106 Triangulation verwenden, um einen geografischen Ort zu bestimmen. Bei einigen Implementierungen kann der Spracherkenner 136 des Telefons 106 Spracherkennung an den Audiodaten ausführen, die im Puffer 120 gespeichert sind, einschließlich der Audiodaten, die dem Hotword 116 oder Sprachbefehl 118 oder beiden entsprechen. Der Spracherkenner 136 kann eine Spracherkennungskonfidenzpunktzahl berechnen und die Spracherkennungskonfidenzpunktzahl an den Server 110 senden. Die Spracherkennungskonfidenzpunktzahl kann die Wahrscheinlichkeit reflektieren, dass die Transkription, die durch den Spracherkenner 136 erzeugt wurde, korrekt ist. Beispielsweise kann der Spracherkenner 136 eine Spracherkennungskonfidenzpunktzahl von 0,7 berechnen und die Punktzahl von 0,7 an den Server 110 senden. Bei einigen Implementierungen sendet das Telefon 106 die Transkription der Äußerung 104 oder nur einen Abschnitt der Äußerung 104, wie beispielsweise das Hotword 116 oder den Sprachbefehl 118, an den Server 110. Beispielsweise transkribiert der Spracherkenner 136 den Sprachbefehl 118 und sendet „Musik abspielen“ an den Server 110. Bei einigen Implementierungen sendet das Telefon 106 auch Daten, welche die Anwendungen anzeigen, die auf dem Telefon 106 installiert sind. Wenn auf dem Telefon 106 beispielsweise die Anwendung „Instant Movies” und „Love Music“ installiert sind, dann kann das Telefon 106 Daten senden, die „Instant Movies” und „Love Music“ identifizieren. Bei einigen Implementierungen kann das Telefon 106 viele installierte Anwendungen aufweisen. In diesem Fall kann das Telefon 106 nur Daten senden, welche die am meisten verwendeten Anwendungen identifizieren, wie beispielsweise die zehn am häufigsten verwendeten Anwendungen.
  • Bei einigen Implementierungen und wie veranschaulicht in Stufe C2' sendet der Fernseher 108 zusätzliche Daten an den Server. Der Fernseher 108 sendet zusätzliche Daten, die den vorstehend beschriebenen zusätzlichen Daten in Bezug auf das Telefon 106 in Stufe C1' ähnlich sind. Der Fernseher 108 kann Verwendungsdaten 138, die mit vorhergehenden Verwendungen des Fernsehers 108 in Zusammenhang stehen, speichern und kann die Verwendungsdaten an den Server 110 senden. Beispielsweise kann der Fernseher 108 Daten senden, die anzeigen, dass der Benutzer 102 zuvor vor zwei Stunden die Anwendung „Instant Movies“ verwendet hat, um „Love Story“ anzusehen. Der Fernseher 108 kann Daten senden, die seinen aktuellen Zustand anzeigen. Beispielsweise kann der Fernseher 108 Daten senden, die anzeigen, dass der Fernseher 108 gegenwärtig den World News-Kanal zeigt und dies seit den letzten fünfzehn Minuten getan hat.
  • Der Fernseher 108 kann die Lautstärke der Äußerung 104, das Hotword 116 oder den Sprachbefehl 118 berechnen. Der Lautstärkepunktezähler 134 kann die Lautstärke basierend auf der Leistung oder dem Effektivwert der entsprechenden Audiodaten berechnen. Der Lautstärkepunktezähler 134 kann auch die Leistung oder den Effektivwert der entsprechenden Audiodaten durch Subtrahieren der Leistung oder des Effektivwerts der Audiodaten normalisieren, die im Puffer 124 gespeichert sind und nicht der Äußerung 104 entsprechen. Beispielsweise kann der Lautstärkepunktezähler 134 die Lautstärke des Hotwords 116 als dreißig Dezibel berechnen und die Lautstärke der Audiodaten, die in den zwei Sekunden vor dem Hotword 116 empfangen wurden, als zweiunddreißig Dezibel berechnen. Daher beträgt der Lautstärkewert, der an den Server 110 gesendet wird, zwei Dezibel.
  • Bei einigen Implementierungen sendet der Fernseher 108 eine Hotword-Konfidenzpunktzahl. Der Hotworder 126 kann beispielsweise eine Hotword-Konfidenzpunktzahl von 0,75 berechnen und der Fernseher 108 sendet die Punktzahl von 0,75 an den Server 110. Der Fernseher 108 kann seinen geografische Ort an den Server 110 senden. Der Spracherkenner 142 kann Spracherkennung an den Audiodaten im Puffer 124 ausführen. Der Spracherkenner 142 kann eine Transkription sowie eine Spracherkennungskonfidenzpunktzahl erzeugen. Der Fernseher 108 kann die Transkription oder die Spracherkennungskonfidenzpunktzahl oder beide an den Server 110 senden. Der Fernseher 108 kann Daten senden, welche die Anwendungen anzeigen, die auf dem Fernseher 108 installiert sind, oder die am häufigsten installierten Anwendungen. Beispielsweise kann der Fernseher 108 Daten senden, welche die installierte Anwendung von „Jungle Movies“ und „Social Pictures“ identifizieren.
  • Der Server 110 empfängt anfänglich entweder das Telefon-106-Datenpaket von der Stufe C1 oder das Fernsehdatenpaket von der Stufe C2 abhängig davon, welche Vorrichtung das Datenpaket eher verarbeitet und erzeugt und möglicherweise abhängig von einer Netzwerklatenz. Bei diesem Beispiel empfängt der Server 110 das Telefon-106-Datenpaket zuerst. Nach dem Empfangen des Telefon-106-Datenpakets, greift der Server 110 auf die empfangenen Hotword-Detektionen 144 zu und vergleicht den Gruppenbezeichner des Telefon-106-Datenpakets mit den Gruppenkennzeichendaten und Zeitstempeldaten in den empfangenen Hotword-Detektionen 144. Der Server 110 speichert zuvor empfangene Datenpakete, die als Reaktion auf Hotword-Detektionen empfangen wurden, in den empfangenen Hotword-Detektionen 144. Durch Vergleichen von eingehenden Datenpaketen mit gespeicherten Datenpaketen kann der Server 110 den Vorrichtungsselektor 146 verwenden, um die Vorrichtung auszuwählen, die auf das Hotword ansprechen soll.
  • Bei diesem Beispiel vergleicht der Server 110 die Daten, die vom Telefon 106 empfangen wurden. Der Server 110 durchsucht die empfangenen Hotword-Detektionen 144 und findet keine anderen Hotword-Detektionsdatenpakete, die den Gruppenbezeichner 112 user@example.com umfassen. Ohne andere user@example.com-Datenpakete speichert der Server 110 das Datenpaket zusammen mit einem Zeitstempel, der die Empfangszeit anzeigt, in den empfangenen Hotword-Detektionen 144. Der Server 110 vergleicht anschließend die empfangenen Hotword-Detektionsdatenpakete mit den Datenpaketen, die in den empfangenen Hotword-Detektionen 144 gespeichert sind. Wenn ein Schwellenzeitraum vergangen ist, wie beispielsweise zwei Sekunden, und der Server 110 keine zusätzlichen Datenpakete mit dem Gruppenbezeichner user@example.com empfängt, dann sendet der Server 110 einen Befehl an das Telefon 106, um Spracherkennung an den Audiodaten zu beginnen und auf den Befehl anzusprechen. Nach dem Senden des Befehls an das Telefon 106, um Spracherkennung zu beginnen, entfernt der Server 110 das Datenpaket, das vom Telefon 106 empfangen wurde, aus den empfangenen Hotword-Detektionen 144. Bei einigen Implementierungen kann das Telefon 106 keine in der Nähe befindlichen Vorrichtungen identifizieren und kann in diesem Fall nicht mit dem Server 110 kommunizieren. Stattdessen kann das Telefon 106 Spracherkennung an den Audiodaten beginnen, ohne mit dem Server 110 zu kommunizieren.
  • Innerhalb des Schwellenzeitraums empfängt der Server 110 ein Hotword-Detektionsdatenpaket vom Fernseher 108. Das Datenpaket vom Fernseher umfasst den gleichen Gruppenbezeichner user@example.com. Der Server 110 kann dann den Vorrichtungsselektor 146 verwenden, um eine Vorrichtung auszuwählen und Spracherkennung an den Audiodaten zu beginnen, oder der Server 110 kann im Falle, dass ein anderes Hotword-Detektionsdatenpaket mit dem gleichen Gruppenbezeichner am Server 110 eintrifft, auf einen Schwellenzeitraum warten. Im Beispiel von 1 empfängt der Server 110 Hotword-Detektionsdatenpakete vom Fernseher 108 und vom Telefon 106 und verwendet den Vorrichtungsselektor 146, um eine Vorrichtung auszuwählen.
  • In Stufe D greift der Server 110 auf die Kontextdaten 148 zu und der Vorrichtungsselektor 146 verwendet die Telefonkontextdaten 150 und die Fernsehkontextdaten 152, um eine Vorrichtung auszuwählen und Spracherkennung an den Audiodaten zu beginnen. Der Server 110 kann Kontextdaten erfassen, während der Benutzer 102 das Telefon 106 und den Fernseher 108 verwendet, speziell in Fällen, in denen das Telefon 106 oder der Fernseher 108 auf den Server 110 oder einen Server, der Daten mit dem Server 110 teilt, zugreift. Der Benutzer 102 kann beispielsweise Musik an dem Telefon 106 durch Zugreifen auf einen Musik-Streaming-Dienst auf einem Server in der Cloud 154 abspielen. Der Musik-Streaming-Server kann mit dem Server 110 kommunizieren, der sich auch in der Cloud 154 befindet, und die Daten teilen, auf die das Telefon 106 beim Musik-Streaming-Dienst zugegriffen hat. Der Server 110 kann dann diese Informationen in den Telefonkontextdaten 150 möglicherweise zusammen mit einem Zeitstempel speichern. Als ein weiteres Beispiel kann der Benutzer 102 das Telefon 106 verwenden, um eine E-Mail unter Verwendung einer E-Mail-Anwendung zu senden, die mit einem Server in der Cloud 154 interagiert. Der E-Mail-Server kann mit dem Server 110 kommunizieren und der Server kann Telefonkontextdaten 150, die anzeigen, dass der Benutzer 102 auf die E-Mail-Anwendung auf dem Telefon 106 zugegriffen hat, zusammen mit einem Zeitstempel speichern.
  • Ähnlich kann der Server 110 Fernsehkontextdaten 152 von anderen Servern in der Cloud 154 empfangen, die mit dem Fernseher 108 kommunizieren. Beispielsweise kann der Benutzer 102 den Fernseher verwenden, um eine Internetsuche unter Verwendung einer Suchmaschine auszuführen, die sich in der Cloud 154 befindet. Die Suchmaschine kann mit dem Server 110 kommunizieren und der Server 110 kann Fernsehkontextdaten 152, die anzeigen, dass der Benutzer 102 auf die Suchmaschine auf dem Fernseher 108 zugegriffen hat, zusammen mit einem Zeitstempel speichern. Als ein weiteres Beispiel kann der Benutzer 102 den Fernseher 108 verwenden, um ein Video unter Verwendung eines Video-Streaming-Dienstes von einem Server in der Cloud 154 anzusehen. Der Video-Streaming-Server kann mit dem Server 110 kommunizieren und der Server 110 kann Fernsehkontextdaten 152, die anzeigen, dass der Benutzer 102 ein Video unter Verwendung des Video-Streaming-Servers angesehen hat, zusammen mit einem Zeitstempel speichern. Bei einigen Implementierungen können die Telefonkontextdaten 150 und die Fernsehkontextdaten 152 Standortdaten umfassen. Beispielsweise können die Telefonkontextdaten Daten umfassen, welche den geografischen Ort des Telefons 106 anzeigen, als der Benutzer auf den Musik-Streaming-Server zugegriffen hat.
  • Bei einigen Implementierungen können die Kontextdaten 148 Daten, die Fähigkeiten von verschiedenen Vorrichtungen beschreiben, umfassen oder Zugriff darauf haben. Die Fähigkeiten können umfassen, ob die Vorrichtung eine Kamera, Mobilfunk, Funkvorrichtung für kurze Reichweiten, GPS oder andere Komponenten aufweist. Die Fähigkeiten können auch technische Daten der Vorrichtung wie Bildschirmgröße, Bildschirmauflösung, Prozessortyp und -geschwindigkeit, Speicher usw. umfassen. Die Kontextdaten 148 können diese Fähigkeitsdaten tatsächlich nicht speichern. Stattdessen kann der Kontextserver 110 in der Lage sein, einen anderen Server abzufragen, um Vorrichtungsfähigkeitsdaten abzurufen. In einigen Fällen kann der Kontextserver 110 einige Fähigkeitsdaten innerhalb der Kontextdaten 148 für einige allgemeiner verwendete Vorrichtungen wie populäre Telefonmodelle speichern.
  • Um eine Vorrichtung auszuwählen und Spracherkennung an der Äußerung 104 zu beginnen, kann der Vorrichtungsselektor 146, bei Stufe E eine Anzahl an Faktoren berücksichtigen, und in einigen Fällen kann der Vorrichtungsselektor 146 jedes Mal, wenn der Vorrichtungsselektor 146 eine Vorrichtung auswählt, keinen Zugriff auf alle Faktoren haben. Bei einigen Implementierungen kann der Vorrichtungsselektor 146 die Vorrichtung auswählen, welche die höchste Lautstärke für das Hotword 116 detektierte. Beispielsweise detektierte das Telefon 106 eine Hotword-Lautstärke, die auf zehn Dezibel normalisiert wurde. Der Fernseher 108 detektierte eine Hotword-Lautstärke, die auf zwei Dezibel normalisiert wurde. Der Vorrichtungsselektor 146 kann das Telefon 106 auswählen, da die Hotword-Lautstärke am größten war. Bei einigen Implementierungen kann der Vorrichtungsselektor 146 Zugriff auf Hotword-Lautstärkepegel und die vorhergehende Verwendung von jeder Vorrichtung haben. In diesem Fall kann der Vorrichtungsselektor 146 die Hotword-Lautstärkepegel nicht berücksichtigen und stattdessen die Vorrichtung auswählen, die zuletzt verwendet wurde. Wenn das Telefon 106 beispielsweise kürzlich gemäß den Telefonkontextdaten 150 und den Fernsehkontextdaten 152 aktiver war, dann kann der Vorrichtungsselektor 146 das Telefon 106 auswählen. Bei einigen Implementierungen kann der Vorrichtungsselektor 146 Zugriff auf Kontextdaten haben, die anzeigen, dass der Fernseher 108 gegenwärtig in Verwendung ist, indem er ein Video anzeigt, und das Telefon 106 in den letzten zehn Minuten nicht verwendet wurde. Der Vorrichtungsselektor 152 kann das Telefon 106 auswählen, sodass es anspricht, um Spracherkennung an der Äußerung 104 zu beginnen, da das Telefon 106 nicht verwendet wird.
  • Bei einigen Implementierungen kann der Server 110 eine Hotword-Konfidenzpunktzahl empfangen. In diesem Fall kann der Vorrichtungsselektor 146 die Vorrichtung mit der höchsten Hotword-Konfidenzpunktzahl auswählen. Bei einigen Implementierungen kann der Server 110 Standortdaten empfangen und eine Vorrichtung basierend darauf auswählen, dass sich der Benutzer 102 an einem Ort befindet, wo eine der Vorrichtungen gewöhnlicher verwendet wird als die andere. Beispielsweise können die Vorrichtungen ein Tablet und ein Telefon sein. Wenn der Benutzer 102 sich von der geografischen Lage entfernt befindet, die dem Zuhause des Benutzers oder der Arbeit entspricht, dann können die Kontextdaten 148 reflektieren, dass der Benutzer 102 wahrscheinlicher das Telefon anstatt das Tablet verwendet. Wenn der Benutzer 102 das Hotword 116 spricht und das Telefon und Tablet Hotword-Detektionspakete, die Ortsinformationen umfassen, an den Server 110 senden, dann kann der Server 110 dementsprechend das Telefon auswählen, wenn der Vorrichtungsselektor 146 bestimmt, dass der Benutzer 102 nicht zu Hause oder bei der Arbeit ist.
  • Bei einigen Implementierungen kann der Server 110 eine Transkription des Sprachbefehls 118 empfangen. In diesem Fall haben die Vorrichtungen bereits Spracherkennung an dem Sprachbefehl 118 ausgeführt und der Vorrichtungsselektor 146 wählt eine Vorrichtung aus, die bezüglich des Sprachbefehls 118 agieren soll. Mit der Transkription des Sprachbefehls kann der Vorrichtungsselektor 146 auf die Kontextdaten 148 zugreifen, um eine geeignete Vorrichtung auszuwählen, die auf den Sprachbefehl ansprechen soll. Wenn der Sprachbefehl beispielsweise „Alice anrufen“ ist, dann würde der Vorrichtungsselektor 146 das Telefon 106 auswählen, um den Sprachbefehl zu verarbeiten, da der Benutzer 102 typischerweise das Telefon 106 verwendet, um anzurufen, selbst in dem Fall, in dem der Fernseher 108 konfiguriert ist, Sprachanrufe zu verarbeiten, oder da das Telefon 106 die einzige Vorrichtung ist, die konfiguriert ist, Sprachanrufe zu verarbeiten.
  • Bei einigen Implementierungen kann der Vorrichtungsselektor 146 die gegenwärtige oder vorhergehende Verwendung der Vorrichtung verwenden, um eine Vorrichtung auszuwählen, die auf den Sprachbefehl ansprechen soll. Die gegenwärtige oder vorhergehende Verwendung kann mit der Sprachabfrage zusammenhängen. Beispielsweise kann der Sprachbefehl sein: „Stoppe Musik abzuspielen“. Wenn der Vorrichtungsselektor 146 Zugriff auf Kontextdaten 148 hat, die eine der Vorrichtungen als Musik abspielend beschreiben, dann wählt der Vorrichtungsselektor 146 die Vorrichtung aus, die Musik abspielt, sodass sie auf den Sprachbefehl anspricht. Als ein weiteres Beispiel kann der Sprachbefehl „Zeige das Musikvideo erneut“ sein. Wenn der Vorrichtungsselektor 146 Zugriff auf Kontextdaten 148 hat, die anzeigen, dass eine der Vorrichtungen ein Musikvideo für „Rockgruppe“ in den letzten zehn Minuten abgespielt hat, dann wählt der Vorrichtungsselektor 146 diese Vorrichtung aus, sodass sie auf diesen Sprachbefehl anspricht.
  • Bei einigen Implementierungen kann der Server 110 eine Spracherkennungskonfidenzpunktzahl von jeder Vorrichtung empfangen. Der Vorrichtungsselektor 146 kann die Vorrichtung mit der höchsten Spracherkennungskonfidenzpunktzahl auswählen. Das Telefon 106 kann beispielsweise eine Spracherkennungskonfidenzpunktzahl von 0,7 berechnen und der Fernseher 108 kann eine Spracherkennungskonfidenzpunktzahl von 0,65 berechnen. Der Vorrichtungsselektor 146 wählt das Telefon 106 aus, um auf die Suchanfrage als Folge der höheren Spracherkennungskonfidenzpunktzahl anzusprechen.
  • Bei einigen Implementierungen kann der Server 110 Kontextdaten empfangen, die mit den Anwendungen in Zusammenhang stehen, die auf dem Telefon 106 und Fernseher 108 installiert sind. Der Vorrichtungsselektor 146 kann die mit den installierten Anwendungen in Zusammenhang stehenden Kontextdaten verwenden, um eine Vorrichtung auszuwählen, die auf die Sprachabfrage ansprechen soll. Beispielsweise kann der Sprachbefehl „Super Ninja spielen“ sein. Der Vorrichtungsselektor 146 kann Kontextinformationen aufweisen, dass auf dem Telefon 106 Superninja installiert ist. Daher wählt der Vorrichtungsselektor 146 das Telefon 106 aus, auf den Befehl „Super Ninja spielen“ anzusprechen. Bei einigen Implementierungen kann der Server 110 Daten empfangen, die installierte Anwendungen anzeigen, wenn der Benutzer die Anwendungen von einem Anwendungsserver in der Cloud 154 herunterlädt, und der Anwendungsserver kommuniziert mit dem Server 110 bezüglich der installierten Anwendungen.
  • In Stufe E wählt der Server 110 eine Vorrichtung aus, um Spracherkennung an dem Sprachbefehl auszuführen und dann den Sprachbefehl auszuführen. Wenn der Server 110 eine Transkription des Sprachbefehls empfängt, wählt der Server 110 eine Vorrichtung aus, den Sprachbefehl auszuführen. Im in 1 gezeigten Beispiel wählt der Server 110 das Telefon 106 basierend auf den Fernsehkontextdaten 152 aus, die anzeigen, dass der Fernseher gegenwärtig verwendet wird, sodass das Telefon 106 besser sein kann, um auf einen neuen Sprachbefehl anzusprechen. In Fällen, in denen der Server 110 eine Transkription des Sprachbefehls 118 empfängt, kann der Server Kontextdaten verwenden, die anzeigen, dass der Fernseher 108 ein Video zeigt, während des Telefons 106 untätig ist, um zu bestimmen, dass das Telefon auf den Sprachbefehl „Musik abspielen“ ansprechen sollte. Der Vorrichtungsselektor 146 kann irgendwelche der vorstehend beschriebenen Kriterien in jeder Kombination verwenden und jeden Faktor unterschiedlich gewichten, um eine Vorrichtung auszuwählen.
  • In Stufe F1 und F2 sendet der Server 110 die Befehle an das Telefon 106 und den Fernseher 108. Die Befehle für das Telefon 106 weisen das Telefon 106 an, die Abfrage zu verarbeiten und gegebenenfalls Spracherkennung an der Äußerung 104 zu beginnen. Die Befehle für den Fernseher 108 weisen den Fernseher 108 an, das Verarbeiten der Abfrage einzustellen.
  • In den Stufen G1 und G2 führen das Telefon 106 und der Fernseher 108 die Befehle aus, die durch den Server 110 empfangen wurden. Das Telefon 106 verarbeitet die Äußerung 104 möglicherweise durch Ausführen von Spracherkennung und dann Musik abspielen 156. Der Fernseher verarbeitet die Äußerung 104 nicht und fährt fort, das Nachrichtenvideo 158 zu zeigen.
  • Bei einigen Implementierungen kann das Telefon 106 und der Fernseher 108 die Aktionen an den Server senden, die vom Benutzer 102 ausgeführt werden, nachdem das Telefon 106 und der Fernseher 108 die Äußerung 104 verarbeitet haben. Wenn beispielsweise das Telefon 106 beginnt, Musik abzuspielen 156, und der Benutzer 102 die Musik abschaltet 156, dann wechselt der Fernseher 108 vom Anzeigen des Nachrichtenvideos 158 zum Abspielen von Musik. Das Telefon 106 und der Fernseher 108 berichten dann diese Aktionen zurück an den Server 110. Der Server 110 kann den Selektionsalgorithmus des Vorrichtungsselektors 146 unter Verwendung von Maschinenlernen aktualisieren. Mit Maschinenlernen kann der Server 110 die Gewichtungen ändern, die jedem von den Elementen von Kontextdaten gegeben sind, um die wahrscheinlichste Vorrichtung zum Verarbeiten der Äußerung 104 auszuwählen. Bei einigen Implementierungen kann das Maschinenlernen benutzerspezifisch sein. Der Vorrichtungsselektor 146 kann beispielsweise den Selektionsalgorithmus basierend auf der Tendenz des Benutzers 102, das Telefon 106 während der traditionellen Geschäftszeit und den Fernseher außerhalb der Geschäftszeit zu verwenden, oder basierend auf der Tendenz des Benutzers, bestimmte Vorrichtungen zu verwenden, wenn er sich an besonderen Orten befindet, anpassen.
  • Bei einigen Implementierungen können zwei Vorrichtungen, die möglicherweise von der gleichen Art sind, im gleichen Raum enden und beide sind mit einem unterschiedlichen Gruppenbezeichner verknüpft. Wenn in diesem Fall jede Vorrichtung ein Hotword-Detektionsdatenpaket an den Server 110 sendet, empfängt der Server 110 den Gruppenbezeichner von den empfangenen Datenpaketen und vergleicht ihn mit den Gruppenbezeichnern, die in den empfangenen Hotword-Detektionen 144 gespeichert sind, die von anderen kürzlich empfangenen Datenpaketen stammen. Bei unterschiedlichen Gruppenbezeichnern kann der Server 110 nicht bestimmen, dass nur eine Vorrichtung auf das Hotword ansprechen sollte. Um diesem potenziellen Problem abzuhelfen, können die Vorrichtungen konfiguriert sein, ein oder mehr von geografischen Ortsdaten, Hotword-Lautstärkedaten, Sprecheridentifikationsdaten, Gerätekontextdaten, Spracherkennungskonfidenzpunktzahlen, Hotword-Konfidenzpunktzahlen und einer Transkription der Äußerung 104 zu senden. Der Server 110 kann identifizieren, dass zwei Hotword-Detektionsdatenpakete geografische Ortsdaten umfassen, die sich innerhalb eines Schwellenabstandes voneinander von beispielsweise zehn Metern befinden, und dass der Server 110 innerhalb von kleiner als einer Schwellenzeit voneinander empfangen hat, wie beispielsweise eine Sekunde. In diesem Fall kann der Server 110 bestimmen, dass, selbst wenn die Vorrichtungen mit unterschiedlichen Gruppenbezeichnern verknüpft wären, nur eine auf das Hotword ansprechen sollte. Um die Vorrichtung auszuwählen, die auf das Hotword ansprechen soll, kann der Vorrichtungsselektor 146 beispielsweise die Lautstärkedaten und Konfidenzpunktzahlen auswählen, welche die höchsten sind, und kann die entsprechende Vorrichtung anweisen, auf das Hotword anzusprechen, während er die anderen Vorrichtungen anweist, auf das Hotword nicht anzusprechen. In Fällen, in denen der Server 110 die Transkription der Äußerung 104 empfängt, kann der Server 110 bestimmen, dass die Hotword-Detektionsdatenpakete der gleichen Äußerung entsprechen, da der Text der Äußerung 104 der gleiche war und die Datenpakete zu ungefähr der gleichen Zeit empfangen wurden. Der Vorrichtungsselektor 146 kann die Vorrichtung, die auf die Äußerung 104 ansprechen soll, basierend auf der Transkription, den Vorrichtungsfähigkeiten und dem Kontext, den geografische Ortsdaten, den Hotword-Lautstärkedaten, den Sprecheridentifikationsdaten, den Spracherkennungskonfidenzpunktzahlen und den Hotword-Konfidenzpunktzahlen unter Verwendung irgendeiner der vorstehend beschriebenen Techniken auswählen.
  • Bei einigen Implementierungen kann der Sprachbefehl 118, der mit einer einzelnen Instanz eines Hotwords verknüpft, mehr als einen Befehl umfassen. In bestimmten Fällen kann es für mehr als eine Vorrichtung geeignet sein, die Befehle entweder seriell oder parallel zu verarbeiten. Beispielsweise kann ein Benutzer 102 „OK Computer, spiele Love Story ab und rufe Mama an“ sprechen. In diesem Fall kann es besser sein, dass das Telefon 106 den Anruf macht und der Fernseher 108 den Film „Love Story“ abspielt. Damit der Server 110 Befehle sowohl an das Telefon 106 als auch an den Fernseher 108 bereitstellen kann, kann der Server 110 die Transkription der Äußerung 104 benötigen. Mit der Transkription der Äußerung 104 kann der Vorrichtungsselektor 146 die zwei Befehle in der Äußerung 104 und die in der Nähe befindlichen Vorrichtungen, die am besten ausgestattet sind, um die Befehle auszuführen, basierend auf den Kontextdaten von jeder Vorrichtung und den Fähigkeitsdaten jeder Vorrichtung identifizieren. Bei diesem Beispiel kann der Vorrichtungsselektor 146 bestimmen, dass der Fernseher 108 besser ausgestattet ist, „Love Story“ zu zeigen, da der Fernseher 108 einen größeren Bildschirm und leistungsstärkere Lautsprecher hat als das Telefon 106. Der Vorrichtungsselektor 146 kann bestimmen, dass das Telefon 106 besser ausgestattet ist, um den Telefonanruf zu behandeln, da das Telefon 106 einen Mobilfunk aufweist. Der Server 110 kann dann Befehle an das Telefon 106 senden, um Mama anzurufen, und an den Fernseher 108, um den Film „Love Story“ abzuspielen.
  • Bei einigen Implementierungen kann das Telefon 106 und der Fernseher 108 keine Hotword-Detektionspakete an den Server 110 senden und stattdessen untereinander verhandeln, um zu bestimmen, welche Vorrichtung auf das Hotword 116 ansprechen sollte. Die Vorrichtungen können den Kontext der Vorrichtungen, wie beispielsweise geografischer Ort und Bewegungsdaten verwenden, um zu bestimmen, welches auf das Hotword ansprechen sollte. Wenn sich der Benutzer 102 mit durchschnittlich oder periodisch mehr als fünfzehn Meilen pro Stunde bewegt, dann besteht eine hohe Wahrscheinlichkeit, dass der Benutzer 102 in einem Fahrzeug unterwegs ist. Wenn das Fahrzeug konfiguriert ist, auf ein Hotword anzusprechen, dann kann das Fahrzeug mit jeder anderen in der Nähe befindlichen Vorrichtung kommunizieren und die anderen Vorrichtungen benachrichtigen, dass das Fahrzeug auf das Hotword anspricht. Das Fahrzeug kann immer noch Kommunikationsmerkmale einer anderen Vorrichtung verwenden, wie beispielsweise, dass das Fahrzeug einen Anruf durch ein Mobiltelefon abschließt, aber das Fahrzeug den Telefonanruf originiert. In Fällen, in denen der Benutzer 102 sich im Fahrzeug befindet, sich aber für einen Schwellenzeitraum nicht bewegt, kann das Fahrzeug die anderen Vorrichtungen nicht benachrichtigen, dass es auf irgendwelche Hotwords anspricht, oder es kann die anderen Vorrichtungen benachrichtigen, nach dem Detektieren eines Hotwords mit dem Server 110 zu kommunizieren. Das Fahrzeug und die anderen Vorrichtungen können mit dem Server 110 kommunizieren und Befehle vom Server 110 empfangen, wenn sie auf Hotwords ansprechen.
  • Bei einigen Implementierungen kann das Telefon 106 oder der Fernseher 108 oder jede andere Vorrichtung eine Schnittstelle darstellen, die dem Benutzer 102 erlaubt, eine Präferenz dafür einzugeben, welche Vorrichtung auf ein Hotword anspricht. Der Benutzer 102 kann beispielsweise in die Schnittstelle eingeben, dass der Benutzer 102 bevorzugt, dass das Telefon 106 auf ein Hotword anspricht, wenn der Benutzer 102 das Telefon 106 und den Fernseher 108 benutzt. Der Benutzer 102 kann auch in der Lage sein, eine Option auszuwählen, die den Server 110 die Präferenz des Benutzers in Fällen zu übersteuern, in denen eine Vorrichtung nicht in der Lage sein mag, den Sprachbefehl auszuführen. Wenn der Server 110 die Transkription der Äußerung nicht empfängt, kann der Server 110 die Vorrichtung gemäß der Benutzerpräferenz auswählen. Als ein Beispiel zu einer Serverübersteuerung kann der Server 110 ein Hotword-Detektionsdatenpaket sowohl vom Telefon 106 als auch vom Fernseher 108 empfangen. Die Hotword-Detektionsdatenpakete umfassen die Transkription des Sprachbefehls, die „OK Computer, schalte „World News Now“ ein sein kann. Der Benutzer 102 hat zuvor ausgewählt dass, wenn sich der Benutzer 102 nahe dem Fernseher 108 und dem Telefon 106 befindet, das Telefon 106 auf einen Sprachbefehl ansprechen sollte. In diesem Fall ist das Telefon 106 jedoch nicht konfiguriert, die Nachrichtensendung „World News Now“ zu zeigen, da das Telefon 106 keinen Zugriff auf den Dienst hat, der dieses Nachrichtenprogramm bereitstellt. Dementsprechend weist der Server 110 den Fernseher 108 an, auf das Hotword und den Sprachbefehl anzusprechen, und das Telefon 106 nicht auf das Hotword und den Sprachbefehl anzusprechen.
  • 2 veranschaulicht einen beispielhaften Prozess 200 zur Hotword-Detektion. Im Allgemeinen verarbeitet der Prozess 300 Audiodaten und basierend darauf, dass die Audiodaten wahrscheinlich ein Hotword umfassen, beginnt der Prozess Spracherkennung an den Audiodaten, wenn er durch einen Server angewiesen wird. Der Prozess 200 wird als durch ein Computersystem ausgeführt beschrieben, das einen oder mehrere Computer umfasst, wie beispielsweise die mobile Vorrichtung 106 oder den Fernseher 108 wie gezeigt in 1.
  • Das System empfängt Audiodaten, die einer Äußerung (210) entsprechen. Der Benutzer kann beispielsweise Audiodaten empfangen, die dem entsprechen, dass der Benutzer „OK Computer, gib mir eine Wegbeschreibung nach Hause“ spricht. Bei einigen Implementierungen kann das System von einem anderen System Daten empfangen, die anzeigen, dass das andere System konfiguriert ist, auf Hotwords anzusprechen. Das System und das andere System können einen Gruppenbezeichner verhandeln, das jedes in Datenpakete einschließen kann, die an den Server zu senden sind, wenn entweder das System oder das andere System ein Hotword detektiert. Der Gruppenbezeichner kann beispielsweise eine E-Mail-Adresse des Benutzers sein, der an einer oder beiden Vorrichtungen angemeldet ist. Bei einigen Implementierungen empfängt das System Audiodaten, wenn es sich in einem Schlafzustand befindet und der Bildschirm ausgeschaltet ist. In diesem Fall kann das System in einem Schlafzustand verbleiben und immer noch die Audiodaten empfangen und verarbeiten. Bei einigen Implementierungen kann das System in einem aktiven Zustand sein, wie ein Video abzuspielen. In diesem Fall empfängt und verarbeitet das System die Audiodaten und fährt fort, das Video abzuspielen.
  • Das System bestimmt, dass die Äußerung wahrscheinlich ein bestimmtes vordefiniertes Hotword (220) umfasst. Beispielsweise kann das System bestimmen, dass die Äußerung wahrscheinlich „OK Computer“ umfasst. Bei einigen Implementierungen kann sich das System in einem Schlafzustand befinden und nach Empfang des Identifizierens des Hotwords wird der Bildschirm des Systems möglicherweise bei einem reduzierten Energiesparzustand aktiviert und zeigt an, dass das System Audiodaten verarbeitet.
  • Das System sendet als Reaktion auf das Bestimmen, dass die Äußerung wahrscheinlich das bestimmte vordefinierte Hotword umfasst, an einen Server (i) Daten, die anzeigen, dass die Computervorrichtung wahrscheinlich das bestimmte vordefinierte Hotword empfangen hat, (ii) Daten, welche die Computervorrichtung identifizieren, und (iii) Daten, die eine Gruppe von in der Nähe befindlichen Computervorrichtungen identifizieren, welche die Computervorrichtung (230) umfasst. Bei einigen Implementierungen sind die Daten, welche die Computervorrichtung identifizieren, das Modell und die Seriennummer. Bei einigen Implementierungen sind die Daten, die eine Gruppe von in der Nähe befindlichen Computervorrichtungen identifizieren, den Gruppenbezeichner. Bei einigen Implementierungen bestimmt das System eine Lautstärke der Audiodaten, die dem Hotword entsprechen, und sendet als Reaktion auf das Bestimmen, dass die Äußerung wahrscheinlich das Hotword umfasst, die Lautstärke an den Server. Das System kann beispielsweise die Lautstärke als dreißig Dezibel bestimmen und diesen Wert an den Server senden. Bei einigen Implementierungen bestimmt das System die Leistung der Audiodaten, die dem Hotword entsprechen, und die Leistung der kurz vor dem Hotword empfangenen Audiodaten. Das System berechnet dann den Unterschied zwischen den zwei Werten und sendet den Unterschied als Reaktion auf das Bestimmen, dass die Äußerung wahrscheinlich das Hotword umfasst, an den Server.
  • Bei einigen Implementierungen bestimmt das System eine Hotword-Konfidenzpunktzahl, welche die Wahrscheinlichkeit reflektiert, dass das System ein Hotword detektiert hat. Das System sendet dann die Hotword-Konfidenzpunktzahl an den Server als Reaktion auf das Bestimmen, dass die Äußerung wahrscheinlich das Hotword umfasst. Das System kann ein neuronales Netzwerk verwenden, um die Hotword-Konfidenzpunktzahl zu bestimmen. Bei einigen Implementierungen kann das System seinen geografische Ort als Reaktion auf das Bestimmen, dass die Äußerung wahrscheinlich das Hotword umfasst, an den Server senden. Bei einigen Implementierungen kann das System Daten senden, die eine abgelaufene Zeit seit einer vorhergehenden Verwendung der Computervorrichtung anzeigen und möglicherweise die vorhergehende Aktion einschließen. Der Benutzer kann beispielsweise das System vor zwei Minuten verwendet haben, um eine Textnachricht zu senden. Das System kann diese Informationen an den Server senden.
  • Das System empfängt vom Server, ein Befehl, Spracherkennungsverarbeitung an den Audiodaten (240) zu beginnen. Beispielsweise führt das System Spracherkennung an den Audiodaten aus, die nicht dem Hotword entsprechen, und bestimmt die Transkription „Gib mir eine Wegbeschreibung nach Hause“. Bei einigen Implementierungen kann das System einen Befehl empfangen, Spracherkennung an den Audiodaten nicht zu beginnen. Bei einigen Implementierungen kann das System bereits Spracherkennung an den Audiodaten ausgeführt und die Transkription an den Server gesendet haben. In diesem Fall kann das System einen Befehl empfangen, den Sprachbefehl in der Transkription zu verarbeiten oder den Sprachbefehl nicht zu verarbeiten. Wenn das System einen Befehl empfängt, den Sprachbefehl nicht zu verarbeiten, dann kann das System zu seinem vorhergehenden Zustand, wie beispielsweise einem Schlafzustand oder dem Anzeigen eines Videos, zurückkehren. Das System verarbeitet als Reaktion auf das Empfangen des Befehls, Spracherkennungsverarbeitung an den Audiodaten zu beginnen, mindestens einen Abschnitt der Audiodaten unter Verwendung eines automatisierten Spracherkenners auf der Computervorrichtung (250). Das System kann dann jeden vom Benutzer gesprochenen Sprachbefehl ausführen. Das System kann dem Benutzer beispielsweise eine Wegbeschreibung nach Hause bereitstellen.
  • 3 veranschaulicht einen beispielhaften Prozess 300 zur Hotword-Detektion. Im Allgemeinen wählt der Prozess 300 eine Computervorrichtung aus, um Spracherkennung an Audiodaten zu beginnen, die wahrscheinlich ein Hotword umfassen. Der Prozess 300 wird als durch ein Computersystem ausgeführt beschrieben, das einen oder mehrere Computer umfasst, wie beispielsweise der Server 110, wie es in 1 gezeigt ist.
  • Das System empfängt, durch einen Server und von einer Computervorrichtung, (i) Daten, die anzeigen, dass die Computervorrichtung wahrscheinlich ein bestimmtes vordefiniertes Hotword empfangen hat, (ii) Daten, welche die Computervorrichtung identifizieren, und (iii) Daten, die eine Gruppe von Computervorrichtungen identifizieren, die sich nahe der Computervorrichtung befinden, und welche die Computervorrichtung (310) umfasst. Bei einigen Implementierungen empfängt der Server vor dem Empfangen dieser Daten Daten, die anzeigen, dass die Computervorrichtung und vielleicht eine andere Computervorrichtung konfiguriert ist, auf ein Hotword anzusprechen. Wenn sich die Vorrichtungen nahe beieinander befinden, dann wählt der Server einen Gruppenbezeichner aus, um die Gruppe zu identifizieren, wenn er benachrichtigt wurde, dass die Computervorrichtung ein Hotword detektiert hat.
  • Das System greift auf Kontextdaten zu, die einen Kontext der Computervorrichtung (320) anzeigen. Bei einigen Implementierungen entsprechen die Kontextdaten den Fähigkeiten der Computervorrichtung. Das System kann auf die Fähigkeitendaten basierend auf der Modellnummer, die durch die Computervorrichtung bereitgestellt wird, zugreifen. Ein Telefon kann beispielsweise eine Kamera, Funkvorrichtung für kurze Reichweiten, einen Fünf-Zoll-Bildschirm, Speicherkartensteckplatz usw. aufweisen. Bei einigen Implementierungen entsprechen die Kontextdaten einer abgelaufenen Zeit seit einer vorhergehenden Verwendung oder einer vorhergehenden Aktion der Computervorrichtung oder von beidem. Beispielsweise kann die vorhergehende Verwendung das Ansehen eines Nachrichtenvideos sein, und dies kann zur gleichen Zeit aufgetreten sein, als die Computervorrichtung das Hotword detektiert hat. Die Computervorrichtung kann die Zeit seit der vorhergehenden Verwendung und der vorhergehenden Aktion bereitstellen. Bei einigen Implementierungen kann das System auf die Daten zugreifen oder die Daten von anderen Servern empfangen. Bei einigen Implementierungen umfassen die Kontextdaten eine Lautstärke der Audiodaten, die dem Hotword entsprechen. Bei einigen Implementierungen empfängt das System geografische Ortsdaten von der Computervorrichtung.
  • Das System bestimmt basierend auf den Kontextdaten der Computervorrichtung, dass die Computervorrichtung Spracherkennungsverarbeitung an Audiodaten beginnt, die mit dem bestimmten vordefinierten Hotword (330) verknüpft sind. Bei einigen Implementierungen entsprechen die Audiodaten einer Äußerung, wie dass ein Benutzer „OK Computer, gib mir eine Wegbeschreibung nach Hause“ spricht. Bei einigen Implementierungen wählt das System die Computervorrichtung; basierend auf irgendeiner Kombination aus den Fähigkeiten der Vorrichtung, dem Ort der Vorrichtung, der Zeit, seit die Vorrichtung zuletzt verwendet wurde, die letzte Aktion, die durch die Vorrichtung ausgeführt wurde, oder der Lautstärke der Audiodaten aus. Bei einigen Implementierungen kann das System nicht genug Informationen aufweisen, um eine Computervorrichtung auszuwählen. In diesem Fall kann das System die Computervorrichtung auffordern, Spracherkennung an der Äußerung auszuführen und eine Transkription der Äußerung bereitzustellen. Das System kann dann die Kontextdaten und die Transkription verwenden, um die Computervorrichtung auszuwählen. Bei einigen Implementierungen kann das System die Computervorrichtung anstatt oder zusätzlich zum Abfragen der Transkription nach zusätzlichen Kontextinformationen abfragen. Beispielsweise kann das System die Computervorrichtung nach Konfidenzpunktzahlen des Hotwords und der Spracherkennung abfragen.
  • Das System sendet an die Computervorrichtung einen Befehl, Spracherkennungsverarbeitung an den Audiodaten zu beginnen, die mit dem bestimmten vordefinierten Hotword (340) verknüpft sind. Bei einigen Implementierungen kann das System einen Befehl, Spracherkennungsverarbeitung nicht zu beginnen, an andere durch das System nicht ausgewählte Computervorrichtungen senden.
  • Bei einigen Implementierungen kann das System Daten von der Computervorrichtung empfangen, die vom Benutzer vorgenommene Aktionen identifizieren, nachdem die Computervorrichtung die Audiodaten verarbeitet hat. Die Computervorrichtung kann den Sprachbefehl der Audiodaten ausführen und einen Benutzer die Ausführung des Sprachbefehls stoppen lassen. Der Benutzer kann dann die Aktion des Sprachbefehls auf der durch das System nicht ausgewählten Computervorrichtung manuell ausführen. In diesem Fall wird das System diese Daten empfangen und bestimmen, dass das System die falsche Vorrichtung zum Ansprechen auf das Hotword ausgewählt hat. Das System kann dann Maschinenlernen verwenden, um den Selektionsalgorithmus anzupassen. Bei einigen Implementierungen kann der Selektionsalgorithmus benutzerspezifisch sein.
  • 4 zeigt ein Beispiel einer Computervorrichtung 400 und einer mobilen Computervorrichtung 450, die verwendet werden können, um die hier beschriebenen Techniken zu implementieren. Die Computervorrichtung 400 soll verschiedene Formen von digitalen Computern wie Laptops, Desktops, Arbeitsstationen, Personal Digital Assistants, Fernseher, Server, Blade-Server, Mainframes und andere geeignete Computer darstellen. Die mobile Computervorrichtung 450 soll verschiedene Formen mobiler Vorrichtungen, wie Personal Digital Assistants, Mobiltelefone, Smartphones und andere ähnliche Computervorrichtungen darstellen. Die hier gezeigten Komponenten, ihre Verbindungen und Beziehungen und ihre Funktionen sollen nur Beispiele sein und sind nicht dazu beabsichtigt, zu begrenzen.
  • Die Computervorrichtung 400 umfasst einen Prozessor 402, einen Speicher 404, eine Speichervorrichtung 406, eine Hochgeschwindigkeitsschnittstelle 408, die mit dem Speicher 404 verbindet, und mehrere Hochgeschwindigkeitserweiterungsanschlüsse 410 und eine Niedergeschwindigkeitsschnittstelle 412, die mit einem Niedergeschwindigkeitserweiterungsanschluss 414 verbindet, und die Speichervorrichtung 406. Der Prozessor 402, der Speicher 404, die Speichervorrichtung 406, die Hochgeschwindigkeitsschnittstelle 408, die Hochgeschwindigkeitserweiterungsanschlüsse 410 und die Niedergeschwindigkeitsschnittstelle 412 sind jeweils unter Verwendung verschiedener Busse miteinander verbunden und können auf einer gemeinsamen Hauptplatine oder auf andere Weisen wie jeweils anwendbar angebracht sein. Der Prozessor 402 kann Befehle zur Ausführung innerhalb der Computervorrichtung 400 verarbeiten, die Befehle umfassen, die in dem Speicher 404 oder auf der Speichervorrichtung 406 gespeichert sind, um grafische Informationen für eine GUI auf einer externen Eingabe-/Ausgabevorrichtung wie einer Anzeige 416, die mit der Hochgeschwindigkeitsschnittstelle 408 verbunden ist, anzuzeigen. Bei anderen Implementierungen können mehrere Prozessoren und/oder mehrere Busse, wie jeweils anwendbar, zusammen mit mehreren Speichern und Speicherarten verwendet sein. Es können außerdem auch mehrere Computervorrichtungen verbunden sein, wobei jede Vorrichtung Teile der notwendigen Vorgänge bereitstellt (z. B. als eine Serverbank, eine Gruppe von Blade-Servern oder ein Mehrprozessorsystem).
  • Der Speicher 404 speichert Informationen innerhalb der Computervorrichtung 400. Bei einigen Implementierungen ist der Speicher 404 eine flüchtige Speichereinheit oder -einheiten. Bei einigen Implementierungen ist der Speicher 404 eine nichtflüchtige Speichereinheit oder -einheiten. Der Speicher 404 kann auch eine andere Form von computerlesbarem Medium sein, wie beispielsweise ein magnetischer oder optischer Datenträger.
  • Die Speichervorrichtung 406 ist in der Lage, Massenspeicher für die Computervorrichtungen 400 bereitzustellen. Bei einigen Implementierungen kann die Speichervorrichtung 406 ein computerlesbares Medium sein oder beinhalten, wie ein Floppy-Disk-Laufwerk, ein Festplattenlaufwerk, ein optisches Laufwerk, eine Magnetbandeinheit, ein Flash-Speicher oder eine andere ähnliche Solid-State-Speichervorrichtung oder eine Reihe von Vorrichtungen, einschließlich Vorrichtungen in einem Speichernetzwerk oder anderen Konfigurationen. Befehle können in einem Informationsträger gespeichert werden. Die Befehle führen bei Ausführung durch ein oder mehrere Verarbeitungsvorrichtungen (beispielsweise Prozessor 402) ein oder mehrere Verfahren wie diejenigen, die vorstehend beschrieben sind, aus. Die Befehle können auch durch eine oder mehrere Speichervorrichtungen wie computer- oder maschinenlesbare Medien (beispielsweise der Speicher 404, die Speichervorrichtung 406 oder Speicher auf dem Prozessor 402) gespeichert werden.
  • Die Hochgeschwindigkeitsschnittstelle 408 verwaltet bandbreitenintensive Operationen für die Computervorrichtung 400, während die Niedergeschwindigkeitsschnittstelle 412 niedrigere bandbreitenintensive Operationen verwaltet. Eine solche Zuordnung von Funktionen ist nur beispielhaft. Bei einigen Implementierungen ist die Hochgeschwindigkeitsschnittstelle 408 mit dem Speicher 404, der Anzeige 416 (z. B. durch einen Grafikprozessor oder Beschleuniger) und mit den Hochgeschwindigkeitserweiterungsanschlüssen 410 gekoppelt, die verschiedene Erweiterungskarten (nicht gezeigt) aufnehmen können. In der Implementierung ist die Niedergeschwindigkeitsschnittstelle 412 mit der Speichervorrichtung 406 und dem Niedergeschwindigkeitserweiterungsanschluss 414 gekoppelt. Der Niedergeschwindigkeitserweiterungsanschluss 414, der verschiedene Kommunikationsanschlüsse (z. B. USB, Bluetooth, Ethernet, drahtloses Ethernet) umfassen kann, kann mit einer oder mehreren Eingabe-/Ausgabevorrichtungen wie einer Tastatur, einer Zeigevorrichtung, einem Scanner oder einer Netzwerkvorrichtung wie einem Switch oder Router z. B. durch einen Netzwerkadapter gekoppelt sein.
  • Die Computervorrichtung 400 kann in einer Anzahl von unterschiedlichen Formen implementiert sein, wie es in der Figur gezeigt ist. So kann sie beispielsweise als ein Standardserver 420 oder in einer Gruppe solcher Server mehrfach implementiert sein. Zusätzlich kann sie in einem Personal Computer wie einem Laptop 422 implementiert sein. Sie kann außerdem als Teil eines Rackserversystems 424 implementiert sein. Alternativ können Komponenten von der Computervorrichtung 400 mit anderen Komponenten in einer mobilen Vorrichtung (nicht gezeigt) wie einer mobilen Computervorrichtung 450 kombiniert werden. Jede solcher Vorrichtungen kann eine oder mehrere von der Computervorrichtung 400 und der mobilen Computervorrichtung 450 enthalten und ein vollständiges System kann aus mehreren Computervorrichtungen gebildet sein, die miteinander kommunizieren.
  • Die mobile Computervorrichtung 450 umfasst neben anderen Komponenten einen Prozessor 452, einen Speicher 464, eine Eingabe-/Ausgabevorrichtung wie eine Anzeige 454, eine Kommunikationsschnittstelle 466 und einen Transceiver 468. Die mobile Computervorrichtung 450 kann auch mit einer Speichervorrichtung, wie einem Microdrive oder einer andere Vorrichtung ausgestattet sein, um zusätzlichen Speicher bereitzustellen. Der Prozessor 452, der Speicher 464, die Anzeige 454, die Kommunikationsschnittstelle 466 und der Transceiver 468, sind jeweils unter Verwendung verschiedener Busse miteinander verbunden und mehrere von den Komponenten können auf einer gemeinsamen Hauptplatine oder auf anderen Weisen wie jeweils anwendbar angebracht sein.
  • Der Prozessor 452 kann Befehle innerhalb der mobilen Computervorrichtung 450 ausführen, einschließlich im Speicher 464 gespeicherter Befehle. Der Prozessor 452 kann als ein Chipsatz von Chips implementiert sein, die separate und mehrere analoge und digitale Prozessoren umfassen. Der Prozessor 452 kann beispielsweise die Koordination der anderen Komponenten der mobilen Computervorrichtung 450, wie beispielsweise die Steuerung von Benutzerschnittstellen, Anwendungen, die durch die mobile Computervorrichtung 450 ausgeführt werden, und drahtlose Kommunikation von der mobilen Computervorrichtung 450 bereitstellen.
  • Der Prozessor 452 kann mit einem Benutzer durch eine Steuerungsschnittstelle 458 und eine Anzeigeschnittstelle 456, die mit der Anzeige 454 gekoppelt ist, kommunizieren. Die Anzeige 454 kann beispielsweise eine TFT-(Dünnschichttransistor-Flüssigkristallanzeige)-Anzeige oder ein OLED-(organische Leuchtdiode)-Anzeige oder eine andere geeignete Anzeigetechnologie sein. Die Anzeigeschnittstelle 456 kann geeignete Schaltungen zum Ansteuern der Anzeige 454 umfassen, um einem Benutzer grafische und andere Informationen zu präsentieren. Die Steuerschnittstelle 458 kann Befehle von einem Benutzer empfangen und sie zur Eingabe in den Prozessor 452 konvertieren. Außerdem kann eine äußere Schnittstelle 462 Kommunikation mit dem Prozessor 452 bereitstellen, um Nahbereichskommunikation der mobilen Computervorrichtung 450 mit anderen Vorrichtungen zu ermöglichen. Die externe Schnittstelle 462 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 464 speichert Informationen innerhalb der mobilen Computervorrichtung 450. Der Speicher 464 kann als ein oder mehrere von einem computerlesbaren Medium oder Medien, einem flüchtigen Speicher oder Speichern oder einem nicht flüchtigen Speicher oder Speichern implementiert sein. Ein Erweiterungsspeicher 474 kann ebenfalls bereitgestellt und mit der mobilen Computervorrichtung 450 durch eine Erweiterungsschnittstelle 472 verbunden sein, die zum Beispiel eine SIMM-(Single In Line Memory Module)-Kartenschnittstelle umfassen kann. Der Erweiterungsspeicher 474 kann zusätzlichen Speicherplatz für die mobile Computervorrichtung 450 bereitstellen oder kann auch Anwendungen oder andere Informationen für die mobile Computervorrichtung 450 speichern. Insbesondere kann der Erweiterungsspeicher 474 Befehle zum Ausführen oder Ergänzen der vorstehend beschriebenen Prozesse umfassen und er kann außerdem sichere Informationen umfassen. Daher kann der Erweiterungsspeicher 474 beispielsweise als ein Sicherheitsmodul für die mobile Computervorrichtung 450 bereitgestellt sein und er kann mit Befehlen programmiert sein, welche die sichere Verwendung der mobilen Computervorrichtung 450 erlauben. 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 beispielsweise Flash-Speicher und/oder NVRAM-Speicher (nicht flüchtiger Random Access Memory) wie nachfolgend beschrieben umfassen. Bei einigen Implementierungen werden Befehle in einem Informationsträger gespeichert, sodass die Befehle bei Ausführung durch eine oder mehrere Verarbeitungsvorrichtungen (beispielsweise Prozessor 452) ein oder mehrere Verfahren wie diejenigen, die vorstehend beschrieben sind, ausführen. Die Befehle können auch durch eine oder mehrere Speichervorrichtungen, wie ein oder mehrere computer- oder maschinenlesbare Medien (beispielsweise der Speicher 464, der Erweiterungsspeicher 474 oder Speicher auf dem Prozessor 452) gespeichert werden. Bei einigen Implementierungen können die Befehle in einem propagierten Signal beispielsweise über den Transceiver 468 oder die externe Schnittstelle 462 empfangen werden.
  • Die mobile Computervorrichtung 450 kann durch die Kommunikationsschnittstelle 466 drahtlos kommunizieren, die wo erforderlich Digitalsignalverarbeitungsschaltungen umfassen kann. Die Kommunikationsschnittstelle 466 kann Kommunikationen unter verschiedenen Modi oder Protokollen, unter anderem wie etwa GSM-Sprachverbindungen (Global System for Mobile Communication), SMS, dem Kurzmeldungsdienst (Short Message Service), EMS (dem erweiterten Nachrichtenservice) oder MMS (dem Multimedia Messaging Service), CDMA-(dem Code Division Multiple Access), TDMA-(dem Time Division Multiple Access), PDC-(dem Personal Digital Cellular System), WCDMA-(dem Wideband Code Division Multiple Access), CDMA2000 oder GPRS (dem General Packet Radio System) bereitstellen. Eine derartige Kommunikation kann beispielsweise über den Transceiver 468 unter Verwendung einer Funkfrequenz erfolgen. Zusätzlich kann eine Kurzstreckenkommunikation stattfinden, wie unter Verwendung eines Bluetooth-, WLAN- oder anderen solchen Transceivers (nicht gezeigt). Außerdem kann ein GPS-(globales Positionsbestimmungssystem)-Empfangsmodul 470 zusätzliche navigations- und ortsbezogene drahtlose Daten an die mobile Computervorrichtung 450 bereitstellen, die wie jeweils anwendbar durch Anwendungen verwendet werden können, die auf der mobilen Computervorrichtung 450 ausführen.
  • Die mobile Computervorrichtung 450 kann ebenfalls unter Verwendung eines Audiocodec 460, der gesprochene Informationen von einem Benutzer empfangen und diese in nutzbare digitale Informationen konvertieren kann, hörbar kommunizieren. Der Audiocodec 460 kann gleichermaßen einen hörbaren Ton für einen Benutzer beispielsweise über einen Lautsprecher, wie zum Beispiel in einem Handset einer mobilen Computervorrichtung 450, generieren. Ein derartiger Ton kann einen Ton von Sprachfernsprechverbindungen beinhalten, kann aufgenommene Töne (z. B. Sprachnachrichten, Musikdateien usw.) beinhalten und kann auch Töne, beinhalten, die von Anwendungen generiert werden, die auf der mobilen Computervorrichtung 450 betrieben werden.
  • Die mobile Computervorrichtung 450 kann in einer Anzahl von unterschiedlichen Formen implementiert sein, wie es in der Figur gezeigt ist. Sie kann beispielsweise als ein Mobiltelefon 480 implementiert sein. Sie kann außerdem als Teil eines Smartphones 482, Personal Digital Assistant oder einer anderen ähnlichen mobilen Vorrichtung implementiert sein.
  • Verschiedene Implementierungen der hier beschriebenen Systeme und Techniken können in digitalen elektronischen Schaltungen, integrierten Schaltungen, speziell konzipierten ASICs (anwendungsorientierten integrierten Schaltungen), Computerhardware, Firmware, Software und/oder Kombinationen davon realisiert sein. Diese verschiedenen Implementierungen können eine Implementierung in einem oder mehreren Computerprogrammen umfassen, die auf einem programmierbaren System ausführbar und/oder interpretierbar sind, das mindestens einen programmierbaren Prozessor umfasst, 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 eine Eingabevorrichtung und mindestens eine Ausgabevorrichtung gekoppelt ist.
  • Diese Computerprogramme (auch bekannt als Programme, Software, Softwareanwendungen oder Code) umfassen Maschinenbefehle für einen programmierbaren Prozessor und können in einer höheren prozeduralen und/oder objektorientierten Programmiersprache und/oder in Assembler-/Maschinensprache implementiert sein. 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.
  • Um eine Interaktion mit einem Benutzer bereitzustellen, können die hier beschriebenen Systeme und Techniken auf einem Computer implementiert werden, der eine Anzeigevorrichtung (wie z. B. einen CRT-(Kathodenstrahlröhre) oder LCD-(Flüssigkristallanzeige)-Monitor) aufweist, um dem Benutzer Informationen anzuzeigen, und eine Tastatur und eine Zeigeeinrichtung (z. B. eine Maus oder ein Trackball) mittels denen der Benutzer eine Eingabe an den Computer bereitstellen kann. Es können auch andere Arten von Vorrichtungen 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, auditorische 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 Backendkomponente (z. B. als einen Datenserver) umfasst, oder das eine Middlewarekomponente (z. B. einen Anwendungsserver) umfasst, oder das eine Frontendkomponente (z. B. einen Clientcomputer mit einer grafischen Benutzerschnittstelle oder einem Webbrowser umfasst, durch die bzw. den ein Benutzer mit hier beschriebenen Systemimplementationen und Techniken interagieren kann) oder jeder Kombination aus solchen Backend-, Middleware- oder Frontendkomponenten. 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 umfassen ein lokales Netzwerk („LAN“), ein Fernnetzwerk („WAN“) und das Internet.
  • Das Computersystem kann Clients und Server umfassen. 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.
  • Obwohl einige Implementierungen vorstehend im Detail beschrieben wurden, sind andere Modifikationen 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 (22)

  1. Computerprogrammprodukt, wobei das Computerprogrammprodukt Code umfasst, der bei Ausführung durch eine oder mehrere Computervorrichtungen, die eine oder die mehreren Computervorrichtungen veranlasst, ein Verfahren auszuführen, wobei das Verfahren umfasst: Empfangen, durch eine Computervorrichtung, von Audiodaten, die einer Äußerung entsprechen; Bestimmen, dass die Äußerung wahrscheinlich ein bestimmtes vordefiniertes Hotword umfasst; als Reaktion auf das Bestimmen, dass die Äußerung wahrscheinlich das bestimmte vordefinierte Hotword umfasst, Senden, an einen Server, (i) Daten, die anzeigen, dass die Computervorrichtung wahrscheinlich das bestimmte vordefinierte Hotword empfangen hat, (ii) Daten, welche die Computervorrichtung identifizieren, und (iii) Daten, die eine Gruppe von in der Nähe befindlichen Computervorrichtungen identifizieren, welche die Computervorrichtung umfasst; Empfangen, vom Server, eines Befehls, Spracherkennungsverarbeitung an den Audiodaten zu beginnen; und als Reaktion auf das Empfangen des Befehls, Spracherkennungsverarbeitung an den Audiodaten zu beginnen, Verarbeiten von mindestens einem Abschnitt der Audiodaten unter Verwendung eines automatisierten Spracherkenners auf der Computervorrichtung.
  2. Computerprogrammprodukt nach Anspruch 1, wobei das Verfahren umfasst: Empfangen, von einer zusätzlichen Computervorrichtung, von Daten, die anzeigen, dass die zusätzliche Computervorrichtung konfiguriert ist, auf ein bestimmtes vordefiniertes Hotword anzusprechen; Senden, an die zusätzliche Computervorrichtung, von Daten, die anzeigen, dass die Computervorrichtung konfiguriert ist, auf ein bestimmtes vordefiniertes Hotword anzusprechen; Bestimmen eines Gruppenbezeichners für eine Gruppe von Computervorrichtungen, welche die Computervorrichtung und die zusätzliche Computervorrichtung umfasst; und Senden, an die zusätzliche Computervorrichtung, des Gruppenbezeichners, wobei die zusätzliche Computervorrichtung eine Computervorrichtung ist, die sich in der Nähe der Computervorrichtung befindet, und wobei die Daten, welche die Gruppe von in der Nähe befindlichen Computervorrichtungen identifizieren, welche die Computervorrichtung umfasst, der Gruppenbezeichner sind.
  3. Computerprogrammprodukt nach Anspruch 1 oder Anspruch 2, wobei das Verfahren umfasst: Empfangen, durch die Computervorrichtung, zusätzlicher Audiodaten, die einer zusätzlichen Äußerung entsprechen; Bestimmen, dass die zusätzliche Äußerung wahrscheinlich das bestimmte vordefinierte Hotword umfasst; als Reaktion auf das Bestimmen, dass die Äußerung wahrscheinlich das bestimmte vordefinierte Hotword umfasst, Senden, an den Server, (i) der Daten, die anzeigen, dass die Computervorrichtung wahrscheinlich das bestimmte vordefinierte Hotword empfangen hat, (ii) der Daten, welche die Computervorrichtung identifizieren, und (iii) der Daten, welche die Gruppe von in der Nähe befindlichen Computervorrichtungen identifizieren, welche die Computervorrichtung umfasst; Empfangen, vom Server, eines Befehls, Spracherkennungsverarbeitung an den Audiodaten nicht zu beginnen; und als Reaktion auf das Empfangen des Befehls, Spracherkennungsverarbeitung an den Audiodaten nicht zu beginnen, Einstellen des Verarbeitens der Audiodaten unter Verwendung des automatisierten Spracherkenners auf der Computervorrichtung.
  4. Computerprogrammprodukt nach einem der vorstehenden Ansprüche, wobei das Verfahren umfasst: Bestimmen einer Lautstärke der Audiodaten, die mit dem bestimmten vordefinierten Hotword verknüpft sind; und als Reaktion auf das Bestimmen, dass die Äußerung wahrscheinlich das bestimmte vordefinierte Hotword umfasst, Senden, an den Server, der Lautstärke der mit dem bestimmten vordefinierten Hotword verknüpften Audiodaten.
  5. Computerprogrammprodukt nach einem der vorstehenden Ansprüche, wobei das Bestimmen einer Lautstärke der mit dem bestimmten vordefinierten Hotword verknüpften Audiodaten umfasst: Bestimmen einer Leistung der Audiodaten, die mit dem bestimmten vordefinierten Hotword verknüpft sind; und Bestimmen einer Leistung von Audiodaten, die mit dem bestimmten vordefinierten Hotword nicht verknüpft sind und welche die Computervorrichtung vor den Audiodaten empfangen hat, die mit dem bestimmten vordefinierten Hotword verknüpft sind, wobei die Lautstärke der mit dem bestimmten vordefinierten Hotword verknüpften Audiodaten auf der Leistung der Audiodaten basiert, die mit dem bestimmten vordefinierten Hotword verknüpft sind, und der Leistung der Audiodaten, die mit dem bestimmten vordefinierten Hotword nicht verknüpft sind, und welche die Computervorrichtung vor den Audiodaten empfangen hat, die mit dem bestimmten vordefinierten Hotword verknüpft sind.
  6. Computerprogrammprodukt nach einem der vorstehenden Ansprüche, wobei das Verfahren umfasst: Bestimmen einer Konfidenzpunktzahl, die eine Wahrscheinlichkeit reflektiert, dass die mit dem bestimmten vordefinierten Hotword verknüpften Audiodaten dem bestimmten vordefinierten Hotword entsprechen; und als Reaktion auf das Bestimmen, dass die Äußerung wahrscheinlich das bestimmte vordefinierte Hotword umfasst, Senden einer Konfidenzpunktzahl an den Server.
  7. Computerprogrammprodukt nach einem der vorstehenden Ansprüche, wobei das Bestimmen einer Konfidenzpunktzahl, die eine Wahrscheinlichkeit reflektiert, dass die mit dem bestimmten vordefinierten Hotword verknüpften Audiodaten dem bestimmten vordefinierten Hotword entsprechen, umfasst: Bestimmen von Audiomerkmalen von den Audiodaten, die mit dem bestimmten vordefinierten Hotword verknüpft sind; und basierend auf den Audiomerkmalen, Bestimmen der Konfidenzpunktzahl unter Verwendung eines neuronalen Netzwerks.
  8. Computerprogrammprodukt nach einem der vorstehenden Ansprüche, wobei das Verfahren umfasst: als Reaktion auf das Bestimmen, dass die Äußerung wahrscheinlich das bestimmte vordefinierte Hotword umfasst, Senden von Daten, die einen Ort der Computervorrichtung anzeigen, an den Server.
  9. Computerprogrammprodukt nach einem der vorstehenden Ansprüche, wobei das Verfahren umfasst: als Reaktion auf das Bestimmen, dass die Äußerung wahrscheinlich das bestimmte vordefinierte Hotword umfasst, Senden von Daten, die eine abgelaufene Zeit seit einer vorhergehenden Verwendung der Computervorrichtung anzeigen, an den Server.
  10. Computerprogrammprodukt nach einem der vorstehenden Ansprüche, wobei das Verfahren umfasst: als Reaktion auf das Bestimmen, dass die Äußerung wahrscheinlich das bestimmte vordefinierte Hotword umfasst, Senden von Daten, die eine durch die Computervorrichtung zuvor ausgeführte Aktion anzeigen, an den Server.
  11. Computerprogrammprodukt, wobei das Computerprogrammprodukt Code umfasst, der bei Ausführung durch eine oder mehrere Computervorrichtungen, die eine oder die mehreren Computervorrichtungen veranlasst, ein Verfahren auszuführen, wobei das Verfahren umfasst: Empfangen, durch einen Server und von einer Computervorrichtung, (i) von Daten, die anzeigen, dass die Computervorrichtung wahrscheinlich ein bestimmtes vordefiniertes Hotword empfangen hat, (ii) von Daten, welche die Computervorrichtung identifizieren, und (iii) von Daten, die eine Gruppe von Computervorrichtungen identifizieren, die sich nahe der Computervorrichtung befinden, und welche die Computervorrichtung umfasst; Zugreifen auf Kontextdaten, die einen Kontext der Computervorrichtung anzeigen; basierend auf den Kontextdaten der Computervorrichtung, Bestimmen, dass die Computervorrichtung mit Spracherkennungsverarbeitung an mit dem bestimmten vordefinierten Hotword verknüpften Audiodaten beginnt; und Senden, an die Computervorrichtung, eines Befehls, Spracherkennungsverarbeitung an den mit dem bestimmten vordefinierten Hotword verknüpften Audiodaten zu beginnen.
  12. Computerprogrammprodukt nach Anspruch 11, wobei das Verfahren umfasst: Empfangen, durch einen Server und von einer zusätzlichen Computervorrichtung, (i) von Daten, die anzeigen, dass die zusätzliche Computervorrichtung wahrscheinlich das bestimmte vordefinierte Hotword empfangen hat, (ii) von Daten, welche die zusätzliche Computervorrichtung identifizieren, und (iii) von Daten, welche die Gruppe von Computervorrichtungen identifizieren, die sich nahe der zusätzlichen Computervorrichtung befinden, und welche die Computervorrichtung und die zusätzliche Computervorrichtung umfasst; Zugreifen auf Kontextdaten, die einen Kontext der zusätzlichen Computervorrichtung anzeigen; basierend auf den Kontextdaten der Computervorrichtung und den Kontextdaten der zusätzlichen Computervorrichtung, Bestimmen, dass die zusätzliche Computervorrichtung Spracherkennungsverarbeitung an den mit dem bestimmten vordefinierten Hotword verknüpften Audiodaten nicht beginnt; und Senden, an die zusätzliche Computervorrichtung, eines Befehls, Spracherkennungsverarbeitung an den mit dem bestimmten vordefinierten Hotword verknüpften Audiodaten nicht zu beginnen.
  13. Computerprogrammprodukt nach Anspruch 12, wobei das Verfahren umfasst: Empfangen, durch einen Server und von einer ersten Computervorrichtung, von Daten, die anzeigen, dass die erste Computervorrichtung konfiguriert ist, auf ein bestimmtes vordefiniertes Hotword anzusprechen; Empfangen, durch einen Server und von einer zweiten Computervorrichtung, von Daten, die anzeigen, dass die zweite Computervorrichtung konfiguriert ist, auf das bestimmte vordefinierte Hotword anzusprechen; Bestimmen, durch den Server, eines Gruppenbezeichners für eine Gruppe von Computervorrichtungen, welche die erste Computervorrichtung und die zweite Computervorrichtung umfasst; und Senden des Gruppenbezeichners an die erste Computervorrichtung und die zweite Computervorrichtung, wobei die Daten, welche die Gruppe von Computervorrichtungen identifizieren, die sich nahe der Computervorrichtung befinden, und welche die Computervorrichtung umfasst, der Gruppenbezeichner sind.
  14. Computerprogrammprodukt nach einem der Ansprüche 11 bis 13, wobei die mit dem bestimmten vordefinierten Hotword verknüpften Audiodaten Audiodaten sind, die einer Äußerung entsprechen.
  15. Computerprogrammprodukt nach einem der Ansprüche 11 bis 14, wobei die Kontextdaten, die einen Kontext der Computervorrichtung anzeigen, Daten umfassen, die eine von mehreren Fähigkeiten der Computervorrichtung anzeigen, wobei das Bestimmen, dass die Computervorrichtung Spracherkennungsverarbeitung an mit dem bestimmten vordefinierten Hotword verknüpften Audiodaten beginnt, auf einer von mehreren Fähigkeiten der Computervorrichtung basiert.
  16. Computerprogrammprodukt nach einem der Ansprüche 11 bis 15, wobei die Kontextdaten, die einen Kontext der Computervorrichtung anzeigen, Daten umfassen, die eine abgelaufene Zeit seit einer vorhergehenden Verwendung der Computervorrichtung anzeigen, wobei das Bestimmen, dass die Computervorrichtung Spracherkennungsverarbeitung an mit dem bestimmten vordefinierten Hotword verknüpften Audiodaten beginnt, auf der abgelaufenen Zeit seit der vorhergehenden Verwendung der Computervorrichtung basiert.
  17. Computerprogrammprodukt nach einem der Ansprüche 11 bis 16, wobei die Kontextdaten, die einen Kontext der Computervorrichtung anzeigen, Daten umfassen, die eine zuvor ausgeführte Aktion der Computervorrichtung anzeigen, wobei das Bestimmen, dass die Computervorrichtung Spracherkennungsverarbeitung an mit dem bestimmten vordefinierten Hotword verknüpften Audiodaten beginnt, auf der zuvor ausgeführten Aktion der Computervorrichtung basiert.
  18. Computerprogrammprodukt nach einem der Ansprüche 11 bis 17, umfassend: Empfangen, von der Computervorrichtung, von Daten, die eine Lautstärke von den mit dem bestimmten vordefinierten Hotword verknüpften Audiodaten anzeigen, wobei das Bestimmen, dass die Computervorrichtung Spracherkennungsverarbeitung an den mit dem bestimmten vordefinierten Hotword verknüpften Audiodaten beginnt, weiter auf der Lautstärke der mit dem bestimmten vordefinierten Hotword verknüpften Audiodaten basiert.
  19. Computerprogrammprodukt nach einem der Ansprüche 11 bis 18, wobei das Verfahren umfasst: Empfangen, durch den Server und von der Computervorrichtung, von Daten, die einen Ort der Computervorrichtung anzeigen, wobei das Bestimmen, dass die Computervorrichtung Spracherkennungsverarbeitung an mit dem bestimmten vordefinierten Hotword verknüpften Audiodaten beginnt, weiter auf dem Ort der Computervorrichtung basiert.
  20. Computerprogrammprodukt nach einem der Ansprüche 11 bis 19, wobei das Verfahren umfasst: Empfangen, von der Computervorrichtung, von Daten, die eine Aktion anzeigen, die mit den Audiodaten verknüpft sind, und von Daten, die von der Computervorrichtung ausgeführte Aktionen innerhalb eines bestimmten Zeitraums nach dem Empfangen des Befehls, Spracherkennungsverarbeitung an den mit dem bestimmten vordefinierten Hotword verknüpften Audiodaten zu beginnen, anzeigen; und Aktualisieren der Kontextdaten der Computervorrichtung basierend auf den Daten, welche die Aktion anzeigen, die mit den Audiodaten verbunden ist, und den Daten, welche die Aktionen anzeigen, die durch die Computervorrichtung innerhalb des bestimmten Zeitraums nach dem Empfangen des Befehls ausgeführt werden, Spracherkennungsverarbeitung an den mit dem bestimmten vordefinierten Hotword verknüpften Audiodaten zu beginnen.
  21. Vorrichtung, die konfiguriert ist, das Verfahren eines Computerprogrammprodukts nach einem der vorstehenden Ansprüche auszuführen.
  22. Computerlesbare Befehle, die bei Ausführung durch eine Computervorrichtung, bewirken, dass das Verfahren eines Computerprogrammprodukts nach einem der Ansprüche 1 bis 20 ausgeführt wird.
DE202017104895.0U 2016-08-24 2017-08-15 Hotword-Detektion bei mehreren Vorrichtungen Active DE202017104895U1 (de)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201662378869P 2016-08-24 2016-08-24
US62/378,869 2016-08-24
US15/278,269 2016-09-28
US15/278,269 US9972320B2 (en) 2016-08-24 2016-09-28 Hotword detection on multiple devices

Publications (1)

Publication Number Publication Date
DE202017104895U1 true DE202017104895U1 (de) 2017-11-27

Family

ID=59579964

Family Applications (1)

Application Number Title Priority Date Filing Date
DE202017104895.0U Active DE202017104895U1 (de) 2016-08-24 2017-08-15 Hotword-Detektion bei mehreren Vorrichtungen

Country Status (5)

Country Link
US (6) US9972320B2 (de)
EP (1) EP3501022A1 (de)
CN (2) CN118016067A (de)
DE (1) DE202017104895U1 (de)
WO (1) WO2018038888A1 (de)

Families Citing this family (103)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9812128B2 (en) * 2014-10-09 2017-11-07 Google Inc. Device leadership negotiation among voice interface devices
US9947316B2 (en) 2016-02-22 2018-04-17 Sonos, Inc. Voice control of a media playback system
US10264030B2 (en) 2016-02-22 2019-04-16 Sonos, Inc. Networked microphone device control
US10095470B2 (en) 2016-02-22 2018-10-09 Sonos, Inc. Audio response playback
US9965247B2 (en) 2016-02-22 2018-05-08 Sonos, Inc. Voice controlled media playback system based on user profile
US9772817B2 (en) 2016-02-22 2017-09-26 Sonos, Inc. Room-corrected voice detection
US9811314B2 (en) 2016-02-22 2017-11-07 Sonos, Inc. Metadata exchange involving a networked playback system and a networked microphone system
US9779735B2 (en) * 2016-02-24 2017-10-03 Google Inc. Methods and systems for detecting and processing speech signals
KR20230140611A (ko) * 2016-04-01 2023-10-06 인텔 코포레이션 대화를 통한 디바이스 식별 기법
US9978390B2 (en) 2016-06-09 2018-05-22 Sonos, Inc. Dynamic player selection for audio signal processing
US10152969B2 (en) 2016-07-15 2018-12-11 Sonos, Inc. Voice detection by multiple devices
US10134399B2 (en) 2016-07-15 2018-11-20 Sonos, Inc. Contextualization of voice inputs
US10115400B2 (en) 2016-08-05 2018-10-30 Sonos, Inc. Multiple voice services
US9972320B2 (en) 2016-08-24 2018-05-15 Google Llc Hotword detection on multiple devices
US9942678B1 (en) 2016-09-27 2018-04-10 Sonos, Inc. Audio playback settings for voice interaction
US9743204B1 (en) 2016-09-30 2017-08-22 Sonos, Inc. Multi-orientation playback device microphones
US10181323B2 (en) 2016-10-19 2019-01-15 Sonos, Inc. Arbitration-based voice recognition
US10127908B1 (en) * 2016-11-11 2018-11-13 Amazon Technologies, Inc. Connected accessory for a voice-controlled device
US10332523B2 (en) 2016-11-18 2019-06-25 Google Llc Virtual assistant identification of nearby computing devices
US10559309B2 (en) * 2016-12-22 2020-02-11 Google Llc Collaborative voice controlled devices
CN117577099A (zh) 2017-04-20 2024-02-20 谷歌有限责任公司 设备上的多用户认证的方法、系统和介质
US10848591B2 (en) * 2017-04-25 2020-11-24 Amazon Technologies, Inc. Sender and recipient disambiguation
WO2019005227A1 (en) 2017-06-30 2019-01-03 Google Llc METHODS, SYSTEMS AND MEDIA FOR VOICE CALL OPERATIONS
EP3646567B1 (de) * 2017-06-30 2022-05-18 Google LLC Verfahren, systeme und medien zur verbindung einer iot-vorrichtung mit einem anruf
US10475449B2 (en) 2017-08-07 2019-11-12 Sonos, Inc. Wake-word detection suppression
JP6513749B2 (ja) * 2017-08-09 2019-05-15 レノボ・シンガポール・プライベート・リミテッド 音声アシストシステム、サーバ装置、その音声アシスト方法、及びコンピュータが実行するためのプログラム
US10048930B1 (en) 2017-09-08 2018-08-14 Sonos, Inc. Dynamic computation of system response volume
US10446165B2 (en) 2017-09-27 2019-10-15 Sonos, Inc. Robust short-time fourier transform acoustic echo cancellation during audio playback
US10621981B2 (en) 2017-09-28 2020-04-14 Sonos, Inc. Tone interference cancellation
US10482868B2 (en) 2017-09-28 2019-11-19 Sonos, Inc. Multi-channel acoustic echo cancellation
US10466962B2 (en) 2017-09-29 2019-11-05 Sonos, Inc. Media playback system with voice assistance
KR102455199B1 (ko) * 2017-10-27 2022-10-18 엘지전자 주식회사 인공지능 디바이스
CN107919119A (zh) * 2017-11-16 2018-04-17 百度在线网络技术(北京)有限公司 多设备交互协同的方法、装置、设备及计算机可读介质
US10102858B1 (en) * 2017-11-29 2018-10-16 International Business Machines Corporation Dynamically changing audio keywords
US10880650B2 (en) 2017-12-10 2020-12-29 Sonos, Inc. Network microphone devices with automatic do not disturb actuation capabilities
US10818290B2 (en) 2017-12-11 2020-10-27 Sonos, Inc. Home graph
WO2019152722A1 (en) 2018-01-31 2019-08-08 Sonos, Inc. Device designation of playback and network microphone device arrangements
US10425780B1 (en) * 2018-02-22 2019-09-24 Amazon Technologies, Inc. Outputting notifications using device groups
US10425781B1 (en) * 2018-02-22 2019-09-24 Amazon Technologies, Inc. Outputting notifications using device groups
US10616726B1 (en) 2018-02-22 2020-04-07 Amazon Technologies, Inc. Outputing notifications using device groups
EP3596729A1 (de) 2018-03-07 2020-01-22 Google LLC. Systeme und verfahren zur sprachbasierten einleitung von personalisierten vorrichtungsaktionen
US11183182B2 (en) * 2018-03-07 2021-11-23 Google Llc Systems and methods for voice-based initiation of custom device actions
US11715042B1 (en) 2018-04-20 2023-08-01 Meta Platforms Technologies, Llc Interpretability of deep reinforcement learning models in assistant systems
US11676220B2 (en) 2018-04-20 2023-06-13 Meta Platforms, Inc. Processing multimodal user input for assistant systems
US11307880B2 (en) 2018-04-20 2022-04-19 Meta Platforms, Inc. Assisting users with personalized and contextual communication content
US10963273B2 (en) 2018-04-20 2021-03-30 Facebook, Inc. Generating personalized content summaries for users
US11886473B2 (en) 2018-04-20 2024-01-30 Meta Platforms, Inc. Intent identification for agent matching by assistant systems
EP3564949A1 (de) * 2018-04-23 2019-11-06 Spotify AB Aktivierungsauslöserverarbeitung
US11175880B2 (en) 2018-05-10 2021-11-16 Sonos, Inc. Systems and methods for voice-assisted media content selection
US10649727B1 (en) * 2018-05-14 2020-05-12 Amazon Technologies, Inc. Wake word detection configuration
KR20190130376A (ko) * 2018-05-14 2019-11-22 삼성전자주식회사 사용자 발화를 처리하는 시스템 및 그 시스템의 제어 방법
US10847178B2 (en) 2018-05-18 2020-11-24 Sonos, Inc. Linear filtering for noise-suppressed speech detection
US10867609B2 (en) * 2018-05-18 2020-12-15 Sorenson Ip Holdings, Llc Transcription generation technique selection
US10959029B2 (en) 2018-05-25 2021-03-23 Sonos, Inc. Determining and adapting to changes in microphone performance of playback devices
US10681460B2 (en) 2018-06-28 2020-06-09 Sonos, Inc. Systems and methods for associating playback devices with voice assistant services
KR102025566B1 (ko) * 2018-07-27 2019-09-26 엘지전자 주식회사 인공지능을 이용한 홈어플라이언스 및 음성 인식 서버 시스템과, 이의 제어 방법
US11076035B2 (en) 2018-08-28 2021-07-27 Sonos, Inc. Do not disturb feature for audio notifications
US10461710B1 (en) 2018-08-28 2019-10-29 Sonos, Inc. Media playback system with maximum volume setting
CN109377987B (zh) * 2018-08-31 2020-07-28 百度在线网络技术(北京)有限公司 智能语音设备间的交互方法、装置、设备及存储介质
JP7035924B2 (ja) * 2018-09-11 2022-03-15 日本電信電話株式会社 チャネル選択装置、チャネル選択方法、およびプログラム
US10587430B1 (en) 2018-09-14 2020-03-10 Sonos, Inc. Networked devices, systems, and methods for associating playback devices based on sound codes
US10878811B2 (en) 2018-09-14 2020-12-29 Sonos, Inc. Networked devices, systems, and methods for intelligently deactivating wake-word engines
US11024331B2 (en) 2018-09-21 2021-06-01 Sonos, Inc. Voice detection optimization using sound metadata
US10811015B2 (en) 2018-09-25 2020-10-20 Sonos, Inc. Voice detection optimization based on selected voice assistant service
US11152003B2 (en) * 2018-09-27 2021-10-19 International Business Machines Corporation Routing voice commands to virtual assistants
US11100923B2 (en) 2018-09-28 2021-08-24 Sonos, Inc. Systems and methods for selective wake word detection using neural network models
US10692518B2 (en) 2018-09-29 2020-06-23 Sonos, Inc. Linear filtering for noise-suppressed speech detection via multiple network microphone devices
US11899519B2 (en) 2018-10-23 2024-02-13 Sonos, Inc. Multiple stage network microphone device with reduced power consumption and processing load
US11145306B1 (en) * 2018-10-31 2021-10-12 Ossum Technology Inc. Interactive media system using audio inputs
EP3654249A1 (de) 2018-11-15 2020-05-20 Snips Erweiterte konvolutionen und takt zur effizienten schlüsselwortauffindung
US11183183B2 (en) * 2018-12-07 2021-11-23 Sonos, Inc. Systems and methods of operating media playback systems having multiple voice assistant services
US11132989B2 (en) 2018-12-13 2021-09-28 Sonos, Inc. Networked microphone devices, systems, and methods of localized arbitration
US10602268B1 (en) 2018-12-20 2020-03-24 Sonos, Inc. Optimization of network microphone devices using noise classification
US10867604B2 (en) 2019-02-08 2020-12-15 Sonos, Inc. Devices, systems, and methods for distributed voice processing
US11315556B2 (en) 2019-02-08 2022-04-26 Sonos, Inc. Devices, systems, and methods for distributed voice processing by transmitting sound data associated with a wake word to an appropriate device for identification
WO2020196955A1 (ko) * 2019-03-27 2020-10-01 엘지전자 주식회사 인공 지능 기기 및 인공 지능 기기의 동작 방법
US11120794B2 (en) 2019-05-03 2021-09-14 Sonos, Inc. Voice assistant persistence across multiple network microphone devices
US10586540B1 (en) 2019-06-12 2020-03-10 Sonos, Inc. Network microphone device with command keyword conditioning
US11361756B2 (en) 2019-06-12 2022-06-14 Sonos, Inc. Conditional wake word eventing based on environment
US11200894B2 (en) 2019-06-12 2021-12-14 Sonos, Inc. Network microphone device with command keyword eventing
WO2021015308A1 (ko) * 2019-07-19 2021-01-28 엘지전자 주식회사 로봇 및 그의 기동어 인식 방법
US11138969B2 (en) 2019-07-31 2021-10-05 Sonos, Inc. Locally distributed keyword detection
US10871943B1 (en) 2019-07-31 2020-12-22 Sonos, Inc. Noise classification for event detection
US11138975B2 (en) 2019-07-31 2021-10-05 Sonos, Inc. Locally distributed keyword detection
CN110457078B (zh) * 2019-08-09 2020-11-24 百度在线网络技术(北京)有限公司 智能服务方法、装置及设备
CN110517692A (zh) * 2019-08-30 2019-11-29 苏州思必驰信息科技有限公司 热词语音识别方法和装置
CN110660390B (zh) * 2019-09-17 2022-05-03 百度在线网络技术(北京)有限公司 智能设备唤醒方法、智能设备及计算机可读存储介质
US11189286B2 (en) 2019-10-22 2021-11-30 Sonos, Inc. VAS toggle based on device orientation
CN110890092B (zh) * 2019-11-07 2022-08-05 北京小米移动软件有限公司 唤醒控制方法及装置、计算机存储介质
US11665013B1 (en) * 2019-12-13 2023-05-30 Amazon Technologies, Inc. Output device selection
US11200900B2 (en) 2019-12-20 2021-12-14 Sonos, Inc. Offline voice control
CN111276139B (zh) * 2020-01-07 2023-09-19 百度在线网络技术(北京)有限公司 语音唤醒方法及装置
US11562740B2 (en) 2020-01-07 2023-01-24 Sonos, Inc. Voice verification for media playback
CN111312239B (zh) * 2020-01-20 2023-09-26 北京小米松果电子有限公司 响应方法、装置、电子设备及存储介质
US11556307B2 (en) 2020-01-31 2023-01-17 Sonos, Inc. Local voice data processing
US11308958B2 (en) 2020-02-07 2022-04-19 Sonos, Inc. Localized wakeword verification
US11482224B2 (en) 2020-05-20 2022-10-25 Sonos, Inc. Command keywords with input detection windowing
US11308962B2 (en) 2020-05-20 2022-04-19 Sonos, Inc. Input detection windowing
US11727919B2 (en) 2020-05-20 2023-08-15 Sonos, Inc. Memory allocation for keyword spotting engines
US11698771B2 (en) 2020-08-25 2023-07-11 Sonos, Inc. Vocal guidance engines for playback devices
US11984123B2 (en) 2020-11-12 2024-05-14 Sonos, Inc. Network device interaction by range
US11551700B2 (en) 2021-01-25 2023-01-10 Sonos, Inc. Systems and methods for power-efficient keyword detection
US20220284883A1 (en) * 2021-03-05 2022-09-08 Comcast Cable Communications, Llc Keyword Detection

Family Cites Families (130)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4363102A (en) 1981-03-27 1982-12-07 Bell Telephone Laboratories, Incorporated Speaker identification system using word recognition templates
JPS59180599A (ja) 1983-03-31 1984-10-13 日本電気ホームエレクトロニクス株式会社 車載用音声認識制御装置
US5659665A (en) 1994-12-08 1997-08-19 Lucent Technologies Inc. Method and apparatus for including speech recognition capabilities in a computer system
JP3674990B2 (ja) 1995-08-21 2005-07-27 セイコーエプソン株式会社 音声認識対話装置および音声認識対話処理方法
US5895448A (en) 1996-02-29 1999-04-20 Nynex Science And Technology, Inc. Methods and apparatus for generating and using speaker independent garbage models for speaker dependent speech recognition purpose
US6023676A (en) 1996-12-12 2000-02-08 Dspc Israel, Ltd. Keyword recognition system and method
SE511418C2 (sv) 1997-03-13 1999-09-27 Telia Ab Metod för talarverifiering/identifiering via modellering av typiska icke-typiska egenskaper.
US8209184B1 (en) 1997-04-14 2012-06-26 At&T Intellectual Property Ii, L.P. System and method of providing generated speech via a network
US6076055A (en) 1997-05-27 2000-06-13 Ameritech Speaker verification method
US5897616A (en) 1997-06-11 1999-04-27 International Business Machines Corporation Apparatus and methods for speaker verification/identification/classification employing non-acoustic and/or acoustic models and databases
JPH1152976A (ja) 1997-07-29 1999-02-26 Nec Home Electron Ltd 音声認識装置
JP3524370B2 (ja) 1998-02-19 2004-05-10 富士通テン株式会社 音声起動システム
US6141644A (en) 1998-09-04 2000-10-31 Matsushita Electric Industrial Co., Ltd. Speaker verification and speaker identification based on eigenvoices
US6744860B1 (en) 1998-12-31 2004-06-01 Bell Atlantic Network Services Methods and apparatus for initiating a voice-dialing operation
US6671672B1 (en) 1999-03-30 2003-12-30 Nuance Communications Voice authentication system having cognitive recall mechanism for password verification
US6408272B1 (en) 1999-04-12 2002-06-18 General Magic, Inc. Distributed voice user interface
JP3357629B2 (ja) 1999-04-26 2002-12-16 旭化成株式会社 設備制御システム
US8645137B2 (en) 2000-03-16 2014-02-04 Apple Inc. Fast, language-independent method for user authentication by voice
DE10015960C2 (de) 2000-03-30 2003-01-16 Micronas Munich Gmbh Spracherkennungsverfahren und Spracherkennungsvorrichtung
US6567775B1 (en) 2000-04-26 2003-05-20 International Business Machines Corporation Fusion of audio and video based speaker identification for multimedia information access
US6826159B1 (en) 2000-05-24 2004-11-30 Cisco Technology, Inc. System and method for providing speaker identification in a conference call
EP1168736A1 (de) 2000-06-30 2002-01-02 Alcatel Telekommunikationseinrichtung und -Verfahren mit einer Spracherkennungseinrichtung
US7016833B2 (en) 2000-11-21 2006-03-21 The Regents Of The University Of California Speaker verification system using acoustic data and non-acoustic data
US6973426B1 (en) 2000-12-29 2005-12-06 Cisco Technology, Inc. Method and apparatus for performing speaker verification based on speaker independent recognition of commands
US20020194003A1 (en) 2001-06-05 2002-12-19 Mozer Todd F. Client-server security system and method
US6701293B2 (en) 2001-06-13 2004-03-02 Intel Corporation Combining N-best lists from multiple speech recognizers
JP4224250B2 (ja) 2002-04-17 2009-02-12 パイオニア株式会社 音声認識装置、音声認識方法および音声認識プログラム
JP2003345391A (ja) * 2002-05-23 2003-12-03 Denso Corp 端末、音声認識サーバ、音声認識システムおよびコンピュータプログラム
US20030231746A1 (en) 2002-06-14 2003-12-18 Hunter Karla Rae Teleconference speaker identification
US7224981B2 (en) 2002-06-20 2007-05-29 Intel Corporation Speech recognition of mobile devices
TW200409525A (en) 2002-11-26 2004-06-01 Lite On Technology Corp Voice identification method for cellular phone and cellular phone with voiceprint password
US7457745B2 (en) 2002-12-03 2008-11-25 Hrl Laboratories, Llc Method and apparatus for fast on-line automatic speaker/environment adaptation for speech/speaker recognition in the presence of changing environments
EP1429314A1 (de) 2002-12-13 2004-06-16 Sony International (Europe) GmbH Korrektion der Energie als Eingangsparameter für die Sprachverarbeitung
US7533023B2 (en) 2003-02-12 2009-05-12 Panasonic Corporation Intermediary speech processor in network environments transforming customized speech parameters
US7222072B2 (en) 2003-02-13 2007-05-22 Sbc Properties, L.P. Bio-phonetic multi-phrase speaker identity verification
US7571014B1 (en) 2004-04-01 2009-08-04 Sonos, Inc. Method and apparatus for controlling multimedia players in a multi-zone system
US8290603B1 (en) 2004-06-05 2012-10-16 Sonos, Inc. User interfaces for controlling and manipulating groupings in a multi-zone media system
US20070198262A1 (en) 2003-08-20 2007-08-23 Mindlin Bernardo G Topological voiceprints for speaker identification
EP1511277A1 (de) 2003-08-29 2005-03-02 Swisscom AG Verfahren zur Beantwortung eines eingehenden Ereignisses mit einem Fernsprechgerät und entsprechendes Fernsprechgerät
US7305078B2 (en) 2003-12-18 2007-12-04 Electronic Data Systems Corporation Speaker identification during telephone conferencing
US20050165607A1 (en) 2004-01-22 2005-07-28 At&T Corp. System and method to disambiguate and clarify user intention in a spoken dialog system
US8214447B2 (en) 2004-06-08 2012-07-03 Bose Corporation Managing an audio network
US7720012B1 (en) 2004-07-09 2010-05-18 Arrowhead Center, Inc. Speaker identification in the presence of packet losses
US8412521B2 (en) 2004-08-20 2013-04-02 Multimodal Technologies, Llc Discriminative training of document transcription system
US8521529B2 (en) 2004-10-18 2013-08-27 Creative Technology Ltd Method for segmenting audio signals
KR100679043B1 (ko) 2005-02-15 2007-02-05 삼성전자주식회사 음성 대화 인터페이스 장치 및 방법
US8041570B2 (en) 2005-05-31 2011-10-18 Robert Bosch Corporation Dialogue management using scripts
US8709018B2 (en) 2005-09-16 2014-04-29 Applied Medical Technology, Inc. Non-balloon low profile feed device with insertion/removal tool
US7603275B2 (en) 2005-10-31 2009-10-13 Hitachi, Ltd. System, method and computer program product for verifying an identity using voiced to unvoiced classifiers
JP2006227634A (ja) 2006-03-29 2006-08-31 Seiko Epson Corp 音声認識を用いた機器制御方法および音声認識を用いた機器制御システムならびに音声認識を用いた機器制御プログラムを記録した記録媒体
US8595007B2 (en) 2006-06-15 2013-11-26 NITV Federal Services, LLC Voice print recognition software system for voice identification and matching
CN1996847B (zh) 2006-12-27 2010-05-19 中国科学院上海技术物理研究所 基于协作网格的图像及多媒体数据通信与存储系统
US8099288B2 (en) 2007-02-12 2012-01-17 Microsoft Corp. Text-dependent speaker verification
US20110060587A1 (en) 2007-03-07 2011-03-10 Phillips Michael S Command and control utilizing ancillary information in a mobile voice-to-speech application
US8838457B2 (en) 2007-03-07 2014-09-16 Vlingo Corporation Using results of unstructured language model based speech recognition to control a system-level function of a mobile communications facility
US8352264B2 (en) * 2008-03-19 2013-01-08 Canyon IP Holdings, LLC Corrective feedback loop for automated speech recognition
US20080252595A1 (en) 2007-04-11 2008-10-16 Marc Boillot Method and Device for Virtual Navigation and Voice Processing
US8503686B2 (en) 2007-05-25 2013-08-06 Aliphcom Vibration sensor and acoustic voice activity detection system (VADS) for use with electronic systems
US8385233B2 (en) 2007-06-12 2013-02-26 Microsoft Corporation Active speaker identification
GB2450886B (en) 2007-07-10 2009-12-16 Motorola Inc Voice activity detector and a method of operation
GB2458461A (en) 2008-03-17 2009-09-23 Kai Yu Spoken language learning system
US8060358B2 (en) 2008-03-24 2011-11-15 Microsoft Corporation HMM alignment for combining translation systems
US8504365B2 (en) 2008-04-11 2013-08-06 At&T Intellectual Property I, L.P. System and method for detecting synthetic speaker verification
US8145482B2 (en) 2008-05-25 2012-03-27 Ezra Daya Enhancing analysis of test key phrases from acoustic sources with key phrase training models
KR101056511B1 (ko) 2008-05-28 2011-08-11 (주)파워보이스 실시간 호출명령어 인식을 이용한 잡음환경에서의음성구간검출과 연속음성인식 시스템
US8676586B2 (en) 2008-09-16 2014-03-18 Nice Systems Ltd Method and apparatus for interaction or discourse analytics
US8676904B2 (en) 2008-10-02 2014-03-18 Apple Inc. Electronic devices with voice command and contextual data processing capabilities
US9922640B2 (en) 2008-10-17 2018-03-20 Ashwin P Rao System and method for multimodal utterance detection
KR101519104B1 (ko) 2008-10-30 2015-05-11 삼성전자 주식회사 목적음 검출 장치 및 방법
US8326637B2 (en) 2009-02-20 2012-12-04 Voicebox Technologies, Inc. System and method for processing multi-modal device interactions in a natural language voice services environment
US8209174B2 (en) 2009-04-17 2012-06-26 Saudi Arabian Oil Company Speaker verification system
US9858925B2 (en) 2009-06-05 2018-01-02 Apple Inc. Using context information to facilitate processing of commands in a virtual assistant
CN101923853B (zh) 2009-06-12 2013-01-23 华为技术有限公司 说话人识别方法、设备和系统
US8311838B2 (en) 2010-01-13 2012-11-13 Apple Inc. Devices and methods for identifying a prompt corresponding to a voice input in a sequence of prompts
US8626511B2 (en) 2010-01-22 2014-01-07 Google Inc. Multi-dimensional disambiguation of voice commands
US8543402B1 (en) 2010-04-30 2013-09-24 The Intellisis Corporation Speaker segmentation in noisy conversational speech
US8306814B2 (en) 2010-05-11 2012-11-06 Nice-Systems Ltd. Method for speaker source classification
KR101672212B1 (ko) 2010-06-15 2016-11-04 엘지전자 주식회사 휴대 단말기 및 그 동작 방법
US8719018B2 (en) 2010-10-25 2014-05-06 Lockheed Martin Corporation Biometric speaker identification
US8874773B2 (en) * 2010-11-30 2014-10-28 Gary W. Grube Obtaining group and individual emergency preparedness communication information
WO2012083552A1 (en) 2010-12-24 2012-06-28 Huawei Technologies Co., Ltd. Method and apparatus for voice activity detection
US9262612B2 (en) 2011-03-21 2016-02-16 Apple Inc. Device access using voice authentication
US9159324B2 (en) 2011-07-01 2015-10-13 Qualcomm Incorporated Identifying people that are proximate to a mobile device user via social graphs, speech models, and user context
US20130024196A1 (en) 2011-07-21 2013-01-24 Nuance Communications, Inc. Systems and methods for using a mobile device to deliver speech with speaker identification
US8660847B2 (en) 2011-09-02 2014-02-25 Microsoft Corporation Integrated local and cloud based speech recognition
US8340975B1 (en) 2011-10-04 2012-12-25 Theodore Alfred Rosenberger Interactive speech recognition device and system for hands-free building control
US8886169B2 (en) * 2011-10-25 2014-11-11 At&T Intellectual Property I, Lp Apparatus and method for providing enhanced telephonic communications
US9031847B2 (en) 2011-11-15 2015-05-12 Microsoft Technology Licensing, Llc Voice-controlled camera operations
EP2783365B1 (de) 2011-11-21 2018-02-21 Robert Bosch GmbH Verfahren und system zur adaption von grammatiken in hybriden spracherkennungs-engines zur verbesserung einer lokalen spracherkennungs-leistung
US8825020B2 (en) 2012-01-12 2014-09-02 Sensory, Incorporated Information access and device control using mobile phones and audio in the home environment
US20130262873A1 (en) 2012-03-30 2013-10-03 Cgi Federal Inc. Method and system for authenticating remote users
US9117449B2 (en) 2012-04-26 2015-08-25 Nuance Communications, Inc. Embedded system for construction of small footprint speech recognition with user-definable constraints
US9093076B2 (en) 2012-04-30 2015-07-28 2236008 Ontario Inc. Multipass ASR controlling multiple applications
KR20130133629A (ko) 2012-05-29 2013-12-09 삼성전자주식회사 전자장치에서 음성명령을 실행시키기 위한 장치 및 방법
US10354650B2 (en) * 2012-06-26 2019-07-16 Google Llc Recognizing speech with mixed speech recognition models to generate transcriptions
US20140006825A1 (en) * 2012-06-30 2014-01-02 David Shenhav Systems and methods to wake up a device from a power conservation state
US9536528B2 (en) 2012-07-03 2017-01-03 Google Inc. Determining hotword suitability
JP6131537B2 (ja) 2012-07-04 2017-05-24 セイコーエプソン株式会社 音声認識システム、音声認識プログラム、記録媒体及び音声認識方法
TWI474317B (zh) 2012-07-06 2015-02-21 Realtek Semiconductor Corp 訊號處理裝置以及訊號處理方法
US9058806B2 (en) 2012-09-10 2015-06-16 Cisco Technology, Inc. Speaker segmentation and recognition based on list of speakers
US8983836B2 (en) 2012-09-26 2015-03-17 International Business Machines Corporation Captioning using socially derived acoustic profiles
US20150228274A1 (en) * 2012-10-26 2015-08-13 Nokia Technologies Oy Multi-Device Speech Recognition
US8996372B1 (en) 2012-10-30 2015-03-31 Amazon Technologies, Inc. Using adaptation data with cloud-based speech recognition
US9704486B2 (en) * 2012-12-11 2017-07-11 Amazon Technologies, Inc. Speech recognition power management
US9256269B2 (en) 2013-02-20 2016-02-09 Sony Computer Entertainment Inc. Speech recognition system for performing analysis to a non-tactile inputs and generating confidence scores and based on the confidence scores transitioning the system from a first power state to a second power state
US9349386B2 (en) 2013-03-07 2016-05-24 Analog Device Global System and method for processor wake-up based on sensor data
US9361885B2 (en) 2013-03-12 2016-06-07 Nuance Communications, Inc. Methods and apparatus for detecting a voice command
US9257952B2 (en) 2013-03-13 2016-02-09 Kopin Corporation Apparatuses and methods for multi-channel signal compression during desired voice activity detection
US8768687B1 (en) 2013-04-29 2014-07-01 Google Inc. Machine translation of indirect speech
US9058805B2 (en) 2013-05-13 2015-06-16 Google Inc. Multiple recognizer speech recognition
WO2015025330A1 (en) 2013-08-21 2015-02-26 Kale Aaditya Kishore A system to enable user to interact with an electronic processing device using voice of the user
WO2015029304A1 (ja) 2013-08-29 2015-03-05 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 音声認識方法及び音声認識装置
US9343068B2 (en) * 2013-09-16 2016-05-17 Qualcomm Incorporated Method and apparatus for controlling access to applications having different security levels
US8775191B1 (en) 2013-11-13 2014-07-08 Google Inc. Efficient utterance-specific endpointer triggering for always-on hotwording
US9373321B2 (en) 2013-12-02 2016-06-21 Cypress Semiconductor Corporation Generation of wake-up words
US8938394B1 (en) 2014-01-09 2015-01-20 Google Inc. Audio triggers based on context
US9639854B2 (en) * 2014-06-26 2017-05-02 Nuance Communications, Inc. Voice-controlled information exchange platform, such as for providing information to supplement advertising
US9257120B1 (en) 2014-07-18 2016-02-09 Google Inc. Speaker verification using co-location information
US10275138B2 (en) * 2014-09-02 2019-04-30 Sonos, Inc. Zone recognition
US9318107B1 (en) 2014-10-09 2016-04-19 Google Inc. Hotword detection on multiple devices
US9424841B2 (en) 2014-10-09 2016-08-23 Google Inc. Hotword detection on multiple devices
US9812126B2 (en) * 2014-11-28 2017-11-07 Microsoft Technology Licensing, Llc Device arbitration for listening devices
JP6754184B2 (ja) * 2014-12-26 2020-09-09 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 音声認識装置及び音声認識方法
US9721566B2 (en) 2015-03-08 2017-08-01 Apple Inc. Competing devices responding to voice triggers
US10506068B2 (en) * 2015-04-06 2019-12-10 Microsoft Technology Licensing, Llc Cloud-based cross-device digital pen pairing
US10026399B2 (en) * 2015-09-11 2018-07-17 Amazon Technologies, Inc. Arbitration between voice-enabled devices
US9875081B2 (en) * 2015-09-21 2018-01-23 Amazon Technologies, Inc. Device selection for providing a response
US9967330B2 (en) * 2015-12-01 2018-05-08 Dell Products L.P. Virtual resource bank for localized and self determined allocation of resources
US10678828B2 (en) * 2016-01-03 2020-06-09 Gracenote, Inc. Model-based media classification service using sensed media noise characteristics
US9972320B2 (en) 2016-08-24 2018-05-15 Google Llc Hotword detection on multiple devices

Also Published As

Publication number Publication date
WO2018038888A1 (en) 2018-03-01
US20190287534A1 (en) 2019-09-19
US20220199090A1 (en) 2022-06-23
US10242676B2 (en) 2019-03-26
US10714093B2 (en) 2020-07-14
US20240153507A1 (en) 2024-05-09
CN109791763A (zh) 2019-05-21
US20180286406A1 (en) 2018-10-04
US11276406B2 (en) 2022-03-15
CN109791763B (zh) 2024-03-01
US20180061419A1 (en) 2018-03-01
CN118016067A (zh) 2024-05-10
EP3501022A1 (de) 2019-06-26
US20200365159A1 (en) 2020-11-19
US9972320B2 (en) 2018-05-15
US11887603B2 (en) 2024-01-30

Similar Documents

Publication Publication Date Title
DE202017104895U1 (de) Hotword-Detektion bei mehreren Vorrichtungen
DE102017121086B4 (de) Zusammenwirkende sprachgesteuerte geräte
DE102019112380B4 (de) Verfahren und System zur robusten Sprechererkennungsaktivierung
JP6750125B2 (ja) 記録メディアのホットワードトリガ抑制
DE102017012396B3 (de) Identifikation eines virtuellen Assistenten von nahgelegenenRechenvorrichtungen
DE202015010012U1 (de) Aktivierungswort-Ermittlung auf mehreren Vorrichtungen
DE202017105819U1 (de) Mehrfachanwenderpersonalisierung bei einer Sprachschnittstellenvorrichtung
DE212015000185U1 (de) Soziale Erinnerungen
DE112017000142T5 (de) Multimodale übertragung von paketierten daten
DE102011107992A1 (de) System und Verfahren zum Anmelden zu Ereignissen auf der Grundlage von Schlagwörtern
DE102017115383A1 (de) Audio-slicer
DE202017105741U1 (de) Automatisierte Sprachaussprachezuteilung
DE112017000177T5 (de) Authentifizierung von paketierten Audiosignalen
DE102018114658A1 (de) Eingabe während einer Unterhaltungssitzung
DE112016002055T5 (de) Vorabrufcodierung für anwendungs-streaming
DE102017122216A1 (de) Mehrfachanwenderpersonalisierung bei einer Sprachschnittstellenvorrichtung
DE102021122502B4 (de) Ausführung von Sprachbefehlen
CA2927331C (en) Systems and methods for transcript processing
CN114449301B (zh) 物品发送方法、装置、电子设备和计算机可读存储介质
DE202017104587U1 (de) Gestenaktivierte Fernsteuerung
DE112021003164T5 (de) Systeme und Verfahren zum Erkennen von Sprachbefehlen, um eine Peer-to-Peer-Kommunikationsverbindung zu erzeugen
DE102021207673A1 (de) Interrupt für geräuschunterdrückende audiovorrichtungen
DE102021206372A1 (de) Intelligentes routing für audioausgabevorrichtungen
US20160062610A1 (en) Information Display System That Displays Appropriate Information Corresponding to Contents of Ongoing Conference or Presentation on Terminal and Recording Medium
DE202017105719U1 (de) Kontext-Hotwords

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: MAIKOWSKI & NINNEMANN PATENTANWAELTE PARTNERSC, DE

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