-
HINTERGRUND
-
Elektronische Geräte, wie etwa Laptops, Tablets, Smartphones, persönliche Assistenten usw., nehmen Benutzereingaben (z.B. an Audioeingabegeräten) an. Typischerweise stellen die Benutzer Eingaben für diese Geräte bereit, um das Gerät zu steuern sowie Daten einzugeben (z.B. Anfragen von Informationen, Zugreifen auf Informationen oder Bereitstellen von Informationen für eine Kommunikationsanwendung).
-
Zu den wachstumsstärksten Benutzereingabeverfahren gehören Sprachbefehle. Die Technologie der Sprachbefehle ermöglicht die Betätigung eines Gerätes durch Benutzersprachanweisungen. Die Anzahl und die Art der Geräte, die in der Lage sind, eine Sprachsteuerung anzunehmen, haben im Verlauf der Zeit ständig zugenommen. Dies gilt insbesondere für Mobiltelefone und eigenständige Personal Digital Assistants. Da es nicht mehr notwendig ist, Tasten oder Schalter zu verwenden, um ein Gerät zu steuern, kann ein Benutzer parallele Arbeitsschritte sicher und effizient auszuführen. Die Verwendung dieser Geräte kann jedoch immer noch als unnatürlich oder seltsam empfunden werden, insbesondere wenn ein Benutzer das Gerät wiederholt aktivieren muss (z.B. indem er ein Schlüsselwort oder einen Auslöseausdruck, wie etwa „Ok Google”, verwendet). GOOGLE ist ein eingetragenes Warenzeichen von Google Inc. in den Vereinigten Staaten und anderen Ländern.
-
KURZDARSTELLUNG
-
Kurz gesagt stellt ein Aspekt ein Verfahren bereit, das folgende Schritte umfasst: Empfangen eines Aktivierungsstichworts an einem Audioaufnahmegerät; Empfangen mindestens eines Befehls an dem Audioaufnahmegerät nach dem Aktivierungsstichwort; Ausführen, unter Verwendung eines Prozessors, einer Aktion, basierend auf dem mindestens einen Befehl; Empfangen mindestens eines anderen Befehls an dem Audioaufnahmegerät; und Ausführen, unter Verwendung des Prozessors, einer anderen Aktion, basierend auf dem anderen Befehl, ohne ein anderes Aktivierungsstichwort zu benötigen.
-
Ein anderer Aspekt stellt ein Informationshandhabungsgerät bereit, das Folgendes umfasst: einen Prozessor; ein Audioaufnahmegerät; ein Speichergerät, das Anweisungen speichert, die durch den Prozessor ausführbar sind, zum: Empfangen eines Aktivierungsstichworts an dem Audioaufnahmegerät; Empfangen mindestens eines Befehls an dem Audioaufnahmegerät nach dem Aktivierungsstichwort; Ausführen, unter Verwendung des Prozessors, einer Aktion, basierend auf dem mindestens einen Befehl; Empfangen mindestens eines anderen Befehls an dem Audioaufnahmegerät; und Ausführen, unter Verwendung des Prozessors, einer anderen Aktion, basierend auf dem anderen Befehl, ohne ein anderes Aktivierungsstichwort zu benötigen.
-
Ein weiterer Aspekt stellt ein Produkt bereit, das Folgendes umfasst: ein Speichergerät, auf dem Code gespeichert ist, wobei der Code von einem Prozessor ausführbar ist und Folgendes umfasst: Code, der ein Aktivierungsstichwort an einem Audioaufnahmegerät empfängt; Code, der mindestens einen Befehl an dem Audioaufnahmegerät nach dem Aktivierungsstichwort empfängt; Code, der unter Verwendung eines Prozessors eine Aktion basierend auf dem mindestens einen Befehl ausführt; Code, der mindestens einen anderen Befehl an dem Audioaufnahmegerät empfängt; und Code, der unter Verwendung des Prozessors eine andere Aktion basierend auf dem anderen Befehl ausführt, ohne ein anderes Aktivierungsstichwort zu benötigen.
-
Das Vorstehende ist eine Kurzdarstellung und kann somit Vereinfachungen, Verallgemeinerungen und fehlende Einzelheiten enthalten; folglich wird der Fachmann verstehen, dass die Kurzdarstellung rein erläuternd ist und keineswegs dazu gedacht ist, einschränkend zu sein.
-
Zum besseren Verständnis der Ausführungsformen zusammen mit anderen und weiteren Merkmalen und Vorteilen derselben wird auf die nachstehende Beschreibung in Verbindung mit den beiliegenden Zeichnungen gesehen Bezug genommen. Der Umfang der Erfindung wird in den beiliegenden Ansprüchen ausgewiesen.
-
KURZE BESCHREIBUNG DER VERSCHIEDENEN ANSICHTEN DER ZEICHNUNGEN
-
Es zeigen:
-
1 ein Beispiel der Schaltungen eines Informationshandhabungsgerätes.
-
2 ein anderes Beispiel der Schaltungen eines Informationshandhabungsgerätes.
-
3 ein beispielhaftes Verfahren zum Verlängern eines Spracherkennungszeitraums.
-
AUSFÜHRLICHE BESCHREIBUNG
-
Es versteht sich ohne Weiteres, dass die Komponenten der Ausführungsformen, wie sie hierin allgemein beschrieben und in den Figuren abgebildet sind, zusätzlich zu den beschriebenen Ausführungsbeispielen in vielen verschiedenen Konfigurationen angeordnet und ausgelegt sein können. Somit ist die nachstehende ausführlichere Beschreibung der Ausführungsbeispiele, wie in den Figuren dargestellt, nicht dazu gedacht, den Umfang der beanspruchten Ausführungsformen einzuschränken, sondern ist nur für Ausführungsbeispiele repräsentativ.
-
Eine Bezugnahme in der gesamten vorliegenden Beschreibung auf „eine Ausführungsform” (oder ähnliche Ausdrücke) bedeutet, dass ein bestimmtes Merkmal, eine bestimmte Struktur oder ein bestimmtes Kennzeichen, das bzw. die in Verbindung mit der Ausführungsform beschrieben wird, in mindestens einer Ausführungsform enthalten ist. Somit bezieht sich das Vorkommen der Redewendungen „bei einer Ausführungsform” und dergleichen an verschiedenen Stellen in der gesamten vorliegenden Beschreibung nicht unbedingt immer auf die gleiche Ausführungsform.
-
Ferner können die beschriebenen Merkmale, Strukturen oder Kennzeichen in einer beliebigen geeigneten Art in einer oder mehreren Ausführungsformen kombiniert werden. In der nachstehenden Beschreibung werden zahlreiche spezifische Einzelheiten bereitgestellt, um ein gründliches Verständnis der Ausführungsformen bereitzustellen. Der Fachmann auf diesem Gebiet wird jedoch erkennen, dass die diversen Ausführungsformen ohne eine oder mehrere der spezifischen Einzelheiten oder mit anderen Verfahren, Bauteilen, Materialien und so weiter in die Praxis umgesetzt werden können. In anderen Fällen werden hinlänglich bekannte Strukturen, Materialien oder Vorgänge der Übersichtlichkeit halber nicht gezeigt oder ausführlich beschrieben.
-
Um Audiodaten (z.B. Sprachbefehle) als Eingabe zu empfangen, müssen Audioaufnahmegeräte aktiviert werden und aktiv auf die Audioeingabe horchen. Auf Grund diverser Faktoren (z.B. Batterielebensdauer, Datenschutzüberlegungen usw.) verarbeiten die meisten Audioaufnahmegeräte das Audiomaterial nicht durchgehend. Somit muss ein Benutzer den Sprachbefehlsmodus über ein gewisses Benutzereingabemittel aktivieren. Ein Verfahren besteht darin, eine Taste an dem Gerät (z.B. eine Software-Schaltfläche oder eine materielle Taste) zu betätigen, wodurch der Benutzer aufgefordert wird, anschließend den Sprachbefehl einzugeben. Alternativ kann ein Auslösewort oder ein Auslöseausdruck verwendet werden, um eine persönliche Assistentenanwendung zu aktivieren, zum Beispiel „Ok Google”, „Hallo Siri”, „Hallo Cortana”, „Alexa” usw.). SIRI ist ein eingetragenes Warenzeichen von Apple Inc. in den Vereinigten Staaten und anderen Ländern. CORTANA ist ein eingetragenes Warenzeichen von Microsoft Corporation in den Vereinigten Staaten und anderen Ländern.
-
Typischerweise ist für jeden einzelnen Befehl ein Weckwort oder Auslöseausdruck notwendig. Einige Sprachbefehle führen zu einer Bestätigungs- oder Klarstellungsfrage seitens des digitalen Assistenten, doch gilt dies nur für Befehle, die unvollständig sind oder weitere Informationen benötigen. Dies führt dadurch zu einem technischen Problem für einen Benutzer, dass er ständig das Weckwort oder den Weckausdruck wiederholen muss, selbst wenn er mehrere Befehle der Reihe nach oder in kurzer Zeit erteilt. Diese ständige Wiederholung eines einzigen Ausdrucks schafft eine ungünstige und unangenehme Interaktion zwischen dem Benutzer und dem Gerät. Somit wird eine Lösung benötigt, die in den meisten Situationen viel praktischer ist und die den natürlichen Ablauf eines menschlichen Gesprächs nicht behindert.
-
Somit verlängert eine Ausführungsform eine anfängliche Weckwortsitzung, so dass diese auf mögliche nachfolgende Audiodaten (z.B. Sprachbefehle) horcht. Diese nachfolgenden Befehle können für Befehle gefiltert werden, die ähnlich wie der anfängliche Befehl sind. Beispielsweise könnten die Befehle dadurch ähnlich sein, dass sie die gleiche Anwendung, ähnliche Hardware usw. betreffen. Bei einer Ausführungsform kann bzw. können der oder die sekundären Befehle basierend auf einem vorbestimmten Zeitraum (z.B. 30 Sekunden, 1 Minute usw.) angenommen werden, und/oder bis eine gesamte vorbestimmte Anzahl von Befehlen während eines festgelegten Zeitraums erteilt/empfangen wurde, nachdem der letzte Befehl angenommen oder die Aktion, die mit dem Befehl verknüpft ist, ausgeführt wurde. Zudem kann eine Ausführungsform zusätzliche Befehle annehmen, solange der vorherige Arbeitsschritt oder Befehl aktiv ist. Falls beispielsweise eine Ausführungsform einem Benutzer die aktuellen Nachrichten vorliest, kann der Benutzer nach weiteren Einzelheiten über einen spezifischen Nachrichtenartikel, der vorgelesen wird, fragen (z.B. indem er sagt „darüber möchte ich mehr erfahren”).
-
Eine Ausführungsform kann eine Audioeingabe (z.B. eine Benutzerspracheingabe) empfangen und die Eingabe parsen, um ein Aktivierungsstichwort oder einen Auslöseausdruck (z.B. Ok Google) und einen Befehl zu identifizieren. Eine Ausführungsform kann dann basierend auf dem empfangenen Befehl eine Maßnahme treffen (z.B. das Ansagen des Wetterberichts basierend auf einer Anfrage). Eine Ausführungsform kann dann eine zusätzliche Audioeingabe empfangen (z.B. einen anderen Benutzersprachbefehl), die kein Aktivierungsstichwort enthält. Die zusätzliche Audioeingabe wird analysiert, um zu bestimmen, ob eine Beziehung zwischen der zusätzlichen Audioeingabe und der zuvor eingegebenen Audioeingabe besteht. Beispiele von möglichen Beziehungen werden hierin ausführlich besprochen. Sobald eine Beziehung bestimmt wurde, kann dann eine Ausführungsform anschließend die in der zusätzlichen Eingabe angefragte Aktion ausführen.
-
Die abgebildeten Ausführungsbeispiele werden am besten mit Bezug auf die Figuren verständlich. Die nachstehende Beschreibung ist dazu gedacht, rein beispielhaft zu sein, und bildet nur bestimmte Ausführungsbeispiele ab.
-
Obwohl diverse andere Schaltkreise, Schaltungen oder Bauteile in Informationshandhabungsgeräten verwendet werden können, umfasst mit Bezug auf die Schaltungen 100 eines Smartphones und/oder Tablets ein in 1 abgebildetes Beispiel ein System-on-Chip Design, welches beispielsweise bei Tablets oder anderen mobilen Computerplattformen vorzufinden ist. Die Software und der oder die Prozessoren sind in einem einzigen Chip 110 kombiniert. Die Prozessoren umfassen interne arithmetische Einheiten, Register, Cachespeicher, Busse, E/A-Anschlüsse usw., wie es in der Technik wohlbekannt ist. Interne Busse und dergleichen sind von verschiedenen Herstellern abhängig, doch im Wesentlichen können alle Peripheriegeräte (120) an einem einzigen Chip 110 angebracht werden. Die Schaltungen 100 kombinieren den Prozessor, die Speichersteuerung und den E/A-Steuerknoten alle zusammen in einen einzigen Chip 110. Derartige Systeme 100 verwenden typischerweise auch kein SATA, PCI oder LPC. Übliche Schnittstellen umfassen beispielsweise SDIO und I2C.
-
Es gibt Stromverwaltungschips 130, z.B. eine Batterieverwaltungseinheit, BMU, die den Strom verwalten, wie er beispielsweise über eine aufladbare Batterie 140 zugeführt wird, die man durch Anschließen an eine Stromquelle (nicht gezeigt) aufladen kann. Bei mindestens einer Bauform wird ein einziger Chip, wie etwa 110, verwendet, um eine BIOS-artige Funktionalität und einen DRAM-Speicher bereitzustellen.
-
Das System 100 umfasst typischerweise einen oder mehrere von einem WWAN-Transceiver 150 und einem WLAN-Transceiver 160 zum Anschließen an diverse Netzwerke, wie etwa Telekommunikationsnetzwerke und drahtlose Internet-Geräte, z.B. Zugriffspunkte. Zudem sind für gewöhnlich Geräte 120, z.B. ein Audioeingabegerät, wie etwa ein Mikrofon, das analoges Audiomaterial in ein digitales Eingangssignal verarbeitet, enthalten. Das System 100 umfasst häufig einen Berührungsbildschirm 170 zum Eingeben und Anzeigen/Wiedergeben von Daten. Das System 100 umfasst typischerweise auch diverse Speichergeräte, beispielsweise einen Flash-Speicher 180 und einen SDRAM 190.
-
2 bildet ein Blockdiagramm eines anderen Beispiels der Schaltkreise, Schaltungen oder Bauteile eines Informationshandhabungsgerätes ab. Das in 2 abgebildete Beispiel kann Computersystemen, wie etwa der THINKPAD-Serie von PCs, die von Lenovo (US) Inc. aus Morrisville, NC, verkauft wird, oder anderen Geräten entsprechen. Wie es aus der vorliegenden Beschreibung hervorgeht, können die Ausführungsformen andere Merkmale oder nur einige der Merkmale des in 2 abgebildeten Beispiels umfassen.
-
Das Beispiel aus 2 umfasst einen so genannten Chipsatz 210 (eine Gruppe integrierter Schaltungen bzw. Chips, die zusammenarbeiten, Chipsätze) mit einer Architektur, die je nach Hersteller (beispielsweise INTEL, AMD, ARM usw.) unterschiedlich sein kann. INTEL ist ein eingetragenes Warenzeichen von Intel Corporation in den Vereinigten Staaten und anderen Ländern. AMD ist ein eingetragenes Warenzeichen von Advanced Micro Devices, Inc. in den Vereinigten Staaten und anderen Ländern. ARM ist ein nicht eingetragenes Warenzeichen von ARM Holdings plc in den Vereinigten Staaten und anderen Ländern. Die Architektur des Chipsatzes 210 umfasst eine Kern- und Speichersteuerungsgruppe 220 und einen E/A-Steuerknoten 250, der Informationen (beispielsweise Daten, Signale, Befehle usw.) über eine Direct Management Interface (DMI) 242 oder einen Link-Controller 244 austauscht. In 2 ist die DMI 242 eine Chip-zu-Chip-Schnittstelle (gelegentlich auch als Verknüpfung zwischen einer „Northbridge” und einer „Southbridge” bezeichnet). Die Kern- und Speichersteuerungsgruppe 220 umfasst einen oder mehrere Prozessoren 222 (beispielsweise Einzel- oder Mehrkern) und einen Speicher-Steuerknoten 226, die Informationen über einen Front Side Bus (FSB) 224 austauschen; es sei zu beachten, dass die Bauteile der Gruppe 220 in einen Chip integriert sein können, der die herkömmliche „Northbridge-” Architektur ersetzt. Ein oder mehrere Prozessoren 222 umfasst bzw. umfassen interne arithmetische Einheiten, Register, Cachespeicher, Busse, E/A-Anschlüsse usw., wie es in der Technik wohlbekannt ist.
-
In 2 bildet der Speicher-Steuerknoten 226 eine Schnittstelle mit dem Speicher 240 (um beispielsweise eine Unterstützung für eine Art von RAM bereitzustellen, die man als „Systemspeicher” oder „Speicher” bezeichnen kann). Der Speicher-Steuerknoten 226 umfasst ferner eine Niederspannungs-Differenzialsignalisierungs-(LVDS)Schnittstelle 232 für ein Anzeigegerät 292 (z.B. einen CRT, einen Flachbildschirm, einen Berührungsbildschirm usw.). Ein Block 238 umfasst gewisse Technologien, die über die LVDS-Schnittstelle 232 unterstützt werden können (z.B. serielles digitales Video, HDMI/DVI, DisplayPort). Der Speicher-Steuerknoten 226 umfasst auch eine PCI-Express-Schnittstelle (PCI-E) 234, die diskrete Grafik 236 unterstützen kann.
-
In 2 umfasst der E/A-Steuerknoten 250 eine SATA-Schnittstelle 251 (beispielsweise für HDDs, SDDs, 280 usw.), eine PCI-E-Schnittstelle 252 (beispielsweise für drahtlose Verbindungen 282), eine USB-Schnittstelle 253 (beispielsweise für Geräte 284, wie etwa einen Digitalisierer, eine Tastatur, Mäuse, Kameras, Telefone, Mikrofone, Speichermittel, andere angeschlossene Geräte usw.), eine Netzwerkschnittstelle 254 (beispielsweise LAN), eine GPIO-Schnittstelle 255, eine LPC-Schnittstelle 270 (für ASICs 271, einen TPM 272, einen Super-E/A 273, einen Firmware-Knoten 274, eine BIOS-Unterstützung 275 sowie diverse Arten von Speicher 276, wie etwa ROM 277, Flash 278 und NVRAM 279), eine Stromverwaltungsschnittstelle 261, eine Taktgeberschnittstelle 262, eine Audioschnittstelle 263 (beispielsweise für die Lautsprecher 294), eine TCO-Schnittstelle 264, eine Systemverwaltungsbus-Schnittstelle 265 und SPI-Flash 266, die ein BIOS 268 und Boot-Code 290 umfassen können. Der E/A-Steuerknoten 250 kann eine Gigabit-Ethernet-Unterstützung umfassen.
-
Beim Einschalten kann das System konfiguriert sein, um den Boot-Code 290 für das BIOS 268 auszuführen, der in dem SPI-Flash 266 gespeichert ist, und verarbeitet anschließend Daten unter der Kontrolle von einem oder mehreren Betriebssystemen und von Anwendungs-Software (wie beispielsweise im Systemspeicher 240 gespeichert). Ein Betriebssystem kann an einer beliebigen von diversen Stellen gespeichert sein und kann beispielsweise gemäß den Anweisungen des BIOS 268 zugänglich sein. Wie hier beschrieben, kann ein Gerät eine geringere oder größere Anzahl von Merkmalen umfassen als sie in dem System aus 2 gezeigt werden.
-
Schaltungen von Informationshandhabungsgeräten, wie beispielsweise in 1 oder 2 angesprochen, können bei Geräten, wie etwa Tablets, Smartphones, PC-Geräten und/oder elektronische Geräten allgemein, denen Benutzer Sprachbefehle erteilen können, um spezifische Aktionen auszuführen, verwendet werden. Beispielsweise können die in 1 angesprochenen Schaltungen in einer Tablet- oder Smartphone-Ausführungsform umgesetzt werden, wohingegen die Schaltungen, die in 2 angesprochen werden, in einer PC-Ausführungsform umgesetzt werden können.
-
Nun kann mit Bezug auf 3 eine Ausführungsform bei 310 eine Audioeingabe empfangen. Die Audioeingabe kann unterschiedlicher Art sein, beispielsweise menschliche Sprache in Form von Befehlseingaben. Zudem könnte die Audioeingabe von einem Mediengerät (z.B. Radio, Fernsehen, Computer usw.) erzeugt werden. Wenn das Audiomaterial empfangen wird, kann eine Ausführungsform das Audiomaterial parsen, um bei 310 zu bestimmen, ob es ein Aktivierungsstichwort oder einen Auslöseausdruck enthält. Ein Aktivierungsstichwort oder ein Auslöseausdruck ermöglicht es einem Gerät „aufzuwachen” (z.B. wird es einem Gerät ermöglicht, Audiomaterial aufzunehmen und zu analysieren, um einen verknüpften Befehl auszuführen). Derzeit ist diese Aufwachperiode kurz und nur dazu gedacht, dass ein einziger Befehl eingegeben werden kann. Falls somit ein Benutzer mehrere Befehle eingeben möchte, muss er einen spezifischen Ausdruck oder ein Wort wiederholen, damit das Gerät aufwacht und in einen aktiven Sprachverarbeitungsmodus eintritt, um jede nachfolgende Maßnahme basierend auf einem erteilten Befehl zu treffen.
-
Eine Ausführungsform kann bei 310 einen oder mehrere Befehle innerhalb der aufgenommenen Audiodaten identifizieren. Somit kann eine Ausführungsform eine Audioeingabe empfangen, die ein Aktivierungsstichwort sowie einen Befehl (z.B. „Wie wird das Wetter morgen?”) enthält. Sobald eine Ausführungsform bestimmt hat, dass das aufgenommene Audiomaterial ein Aktivierungsstichwort umfasst, kann sie bei 320 basierend auf dem verknüpften empfangenen Befehl eine Aktion ausführen. Beispielsweise kann ein Benutzer eine Ausführungsform bitten, eine E-Mail vorzulesen/anzuzeigen, die aktuellen Nachrichten vorzulesen/anzuzeigen, die Termine des Kalenders eines Benutzers vorzulesen/anzuzeigen, usw. Es werden hierin diverse beispielhafte Aktionen offenbart, es versteht sich jedoch, dass ein beliebiger denkbarer Befehl, der von einem elektronischen Gerät ausgeführt werden kann, als Teil der Audioeingabe empfangen und bei 320 als Befehl verarbeitet werden kann.
-
Sobald bei 320 eine Aktion ausgeführt wurde, kann eine Ausführungsform bei 330 eine zusätzliche Audioeingabe empfangen. Das zusätzliche Audiomaterial kann ähnlich wie die erste empfangene Audioeingabe mindestens einen Befehl enthalten. Eine Ausführungsform bestimmt dann bei 340, ob zwischen der zusätzlichen Audioeingabe und dem vorherigen bestimmten Befehl eine Beziehung besteht. Diese Beziehung kann diverse Formen annehmen, wie etwa diejenigen, die hierin besprochen werden.
-
Beispielsweise kann eine Ausführungsform bei 340 basierend auf einer vorbestimmten Zeitdauer, die zwischen der anfänglichen Audioeingabe und der sekundären Audioeingabe verstreicht, bestimmen, dass eine Beziehung besteht. Zusätzlich oder alternativ kann die vorbestimmte Zeitdauer zwischen dem Zeitpunkt, an dem die Aktion bei 320 ausgeführt wird, und dem Zeitpunkt, an dem die zweite Audioeingabe (d.h. der zweite Befehl) bei 330 empfangen wird, liegen. Beispielsweise kann eine Ausführungsform eine erste Audioeingabe empfangen, die ein Aktivierungsstichwort und einen ersten Befehl umfasst. Falls eine zweite Audioeingabe, die einen zweiten Befehl umfasst, innerhalb eines vorbestimmten Zeitraums (z.B. 10 Sekunden, 30 Sekunden, 1 Minute usw.) empfangen wird, kann eine Ausführungsform dann basierend auf dem zweiten empfangenen Befehl bei 360 eine Aktion ausführen, selbst wenn kein Weckstichwort für den zweiten Befehl bereitgestellt wurde. Falls jedoch die zusätzliche Eingabe bei 330 außerhalb des vorbestimmten Zeitraums empfangen wird, kann es sein, dass eine Ausführungsform bei 350 keine Maßnahmen trifft.
-
Eine Ausführungsform kann bei 340 bestimmen, dass zwischen dem Befehl und der zusätzlichen Eingabe eine Beziehung besteht, indem sie eine Korrelation oder Verknüpfung zwischen der anfänglichen oder vorhergehenden Aktion und einer anderen Aktion (d.h. der sekundären Aktion basierend auf dem sekundären Befehl in der zusätzlichen Audioeingabe) identifiziert. Falls beispielsweise ein Benutzer eine Ausführungsform bitte, das Licht anzuschalten, kann er anschließend darum bitten, dass das Licht gedämpft oder aufgehellt wird. Der Befehl des Dämpfens des Lichts würde von einer Ausführungsform als eng mit dem vorhergehenden Befehl (in diesem Fall thematisch oder kontextuell) korreliert oder verknüpft erkannt werden. Somit würde der nachfolgende Befehl kein zusätzliches Aktivierungsstichwort erfordern. Das Erkennen dieser Korrelation oder Verknüpfung steigert die Benutzerfreundlichkeit von Sprachbefehlen erheblich.
-
Bei einer Ausführungsform kann eine Korrelation oder Verknüpfung mit einem Befehl hergestellt werden, der während der Verarbeitung einer vorhergehenden Aktion empfangen wird. Beispielsweise kann ein Benutzer nach allgemeinen Wetterinformationen fragen (indem er beispielsweise sagt „Cortana, wie ist das Wetter”), und dann, während die angefragten Informationen an den Benutzer abgegeben werden, kann eine Ausführungsform eine weitere Audioeingabe, die von einem Benutzer bereitgestellt wird, empfangen und parsen. Falls der Benutzer somit beispielsweise „Stopp” sagt, während die Informationen abgegeben werden, kann eine Ausführungsform aufhören, die Wetterinformationen bereitzustellen. Optional kann eine Ausführungsform die Aufweckperiode beenden, bis anschließend ein zusätzliches Aktivierungsstichwort empfangen wird. Alternativ kann eine Ausführungsform das Ausgeben der Wetterinformationen unterbrechen und es dem Benutzer ermöglichen, zusätzliche Sprachdaten einzugeben, ohne das Aktivierungsstichwort (z.B. ein Weckwort oder einen Weckausdruck) zu benötigen.
-
Zudem kann die bestimmte Beziehung bei 340 auf einem universellen Ausdruck oder auf einem arbeitsschrittspezifischen Ausdruck basieren. Beispielsweise kann ein universeller Ausdruck ein Begriff, wie etwa „Stopp”, sein, der mit anderen Befehlen verwendet werden kann. Falls der ursprüngliche Befehl eines Benutzers somit eine Aktion bedingte, die in einem Zeitraum stattfinden kann (z.B. Melden der Nachrichten, Ansagen des Wetterberichts, Vorlesen einer E-Mail usw.), ist der Begriff „Stopp” universell mit dieser laufenden Aktion korreliert oder verknüpft. Alternativ besteht für den Fall eines arbeitsschrittspezifischen Ausdrucks, beispielsweise das Anfragen des Dämpfens des Lichts sofort nach dem Anschalten des Lichts, eine spezifische Korrelation oder Verknüpfung zwischen dem ersten und dem zweiten Befehl. Somit würde eine Ausführungsform nur Maßnahmen mit Bezug auf einen Befehl des „Dämpfens” treffen, falls der vorhergehende Befehl eine starke thematische Korrelation aufwies, wie etwa das Anschalten des Lichts (z.B. basierend auf Schlüsselwörtern und einer Analyse einer thematischen Hierarchie).
-
Bei einer Ausführungsform kann die bei 340 identifizierte Beziehung auf einem geografischen Standort basieren. Somit kann eine Ausführungsform wissen, dass sich der Benutzer oder das Gerät innerhalb eines geografischen Standorts (z.B. dem Haus des Benutzers) befindet, und kann den Aufweckzeitraum basierend auf vorweggenommenen Befehlen verlängern. Falls eine Ausführungsform beispielsweise erkennt, dass sie sich im Haus des Benutzers befindet, und der Benutzer einen Befehl erteilt, das Licht anzuschalten, gefolgt von einem Befehl, die Temperatur einzustellen, kann eine Ausführungsform basierend auf dem geografischen Standort bestimmen, dass zwischen den beiden Anfragen eine starke Korrelation besteht, weil es für einen Hausbesitzer typisch ist, bestimmte Maßnahmen zu treffen, wenn er nach Hause kommt. Falls zwischen den beiden Befehlen keine geografische Verknüpfung bestünde, würde alternativ nicht bestimmt, dass dazwischen eine Beziehung oder Korrelation besteht.
-
Bei einer Ausführungsform kann die bei 340 bestimmte Beziehung auf der Uhrzeit basieren. Falls ähnlich wie bei dem obigen Beispiel eine Ausführungsform bestimmt, dass es 18 Uhr 30 ist, kann eine Ausführungsform z.B. basierend auf einer Standardregel und/oder über einen Verlauf der Benutzereingaben bestimmen, dass es für einen Benutzer typisch ist, an jedem Wochentag um 18 Uhr 30 nach Hause zu kommen und einen oder mehrere Befehle zu erteilen. Somit kann von einer Reihe von Befehlen, wie etwa das Licht anzuschalten, die Temperatur einzustellen und den Fernseher anzuschalten, bestimmt werden, dass sie auf Grund der Uhrzeit (z.B. einer Uhrzeit, zu der ein Benutzer nach Hause kommt und anschließend diverse Faktoren einstellt, die mit dem häuslichen Komfort zusammenhängen) eine starke Beziehung aufweist. Somit kann eine Ausführungsform auf ein oder mehrere dieser Spracheingaben hin handeln, wenn sie ohne spezifischen Aktivierungsauslöser, z.B. ein Weckwort oder einen Weckausdruck, erkannt werden.
-
Die bei 340 bestimmte Beziehung kann auf einer oder mehreren derzeit aktiven Anwendungen basieren. Falls ein Benutzer beispielsweise eine Ausführungsform bittet, eine spezifische Mediendatei abzuspielen (z.B. Musik, Video usw.), kann sie eine nachfolgende Anfrage bezüglich der Medienabspielanwendung vorwegnehmen, wie etwa: lauter/leiser, Pause, Titel/Kapitel überspringen usw. Als weiteres Beispiel kann eine Ausführungsform Musik basierend auf einem Sprachbefehl (z.B. „Cortana, spiel Tom Petty”) abspielen und es dann dem Benutzer erlauben, einen zusätzlichen diesbezüglichen Befehl (z.B. „lauter”, „überspringen”, „das gefällt mir”, „Pause”, „Stopp” usw.) ohne Weckwort (d.h. Aktivierungsstichwort) zu erteilen. Somit würde ein beliebiger Befehl bezüglich der Wiedergabe von Musik oder Medien kein Weckwort benötigen. Eine weitere Ausführungsform kann während eines vordefinierten Zeitraums auf musikbezogene Befehle horchen, wie hierin besprochen.
-
Zusätzlich oder alternativ kann die Beziehung auf einer oder mehreren kürzlich aktiven Anwendungen basieren. Falls ein Benutzer beispielsweise einen Befehl erteilt, damit die Nachrichten vorgelesen werden, kurz nachdem er seine E-Mail nachgesehen hat, kann es eine Ausführungsform einem Benutzer erlauben, einen nachfolgenden Befehl bezüglich eines E-Mail-Kontos einzugeben (z.B. Verfassen, Antworten, Löschen usw.), obwohl der vorhergehende Befehl eine Anfrage für Nachrichten war.
-
Es kann eine persönliche Spracherkennung verwendet werden. Basierend auf der Erkennung einer Person kann eine Ausführungsform beispielsweise nur Befehle von der Person annehmen, die den anfänglichen Befehl bei 310 erteilt hat. Dadurch kann eine Ausführungsform die verfügbare Zeit zum Eingeben von Befehlen verlängern und dabei auch sicherstellen, dass die Befehle von einem einzigen Benutzer erteilt werden. Daher kann eine Ausführungsform durch Filtern nach Stimme eine Person identifizieren, die einen ersten Befehl erteilt hat, und nachfolgende Befehle von diesem Benutzer z.B. während eines vorbestimmten Zeitraums annehmen. Die bei 340 bestimmte Beziehung basiert somit auf einem Spracherkennungsalgorithmus, der ausgeführt wird, bevor die sekundäre Aktion bei 360 erfolgt.
-
Eine Ausführungsform kann bei 340 auch eine Beziehung basierend auf externen Faktoren bestimmen. Beispielsweise kann eine Ausführungsform einen Befehl nur annehmen, falls ein Benutzer das Gerät bewusst ansieht. Falls ein Benutzer somit das Gerät ansieht, wenn dieses bei 310 das erste Audiomaterial empfängt, kann eine Beziehung mit dem zweiten Befehl hergestellt werden, falls der Benutzer das Gerät (z.B. ein mobiles Gerät, einen Computer, einen intelligenten Assistenten usw.) weiterhin ansieht oder noch einmal ansieht. Falls ein Benutzer alternativ vor der Eingabe des zweiten Befehls (d.h. dem Empfangen der zusätzlichen Audioeingabe bei 330) wegsieht, kann es sein, dass eine Ausführungsform bei 350 keine Maßnahmen trifft.
-
Zusätzlich zu den hier besprochenen universellen und spezifischen Korrelationen kann eine Ausführungsform Beziehungen zwischen Befehlen basierend auf früheren Benutzerdaten identifizieren. Beispielsweise kann eine Ausführungsform eventuelle frühere Befehle, die von einem Benutzer eingegeben wurden, speichern oder Zugang zu diesen haben. Falls somit ein Benutzer regelmäßig eine Reihe von unkorrelierten Befehlen erteilt, kann eine Ausführungsform im Verlauf der Zeit daraus lernen und basierend auf den gespeicherten früheren Daten zwischen den Befehlen eine Beziehung erstellen. Falls ein Benutzer beispielsweise die Lautstärke des Fernsehers einstellt (z.B. leiser stellt), kurz nachdem er den Lichtpegel in einem Raum eingestellt hat (z.B. das Licht gedämpft hat), kann eine Ausführungsform eine Beziehung zwischen den beiden Befehlen herstellen, obwohl sie generell nicht verwandt sind oder zuvor, z.B. standardmäßig, nicht verwandt waren.
-
Eine Liste von zuvor erteilten Befehlen kann gepflegt und verwendet werden, um Anfragen zu identifizieren, bei denen ein Benutzer früher nachfolgende Befehle erteilt hat. Somit kann eine Ausführungsform auf Befehle horchen, auf die typischerweise andere Befehle folgen (z.B. durch die allgemeine Bevölkerung oder einen bestimmten Benutzer). Beispielsweise kann ein Benutzer typischerweise die Wiedergabelautstärke eines Gerätes kurz oder sofort nach dem Anfragen von abzuspielenden Medien (z.B. Musik, Video usw.), beispielsweise basierend auf dem Medientyp (z.B. Hardrock, klassische Musik usw.), einer aktuellen Lautstärkeneinstellung der Geräteanwendung usw., einstellen. Somit kann eine Ausführungsform den anstehenden Lautstärkenregelbefehl (z.B. lauter oder leiser) basierend auf dem Medientyp usw. vorwegnehmen und den Zeitraum für die Eingabe von Anweisungen verlängern. Zusätzlich oder alternativ kann eine Ausführungsform bestimmen (z.B. im Verlauf der Zeit basierend auf einer früheren Benutzereingabe lernen), dass eine standardmäßige Beziehung unnötig ist. Falls ein Benutzer beispielsweise seine Musiklautstärke nie einstellt, dann kann das Gerät damit aufhören, auf einen nachfolgenden Befehl nach dem Abspielen der Musik zu horchen. Eine Ausführungsform kann auch zulassen, dass unähnliche Befehle innerhalb eines gewissen Zeitraums empfangen werden. Unähnliche Befehle könnten es einem Benutzer erlauben, eine Kette von unzusammenhängenden Befehlen zu erteilen. Diese unzusammenhängenden Befehle können erlernt, aktiviert oder gefiltert werden.
-
Wie durch die Ausführungsbeispiele und Figuren erläutert, stellt eine Ausführungsform entsprechend ein Verfahren zum Empfangen einer Audioeingabe an einem Audioaufnahmegerät bereit. Diese anfängliche Audioeingabe enthält typischerweise ein Aktivierungsstichwort und mindestens einen Befehl. Eine Ausführungsform führt dann basierend auf dem empfangenen Befehl eine Aktion aus. An einem bestimmten späteren Punkt wird eine zusätzliche Audioeingabe von einer Ausführungsform empfangen, und die Ausführungsform bestimmt, ob ein neues Aktivierungsstichwort notwendig ist. Um diese Bestimmung vorzunehmen, versucht eine Ausführungsform zu identifizieren, ob zwischen der anfänglichen Audioeingabe und der sekundären Eingabe eine Beziehung besteht. Beispiele von möglichen Beziehungen werden hierin ausführlich besprochen. Dann führt basierend auf dieser Bestimmung eine Ausführungsform entweder eine Aktion basierend auf dem sekundären Befehl aus oder trifft keine Maßnahmen, falls keine Beziehung existiert.
-
Die hier beschriebenen diversen Ausführungsformen stellen somit eine technische Verbesserung für die Interaktion mit elektronischen Geräten dar, indem sie die Art und Weise ändern, in der Audioeingaben verarbeitet werden. Diese Verbesserung ermöglicht es dem Gerät, im Verlauf der Zeit basierend auf vorhergehenden Benutzeraktionen zu lernen. Somit speichert eine Ausführungsform ein Datenarchiv von zuvor eingegebenen Benutzerbefehlen und stellt basierend auf den früheren Daten Korrelationen zwischen spezifischen Befehlen her. Dieses Herstellen von Korrelationen ermöglicht es einem Benutzer, sich natürlicher auszudrücken und Aufgaben effizient und komfortabel auszuführen.
-
Wie es der Fachmann verstehen wird, können diverse Aspekte als System, Verfahren oder Geräteprogrammprodukt ausgebildet sein. Entsprechend können Aspekte die Form einer Ausführungsform ganz aus Hardware oder einer Ausführungsform mit Software, die hierin alle allgemein als „Schaltung”, „Modul” oder „System” bezeichnet werden, annehmen. Ferner können Aspekte die Form eines Geräteprogrammprodukts annehmen, das als ein oder mehrere gerätelesbare Medien ausgebildet ist, in denen gerätelesbarer Programmcode verkörpert ist.
-
Es sei zu beachten, dass die hier beschriebenen diversen Funktionen unter Verwendung von Anweisungen umgesetzt werden können, die auf einem gerätelesbaren Speichermedium, wie etwa einem Nicht-Signalspeichergerät, gespeichert sind und von einem Prozessor ausgeführt werden. Ein Speichergerät kann beispielsweise ein elektronisches, magnetisches, elektromagnetisches oder Halbleiter-System, -Vorrichtung oder -Gerät oder eine geeignete Kombination derselben sein. Genauere Beispiele eines Speichermediums würden Folgendes umfassen: eine tragbare Computerdiskette, eine Festplatte, einen Arbeitsspeicher (RAM), einen Festspeicher (ROM), einen löschbaren programmierbaren Festwertspeicher (EPROM oder Flash-Speicher), eine Lichtleitfaser, eine tragbaren Compact Disk Festwertspeicher (CD-ROM), ein magnetisches Speichergerät oder eine beliebige geeignete Kombination derselben. In Zusammenhang mit der vorliegenden Druckschrift ist ein Speichergerät kein Signal, und umfasst der Begriff „nicht vorübergehend” alle Medien außer Signalmedien.
-
Programmcode, der auf einem Speichermedium verkörpert ist, kann unter Verwendung eines beliebigen geeigneten Mediums, einschließlich ohne Einschränkung drahtlos, drahtgebunden, über Glasfaserkabel, HF usw. oder einer beliebigen geeigneten Kombination derselben, übertragen werden.
-
Programmcode zum Ausführen von Operationen kann in einer beliebigen Kombination von einer oder mehreren Programmiersprachen verfasst sein. Der Programmcode kann vollständig auf einem einzigen Gerät, teilweise auf einem einzigen Gerät, als selbstständiges Software-Paket, teilweise auf einem einzigen Gerät und teilweise auf einem anderen Gerät oder vollständig auf dem anderen Gerät ausgeführt werden. In manchen Fällen können die Geräte über eine beliebige Art von Verbindung oder Netzwerk verbunden werden, wozu ein lokales Netzwerk (LAN) oder ein Weitverkehrsnetz (WAN) gehören, oder kann die Verbindung über andere Geräte (beispielsweise über das Internet unter Verwendung eines Internet Service Providers), über drahtlose Verbindungen, z.B. Nahfeldkommunikation, oder über eine verkabelte Verbindung, wie etwa über eine USB-Verbindung, hergestellt werden.
-
Es werden hierin Ausführungsbeispiele mit Bezug auf die Figuren beschrieben, die beispielhafte Verfahren, Geräte und Programmprodukte gemäß diversen Ausführungsbeispielen abbilden. Es versteht sich, dass die Aktionen und die Funktionalität mindestens teilweise durch Programmanweisungen umgesetzt werden können. Diese Programmanweisungen können einem Prozessor eines Gerätes, eines speziellen Informationshandhabungsgerätes, oder eines anderen programmierbaren Datenverarbeitungsgerätes bereitgestellt werden, um eine Maschine zu ergeben, so dass die Anweisungen, die über einen Prozessor des Gerätes ausgeführt werden, die vorgegebenen Funktionen/Aktionen umsetzen.
-
Es sei zu beachten, dass obwohl spezifische Blöcke in den Figuren verwendet werden und eine bestimmte Reihenfolge von Blöcken abgebildet wurde, diese keine einschränkenden Beispiele sind. In bestimmten Zusammenhängen können zwei oder mehrere Blöcke kombiniert werden, kann ein Block in zwei oder mehrere Blöcke unterteilt werden, oder können bestimmte Blöcke je nach Bedarf umgeordnet oder umgestellt werden, da die ausdrücklich abgebildeten Beispiele nur zur Beschreibung verwendet werden und nicht als einschränkend auszulegen sind.
-
Wie sie hierin verwendet wird, kann die Einzahlform „ein, eine, ein” als die Mehrzahlform „ein oder mehrere” umfassend ausgelegt werden, soweit nicht eindeutig anderweitig angegeben.
-
Die vorliegende Offenbarung wurde zum Zweck der Erläuterung und Beschreibung vorgelegt, ist aber nicht dazu gedacht, erschöpfend oder einschränkend zu sein. Zahlreiche Modifikationen und Variationen werden für den Fachmann ersichtlich sein. Die Ausführungsbeispiele wurden gewählt und beschrieben, um die Grundlagen und die praktische Anwendung zu erklären, und um es anderen Fachleuten zu ermöglichen, die Offenbarung für diverse Ausführungsformen zu verstehen, wie sie für die bestimmte beabsichtigte Verwendung geeignet sind.
-
Obwohl somit hierin erläuternde Ausführungsbeispiele mit Bezug auf die beiliegenden Figuren beschrieben wurden, versteht es sich, dass diese Beschreibung nicht einschränkend ist und dass diverse andere Änderungen und Modifikationen hieran vom Fachmann vorgenommen werden können, ohne den Umfang oder Geist der Offenbarung zu verlassen.