-
HINTERGRUND
-
Informationshandhabungsgeräte („Geräte“), zum Beispiel Smartphones, Tabletgeräte, Smartlautsprecher, Laptop und Personal Computer und dergleichen, können in der Lage sein, Nutzereingaben zu empfangen (z.B. Nutzeranfragen, Nutzerkommandos, usw.) und, in Reaktion auf die Eingaben, Ausgaben bereitzustellen. Der Empfang der Eingabe und das Bereitstellen der Ausgabe können durch einen Personal Digital Assistant, der in dem Gerät verfügbar ist, gehandhabt werden. Es treten Situationen auf, in denen ein Nutzer innerhalb einer kurzen Zeitspanne mehrere Nutzereingaben an den Digital Assistant bereitstellt, wobei jede der Nutzereingaben mit einem anderen Kontext oder einer anderen Nutzerabsicht verbunden ist.
-
KURZE ZUSAMMENFASSUNG
-
Zusammenfassend stellt ein Aspekt ein Verfahren bereit, umfassend: ein Empfangen eines Hinweises, eine interaktive Session zu beginnen, die mit einem ersten Kontext verknüpft ist, auf einem Informationshandhabungsgerät; während der interaktiven Session, ein Empfangen eines Hinweises, wenigstens eine andere interaktive Session zu beginnen, wobei die wenigstens eine andere interaktive Session mit einem anderen Kontext verknüpft ist; und Ausführen wenigstens einer Ausgabefunktion, die mit wenigstens einer anderen interaktiven Session assoziiert ist, ohne die interaktive Session zu beenden.
-
Ein anderer Aspekt stellt ein Informationshandhabungsgerät bereit, umfassend: wenigstens einen Prozessor; ein Speichergerät, das Instruktionen speichert, die durch den wenigstens einen Prozessor ausführbar sind, zum: Empfangen eines Hinweises, eine interaktive Session, die mit einem ersten Kontext verknüpft ist, zu beginnen; während der interaktiven Session, Empfangen eines Hinweises, wenigstens eine andere interaktive Session zu beginnen, wobei die wenigstens eine andere interaktive Session mit einem anderen Kontext verknüpft ist; und Ausführen wenigstens einer Ausgabefunktion, die mit der wenigstens einen anderen interaktiven Session assoziiert ist, ohne die interaktive Session zu beenden.
-
Ein weiterer Aspekt stellt ein Produkt bereit, umfassend: ein Speichergerät, das einen Code speichert, wobei der Code durch einen Prozessor ausführbar ist und umfasst: einen Code, der einen Hinweis empfängt, um eine interaktive Session, die mit einem ersten Kontext verknüpft ist, zu beginnen; einen Code, der, während der interaktiven Session, einen Hinweis empfängt, um wenigstens eine andere interaktive Session zu beginnen, wobei die wenigstens eine andere interaktive Session mit einem anderen Kontext verknüpft ist; und einen Code, der, ohne die interaktive Session zu beenden, wenigstens eine Ausgabefunktion ausführt, die mit der wenigstens einen anderen interaktiven Session assoziiert ist.
-
Das Vorhergehende ist eine Zusammenfassung und kann somit Vereinfachungen, Verallgemeinerungen und Auslassungen von Details enthalten; konsequenterweise werden diejenigen, die mit der Technik vertraut sind, erkennen, dass die Zusammenfassung nur darstellend ist und diese nicht darauf abzielt, in irgendeiner Weise begrenzend zu sein.
-
Für ein besseres Verständnis der Ausführungsformen, zusammen mit anderen und weiteren Merkmalen und Vorteilen davon, wird auf die nachfolgende Beschreibung im Verbund mit den begleitenden Zeichnungen Bezug genommen. Der Rahmen der Erfindung wird in den anhängenden Ansprüchen aufgezeigt.
-
Figurenliste
-
- 1 zeigt ein Beispiel einer InformationshandhabungsGeräteschaltung.
- 2 zeigt ein anderes Beispiel einer Informationshandhabungs-Geräteschaltung.
- 3 zeigt ein Beispiel eines Verfahrens des Ausführens wenigstens einer Ausgabefunktion, die mit einer von wenigstens zwei aktiven interaktiven Sessionen assoziiert ist.
-
Detaillierte Beschreibung
-
Es ist ohne weiteres verständlich, dass die Komponenten der Ausführungsformen, wie sie hierin allgemein beschrieben und in den Figuren gezeigt werden, zusätzlich zu den beschriebenen beispielhaften Ausführungsformen in einer weiten Vielzahl von unterschiedlichen Konfigurationen angeordnet und konstruiert sein können. Somit ist die nachfolgende detaillierte Beschreibung von beispielhaften Ausführungsformen, wie sie in den Figuren dargestellt werden, nicht geeignet, den Rahmen der Ausführungsformen wie beansprucht zu begrenzen, sondern nur um beispielhafte Ausführungsformen darzustellen.
-
Eine Bezugnahme in dieser gesamten Spezifikation auf eine „einzelne Ausführungsform“ oder auf „eine Ausführungsform“ (oder ähnliches) bedeutet, dass ein bestimmtes Merkmal, eine Struktur oder ein Kennzeichen, das in Verbindung mit der Ausführungsform beschrieben wird, wenigstens in einer Ausführungsform enthalten ist. Somit bezieht sich das Auftreten der Phrasen „in einer einzelnen Ausführungsform“ oder „in einer Ausführungsform“ oder dergleichen an unterschiedlichen Stellen in dieser Spezifikation nicht notwendigerweise auf die gleiche Ausführungsform.
-
Weiterhin können die beschriebenen Merkmale, Strukturen oder Kennzeichen in irgendeiner geeigneten Weise in einer oder mehreren Ausführungsformen kombiniert werden. In der nachfolgenden Beschreibung wird eine Vielzahl spezieller Details bereitgestellt, um ein gründliches Verständnis der Ausführungsformen zu geben. Ein Fachmann des relevanten Standes der Technik wird jedoch erkennen, dass die unterschiedlichen Ausführungsformen ohne einen oder mehrere der spezifischen Details, oder mit oder ohne Verfahren, Komponenten, Materialien, usw., ausgeführt werden können. In anderen Beispielen werden bekannte Strukturen, Materialien oder Verfahren nicht im Detail gezeigt oder beschrieben, um Verschleierungen zu vermeiden.
-
Nutzer benutzen häufig Geräte, um eine Vielzahl von unterschiedlichen Kommandos und Anfragen auszuführen. Ein Verfahren zum Interagieren mit einem Gerät ist es, Digital Assistant-Software zu nutzen, die auf dem Gerät verkörpert ist (z.B. Siri® für Apple®, Cortana® für Windows®, Alexa® für Amazon®, usw.). Digital Assistants sind in der Lage Ausgaben bereitzustellen (z.B. hörbare Ausgaben, visuelle Ausgaben, usw.), die auf eine Vielzahl von unterschiedlichen Arten von Nutzereingaben reagieren (z.B. Spracheingaben, usw.).
-
Für gewöhnlich können Digital Assistants zwei Arten von Nutzerkonversationen unterstützen: Single-Turn Konversation und Multi-Turn Konversation. Eine Single-Tuirn Konversation kann exakt eine einzelne Frage eines Nutzers verarbeiten. Zum Beispiel kann der Nutzer das hörbare Eingabekommando bereitstellen: „Dimme die Lichter.“ In Reaktion auf dieses Kommando kann ein Digital Assistant eine entsprechende Funktion ausführen (z.B. kann der Digital Assistant die Lichter in dem Raum dimmen, eine hörbare Bestätigungsausgabe, wie „Okay“ bereitstellen, eine Kombination von beidem, usw.). Eine Multi-Turn Konversation fordert eine zusätzliche Eingabe von dem Nutzer an, um eine vollständig formulierte Anfrage zu konstruieren. Zum Beispiel kann ein Nutzer einem Digital Assiatnt befehlen, eine Pizza zu bestellen. Entsprechend dem Empfangen dieses Kommandos, kann der Digital Assistant dem Nutzer eine Reihe von aufeinander folgende Fragen stellen, die eine zusätzliche Nutzereingabe erfordern (z.B.: „Wo möchtest du die Pizza bestellen?“ „Welche Pizzagröße möchtest du bestellen?“ „Welche Art von Belägen möchtest du auf deiner Pizza haben?“, usw.).
-
Wenn eine Multi-Turn Konversation mit einem Digital Assistant gestartet wurde, ist es nicht möglich, die Konversation zu unterbrechen (z.B. eine Eingabe, die mit einem anderen Kontext oder einer anderen Absicht, usw., verknüpft ist, bereitzustellen) und dann zu einer vorhergehenden Konversation zurückzukehren oder mit einer anderen Konversation fortzusetzen. Zum Beispiel kann ein Nutzer zuerst das hörbare Eingabekommando, „bestell eine Pizza“, bereitstellen, auf welches der Digital Assistant mit der hörbaren Ausgabe reagiert: „Okay, welche Beläge möchtest du auf deiner Pizza haben?“ Der Nutzer kann dann das Kommando, „dimme die Lichter“ bereitstellen, auf welches der Digital Assistant mit der hörbaren Ausgabe reagiert: „Ich kenne diesen Belag nicht.“ Existierende Digital Assistants sind nicht in der Lage, den Kontextwechsel zu handhaben, der erforderlich wäre, um das Kommando, „dimme die Lichter“ auszuführen, während eine Pizzabestellung durchgeführt wird.
-
Dementsprechend stellt eine Ausführungsform ein Verfahren bereit zum Ausführen wenigstens einer Ausgabefunktion, die mit einer von wenigstens zwei aktiven interaktiven Sessionen assoziiert ist, wobei jede der wenigstens zwei aktiven interaktiven Sessionen mit einem anderem Kontext oder einer anderen Absicht verknüpft ist. In einer Ausführungsform kann ein Hinweis darauf, mit einer interaktiven Session, die mit einem ersten Kontext oder einer ersten Absicht verknüpft ist, zu beginnen, auf einem Gerät empfangen werden. Die interaktive Session kann den Empfang wenigstens einer Nutzereingabe (z.B. eine Nutzerfrage, ein Nutzerkommando, ein Nutzerstatement, usw.) und die Bereitstellung von wenigstens einer Ausgabefunktion umfassen (z.B. eine diesbezügliche Ausgabe, Durchführung oder eine entsprechende Funktion, usw.). Eine Ausführungsform kann dann einen Hinweis empfangen, um wenigstens eine andere interaktive Session zu beginnen, die mit einem anderen Kontext assoziiert ist. Eine Ausführungsform kann dann wenigstens eine Ausgabefunktion, die mit der wenigstens einen anderen interaktiven Session assoziiert ist, ausführen, ohne Beenden der originalen, oder vorherigen, interaktiven Session(en). Ein derartiges Verfahren kann es dem Digital Assiatnt ermöglichen, mehrfache Kommandos, die mit unterschiedlichen Kontexten verknüpft sind, effizienter auszuführen.
-
Die dargestellten beispielhaften Ausführungsformen werden am besten durch Bezugnahme auf die Figuren verstanden. Die nachfolgende Beschreibung ist nur als ein Beispiel beabsichtigt und illustriert einfach bestimmte beispielhafte Ausführungsformen.
-
Während verschiedene andere Schaltkreise, Schaltungen oder Komponenten in Informationshandhabungsgeräten mit Bezug auf eine Smartphone- und/oder Tablet-Schaltung 100 verwendet werden können, umfasst ein in 1 gezeigtes Beispiel, ein System-on-Chip Design, das zum Beispiel in vielen Tablets oder anderen mobilen Computer-Plattformen zu finden ist. Software und Prozessor(en) sind in einem einzigen Chip 110 kombiniert. Prozessoren umfassen interne arithmetische Einheiten, Register, Cache-Speicher, Busse, EIN/AUS-Ports, usw., wie sie in der Technik gut bekannt sind. Interne Busse und dergleichen hängen von unterschiedlichen Händlern ab, aber im Wesentlichen können all diese peripheren Geräte (120) an einem einzigen Chip 110 angebracht sein. Die Schaltung 100 kombiniert den Prozessor, die Speichersteuerung und einen EIN/AUS-Steuerknoten zusammen in einem einzigen Chip 110. Auch verwenden Systeme 100 dieses Typs typischerweise nicht SATA oder PCI oder LPC. Gemeinsame Schnittstellen schließen zum Beispiel SDIO und I2C ein.
-
Es gibt Strommanagementchips 130, z.B. eine Batteriemanagementeinheit, BMU, welche den Strom zum Beispiel über eine wiederaufladbare Batterie 140 liefert, die durch eine Verbindung mit einer Stromquelle (nicht gezeigt) wiederaufgeladen wird. In wenigstens einem Design wird ein einziger Chip 110 verwendet, um eine BIOS-ähnliche Funktionalität und einen DRAM-Speicher bereitzustellen.
-
Das System 100 umfasst typischerweise ein oder mehrere eines WWAN-Transceivers 150 und eines WLAN-Transceivers 160 zum Verbinden mit verschiedenen Netzwerken, wie Telekommunikationsnetzwerken und drahtlosen Internetgeräten, z.B. Zugriffspunkten. Zusätzlich sind für gewöhnlich Geräte 120 eingeschlossen, z.B. ein Bildsensor wie eine Kamera, ein Audioaufnahmegerät wie ein Mikrophon, ein Thermosensor, usw. Das System 100 umfasst häufig einen Berührungsbildschirm 170 für die Dateneingabe und für eine Anzeige/Wiedergabe. Das System 100 umfasst typischerweise auch verschiedene Speichergeräte, z.B. Flash-Speicher 180 und SDRAM 190.
-
2 zeigt ein Blockdiagramm eines anderen Beispiels von Informationshandhabungsgeräte-Schaltkreisen, Schaltungen oder Komponenten. Das Beispiel, das in 2 gezeigt wird, kann Computersystemen, wie denen der THINKPAD-Serien der Personal Computer, die von Lenovo (US) Inc. aus Morrisville, NC, verkauft werden, oder anderen Geräten entsprechen. Wie es durch die Beschreibung hierin ersichtlich ist, können Ausführungsformen andere Merkmale oder nur einige Merkmale des Beispiels, das in 2 dargestellt wird, einschließen.
-
Das Beispiel der 2 umfasst einen sogenannten Chipsatz 210 (eine Gruppe integrierter Schaltungen oder Chips, die zusammenarbeiten, Chipsätze) mit einer Architektur, die abhängig von dem Hersteller variieren kann (zum Beispiel INTEL, AMD, ARM, usw.). INTEL ist eine registrierte Handelsmarke der Intel Corporation in den Vereinigten Staaten und anderen Ländern. AMD ist eine registrierte Handelsmarke der Advanced Micro Devices Inc. in den Vereinigten Staaten und anderen Ländern. ARM ist eine nicht registrierte Handelsmarke der ARM Holding plc in den Vereinigten Staaten und anderen Ländern. Die Architektur des Chipsatzes 210 umfasst eine Kern- und Speichersteuergruppe 220 und einen EIN/AUS-Steuerknoten 250, der Informationen (zum Beispiel Daten, Signale, Anweisungen, usw.) über Direct Management Interface (DMI) 242 oder ein Verbindungssteuergerät 244 austauscht. In 2 ist die DMI 242 eine Chip-zu-Chip-Schnittstelle (auf die manchmal auch als eine Verbindung zwischen einer „northbridge“ und einer „southbridge“ Bezug genommen wird). Die Kern- und Speichersteuergruppe 220 umfasst einen oder mehrere Prozessoren 222 (zum Beispiel Einzel- oder Mehrkern) und einen Speichersteuerknoten 226, die Informationen über einen Front-Side-Bus (FSB) 224 austauschen; es ist anzumerken, dass die Komponenten der Gruppe 220 auf einem Chip integriert sein können, der die konventionelle „northbridge“-artige Struktur ersetzt. Ein oder mehrere Prozessoren 222 umfassen interne arithmetische Einheiten, Register, Cache-Speicher, Busse, EIN/AUS-Ports, usw., wie sie in der Technik gut bekannt sind.
-
In 2 bildet der Speichersteuerknoten 226 Schnittstellen mit dem Speicher 240 (zum Beispiel um eine Unterstützung für eine Art RAM-Speicher bereitzustellen, auf den als einen „Systemspeicher“ oder „Speicher“ Bezug genommen werden kann). Der Speichersteuerknoten 226 schließt weiterhin eine differentielle Niederspannungs-Signalisierungs-(LVDS) Schnittstelle 232 für ein Anzeigegerät 292 ein (zum Beispiel einen CRT, einen Flachbildschirm, einen Touchscreen, usw.). Ein Block 238 umfasst einige Technologien, die über die LVDS-Schnittstelle 232 unterstützt werden können (zum Beispiel serielles digitales Video, HDMI/DVI, Anzeigeanschluss). Der Speichersteuerknoten 226 schließt auch eine PCI-Express-Schnittstelle (PCI-E) 234 ein, die diskrete Grafiken 236 unterstützen kann.
-
In 2 umfasst der EIN/AUS-Steuerknoten 250 eine SATA-Schnittstelle 251 (zum Beispiel für HDDs, SDDs, usw. 280), eine PCI-E-Schnittstelle 252 (zum Beispiel für drahtlose Verbindungen 282), eine USB-Schnittstelle 253 (zum Beispiel für Geräte 284 wie einen Digitalisierer, eine Tastatur, eine Maus, Kameras, Telefone, Mikrofone, einen Speicher, andere verbundene Geräte, usw.), eine Netzwerkschnittstelle 254 (zum Beispiel LAN), eine GPIO-Schnittstelle 255, eine LPC-Schnittstelle 270 (für ASICs 271, eine TPM 272, einen Super-Ein/Aus-Steuerknoten 273, einen Firmenware-Hub 274, eine BIOS-Unterstützung 275 sowie unterschiedliche Arten von Speichern 276 wie ROM 277, Flash 278 und NVRAM 279), eine Strommanagementschnittstelle 261, eine Taktgeneratorschnittstelle 262, eine Audioschnittstelle 263 (zum Beispiel für Lautsprecher 294), eine TCO-Schnittstelle 264, eine Systemmanagementbus-Schnittstelle 265 und einen SPI-Flash 266, der eine BIOS 268 und einen Boot Code 290 beinhalten kann. Der EIN/AUS-Steuerknoten 250 kann eine Gigabit-Ethernet-Unterstützung aufweisen.
-
Sobald das System eingeschaltet ist, kann es konfiguriert sein, um einen Boot Code 290 für die BIOS-Schnittstelle 268 auszuführen, wie in dem SPI-Flash 266 gespeichert, und verarbeitet danach Daten unter der Steuerung von einem oder mehreren Betriebssystemen und Applikationssoftware (die zum Beispiel in dem Systemspeicher 240 gespeichert ist). Ein Betriebssystem kann an irgendeiner von unterschiedlichen Stellen gespeichert sein und zum Beispiel gemäß den Instruktionen der BIOS 268 zugänglich sein. Wie hierin beschrieben, kann ein Gerät weniger oder mehr Merkmale, als die in dem System der 2 gezeigt werden, enthalten.
-
Eine Informationshandhabungsgeräteschaltung, wie sie beispielsweise in den 1 und 2 gezeigt wird, kann in Geräten wie Tablets, Smartphones, Smartlautsprecher Personalcomputergeräten allgemein und/oder elektronischen Geräten verwendet werden, welche Digital Assistants einschließen mit denen ein Nutzer interagieren kann, und die in Reaktion auf eine Nutzereingabe verschiedene Funktionen ausführen können. Zum Beispiel kann die Schaltung, die in 1 dargestellt wird, in einer Tablet- oder Smartphone-Ausführungsform implementiert sein, wobei die Schaltung, die in 2 dargestellt wird, in einer Personalcomputer-Ausführungsform implementiert sein kann.
-
Nun mit Bezug auf 3 kann eine Ausführungsform eine interaktive Session, die mit der empfangenen Nutzereingabe assoziiert ist, identifizieren und nachfolgend eine entsprechende Funktion, die mit dem Kontext der identifizierten interaktiven Session verknüpft ist, ausführen. Bei 301 kann eine Ausführungsform einen Hinweis empfangen, um eine interaktive Session, die mit einem ersten Kontext verknüpft ist, zu beginnen. Eine interaktive Session kann als eine Session mit einem Digital Assistant oder einer anderen interaktiven Anwendung definiert werden, in welcher ein Nutzer eine Eingabe bereitstellt, der Digital Assistant die Eingabe ausführt oder analysiert, und der Digital Assistant dann, in Reaktion auf die Eingabe, eine Ausgabe bereitstellt. Eine interaktive Session kann ein einziges Austauschen von Eingabe und Ausgabe, hierin als Single-Turn interaktive-Session bezeichnet, oder ein mehrfaches Austauschen von Eingabe und Ausgabe, hierin als Multi-Turn interaktive-Session bezeichnet, einschließen.
-
In einer Ausführungsform kann der Hinweis darauf, mit einer interaktiven Session zu beginnen, mit einer vom Nutzer bereitgestellten Eingabe verknüpft sein. In einer Ausführungsform kann der vom Nutzer bereitgestellte Hinweis eine Aufweckaktion sein, die durch einen Nutzer bereitgestellt wird (z.B. ein oder mehrere Aufweckworte, ein Drücken einer Taste für eine vorbestimmte Zeitdauer, eine Auswahl eines Icons eines Digital Assistants, usw.). In einer Ausführungsform kann die Aufweckaktion vor oder in Zusammenhang mit einer Nutzereingabe bereitgestellt werden. Zum Beispiel kann ein Nutzer die Spracheingabe „Ok Surlexana, bestelle eine Pizza“ bereitstellen. In diesem Szenario ist „Ok Surlexana“ das Aufweckwort und kann nach einer Identifikation des Aufweckwortes eine Ausführungsform das System darauf vorbereiten, auf zusätzliche Nutzereingabe zu horchen. In Reaktion auf die Identifikation der Aufweckaktion, kann eine Ausführungsform eine interaktive Session initiieren. In einer anderen Ausführungsform kann der Hinweis nicht mit einer Aufweckaktion verknüpft sein. Das System kann zum Beispiel einfach nur auf den Nutzer „hören“ und bestimmen, wann der Nutzer die Eingabe bereitstellt, die an das System gerichtet ist. Die interaktive Session kann dann initiiert werden, wenn das System bestimmt, dass die Nutzereingabe an das System gerichtet ist.
-
In einer Ausführungsform kann die interaktive Session den Empfang von wenigstens einer Nutzereingabe und das Ausführen von wenigstens einer Ausgabefunktion, in Reaktion auf die wenigstens eine Nutzereingabe, umfassen. In einer Ausführungsform kann die interaktive Session mit einer Single-Turn Konversation (nämlich das Bereitstellen einer einzigen Ausgabe in Reaktion auf die einzelne Nutzereingabe) oder einer Multi-Turn Konversation (nämlich das Bereitstellen von mehreren Ausgaben in Reaktion auf das Empfangen mehrerer Eingaben) verknüpft sein. In einer Ausführungsform kann die interaktive Session mit einem besonderen Kontext oder einer Nutzerabsicht verknüpft sein. Der Kontext der interaktiven Session kann durch die Nutzereingabe bestimmt werden. Zum Beispiel kann, in Reaktion auf das Empfangen eines Nutzerkommandos, die Lichter zu dimmen, der Kontext, der mit der interaktiven Session verknüpft ist, ein lichtdimmender Kontext sein. In einer Ausführungsform kann die interaktive Session mit einem einzigen Kontext verknüpft sein.
-
Während der interaktiven Session kann eine Ausführungsform eine Nutzereingabe empfangen (z.B. Spracheingabe, Berührungseingabe, usw.), die eine Nutzerfrage oder ein Nutzerkommando an das Gerät (z.B. ein Smartphone, ein Smartlautsprecher, ein Tablet, ein Laptopcomputer, usw.) einschließt oder mit dieser beziehungsweise diesem verknüpft ist. In einer Ausführungsform kann das Gerät eine Digital Assistant-Software verwenden, die in der Lage ist, eine Nutzereingabe zu empfangen und zu verarbeiten und nachfolgend entsprechend der oder in Reaktion auf die Nutzereingabe eine Ausgabe bereitzustellen (z.B. hörbare Ausgabe, Textausgabe, visuelle Ausgabe, usw.). In einer Ausführungsform kann die Nutzereingabe irgendeine Eingabe sein, die den Digital Assistant auffordert, eine Reaktion bereitzustellen. Der Nutzer kann dem Digital Assistant zum Beispiel eine allgemeine Frage über ein Thema stellen, der Nutzer kann den Digital Assistant fragen, Instruktionen an eine Baugruppe eines Objekts bereitzustellen, der Nutzer kann die Ansicht des Digital Assistant zu einem Thema erfragen, der Nutzer kann eine Feststellung machen, die eine Reaktion ermöglicht, und dergleichen.
-
Die Eingabe kann auf einem Eingabegerät (z.B. physisches Keyboard, ein Bildschirm-Keyboard, ein Audioaufnahmegerät, ein Bildaufnahmegerät, ein Videoaufnahmegerät, usw.) empfangen werden und kann durch irgendein bekanntes Verfahren des Bereitstellens einer Eingabe an ein elektronisches Gerät bereitgestellt werden (z.B. Berührungseingabe, Texteingabe, Spracheingabe, usw.). Zum Zweck der Vereinfachung, wird die Mehrheit der Diskussion hierin eine Spracheingabe betreffen, die auf einem Eingabegerät empfangen wird (z.B. einem Mikrofon, einem Sprachaufnahmegerät, usw.), das operativ mit einem Spracherkennungsgerät gekoppelt ist. Es ist jedoch verständlich, dass allgemein irgendeine Form einer Nutzereingabe verwendet werden kann.
-
In einer Ausführungsform kann das Eingabegerät ein Eingabegerät sein, das in das Spracherkennungsgerät integriert ist. Zum Beispiel kann ein Smartphone mit einem Mikrofon ausgestattet sein, das in der Lage ist, Spracheingaben zu empfangen. Alternativ kann das Eingabegerät auf einem anderen Gerät angeordnet sein und kann empfangene Spracheingabedaten an das Spracherkennungsgerät übertragen. Zum Beispiel kann die Spracheingabe auf einem Smartlautsprecher empfangen werden, der die Sprachdaten anschließend an ein anderes Gerät sendet (z.B. zu einem Smartphone eines Nutzers zur Verarbeitung, usw.). Spracheingabedaten können von einer anderen Quelle zu dem Spracherkennungsgerät über eine drahtlose Verbindung (z.B. unter Verwenden einer BLUETOOTH-Verbindung, einer Nahfeldkommunikation (NFC), drahtlosen Verbindungstechniken, usw.), eine verdrahtete Verbindung (das Gerät ist z.B. mit einem anderen Gerät oder einer Quelle gekoppelt, usw.), durch ein verbundenes Datenspeichersystem (z.B. über einen Cloudspeicher, einen entfernten Speicher, einen lokalen Speicher, einen Netzwerkspeicher, usw.) und dergleichen kommuniziert werden.
-
In einer Ausführungsform kann das Eingabegerät konfiguriert sein, um durch Aufrechterhalten des Eingabegerätes in einem aktiven Zustand kontinuierlich Spracheingabedaten zu empfangen. Das Eingabegerät kann zum Beispiel kontinuierlich Spracheingabedaten empfangen, selbst wenn andere Sensoren (z.B. Kameras, Lichtsensoren, Lautsprecher, andere Mikrofone, usw.), die mit dem Spracherkennungsgerät verknüpft sind, inaktiv sind. Alternativ kann das Eingabegerät für eine vorbestimmte Zeitgröße in einem aktiven Zustand verbleiben (z.B. 30 Minuten, 1 Stunde, 2 Stunden, usw.). In Folge eines Nicht-Empfangens von irgendwelchen Spracheingabedaten während dieses vorbestimmten Zeitfensters, kann eine Ausführungsform das Eingabegerät in einen Power-Off-Zustand überführen. Das vorbestimmte Zeitfenster kann durch einen Hersteller vorkonfiguriert sein oder kann alternativ von einem oder mehreren Nutzern konfiguriert und eingerichtet werden.
-
In einer Ausführungsform kann das Spracherkennungsgerät oder ein anderes Gerät, das mit dem Spracherkennungsgerät verknüpft ist, wenigstens eine Ausgabefunktion in Reaktion auf eine Nutzereingabe ausführen. In einer Ausführungsform kann die Ausgabefunktion das Bereitstellen der Ausgabe, die Ausführung einer Aufgabe, eine Kombination davon oder dergleichen sein. In Bezug auf das Bereitstellen einer Ausgabe kann die Ausgabe eine Audioausgabe, eine visuelle Ausgabe, eine Kombination davon oder dergleichen sein. In einer Ausführungsform kann die hörbare Ausgabe durch einen Lautsprecher, ein anderes Ausgabegerät und dergleichen bereitgestellt werden. In einer Ausführungsform kann die visuelle Ausgabe durch einen Anzeigebildschirm, ein anderes Anzeigegerät und dergleichen bereitgestellt sein. In einer Ausführungsform kann das Ausgabegerät in dem Spracherkennungsgerät integriert sein oder kann dieses auf einem anderen Gerät angeordnet sein. Im letzteren Fall kann das Ausgabegerät über eine drahtlose oder verdrahtete Verbindung mit dem Spracherkennungsgerät verbunden sein. Zum Beispiel kann ein Smartphone Instruktionen bereitstellen, um eine hörbare Ausgabe durch einen operativ gekoppelten Smartlautsprecher bereitzustellen. Bezugnehmend auf die Ausführungsform einer Aufgabe, kann die Aufgabe virtuell irgendeine Aufgabe sein, die in der Lage ist, durch ein oder mehrere Geräte ausgeführt zu werden. Zum Beispiel kann eine Ausführungsform die Lichter in dem Raum dimmen, den Fernsehkanal wechseln, eine finanzielle Transaktion beginnen und dergleichen.
-
Bei 302 kann eine Ausführungsform einen Hinweis empfangen, um wenigstens eine andere interaktive Session zu beginnen. Der Hinweis, wenigstens eine andere interaktive Session zu beginnen, kann auf dem gleichen Weg empfangen werden, wie der Hinweis, die erste interaktive Session zu beginnen, was oben ausgeführt wurde. In dem Fall, dass das Gerät normalerweise ein Aufweckwort oder eine Aktion erfordert, muss der Nutzer diese Aufweckaktion nicht erneut bereitgestellt haben. Wenn der Nutzer zum Beispiel bereits mit dem Digital Assistant interagiert, muss der Nutzer keine Aufweckaktion bereitstellen. Beispielsweise kann das Gerät eine Ausgabe bereitstellen, die von dem Nutzer erfordert, dass dieser eine zusätzliche Eingabe bereitzustellt, so dass das Gerät auf den Nutzer „hören“ kann, wenn der Nutzer den Hinweis darauf, wenigstens eine andere interaktive Session zu beginnen, bereitstellt. Mit anderen Worten kann der Hinweis, wenigstens eine andere interaktive Session zu beginnen, auf der Eingabe, die der Nutzer bereitstellt, und darauf, dass das Gerät bestimmt, dass die Eingabe nicht zu dem Kontext oder der Absicht der vorhergehend bereitgestellten Eingabe oder der bereitgestellten Ausgabe passt, basieren.
-
Die wenigstens eine andere interaktive Session kann auch ähnlich zu der ersten interaktiven Session sein (nämlich wenigstens eine Nutzereingabe und eine entsprechende Ausgabe umfassend), wobei die Beschreibungen davon auch oben ausgeführt wurden. In einer Ausführungsform kann die wenigstens eine andere interaktive Session mehrere interaktive Sessions aufweisen. In einer Ausführungsform kann jede der anderen interaktiven Sessions auch mit einem Kontext assoziiert sein, welcher anders als der Kontext der ersten oder irgendeiner anderen interaktiven Session sein kann. Die erste interaktive Session kann zum Beispiel mit einem Licht dimmenden Kontext assoziiert sein, eine zweite interaktive Session kann mit einem Einkaufslisten-Erzeugungskontext assoziiert sein, eine dritte interaktive Session kann mit einem Richtungsbereitstellungskontext assoziiert sein, usw. In einer Ausführungsform können der Hinweis, wenigstens eine andere interaktive Session zu beginnen, und/oder die Initiierung der wenigstens einen anderen interaktiven Session empfangen werden und während des Bereitstellens der anfänglichen interaktiven Session fortgesetzt werden.
-
In Reaktion auf ein Empfangendes Hinweises, die wenigstens eine andere interaktive Session zu beginnen bei 302, kann eine Ausführungsform bei 304 wenigstens eine Ausgabefunktion ausführen, die mit der entsprechenden interaktiven Session assoziiert ist. In einer Ausführungsform kann die wenigstens eine Ausgabefunktion auch während des Bereitstellens der anfänglichen oder irgendeiner der anderen interaktiven Session ausgeführt werden. In Reaktion auf ein Nicht-Empfangen eines Hinweises, wenigstens eine andere interaktive Session zu beginnen bei 302, kann eine Ausführungsform bei 303 keine weitere Aktion ausführen.
-
In einer Ausführungsform kann, in einer Situation, wo mehrere interaktive Sessions gleichzeitig aktiv sind, eine Ausführungsform eine Nutzereingabe empfangen. Eine Ausführungsform kann dann die interaktive Session identifizieren, mit welcher die Nutzereingabe assoziiert ist. In einer Ausführungsform kann die Identifikation, mit welcher interaktiven Session die Nutzereingabe assoziiert ist, unter Verwenden eines statistischen Wichtungsalgorithmus ausgeführt sein. Zum Beispiel kann eine Ausführungsform bestimmen, dass die Nutzereingabe „füge Pepperoni hinzu“ mit einem Pizzabestellungskontext assoziiert ist. Eine Ausführungsform kann dann bestimmen, ob der Pizzabestellungskontext der Nutzereingabe mit einem Kontext einer gegenwärtig aktiven interaktiven Session assoziiert ist. Zum Beispiel kann, unter Verwenden des statistischen Wichtungsalgorithmus, eine Ausführungsform darauf schließen, dass die Nutzereingabe „füge Pepperoni hinzu“ wahrscheinlicher mit einer interaktiven Session assoziiert ist, die mit einem Pizzabestellungskontext assoziiert ist, als eine interaktive Session, die mit einem Song-Identifikationskontext assoziiert ist. In Reaktion auf ein Identifizieren einer interaktiven Session, die mit der Nutzereingabe assoziiert ist, kann eine Ausführungsform dann die entsprechende interaktive Session fortsetzen. In einer Ausführungsform kann, in Reaktion auf ein Nicht-Identifizieren irgendeiner gegenwärtigen interaktiven Session, die mit der Nutzereingabe assoziiert ist, eine Ausführungsform eine neue interaktive Session initiieren, welche die Nutzereingabe umfasst. In einer anderen Ausführungsform kann, in Reaktion auf das Nicht-Identifizieren einer assoziierten interaktiven Session, eine Ausführungsform einen Nutzer dazu auffordern, zu identifizieren, mit welcher Session die Eingabe verknüpft werden sollte, einer gegenwärtigen aktiven interaktiven Session oder einer neuen interaktiven Session.
-
Ein beispielhaftes Szenario, das die gleichzeitige Bereitstellung von mehreren interaktiven Sessions darstellt, wird hierin bereitgestellt. Diese gleichzeitige Bereitstellung von mehreren interaktiven Sessions kann auch als eine mehrgängige interaktive Session bezeichnet werden. Ein Nutzer kann zuerst das hörbare Eingabekommando „bestelle eine Pizza“ bereitstellen, auf welches der Digital Assistant mit der hörbaren Ausgabe reagiert: „Okay, welche Beläge möchtest du auf deiner Pizza haben?“ Diese erste Interaktion ist repräsentativ für die Initiation der ersten interaktiven Session, die mit einem Pizzabestellungskontext assoziiert ist. In Reaktion auf die Ausgabefrage des Digital Assistants, kann ein Nutzer die hörbare Eingabe „Peperoni“ bereitstellen. Der Digital Assistant kann dann eine entsprechende Ausgabefrage bereitstellen, wie: „Okay, möchtest du noch irgendwelche anderen Beläge haben?“ Ein Nutzer kann dann das hörbare Kommando „dimme die Lichter“ bereitstellen. Eine Ausführungsform kann identifizieren, dass dieses Nutzerkommando nicht mit der ersten interaktiven Session assoziiert ist, sondern eher repräsentativ für eine Absicht des Nutzers ist, eine zweite interaktive Session zu initiieren, die mit einem Licht-dimmenden-Kontext assoziiert ist. Eine Ausführungsform kann dann eine Funktion, die dem Nutzerkommando des Nutzers entspricht, ausführen (z.B. kann eine Ausführungsform die Lichter in dem Raum dimmen, usw.).
-
Ein Nutzer kann dann eine hörbare Frage bereitstellen: „In welchem Jahr wurde dieser Song veröffentlicht?“ Wobei sich „dieser Song“ auf einen gegenwärtig abgespielten Song bezieht. Eine Ausführungsform kann identifizieren, dass diese Anfrage weder mit der ersten noch mit der zweiten interaktiven Session assoziiert ist, sondern vielmehr für eine Absicht des Nutzers repräsentativ ist, eine dritte Interaktion zu initiieren, die mit einem Songidentifikationskontext assoziiert ist. Eine Ausführungsform kann dann die letzte Anfrage bearbeiten und die Ausgabe „1995“ bereitstellen. Ein Nutzer kann dann die hörbare Eingabe „Extrakäse“ bereitstellen. Eine Ausführungsform kann identifizieren, dass diese kürzliche Eingabe höchstwahrscheinlich eher mit der ersten interaktiven Session assoziiert ist als mit der zweiten oder dritten interaktiven Session und kann die Ausgabe bereitstellen: „Peperoni und Extrakäse, möchtest du noch etwas?“. Ein Nutzer kann dann die hörbare Eingabe bereitstellen: „Fahr fort und platziere den Auftrag.“ Wie durch die Abfolge der obigen Fragen zu erkennen ist, wurden drei unterschiedliche Konversationen, die mit unterschiedlichen Kontexten (nämlich Pizzabestellung, Songidentifikation und Lichteinstellungen) assoziiert sind, in einer Konversationssession zusammengemischt.
-
Die verschiedenen Ausführungsformen, die hierin beschrieben werden, repräsentieren eine technische Verbesserung für konventionelle Interaktionstechniken mit Digital Assistants. Unter Verwenden der Techniken, die hierin beschrieben werden, kann eine Ausführungsform eine interaktive Session identifizieren (z.B. entweder eine gegenwärtige aktive interaktive Session oder eine neue interaktive Session), die mit der empfangenen Nutzereingabe assoziiert ist. Eine Ausführungsform kann dann nachfolgend eine entsprechende Funktion, die mit dem Kontext der identifizierten interaktiven Session assoziiert ist, ausführen. Derartige Techniken ermöglichen es einem Gerät Eingaben zu verarbeiten, die mit mehrfachen interaktiven Sessions verbunden sind, ohne Unterbrechen oder Beenden irgendeiner anderen interaktiven Session.
-
Wie es für einen Fachmann der Technik ersichtlich ist, können unterschiedliche Aspekte in einem System, einem Verfahren oder einem Geräteprogrammprodukt verkörpert sein. Demgemäß können Aspekte die Form einer vollständigen Hardwareausführungsform oder einer Ausführungsform, die Software einschließt, einnehmen, auf die hierin alle allgemein als „Schaltkreis“, „Modul“ oder „System“ Bezug genommen wird. Weiterhin können Aspekte die Form eines Geräteprogrammprodukts annehmen, das in einem oder mehreren gerätelesbaren Medien verkörpert ist, die darin verkörperte gerätelesbare Programmcodes aufweisen.
-
Es ist anzumerken, dass verschiedene Funktionen, die hierin beschrieben werden, unter Verwenden von Instruktionen ausgeführt werden können, die auf einem gerätelesbaren Speichermedium wie einem Nichtsignal Speichergerät gespeichert sind, welche durch einen Prozessor ausgeführt werden. Ein Speichergerät kann zum Beispiel ein System, eine Vorrichtung oder ein Gerät (z.B. elektronisches, magnetisches, optisches oder elektromagnetisches, infrarotes oder Halbleiter-System, -Vorrichtung, oder -Gerät) oder irgendeine geeignete Kombination der Vorhergehenden sein. Speziellere Beispiele für ein Speichergerät umfassen die Folgenden: eine tragbare Computerdiskette, eine Festplatte, einen Direktzugriffsspeicher (RAM), einen Nur-Lese-Speicher (ROM), einen löschbaren programmierbaren Nur-Lese-Speicher (EPROM, oder Flash-Speicher), eine optische Faser, einen tragbaren Compact Disk Nur-Lese-Speicher (CD-ROM), ein optisches Speichergerät, ein magnetisches Speichergerät oder irgendeine geeignete Kombination der vorhergehenden. In dem Kontext dieses Dokuments ist ein Speichergerät kein Signal und umfasst „nicht-transitorisch“ alle Medien außer Signalmedien.
-
Ein Programmcode, der auf deinem Speichermedium vorhanden ist, kann unter Verwenden eines geeigneten Mediums übertragen werden, welches einschließt aber nicht begrenzt ist auf drahtlos, drahtgebunden, optische Faserkabel, HF, usw., oder irgendeine geeignete Kombination der Vorhergehenden.
-
Ein Programmcode kann Operationen ausführen, die in irgendeiner Kombination einer oder mehreren Programmsprachen geschrieben sind. Der Programmcode kann vollständig auf einem einzigen Gerät, teilweise auf einem einzigen Gerät, als alleinstehendes Softwarepaket, teilweise auf einem einzigen Gerät und teilweise auf einem anderen Gerät, oder vollständig auf einem anderen Gerät ausgeführt werden. In einigen Fällen können die Geräte durch irgendeine Verbindung oder ein Netzwerk verbunden sein, einschließlich eines lokalen Netzwerkes (LAN) oder eines Weitverkehrsnetzes (WAN) oder kann die Verbindung durch andere Geräte (zum Beispiel durch das Internet unter Verwenden eines Internet Service Providers), durch drahtlose Verbindung, z.B. Nahfeldkommunikation oder durch eine feste Drahtverbindung, wie über eine USB-Verbindung, erfolgen.
-
Hierin werden beispielhafte Ausführungsformen mit Bezug auf die Figuren beschrieben, welche beispielhafte Verfahren, Geräte und Programmprodukte gemäß unterschiedlicher beispielhafter Ausführungsformen darstellen. Es ist verständlich, dass die Aktionen und die Funktionalität wenigstens zum Teil durch Programminstruktionen implementiert sein können. Diese Programminstruktionen können durch einen Prozessor eines Gerätes, eines Informationsverarbeitungsgerätes für spezielle Zwecke, oder anderer programmierbarer Datenverarbeitungsgeräte bereitgestellt werden, um eine Maschine zu erzeugen, so dass die Instruktionen, welche über einen Prozessor des Gerätes ausgeführt werden, die spezifizierten Funktionen/Aktionen implementieren.
-
Es ist sinnvoll anzumerken, dass, während bestimmte Blöcke in den Figuren verwendet werden und eine bestimmte Anordnung der Blöcke dargestellt wird, dieses keine begrenzenden Beispiele sind. In bestimmten Kontexten können zwei oder mehr Blöcke kombiniert werden, kann ein Block in zwei oder mehr Blöcke aufgeteilt werden oder können bestimmte Blöcke neu geordnet oder neu geeignet organisiert werden, da die ausdrücklich dargestellten Beispiele nur für beschreibende Zwecke verwendet werden und nicht als begrenzend auszulegen sind.
-
Wie hierin verwendet, kann die Einzahl „ein“ und „eine“ ausgelegt werden, als wenn diese eine Mehrzahl wie „eines oder mehrere“ einschließt, außer es ist klar in anderer Weise dargestellt.
-
Diese Offenbarung wurde zu Zwecken der Darstellung und Beschreibung dargestellt, aber es ist nicht beabsichtigt, dass diese erschöpfend oder begrenzend sein soll. Viele Modifikationen und Variationen werden für den Fachmann in der Technik naheliegend sein. Die beispielhaften Ausführungsformen sind ausgewählt, um die Prinzipien und die praktischen Applikationen zu beschreiben, und um andere mit fachmännischem Wissen des Standes der Technik in die Lage zu versetzen, die Offenbarung der unterschiedlichen Ausführungsformen mit unterschiedlichen Modifikationen zu verstehen, wie sie für den besonderen betrachteten Gebrauch geeignet sind.
-
Somit ist es verständlich, dass diese Beschreibung, obgleich dargestellte beispielhafte Ausführungsformen hierin mit Bezug auf die begleitenden Zeichnungen beschrieben wurden, nicht-begrenzend ist und dass unterschiedliche andere Änderungen und Modifikationen hieran durch einen Fachmann der Technik angewendet werden können, ohne vom Schutzumfang und dem Geist der Offenbarung abzuweichen.