-
QUERVERWEIS ZU VERWANDTEN ANMELDUNGEN
-
Diese Anmeldung beansprucht die Priorität der vorläufigen US-Patentanmeldung Nr. 62/235 511 mit dem Titel „SPEAKER RECOGNITION“, eingereicht am 30. September 2015, und der US-Patentanmeldung Nr. 15/163 392 mit dem Titel „SPEAKER RECOGNITION“, eingereicht am 24. Mai 2016. Die Inhalte dieser Anmeldungen werden hiermit durch Bezugnahme für alle Zwecke eingeschlossen.
-
GEBIET
-
Die vorliegende Offenbarung betrifft allgemein einen virtuellen Assistenten und genauer ein Erkennen eines Sprechers, um einen virtuellen Assistenten aufzurufen.
-
HINTERGRUND
-
Intelligente automatisierte Assistenten (oder digitale Assistenten/virtuelle Assistenten) stellen eine nützliche Schnittstelle zwischen menschlichen Benutzern und elektronischen Vorrichtungen bereit. Solche Assistenten ermöglichen es Benutzern, mit Vorrichtungen oder Systemen unter Verwendung von natürlicher Sprache in gesprochenen und/oder Textformen zu interagieren. Zum Beispiel kann ein Benutzer auf die Dienste einer elektronischen Vorrichtung zugreifen, indem er eine gesprochene Benutzeranforderung für einen mit der elektronischen Vorrichtung in Verbindung stehenden digitalen Assistenten bereitstellt. Der digitale Assistent kann die Absicht des Benutzers aus der gesprochenen Benutzeranforderung interpretieren und die Absicht des Benutzers in Aufgaben umsetzen.
-
Die Aufgaben können dann durch Ausführen von einem oder mehreren Diensten der elektronischen Vorrichtung durchgeführt werden, und eine relevante Ausgabe kann dem Benutzer in Form von natürlicher Sprache zurückgegeben werden.
-
Insoweit als ein digitaler Assistent in der Vergangenheit mit einem Sprachbefehl aufgerufen wurde, reagiert der digitale Assistent auf die Sprache selbst und nicht auf den Sprecher.
-
Folglich ist ein anderer Benutzer als der Eigentümer der elektronischen Vorrichtung dazu in der Lage, den digitalen Assistenten zu nutzen, was möglicherweise nicht unter allen Umständen wünschenswert ist. Außerdem kann aufgrund der weiten Verbreitung von elektronischen Vorrichtungen und digitalen Assistenten unter manchen Umständen ein Benutzer eine gesprochene Benutzeranforderung für den mit seiner elektronischen Vorrichtung in Verbindung stehenden digitalen Assistenten bereitstellen und verschiedene elektronische Vorrichtungen in dem Raum (wie bei einer Besprechung) antworten.
-
KURZE ZUSAMMENFASSUNG
-
Manche Techniken zum Erkennen eines Sprechers zum Aufrufen eines virtuellen Assistenten unter Verwendung von elektronischen Vorrichtungen sind jedoch allgemein umständlich und ineffizient, wie weiter oben dargelegt. Zum Beispiel können vorhandene Techniken aufgrund eines Mangels an Spezifität zwischen elektronischen Vorrichtungen mehr Zeit als erforderlich erfordern, wodurch Benutzerzeit und Vorrichtungsenergie verschwendet werden. Dieser letztere Gesichtspunkt ist vor allem bei batterie- oder akkubetriebenen Vorrichtungen wichtig. Als ein anderes Beispiel können vorhandene Techniken unsicher sein, weil der digitale Assistent gesprochene Eingaben von jedem Benutzer annimmt, anstatt nur auf die gesprochene Eingabe des Vorrichtungseigentümers zu reagieren.
-
Entsprechend stellt die vorliegende Technik elektronische Vorrichtungen mit schnelleren, effizienteren Verfahren und Schnittstellen zum Erkennen eines Sprechers zum Aufrufen eines virtuellen Assistenten bereit. Solche Verfahren und Schnittstellen ergänzen oder ersetzen optional andere Verfahren zum Erkennen eines Sprechers zum Aufrufen eines virtuellen Assistenten. Solche Verfahren und Schnittstellen verringern die kognitive Last eines Benutzers und erzeugen eine effizientere Mensch-Maschine-Schnittstelle. Bei akkubetriebenen Rechenvorrichtungen sparen solche Verfahren und Schnittstellen Strom und verlängern die Zeitspanne zwischen den Aufladevorgängen für die Akkus und reduzieren die Anzahl von unnötigen und fremd empfangenen Eingaben.
-
In manchen Ausführungsformen speichert ein nicht-flüchtiges, computerlesbares Speichermedium ein oder mehrere Programme, wobei das eine oder die mehreren Programme Anweisungen einschließen, die bei Ausführen durch eine elektronische Vorrichtung die elektronische Vorrichtung dazu veranlassen, eine Spracheingabe in natürlicher Sprache von einem von einer Mehrzahl von Benutzern zu empfangen, wobei die Spracheingabe in natürlicher Sprache eine Reihe von akustischen Eigenschaften hat; und zu bestimmen, ob die Spracheingabe in natürlicher Sprache sowohl einem vom Benutzer anpassbaren lexikalischen Auslöser als auch einer Reihe von mit dem Benutzer in Verbindung stehenden akustischen Eigenschaften entspricht; wobei gemäß einer Bestimmung, dass die Spracheingabe in natürlicher Sprache sowohl einem vom Benutzer anpassbaren lexikalischen Auslöser als auch einer Reihe von mit dem Benutzer in Verbindung stehenden akustischen Eigenschaften entspricht, einen virtuellen Assistenten aufzurufen; und gemäß einer Bestimmung, dass entweder die Spracheingabe in natürlicher Sprache einem vom Benutzer anpassbaren lexikalischen Auslöser nicht entspricht oder die Spracheingabe in natürlicher Sprache eine Reihe von mit dem Benutzer in Verbindung stehende akustische Eigenschaften nicht hat, auf einen Aufruf eines virtuellen Assistenten zu verzichten.
-
In manchen Ausführungsformen speichert ein flüchtiges, computerlesbares Speichermedium ein oder mehrere Programme, wobei das eine oder die mehreren Programme Anweisungen einschließen, die bei Ausführen durch eine elektronische Vorrichtung die elektronische Vorrichtung dazu veranlassen, eine Spracheingabe in natürlicher Sprache von einem von einer Mehrzahl von Benutzern zu empfangen, wobei die Spracheingabe in natürlicher Sprache eine Reihe von akustischen Eigenschaften hat; und zu bestimmen, ob die Spracheingabe in natürlicher Sprache sowohl einem vom Benutzer anpassbaren lexikalischen Auslöser als auch einer Reihe von mit dem Benutzer in Verbindung stehenden akustischen Eigenschaften entspricht; wobei gemäß einer Bestimmung, dass die Spracheingabe in natürlicher Sprache sowohl einem vom Benutzer anpassbaren lexikalischen Auslöser als auch einer Reihe von mit dem Benutzer in Verbindung stehenden akustischen Eigenschaften entspricht, einen virtuellen Assistenten aufzurufen; und gemäß einer Bestimmung, dass entweder die Spracheingabe in natürlicher Sprache einem vom Benutzer anpassbaren lexikalischen Auslöser nicht entspricht oder die Spracheingabe in natürlicher Sprache eine Reihe von mit dem Benutzer in Verbindung stehende akustische Eigenschaften nicht hat, auf einen Aufruf eines virtuellen Assistenten zu verzichten.
-
In manchen Ausführungsformen schließt eine elektronische Vorrichtung einen Speicher, ein Mikrofon und einen an den Speicher und das Mikrofon gekoppelten Prozessor ein, wobei der Prozessor konfiguriert ist, eine Spracheingabe in natürlicher Sprache von einem von einer Mehrzahl von Benutzern zu empfangen, wobei die Spracheingabe in natürlicher Sprache eine Reihe von akustischen Eigenschaften hat; und zu bestimmen, ob die Spracheingabe in natürlicher Sprache sowohl einem vom Benutzer anpassbaren lexikalischen Auslöser als auch einer Reihe von mit dem Benutzer in Verbindung stehenden akustischen Eigenschaften entspricht; wobei gemäß einer Bestimmung, dass die Spracheingabe in natürlicher Sprache sowohl einem vom Benutzer anpassbaren lexikalischen Auslöser als auch einer Reihe von mit dem Benutzer in Verbindung stehenden akustischen Eigenschaften entspricht, einen virtuellen Assistenten aufzurufen; und gemäß einer Bestimmung, dass entweder die Spracheingabe in natürlicher Sprache einem vom Benutzer anpassbaren lexikalischen Auslöser nicht entspricht oder die Spracheingabe in natürlicher Sprache eine Reihe von mit dem Benutzer in Verbindung stehende akustische Eigenschaften nicht hat, auf einen Aufruf eines virtuellen Assistenten zu verzichten.
-
In manchen Ausführungsformen schließt ein Verfahren eines Verwendens eines virtuellen Assistenten an einer elektronischen Vorrichtung, die konfiguriert ist, Daten zu übertragen und zu empfangen, ein, eine Spracheingabe in natürlicher Sprache von einem von einer Mehrzahl von Benutzern zu empfangen, wobei die Spracheingabe in natürlicher Sprache eine Reihe von akustischen Eigenschaften hat; und zu bestimmen, ob die Spracheingabe in natürlicher Sprache sowohl einem vom Benutzer anpassbaren lexikalischen Auslöser als auch einer Reihe von mit dem Benutzer in Verbindung stehenden akustischen Eigenschaften entspricht; wobei gemäß einer Bestimmung, dass die Spracheingabe in natürlicher Sprache sowohl einem vom Benutzer anpassbaren lexikalischen Auslöser als auch einer Reihe von mit dem Benutzer in Verbindung stehenden akustischen Eigenschaften entspricht, einen virtuellen Assistenten aufzurufen; und gemäß einer Bestimmung, dass entweder die Spracheingabe in natürlicher Sprache einem vom Benutzer anpassbaren lexikalischen Auslöser nicht entspricht oder die Spracheingabe in natürlicher Sprache eine Reihe von mit dem Benutzer in Verbindung stehende akustische Eigenschaften nicht hat, auf einen Aufruf eines virtuellen Assistenten zu verzichten.
-
In manchen Ausführungsformen schließt ein System, das eine elektronische Vorrichtung nutzt, ein Mittel zum Empfangen einer Spracheingabe in natürlicher Sprache von einem von einer Mehrzahl von Benutzern, wobei die Spracheingabe in natürlicher Sprache eine Reihe von akustischen Eigenschaften hat; und ein Mittel zum Bestimmen, ob die Spracheingabe in natürlicher Sprache sowohl einem vom Benutzer anpassbaren lexikalischen Auslöser als auch einer Reihe von mit dem Benutzer in Verbindung stehenden akustischen Eigenschaften entspricht; wobei gemäß einer Bestimmung, dass die Spracheingabe in natürlicher Sprache sowohl einem vom Benutzer anpassbaren lexikalischen Auslöser als auch einer Reihe von mit dem Benutzer in Verbindung stehenden akustischen Eigenschaften entspricht, ein Mittel zum Aufrufen eines virtuellen Assistenten; und gemäß einer Bestimmung, dass entweder die Spracheingabe in natürlicher Sprache einem vom Benutzer anpassbaren lexikalischen Auslöser nicht entspricht oder die Spracheingabe in natürlicher Sprache eine Reihe von mit dem Benutzer in Verbindung stehende akustische Eigenschaften nicht hat, ein Mittel zum Verzichten auf einen Aufruf eines virtuellen Assistenten, ein.
-
In manchen Ausführungsformen schließt eine elektronische Vorrichtung eine Verarbeitungseinheit ein, die eine Empfangseinheit, eine Bestimmungseinheit und eine Aufrufeinheit einschließt, wobei die Verarbeitungseinheit konfiguriert ist, unter Verwendung der Empfangseinheit, eine Spracheingabe in natürlicher Sprache von einem von einer Mehrzahl von Benutzern zu empfangen, wobei die Spracheingabe in natürlicher Sprache eine Reihe von akustischen Eigenschaften hat; und, unter Verwendung der Bestimmungseinheit, zu bestimmen, ob die Spracheingabe in natürlicher Sprache sowohl einem vom Benutzer anpassbaren lexikalischen Auslöser als auch einer Reihe von mit dem Benutzer in Verbindung stehenden akustischen Eigenschaften entspricht; wobei gemäß einer Bestimmung, dass die Spracheingabe in natürlicher Sprache sowohl einem vom Benutzer anpassbaren lexikalischen Auslöser als auch einer Reihe von mit dem Benutzer in Verbindung stehenden akustischen Eigenschaften entspricht, unter Verwendung der Aufrufeinheit, einen virtuellen Assistenten aufzurufen; und gemäß einer Bestimmung, dass entweder die Spracheingabe in natürlicher Sprache einem vom Benutzer anpassbaren lexikalischen Auslöser nicht entspricht oder die Spracheingabe in natürlicher Sprache eine Reihe von mit dem Benutzer in Verbindung stehende akustische Eigenschaften nicht hat, unter Verwendung der Aufrufeinheit, auf einen Aufruf eines virtuellen Assistenten zu verzichten.
-
Ausführbare Anweisungen zum Durchführen dieser Funktionen sind optional in einem nicht-flüchtigen, computerlesbaren Datenspeichermedium oder anderem Computerprogrammprodukt eingeschlossen, das für die Ausführung durch einen oder mehrere Prozessoren konfiguriert ist. Ausführbare Anweisungen zum Durchführen dieser Funktionen sind optional in einem flüchtigen, computerlesbaren Datenspeichermedium oder anderem Computerprogrammprodukt eingeschlossen, das für die Ausführung durch einen oder mehrere Prozessoren konfiguriert ist.
-
Somit werden Vorrichtungen mit schnelleren, effizienteren Verfahren und Schnittstellen zum Erkennen eines Sprechers zum Aufrufen eines virtuellen Assistenten bereitgestellt, wodurch die Effektivität, Effizienz und Benutzerzufriedenheit mit solchen Vorrichtungen erhöht werden. Solche Verfahren und Schnittstellen können andere Verfahren zum Erkennen eines Sprechers zum Aufrufen eines virtuellen Assistenten ergänzen oder ersetzen.
-
BESCHREIBUNG DER FIGUREN
-
Für ein besseres Verständnis der verschiedenen, beschriebenen Ausführungsformen sollte auf die nachfolgende Beschreibung von Ausführungsformen in Verbindung mit den folgenden Zeichnungen Bezug genommen werden, in denen sich gleiche Bezugsziffern durch die Figuren hinweg auf entsprechende Teile beziehen.
-
1 ist ein Blockdiagramm, das ein System und eine Umgebung zum Implementieren eines digitalen Assistenten gemäß verschiedenen Beispielen veranschaulicht.
-
2A ist ein Blockdiagramm, das eine tragbare Multifunktionsvorrichtung veranschaulicht, bei der der clientseitige Abschnitt eines digitalen Assistenten gemäß verschiedenen Beispielen implementiert ist.
-
2B ist ein Blockdiagramm, das beispielhafte Komponenten für eine Ereignisbehandlung gemäß verschiedenen Beispielen veranschaulicht.
-
3 veranschaulicht eine tragbare Multifunktionsvorrichtung, bei der der clientseitige Bereich eines digitalen Assistenten gemäß verschiedenen Beispielen implementiert ist.
-
4 ist ein Blockdiagramm einer beispielhaften Multifunktionsvorrichtung mit einer Anzeige und einer berührungsempfindlichen Oberfläche gemäß verschiedenen Beispielen.
-
5A veranschaulicht eine beispielhafte Benutzerschnittstelle für ein Anwendungsmenü auf einer tragbaren Multifunktionsvorrichtung gemäß verschiedenen Beispielen.
-
5B veranschaulicht eine beispielhafte Benutzerschnittstelle für eine Multifunktionsvorrichtung mit einer berührungsempfindlichen Oberfläche, die von der Anzeige separat ist, gemäß verschiedenen Beispielen.
-
6A veranschaulicht eine persönliche elektronische Vorrichtung gemäß verschiedenen Beispielen.
-
6B ist ein Blockdiagramm, das eine persönliche elektronische Vorrichtung gemäß verschiedenen Beispielen veranschaulicht.
-
7A ist ein Blockdiagramm, das ein digitales Assistenzsystem oder einen Serverabschnitt davon gemäß verschiedenen Beispielen darstellt.
-
7B veranschaulicht die Funktionen des in 7A gezeigten digitalen Assistenten gemäß verschiedenen Beispielen.
-
7C zeigt einen Abschnitt einer Ontologie gemäß verschiedenen Beispielen.
-
8A bis 8G veranschaulichen einen Prozess zum Erkennen eines Sprechers zum Aufrufen eines virtuellen Assistenten gemäß verschiedenen Beispielen.
-
9 veranschaulicht ein Funktionsblockdiagramm einer elektronischen Vorrichtung gemäß verschiedenen Beispielen.
-
BESCHREIBUNG VON AUSFÜHRUNGSFORMEN
-
In der folgenden Beschreibung sind beispielhafte Verfahren, Parameter und dergleichen dargelegt. Es sollte jedoch erkannt werden, dass eine solche Beschreibung nicht als Einschränkung des Umfangs der vorliegenden Offenbarung beabsichtigt ist, sondern stattdessen als eine Beschreibung beispielhafter Ausführungsformen bereitgestellt wird.
-
Es besteht ein Bedarf an elektronischen Vorrichtungen, die effiziente Verfahren und Schnittstellen zum Erkennen eines Sprechers zum Aufrufen eines virtuellen Assistenten bereitstellen. Wie weiter oben beschrieben, ist das Verwenden von bekannten Verfahren zum Erkennen eines Sprechers zum Aufrufen eines virtuellen Assistenten aufgrund ihrer Erkennung von Sprache und nicht einem Sprecher nicht so effektiv wie es sein könnte. Ein verbesserter Aufruf eines virtuellen Assistenten kann die kognitive Last eines Benutzers verringern, wodurch die Produktivität gesteigert wird. Ferner können solche Techniken den Prozessor- und Batterie-/Akkustrom reduzieren, der andernfalls unnötig auf redundante Benutzereingaben verwendet werden würde.
-
Nachstehend stellen 1, 2A bis 2B, 3, 4, 5A bis 5B und 6A bis 6B eine Beschreibung beispielhafter Vorrichtungen zum Durchführen der Techniken zum Ermitteln von Medien basierend auf einer nicht spezifischen, unstrukturierten Anforderung in natürlicher Sprache bereit. 7A bis 7C sind Blockdiagramme, die ein digitales Assistenzsystem oder einen Serverabschnitt davon und einen Abschnitt einer mit dem digitalen Assistenzsystem in Verbindung stehenden Ontologie veranschaulichen. 8A bis 8G sind Flussdiagramme, die Verfahren zum Ausführen von Aufgaben mit einem virtuellen Assistenten gemäß manchen Ausführungsformen veranschaulichen. 9 ist ein Funktionsblockdiagramm einer elektronischen Vorrichtung gemäß verschiedenen Beispielen.
-
Obwohl in der folgenden Beschreibung die Begriffe „erstes“, „zweites“ usw. verwendet werden, um verschiedene Elemente zu beschreiben, sollten diese Elemente durch die Begriffe nicht eingeschränkt sein. Diese Begriffe werden nur verwendet, um ein Element von einem anderen zu unterscheiden. Zum Beispiel könnte eine erste Berührung als eine zweite Berührung bezeichnet werden, und gleichermaßen könnte eine zweite Berührung als eine erste Berührung bezeichnet werden, ohne vom Umfang der verschiedenen, beschriebenen Ausführungsformen abzuweichen. Bei der ersten Berührung und der zweiten Berührung handelt es sich bei beiden um Berührungen, es handelt sich jedoch nicht um dieselbe Berührung.
-
Die in der Beschreibung der verschiedenen, hierin beschriebenen Ausführungsformen verwendete Terminologie dient lediglich dem Zweck eines Beschreibens bestimmter Ausführungsformen und ist nicht als einschränkend beabsichtigt. So wie sie in der Beschreibung der verschiedenen beschriebenen Ausführungsformen und der beigefügten Ansprüche verwendet werden, sollen die Singularformen „ein“, „eine“ und „der“, „die“, „das“ usw. auch die Pluralformen einschließen, es sei denn, der Kontext gibt ausdrücklich Gegenteiliges an. Es versteht sich auch, dass der Begriff „und/oder“, so wie er hier verwendet wird, sich auf jegliche und alle möglichen Kombinationen von einem oder mehreren der damit zusammenhängenden, aufgeführten Elemente bezieht und diese einschließt. Es versteht sich ferner, dass die Begriffe „einschließen“, „einschließend“, „umfasst“ und/oder „umfassend“ usw., wenn sie in dieser Patentschrift verwendet werden, die Gegenwart von aufgeführten Merkmalen, Einheiten, Schritten, Vorgängen, Elementen und/oder Komponenten angeben, aber die Gegenwart oder das Hinzufügen von einem oder mehreren Merkmalen, Einheiten, Schritten, Vorgängen, Elementen, Komponenten und/oder Gruppen davon nicht ausschließen.
-
Der Begriff „wenn“ kann in seiner Bedeutung je nach Kontext als „während“ oder „bei“ oder „als Reaktion auf ein Bestimmen“ oder „als Reaktion auf ein Erfassen“ ausgelegt werden. Auf ähnliche Weise kann die Wendung „wenn festgestellt wird“/„wenn bestimmt wird“ oder „wenn [eine aufgeführte Bedingung oder ein aufgeführtes Ereignis] erfasst wird“ so ausgelegt werden, dass sie je nach Kontext „bei Bestimmen“ oder „als Reaktion auf das Bestimmen“ oder „bei Erfassen [der aufgeführten Bedingung oder des aufgeführten Ereignisses]“ oder „als Reaktion auf das Erfassen [der aufgeführten Bedingung oder des aufgeführten Ereignisses]“ bedeutet.
-
Es werden Ausführungsformen von elektronischen Vorrichtungen, von Benutzerschnittstellen für solche Vorrichtungen und von verknüpften Prozessen zur Verwendung solcher Vorrichtungen beschrieben. In manchen Ausführungsformen handelt es sich bei der Vorrichtung um eine tragbare Kommunikationsvorrichtung, wie beispielsweise ein Mobiltelefon, das auch andere Funktionen beinhaltet, wie beispielsweise die eines PDA und/oder Funktionen zur Wiedergabe von Musik. Beispielhafte Ausführungsformen von tragbaren Multifunktionsvorrichtungen schließen ohne Einschränkung die iPhone®-, iPod Touch®- und iPad®-Vorrichtungen von Apple Inc. in Cupertino, Kalifornien, ein. Weitere tragbare elektronische Vorrichtungen, wie beispielsweise Laptops oder Tablet-Computer mit berührungsempfindlichen Oberflächen (z. B. Touchscreen-Anzeigen und/oder Touchpads), werden optional verwendet. Es sollte ebenso verstanden werden, dass es sich in manchen Ausführungsformen bei der Vorrichtung nicht um eine tragbare Kommunikationsvorrichtung handelt, sondern um einen Desktop-Computer mit einer berührungsempfindlichen Oberfläche (z. B. einer Touchscreen-Anzeige und/oder einem Touchpad).
-
In der folgenden Besprechung wird eine elektronische Vorrichtung beschrieben, die eine Anzeige und eine berührungsempfindliche Oberfläche einschließt. Es sollte jedoch verstanden werden, dass die elektronische Vorrichtung optional eine oder mehrere andere physische Benutzerschnittstellenvorrichtungen einschließt, wie beispielsweise eine physische Tastatur, eine Maus und/oder einen Joystick.
-
Die Vorrichtung kann eine Vielfalt an Anwendungen, wie beispielsweise eine oder mehrere der folgenden unterstützen: eine Zeichnungsanwendung, eine Präsentationsanwendung, eine Textverarbeitungsanwendung, eine Anwendung zur Webseitenerstellung, eine Anwendung zur Erzeugung einer Datenträger-Disk, eine Tabellenkalkulationsanwendung, eine Spieleanwendung, eine Telefonanwendung, eine Videokonferenzanwendung, eine E-Mail-Anwendung, eine Anwendung zur Sofortnachrichtenvermittlung, eine Trainingsunterstützungsanwendung, eine Fotoverwaltungsanwendung, eine Digitalkameraanwendung, eine Anwendung für eine digitale Videokamera, eine Anwendung zum Surfen im Internet, eine Anwendung zum Abspielen digitaler Musik und/oder eine Anwendung zum Abspielen digitaler Videos.
-
Die verschiedenen Anwendungen, die auf der Vorrichtung ausgeführt werden, verwenden optional mindestens eine gemeinsame physische Benutzerschnittstellenvorrichtung, wie beispielsweise die berührungsempfindliche Oberfläche. Eine oder mehrere Funktionen der berührungsempfindlichen Oberfläche sowie auf der Vorrichtung angezeigte, entsprechende Informationen werden optional von einer Anwendung zur anderen und/oder innerhalb einer jeweiligen Anwendung angepasst und/oder variiert. Auf diese Weise unterstützt eine gemeinsame physische Architektur (wie beispielsweise die berührungsempfindliche Oberfläche) der Vorrichtung optional die Vielfalt von Anwendungen mit Benutzerschnittstellen, die für den Benutzer intuitiv und erkennbar sind.
-
1 veranschaulicht ein Blockdiagramm eines Systems 100 gemäß verschiedenen Beispielen. In manchen Beispielen kann das System 100 einen digitalen Assistenten implementieren. Die Begriffe „digitaler Assistent“, „virtueller Assistent“, „intelligenter automatisierter Assistent“ oder „automatischer digitaler Assistent“ können sich auf jegliches Informationsverarbeitungssystem beziehen, das Eingabe in natürlicher Sprache in gesprochener und/oder Textform interpretiert, um eine Benutzerabsicht abzuleiten, und Aktionen auf der Grundlage der abgeleiteten Benutzerabsicht durchführt. Um zum Beispiel auf eine abgeleitete Benutzerabsicht zu reagieren, kann das System eines oder mehrere von Folgendem durchführen: Identifizieren eines Aufgabenflusses mit Schritten und Parametern, die dafür ausgelegt sind, die abgeleitete Benutzerabsicht zu erreichen, Eingeben von spezifischen Anforderungen aus der abgeleiteten Benutzerabsicht in den Aufgabenfluss, Ausführen des Aufgabenflusses durch Aufrufen von Programmen, Verfahren, Diensten, APIs oder dergleichen und Erzeugen von Ausgabeantworten an den Benutzer in einer hörbaren (z. B. Sprache) und/oder visuellen Form.
-
Insbesondere kann ein digitaler Assistent in der Lage sein, eine Benutzeranforderung mindestens teilweise in der Form eines Befehls, einer Anforderung, einer Aussage, einer Erzählung und/oder einer Frage in natürlicher Sprache anzunehmen. Üblicherweise kann die Benutzeranforderung entweder eine informationelle Antwort oder die Durchführung einer Aufgabe von dem bzw. durch den digitalen Assistenten anstreben. Eine zufriedenstellende Antwort auf die Benutzeranforderung kann eine Bereitstellung der angeforderten informationellen Antwort, eine Durchführung der angeforderten Aufgabe oder eine Kombination der beiden sein. Zum Beispiel kann ein Benutzer dem digitalen Assistenten eine Frage stellen wie: „Wo bin ich gerade?“ Basierend auf dem aktuellen Standort des Benutzers kann der digitale Assistent antworten: „Sie sind im Central Park in der Nähe des Westtors“. Der Benutzer kann auch die Durchführung einer Aufgabe anfordern, zum Beispiel: „Bitte lade meine Freunde zu der Geburtstagsparty meiner Freundin nächste Woche ein“. Als Reaktion darauf kann der digitale Assistent die Anforderung bestätigen, indem er sagt „Ja, mache ich sofort.“, und anschließend kann er für den Benutzer eine entsprechende Kalendereinladung an alle Freunde des Benutzers senden, die im elektronischen Adressbuch des Benutzers angegeben sind. Während der Durchführung einer angeforderten Aufgabe kann der digitale Assistent gelegentlich mit dem Benutzer in einem kontinuierlichen Dialog interagieren, der mehrfachen Informationsaustausch über einen verlängerten Zeitraum einschließt. Es gibt zahlreiche andere Wege des Interagierens mit einem digitalen Assistenten, um Informationen oder die Durchführung verschiedener Aufgaben anzufordern. Zusätzlich zum Bereitstellen verbaler Antworten und zum Durchführen programmierter Aktionen kann der digitale Assistent auch Antworten in anderen visuellen oder hörbaren Formen z.B. als Text, Warnungen, Musik, Videos, Animationen usw. bereitstellen.
-
Wie in 1 gezeigt, kann in manchen Beispielen ein digitaler Assistent gemäß einem Client-Server-Modell implementiert werden. Der digitale Assistent kann einen clientseitigen Abschnitt 102 (hierin nachstehend „DA-Client 102“) einschließen, der auf einer Benutzervorrichtung 104 ausgeführt wird, und einen serverseitigen Abschnitt 106 (hierin nachstehend „DA-Server 106“), der auf einem Serversystem 108 ausgeführt wird. Der DA-Client 102 kann mit dem DA-Server 106 durch ein oder mehrere Netzwerke 110 kommunizieren. Der DA-Client 102 kann clientseitige Funktionalitäten bereitstellen, wie beispielsweise zum Benutzer gerichtete Eingabe- und Ausgabeverarbeitung und Kommunikation mit dem DA-Server 106. Der DA-Server 106 kann serverseitige Funktionalitäten für eine beliebige Anzahl von DA-Clients 102 bereitstellen, die sich jeweils auf einer jeweiligen Benutzervorrichtung 104 befinden.
-
In manchen Beispielen kann der DA-Server 106 eine zum Client gerichtete E/A-Schnittstelle 112, ein oder mehrere Verarbeitungsmodule 114, Daten und Modelle 116 und eine E/A-Schnittstelle zu externen Diensten 118 einschließen. Die clientseitige E/A-Schnittstelle 112 kann die clientseitige Eingabe- und Ausgabeverarbeitung für den DA-Server 106 ermöglichen. Ein oder mehrere Verarbeitungsmodule 114 können die Daten und Modelle 116 verwenden, um Spracheingabe zu verarbeiten und die Absicht des Benutzers auf der Grundlage der natürlichen Spracheingabe verwenden. Des Weiteren führen ein oder mehrere Verarbeitungsmodule 114 eine Aufgabenausführung auf Grundlage der abgeleiteten Benutzerabsicht durch. In manchen Beispielen kann der DA-Server 106 mit externen Diensten 120 durch das bzw. die Netzwerk(e) 110 kommunizieren, um Aufgaben zu erfüllen oder Informationen zu beschaffen. Die E/A-Schnittstelle zu externen Diensten 118 kann solch eine Kommunikation ermöglichen.
-
Die Benutzervorrichtung 104 kann jede geeignete elektronische Vorrichtung sein.
-
Benutzervorrichtungen können zum Beispiel eine tragbare Multifunktionsvorrichtung (z.B. eine Vorrichtung 200, nachfolgend unter Bezugnahme auf 2A beschrieben), eine Multifunktionsvorrichtung (z.B. eine Vorrichtung 400, nachfolgend unter Bezugnahme auf 4 beschrieben) oder eine persönliche elektronische Vorrichtung (z.B. eine Vorrichtung 600, nachfolgend unter Bezugnahme auf 6A bis B beschrieben) sein. Eine tragbare Multifunktionsvorrichtung kann zum Beispiel ein Mobiltelefon sein, das auch andere Funktionen wie PDA- und/oder Musikwiedergabevorrichtungsfunktionen umfasst. Spezifische Beispiele für tragbare Multifunktionsvorrichtungen können die iPhone®-, iPod Touch®- und iPad®-Vorrichtungen von Apple Inc., Cupertino, Kalifornien, einschließen. Weitere Beispiele für tragbare Multifunktionsvorrichtungen können ohne Einschränkung Laptops oder Tablet-Computer einschließen. Des Weiteren kann die Benutzervorrichtung 104 in manchen Beispielen eine nicht tragbare Multifunktionsvorrichtung sein. Insbesondere kann die Benutzervorrichtung 104 ein Desktop-Computer, eine Spielekonsole, ein Fernseher oder eine TV-Set-Top-Box sein. In manchen Beispielen kann die Benutzervorrichtung 104 eine berührungsempfindliche Oberfläche einschließen (z.B. Touch-Bildschirmanzeigen und/oder Touchpads). Zudem kann die Benutzervorrichtung 104 optional eine oder mehrere andere physische Benutzerschnittstellenvorrichtungen, wie beispielsweise eine physische Tastatur, eine Maus und/oder einen Joystick, einschließen. Verschiedene Beispiele für elektronische Vorrichtungen wie beispielsweise Multifunktionsvorrichtungen sind nachfolgend detaillierter beschrieben.
-
Beispiele des Kommunikationsnetzwerks oder der Kommunikationsnetzwerke 110 können lokale Netzwerke (local area networks (LAN)) und Weitverkehrsnetzwerke (wide area networks (WAN)), z.B. das Internet, einschließen. Das oder die Kommunikationsnetzwerke 110 können unter Verwendung aller bekannten Netzwerkprotokolle, einschließlich verschiedener drahtgebundener oder drahtloser Protokolle, wie beispielsweise Ethernet, USB (Universal Serial Bus), FIREWIRE, GSM (Global System for Mobile Communications), EDGE (Enhanced Data GSM Environment), CDMA (Code Division Multiple Access), TDMA (Time Division Multiple Access), Bluetooth, Wi-Fi, VoIP (Voice over Internet Protocol), Wi-MAX oder aller anderen geeigneten Kommunikationsprotokolle, implementiert werden.
-
Das Serversystem 108 kann auf einer oder mehreren eigenständigen Datenverarbeitungseinrichtungen oder einem verteilten Netzwerk von Computern implementiert werden. In manchen Beispielen kann das Serversystem 108 auch verschiedene virtuelle Vorrichtungen und/oder Dienste von externen Dienstanbietern (z.B. von externen Anbietern von Cloud-Diensten) einsetzen, um die zugrunde liegenden Rechenressourcen und/oder Infrastrukturressourcen des Serversystems 108 bereitzustellen.
-
In manchen Beispielen kann die Benutzervorrichtung 104 mit dem DA-Server 106 über eine zweite Benutzervorrichtung 122 kommunizieren. Die zweite Benutzervorrichtung 122 kann der Benutzervorrichtung 104 ähnlich oder identisch mit dieser sein. Die zweite Benutzervorrichtung 122 kann zum Beispiel den unten mit Bezugnahme auf 2A, 4 und 6A bis B beschriebenen Vorrichtungen 200, 400 oder 600 ähnlich sein. Die Benutzervorrichtung 104 kann konfiguriert sein, kommunikativ über eine direkte Kommunikationsverbindung wie beispielsweise Bluetooth, NFC, BTLE oder Ähnliches oder über ein drahtgebundenes oder drahtloses Netzwerk wie beispielsweise ein lokales Wi-Fi-Netzwerk mit der zweiten Benutzervorrichtung 122 gekoppelt zu sein. In manchen Beispielen kann die zweite Benutzervorrichtung 122 konfiguriert sein, als ein Proxy zwischen der Benutzervorrichtung 104 und dem DA-Server 106 zu agieren. Der DA-Client 102 der Benutzervorrichtung 104 kann zum Beispiel konfiguriert sein, Informationen (z.B. eine Benutzeranforderung, die an der Benutzervorrichtung 104 empfangen wurde) über eine zweite Benutzervorrichtung 122 zu dem DA-Server 106 zu übertragen. Der DA-Server 106 kann die Informationen verarbeiten und relevante Daten (z.B. Dateninhalt als Reaktion auf die Benutzeranforderung) über die zweite Benutzervorrichtung 122 an die Benutzervorrichtung 104 zurückgeben.
-
In manchen Beispielen kann die Benutzervorrichtung 104 konfiguriert sein, abgekürzte Anforderungen von Daten an die zweite Benutzervorrichtung 122 zu kommunizieren, um die Menge an von der Benutzervorrichtung 104 übertragenen Daten zu reduzieren. Die zweite Benutzervorrichtung 122 kann konfiguriert sein, ergänzende Informationen zu bestimmen, um sie der abgekürzten Anforderung hinzuzufügen und eine vollständige Anforderung zum Übertragen an den DA-Server 106 zu erzeugen. Diese Systemarchitektur kann es der Benutzervorrichtung 104 mit begrenzten Kommunikationsfähigkeiten und/oder eingeschränkter Batterie-/Akkuleistung (z.B. eine Uhr oder eine ähnliche kompakte elektronische Vorrichtung) vorteilhafterweise ermöglichen, auf Dienste zuzugreifen, die vom DA-Server 106 bereitgestellt werden, indem die zweite Benutzervorrichtung 122 mit größeren Kommunikationsfähigkeiten und/oder höherer Batterie-/Akkuleistung (z B. ein Mobiltelefon, ein Laptop-Computer, ein Tablet-Computer oder dergleichen) als ein Proxy für den DA-Server 106 verwendet wird. Auch wenn in 1 nur zwei Benutzervorrichtungen 104 und 122 gezeigt werden, sollte ersehen werden, dass das System 100 jede Anzahl und jeden Typ Benutzervorrichtung einschließen kann, die in dieser Proxy-Konfiguration zum Kommunizieren mit dem DA-Serversystem 106 konfiguriert ist.
-
Obwohl der in 1 gezeigte digitale Assistent sowohl einen clientseitigen Abschnitt (z.B. den DA-Client 102) als auch einen serverseitigen Abschnitt (z.B. den DA-Server 106) aufweisen kann, können in manchen Beispielen die Funktionen eines digitalen Assistenten als eigenständige Anwendung, die auf einer Benutzervorrichtung installiert ist, implementiert werden. Zusätzlich können die Aufteilungen von Funktionalitäten zwischen den Client- und Server-Abschnitten des digitalen Assistenten in verschiedenen Implementierungen variieren.
-
Zum Beispiel kann der DA-Client in manchen Beispielen ein Thin-Client sein, der nur benutzergerichtete Eingabe- und Ausgabeverarbeitungsfunktionen bereitstellt und alle anderen Funktionalitäten des digitalen Assistenten an einen Backend-Server delegiert.
-
1. Elektronische Vorrichtungen
-
Die Aufmerksamkeit richtet sich nun auf Ausführungsformen von elektronischen Vorrichtungen zum Implementieren des clientseitigen Abschnitts eines digitalen Assistenten. 2A ist ein Blockdiagramm, das eine tragbare Multifunktionsvorrichtung 200 mit einem berührungsempfindlichen Anzeigesystem 212 gemäß manchen Ausführungsformen veranschaulicht. Die berührungsempfindliche Anzeige 212 wird der Zweckmäßigkeit wegen manchmal „Touchscreen“ genannt und ist manchmal als „berührungsempfindliches Anzeigesystem“ bekannt oder wird so genannt.
-
Die Vorrichtung 200 schließt einen Speicher 202 (der optional ein oder mehrere computerlesbare Datenspeichermedien einschließt), eine Speichersteuereinheit 222, eine oder mehrere Verarbeitungseinheiten (CPUs) 220, eine Peripherieeinheitenschnittstelle 218, eine HF-Schaltlogik 208, eine Audioschaltlogik 210, einen Lautsprecher 211, ein Mikrofon 213, ein Eingabe/Ausgabe(E/A)-Teilsystem 206, weitere Eingabesteuervorrichtungen 216 und einen externen Anschluss 224 ein. Die Vorrichtung 200 schließt optional einen oder mehrere optische Sensoren 264 ein. Die Vorrichtung 200 schließt optional einen oder mehrere Kontaktintensitätssensoren 265 zum Erfassen einer Intensität von Kontakten auf der Vorrichtung 200 (z.B. einer berührungsempfindlichen Oberfläche wie beispielsweise dem berührungsempfindlichen Anzeigesystem 212 der Vorrichtung 200) ein. Die Vorrichtung 200 schließt optional einen oder mehrere Tastausgabeerzeuger 267 zum Erzeugen von Tastausgaben auf der Vorrichtung 200 (z.B. Erzeugen von Tastausgaben auf einer berührungsempfindlichen Oberfläche wie beispielsweise dem berührungsempfindlichen Anzeigesystem 212 der Vorrichtung 200 oder dem Touchpad 455 der Vorrichtung 400) ein. Diese Komponenten kommunizieren optional über einen oder mehrere Kommunikationsbusse oder Signalleitungen 203.
-
Wie in der Patentschrift und den Ansprüchen verwendet, bezieht sich der Begriff „Intensität“ eines Kontakts auf einer berührungsempfindlichen Oberfläche auf die Kraft oder den Druck (Kraft pro Flächeneinheit) eines Kontakts (z. B. eines Fingerkontakts) auf der berührungsempfindlichen Oberfläche oder auf einen Ersatz (Stellvertreter) für die Kraft oder den Druck eines Kontakts auf der berührungsempfindlichen Oberfläche. Die Intensität eines Kontakts weist einen Bereich von Werten auf, der mindestens vier bestimmte Werte und noch typischer Hunderte von bestimmten Werten (z. B. mindestens 256) einschließt. Die Intensität eines Kontakts wird optional unter Verwendung verschiedener Ansätze und verschiedener Sensoren oder Kombinationen von Sensoren festgestellt (oder gemessen). Zum Beispiel werden ein oder mehrere Kraftsensoren unterhalb oder neben der berührungsempfindlichen Oberfläche optional verwendet, um die Kraft an verschiedenen Punkten auf der berührungsempfindlichen Oberfläche zu messen. In manchen Implementierungen werden Kraftmessungen von mehreren Kraftsensoren kombiniert (z.B. ein gewichteter Durchschnitt), um eine geschätzte Kraft eines Kontakts festzustellen. Auf ähnliche Weise wird die druckempfindliche Spitze eines Eingabestifts optional dazu verwendet, um einen Druck des Eingabestifts auf der berührungsempfindlichen Oberfläche festzustellen. Alternativ dazu werden die Größe des auf der berührungsempfindlichen Oberfläche erfassten Kontaktbereichs und/oder Veränderungen daran, die Kapazität der berührungsempfindlichen Oberfläche in der Nähe des Kontakts und/oder Veränderungen daran und/oder der Widerstand der berührungsempfindlichen Oberfläche in der Nähe des Kontakts und/oder Veränderungen daran optional als Ersatz für die Kraft oder den Druck des Kontakts auf der berührungsempfindlichen Oberfläche verwendet. In manchen Implementierungen werden die Ersatzmessungen für Kontaktkraft oder Kontaktdruck direkt dazu verwendet, um festzustellen, ob ein Intensitätsschwellenwert überschritten wurde (z.B. wird der Intensitätsschwellenwert in Einheiten beschrieben, die den Ersatzmessungen entsprechen). In manchen Implementierungen werden die Ersatzmessungen für eine Kontaktkraft oder einen Kontaktdruck in eine geschätzte Kraft oder einen geschätzten Druck umgewandelt, und die geschätzte Kraft oder der geschätzte Druck wird verwendet, um festzustellen, ob ein Intensitätsschwellenwert überschritten wurde (z.B. handelt es sich bei dem Intensitätsschwellenwert um einen in Einheiten des Drucks gemessenen Druckschwellenwert). Ein Verwenden der Intensität eines Kontakts als eine Eigenschaft einer Benutzereingabe erlaubt einen Benutzerzugriff auf eine zusätzliche Vorrichtungsfunktionalität, die andernfalls durch den Benutzer auf einer Vorrichtung verringerter Größe mit begrenzter Grundfläche für ein Anzeigen von Affordanzen (z.B. auf einer berührungsempfindlichen Anzeige) und/oder ein Empfangen von Benutzereingaben (z.B. über eine berührungsempfindliche Anzeige, eine berührungsempfindliche Oberfläche oder eine physische/mechanische Steuerung, wie beispielsweise einen Knopf oder eine Schaltfläche oder Taste) nicht zugänglich ist.
-
Wie in der Beschreibung und in den Ansprüchen verwendet, bezieht sich der Begriff „taktile Ausgabe“ oder „Tastausgabe“ auf eine physische Verschiebung einer Vorrichtung in Bezug auf eine vorherige Position der Vorrichtung, auf eine physische Verschiebung einer Komponente (z.B. einer berührungsempfindlichen Oberfläche) einer Vorrichtung in Bezug auf eine andere Komponente (z.B. das Gehäuse) der Vorrichtung oder auf eine Verschiebung der Komponente in Bezug auf einen Masseschwerpunkt der Vorrichtung, der von einem Benutzer anhand seines Tastsinns erfasst wird. Zum Beispiel wird in Situationen, in denen die Vorrichtung oder die Komponente der Vorrichtung mit einer Oberfläche eines Benutzers in Kontakt kommt, die berührungsempfindlich ist (z.B. einem Finger, einer Handfläche oder einem anderen Teil der Hand eines Benutzers), die durch die physische Verschiebung erzeugte Tastausgabe vom Benutzer als taktile Empfindung interpretiert, die einer wahrgenommenen Veränderung physikalischer Eigenschaften der Vorrichtung oder der Komponente der Vorrichtung entspricht. Zum Beispiel wird eine Bewegung einer berührungsempfindlichen Oberfläche (z.B. einer berührungsempfindlichen Anzeige oder eines Trackpads) vom Benutzer optional als ein „Abwärtsklick“ oder ein „Aufwärtsklick“ einer physischen Betätigungstaste interpretiert.
-
In manchen Fällen spürt ein Benutzer eine taktile Empfindung wie einen „Abwärtsklick“ oder einen „Aufwärtsklick“, selbst wenn keine Bewegung einer physischen Betätigungstaste mit der berührungsempfindlichen Oberfläche assoziiert ist, die durch die Bewegungen des Benutzers physisch gedrückt (z. B. verschoben) wird. Als weiteres Beispiel wird die Bewegung der berührungsempfindlichen Oberfläche vom Benutzer optional als „Rauigkeit“ der berührungsempfindlichen Oberfläche interpretiert oder empfunden, selbst wenn sich die Glätte der berührungsempfindlichen Oberfläche nicht verändert. Wenngleich solche Interpretationen der Berührung seitens eines Benutzers jeweils von den Sinneswahrnehmungen der einzelnen Benutzer abhängen, gibt es viele Sinneswahrnehmungen bei der Berührung, die eine große Mehrheit der Benutzer gemeinsam haben. Wenn somit eine Tastausgabe als einer bestimmten Sinneswahrnehmung eines Benutzers entsprechend beschrieben wird (z.B. ein „Aufwärtsklick“, ein „Abwärtsklick“, „Rauigkeit“), entspricht, sofern nichts anderes erwähnt wird, die erzeugte Tastausgabe der physischen Verschiebung der Vorrichtung oder einer Komponente davon, die die beschriebene Sinneswahrnehmung für einen typischen (oder durchschnittlichen) Benutzer erzeugt.
-
Es sollte sich verstehen, dass die Vorrichtung 200 nur ein Beispiel einer tragbaren Multifunktionsvorrichtung ist und dass die Vorrichtung 200 optional mehr oder weniger Komponenten als gezeigt aufweist, optional zwei oder mehr Komponenten kombiniert oder optional eine andere Konfiguration oder Anordnung der Komponenten aufweist. Die verschiedenen, in 2A gezeigten Komponenten sind in Hardware, Software oder einer Kombination aus sowohl Hardware als auch Software implementiert, einschließlich einer oder mehrerer Signalverarbeitungsschaltungen und/oder anwendungsspezifischer integrierter Schaltungen (Application Specific Integrated Circuits).
-
Der Speicher 202 kann ein oder mehrere computerlesbare Datenspeichermedien einschließen. Die computerlesbaren Datenspeichermedien können materiell und nicht-flüchtig sein. Der Speicher 202 kann Hochgeschwindigkeitsdirektzugriffsspeicher und auch einen nicht-flüchtigen Speicher, wie beispielsweise eine oder mehrere Magnetplattendatenspeichervorrichtungen, Flash-Speicher-Vorrichtungen oder andere nicht-flüchtige Halbleiterspeichervorrichtungen einschließen. Die Speichersteuereinheit 222 kann den Zugriff auf den Speicher 202 durch andere Komponenten der Vorrichtung 200 steuern.
-
In manchen Beispielen kann ein nicht-flüchtiges, computerlesbares Datenspeichermedium des Speichers 202 verwendet werden, um Anweisungen (z.B. zum Durchführen von Aspekten des Verfahrens 900, wie weiter unten beschrieben) zur Verwendung durch ein oder in Verbindung mit einem Anweisungsausführungssystem, durch eine oder in Verbindung mit einer solchen Einrichtung oder durch eine oder in Verbindung mit einer solchen Vorrichtung zu speichern, wie beispielsweise einem computerbasierten System, einem einen Prozessor enthaltenden System oder einem anderen System, das die Anweisungen aus dem Anweisungsausführungssystem, der Anweisungsausführungseinrichtung oder der Anweisungsausführungssvorrichtung abrufen und die Anweisungen ausführen kann. In anderen Beispielen können die Anweisungen (z.B. zum Durchführen von Aspekten des Verfahrens 900, wie weiter unten beschrieben) auf einem nicht-flüchtigen, computerlesbaren Datenspeichermedium (nicht gezeigt) des Serversystems 108 gespeichert werden oder können zwischen dem nicht-flüchtigen, computerlesbaren Datenspeichermedium des Speichers 202 und dem nicht-flüchtigen, computerlesbaren Datenspeichermedium des Serversystems 108 aufgeteilt werden. Im Kontext dieses Dokuments kann es sich bei einem „nicht-flüchtigen, computerlesbaren Datenspeichermedium“ um jedes Medium handeln, das das Programm zur Verwendung durch oder in Verbindung mit dem System, dem Apparat oder der Vorrichtung zur Anweisungsausführung enthalten oder speichern kann.
-
Die Peripherieeinheitenschnittstelle 218 kann dazu verwendet werden, um Eingabe- und Ausgabeperipherieeinheiten der Vorrichtung an die CPU 220 und den Speicher 202 zu koppeln. Der eine oder die mehreren Prozessoren 220 führen verschiedene, im Speicher 202 gespeicherte Softwareprogramme und/oder Anweisungssätze aus, um verschiedene Funktionen für die Vorrichtung 200 durchzuführen und Daten zu verarbeiten. In manchen Ausführungsformen können die Peripherieeinheitenschnittstelle 218, die CPU 220 und die Speichersteuereinheit 222 auf einem einzigen Chip, wie beispielsweise einem Chip 204, implementiert sein. In manchen anderen Ausführungsformen können sie auf separaten Chips implementiert sein.
-
Die HF(Hochfrequenz)-Schaltlogik 208 empfängt und sendet HF-Signale, die auch als elektromagnetische Signale bezeichnet werden. Die HF-Schaltlogik 208 wandelt elektrische Signale in elektromagnetische Signale bzw. elektromagnetische Signale in elektrische Signale um und kommuniziert mittels der elektromagnetischen Signale mit Kommunikationsnetzwerken und anderen Kommunikationsvorrichtungen. Die HF-Schaltlogik 208 schließt optional eine allgemein bekannte Schaltlogik zum Ausführen dieser Funktionen, einschließlich, jedoch nicht beschränkt auf, ein Antennensystem, einen HF-Transceiver, einen oder mehrere Verstärker, einen Tuner, einen oder mehrere Oszillatoren, einen Digitalsignalprozessor, einen CODEC-Chipsatz, eine Teilnehmeridentitätsmodulkarte (Subscriber Identity Module Card, SIM-Karte), Speicher und so weiter, ein. Die HF-Schaltlogik 208 kommuniziert mittels drahtloser Kommunikation optional mit Netzwerken wie beispielsweise dem Internet, das auch als World Wide Web (WWW) bezeichnet wird, einem Intranet und/oder einem drahtlosen Netzwerk wie beispielsweise einem Mobilfunknetz, einem drahtlosen lokalen Netzwerk (LAN) und/oder einem Stadtnetzwerk (metropolitan area network (MAN)) und anderen Vorrichtungen. Die HF-Schaltlogik 208 schließt optional eine allgemein bekannte Schaltlogik zum Erfassen von Nahfeldkommunikationsfeldern („Near Field Communication“(NFC)-Feldern)) ein, wie beispielsweise durch einen Kommunikationsfunk mit kurzer Reichweite. Die drahtlose Kommunikation verwendet optional jegliche von einer Mehrzahl von Kommunikationsstandards, -protokollen und -technologien, einschließlich, jedoch nicht beschränkt auf, Global System for Mobile Communications (GSM), Enhanced Data GSM Environment (EDGE), High Speed Downlink Packet Access (HSDPA), High Speed Uplink Packet Access (HSUPA), Evolution Data-Only (EV-DO), HSPA, HSPA+, Dual-Cell HSPA (DC-HSPDA), Long Term Evolution (LTE), Nahfeldkommunikation (Near Field Communication, NFC), Wideband Code Division Multiple Access (W-CDMA), Code Division Multiple Access (CDMA), Time Division Multiple Access (TDMA), Bluetooth, Bluetooth Low Energy (BTLE), Wireless Fidelity (Wi-Fi) (z.B. IEEE 802.11a, IEEE 802.11b, IEEE 802.11 g, IEEE 802.11n und/oder IEEE 802.11ac), Voice over Internet Protocol (VoIP), Wi-MAX, ein Protokoll für E-Mails (z.B. Internet Message Access Protocol (IMAP) und/oder Post Office Protocol (POP)), Sofortnachrichtenvermittlung (z.B. Extensible Messaging and Presence Protocol (XMPP), Session Initiation Protocol for Instant Messaging and Presence Leveraging Extensions (SIMPLE), Instant Messaging and Presence Service (IMPS) und/oder Short Message Service (SMS), oder jegliches andere, geeignete Kommunikationsprotokoll, einschließlich von zum Zeitpunkt der Einreichung dieses Dokuments noch nicht entwickelten Kommunikationsprotokollen.
-
Die Audioschaltlogik 210, der Lautsprecher 211 und das Mikrofon 213 stellen eine Audioschnittstelle zwischen einem Benutzer und der Vorrichtung 200 bereit. Die Audioschaltlogik 210 empfängt Audiodaten von der Peripherieeinheitenschnittstelle 218, wandelt die Audiodaten in ein elektrisches Signal um und überträgt das elektrische Signal zu dem Lautsprecher 211. Der Lautsprecher 211 wandelt das elektrische Signal in vom Menschen hörbare Schallwellen um. Die Audioschaltlogik 210 empfängt auch vom Mikrofon 213 aus Schallwellen umgewandelte elektrische Signale. Die Audioschaltlogik 210 wandelt das elektrische Signal in Audiodaten um und überträgt die Audiodaten zur Verarbeitung zu der Peripherieeinheitenschnittstelle 218. Audiodaten können durch die Peripherieeinheitenschnittstelle 218 von dem Speicher 202 und/oder der HF-Schaltlogik 208 abgerufen und/oder zu diesen übertragen werden. In manchen Ausführungsformen schließt die Audioschaltlogik 210 auch eine Headsetbuchse ein (z.B. 312, 3). Die Headsetbuchse stellt eine Schnittstelle zwischen der Audioschaltlogik 210 und entfernbaren Peripherieeinheiten zur Audioeingabe/-ausgabe wie beispielsweise Nur-Ausgabe-Kopfhörern oder einem Kopfhörer sowohl mit Ausgabe (z.B. einem Kopfhörer für ein oder beide Ohren) als auch mit Eingabe (z.B. einem Mikrofon) bereit.
-
Das E/A-Teilsystem 206 koppelt Eingabe/Ausgabe-Peripherieeinheiten an der Vorrichtung 200 wie beispielsweise den Touchscreen 212 und andere Eingabesteuervorrichtungen 216 an die Peripherieeinheitenschnittstelle 218. Das E/A-Teilsystem 206 schließt optional eine Anzeigesteuereinheit 256, eine Steuereinheit für optische Sensoren 258, eine Intensitätssensorsteuereinheit 259, eine Steuereinheit für haptische Rückmeldung 261 und eine oder mehrere Eingabesteuereinheiten 260 für andere Eingabe- oder Steuervorrichtungen ein. Die eine oder die mehreren Eingabesteuereinheiten 260 empfangen/senden elektrische Signale von/zu andere(n) Eingabesteuervorrichtungen 216. Die anderen Eingabesteuervorrichtungen 216 schließen optional physische Tasten (z.B. Drucktasten, Wipptaster usw.), Wählscheiben, Schiebeschalter, Joysticks, Click Wheels und so weiter ein. In manchen alternativen Ausführungsformen sind die eine oder mehreren Eingabesteuereinheiten 260 optional mit beliebigem (oder keinem) von Folgendem gekoppelt: einer Tastatur, einem Infrarotanschluss, einem USB-Anschluss und einer Zeigevorrichtung wie beispielsweise einer Maus. Die eine oder mehreren Schaltflächen oder Tasten (z.B. 308, 3) schließen optional eine Aufwärts-/Abwärtstaste für eine Lautstärkesteuerung des Lautsprechers 211 und/oder des Mikrofons 213 ein. Die eine oder mehreren Schaltflächen oder Tasten schließen optional eine Drucktaste ein (z.B. 306, 3).
-
Ein schnelles Drücken der Drucktaste kann eine Sperre des Touchscreens
212 aufheben oder einen Prozess beginnen, bei dem Gesten auf dem Touchscreen zum Entsperren der Vorrichtung verwendet werden, wie in der am 23. Dezember 2005 eingereichten US-Patentanmeldung Nr. 11/322 549, „Unlocking a Device by Performing Gestures on an Unlock Image“,
US-Pat. Nr. 7,657,849 beschrieben ist, die hiermit durch Bezugnahme in ihrer Gesamtheit aufgenommen wird. Ein längeres Drücken der Drucktaste (z.B.
306) kann den Strom für die Vorrichtung
200 ein- oder ausschalten. Der Benutzer kann in der Lage sein, eine Funktionalität einer oder mehrerer der Schaltflächen oder Tasten individuell anzupassen. Der Touchscreen
212 wird verwendet, um virtuelle Tasten oder Softtasten oder Softschaltflächen und eine oder mehrere Bildschirmtastaturen zu implementieren.
-
Die berührungsempfindliche Anzeige 212 stellt eine Eingabeschnittstelle und eine Ausgabeschnittstelle zwischen der Vorrichtung und einem Benutzer bereit. Die Anzeigesteuereinheit 256 empfängt und/oder sendet elektrische Signale von/zu dem Touchscreen 212. Der Touchscreen 212 zeigt dem Benutzer eine visuelle Ausgabe an. Die visuelle Ausgabe kann Grafiken, Text, Symbole, Video und eine beliebige Kombination davon (zusammenfassend als „Grafiken“ bezeichnet) einschließen. In manchen Ausführungsformen können manche oder alle der visuellen Ausgaben Benutzerschnittstellenobjekten entsprechen.
-
Der Touchscreen 212 besitzt eine berührungsempfindliche Oberfläche, einen Sensor oder einen Satz von Sensoren, der oder die Eingaben vom Benutzer auf Grundlage von haptischem und/oder taktilem Kontakt annimmt bzw. annehmen. Der Touchscreen 212 und die Anzeigesteuereinheit 256 (zusammen mit beliebigen zugeordneten Modulen und/oder Sätzen von Anweisungen im Speicher 202) erfassen einen Kontakt (und jede Bewegung oder jedes Abbrechen des Kontakts) auf dem Touchscreen 212 und wandeln den erfassten Kontakt in eine Interaktion mit Benutzerschnittstellenobjekten um (z.B. eine oder mehrere Softtasten, Symbole, Webseiten oder Bilder), die auf dem Touchscreen 212 angezeigt werden. In einer beispielhaften Ausführungsform entspricht ein Kontaktpunkt zwischen dem Touchscreen 212 und dem Benutzer einem Finger des Benutzers.
-
Der Touchscreen
212 kann LCD-Technologie (Flüssigkristallanzeigetechnologie), LPD-Technologie (Leuchtpolymeranzeigetechnologie) oder LED-Technologie (Leuchtdiodentechnologie) verwenden, wenngleich in anderen Ausführungsformen andere Anzeigetechnologien verwendet werden können. Der Touchscreen
212 und die Anzeigesteuereinheit
256 können einen Kontakt und jegliche Bewegung oder jegliches Abbrechen davon unter Verwendung jeder von einer Mehrzahl von jetzt bekannnten oder später entwickelten Berührungserfassungstechnologien erfassen, einschließlich, jedoch nicht beschränkt auf kapazitive, resistive, Infrarot- und Oberflächenakustikwellentechnologien sowie andere Näherungssensoranordnungen oder andere Elemente zum Feststellen eines oder mehrerer Kontaktpunkte auf dem Touchscreen
212. In einer beispielhaften Ausführungsform wird eine Technologie eines gegenseitigen, projiziert-kapazitiven Erfassens verwendet, wie beispielsweise die, die im iPhone
® und iPod Touch
® von Apple Inc. aus Cupertino, Kalifornien, zu finden ist. Eine berührungsempfindliche Anzeige in manchen Ausführungsformen des Touchscreens
212 kann analog zu den in den folgenden
US-Patenten beschriebenen, mehrfachberührungsempfindlichen Touchpads sein: 6 323 846 (Westerman et al.),
6 570 557 (Westerman et al.) und/oder
6 677 932 (Westerman) und/oder
US-Patentveröffentlichung 2002/0015024 A1 , von denen jedes hiermit durch Bezugnahme in seiner Gesamtheit aufgenommen wird. Der Touchscreen
212 zeigt jedoch visuelle Ausgaben aus der Vorrichtung
200 an, wohingegen berührungsempfindliche Touchpads keine visuellen Ausgaben bereitstellen.
-
Eine berührungsempfindliche Anzeige in manchen Ausführungsformen des Touchscreens 212 kann wie in den folgenden Anmeldungen beschrieben sein: (1) US-Patentanmeldung Nr. 11/381 313, „Multipoint Touch Surface Controller“, eingereicht am 2. Mai 2006; (2) US-Patentanmeldung Nr. 10/840 862, „Multipoint Touchscreen“, eingereicht am 6. Mai 2004; (3) US-Patentanmeldung Nr. 10/903 964, „Gestures For Touch Sensitive Input Devices“, eingereicht am 30. Juli 2004; (4) US-Patentanmeldung Nr. 11/048 264, „Gestures For Touch Sensitive Input Devices“, eingereicht am 31. Januar 2005; (5) US-Patentanmeldung Nr. 11/038 590, „Mode-Based Graphical User Interfaces For Touch Sensitive Input Devices“, eingereicht am 18. Januar 2005; (6) US-Patentanmeldung Nr. 11/228 758, „Virtual Input Device Placement On A Touch Screen User Interface“, eingereicht am 16. September 2005; (7) US-Patentanmeldung Nr. 11/228 700, „Operation Of A Computer With A Touch Screen Interface“, eingereicht am 16. September 2005; (8) US-Patentanmeldung Nr. 11/228 737, „Activating Virtual Keys Of A Touch-Screen Virtual Keyboard“, eingereicht am 16. September 2005; und (9) US-Patentanmeldung Nr. 11/367 749, „Multi-Functional Hand-Held Device“, eingereicht am 3. März 2006. Alle dieser Anmeldungen werden durch Bezugnahme hierin in ihrer Gesamtheit aufgenommen.
-
Der Touchscreen 212 kann eine Videoauflösung von mehr als 100 dpi aufweisen. In manchen Ausführungsformen weist der Touchscreen eine Videoauflösung von ungefähr 160 dpi auf. Der Benutzer kann Kontakt mit dem Touchscreen 212 herstellen, indem er ein beliebiges geeignetes Objekt oder Körperteil, wie beispielsweise einen Eingabestift, einen Finger und dergleichen verwendet. In manchen Ausführungsformen ist die Benutzerschnittstelle dazu ausgelegt, hauptsächlich mit auf Fingern basierenden Kontakten und Handbewegungen zu arbeiten, die aufgrund der größeren Kontaktfläche eines Fingers auf dem Touchscreen weniger präzise als eine auf dem Eingabestift beruhende Eingabe sein können. In manchen Ausführungsformen übersetzt die Vorrichtung die grobe auf Fingern basierende Eingabe in eine präzise Position des Zeigers/Cursors oder in einen Befehl zum Durchführen der vom Benutzer gewünschten Aktionen.
-
In manchen Ausführungsformen kann die Vorrichtung 200 zusätzlich zum Touchscreen ein (nicht gezeigtes) Touchpad zum Aktivieren oder Deaktivieren bestimmter Funktionen aufweisen. In manchen Ausführungsformen ist das Touchpad ein berührungsempfindlicher Bereich der Vorrichtung, der im Gegensatz zum Touchscreen keine visuellen Ausgaben anzeigt. Das Touchpad kann eine berührungsempfindliche Oberfläche, die vom Touchscreen 212 separat ist, oder eine Verlängerung der vom Touchscreen gebildeten, berührungsempfindlichen Oberfläche sein.
-
Die Vorrichtung 200 schließt auch ein Stromversorgungssystem 262 zum Versorgen der verschiedenen Komponenten mit Strom ein. Das Stromversorgungssystem 262 kann ein Stromverwaltungssystem, eine oder mehrere Stromquellen (z.B. Batterie/Akku, Wechselstrom (AC)), ein Aufladesystem, eine Stromausfallerfassungsschaltung, einen Stromrichter oder Wechselrichter, eine Energiestatusanzeige (z.B. eine Leuchtdiode (LED)) und beliebige andere Komponenten, die mit der Stromerzeugung, Stromverwaltung und Stromverteilung in tragbaren Vorrichtungen im Zusammenhang stehen, einschließen.
-
Die Vorrichtung 200 kann außerdem einen oder mehrere optische Sensoren 264 einschließen. 2A zeigt einen optischen Sensor, der an die Steuereinheit für optische Sensoren 258 im E/A-Teilsystem 206 gekoppelt ist. Der optische Sensor 264 kann Fototransistoren mit ladungsgekoppelten Bauteilen (Charge-Coupled Device, CCD) oder mit komplementären Metalloxid-Halbleitern (Complementary Metal-Oxide Semiconductor, CMOS) einschließen. Der optische Sensor 264 empfängt Licht aus der Umgebung, das durch eine oder mehrere Linsen projiziert wird, und wandelt das Licht in ein Bild darstellende Daten um. Zusammen mit dem Bildgebungsmodul 243 (das auch als Kameramodul bezeichnet wird) kann der optische Sensor 264 Standbilder oder Videobilder aufnehmen. In manchen Ausführungsformen befindet sich ein optischer Sensor auf der Rückseite der Vorrichtung 200 gegenüber der Touchscreen-Anzeige 212 auf der Vorderseite der Vorrichtung, sodass die Touchscreen-Anzeige als Bildsucher für die Standbild- und/oder Videobildaufnahme verwendet werden kann. In manchen Ausführungsformen befindet sich ein optischer Sensor auf der Vorderseite der Vorrichtung, sodass das Bild des Benutzers für Videokonferenzen erhalten werden kann, während der Benutzer die anderen Teilnehmer der Videokonferenz auf der Touchscreen-Anzeige sieht. In manchen Ausführungsformen kann die Position des optischen Sensors 264 durch den Benutzer geändert werden (z.B. durch Drehen der Linse und des Sensors im Gehäuse der Vorrichtung), sodass ein einziger optischer Sensor 264 zusammen mit der Touchscreen-Anzeige sowohl für Videokonferenzen als auch für eine Stand- und/oder Videobildaufnahme verwendet werden kann.
-
Die Vorrichtung 200 schließt optional auch einen oder mehrere Kontaktintensitätssensoren 265 ein. 2A zeigt einen Kontaktintensitätssensor, der mit der Intensitätssensorsteuereinheit 259 im E/A-Teilsystem 206 gekoppelt ist. Der Kontaktintensitätssensor 265 schließt optional einen oder mehrere piezoresistive Dehnungsmesser, kapazitive Kraftsensoren, elektrische Kraftsensoren, piezoelektrische Kraftsensoren, optische Kraftsensoren, kapazitive berührungsempfindliche Oberflächen oder andere Intensitätssensoren (z. B. Sensoren, die zum Messen der Kraft (oder des Drucks) eines Kontakts auf einer berührungsempfindlichen Oberfläche verwendet werden) ein. Der Kontaktintensitätssensor 265 empfängt Kontaktintensitätsinformationen (z.B. Druckinformationen oder einen Stellvertreter für Druckinformationen) aus der Umgebung.
-
In manchen Ausführungsformen ist mindestens ein Kontaktintensitätssensor zusammen mit oder neben einer berührungsempfindlichen Oberfläche (z.B. dem berührungsempfindlichen Anzeigesystem 212) angeordnet. In manchen Ausführungsformen befindet sich mindestens ein Kontaktintensitätssensor auf der Rückseite der Vorrichtung 200 gegenüber der Touchscreen-Anzeige 212, die sich auf der Vorderseite der Vorrichtung 200 befindet.
-
Die Vorrichtung 200 kann auch einen oder mehrere Näherungssensoren 266 einschließen. 2A zeigt einen Näherungssensor 266, der an die Peripherieeinheitenschnittstelle 218 gekoppelt ist. Alternativ dazu kann der Näherungssensor 266 an die Eingabesteuereinheit 260 im E/A-Teilsystem 206 gekoppelt sein. Der Näherungssensor 266 kann arbeiten wie in den US-Patentanmeldungen Nr. 11/241 839, „Proximity Detector In Handheld Device“; 11/240 788, „Proximity Detector In Handheld Device“; 11/620 702, „Using Ambient Light Sensor To Augment Proximity Sensor Output“; 11/586 862, „Automated Response To And Sensing Of User Activity In Portable Devices“; und 11/638 251, „Methods And Systems For Automatic Configuration Of Peripherals“ beschrieben, welche hiermit durch Bezugnahme in ihrer Gesamtheit aufgenommen werden. In manchen Ausführungsformen schaltet der Näherungssensor den Touchscreen 212 aus und deaktiviert ihn, wenn die Multifunktionsvorrichtung in der Nähe des Ohrs des Benutzers platziert wird (z.B., wenn der Benutzer ein Telefongespräch führt).
-
Die Vorrichtung 200 schließt optional auch einen oder mehrere Tastausgabeerzeuger 267 ein. 2A zeigt einen Tastausgabeerzeuger, der mit der Steuereinheit für haptische Rückmeldung 261 im E/A-Teilsystem 206 gekoppelt ist. Der Tastausgabeerzeuger 267 schließt optional eine oder mehrere elektroakustische Vorrichtungen, wie beispielsweise Lautsprecher oder andere Audiokomponenten und/oder elektromechanische Vorrichtungen ein, die Energie in lineare Bewegung umwandeln, wie beispielsweise einen Motor, einen Elektromagneten, ein elektroaktives Polymer, einen piezoelektrischen Aktor, einen elektrostatischen Aktor oder eine andere Tastausgabe erzeugende Komponente (z.B. eine Komponente, die elektrische Signale auf der Vorrichtung in Tastausgaben umwandelt). Der Kontaktintensitätssensor 265 empfängt vom haptischen Rückmeldungsmodul 233 Anweisungen zum Erzeugen von Tastrückmeldungen und erzeugt Tastausgaben auf der Vorrichtung 200, die von einem Benutzer der Vorrichtung 200 wahrgenommen werden können. In manchen Ausführungsformen ist mindestens ein Tastausgabeerzeuger zusammen mit oder neben einer berührungsempfindlichen Oberfläche (z.B. dem berührungsempfindlichen Anzeigesystem 212) angeordnet und erzeugt optional eine Tastausgabe, indem die berührungsempfindliche Oberfläche senkrecht (z.B. in eine Oberfläche der Vorrichtung 200 hinein oder aus ihr heraus) oder seitwärts (z.B. rückwärts und vorwärts in der gleichen Ebene wie eine Oberfläche der Vorrichtung 200) bewegt wird. In manchen Ausführungsformen befindet sich mindestens ein Tastausgabeerzeugersensor auf der Rückseite der Vorrichtung 200 gegenüber der Touchscreen-Anzeige 212, die sich auf der Vorderseite der Vorrichtung 200 befindet.
-
Die Vorrichtung
200 kann auch einen oder mehrere Beschleunigungsmesser
268 einschließen.
2A zeigt den Beschleunigungsmesser
268 an die Peripherieeinheitenschnittstelle
218 gekoppelt. Alternativ dazu kann der Beschleunigungsmesser
268 an eine Eingabesteuereinheit
260 im E/A-Teilsystem
206 gekoppelt sein. Der Beschleunigungsmesser
268 kann wie in der
US-Patentveröffentlichung Nr. 20050190059 , „Acceleration-based Theft Detection System for Portable Electronic Devices“ und der
US-Patentveröffentlichung Nr. 20060017692 , „Methods And Apparatuses For Operating A Portable Device Based On An Accelerometer“ beschrieben arbeiten, welche beide durch Bezugnahme in ihrer Gesamtheit hierin aufgenommen werden. In manchen Ausführungsformen werden Informationen auf der Touchscreen-Anzeige im Hochformat oder im Querformat angezeigt, basierend auf einer Analyse von Daten, die von dem einen oder den mehreren Beschleunigungsmessern empfangen wurden. Die Vorrichtung
200 schließt zusätzlich zu dem/den Beschleunigungsmesser(n)
268 optional ein (nicht gezeigtes) Magnetometer und einen (nicht gezeigten) GPS-Empfänger (oder GLONASS oder ein anderes globales Navigationssystem) zum Erhalten von Informationen bezüglich der Position und der Ausrichtung (z.B. Hochformat oder Querformat) der Vorrichtung
200 ein.
-
In manchen Ausführungsformen schließen die im Speicher 202 gespeicherten Softwarekomponenten ein Betriebssystem 226, ein Kommunikationsmodul (oder einen Anweisungssatz) 228, ein Kontakt-/Bewegungsmodul (oder einen Anweisungssatz) 230, ein Grafikmodul (oder einen Anweisungssatz) 232, ein Texteingabemodul (oder einen Anweisungssatz) 234, ein GPS-Modul (Globales Positionierungssystem-Modul) (oder einen Anweisungssatz) 235, ein Client-Modul für den digitalen Assistenten 229 und Anwendungen (oder einen Anweisungssatz) 236 ein. Des Weiteren können im Speicher 202 Daten und Modelle, wie beispielsweise Benutzerdaten und Modelle 231, gespeichert sein.
-
Des Weiteren ist in manchen Ausführungsformen im Speicher 202 (2A) oder 470 (4) ein vorrichtungsbezogener/globaler interner Zustand 257 gespeichert, wie in 2A und 4 gezeigt. Der vorrichtungsbezogene/globale interne Zustand 257 schließt eines oder mehrere ein von: einem Anwendungsaktivitätsstatus, der anzeigt, welche der Anwendungen gegebenenfalls gerade aktiv sind; einen Anzeigestatus, der anzeigt, welche Anwendungen, Ansichten oder anderen Informationen verschiedene Bereiche der Touchscreen-Anzeige 212 belegen; einen Sensorstatus, einschließlich Informationen, die von den verschiedenen Sensoren und Eingabesteuervorrichtungen 216 der Vorrichtung erhalten wurden; und Ortsinformationen, die den Standort und/oder die Lage der Vorrichtung betreffen.
-
Das Betriebssystem 226 (z. B. Darwin, RTXC, LINUX, UNIX, OS X, iOS, WINDOWS oder ein eingebettetes Betriebssystem wie beispielsweise VxWorks) schließt verschiedene Softwarekomponenten und/oder Treiber zum Steuern und Verwalten von allgemeinen Systemaufgaben (z.B. Speicherverwaltung, Datenspeichervorrichtungssteuerung, Energieverwaltung usw.) ein und ermöglicht eine Kommunikation zwischen verschiedenen Hardware- und Softwarekomponenten.
-
Das Kommunikationsmodul 228 ermöglicht die Kommunikation mit anderen Vorrichtungen über einen oder mehrere externe Anschlüsse 224 und schließt auch verschiedene Softwarekomponenten zum Handhaben von Daten ein, die von der HF-Schaltlogik 208 und/oder von dem externen Anschluss 224 empfangen wurden. Der externe Anschluss 224 (z.B. USB (Universal Serial Bus), FIREWIRE usw.) ist für ein direktes Koppeln an andere Vorrichtungen oder indirektes Koppeln über ein Netzwerk (z.B. das Internet, WLAN usw.) eingerichtet. In manchen Ausführungsformen handelt es sich bei dem externen Anschluss um einen Mehrfachpinsteckverbinder (z. B. 30 Pins), welcher derselbe wie der oder ähnlich dem oder kompatibel mit dem 30-Pin-Steckverbinder ist, der auf iPod®-Vorrichtungen (iPod® ist eine Marke von Apple Inc.) verwendet wird.
-
Das Kontakt-/Bewegungsmodul 230 erfasst optional einen Kontakt mit dem Touchscreen 212 (in Verbindung mit der Anzeigesteuereinheit 256) und anderen berührungsempfindlichen Vorrichtungen (z.B. einem Touchpad oder einem physischen Click Wheel). Das Kontakt-/Bewegungsmodul 230 schließt verschiedene Softwarekomponenten zum Durchführen verschiedener Vorgänge ein, die mit dem Erfassen von Kontakt in Zusammenhang stehen, wie beispielsweise Feststellen, ob es einen Kontakt gab (z.B. Erfassen eines Finger-nach-unten-Ereignisses), Feststellen einer Intensität des Kontakts (z.B. der Kraft oder des Drucks des Kontakts oder eines Ersatzes für die Kraft oder den Druck des Kontakts), Feststellen, ob eine Bewegung des Kontakts vorliegt, und Nachverfolgen der Bewegung über die berührungsempfindliche Oberfläche hinweg (z.B. Erfassen eines oder mehrerer Fingerziehereignisse) und Feststellen, ob der Kontakt aufgehört hat (z.B. Erfassen eines Finger-nach-oben-Ereignisses oder einer Unterbrechung des Kontakts). Das Kontakt-/Bewegungsmodul 230 empfängt Kontaktdaten von der berührungsempfindlichen Oberfläche. Das Feststellen von Bewegung des Kontaktpunkts, die von einer Reihe von Kontaktdaten dargestellt wird, schließt optional ein Feststellen von Schnelligkeit (Größe), Geschwindigkeit (Größe und Richtung) und/oder einer Beschleunigung (einer Veränderung der Größe und/oder der Richtung) des Kontaktpunkts ein. Diese Vorgänge werden optional auf einzelne Kontakte (z. B. Ein-Finger-Kontakte) oder auf mehrere gleichzeitige Kontakte (z. B. „Mehrfachberührung“/Mehr-Finger-Kontakte) angewandt. In manchen Ausführungsformen erfassen das Kontakt-/Bewegungsmodul 230 und die Anzeigesteuereinheit 256 Kontakt auf einem Touchpad.
-
In manchen Ausführungsformen verwendet das Kontakt-/Bewegungsmodul 230 einen Satz von einem oder mehreren Intensitätsschwellenwerten, um festzustellen, ob ein Vorgang von einem Benutzer ausgeführt wurde (z.B. um festzustellen, ob ein Benutzer auf ein Symbol „geklickt“ hat). In manchen Ausführungsformen wird mindestens ein Teilsatz der Intensitätsschwellenwerte gemäß Softwareparametern bestimmt (z.B. werden die Intensitätsschwellenwerte nicht durch die Aktivierungsschwellenwerte bestimmter physischer Aktoren bestimmt und können angepasst werden, ohne die physische Hardware der Vorrichtung 200 zu verändern). Zum Beispiel kann ein Maus-„Klick“-Schwellenwert einer Trackpad- oder Touchscreen-Anzeige auf jeden beliebigen eines breiten Bereichs vordefinierter Schwellenwerte eingestellt werden, ohne die Trackpad- oder Touchscreen-Anzeige-Hardware zu verändern. Zusätzlich werden in manchen Implementierungen einem Benutzer der Vorrichtung Software-Einstellungen zum Anpassen eines oder mehrerer des Satzes von Intensitätsschwellenwerten bereitgestellt (z.B. durch Anpassen einzelner Intensitätsschwellenwerte und/oder durch Anpassen einer Mehrzahl von Intensitätsschwellenwerten auf einmal mit einem Klick-„Intensitäts“-Parameter auf Systemebene).
-
Das Kontakt-/Bewegungsmodul 230 erfasst optional eine Eingabe durch eine Geste eines Benutzers. Unterschiedliche Gesten auf der berührungsempfindlichen Oberfläche haben unterschiedliche Kontaktmuster (z. B. unterschiedliche Bewegungen, Zeiten und/oder Intensitäten erfasster Kontakte). Folglich wird eine Geste optional durch Erfassen eines bestimmten Kontaktmusters erfasst. Zum Beispiel schließt ein Erfassen einer Fingertippgeste ein Erfassen eines Finger-nach-unten-Ereignisses, gefolgt von einem Erfassen eines Finger-nach-oben-Ereignisses (Abhebeereignisses) an derselben Position (oder im Wesentlichen derselben Position) wie das Finger-nach-unten-Ereignis (z.B. an der Position eines Symbols) ein. Als ein weiteres Beispiel schließt ein Erfassen einer Fingerwischgeste auf der berührungsempfindlichen Oberfläche ein Erfassen eines Finger-nach-unten-Ereignisses, gefolgt von einem oder mehreren Fingerziehereignissen und nachfolgend gefolgt von einem Erfassen eines Finger-nach-oben-Ereignisses (Abhebe-Ereignisses) ein.
-
Das Grafikmodul 232 schließt verschiedene bekannte Softwarekomponenten zum Rendern und Anzeigen von Grafiken auf dem Touchscreen 212 oder einer anderen Anzeige ein, einschließlich Komponenten zum Ändern der visuellen Auswirkung (z.B. Helligkeit, Transparenz, Sättigung, Kontrast oder einer anderen visuellen Eigenschaft) von Grafiken, die angezeigt werden. Wie hierin verwendet, schließt der Begriff „Grafik“ jedes Objekt ein, das einem Benutzer angezeigt werden kann, einschließlich, jedoch ohne Einschränkung, von Text, Webseiten, Symbolen (wie beispielsweise Benutzerschnittstellenobjekte, einschließlich Softtasten), Digitalbildern, Videos, Animationen und dergleichen.
-
In manchen Ausführungsformen speichert das Grafikmodul 232 Daten, die zu verwendende Grafiken darstellen. Jeder Grafik wird optional ein entsprechender Code zugewiesen. Das Grafikmodul 232 empfängt von Anwendungen usw. einen oder mehrere Codes, die Grafiken spezifizieren, die, falls erforderlich, zusammen mit Koordinatendaten und anderen Daten zu grafischen Eigenschaften angezeigt werden sollen, und erzeugt dann Bildschirmbilddaten zum Ausgeben an die Anzeigesteuereinheit 256.
-
Das haptische Rückmeldungsmodul 233 schließt verschiedene Softwarekomponenten zum Erzeugen von Anweisungen ein, die von dem/den Tastausgabeerzeuger(n) 267 verwendet werden, um Tastausgaben an einer oder mehreren Stellen auf der Vorrichtung 200 als Reaktion auf Interaktionen des Benutzers mit der Vorrichtung 200 zu erzeugen.
-
Das Texteingabemodul 234, bei dem es sich um eine Komponente des Grafikmoduls 232 handeln kann, stellt Bildschirmtastaturen zum Eingeben von Text in verschiedenen Anwendungen (z.B. Kontakte 237, E-Mail 240, Sofortnachrichtenvermittlung 241, Browser 247 und jede andere Anwendung, die Texteingabe benötigt) bereit.
-
Das GPS-Modul 235 ermittelt den Standort der Vorrichtung und stellt diese Information zur Verwendung in vielfältigen Anwendungen bereit (z.B. dem Telefon 238 zur Verwendung beim standortbasierten Wählen; der Kamera 243 als Bild-/Videometadaten und Anwendungen, die standortbasierte Dienste anbieten, wie beispielsweise Wetter-Widgets, Widgets lokaler Gelber Seiten und Karten-/Navigations-Widgets).
-
Das Client-Modul des digitalen Assistenten 229 kann verschiedene clientseitige Anweisungen für den digitalen Assistenten einschließen, um die clientseitigen Funktionalitäten des digitalen Assistenten bereitzustellen. Das Client-Modul des digitalen Assistenten 229 kann zum Beispiel in der Lage sein, Spracheingaben, Texteingaben, Berührungseingaben und/oder Gesteneingaben über verschiedene Benutzerschnittstellen (z.B. Mikrofon 213, Beschleunigungsmesser 268, berührungsempfindliches Anzeigesystem 212, ein oder mehrere optische Sensoren 229, andere Eingabesteuervorrichtungen 216 usw.) der tragbaren Multifunktionsvorrichtung 200 zu akzeptieren. Das Client-Modul des digitalen Assistenten 229 kann auch in der Lage sein, eine Ausgabe als Audio (z.B. Sprachausgabe), visuell und/oder in taktilen Formen über verschiedene Ausgabeschnittstellen (z.B. Lautsprecher 211, berührungsempfindliches Anzeigesystem 212, Tastausgabeerzeuger 267 usw.) der tragbaren Multifunktionsvorrichtung 200 bereitzustellen. Zum Beispiel kann die Ausgabe als Stimme, Ton, Warnungen, Textnachrichten, Menüs, Grafiken, Videos, Animationen, Vibrationen und/oder Kombinationen von zwei oder mehr der vorstehenden Elemente bereitgestellt werden. Während des Betriebs kann das Client-Modul des digitalen Assistenten 229 mit dem DA-Server 106 über die HF-Schaltlogik 208 kommunizieren. Die Begriffe „digitaler Assistent“, „virtueller Assistent“ und „persönlicher Assistent“ werden in diesem Dokument als Synonyme verwendet, sodass alle dieselbe Bedeutung haben.
-
Die Benutzerdaten und Modelle 231 können verschiedene, mit dem Benutzer verknüpfte Daten einschließen (z. B. benutzerspezifische Vokabulardaten, Benutzerpräferenzdaten, benutzerspezifische Namensaussprachen, Daten aus dem elektronischen Adressbuch des Benutzers, Aufgabenlisten, Einkaufslisten usw.), um die clientseitigen Funktionalitäten des digitalen Assistenten bereitzustellen. Des Weiteren können die Benutzerdaten und Modelle 231 verschiedene Modelle (z.B. Spracherkennungsmodelle, statistische Sprachmodelle, natürliche Sprachverarbeitungsmodelle, Ontologie, Aufgabenflussmodelle, Dienstmodelle usw.) zur Verarbeitung von Benutzereingaben und zur Feststellung der Benutzerintention einschließen.
-
In manchen Beispielen kann das Client-Modul des digitalen Assistenten 229 die verschiedenen Sensoren, Teilsysteme und Peripherievorrichtungen der tragbaren Multifunktionsvorrichtung 200 nutzen, um zusätzliche Informationen aus der Umgebung der tragbaren Multifunktionsvorrichtung 200 zusammenzutragen und einen Kontext im Zusammenhang mit einem Benutzer, einer aktuellen Benutzerinteraktion und/oder der aktuellen Benutzereingabe zu erstellen. In manchen Beispielen kann das Client-Modul des digitalen Assistenten 229 die Kontextinformationen oder eine Teilmenge davon mit der Benutzereingabe an den DA-Server 106 bereitstellen, um die Ableitung der Absicht des Benutzers zu unterstützen. In manchen Beispielen kann der digitale Assistent auch die Kontextinformationen verwenden, um zu bestimmen, wie Ausgaben an den Benutzer erstellt und übertragen werden. Kontextinformationen können auch als Kontextdaten bezeichnet werden.
-
In manchen Beispielen können die Kontextinformationen, welche die Benutzereingabe begleiten, Sensorinformationen einschließen, z.B. Beleuchtung, Umgebungsgeräusche, Umgebungstemperatur oder Bilder oder Videos der Umgebung usw. In manchen Beispielen können die Kontextinformationen außerdem den physischen Zustand der Vorrichtung beinhalten, z.B. Vorrichtungsausrichtung, Vorrichtungsstandort, Vorrichtungstemperatur, Leistungspegel, Geschwindigkeit, Beschleunigung, Bewegungsmuster, Mobilfunksignalstärke usw. In manchen Beispielen können Informationen in Bezug auf den Softwarestatus des DA-Servers 106, z.B. in Bezug auf ausgeführte Prozesse, installierte Programme, frühere und aktuelle Netzwerkaktivitäten, Hintergrunddienste, Fehlerprotokolle, Ressourcenauslastung usw. der tragbaren Multifunktionsvorrichtung 200 als mit einer Benutzereingabe verknüpfte Kontextinformationen für den DA-Server 106 bereitgestellt werden.
-
In manchen Beispielen kann das Client-Modul des digitalen Assistenten 229 infolge von Anfragen vom DA-Server 106 selektiv Informationen (z.B. Benutzerdaten 231) bereitstellen, die auf der tragbaren Multifunktionsvorrichtung 200 gespeichert sind. In manchen Beispielen kann das Client-Modul des digitalen Assistenten 229 auch zusätzliche Eingaben von dem Benutzer über einen Dialog in natürlicher Sprache oder andere Benutzerschnittstellen auf Anforderung durch den DA-Server 106 abrufen. Das Client-Modul des digitalen Assistenten 229 kann die zusätzliche Eingabe an den DA-Server 106 weiterleiten, um den DA-Server 106 bei der Ableitung der Absicht und/oder Erfüllung der in der Benutzeranfrage ausgedrückten Absicht des Benutzers zu unterstützen.
-
Eine detailliertere Beschreibung des digitalen Assistenten ist nachfolgend mit Bezugnahme auf 7A bis C beschrieben. Es sollte sich verstehen, dass das Client-Modul des digitalen Assistenten 229 jede beliebige Anzahl der Submodule des nachfolgend beschriebenen digitalen Assistenzmoduls 726 einschließen kann.
-
Die Anwendungen 236 können die folgenden Module (oder Anweisungssätze) oder eine Teilmenge oder eine Übermenge davon einschließen:
- • Kontaktemodul 237 (manchmal als Adressbuch oder Kontaktliste bezeichnet);
- • Telefonmodul 238;
- • Videokonferenzmodul 239;
- • E-Mail-Client-Modul 240;
- • Sofortnachrichtenvermittlungs(Instant Messaging (IM))-Modul 241;
- • Trainingsunterstützungsmodul 242;
- • Kameramodul 243 für Stand- und/oder Videobilder;
- • Bildverwaltungsmodul 244;
- • Videowiedergabeeinheitenmodul;
- • Musikwiedergabeeinheitenmodul;
- • Browser-Modul 247;
- • Kalendermodul 248;
- • Widget-Module 249, die eines oder mehreres einschließen können von: Wetter-Widget 249-1, Aktien-Widget 249-2, Rechner-Widget 249-3, Wecker-Widget 249-4, Wörterbuch-Widget 249-5 und andere vom Benutzer erhaltene sowie vom Benutzer erstellte Widgets 249-6;
- • Widget-Erstellungsmodul 250 zum Erzeugen von vom Benutzer erstellten Widgets 249-6;
- • Suchmodul 251;
- • Video- und Musikwiedergabeeinheitenmodul 252, welches ein Videowiedergabeeinheitenmodul und ein Musikwiedergabeeinheitenmodul vereint;
- • Notizenmodul 253;
- • Kartenmodul 254 und/oder
- • Online-Video-Modul 255.
-
Beispiele für andere Anwendungen 236, die im Speicher 202 gespeichert sein können, schließen andere Textverarbeitungsanwendungen, andere Bildbearbeitungsanwendungen, Zeichnungsanwendungen, Präsentationsanwendungen, JAVA-fähige Anwendungen, Verschlüsselung, digitale Rechteverwaltung, Spracherkennung und Stimmreplikation ein.
-
In Verbindung mit dem Touchscreen 212, der Anzeigesteuereinheit 256, dem Kontakt-/Bewegungsmodul 230, dem Grafikmodul 232 und dem Texteingabemodul 234 kann das Kontaktemodul 237 zum Verwalten eines Adressbuches oder einer Kontaktliste (z.B. in einem internen Anwendungszustand 292 des Kontaktemoduls 237 im Speicher 202 oder Speicher 470 gespeichert) verwendet werden, einschließlich: Hinzufügen von einem oder mehreren Namen zum Adressbuch; Löschen von einem oder mehreren Namen aus dem Adressbuch; Zuordnen von einer oder mehreren Telefonnummern, E-Mail-Adressen, physischen Adressen oder anderen Informationen zu einem Namen; Zuordnen eines Bildes zu einem Namen; Kategorisieren und Sortieren von Namen; Bereitstellen von Telefonnummern oder E-Mail-Adressen, um eine Kommunikation per Telefon 238, Videokonferenzmodul 239, E-Mail 240 oder IM 241 zu starten und/oder zu ermöglichen; und so weiter.
-
Das Telefonmodul 238 kann in Verbindung mit der HF-Schaltlogik 208, der Audioschaltlogik 210, dem Lautsprecher 211, dem Mikrofon 213, dem Touchscreen 212, der Anzeigesteuereinheit 256, dem Kontakt-/Bewegungsmodul 230, dem Grafikmodul 232 und dem Texteingabemodul 234 verwendet werden, um eine Folge von Zeichen einzugeben, die einer Telefonnummer entsprechen, auf eine oder mehrere Telefonnummern im Kontaktemodul 237 zuzugreifen, eine Telefonnummer, die eingegeben wurde, zu modifizieren, eine entsprechende Telefonnummer zu wählen, ein Gespräch zu führen und eine Verbindung zu trennen oder aufzulegen, wenn das Gespräch beendet ist. Wie oben erwähnt, kann die drahtlose Kommunikation beliebige von einer Mehrzahl von Kommunikationsstandards, -protokollen und -technologien verwenden.
-
In Verbindung mit der HF-Schaltlogik 208, der Audioschaltlogik 210, dem Lautsprecher 211, dem Mikrofon 213, dem Touchscreen 212, der Anzeigesteuereinheit 256, dem optischen Sensor 264, der Steuereinheit für optische Sensoren 258, dem Kontakt-/Bewegungsmodul 230, dem Grafikmodul 232, dem Texteingabemodul 234, dem Kontaktemodul 237 und dem Telefonmodul 238 schließt das Videokonferenzmodul 239 ausführbare Anweisungen ein, um eine Videokonferenz zwischen einem Benutzer und einem oder mehreren anderen Teilnehmern gemäß Benutzeranweisungen zu starten, zu führen und zu beenden.
-
In Verbindung mit der HF-Schaltlogik 208, dem Touchscreen 212, der Anzeigesteuereinheit 256, dem Kontakt-/Bewegungsmodul 230, dem Grafikmodul 232 und dem Texteingabemodul 234 schließt das E-Mail-Client-Modul 240 ausführbare Anweisungen ein, um als Reaktion auf Benutzeranweisungen E-Mails zu erstellen, zu senden, zu empfangen und zu verwalten. In Verbindung mit dem Bildverwaltungsmodul 244 macht es das E-Mail-Client-Modul 240 sehr leicht, E-Mails mit Stand- oder Videobildern, die mit dem Kameramodul 243 aufgenommen wurden, zu erstellen und zu versenden.
-
In Verbindung mit der HF-Schaltlogik 208, dem Touchscreen 212, der Anzeigesteuereinheit 256, dem Kontakt-/Bewegungsmodul 230, dem Grafikmodul 232 und dem Texteingabemodul 234 schließt das Instant-Messaging-Modul 241 ausführbare Anweisungen ein, um eine Folge von einer Sofortnachricht entsprechenden Zeichen einzugeben, zuvor eingegebene Zeichen zu modifizieren, eine entsprechende Sofortnachricht zu übertragen (z.B. unter Verwendung eines „Short Message Service“(SMS)- oder „Multimedia-Message Service“(MMS)-Protokolls für telefoniebasierte Sofortnachrichten oder unter Verwendung von XMPP, SIMPLE oder IMPS für internetbasierte Sofortnachrichten), Sofortnachrichten zu empfangen und empfangene Sofortnachrichten anzuzeigen. In manchen Ausführungsformen können übermittelte und/oder empfangene Sofortnachrichten Grafik, Fotos, Audiodateien, Videodateien und/oder andere Anhänge einschließen, wie sie in einem MMS-Dienst und/oder einem „Enhanced Messaging Service“ (EMS) unterstützt werden. Wie hierin verwendet, bezieht sich „Instant Messaging“ sowohl auf telefoniebasierte Nachrichten (z.B. unter Verwendung von SMS oder MMS gesendete Nachrichten) als auch auf internetbasierte Nachrichten (z.B. unter Verwendung von XMPP, SIMPLE oder IMPS gesendete Nachrichten).
-
In Verbindung mit der HF-Schaltlogik 208, dem Touchscreen 212, der Anzeigesteuereinheit 256, dem Kontakt-/Bewegungsmodul 230, dem Grafikmodul 232, dem Texteingabemodul 234, dem GPS-Modul 235, dem Kartenmodul 254 und dem Musikwiedergabeeinheitenmodul schließt das Trainingsunterstützungsmodul 242 ausführbare Anweisungen ein, um Trainings zu erstellen (z.B. mit Zeit-, Strecken- und/oder Kalorienverbrauchszielen); mit Trainingssensoren (Sportvorrichtungen) zu kommunizieren; Trainingssensordaten zu empfangen; Sensoren zu kalibrieren, die verwendet werden, um ein Training zu überwachen; Musik für ein Training auszuwählen und wiederzugeben und Trainingsdaten anzuzeigen, zu speichern und zu übertragen.
-
In Verbindung mit dem Touchscreen 212, der Anzeigesteuereinheit 256, dem/den optischen Sensor(en) 264, der Steuereinheit für optische Sensoren 258, dem Kontakt-/Bewegungsmodul 230, dem Grafikmodul 232 und dem Bildverwaltungsmodul 244 schließt das Kameramodul 243 ausführbare Anweisungen zum Erfassen von Standbildern oder Videos (einschließlich eines Video-Streams) und zum Speichern derselben im Speicher 202, zum Ändern der Eigenschaften eines Standbildes oder Videos oder zum Löschen eines Standbildes oder Videos aus dem Speicher 202 ein.
-
In Verbindung mit dem Touchscreen 212, der Anzeigesteuereinheit 256, dem Kontakt-/Bewegungsmodul 230, dem Grafikmodul 232, dem Texteingabemodul 234 und dem Kameramodul 243 schließt das Bildverwaltungsmodul 244 ausführbare Anweisungen zum Anordnen, Verändern (z.B. Bearbeiten) oder zum anderweitigen Manipulieren, Kennzeichnen, Löschen, Präsentieren (z.B. in einer digitalen Diashow oder einem digitalen Album) und Speichern von Stand- und/oder Videobildern ein.
-
In Verbindung mit der HF-Schaltlogik 208, dem Touchscreen 212, der Anzeigesteuereinheit 256, dem Kontakt-/Bewegungsmodul 230, dem Grafikmodul 232 und dem Texteingabemodul 234 schließt das Browser-Modul 247 ausführbare Anweisungen ein, um im Internet gemäß Benutzeranweisungen zu surfen, einschließlich Suchen von, Verknüpfen mit, Empfangen und Anzeigen von Webseiten oder Abschnitten davon sowie von Anhängen und anderen Dateien, die mit Webseiten verknüpft sind.
-
In Verbindung mit der HF-Schaltlogik 208, dem Touchscreen 212, der Anzeigesteuereinheit 256, dem Kontakt-/Bewegungsmodul 230, dem Grafikmodul 232, dem Texteingabemodul 234, dem E-Mail-Client-Modul 240 und dem Browser-Modul 247 schließt das Kalendermodul 248 ausführbare Anweisungen ein, um Kalender und Kalendern zugeordnete Daten (z.B. Kalendereinträge, Aufgabenlisten usw.) gemäß Benutzeranweisungen zu erzeugen, anzuzeigen, zu modifizieren und zu speichern.
-
In Verbindung mit der HF-Schaltlogik 208, dem Touchscreen 212, der Anzeigesteuereinheit 256, dem Kontakt-/Bewegungsmodul 230, dem Grafikmodul 232, dem Texteingabemodul 234 und dem Browser-Modul 247 handelt es sich bei den Widget-Modulen 249 um Minianwendungen, die durch einen Benutzer heruntergeladen und verwendet werden können (z.B. das Wetter-Widget 249-1, das Aktien-Widget 249-2, das Rechner-Widget 249-3, das Wecker-Widget 249-4 und das Wörterbuch-Widget 249-5) oder durch den Benutzer erstellt werden können (z. B. das vom Benutzer erstellte Widget 249-6). In manchen Ausführungsformen schließt ein Widget eine HTML-Datei (Hypertext Markup Language-Datei), eine CSS-Datei (Cascading Style Sheets-Datei) und eine JavaScript-Datei ein. In manchen Ausführungsformen schließt ein Widget eine XML-Datei (Extensible Markup Language-Datei) und eine JavaScript-Datei (z. B. Yahoo!-Widgets) ein.
-
Das Widget-Erstellungsmodul 250 kann in Verbindung mit der HF-Schaltlogik 208, dem Touchscreen 212, der Anzeigesteuereinheit 256, dem Kontakt-/Bewegungsmodul 230, dem Grafikmodul 232, dem Texteingabemodul 234 und dem Browser-Modul 247 durch einen Benutzer verwendet werden, um Widgets zu erstellen (z.B. einen benutzerdefinierten Abschnitt einer Webseite zu einem Widget zu machen).
-
In Verbindung mit dem Touchscreen 212, der Anzeigesteuereinheit 256, dem Kontakt-/Bewegungsmodul 230, dem Grafikmodul 232 und dem Texteingabemodul 234 schließt das Suchmodul 251 ausführbare Anweisungen ein, um gemäß Benutzeranweisungen nach Text-, Musik-, Ton-, Bild-, Video- und/oder anderen Dateien im Speicher 202 zu suchen, die einem oder mehreren Suchkriterien entsprechen (z.B. einem oder mehreren benutzerspezifizierten Suchbegriffen).
-
In Verbindung mit dem Touchscreen 212, der Anzeigesteuereinheit 256, dem Kontakt-/Bewegungsmodul 230, dem Grafikmodul 232, der Audioschaltlogik 210, dem Lautsprecher 211, der HF-Schaltlogik 208 und dem Browser-Modul 247 schließt das Video- und Musikwiedergabeeinheitenmodul 252 ausführbare Anweisungen ein, die es dem Benutzer ermöglichen, aufgezeichnete Musik- und andere Tondateien herunterzuladen und wiederzugeben, die in einem oder mehreren Dateiformaten gespeichert sind, wie beispielsweise MP3- oder AAC-Dateien, und ausführbare Anweisungen, um Videos (z.B. auf dem Touchscreen 212 oder einer externen verbundenen Anzeige über den externen Anschluss 224) anzuzeigen, zu präsentieren oder anderweitig wiederzugeben. In manchen Ausführungsformen schließt die Vorrichtung 200 optional die Funktionalität eines MP3-Players wie beispielsweise eines iPod (Marke von Apple Inc.) ein.
-
In Verbindung mit dem Touchscreen 212, der Anzeigesteuereinheit 256, dem Kontakt-/Bewegungsmodul 230, dem Grafikmodul 232 und dem Texteingabemodul 234 schließt das Notizenmodul 253 ausführbare Anweisungen ein, um gemäß Benutzeranweisungen Notizen, Aufgabenlisten und dergleichen zu erstellen und zu verwalten.
-
Das Kartenmodul 254 kann in Verbindung mit der HF-Schaltlogik 208, dem Touchscreen 212, der Anzeigesteuereinheit 256, dem Kontakt-/Bewegungsmodul 230, dem Grafikmodul 232, dem Texteingabemodul 234, dem GPS-Modul 235 und dem Browser-Modul 247 verwendet werden, um Karten sowie den Karten zugeordnete Daten (z.B. Fahrtrichtungen, Daten über Geschäfte und andere Punkte von Interesse an einem bestimmten Ort oder in dessen Nähe und andere ortsbezogene Daten) gemäß Benutzeranweisungen zu empfangen, anzuzeigen, zu modifizieren und zu speichern.
-
In Verbindung mit dem Touchscreen 212, der Anzeigesteuereinheit 256, dem Kontakt-/Bewegungsmodul 230, dem Grafikmodul 232, der Audioschaltlogik 210, dem Lautsprecher 211, der HF-Schaltlogik 208, dem Texteingabemodul 234, dem E-Mail-Client-Modul 240 und dem Browser-Modul 247 schließt das Online-Video-Modul 255 Anweisungen ein, die es dem Benutzer erlauben, auf eine E-Mail mit einem Link zu einem bestimmten Online-Video zuzugreifen, diese zu durchsuchen, zu empfangen (z.B. durch Streaming und/oder Download), wiederzugeben (z.B. auf dem Touchscreen oder einer externen verbundenen Anzeige über den externen Anschluss 224) oder zu senden und Online-Videos in einem oder mehreren Dateiformaten, wie beispielsweise H.264, anderweitig zu verwalten. In manchen Ausführungsformen wird das Instant-Messaging-Modul 241 anstelle des E-Mail-Client-Moduls 240 verwendet, um einen Link zu einem bestimmten Online-Video zu senden. Eine zusätzliche Beschreibung der Online-Video-Anwendung sind in der am 20. Juni 2007 eingereichten, vorläufigen US-Patentanmeldung Nr. 60/936 562, „Portable Multifunction Device, Method, and Graphical User Interface for Playing Online Videos“ und der am 31. Dezember 2007 eingereichten US-Patentanmeldung Nr. 11/968 067, „Portable Multifunction Device, Method, and Graphical User Interface for Playing Online Videos“ zu finden, deren Inhalte hiermit durch Bezugnahme in ihrer Gesamtheit aufgenommen werden.
-
Jedes der vorstehend angegebenen Module und jede der vorstehend angegebenen Anwendungen entspricht einem Satz von ausführbaren Anweisungen zum Durchführen einer oder mehrerer vorstehend beschriebener Funktionen und der in dieser Anmeldung beschriebenen Verfahren (z. B. der computerimplementierten Verfahren und anderer hierin beschriebener Informationsverarbeitungsverfahren). Diese Module (z. B. Anweisungssätze) müssen nicht als separate Software-Programme, Vorgehensweisen oder Module implementiert werden, und somit können verschiedene Teilmengen dieser Module in verschiedenen Ausführungsformen kombiniert oder anderweitig neu angeordnet werden. Zum Beispiel kann das Videowiedergabeeinheitenmodul mit dem Musikwiedergabeeinheitenmodul in einem einzigen Modul kombiniert werden (z.B. dem Video- und Musikwiedergabeeinheitenmodul 252, 2A). In manchen Ausführungsformen kann im Speicher 202 eine Teilmenge der oben genannten Module und Datenstrukturen gespeichert sein. Des Weiteren können im Speicher 202 zusätzliche Module und Datenstrukturen gespeichert sein, die vorstehend nicht beschrieben wurden.
-
In manchen Ausführungsformen handelt es sich bei der Vorrichtung 200 um eine Vorrichtung, bei der das Betreiben eines vordefinierten Satzes von Funktionen auf der Vorrichtung ausschließlich durch einen Touchscreen und/oder ein Touchpad durchgeführt wird. Durch Verwenden eines Touchscreens und/oder Touchpads als die primäre Eingabesteuervorrichtung für den Betrieb der Vorrichtung 200 kann die Anzahl der physischen Eingabesteuervorrichtungen (wie beispielsweise Drucktasten, Wählscheiben und dergleichen) auf der Vorrichtung 200 verringert werden.
-
Der vordefinierte Satz von Funktionen, die ausschließlich durch einen Touchscreen und/oder ein Touchpad durchgeführt werden, schließt optional die Navigation zwischen Benutzerschnittstellen ein. In manchen Ausführungsformen navigiert das Touchpad, wenn es vom Benutzer berührt wird, die Vorrichtung 200 von jeglicher Benutzerschnittstelle, die auf der Vorrichtung 200 angezeigt wird, zu einem Haupt-, Start- oder Stammmenü. In solchen Ausführungsformen wird eine „Menüschaltfläche“ unter Verwendung eines Touchpads implementiert. In manchen weiteren Ausführungsformen ist die Menüschaltfläche eine physische Drucktaste oder eine andere physische Eingabesteuervorrichtung anstelle eines Touchpads.
-
2B ist ein Blockdiagramm, das beispielhafte Komponenten zum Ereignisabwickeln gemäß manchen Ausführungsformen veranschaulicht. In manchen Ausführungsformen schließt der Speicher 202 (2A) oder 470 (4) einen Ereignissortierer 270 (z.B. im Betriebssystem 226) und eine entsprechende Anwendung 236-1 (z.B. eine beliebige der vorgenannten Anwendungen 237 bis 251, 255, 480 bis 490) ein.
-
Der Ereignissortierer 270 empfängt Ereignisinformationen und bestimmt die Anwendung 236-1 und die Anwendungsansicht 291 der Anwendung 236-1, an die die Ereignisinformationen gesendet werden sollen. Der Ereignissortierer 270 schließt einen Ereignismonitor 271 und ein Ereignisweitergabemodul 274 ein. In manchen Ausführungsformen schließt die Anwendung 236-1 den internen Anwendungszustand 292 ein, der die aktuelle(n) Anwendungsansicht oder Anwendungsansichten angibt, die auf der berührungsempfindlichen Anzeige 212 angezeigt wird bzw. werden, wenn die Anwendung aktiv ist oder ausgeführt wird. In manchen Ausführungsformen wird der vorrichtungsbezogene/globale interne Zustand 257 durch den Ereignissortierer 270 verwendet, um festzustellen, welche Anwendung oder Anwendungen aktuell aktiv sind, und der interne Anwendungszustand 292 wird durch den Ereignissortierer 270 verwendet, um die Anwendungsansichten 291 festzustellen, an die Ereignisinformationen gesendet werden sollen.
-
In manchen Ausführungsformen schließt der interne Anwendungsstatus 292 zusätzliche Informationen, wie beispielsweise eines oder mehrere ein von:
Wiederaufnahmeinformationen zur Verwendung, wenn die Ausführung der Anwendung 236-1 wiederaufgenommen wird, Benutzerschnittstellenzustandsinformationen, die angeben, dass Informationen bereits angezeigt werden oder bereit sind zur Anzeige durch die Anwendung 236-1, einen Zustandspuffer, um es dem Benutzer zu ermöglichen, zu einem vorherigen Zustand oder einer vorherigen Ansicht der Anwendung 236-1 zurückzukehren, und/oder einen Wiederherstellen-/Rückgängigmachen-Puffer für zuvor vom Benutzer ausgeführte Aktionen.
-
Der Ereignismonitor 271 empfängt Ereignisinformationen von der Peripherieeinheitenschnittstelle 218. Ereignisinformationen schließen Informationen bezüglich eines Teilereignisses (z.B. eine Berührung eines Benutzers auf der berührungsempfindlichen Anzeige 212 als Teil einer Geste mit mehreren Berührungen) ein.
-
Die Peripherieeinheitenschnittstelle 218 überträgt Informationen, die sie vom E/A-Teilsystem 206 oder von einem Sensor, wie beispielsweise dem Näherungssensor 266, von den Beschleunigungsmesser(n) 268 und/oder vom Mikrofon 213 (über die Audioschaltlogik 210) empfängt. Informationen, die die Peripherieeinheitenschnittstelle 218 vom E/A-Teilsystem 206 empfängt, schließen Informationen von der berührungsempfindlichen Anzeige 212 oder von einer berührungsempfindlichen Oberfläche ein.
-
In manchen Ausführungsformen sendet der Ereignismonitor 271 in vorgegebenen Intervallen Anforderungen an die Peripherieeinheitenschnittstelle 218. Als Reaktion darauf übermittelt die Peripherieeinheitenschnittstelle 218 Ereignisinformationen. In anderen Ausführungsformen überträgt die Peripherieeinheitenschnittstelle 218 Ereignisinformationen nur, wenn es ein signifikantes Ereignis gibt (z.B. Empfangen einer Eingabe über einem vorbestimmten Lärmschwellenwert und/oder länger als eine vorbestimmte Dauer).
-
In manchen Ausführungsformen schließt der Ereignissortierer 270 auch ein Trefferansichtbestimmungsmodul 272 und/oder ein Bestimmungsmodul eines Erkenners eines aktiven Ereignisses 273 ein.
-
Das Trefferansichtbestimmungsmodul 272 stellt Softwareprozeduren bereit, um festzustellen, wo ein Teilereignis innerhalb einer oder mehrerer Ansichten stattgefunden hat, wenn die berührungsempfindliche Anzeige 212 mehr als eine Ansicht anzeigt. Die Ansichten bestehen aus Steuerungen und anderen Elementen, die ein Benutzer auf der Anzeige sehen kann.
-
Ein weiterer Aspekt der mit einer Anwendung assoziierten Benutzeroberfläche ist ein Satz von Ansichten, die hierin mitunter als Anwendungsansichten oder Benutzeroberflächenfenster bezeichnet werden, in denen Informationen angezeigt werden und auf Berührung basierende Gesten stattfinden. Die Anwendungsansichten (einer jeweiligen Anwendung), bei denen eine Berührung erfasst wird, können programmatischen Ebenen innerhalb einer programmatischen oder Ansichtshierarchie der Anwendung entsprechen. Zum Beispiel kann die Ansicht der niedrigsten Ebene, in der eine Berührung erfasst wird, als Trefferansicht bezeichnet werden, und der Satz von Ereignissen, die als korrekte Eingaben erkannt werden, kann mindestens teilweise basierend auf der Trefferansicht der ursprünglichen Berührung, die eine auf Berührung basierende Geste einleitet, festgestellt werden.
-
Das Trefferansichtbestimmungsmodul 272 empfängt Informationen bezüglich Teilereignissen einer auf Berührung basierenden Geste. Wenn eine Anwendung verschiedene, in einer Hierarchie geordnete Ansichten aufweist, identifiziert das Trefferansichtbestimmungsmodul 272 eine Trefferansicht als die niedrigste Ansicht in der Hierarchie, die das Teilereignis handhaben sollte. Unter den meisten Umständen handelt es sich bei der Trefferansicht um die Ansicht der niedrigsten Ebene, in der ein initiierendes Teilereignis auftritt (z.B. das erste Teilereignis in der Folge von Teilereignissen, die ein Ereignis oder potenzielles Ereignis bilden). Sobald die Trefferansicht von dem Trefferansichtbestimmungsmodul 272 erkannt wurde, empfängt die Trefferansicht in der Regel alle Teilereignisse, die mit derselben Berührung oder Eingabequelle zusammenhängen, für die sie als die Trefferansicht identifiziert wurde.
-
Das Bestimmungsmodul eines Erkenners eines aktiven Ereignisses 273 bestimmt, welche Ansicht oder welche Ansichten innerhalb einer Ansichtshierarchie eine bestimmte Folge von Teilereignissen empfangen sollte(n). In manchen Ausführungsformen bestimmt das Bestimmungsmodul eines Erkenners eines aktiven Ereignisses 273, dass nur die Trefferansicht eine bestimmte Folge von Teilereignissen empfangen sollte. In anderen Ausführungsformen bestimmt das Bestimmungsmodul eines Erkenners eines aktiven Ereignisses 273, dass alle Ansichten, die die physische Stelle eines Teilereignisses einschließen, aktiv beteiligte Ansichten sind, und bestimmt somit, dass alle aktiv beteiligten Ansichten eine bestimmte Folge von Teilereignissen empfangen sollten. In anderen Ausführungsformen würden selbst dann, wenn Berührungsteilereignisse ausschließlich auf den mit einer bestimmten Ansicht assoziierten Bereich beschränkt wären, in der Hierarchie höher gestellte Ansichten immer noch aktive beteiligte Ansichten verbleiben.
-
Das Ereignisweitergabemodul 274 gibt die Ereignisinformationen an einen Ereigniserkenner (z.B. einen Ereigniserkenner 280) weiter. In Ausführungsformen, die das Bestimmungsmodul eines Erkenners eines aktiven Ereignisses 273 einschließen, sendet das Ereignisweitergabemodul 274 die Ereignisinformationen an einen Ereigniserkenner, dervom Bestimmungsmodul eines Erkenners eines aktiven Ereignisses 273 bestimmt wird. In manchen Ausführungsformen speichert das Ereignisweitergabemodul 274 in einer Ereigniswarteschlange die Ereignisinformationen, die durch einen entsprechenden Ereignisempfänger 282 abgerufen werden.
-
In manchen Ausführungsformen schließt das Betriebssystem 226 den Ereignissortierer 270 ein.Alternativ dazu schließt die Anwendung 236-1 den Ereignissortierer 270 ein. In noch weiteren Ausführungsformen ist der Ereignissortierer 270 ein eigenständiges Modul oder ein Teil eines anderen im Speicher 202 gespeicherten Moduls, wie beispielsweise des Kontakt-/Bewegungsmoduls 230.
-
In manchen Ausführungsformen schließt die Anwendung 236-1 eine Mehrzahl von Ereignishandhabern 290 und eine oder mehrere Anwendungsansichten 291 ein, von denen jede Anweisungen zum Handhaben von Berührungsereignissen einschließt, die innerhalb einer jeweiligen Ansicht der Benutzerschnittstelle der Anwendung vorkommen. Jede Anwendungsansicht 291 der Anwendung 236-1 schließt eine oder mehrere Ereigniserkenner 280 ein. In der Regel schließt eine jeweilige Anwendungsansicht 291 eine Mehrzahl von Ereigniserkenner 280 ein. In anderen Ausführungsformen sind eine oder mehrere Ereigniserkenner 280 Teil eines separaten Moduls, wie beispielsweise eines (nicht gezeigten) Benutzerschnittstellenkits oder eines Objekts einer höheren Ebene, von dem die Anwendung 236-1 Verfahren und andere Eigenschaften übernimmt. In manchen Ausführungsformen schließt ein betreffender Ereignishandhaber 290 eines oder mehrere ein von: einem Datenaktualisierer 276, einem Objektaktualisierer 277, einem GUI-Aktualisierer 278 und/oder Ereignisdaten 279, die vom Ereignissortierer 270 empfangen werden. Der Ereignishandhaber 290 kann den Datenaktualisierer 276, den Objektaktualisierer 277 oder den GUI-Aktualisierer 278 verwenden oder aufrufen, um den internen Anwendungszustand 292 zu aktualisieren. Alternativ dazu schließen eine oder mehrere der Anwendungsansichten 291 einen oder mehrere entsprechende Ereignishandhaber 290 ein. Auch sind in manchen Ausführungsformen eines oder mehrere von dem Datenaktualisierer 276, dem Objektaktualisierer 277 und dem GUI-Aktualisierer 278 in einer jeweiligen Anwendungsansicht 291 eingeschlossen.
-
Ein entsprechender Ereigniserkenner 280 empfängt Ereignisinformationen (z.B. die Ereignisdaten 279) vom Ereignissortierer 270 und identifiziert ein Ereignis aus den Ereignisinformationen. Der Ereigniserkenner 280 schließt einen Ereignisempfänger 282 und einen Ereignisvergleicher 284 ein. In manchen Ausführungsformen schließt der Ereigniserkenner 280 auch mindestens eine Teilmenge ein von: Metadaten 283 und Ereigniszustellungsanweisungen 288 (die Teilereigniszustellungsanweisungen einschließen können).
-
Der Ereignisempfänger 282 empfängt Ereignisinformationen vom Ereignissortierer 270. Die Ereignisinformationen schließen Informationen bezüglich eines Teilereignisses, zum Beispiel einer Berührung oder einer Berührungsbewegung, ein. Je nach dem Teilereignis schließen die Ereignisinformationen auch zusätzliche Informationen, wie beispielsweise die Position des Teilereignisses ein. Wenn das Teilereignis die Bewegung einer Berührung betrifft, können die Ereignisinformationen auch Schnelligkeit und Richtung des Teilereignisses einschließen. In manchen Ausführungsformen schließen Ereignisse das Drehen der Vorrichtung von einer Ausrichtung in eine andere (z.B. von einer Hochformatausrichtung in eine Querformatausrichtung oder umgekehrt) ein, und die Ereignisinformationen schließen entsprechende Informationen bezüglich der aktuellen Ausrichtung der Vorrichtung (auch als räumliche Lage der Vorrichtung bezeichnet) ein.
-
Der Ereignisvergleicher 284 vergleicht die Ereignisinformationen mit vordefinierten Ereignis- oder Teilereignisdefinitionen und bestimmt, basierend auf dem Vergleich, ein Ereignis oder ein Teilereignis oder bestimmt oder aktualisiert den Zustand eines Ereignisses oder eines Teilereignisses. In manchen Ausführungsformen schließt der Ereignisvergleicher 284 Ereignisdefinitionen 286 ein. Die Ereignisdefinitionen 286 enthalten Definitionen von Ereignissen (z.B. vordefinierte Abfolgen von Teilereignissen), beispielsweise Ereignis 1 (287-1), Ereignis 2 (287-2) und andere. In manchen Ausführungsformen schließen Teilereignisse in einem Ereignis (287) zum Beispiel Berührungsbeginn, Berührungsende, Berührungsbewegung, Berührungsabbruch und mehrfaches Berühren ein. In einem bestimmten Beispiel ist die Definition für das Ereignis 1 (287-1) ein doppeltes Tippen auf ein angezeigtes Objekt. Das doppelte Tippen umfasst zum Beispiel eine erste Berührung (Berührungsbeginn) auf dem angezeigten Objekt für eine vorbestimmte Phase, ein erstes Abheben (Berührungsende) für eine vorbestimmte Phase, eine zweite Berührung (Berührungsbeginn) auf dem angezeigten Objekt für eine vorbestimmte Phase und ein zweites Abheben (Berührungsende) für eine vorbestimmte Phase. In einem weiteren Beispiel ist die Definition für das Ereignis 2 (287-2) ein Ziehen auf einem angezeigten Objekt. Das Ziehen umfasst zum Beispiel eine Berührung (oder einen Kontakt) auf dem angezeigten Objekt für eine vorbestimmte Phase, eine Bewegung der Berührung über die berührungsempfindliche Anzeige 212 und ein Abheben der Berührung (Berührungsende). In manchen Ausführungsformen schließt das Ereignis auch Informationen für einen oder mehrere verbundene Ereignishandhaber 290 ein.
-
In manchen Ausführungsformen schließt die Ereignisdefinition 287 eine Definition eines Ereignisses für ein betreffendes Benutzerschnittstellenobjekt ein. In manchen Ausführungsformen führt der Ereignisvergleicher 284 einen Treffertest durch, um zu bestimmen, welches Benutzerschnittstellenobjekt mit einem Teilereignis verbunden ist.
-
In einer Anwendungsansicht, in der drei Benutzerschnittstellenobjekte auf der berührungsempfindlichen Anzeige 212 angezeigt werden, führt zum Beispiel der Ereignisvergleicher 284, wenn eine Berührung auf der berührungsempfindlichen Anzeige 212 erfasst wird, einen Treffertest durch, um zu bestimmen, welches der drei Benutzerschnittstellenobjekte mit der Berührung (Teilereignis) verbunden ist. Wenn jedes angezeigte Objekt mit einem betreffenden Ereignishandhaber 290 verbunden ist, verwendet der Ereignisvergleicher das Ergebnis des Treffertests, um zu bestimmen, welcher Ereignishandhaber 290 aktiviert werden sollte. Zum Beispiel wählt der Ereignisvergleicher 284 einen Ereignishandhaber aus, der mit dem Teilereignis und dem den Treffertest auslösenden Objekt verbunden ist.
-
In manchen Ausführungsformen schließt die Definition für ein jeweiliges Ereignis (287) auch verzögerte Aktionen ein, die eine Zustellung der Ereignisinformationen verzögern, bis ermittelt wurde, ob die Abfolge von Teilereignissen dem Ereignistyp des Ereigniserkenners entspricht oder nicht.
-
Wenn ein betreffender Ereigniserkenner 280 bestimmt, dass die Abfolge von Teilereignissen keinem der Ereignisse in den Ereignisdefinitionen 286 entspricht, tritt der betreffende Ereigniserkenner 280 in einen Ereignis-unmöglich-Zustand, einen Ereignis-fehlgeschlagen-Zustand oder einen Ereignis-beendet-Zustand ein, wonach es nachfolgende Teilereignisse der auf Berührung basierenden Geste außer Acht lässt. In dieser Situation fahren, sofern vorhanden, andere Ereigniserkenner, die für die Trefferansicht aktiv bleiben, mit dem Nachverfolgen und Verarbeiten von Teilereignissen einer stattfindenden, auf Berührung basierenden Geste fort.
-
In manchen Ausführungsformen schließt ein betreffender Ereigniserkenner 280 Metadaten 283 mit konfigurierbaren Eigenschaften, Hinweissymbolen und/oder Listen ein, die angeben, wie das Ereigniszustellungssystem die Zustellung von Teilereignissen zu aktiv beteiligten Ereigniserkennern durchführen sollte. In manchen Ausführungsformen schließen die Metadaten 283 konfigurierbare Eigenschaften, Hinweissymbole und/oder Listen ein, die angeben, wie Ereigniserkenner miteinander interagieren können oder wie ihnen die Interaktion untereinander ermöglicht werden kann. In manchen Ausführungsformen schließen die Metadaten 283 konfigurierbare Eigenschaften, Hinweissymbole und/oder Listen ein, die angeben, ob Teilereignisse an unterschiedliche Ebenen in der Ansichts- oder programmatischen Hierarchie zugestellt werden.
-
In manchen Ausführungsformen aktiviert ein betreffender Ereigniserkenner 280 den mit einem Ereignis verbundenen Ereignishandhaber 290, wenn ein oder mehrere bestimmte Teilereignisse eines Ereignisses erkannt werden. In manchen Ausführungsformen stellt ein betreffender Ereigniserkenner 280 dem Ereignishandhaber 290 mit dem Ereignis verbundene Ereignisinformationen zu. Das Aktivieren eines Ereignishandhabers 290 unterscheidet sich vom Senden (und vom verzögerten Senden) von Teilereignissen an eine betreffende Trefferansicht. In manchen Ausführungsformen löst der Ereigniserkenner 280 ein mit dem erkannten Ereignis verbundenes Hinweissymbol aus, und der mit dem Hinweissymbol verbundene Ereignishandhaber 290 erfasst das Hinweissymbol und führt einen vordefinierten Prozess aus.
-
In manchen Ausführungsformen schließen die Ereigniszustellungsanweisungen 288 Teilereigniszustellungsanweisungen ein, die Ereignisinformationen bezüglich eines Teilereignisses zustellen, ohne einen Ereignishandhaber zu aktivieren. Stattdessen stellen die Teilereigniszustellungsanweisungen den mit der Abfolge von Teilereignissen oder mit den aktiv beteiligten Ansichten verknüpften Ereignishandhabern Ereignisinformationen zu. Die mit der Abfolge von Teilereignissen oder mit den aktiv beteiligten Ansichten assoziierten Ereignishandhaber empfangen die Ereignisinformationen und führen einen vordefinierten Prozess durch.
-
In manchen Ausführungsformen erstellt und aktualisiert der Datenaktualisierer 276 in der Anwendung 236-1 verwendete Daten. Zum Beispiel aktualisiert der Datenaktualisierer 276 die im Kontaktemodul 237 verwendete Telefonnummer oder speichert eine im Videowiedergabeeinheitenmodul verwendete Videodatei. In manchen Ausführungsformen erstellt und aktualisiert der Objektaktualisierer 277 in der Anwendung 236-1 verwendete Objekte. Zum Beispiel erstellt der Objektaktualisierer 277 ein neues Benutzerschnittstellenobjekt oder aktualisiert die Position eines Benutzerschnittstellenobjekts. Der GUI-Aktualisierer 278 aktualisiert die GUI. Zum Beispiel bereitet der GUI-Aktualisierer 278 Anzeigeinformationen vor und sendet sie zur Anzeige auf einer berührungsempfindlichen Anzeige an das Grafikmodul 232.
-
In manchen Ausführungsformen schließen der eine oder die mehreren Ereignishandhaber 290 den Datenaktualisierer 276, den Objektaktualisierer 277 und den GUI-Aktualisierer 278 ein oder haben Zugriff auf diese. In manchen Ausführungsformen sind der Datenaktualisierer 276, der Objektaktualisierer 277 und der GUI-Aktualisierer 278 in einem einzigen Modul einer entsprechenden Anwendung 236-1 oder Anwendungsansicht 291 eingeschlossen. In anderen Ausführungsformen sind sie in zwei oder mehr Softwaremodulen eingeschlossen.
-
Es sollte verstanden werden, dass die vorstehende Erläuterung hinsichtlich eines Ereignishandhabens von Benutzerberührungen auf berührungsempfindlichen Anzeigen auch für andere Formen von Benutzereingaben zum Betreiben von Multifunktionsvorrichtungen 200 mit Eingabevorrichtungen gilt, von denen nicht alle auf Touchscreens initiiert werden. Zum Beispiel werden eine Mausbewegung und Maustastendrücke, die optional mit einem einzelnen oder mehrmaligen Drücken oder Halten der Tastatur koordiniert sind; Kontaktbewegungen, wie beispielsweise Tippen, Ziehen, Scrollen usw. auf Touchpads; Stifteingaben; Bewegung der Vorrichtung; mündliche Anweisungen; erfasste Augenbewegungen, biometrische Eingaben; und/oder eine beliebige Kombination davon optional als Eingaben verwendet, die Teilereignissen entsprechen, die ein zu erkennendes Ereignis definieren.
-
3 veranschaulicht eine tragbare Multifunktionsvorrichtung 200 mit einem Touchscreen 212 gemäß manchen Ausführungsformen. Der Touchscreen zeigt optional eine oder mehrere Grafiken innerhalb der Benutzeroberfläche (UI) 300 an. In dieser Ausführungsform sowie in anderen nachstehend beschriebenen Ausführungsformen wird es einem Benutzer ermöglicht, eine oder mehrere der Grafiken auszuwählen, indem er eine Geste auf den Grafiken ausführt, zum Beispiel mit einem oder mehreren Fingern 302 (in der Figur nicht maßstabsgetreu gezeichnet) oder einem oder mehreren Eingabestiften 303 (in der Figur nicht maßstabsgetreu gezeichnet). In manchen Ausführungsformen findet die Auswahl von einer oder mehreren Grafiken statt, wenn der Benutzer den Kontakt mit der einen oder den mehreren Grafiken abbricht. In manchen Ausführungsformen schließt die Geste ein- oder mehrmaliges Tippen, eine oder mehrere Wischbewegungen (von links nach rechts, rechts nach links, aufwärts und/oder abwärts) und/oder eine Rollbewegung eines Fingers (von rechts nach links, links nach rechts, aufwärts und/oder abwärts), der Kontakt mit der Vorrichtung 200 aufgenommen hat, ein. In manchen Implementierungen oder in manchen Fällen wird durch einen versehentlichen Kontakt mit einer Grafik die Grafik nicht ausgewählt. Zum Beispiel wird durch eine Wischgeste, die über ein Anwendungssymbol wischt, optional nicht die entsprechende Anwendung gewählt, wenn die der Auswahl entsprechende Geste ein Tippen ist.
-
Die Vorrichtung 200 kann auch eine oder mehrere physische Tasten, wie beispielsweise eine „Home“- oder eine Menütaste 304, aufweisen. Wie zuvor beschrieben, kann die Menütaste 304 dazu verwendet werden, zu einer beliebigen Anwendung 236 in einem Satz von Anwendungen, die auf der Vorrichtung 200 ausführbar sind, zu navigieren.
-
Alternativ dazu ist in manchen Ausführungsformen die Menütaste als Softtaste in einer GUI implementiert, die auf dem Touchscreen 212 angezeigt wird.
-
In einer bestimmten Ausführungsform schließt die Vorrichtung 200 den Touchscreen 212, die Menütaste 304, eine Drucktaste 306 zum Ein-/Ausschalten und Sperren der Vorrichtung, eine oder mehrere Lautstärkeregelungstaste(n) 308, einen „Subscriber Identity Module“(SIM)-Kartenschlitz 310, eine Headsetbuchse 312 und den externen Docking-/Ladeanschluss 224 ein. Die Drucktaste 306 wird optional dazu verwendet, um die Vorrichtung ein-/auszuschalten, indem die Taste gedrückt und über einen vordefinierten Zeitraum in der gedrückten Stellung gehalten wird; um die Vorrichtung zu sperren, indem die Taste gedrückt und wieder losgelassen wird, bevor der vordefinierte Zeitraum verstrichen ist; und/oder um die Sperre der Vorrichtung aufzuheben oder einen Entsperrungsvorgang einzuleiten. In einer alternativen Ausführungsform nimmt die Vorrichtung 200 auch verbale Eingaben zur Aktivierung oder Deaktivierung mancher Funktionen durch das Mikrofon 213 an. Die Vorrichtung 200 schließt optional auch einen oder mehrere Kontaktintensitätssensoren 265 zum Erfassen der Intensität von Kontakten auf dem Touchscreen 212 und/oder einen oder mehrere Tastausgabeerzeuger 267 zum Erzeugen von Tastausgaben für einen Benutzer der Vorrichtung 200 ein.
-
4 ist ein Blockdiagramm einer beispielhaften Multifunktionsvorrichtung mit einer Anzeige und einer berührungsempfindlichen Oberfläche gemäß manchen Ausführungsformen. Eine Vorrichtung 400 muss nicht tragbar sein. In manchen Ausführungsformen handelt es sich bei der Vorrichtung 400 um einen Laptop-Computer, einen Desktop-Computer, einen Tablet-Computer, eine Multimediawiedergabevorrichtung, eine Navigationsvorrichtung, eine pädagogische Vorrichtung (wie beispielsweise ein Lernspielzeug eines Kindes), ein Spielsystem oder eine Steuervorrichtung (z.B. eine Heim- oder gewerbliche Steuereinheit). Die Vorrichtung 400 schließt typischerweise eine oder mehrere Verarbeitungseinheiten (CPUs) 410, eine oder mehrere Netzwerk- oder andere Kommunikationsschnittstellen 460, den Speicher 470 und einen oder mehrere Kommunikationsbusse 420 zum Verbinden dieser Komponenten miteinander ein. Die Kommunikationsbusse 420 schließen optional eine Schaltlogik (manchmal als ein Chipsatz bezeichnet) ein, die Systemkomponenten miteinander verbindet und die Kommunikation zwischen diesen steuert. Die Vorrichtung 400 schließt eine Eingabe/Ausgabe-Schnittstelle (E/A-Schnittstelle) 430 ein, die eine Anzeige 440 umfasst, bei der es sich in der Regel um eine Touchscreen-Anzeige handelt. Die E/A-Schnittstelle 430 schließt optional auch eine Tastatur und/oder Maus (oder andere Zeigevorrichtung) 450 und ein Touchpad 455, einen Tastausgabeerzeuger 457 zum Erzeugen von Tastausgaben auf der Vorrichtung 400 (z.B. ähnlich dem einen oder den mehreren vorstehend unter Bezugnahme auf 2A beschriebenen Tastausgabeerzeuger(n) 267), Sensoren 459 (z.B. optische, Beschleunigungs-, Näherungs-, berührungsempfindliche und/oder Kontaktintensitätssensoren, ähnlich dem oder den vorstehend unter Bezugnahme auf 2A beschriebenen Kontaktintensitätssensor(en) 265), ein. Der Speicher 470 schließt einen Hochgeschwindigkeitsdirektzugriffsspeicher, wie beispielsweise DRAM, SRAM, DDR RAM oder andere Direktzugriffshalbleiterspeichervorrichtungen ein; und optional schließt er nicht-flüchtigen Speicher wie beispielsweise eine oder mehrere Magnetplattendatenspeichervorrichtungen, optische Plattendatenspeichervorrichtungen, Flash-Speichervorrichtungen oder andere nicht-flüchtige Halbleiterdatenspeichervorrichtungen ein. Der Speicher 470 schließt optional eine oder mehrere Datenspeichervorrichtungen ein, die von der/den CPU(s) 410 entfernt angeordnet sind. In manchen Ausführungsformen sind im Speicher 470 Programme, Module und Datenstrukturen oder ein Teilsatz davon analog zu den im Speicher 202 der tragbaren Multifunktionsvorrichtung 200 (2A) gespeicherten Programmen, Modulen und Datenstrukturen gespeichert. Des Weiteren sind im Speicher 470 optional zusätzliche Programme, Module und Datenstrukturen gespeichert, die im Speicher 202 der tragbaren Multifunktionsvorrichtung 200 nicht vorhanden sind. Zum Beispiel sind im Speicher 470 der Vorrichtung 400 optional ein Zeichenmodul 480, ein Präsentationsmodul 482, ein Textverarbeitungsmodul 484, ein Webseitenerstellungsmodul 486, ein Modul zur Erstellung von Disks 488 und/oder ein Tabellenkalkulationsmodul 490 gespeichert, während diese Module im Speicher 202 der tragbaren Multifunktionsvorrichtung 200 (2A) optional nicht gespeichert sind.
-
Jedes der vorstehend in 4 angegebenen Elemente kann in einer oder mehreren der zuvor erwähnten Speichervorrichtungen gespeichert sein. Jedes der vorstehend angegebenen Module entspricht einem Satz von Anweisungen zum Durchführen einer vorstehend beschriebenen Funktion. Die vorstehend angegebenen Module oder Programme (z. B. Anweisungssätze) müssen nicht als separate Software-Programme, Prozeduren oder Module implementiert sein, und somit können verschiedene Teilmengen dieser Module in verschiedenen Ausführungsformen kombiniert oder anderweitig neu angeordnet werden. In manchen Ausführungsformen kann der Speicher 470 eine Teilmenge der oben angegebenen Module und Datenstrukturen speichern. Des Weiteren kann der Speicher 470 zusätzliche Module und Datenstrukturen speichern, die vorstehend nicht beschrieben wurden.
-
Die Aufmerksamkeit wird nun auf Ausführungsformen von Benutzerschnittstellen gerichtet, die zum Beispiel auf der tragbaren Multifunktionsvorrichtung 200 implementiert sein können.
-
5A veranschaulicht eine beispielhafte Benutzerschnittstelle für ein Menü von Anwendungen auf der tragbaren Multifunktionsvorrichtung 200 gemäß manchen Ausführungsformen. Auf der Vorrichtung 400 können ähnliche Benutzerschnittstellen implementiert sein. In manchen Ausführungsformen schließt eine Benutzerschnittstelle 500 die folgenden Elemente oder eine Teilmenge oder eine Übermenge davon ein:
Ein oder mehrere Signalstärkeindikatoren 502 zur drahtlosen Kommunikation, wie beispielsweise Mobilfunk- und Wi-Fi-Signale;
- • Zeit 504;
- • Bluetooth-Indikator 505;
- • Batterie-/Akkustatusindikator 506;
- • Leiste 508 mit Symbolen für häufig verwendete Anwendungen, wie beispielsweise:
– Symbol 516 für das Telefonmodul 238, gekennzeichnet mit „Phone“ (Telefon), das optional einen Indikator 514 der Anzahl verpasster Anrufe oder von Anrufbeantworternachrichten einschließt;
– Symbol 518 für das E-Mail-Client-Modul 240, gekennzeichnet mit „Mail“, das optional einen Indikator 510 der Anzahl ungelesener E-Mails einschließt;
– Symbol 520 für das Browser-Modul 247, gekennzeichnet mit „Browser“; und
– Symbol 522 für das Video- und Musikwiedergabeeinheitenmodul 252, auch als iPod(Marke von Apple Inc.)-Modul 252 bezeichnet, gekennzeichnet mit „iPod“; und
- • Symbole für andere Anwendungen, wie beispielsweise:
– Symbol 524 für das IM-Modul 241, gekennzeichnet mit „Nachrichten“;
– Symbol 526 für das Kalendermodul 248, gekennzeichnet mit „Kalender“;
– Symbol 528 für das Bildverwaltungsmodul 244, gekennzeichnet mit „Fotos“;
– Symbol 530 für das Kameramodul 243, gekennzeichnet mit „Kamera“;
– Symbol 532 für das Online-Video-Modul 255, gekennzeichnet mit „Online-Video“;
– Symbol 534 für das Aktien-Widget 249-2, gekennzeichnet mit „Aktien“;
– Symbol 536 für das Kartenmodul 254, gekennzeichnet mit „Karten“;
– Symbol 538 für das Wetter-Widget 249-1, gekennzeichnet mit „Wetter“;
– Symbol 540 für das Wecker-Widget 249-4, gekennzeichnet mit „Uhr“;
– Symbol 542 für das Trainingsunterstützungsmodul 242, gekennzeichnet mit „Trainingsunterstützung“;
– Symbol 544 für das Notizenmodul 253, gekennzeichnet mit „Notizen“; und
– Symbol 546 für eine Einstellungsanwendung oder ein Einstellungsmodul, gekennzeichnet mit „Einstellungen“, die bzw. das Zugriff auf Einstellungen für die Vorrichtung 200 und ihre verschiedenen Anwendungen 236 bereitstellt.
-
Es sollte beachtet werden, dass die in 5A veranschaulichten Symbolkennzeichnungen lediglich beispielhaft sind. Zum Beispiel kann das Symbol 522 für das Video- und Musikwiedergabeeinheitenmodul 252 optional als „Musik“ oder „Music Player“ gekennzeichnet sein. Für verschiedene Anwendungssymbole werden optional andere Kennzeichnungen verwendet. In manchen Ausführungsformen schließt eine Kennzeichnung für ein jeweiliges Anwendungssymbol einen Namen einer Anwendung ein, der dem entsprechenden Anwendungssymbol entspricht. In manchen Ausführungsformen unterscheidet sich eine Kennzeichnung für ein bestimmtes Anwendungssymbol von einem Namen einer Anwendung, der dem bestimmten Anwendungssymbol entspricht.
-
5B veranschaulicht eine beispielhafte Benutzeroberfläche auf einer Vorrichtung (z.B. der Vorrichtung 400, 4) mit einer berührungsempfindlichen Oberfläche 551 (z.B. ein Tablet oder Touchpad 455, 4), die von der Anzeige 550 (z.B. der Touchscreen-Anzeige 212) separat ist. Die Vorrichtung 400 schließt optional auch einen oder mehrere Kontaktintensitätssensoren (z.B. einen oder mehrere der Sensoren 457) zum Erfassen der Intensität von Kontakten auf der berührungsempfindlichen Oberfläche 551 und/oder einen oder mehrere Tastausgabeerzeuger 459 zum Erzeugen von Tastausgaben für einen Benutzer der Vorrichtung 400 ein.
-
Obwohl manche der folgenden Beispiele unter Bezugnahme auf Eingaben auf der Touchscreen-Anzeige 212 gegeben werden (wo die berührungsempfindliche Oberfläche und die Anzeige kombiniert sind), erfasst die Vorrichtung in einigen Ausführungsformen Eingaben auf einer berührungsempfindlichen Oberfläche, die von der Anzeige separat ist, wie in 5B gezeigt. In manchen Ausführungsformen besitzt die berührungsempfindliche Oberfläche (z.B. 551 in 5B) eine Primärachse (z.B. 552 in 5B), die einer Primärachse (z.B. 553 in 5B) auf der Anzeige (z.B. 550) entspricht. Gemäß diesen Ausführungsformen erfasst die Vorrichtung Kontakte (z.B. 560 und 562 in 5B) mit der berührungsempfindlichen Oberfläche 551 an Stellen, die jeweiligen Stellen auf der Anzeige entsprechen (z.B. entspricht in 5B Bezugsziffer 560 Bezugsziffer 568, und 562 entspricht 570). Auf diese Weise werden durch die Vorrichtung auf der berührungsempfindlichen Oberfläche (z.B. 551 in 5B) erfasste Benutzereingaben (z.B. die Kontakte 560 und 562 und Bewegungen davon) durch die Vorrichtung verwendet, um die Benutzerschnittstelle auf der Anzeige (z.B. 550 in 5B) der Multifunktionsvorrichtung zu verändern, wenn die berührungsempfindliche Oberfläche von der Anzeige separat ist. Es sollte sich verstehen, dass ähnliche Verfahren optional für andere hierin beschriebene Benutzerschnittstellen verwendet werden.
-
Während die folgenden Beispiele hauptsächlich unter Bezugnahme auf Fingereingaben (z. B. Fingerkontakte, Fingertippgesten, Fingerwischgesten) gegeben werden, sollte verstanden werden, dass in manchen Ausführungsformen zusätzlich eine oder mehrere der Fingereingaben durch Eingaben von einer anderen Eingabevorrichtung (z. B. eine mausbasierte Eingabe oder Stifteingabe) ersetzt werden. Zum Beispiel wird eine Wischgeste optional durch einen Mausklick (z.B. anstelle eines Kontakts) gefolgt von einer Bewegung des Cursors entlang dem Pfad des Wischens (z.B. anstelle der Bewegung des Kontakts) ersetzt. Als weiteres Beispiel wird eine Tippgeste optional durch einen Mausklick ersetzt, während der Cursor sich über der Position der Tippgeste befindet (z. B. anstelle einer Erfassung des Kontakts gefolgt von einem Beenden des Erfassens des Kontakts). Wenn mehrere Benutzereingaben gleichzeitig erfasst werden, sollte es sich gleichermaßen verstehen, dass mehrere Computermäuse optional gleichzeitig oder optional eine Maus und Fingerkontakte gleichzeitig verwendet werden.
-
6A veranschaulicht eine beispielhafte persönliche elektronische Vorrichtung 600. Die Vorrichtung 600 schließt einen Körper 602 ein. In manchen Ausführungsformen kann die Vorrichtung 600 manche oder alle in Hinblick auf die Vorrichtungen 200 und 400 (z.B. 2A bis 4B) beschriebenen Merkmale einschließen. In manchen Ausführungsformen besitzt die Vorrichtung 600 einen berührungsempfindlichen Anzeigebildschirm 604, nachstehend Touchscreen 604 genannt. Alternativ oder zusätzlich zum Touchscreen 604 besitzt die Vorrichtung 600 eine Anzeige und eine berührungsempfindliche Oberfläche.
-
Wie bei den Vorrichtungen 200 und 400 kann der Touchscreen 604 (oder die berührungsempfindliche Oberfläche) in manchen Ausführungsformen einen oder mehrere Intensitätssensoren zum Erfassen einer Intensität von angewendeten Kontakten (z.B. Berührungen) enthalten. Der eine oder die mehreren Intensitätssensoren des Touchscreens 604 (oder der berührungsempfindlichen Oberfläche) können Ausgabedaten bereitstellen, welche die Intensität von Berührungen wiedergeben. Die Benutzeroberfläche der Vorrichtung 600 kann auf Berührungen auf Grundlage ihrer Intensität reagieren, was bedeutet, dass Berührungen von unterschiedlichen Intensitäten unterschiedliche Benutzeroberflächenvorgänge auf der Vorrichtung 600 aufrufen können.
-
Techniken zum Erfassen und Verarbeiten einer Berührungsintensität können zum Beispiel in verwandten Anmeldungen gefunden werden: die am 8. Mai 2013 eingereichte internationale Patentanmeldung Seriennummer
PCT/US2013/040061 mit dem Titel „Device, Method, and Graphical User Interface for Displaying User Interface Objects Corresponding to an Application“ und die am 11. November 2013 eingereichte internationale Patentanmeldung Seriennummer
PCT/US2013/069483 mit dem Titel „Device, Method, and Graphical User Interface for Transitioning Between Touch Input to Display Output Relationships“, von denen jede hiermit durch Bezugnahme in ihrer Gesamtheit aufgenommen wird.
-
In manchen Ausführungsformen besitzt die Vorrichtung 600 einen oder mehrere Eingabemechanismen 606 und 608. Die Eingabemechanismen 606 und 608, falls eingeschlossen, können physisch sein. Beispiele physischer Eingabemechanismen schließen Drucktasten und drehbare Mechanismen ein. In manchen Ausführungsformen besitzt die Vorrichtung 600 einen oder mehrere Befestigungsmechanismen. Solche Befestigungsmechanismen, falls eingeschlossen, können eine Befestigung der Vorrichtung 600 zum Beispiel an Hüten, Brillen, Ohrringen, Halsketten, Hemden/Blusen/T-Shirts, Jacken, Armbändern, Armbanduhrbändern, Ketten, Hosen, Gürteln, Schuhen, Handtaschen, Rucksäcken und so weiter gestatten. Diese Befestigungsmechanismen können es der Vorrichtung 600 gestatten, durch einen Benutzer am Körper getragen zu werden.
-
6B stellt eine beispielhafte persönliche elektronische Vorrichtung 600 dar. In manchen Ausführungsformen kann die Vorrichtung 600 manche oder alle der in Hinblick auf 2A, 2B und 4 beschriebenen Merkmale einschließen. Die Vorrichtung 600 besitzt einen Bus 612, der einen E/A-Abschnitt 614 betrieblich mit einem oder mehreren Computerprozessoren 616 und einem Speicher 618 koppelt. Der E/A-Abschnitt 614 kann mit einer Anzeige 604 verbunden sein, die eine berührungsempfindliche Komponente 622 und optional eine berührungsintensitätsempfindliche Komponente 624 besitzen kann.
-
Zusätzlich kann der E/A-Abschnitt 614 mit einer Kommunikationseinheit 630 verbundenen sein, um Anwendungs- und Betriebssystemdaten über Wi-Fi, Bluetooth, Nahfeldkommunikation (NFC), Mobilkommunikation und/oder andere drahtlose Kommunikationstechniken zu empfangen. Die Vorrichtung 600 kann die Eingabemechanismen 606 und/oder 608 einschließen. Bei dem Eingabemechanismus 606 kann es sich zum Beispiel um eine drehbare Eingabevorrichtung oder eine drückbare und drehbare Eingabevorrichtung handeln. Bei dem Eingabemechanismus 608 kann es sich in manchen Beispielen um eine Schaltfläche bzw. Taste handeln.
-
Bei dem Eingabemechanismus 608 kann es sich in manchen Beispielen um ein Mikrofon handeln. Die persönliche elektronische Vorrichtung 600 kann verschiedene Sensoren einschließen, wie beispielsweise einen GPS-Sensor 632, einen Beschleunigungsmesser 634, einen Richtungssensor 640 (z.B. Kompass), ein Gyroskop 636, einen Bewegungssensor 638 und/oder eine Kombination davon, die alle wirkverbunden mit dem E/A-Abschnitt 614 sein können.
-
Bei dem Speicher 618 der persönlichen elektronischen Vorrichtung 600 kann es sich um ein nicht-flüchtiges, computerlesbares Datenspeichermedium zum Speichern von computerausführbaren Anweisungen handeln, welche, bei Ausführen durch einen oder mehrere Computerprozessoren 616, zum Beispiel bewirken können, dass die Computerprozessoren die weiter unten beschriebenen Techniken, einschließlich eines Prozesses 900 (8A bis 8G), ausführen. Die computerausführbaren Anweisungen können auch innerhalb jedes nicht-flüchtigen, computerlesbaren Datenspeichermediums zur Verwendung durch oder in Verbindung mit einem Anweisungsausführsystem, einer Anweisungsausführeinrichtung oder einer Anweisungsausführvorrichtung gespeichert und/oder transportiert werden, wie beispielsweise ein computergestütztes System, ein prozessorenthaltendes System oder ein anderes System, das die Anweisungen aus dem Anweisungsausführsystem, der Anweisungsausführeinrichtung oder der Anweisungsausführvorrichtung holen und die Anweisungen ausführen kann. Für Zwecke dieses Dokuments kann es sich bei einem „nicht-flüchtigen, computerlesbaren Datenspeichermedium“ um jedes Medium handeln, das gegenständlich computerausführbare Anweisungen zur Verwendung durch oder in Verbindung mit dem Anweisungsausführsystem, der Anweisungsausführeinrichtung oder der Anweisungsausführvorrichtung enthalten oder speichern kann. Das nicht-flüchtige, computerlesbare Datenspeichermedium kann magnetische, optische und/oder Halbleiterdatenspeicher einschließen, ist jedoch nicht auf diese beschränkt. Beispiele solcher Datenspeicher schließen magnetische Platten, optische Platten auf Grundlage von CD-, DVD- oder Blu-ray-Technologien sowie persistenten Halbleiterspeicher (solid state memory) ein, wie beispielsweise Flash-, Halbleiterlaufwerke und dergleichen. Die persönliche elektronische Vorrichtung 600 ist nicht auf die Komponenten und die Konfiguration von 6B beschränkt, sondern kann andere oder zusätzliche Komponenten in mehreren Konfigurationen einschließen.
-
Wie hier verwendet, bezieht sich der Begriff „Affordanz“ auf ein benutzerinteraktives Objekt einer grafischen Benutzeroberfläche, das auf dem Anzeigebildschirm der Vorrichtungen 200, 400 und/oder 600 (2, 4 und 6) angezeigt werden kann. Zum Beispiel können ein Bild (z.B. ein Symbol), eine Schaltfläche und ein Text (z. B. ein Hyperlink) jeweils eine Affordanz bilden.
-
Wie hierin verwendet, bezieht sich der Begriff „Fokusauswähler“ auf ein Eingabeelement, das einen aktuellen Teil einer Benutzerschnittstelle angibt, mit der ein Benutzer interagiert. In manchen Implementierungen, die einen Cursor oder einen anderen Ortsmarkierer einschließen, agiert der Cursor als ein „Fokusauswähler“, sodass im Falle dessen, dass eine Eingabe (z.B. eine Druckeingabe) auf einer berührungsempfindlichen Oberfläche (z.B. dem Touchpad 455 in 4 oder der berührungsempfindlichen Oberfläche 551 in 5B) erfasst wird, während sich der Cursor über einem bestimmten Benutzerschnittstellenelement befindet (z.B. einer Schaltfläche, einem Fenster, einem Schieberegler oder einem anderen Benutzerschnittstellenelement), das bestimmte Benutzerschnittstellenelement gemäß der erfassten Eingabe angepasst wird. In manchen Implementierungen, die eine Touchscreen-Anzeige (z.B. das berührungsempfindliche Anzeigesystem 212 in 2A oder den Touchscreen 212 in 5A) einschließen, die eine direkte Interaktion mit Benutzerschnittstellenelementen auf der Touchscreen-Anzeige erlauben, agiert ein erfasster Kontakt auf dem Touchscreen als ein „Fokusauswähler“, sodass im Falle dessen, dass eine Eingabe (z.B. eine Druckeingabe durch den Kontakt) auf der Touchscreen-Anzeige an einer Position eines bestimmten Benutzerschnittstellenelements (z.B. einer Schaltfläche, eines Fensters, eines Schiebereglers oder eines anderen Benutzerschnittstellenelements) erfasst wird, das bestimmte Benutzerschnittstellenelement gemäß der erfassten Eingabe angepasst wird. In manchen Implementierungen wird der Fokus ohne eine entsprechende Bewegung eines Cursors oder eine Bewegung eines Kontakts auf der Touchscreen-Anzeige (z. B. unter Verwendung einer Tabulatortaste oder von Pfeiltasten, um den Fokus von einer Schaltfläche zu einer anderen Schaltfläche zu bewegen) von einer Region einer Benutzerschnittstelle zu einer anderen Region der Benutzerschnittstelle bewegt; in diesen Implementierungen bewegt sich der Fokusauswähler gemäß einer Bewegung des Fokus zwischen unterschiedlichen Regionen der Benutzerschnittstelle. Ungeachtet der durch den Fokusauswähler angenommenen, spezifischen Form handelt es sich beim Fokusauswähler allgemein um das Benutzerschnittstellenelement (oder einen Kontakt auf einer Touchscreen-Anzeige), das durch den Benutzer gesteuert wird, um die beabsichtigte Interaktion des Benutzers der Benutzerschnittstelle mitzuteilen (z.B. indem der Vorrichtung das Element der Benutzerschnittstelle angegeben wird, mit dem der Benutzer zu interagieren beabsichtigt). Zum Beispiel wird die Position eines Fokusauswählers (z. B. eines Cursors, eines Kontakts oder eines Auswahlkästchens) über einer entsprechenden Schaltfläche, während auf der berührungsempfindlichen Oberfläche (z. B. einem Touchpad oder Touchscreen) eine Druckeingabe erfasst wird, anzeigen, dass der Benutzer beabsichtigt, die entsprechende Schaltfläche (im Gegensatz zu anderen, auf einer Anzeige der Vorrichtung gezeigten Benutzerschnittstellenelementen) zu aktivieren.
-
Wie in der Patentschrift und den Ansprüchen verwendet, bezieht sich der Begriff „charakteristische Intensität“ eines Kontakts auf ein Charakteristikum des Kontakts auf Grundlage einer oder mehrerer Intensitäten des Kontakts. In manchen Ausführungsformen beruht die charakteristische Intensität auf mehreren Intensitätsproben. Die charakteristische Intensität beruht optional auf einer vordefinierten Anzahl von Intensitätsproben oder einem Satz von Intensitätsproben, die während einer vorbestimmten Zeitspanne (z.B. 0,05, 0,1, 0,2, 0,5, 1, 2, 5, 10 Sekunden) in Bezug auf ein vorbestimmtes Ereignis (z.B. nach Erfassen des Kontakts, vor Erfassen eines Abhebens des Kontakts, vor oder nach Erfassen eines Starts einer Bewegung des Kontakts, vor Erfassen eines Endes des Kontakts, vor oder nach Erfassen eines Anstiegs einer Intensität des Kontakts und/oder vor oder nach Erfassen eines Abfalls einer Intensität des Kontakts) gesammelt werden. Eine charakteristische Intensität eines Kontakts beruht optional auf einem oder mehreren von: einem Maximalwert der Intensitäten des Kontakts, einem Mittelwert der Intensitäten des Kontakts, einem Durchschnittswert der Intensitäten des Kontakts, einem Wert des obersten 10er-Perzentilwertes der Intensitäten des Kontakts, einem Wert bei der Hälfte des Maximums der Intensitäten des Kontakts, einem Wert beim 90-%-Maximum der Intensitäten des Kontakts oder dergleichen. In manchen Ausführungsformen wird die Dauer des Kontakts beim Feststellen der charakteristischen Intensität verwendet (z. B. wenn es sich bei der charakteristischen Intensität um einen Durchschnitt der Intensität des Kontakts im Zeitverlauf handelt). In manchen Ausführungsformen wird die charakteristische Intensität mit einem Satz von einem oder mehreren Intensitätsschwellenwerten verglichen, um festzustellen, ob ein Vorgang durch einen Benutzer durchgeführt wurde. Zum Beispiel kann der Satz von einem oder mehreren Intensitätsschwellenwerten einen ersten Intensitätsschwellenwert und einen zweiten Intensitätsschwellenwert einschließen. In diesem Beispiel führt ein Kontakt mit einer charakteristischen Intensität, die den ersten Schwellenwert nicht überschreitet, zu einem ersten Vorgang, ein Kontakt mit einer charakteristischen Intensität, die den ersten Intensitätsschwellenwert überschreitet und den zweiten Intensitätsschwellenwert nicht überschreitet, führt zu einem zweiten Vorgang, und ein Kontakt mit einer charakteristischen Intensität, die den zweiten Schwellenwert überschreitet, führt zu einem dritten Vorgang. In manchen Ausführungsformen wird ein Vergleich zwischen der charakteristischen Intensität und einem oder mehreren Schwellenwerten verwendet, um festzustellen, ob ein oder mehrere Vorgänge durchzuführen sind (z.B. ob ein jeweiliger Vorgang durchzuführen ist, oder ob auf das Durchführen des jeweiligen Vorgangs zu verzichten ist), anstatt verwendet zu werden, um festzustellen, ob ein erster Vorgang oder ein zweiter Vorgang durchzuführen ist.
-
In manchen Ausführungsformen wird ein Abschnitt einer Geste für Zwecke eines Feststellens einer charakteristischen Intensität identifiziert. Zum Beispiel kann eine berührungsempfindliche Oberfläche einen kontinuierlichen Wischkontakt empfangen, der von einem Startort ausgeht und einen Endort erreicht, an dessen Punkt die Intensität des Kontakts ansteigt. Bei diesem Beispiel kann die charakteristische Intensität des Kontakts an der Endposition auf nur einem Anteil des kontinuierlichen Wischkontakts und nicht dem gesamten Wischkontakt (z. B. nur der Anteil des Wischkontakts an der Endposition) beruhen. In manchen Ausführungsformen kann vor Feststellen der charakteristischen Intensität des Kontakts ein Glättungsalgorithmus auf die Intensitäten des Wischkontakts angewandt werden. Zum Beispiel schließt der Glättungsalgorithmus optional eines oder mehrere ein von: einem ungewichteten Glättungsalgorithmus mit gleitendem Durchschnitt, einem dreieckigen Glättungsalgorithmus, einem Medianfilter-Glättungsalgorithmus und/oder einem exponentiellen Glättungsalgorithmus. Unter manchen Umständen beseitigen diese Glättungsalgorithmen schmale Spitzen oder Senken in den Intensitäten des Wischkontakts zu Zwecken eines Bestimmens einer charakteristischen Intensität.
-
Die Intensität eines Kontakts auf der berührungsempfindlichen Oberfläche kann in Bezug auf einen oder mehrere Intensitätsschwellenwerte gekennzeichnet werden, wie beispielsweise einen Kontakterfassungsintensitätsschwellenwert, einen Leichtdruck-Intensitätsschwellenwert, einen Starkdruck-Intensitätsschwellenwert und/oder einen oder mehrere andere Intensitätsschwellenwerte. In manchen Ausführungsformen entspricht der Leichtdruck-Intensitätsschwellenwert einer Intensität, bei der die Vorrichtung Vorgänge ausführen wird, die in der Regel mit dem Klicken einer Taste einer physischen Maus oder eines Trackpads verknüpft sind. In einigen Ausführungsformen entspricht der Starkdruck-Intensitätsschwellenwert einer Intensität, bei der die Vorrichtung Vorgänge ausführen wird, die von Vorgängen, die in der Regel mit dem Klicken einer Taste einer physischen Maus oder eines Trackpads verknüpft sind, verschieden sind. Wenn ein Kontakt mit einer charakteristischen Intensität unter dem Leichtdruck-Intensitätsschwellenwert erfasst wird (und z. B. über einem nominalen Kontakterfassungsintensitätsschwellenwert, unter dem ein Kontakt nicht länger erfasst wird), wird in manchen Ausführungsformen die Vorrichtung einen Fokusauswähler gemäß einer Bewegung des Kontakts auf der berührungsempfindlichen Oberfläche bewegen, ohne einen Vorgang durchzuführen, der dem Leichtdruck-Intensitätsschwellenwert oder dem Starkdruck-Intensitätsschwellenwert zugeordnet ist.
-
Sofern nichts Anderweitiges angegeben ist, sind diese Intensitätsschwellenwerte allgemein zwischen verschiedenen Sätzen von Benutzerschnittstellenfiguren konstant.
-
Eine Erhöhung der charakteristischen Intensität des Kontakts von einer Intensität unter dem Leichtdruck-Intensitätsschwellenwert auf eine Intensität zwischen dem Leichtdruck-Intensitätsschwellenwert und dem Starkdruck-Intensitätsschwellenwert wird manchmal als eine „Leichtdruck“-Eingabe bezeichnet. Eine Erhöhung der charakteristischen Intensität des Kontakts von einer Intensität unter dem Starkdruck-Intensitätsschwellenwert auf eine Intensität über dem Starkdruck-Intensitätsschwellenwert wird manchmal als eine „Starkdruck“-Eingabe bezeichnet. Eine Erhöhung der charakteristischen Intensität des Kontakts von einer Intensität unter dem Kontakterfassungsintensitätsschwellenwert auf eine Intensität zwischen dem Kontakterfassungsintensitätsschwellenwert und dem Leichtdruck-Intensitätsschwellenwert wird manchmal als Erfassen des Kontakts auf der Berührungsoberfläche bezeichnet. Eine Verringerung der charakteristischen Intensität des Kontakts von einer Intensität über dem Kontakterfassungsintensitätsschwellenwert auf eine Intensität unter dem Kontakterfassungsintensitätsschwellenwert wird manchmal als Erfassen eines Abhebens des Kontakts von der Berührungsoberfläche bezeichnet. In manchen Ausführungsformen beträgt der Kontakterfassungsintensitätsschwellenwert null. In manchen Ausführungsformen ist der Kontakterfassungsintensitätsschwellenwert größer als null.
-
In manchen hierin beschriebenen Ausführungsformen werden ein oder mehrere Vorgänge als Reaktion auf das Erfassen einer Handbewegung, die eine jeweilige Druckeingabe einschließt, oder als Reaktion auf das Erfassen der jeweiligen Druckeingabe, die mit einem jeweiligen Kontakt (oder einer Mehrzahl von Kontakten) durchgeführt wird, durchgeführt, wobei die jeweilige Druckeingabe mindestens teilweise basierend auf dem Erfassen einer Zunahme der Intensität des Kontakts (oder der Mehrzahl von Kontakten) über einen Intensitätsschwellenwert der Druckeingabe erfasst wird. In manchen Ausführungsformen wird der jeweilige Vorgang als Reaktion auf das Erfassen der Zunahme der Intensität des jeweiligen Kontakts über den Intensitätsschwellenwert der Druckeingabe (z.B. ein „Abwärtsstreichen“ der jeweiligen Druckeingabe) ausgeführt. In manchen Ausführungsformen schließt die Druckeingabe eine Zunahme der Intensität des jeweiligen Kontakts über den Intensitätsschwellenwert der Druckeingabe und eine anschließende Verringerung der Intensität des Kontakts unter den Intensitätsschwellenwert der Druckeingabe ein, und der jeweilige Vorgang wird als Reaktion auf das Erfassen der anschließenden Verringerung der Intensität des jeweiligen Kontakts unter den Intensitätsschwellenwert der Druckeingabe (z.B. ein „Aufwärtsstreichen“ der jeweiligen Druckeingabe) ausgeführt.
-
In manchen Ausführungsformen verwendet die Vorrichtung Intensitätshysteresen, um versehentliche Eingaben, die manchmal „Jitter“ genannt werden, zu vermeiden, wobei die Vorrichtung einen Hystereseintensitätsschwellenwert mit einer vordefinierten Beziehung zum Intensitätsschwellenwert der Druckeingabe definiert oder auswählt (z. B. ist der Hystereseintensitätsschwellenwert X Intensitätseinheiten niedriger als der Intensitätsschwellenwert der Druckeingabe, oder der Hystereseintensitätsschwellenwert beträgt 75 %, 90 % oder einen anderen sinnvollen Anteil des Intensitätsschwellenwerts der Druckeingabe). Folglich schließt in manchen Ausführungsformen die Druckeingabe eine Zunahme der Intensität des jeweiligen Kontakts über den Intensitätsschwellenwert der Druckeingabe und eine anschließende Verringerung der Intensität des Kontakts unter den Hystereseintensitätsschwellenwert ein, der dem Intensitätsschwellenwert der Druckeingabe entspricht, und der jeweilige Vorgang wird als Reaktion auf das Erfassen der anschließenden Verringerung der Intensität des jeweiligen Kontakts unter den Hystereseintensitätsschwellenwert (z.B. ein „Aufwärtsstreichen“ der jeweiligen Druckeingabe) durchgeführt. Auf ähnliche Weise wird in manchen Ausführungsformen die Druckeingabe nur erfasst, wenn die Vorrichtung eine Zunahme der Intensität des Kontakts von einer Intensität am oder unter dem Hystereseintensitätsschwellenwert zu einer Intensität am oder über dem Intensitätsschwellenwert der Druckeingabe und optional eine anschließende Verringerung der Intensität des Kontakts zu einer Intensität am oder unter dem Hystereseintensitätsschwellenwert erfasst, und der jeweilige Vorgang wird als Reaktion auf das Erfassen der Druckeingabe (z.B. die Zunahme der Intensität des Kontakts oder die Verringerung der Intensität des Kontakts, in Abhängigkeit von den Umständen) durchgeführt.
-
Der Einfachheit der Erklärung wegen werden die Beschreibungen von Vorgängen, die als Reaktion auf eine einem Intensitätsschwellenwert der Druckeingabe zugeordnete Druckeingabe oder als Reaktion auf eine Geste, welche die Druckeingabe einschließt, durchgeführt werden, optional als Reaktion auf ein Erfassen ausgelöst von entweder: einer Erhöhung einer Intensität eines Kontakts über den Intensitätsschwellenwert der Druckeingabe, einer Erhöhung einer Intensität eines Kontakts von einer Intensität unter dem Hystereseintensitätsschwellenwert auf eine Intensität über dem Intensitätsschwellenwert der Druckeingabe, einer Verringerung einer Intensität des Kontakts unter den Intensitätsschwellenwert der Druckeingabe und/oder einer Verringerung einer Intensität des Kontakts unter den Hystereseintensitätsschwellenwert, der dem Intensitätsschwellenwert der Druckeingabe entspricht. Darüber hinaus wird in Beispielen, in denen beschrieben wird, dass ein Vorgang als Reaktion auf das Erfassen einer Verringerung der Intensität eines Kontakts unter den Intensitätsschwellenwert der Druckeingabe durchgeführt wird, der Vorgang optional als Reaktion auf das Erfassen einer Verringerung der Intensität des Kontakts unter einen Hystereseintensitätsschwellenwert, der einem Intensitätsschwellenwert der Druckeingabe entspricht und niedriger als dieser ist, durchgeführt.
-
2. Digitales Assistenzsystem
-
7A veranschaulicht ein Blockdiagramm eines digitalen Assistenzsystems 700 gemäß verschiedenen Beispielen. In manchen Beispielen kann das digitale Assistenzsystem 700 auf einem eigenständigen Computersystem implementiert werden. In manchen Beispielen kann das digitale Assistenzsystem 700 über mehrere Computer verteilt werden. In manchen Beispielen können manche der Module und Funktionen des digitalen Assistenten wie z.B. in 1 gezeigt in einen Server-Abschnitt und einen Client-Abschnitt aufgeteilt werden, wobei sich der Client-Abschnitt auf einer oder mehreren Benutzervorrichtungen (z.B. den Vorrichtungen 104, 122, 200, 400 oder 600) befindet und mit dem Server-Abschnitt (z.B. Serversystem 108) über ein oder mehrere Netzwerke kommuniziert. In manchen Beispielen kann das digitale Assistenzsystem 700 eine Implementierung des in 1 gezeigten Serversystems 108 (und/oder des DA-Servers 106) sein. Es sollte beachtet werden, dass das digitale Assistenzsystem 700 nur ein bestimmtes Beispiel eines digitalen Assistenzsystems ist, und dass das digitale Assistenzsystem 700 mehr oder weniger Komponenten als dargestellt besitzen, zwei oder mehr Komponenten kombinieren oder eine andere Konfiguration oder Anordnung der Komponenten besitzen kann. Die verschiedenen, in 7A dargestellten Komponenten können in Hardware, Software-Anweisungen zur Ausführung durch einen oder mehrere Prozessoren, Firmware, einschließlich einer oder mehrerer Signalverarbeitungsschaltungen und/oder anwendungsspezifischer integrierter Schaltungen, oder einer Kombination davon implementiert werden.
-
Das digitale Assistenzsystem 700 kann einen Speicher 702, einen oder mehrere Prozessoren 704, eine Eingabe/Ausgabe-Schnittstelle (E/A-Schnittstelle) 706 und eine Netzwerkkommunikationsschnittstelle 708 besitzen. Diese Komponenten können miteinander über einen oder mehrere Kommunikationsbusse oder eine oder mehrere Signalleitungen 710 kommunizieren.
-
In manchen Beispielen kann der Speicher 702 ein nicht-flüchtiges, computerlesbares Medium einschließen, wie beispielsweise Hochgeschwindigkeitsdirektzugriffsspeicher und/oder ein nicht-flüchtiges, computerlesbares Datenspeichermedium (z.B. eine oder mehrere Magnetplattenspeichervorrichtungen, Flash-Speicher-Vorrichtungen oder andere nicht-flüchtige Halbleiterlaufwerkspeichervorrichtungen).
-
In manchen Beispielen kann die E/A-Schnittstelle 706 Eingabe/Ausgabe-Vorrichtungen 716 des digitalen Assistenzsystems 700, wie beispielsweise Anzeigen, Tastaturen, Touchscreens und Mikrofone, mit dem Benutzerschnittstellenmodul 722 koppeln. Die E/A-Schnittstelle 706 kann zusammen mit dem Benutzerschnittstellenmodul 722 Benutzereingaben (z. B. Spracheingabe, Tastatureingaben, Berührungseingaben usw.) empfangen und entsprechend verarbeiten. In manchen Beispielen, z. B. wenn der digitale Assistent auf einer eigenständigen Benutzervorrichtung implementiert ist, kann das digitale Assistenzsystem 700 beliebige der Komponenten und E/A- und Kommunikationsschnittstellen einschließen, die in Bezug auf die Vorrichtungen 200, 400 oder 600 in 2A, 4 bzw. 6A bis B beschrieben sind. In manchen Beispielen kann das digitale Assistenzsystem 700 den Serverabschnitt einer Implementierung des digitalen Assistenten darstellen und mit dem Benutzer durch einen clientseitigen Abschnitt auf einer Benutzervorrichtung (z.B. den Vorrichtungen 104, 200, 400 oder 600) interagieren.
-
In manchen Beispielen kann die Netzwerkkommunikationsschnittstelle 708 einen oder mehrere drahtgebundene Kommunikationsanschlüsse 712 und/oder eine Schaltlogik für drahtloses Übertragen und Empfangen 714 umfassen. Der eine oder die mehreren drahtgebundenen Kommunikationsanschlüsse können Kommunikationssignale über eine oder mehrere drahtgebundene Schnittstellen, z.B. Ethernet, USB (Universal Serial Bus), FIREWIRE usw., empfangen und senden. Die Drahtlos-Schaltlogik 714 kann HF-Signale und/oder optische Signale an Kommunikationsnetzwerke und andere Kommunikationsvorrichtungen senden bzw. von diesen empfangen. Die drahtlose Kommunikation kann beliebige von einer Mehrzahl von Kommunikationsstandards, Protokollen und Technologien wie beispielsweise GSM, EDGE, CDMA, TDMA, Bluetooth, Wi-Fi, VoIP, Wi-MAX oder jedes andere geeignete Kommunikationsprotokoll verwenden. Die Netzwerkkommunikationsschnittstelle 708 kann die Kommunikation zwischen dem digitalen Assistenzsystem 700 und Netzwerken, wie beispielsweise dem Internet, einem Intranet und/oder einem drahtlosen Netzwerk wie beispielsweise einem Mobiltelefonnetzwerk, einem drahtlosen lokalen Netzwerk (LAN) und/oder einem Stadtnetzwerk (MAN), und anderen Vorrichtungen ermöglichen.
-
In manchen Beispielen können im Speicher 702 oder dem computerlesbaren Datenspeichermedium des Speichers 702 Programme, Module, Anweisungen und Datenstrukturen gespeichert werden, darunter alle oder einen Teilsatz von: Betriebssystem 718, Kommunikationsmodul 720, Benutzerschnittstellenmodul 722, eine oder mehrere Anwendungen 724 und das digitale Assistenzmodul 726. Insbesondere können der Speicher 702 oder das computerlesbare Datenspeichermedium des Speichers 702 Anweisungen zum Durchführen eines Verfahrens 900 speichern, das weiter unten beschrieben ist. Ein oder mehrere Prozessoren 704 können diese Programme, Module und Anweisungen und Lese-/Schreibvorgänge von den bzw. auf die Datenstrukturen ausführen.
-
Das Betriebssystem 718 (z.B. Darwin, RTXC, LINUX, UNIX, iOS, OS X, WINDOWS oder ein eingebettetes Betriebssystem wie beispielsweise VxWorks) kann verschiedene Softwarekomponenten und/oder Treiber zum Steuern und Verwalten allgemeiner Systemaufgaben (z.B. Speicherverwaltung, Datenspeichervorrichtungssteuerung, Stromverwaltung usw.) einschließen und ermöglicht die Kommunikationen zwischen verschiedenen Hardware-, Firmware- und Softwarekomponenten.
-
Das Kommunikationsmodul 720 kann die Kommunikation zwischen dem digitalen Assistenzsystem 700 und anderen Vorrichtungen über die Netzwerkkommunikationsschnittstelle 708 ermöglichen. Das Kommunikationsmodul 720 kann zum Beispiel mit der HF-Schaltlogik 208 von elektronischen Vorrichtungen, wie beispielsweise den Vorrichtungen 200, 400 und 600, wie in 2A, 4 bzw. 6A bis B gezeigt, kommunizieren. Das Kommunikationsmodul 720 kann auch verschiedene Komponenten zum Umgang mit Daten einschließen, die durch die Drahtlos-Schaltlogik 714 und/oder den drahtgebundenen Kommunikationsanschluss 712 empfangen werden.
-
Das Benutzerschnittstellenmodul 722 kann Befehle und/oder Eingaben von einem Benutzer über die E/A-Schnittstelle 706 (z. B. von einer Tastatur, einem Touchscreen, einer Zeigevorrichtung, einer Steuereinheit und/oder einem Mikrofon) empfangen und Benutzerschnittstellenobjekte auf einer Anzeige erzeugen. Das Benutzerschnittstellenmodul 722 kann auch Ausgaben (z. B. Sprache, Ton, Animation, Text, Symbole, Vibrationen, haptisches Feedback, Licht usw.) erstellen und über die E/A-Schnittstelle 706 (z. B. durch Anzeigen, Audiokanäle, Lautsprecher, Touchpads usw.) an den Benutzer liefern.
-
Die Anwendungen 724 können Programme und/oder Module einschließen, die konfiguriert sind, durch einen oder mehrere Prozessoren 704 ausgeführt zu werden. Wenn zum Beispiel das digitale Assistenzsystem in einer eigenständigen Benutzervorrichtung implementiert wird, können die Anwendungen 724 Benutzeranwendungen, wie beispielsweise Spiele, eine Kalenderanwendung, eine Navigationsanwendung oder eine E-Mail-Anwendung einschließen. Wenn das digitale Assistenzsystem 700 auf einem Server implementiert wird, können die Anwendungen 724 zum Beispiel Ressourcenverwaltungsanwendungen, Diagnoseanwendungen oder Planungsanwendungen einschließen.
-
Der Speicher 702 kann auch ein digitales Assistenzmodul 726 (oder den Serverabschnitt eines digitalen Assistenten) speichern. In manchen Beispielen kann das digitale Assistenzmodul 726 die folgenden Untermodule oder einen Teilsatz oder eine Übermenge davon einschließen: ein Eingabe/Ausgabe-Verarbeitungsmodul 728, ein Sprache-zu-Text-Verarbeitungsmodul (STT-Verarbeitungsmodul) 730, ein Modul zur Verarbeitung natürlicher Sprache 732, ein Dialogflussverarbeitungsmodul 734, ein Aufgabenflussverarbeitungsmodul 736, ein Dienstverarbeitungsmodul 738 und ein Sprachsynthesemodul 740. Jedes dieser Module kann Zugriff auf eines oder mehrere der folgenden Systeme oder Daten und Modelle des digitalen Assistenzmoduls 726 oder einer Teilmenge oder eine Übermenge davon haben: eine Ontologie 760, ein Wörterverzeichnis 744, Benutzerdaten 748, Aufgabenflussmodelle 754, Dienstmodelle 756 und ASR-Systeme.
-
In manchen Beispielen kann der digitale Assistent unter Verwendung der Verarbeitungsmodule, Daten und Modelle des digitalen Assistenzmoduls 726 mindestens manche der Folgenden durchführen: Umwandeln von Spracheingaben zu Text: Identifizieren einer Absicht eines Benutzers, die in einer vom Benutzer empfangenen Eingabe in natürlicher Sprache ausgedrückt ist; aktives Anfordern und Erhalten von Informationen, die erforderlich sind, um die Absicht des Benutzers vollständig zu ermitteln (z.B. durch vereindeutigende Wörter, Namen oder Absichten); Bestimmen des Aufgabenflusses zum Erfüllen der ermittelten Absicht und Ausführen des Aufgabenflusses zum Erfüllen der ermittelten Absicht.
-
In manchen Beispielen, wie in 7B dargestellt, kann das E/A-Verarbeitungsmodul 728 mit dem Benutzer durch die E/A-Vorrichtungen 716 in 7A oder mit einer Benutzervorrichtung (z. B. den Vorrichtungen 104, 200, 400 oder 600) durch die Netzwerkkommunikationsschnittstelle 708 in 7A interagieren, um eine Benutzereingabe (z. B. eine Spracheingabe) zu erhalten und Antworten (z.B. als Sprachausgaben) auf die Benutzereingabe bereitzustellen. Das E/A-Verarbeitungsmodul 728 kann optional Kontextinformationen im Zusammenhang mit der Benutzereingabe von der Benutzervorrichtung, während oder kurz nach dem Empfang der Benutzereingabe, erhalten. Die Kontextinformationen können benutzerspezifische Daten, Vokabular und/oder Präferenzen einschließen, die für die Benutzereingabe relevant sind.
-
In manchen Beispielen können die Kontextinformationen auch Software- und Hardwarezustände der Benutzervorrichtung zum Zeitpunkt des Empfangens der Benutzeranforderung und/oder Informationen bezüglich der Umgebung des Benutzers zum Zeitpunkt des Empfangens der Benutzeranforderung einschließen. In manchen Beispielen kann auch das E/A-Verarbeitungsmodul 728 Nachfolgefragen an den Benutzer senden und Antworten von dem Benutzer bezüglich der Benutzeranforderung empfangen. Wenn eine Benutzeranforderung vom E/A-Verarbeitungsmodul 728 empfangen wird und die Benutzeranfrage eine Spracheingabe einschließen kann, kann das E/A-Verarbeitungsmodul 728 die Spracheingabe an das STT-Verarbeitungsmodul 730 (oder einen Spracherkenner) für eine Umwandlung von Sprache in Text leiten.
-
Das SST-Verarbeitungsmodul 730 kann ein oder mehrere ASR-Systeme einschließen. Das eine oder die mehreren ASR-Systeme können die Spracheingabe verarbeiten, die über das E/A-Verarbeitungsmodul 728 empfangen wird, um ein Erkennungsergebnis zu erzeugen.
-
Jedes ASR-System kann einen Front-End-Sprachpräprozessor einschließen. Der Front-End-Sprachpräprozessor kann repräsentative Merkmale aus der Spracheingabe extrahieren.
-
Zum Beispiel kann der Front-End-Sprachpräprozessor eine Fourier-Transformation an der Spracheingabe durchführen, um spektrale Merkmale zu extrahieren, die die Spracheingabe als eine Sequenz von repräsentativen mehrdimensionalen Vektoren kennzeichnen. Ferner kann jedes ASR-System ein oder mehrere Spracherkennungsmodelle (z.B. Akustikmodelle und/oder Sprachmodelle) einschließen und ein oder mehrere Spracherkennungs-Engines implementieren. Beispiele für Spracherkennungsmodelle sind unter anderem Hidden-Markov-Modelle, Gaussian-Mixture-Modelle, Deep-Neural-Network-Modelle, n-gram-Sprachmodelle und weitere statistische Modelle. Beispiele für Spracherkennungs-Engines können die DTW-basierten Module (Dynamic Time Warping) und WFST-basierten Module (Weighted Finite-State Transducer) einschließen. Das eine oder die mehreren Spracherkennungsmodelle und die eine oder die mehreren Spracherkennungs-Engines könne verwendet werden, um die extrahierten repräsentativen Merkmale des Front-End-Sprachpräprozessors zu verarbeiten und Zwischen-Erkennungsergebnisse (z.B. Phoneme, phonemische Zeichenfolgen und Unterbegriffe) und letztendlich Texterkennungsergebnisse (z.B. Wörter, Wortzeichenfolgen oder eine Token-Abfolge) zu erzeugen. In manchen Beispielen kann die Spracheingabe mindestens teilweise durch einen Drittanbieterdienst oder auf der Vorrichtung des Benutzers (z.B. der Vorrichtung 104, 200, 400 oder 600) verarbeitetet werden, um das Erkennungsergebnis zu erzeugen. Sobald das STT-Verarbeitungsmodul 730 Erkennungsergebnisse erzeugt, die eine Textzeichenfolge (z.B. Wörter oder eine Abfolge von Wörtern oder Abfolge von Token) enthalten, kann das Erkennungsergebnis zur Ableitung der Absicht an das Modul zur Verarbeitung natürlicher Sprache 732 weitergeleitet werden.
-
Weitere Details zur Sprache-zu-Text-Verarbeitung sind in der
US-Gebrauchsmusteranmeldung Eingangs-Nr. 13/236 942 mit dem Titel „Consolidating Speech Recognition Results“, eingereicht am 20. September 2011, beschrieben, deren gesamte Offenbarung durch Bezugnahme hierin aufgenommen wird.
-
In manchen Beispielen kann das STT-Verarbeitungsmodul 730 ein Vokabular erkennbarer Wörter über ein phonetisches Alphabet-Umwandlungsmodul 731 einschließen und/oder darauf zugreifen. Jedes Wort im Vokabular kann mit einer oder mehreren möglichen Aussprachen des Worts verknüpft sein, die in einer Lautschrift zur Spracherkennung vertreten sind. Insbesondere kann das Vokabular erkennbarer Wörter ein Wort einschließen, das mit einer Mehrzahl möglicher Aussprachen verknüpft ist. Das Vokabular kann beispielsweise das Wort „tomato“ einschließen, das mit den möglichen Aussprachen /tǝ'meɪгoʊ/ und /tǝ'mɑtoʊ/ verknüpft ist. Des Weiteren kann das Vokabular mit benutzerdefinierten möglichen Aussprachen verknüpft sein, die auf vorangegangenen Spracheingaben des Benutzers basieren. Solche benutzerdefinierten möglichen Aussprachen können im STT-Verarbeitungsmodul 730 gespeichert und über das Benutzerprofil auf der Vorrichtung einem bestimmten Benutzer zugeordnet werden. In manchen Beispielen können die möglichen Aussprachen von Wörtern basierend auf der Schreibweise des Worts und einer oder mehreren linguistischen und/oder phonetischen Regeln bestimmt werden. In manchen Beispielen können die möglichen Aussprachen manuell erzeugt werden, z. B. basierend auf bekannten anerkannten Aussprachen.
-
In manchen Beispielen können die möglichen Aussprachen basierend auf der Verbreitung der möglichen Aussprache eingestuft werden. Die mögliche Aussprache /tǝ'meɪroʊ/ kann beispielsweise höher eingeordnet werden als /tǝ'matoʊ/, da ersteres eine verbreiteter verwendete Aussprache ist (z.B. unter allen Benutzern, für Benutzer in einer bestimmten geografischen Region oder für eine andere geeignete Benutzerteilmenge). In manchen Beispielen können die möglichen Aussprachen auf der Basis dessen eingeordnet werden, ob die mögliche Aussprache eine benutzerdefinierte mögliche Aussprache ist, die dem Benutzer zugeordnet wurde. Eine benutzerdefinierte mögliche Aussprache kann beispielsweise höher eingeordnet werden als eine anerkannte mögliche Aussprache. Dies kann hilfreich bei der Erkennung von Eigennamen mit einer einzigartigen Aussprache sein, die von der anerkannten Aussprache abweicht. In manchen Beispielen können die möglichen Aussprachen einer oder mehreren Spracheigenschaften, wie beispielsweise einer geografischen Herkunft, einer Nationalität oder einer ethnischen Zugehörigkeit, zugeordnet werden. Die mögliche Aussprache /tǝ'meɪroʊ/ kann beispielsweise mit den Vereinigten Staaten verbunden werden, wohingegen die mögliche Aussprache /tǝ'mɑtoʊ/ Großbritannien zugeordnet werden kann. Des Weiteren kann die Rangfolge der möglichen Aussprache auf einer oder mehreren Eigenschaften des Benutzers (z. B. der geografischen Herkunft, der Nationalität, ethnischen Zugehörigkeit usw.) basieren, die im Profil des Benutzers auf der Vorrichtung gespeichert sind. Anhand des Benutzerprofils lässt sich zum Beispiel feststellen, dass der Benutzer mit den Vereinigten Staaten verbunden ist. Basierend auf dem Benutzer, der mit den Vereinigten Staaten verbunden ist, kann die mögliche Aussprache /tǝ'meɪroʊ/ (verknüpft mit den Vereinigten Staaten) höher eingeordnet werden als die mögliche Aussprache /tǝ'mɑtoʊ/ (verknüpft mit Großbritannien). In manchen Beispielen kann eine der eingeordneten möglichen Aussprachen als eine vorhergesagte Aussprache (z. B. die wahrscheinlichste Aussprache) ausgewählt werden.
-
Wenn eine Spracheingabe empfangen wird, kann das STT-Verarbeitungsmodul 730 dazu verwendet werden, die Phoneme zu bestimmen, die der Spracheingabe entsprechen (z.B. mithilfe eines akustischen Modells), und dann versuchen, Worte zu bestimmen, die den Phonemen entsprechen (z.B. mittels eines Sprachenmodells). Wenn beispielsweise das STT-Verarbeitungsmodul 730 zuerst die Phonemabfolge /tǝ'meɪroʊ/ identifizieren kann, die einem Abschnitt der Spracheingabe entsprechen, kann es anhand des Wörterverzeichnisses 744 feststellen, dass diese Sequenz dem Wort „tomato“ entspricht.
-
In manchen Beispielen kann das STT-Verarbeitungsmodul 730 Techniken zur annähernden Zuordnung verwenden, um Wörter in einer Äußerung zu bestimmen.
-
Somit kann das STT-Verarbeitungsmodul 730 zum Beispiel feststellen, dass die Phonemabfolge /tǝ'meɪroʊ/ dem Wort „tomato“ entspricht, auch wenn diese bestimmte Phonemabfolge nicht zu den möglichen Phonemabfolgen für dieses Wort gehört.
-
In manchen Beispielen kann das Verarbeitungsmodul für natürliche Sprache 732 konfiguriert sein, mit der Spracheingabe in Verbindung stehende Metadaten zu empfangen. Die Metadaten können anzeigen, ob eine Verarbeitung natürlicher Sprache an der Spracheingabe (oder der Abfolge von Wörtern oder Token entsprechend der Spracheingabe) durchgeführt werden soll. Wenn die Metadaten anzeigen, dass eine Verarbeitung natürlicher Sprache durchzuführen ist, kann das Verarbeitungsmodul für natürliche Sprache die Abfolge von Wörtern oder Token von dem STT-Verarbeitungsmodul empfangen, um eine Verarbeitung natürlicher Sprache durchzuführen. Wenn jedoch die Metadaten anzeigen, dass ein Prozess natürlicher Sprache nicht durchzuführen ist, kann das Verarbeitungsmodul für natürliche Sprache deaktiviert werden und kann die Abfolge von Wörtern oder Token (z.B. eine Textzeichenfolge) von dem STT-Verarbeitungsmodul von dem digitalen Assistenten ausgegeben werden. In manchen Beispielen können die Metadaten ferner eine oder mehrere Domänen identifizieren, die der Benutzeranforderung entsprechen. Basierend auf der einen oder den mehreren Domänen kann der Prozessor für natürliche Sprache Domänen in der Ontologie 760 deaktivieren, die nicht der einen oder den mehreren Domänen entsprechen. Auf diese Weise ist die Verarbeitung natürlicher Sprache auf die eine oder die mehreren Domänen in der Ontologie 760 beschränkt. Insbesondere kann die Strukturabfrage (weiter unten beschrieben) unter Verwendung der einen oder der mehreren Domänen und nicht der anderen Domänen in der Ontologie erzeugt werden.
-
Das Verarbeitungsmodul für natürliche Sprache 732 („Prozessor für natürliche Sprache“) des digitalen Assistenten kann die vom STT-Verarbeitungsmodul 730 generierte Abfolge von Wörtern oder Token („Token-Abfolge“) verwenden und versuchen, die Token-Abfolge mit einer oder mehreren „durchführbaren Absichten“, die vom digitalen Assistenten erkannt wurden, zu verknüpfen. Eine „durchführbare Absicht“ kann für eine Aufgabe stehen, die vom digitalen Assistenten durchgeführt werden kann, und kann einen damit verbundenen Aufgabenfluss haben, der in den Aufgabenflussmodellen 754 implementiert sein kann. Der damit verbundene Aufgabenfluss kann eine Serie von programmierten Aktionen und Schritten sein, die der digitale Assistent unternimmt, um die Aufgabe durchzuführen. Der Umfang der Fähigkeiten eines digitalen Assistenten kann von der Anzahl und Vielfalt von Aufgabenflüssen abhängig sein, die implementiert und in den Aufgabenflussmodellen 754 gespeichert wurden, oder mit anderen Worten, von der Anzahl und Vielfalt „durchführbarer Absichten“, die der digitale Assistent erkennt. Die Effektivität des digitalen Assistenten kann jedoch auch von der Fähigkeit des Assistenten zum Ableiten der korrekten „durchführbaren Absicht(en)“ aus der in natürlicher Sprache ausgedrückten Benutzeranforderung abhängig sein.
-
In manchen Beispielen kann das Verarbeitungsmodul für natürliche Sprache 732 zusätzlich zu der vom STT-Verarbeitungsmodul 730 erhaltenen Abfolge von Wörtern oder Token auch Kontextinformationen im Zusammenhang mit der Benutzeranforderung (z.B. vom E/A-Verarbeitungsmodul 728) empfangen. Das Verarbeitungsmodul für natürliche Sprache 732 kann die Kontextinformationen optional zum Klären, Ergänzen und/oder weiteren Definieren der Informationen verwenden, die in der vom STT-Verarbeitungsmodul 730 empfangenen Token-Abfolge enthalten sind. Die Kontextinformationen können zum Beispiel Benutzerpräferenzen, Hardware- und/oder Softwarezustände der Benutzervorrichtung, vor, während oder kurz nach der Benutzeranforderung erfasste Sensorinformationen, frühere Interaktionen (z.B. Dialog) zwischen dem digitalen Assistenten und dem Benutzer und dergleichen einschließen.
-
Wie hierin beschrieben, können Kontextinformationen dynamisch sein und sich mit der Zeit, je nach Standort, nach Inhalt des Dialogs und anderen Faktoren verändern.
-
In manchen Beispielen kann die Verarbeitung natürlicher Sprache z.B. auf der Ontologie 760 basieren. Die Ontologie 760 kann eine hierarchische Struktur sein, die viele Knoten enthält, wobei jeder Knoten entweder eine „durchführbare Absicht“ oder eine „Eigenschaft“ repräsentiert, welche für eine oder mehrere der „durchführbaren Absichten“ oder andere „Eigenschaften“ relevant ist. Wie weiter oben angegeben, kann eine „durchführbare Absicht“ eine Aufgabe darstellen, die der digitale Assistent durchführen kann, d. h. sie ist „durchführbar“ oder es kann auf sie reagiert werden. Eine „Eigenschaft“ kann einen Parameter im Zusammenhang mit einer durchführbaren Absicht oder einem Unteraspekt einer anderen Eigenschaft darstellen. Eine Verbindung zwischen einem Knoten einer durchführbaren Absicht und einem Eigenschaftsknoten in der Ontologie 760 kann definieren, wie ein vom Eigenschaftsknoten dargestellter Parameter die Aufgabe betrifft, der vom Knoten einer durchführbaren Absicht dargestellt wird.
-
In manchen Beispielen kann die Ontologie 760 aus Knoten einer durchführbaren Absicht und Eigenschaftsknoten aufgebaut sein. Innerhalb der Ontologie 760 kann jeder Knoten einer durchführbaren Absicht entweder direkt oder durch einen oder mehrere dazwischen liegende Eigenschaftsknoten mit einem oder mehreren Eigenschaftsknoten verbunden sein.
-
Ähnlich kann jeder Eigenschaftsknoten entweder direkt oder durch einen oder mehrere dazwischen liegende Eigenschaftsknoten mit einem oder mehreren Knoten einer durchführbaren Absicht verbunden sein. Zum Beispiel kann die Ontologie 760, wie in 7C gezeigt, einen Knoten „Restaurantreservierung“ (d.h. einen Knoten einer durchführbaren Absicht) einschließen. Die Eigenschaftsknoten „Restaurant“, „Datum/Uhrzeit“ (für die Reservierung) und „Gruppengröße“ können jeweils direkt mit dem Knoten einer durchführbaren Absicht (z.B. dem Knoten „Restaurantreservierung“) verbunden sein.
-
Zusätzlich können Eigenschaftsknoten „Küche“, „Preisbereich“, „Telefonnummer“ und „Ort“ Unterknoten des Eigenschaftsknotens „Restaurant“ sein und jeweils durch den dazwischenliegenden Eigenschaftsknoten „Restaurant“ mit dem Knoten „Restaurantreservierung“ (d.h. mit dem Knoten einer durchführbaren Absicht) verbunden sein. In einem weiteren Beispiel kann die Ontologie 760, wie in 7C dargestellt, auch einen Knoten „Erinnerung einstellen“ einschließen (d.h. einen weiteren Knoten einer durchführbaren Absicht). Die Eigenschaftsknoten „Datum/Uhrzeit“ (zum Einstellen der Erinnerung) und „Thema“ (für die Erinnerung) können jeweils mit dem Knoten „Erinnerung einstellen“ verbunden sein. Da die Eigenschaft „Datum/Uhrzeit“ für sowohl die Aufgabe des Vornehmens einer Restaurantreservierung als auch die Aufgabe des Festlegens einer Erinnerung relevant sein kann, kann der Eigenschaftsknoten „Datum/Uhrzeit“ sowohl mit dem Knoten „Restaurantreservierung“ als auch mit dem Knoten „Erinnerung einstellen“ in der Ontologie 760 verknüpft sein.
-
Ein Knoten einer durchführbaren Absicht kann, zusammen mit seinen verknüpften Konzeptknoten, als eine „Domäne“ beschrieben werden. In der vorliegenden Erörterung kann jede Domäne einer entsprechenden durchführbaren Absicht zugeordnet sein und bezieht sich sich auf die Gruppe von Knoten (und ihre Beziehungen zueinander), die der bestimmten durchführbaren Absicht zugeordnet sind. Zum Beispiel kann die in 7C gezeigte Ontologie 760 ein Beispiel einer Restaurantreservierungsdomäne 762 und ein Beispiel einer Erinnerungsdomäne 764 innerhalb der Ontologie 760 einschließen.
-
Die Restaurantreservierungsdomäne schließt den Knoten einer durchführbaren Absicht „Restaurantreservierung“, die Eigenschaftsknoten „Restaurant“, „Datum/Zeit“ und „Gruppengröße“ und die Eigenschaftsunterknoten „Küche“, „Preisbereich“, „Telefonnummer“ und „Ort“ ein. Die Erinnerungsdomäne 764 kann den Knoten einer durchführbaren Absicht „Erinnerung einstellen“ und die Eigenschaftsknoten „Gegenstand“ und „Datum/Zeit“ einschließen. Bei manchen Beispielen kann die Ontologie 760 aus vielen Domänen zusammengesetzt sein. Jede Domäne kann einen oder mehrere Eigenschaftsknoten mit einer oder mehreren anderen Domänen teilen.
-
Zum Beispiel kann der Eigenschaftsknoten „Datum/Uhrzeit“ mit vielen unterschiedlichen Domänen (z. B. einer Terminplandomäne, einer Reisereservierungsdomäne, einer Kinokartendomäne usw.) zusätzlich zur Restaurantreservierungsdomäne 762 und der Erinnerungsdomäne 764 verknüpft sein.
-
Obwohl 7C zwei Beispieldomänen innerhalb der Ontologie 760 zeigt, können andere Domänen zum Beispiel „Film suchen“, „Anruf tätigen“, „Wegbeschreibung“, „Termin planen“, „Nachricht senden“ und „Frage beantworten“, „Liste lesen“, „Navigationsanweisung geben“, „Anweisungen für eine Aufgabe geben“ und so weiter einschließen. Eine „Nachricht senden“-Domäne kann einem Knoten einer durchführbaren Absicht „Nachricht senden“ zugeordnet werden und kann des Weiteren Eigenschaftsknoten wie beispielsweise „Empfänger“, „Art der Nachricht“ und „Textkörper“ einschließen. Der Eigenschaftsknoten „Empfänger“ kann weiter definiert werden, zum Beispiel durch Eigenschaftsunterknoten wie beispielsweise „Name des Empfängers“ und „Nachrichtenadresse“.
-
In manchen Beispielen kann die Ontologie 760 alle Domänen (und somit durchführbaren Absichten) einschließen, die der digitale Assistent verstehen und bearbeiten kann. In manchen Beispielen kann die Ontologie 760 modifiziert werden, wie beispielsweise durch Hinzufügen oder Entfernen von gesamten Domänen oder Knoten oder durch Modifizieren von Beziehungen zwischen den Knoten innerhalb der Ontologie 760.
-
In manchen Beispielen können Knoten im Zusammenhang mit mehreren betreffenden durchführbaren Absichten unter einer „Überdomäne“ in der Ontologie 760 zu einem Cluster zusammengefasst werden. Zum Beispiel kann eine Überdomäne „Reise“ einen Cluster von Eigenschaftsknoten und Knoten einer durchführbaren Absicht einschließen, die mit Reisen in Verbindung stehen. Die Knoten einer durchführbaren Absicht, die Reisen betreffen, können „Flugreservierung“, „Hotelreservierung“, „Autovermietung“, „Wegbeschreibung erhalten“, „Sehenswürdigkeiten suchen“ und so weiter einschließen.
-
Die Knoten einer durchführbaren Absicht unter derselben Überdomäne (z.B. der Überdomäne „Reisen“) können viele Eigenschaftsknoten gemeinsam haben. Zum Beispiel können die Knoten einer durchführbaren Absicht für „Flugreservierung“, „Hotelreservierung“, „Autovermietung“, „Wegbeschreibung erhalten“, „Sehenswürdigkeiten suchen“ einen oder mehrere der Eigenschaftsknoten „Startpunkt“ „Zielort“, „Abfahrtsdatum/Zeit“, „Ankunftsdatum/Zeit“ und „Gruppengröße“ teilen.
-
In manchen Beispielen kann jeder Knoten in der Ontologie 760 mit einer Gruppe von Wörtern und/oder Wendungen verbunden sein, die für die Eigenschaft oder die durchführbare Absicht, die der Knoten darstellt, relevant sind. Die jeweilige Gruppe von Wörtern und/oder Wendungen im Zusammenhang mit dem jeweiligen Knoten kann das so genannte „Vokabular“ im Zusammenhang mit dem Knoten darstellen. Die jeweilige Gruppe von Wörtern und/oder Wendungen im Zusammenhang mit dem jeweiligen Knoten kann im Wörterverzeichnis 744 in Verbindung mit der Eigenschaft oder der durchführbaren Absicht, die der Knoten darstellt, gespeichert sein. Zum Beispiel kann, zu 7B zurückkehrend, das Vokabular, das mit dem Eigenschaftsknoten „Restaurant“ verknüpft ist, Wörter wie „Essen“, „Getränke“, „Küche“, „hungrig“, „essen“ „Pizza“, „Fast Food“, „Mahlzeit“ usw. einschließen. Als ein anderes Beispiel kann das Vokabular, das dem Knoten für die durchführbare Absicht „Anruf tätigen“ zugeordnet ist, Wörter und Phrasen wie „anrufen“, „telefonieren“, „wählen“, „klingeln“, „diese Nummer anrufen“, „Folgende anrufen“ usw. einschließen. Das Wörterverzeichnis 744 kann optional Wörter und Wendungen in verschiedenen Sprachen einschließen.
-
Das Verarbeitungsmodul für natürliche Sprache 732 kann die Token-Abfolge (z. B. eine Textzeichenfolge) vom STT-Verarbeitungsmodul 730 empfangen und kann bestimmen, welche Knoten bei den Wörtern in der Token-Abfolge eine Rolle spielen. In manchen Beispielen kann, wenn herausgefunden wird, dass ein Wort oder eine Wendung in der Token-Abfolge im Zusammenhang mit einem oder mehreren Knoten in der Ontologie 760 ist (über das Wörterverzeichnis 744), das Wort oder die Wendung diese Knoten „auslösen“ oder „aktivieren“. Auf der Grundlage der Menge und/oder der relativen Wichtigkeit der aktivierten Knoten kann das Verarbeitungsmodul für natürliche Sprache 732 eine der durchführbaren Absichten als die Aufgabe auswählen, die der Benutzer zum Durchführen durch den digitalen Assistenten beabsichtigte. In manchen Beispielen kann die Domäne ausgewählt werden, die die meisten „ausgelösten“ Knoten hat. In manchen Beispielen kann die Domäne mit dem höchsten Konfidenzwert (z. B. basierend auf der relativen Wichtigkeit ihrer verschiedenen ausgelösten Knoten) ausgewählt werden. In manchen Beispielen kann die Domäne basierend auf einer Kombination der Anzahl und der Wichtigkeit der ausgelösten Knoten ausgewählt werden. In manchen Beispielen werden beim Auswählen des Knotens auch zusätzliche Faktoren berücksichtigt, wie beispielsweise ob der digitale Assistent eine ähnliche Anforderung von einem Benutzer zuvor korrekt interpretiert hat.
-
Die Benutzerdaten 748 können benutzerspezifische Informationen wie beispielsweise benutzerspezifisches Vokabular, Benutzerpräferenzen, Benutzeradresse, Standard- und Zweitsprache des Benutzers, Kontaktliste des Benutzers und andere kurz- oder langfristige Informationen für jeden Benutzer einschließen. Das Verarbeitungsmodul für natürliche Sprache 732 kann die benutzerspezifische Informationen verwenden, um die Informationen zu ergänzen, die in der Benutzereingabe enthalten sind, um die Absicht des Benutzers weitergehend zu definieren. Zum Beispiel kann das Verarbeitungsmodul für natürliche Sprache 732 bei einer Benutzeranforderung „Lade meine Freunde zu meiner Geburtstagsparty ein.“ in der Lage sein, auf die Benutzerdaten 748 zuzugreifen, um zu bestimmen, wer die „Freunde“ sind und wann und wo die „Geburtstagsparty“ stattfinden soll, anstatt vom Benutzer zu erfordern, solche Informationen in seiner Anforderung explizit bereitzustellen, indem es zum Beispiel eine Liste von „Freunden“ aus der Kontaktliste des Benutzers verwendet, einen Kalendereintrag für „Geburtstagsparty“ im Kalender des Benutzers oder in der E-Mail des Benutzers sucht und dann die Informationen zu den entsprechenden Kontaktdaten, die für jeden Kontakt in der Kontaktliste angegeben sind, sendet.
-
Andere Details zum Durchsuchen einer Ontologie auf der Grundlage einer Token-Zeichenfolge ist in der
US-Gebrauchsmusteranmeldung Eingangs-Nr. 12/341 743 mit dem Titel „Method and Apparatus for Searching Using An Active Ontology“, eingereicht am 22. Dezember 2008, deren gesamte Offenbarung durch Bezugnahme hierin eingeschlossen ist, beschrieben.
-
Sobald das Verarbeitungsmodul für natürliche Sprache 732 eine durchführbare Absicht (oder Domäne) auf der Grundlage der Benutzeranforderung identifiziert, kann in manchen Beispielen das Verarbeitungsmodul für natürliche Sprache 732 eine strukturierte Abfrage erzeugen, um die identifizierte durchführbare Absicht darzustellen. In manchen Beispielen kann die strukturierte Abfrage Parameter für einen oder mehrere Knoten innerhalb der Domäne für die durchführbare Absicht einschließen, und mindestens manche der Parameter sind mit den spezifischen Informationen und Anforderungen, die in der Benutzeranfrage angegebenen sind, ausgefüllt. Zum Beispiel kann der Benutzer sagen: „Führe für mich eine Reservierung zum Abendessen um 19:00 Uhr in einem Sushi-Restaurant durch.“ In diesem Fall kann das Verarbeitungsmodul für natürliche Sprache 732 in der Lage sein, auf der Grundlage der Benutzereingabe die durchführbare Absicht korrekt als „Restaurantreservierung“ zu identifizieren. Gemäß der Ontologie kann eine strukturierte Abfrage für eine Domäne „Restaurantreservierung“ Parameter wie {Küche}, {Zeit}, {Datum}, {Gruppengröße} und dergleichen einschließen. In manchen Beispielen kann, basierend auf der Spracheingabe und dem aus der Spracheingabe mithilfe des STT-Verarbeitungsmoduls 730 abgeleiteten Textes, das Verarbeitungsmodul für natürliche Sprache 732 eine partielle strukturierte Abfrage für die Restaurantreservierungsdomäne generieren, wobei die partielle strukturierte Abfrage die Parameter {Küche= „Sushi“} und {Zeit = „19.00“} einschließt. Dennoch enthält in diesem Beispiel die Äußerung des Benutzers keine ausreichenden Informationen, um die mit der Domäne verbundene strukturierte Abfrage abzuschließen. Deshalb sind andere notwendige Parameter wie beispielsweise {Gruppengröße} und {Datum} in der strukturierten Abfrage, die auf den aktuell verfügbaren Informationen basiert, möglicherweise nicht angegeben. In manchen Beispielen kann das Verarbeitungsmodul für natürliche Sprache 732 manche Parameter der strukturierten Abfrage mit empfangenen Kontextinformationen füllen. Wenn zum Beispiel der Benutzer ein Sushi-Restaurant „in der Nähe“ anfordert, kann das Verarbeitungsmodul für natürliche Sprache 732 in manchen Beispielen einen {Ort}-Parameter in der strukturierten Abfrage mit GPS-Koordinaten von der Benutzervorrichtung ausfüllen.
-
In manchen Beispielen kann das Verarbeitungsmodul für natürliche Sprache 732 die erzeugte strukturierte Abfrage (einschließlich jedes vollständigen Parameters) an das Aufgabenflussverarbeitungsmodul 736 („Aufgabenflussprozessor“) weiterleiten. Das Aufgabenflussverarbeitungsmodul 736 kann konfiguriert sein, die strukturierte Abfrage vom Verarbeitungsmodul für natürliche Sprache 732 zu empfangen, die strukturierte Abfrage, falls notwendig, abzuschließen und die Aktionen auszuführen, die zum „Abschließen“ der endgültigen Anforderung des Benutzers erforderlich sind. In manchen Beispielen können die verschiedenen Verfahrensweisen, die zum Abschließen dieser Aufgaben erforderlich sind, in Aufgabenflussmodellen 754 bereitgestellt werden.
-
In manchen Beispielen können die Aufgabenflussmodelle 754 Vorgänge zum Erhalten zusätzlicher Informationen vom Benutzer und Aufgabenflüsse zum Durchführen von Aktionen im Zusammenhang mit der durchführbaren Absicht einschließen.
-
Um eine strukturierte Abfrage abzuschließen, muss das Aufgabenflussverarbeitungsmodul 736 möglicherweise wie weiter oben beschrieben einen zusätzlichen Dialog mit dem Benutzer initiieren, um zusätzliche Informationen zu erhalten und/oder möglicherweise missverständliche Äußerungen eindeutig zu machen.
-
Wenn solche Interaktionen notwendig sind, ruft das Aufgabenflussverarbeitungsmodul 736 das Dialogflussverarbeitungsmodul 734 auf, um in einen Dialog mit dem Benutzer zu treten. In manchen Beispielen kann das Dialogflussverarbeitungsmodul 734 bestimmen, wie (und/oder wann) der Benutzer nach den zusätzlichen Informationen gefragt wird, und es empfängt und verarbeitet die Benutzerantworten. Die Fragen können durch das E/A-Verarbeitungsmodul 728 den Benutzern bereitgestellt und Antworten von diesen empfangen werden. In manchen Beispielen kann das Dialogflussverarbeitungsmodul 734 dem Benutzer eine Dialogausgabe über eine akustische und/oder visuelle Ausgabe bereitstellen, und es empfängt eine Eingabe vom Benutzer über gesprochene oder physische (z.B. durch Klicken) Antworten. Mit dem vorstehenden Beispiel fortfahrend: Wenn das Aufgabenflussverarbeitungsmodul 736 das Dialogflussverarbeitungsmodul 734 aufruft, um die Informationen „Gruppengröße“ und „Datum“ für die strukturierte Abfrage im Zusammenhang mit der Domäne „Restaurantreservierung“ zu bestimmen, erzeugt das Dialogflussverarbeitungsmodul 734 Fragen, wie beispielsweise „Für wie viele Leute?“ und „An welchem Tag?“, die an den Benutzer geleitet werden. Sobald Antworten vom Benutzer empfangen werden, kann das Dialogflussverarbeitungsmodul 734 dann die strukturierte Abfrage mit den fehlenden Informationen ausfüllen oder die Informationen an das Aufgabenflussverarbeitungsmodul 736 weiterleiten, um die fehlenden Informationen von der strukturierten Abfrage einzutragen.
-
Sobald das Aufgabenflussverarbeitungsmodul 736 die strukturierte Abfrage für eine durchführbare Absicht abgeschlossen hat, kann das Aufgabenflussverarbeitungsmodul 736 dazu übergehen, die endgültige Aufgabe im Zusammenhang mit der durchführbaren Absicht auszuführen. Dementsprechend kann das Aufgabenflussverarbeitungsmodul 736 die Schritte und Anweisungen im Aufgabenflussmodell gemäß den spezifischen Parametern, die in der strukturierten Abfrage enthalten sind, ausführen. Zum Beispiel kann das Aufgabenflussmodell für die durchführbare Absicht von „Restaurantreservierung“ Schritte und Anweisungen zum Kontaktieren eines Restaurants und tatsächlichen Anfordern einer Reservierung für eine bestimmte Gruppengröße zu einer bestimmten Zeit einschließen. Wenn zum Beispiel eine strukturierte Abfrage verwendet wird wie beispielsweise: {Restaurantreservierung, Restaurant = ABC-Café, Datum = 12.3.2012, Zeit = 19.00, Gruppengröße = 5}; kann das Aufgabenflussverarbeitungsmodul 736 die Schritte durchführen: (1) Anmelden bei einem Server des ABC-Cafés oder bei einem Restaurantreservierungssystem wie OPENTABLE®, (2) Eingeben der Informationen für Datum, Zeit und Gruppengröße in ein Formular auf der Website, (3) Übermitteln des Formulars und (4) Erstellen eines Kalendereintrags für die Reservierung im Kalender des Benutzers.
-
In manchen Beispielen kann das Aufgabenflussverarbeitungsmodul 736 die Assistenz eines Dienstverarbeitungsmoduls 738 („Dienstverarbeitungsmodul“) einsetzen, um eine Aufgabe zu vervollständigen, die in der Benutzereingabe angefordert wurde, oder um eine informationelle Antwort auf eine Frage, die in der Benutzereingabe gestellt wurde, zu geben. Zum Beispiel kann das Dienstverarbeitungsmodul 738 für das Aufgabenflussverarbeitungsmodul 736 tätig sein, um einen Telefonanruf zu tätigen, einen Kalendereintrag vorzunehmen, eine Landkartensuche aufzurufen, andere Benutzeranwendungen, die auf der Benutzervorrichtung installiert sind, aufzurufen oder mit diesen zu interagieren und Drittanbieterdienste (z. B. ein Restaurantreservierungsportal, eine Webseite eines sozialen Netzwerks, ein Banking-Portal usw.) aufzurufen oder mit diesen zu interagieren. In manchen Beispielen können die Protokolle und Anwendungsprogrammierschnittstellen (application programming interfaces (APIs)), die von dem jeweiligen Dienst benötigt werden, von einem jeweiligen Dienstmodell von den Dienstmodellen 756 spezifiziert werden. Das Dienstverarbeitungsmodul 738 greift auf das geeignete Dienstmodell für einen Dienst zu und erzeugt Anforderungen für den Dienst gemäß den Protokollen und APIs, die gemäß dem Dienstmodell für den Dienst erforderlich sind.
-
Wenn zum Beispiel ein Restaurant einen Online-Reservierungsdienst aktiviert hat, kann das Restaurant ein Dienstmodell, das die notwendigen Parameter zum Vornehmen einer Reservierung spezifiziert, und die APIs zum Übertragen der Werte der notwendigen Parameter an den Online-Reservierungsdienst bereitstellen. Wenn es vom Aufgabenflussverarbeitungsmodul 736 angefordert wird, kann das Dienstverarbeitungsmodul 738 eine Netzwerkverbindung mit dem Online-Reservierungsdienst unter Verwendung der im Dienstmodell gespeicherten Webadresse aufbauen und die notwendigen Parameter der Reservierung (z.B. Uhrzeit, Datum, Gruppengröße) in einem Format gemäß der API des Online-Reservierungsdienstes an die Online-Reservierungsschnittstelle senden.
-
In manchen Beispielen können das Verarbeitungsmodul für natürliche Sprache 732, das Dialogflussverarbeitungsmodul 734 und das Aufgabenflussverarbeitungsmodul 736 kollektiv und iterativ verwendet werden, um die Absicht des Benutzers abzuleiten und zu definieren, Informationen zu erhalten, um die Benutzerabsicht weiter zu klären und einzugrenzen, und letztlich eine Antwort (d.h. eine Ausgabe für den Benutzer oder die Durchführung einer Aufgabe) zu erzeugen, um die Absicht des Benutzers zu erfüllen. Die erzeugte Antwort kann eine Dialogantwort auf die Spracheingabe sein, die mindestens teilweise die Absicht des Benutzers erfüllt. Des Weiteren kann in manchen Beispielen die erzeugte Antwort als Sprachausgabe ausgegeben werden. In diesen Beispielen kann die erzeugte Antwort an das Sprachsynthesemodul 740 (z.B. einen Sprach-Synthesizer) gesendet werden, wo es verarbeitet werden kann, um die Dialogantwort in Sprachform zu synthetisieren. In noch einem weiteren Beispiel kann die erzeugte Antwort Dateninhalt sein, der relevant ist, um eine Benutzeranforderung in der Spracheingabe zu erfüllen.
-
Das Sprachsynthesemodul 740 kann konfiguriert sein, die Sprachausgaben zur Präsentation für den Benutzer zu synthetisieren. Das Sprachsynthesemodul 740 synthetisiert Sprachausgaben auf der Basis des Textes, der vom digitalen Assistenten bereitgestellt wird. Die erzeugte Dialogantwort kann zum Beispiel in Form einer Textzeichenfolge vorliegen. Das Sprachsynthesemodul 740 kann die Textzeichenfolge in eine hörbare Sprachausgabe umwandeln. Das Sprachsynthesemodul 740 kann jede geeignete Sprachsynthesetechnik verwenden, um Sprachausgaben aus Text zu erzeugen, einschließlich, jedoch nicht beschränkt auf konkatenative Synthese, Einheitenauswahlsynthese, Diphonsynthese, domänenspezifische Synthese, Formantsynthese, artikulatorische Synthese, HMM-basierte (Hidden-Markow-Modell) Synthese und Sinuswellensynthese. In manchen Beispielen kann das Sprachsynthesemodul 740 auch konfiguriert sein, einzelne Wörter basierend auf phonemischen Zeichenfolgen, die den Wörtern entsprechen, zu synthetisieren. Eine phonemische Zeichenfolge kann zum Beispiel mit einem Wort in der erzeugten Dialogantwort verknüpft werden. Die phonemische Zeichenfolge kann in Metadaten gespeichert werden, die mit dem Wort verknüpft sind. Das Sprachsynthesemodul 740 kann konfiguriert sein, die phonemische Zeichenfolge direkt in den Metadaten zu verarbeiten, um das Wort in Sprachform zu synthetisieren.
-
In manchen Beispielen kann die Sprachsynthese auch anstelle (oder zusätzlich zu) einem Verwenden des Sprachsynthesemoduls 740 auf einer entfernt angeordneten Vorrichtung (z.B. dem Serversystem 108) ausgeführt werden, und die synthetisierte Sprache kann zur Ausgabe für den Benutzer an die Benutzervorrichtung gesendet werden. Dies kann beispielsweise in manchen Implementierungen der Fall sein, bei denen Ausgaben für einen digitalen Assistenten auf einem Serversystem erzeugt werden. Und da Serversysteme allgemein mehr Verarbeitungsleistung oder Ressourcen haben als eine Benutzervorrichtung, kann es möglich sein, hochwertigere Sprachausgaben zu erhalten als mit einer clientseitigen Synthese praktikabel wäre.
-
Weitere Details zu digitalen Assistenten sind in der
US-Gebrauchsmusteranmeldung Nr. 12/987 982 mit dem Titel „Intelligent Automated Assistant“, eingereicht am 10. Januar 2011, und in der
US-Gebrauchsmusteranmeldung Nr. 13/251 088 mit dem Titel „Generating and Processing Task Items That Represent Tasks to Perform“, eingereicht am 30. September 2011, deren gesamte Offenbarungen durch Bezugnahme hierin eingeschlossen sind, zu finden.
-
Die Aufmerksamkeit wird nun auf Ausführungsformen von Prozessen gerichtet, die auf einer elektronischen Vorrichtung wie beispielsweise der Benutzervorrichtung 104, der tragbaren Multifunktionsvorrichtung 200, der Multifunktionsvorrichtung 400 oder der persönlichen elektronischen Vorrichtung 600 (zusammen „elektronische Vorrichtung 104, 200, 400, 600“) implementiert werden. Bezugnahmen in diesem Dokument auf eine bestimmte elektronische Vorrichtung 104, 200, 400, 600 sind als alle elektronischen Vorrichtungen 104, 200, 400, 600 umfassend zu verstehen, sofern nicht eine oder mehrere dieser elektronischen Vorrichtungen 104, 200, 400, 600 durch die klare Bedeutung des Texts ausgeschlossen sind.
-
9A bis 9H sind Flussdiagramme, die ein Verfahren 900 zum Betreiben eines digitalen Assistenten gemäß verschiedenen Beispielen veranschaulichen. Genauer kann das Verfahren 900 implementiert werden, um eine Erkennung eines Sprechers durchzuführen, um einen virtuellen Assistenten aufzurufen. Das Verfahren 900 kann unter Verwendung von einer oder mehreren elektronischen Vorrichtungen durchgeführt werden, die einen digitalen Assistenten implementieren. In manchen Beispielen kann das Verfahren 900 unter Verwendung eines Client-Server-Systems (z.B. des Systems 100) durchgeführt werden, das einen digitalen Assistenten implementiert. Die einzelnen Blöcke des Verfahrens 900 können in jeder geeigneten Weise zwischen einem oder mehreren Computern, Systemen oder elektronischen Vorrichtungen verteilt sein. Zum Beispiel kann das Verfahren 900 in manchen Beispielen vollständig auf einer elektronischen Vorrichtung (z.B. den Vorrichtungen 104, 200, 400, oder 600) durchgeführt werden. Zum Beispiel ist die in verschiedenen Beispielen genutzte elektronische Vorrichtung 104, 200, 400, 600 ein Smartphone. Das Verfahren 900 ist jedoch nicht auf eine Verwendung mit einem Smartphone beschränkt; das Verfahren 900 kann auf jeder anderen geeigneten elektronischen Vorrichtung wie beispielsweise einem Tablet, einem Desktop-Computer, einem Laptop oder einer Smartwatch implementiert werden. Während in der folgenden Erörterung das Verfahren als von einem digitalen Assistenzsystem (z.B. dem System 100 und/oder dem digitalen Assistenzsystem 700) durchgeführt beschrieben wird, sollte es sich ferner verstehen, dass der Prozess oder ein bestimmter Teil des Prozesses nicht auf eine Durchführung durch eine bestimmte Vorrichtung, Kombination von Vorrichtungen, oder Implementierung beschränkt ist. Die Beschreibung des Prozesses wird durch 8A bis 8G und die Beschreibung weiter oben in Bezug auf diese Figuren weiter veranschaulicht und erläutert.
-
Zu Beginn des Verfahrens 900 empfängt der digitale Assistent in Block 902 eine Spracheingabe in natürlicher Sprache von einem von einer Mehrzahl von Benutzern, wobei die Spracheingabe in natürlicher Sprache eine Reihe von akustischen Eigenschaften hat.
-
Gemäß manchen Ausführungsformen schließen die akustischen Eigenschaften der Spracheingabe in natürlicher Sprache mindestens eines von dem Spektrum, der Lautstärke und der Prosodie der Spracheingabe in natürlicher Sprache ein. Das Spektrum bezieht sich in manchen Beispielen auf das mit der Spracheingabe in natürlicher Sprache in Verbindung stehende Frequenz- und Amplitudenspektrum. Die Lautstärke der Spracheingabe in natürlicher Sprache bezieht sich auf die Klangintensität der Spracheingabe in natürlicher Sprache, wie sie an der elektronischen Vorrichtung 104, 200, 400, 600 empfangen wird. Die Prosodie schließt in manchen Beispielen die Stimmlage, die Tonlänge und die Klangfarbe der Spracheingabe in natürlicher Sprache ein. In manchen Ausführungsformen schließen das Spektrum und die Prosodie ähnliche Attribute der Spracheingabe in natürlicher Sprache ein, und diese Attribute fallen in den Umfang der akustischen Eigenschaften der Spracheingabe in natürlicher Sprache. Die Benutzereingabe schließt in manchen Ausführungsformen eine unstrukturierte Rede in natürlicher Sprache, einschließlich eines oder mehrerer Wörter, ein.
-
Wenn die elektronische Vorrichtung 104, 200, 400, 600 ein Mikrofon 213 einschließt oder mit diesem verbunden ist, kann die Benutzereingabe durch das Mikrofon 213 empfangen werden. Die Benutzereingabe kann auch als eine Audioeingabe oder ein Audiostrom bezeichnet werden. In manchen Ausführungsformen kann der Audiostrom als unverarbeitete Schallwellen, als eine Audiodatei oder in Form eines repräsentativen Audiosignals (analog oder digital) empfangen werden. In anderen Ausführungsformen kann der Audiostrom an einem entfernt angeordneten System wie beispielsweise einer Serverkomponente eines digitalen Assistenten empfangen werden. Der Audiostrom kann Benutzersprache wie beispielsweise eine gesprochene Benutzeranforderung einschließen. In anderen Ausführungsformen wird die Benutzereingabe in Textform anstatt als Sprache empfangen.
-
Die elektronische Vorrichtung 104, 200, 400, 600 bestimmt gemäß manchen Ausführungsformen in Block 904, ob die in Block 902 empfangene Spracheingabe in natürlicher Sprache sowohl einem durch einen Benutzer anpassbaren lexikalischen Auslöser als auch einer Reihe von mit der Stimme eines bestimmten Benutzers in Verbindung stehenden akustischen Eigenschaften entspricht. Zum Beispiel ist der bestimmte Benutzer der Eigentümer oder primäre Benutzer der elektronischen Vorrichtung 104, 200, 400, 600. Gemäß manchen Ausführungsformen wird die Bestimmung durch den DA-Client 102 an der elektronischen Vorrichtung 104, 200, 400, 600 und/oder durch den DA-Server 106 an dem Serversystem 108 durchgeführt. In solchen Ausführungsformen wird diese Aufgabe durch den digitalen Assistenten als eine eigenständige Schwellenwertaufgabe durchgeführt, ohne den digitalen Assistenten in seiner Gesamtheit aufzurufen oder dem digitalen Assistenten, außer für die einzelne Aufgabe von Block 904, Zugriff auf den Lautsprecher bereitzustellen. Gemäß anderen Ausführungsformen wird der digitale Assistent nicht genutzt, um die Bestimmung von Block 904 durchzuführen, und stattdessen führt die elektronische Vorrichtung 104, 200, 400, 600 den Block 904 unabhängig von dem digitalen Assistenten durch, um die Sicherheit zu erhöhen und den Aufruf des digitalen Assistenten zurückzustellen. Der vom Benutzer anpassbare lexikalische Auslöser ist der Inhalt der Spracheingabe in natürlicher Sprache des Benutzers; die akustischen Eigenschaften der Sprache des Benutzers sind, wie der Benutzer diesen Inhalt äußert. Wie weiter oben beschrieben, schließen die mit der Stimme eines bestimmten Benutzers in Verbindung stehenden akustischen Eigenschaften gemäß manchen Ausführungsformen Spektrum, Lautstärke und Prosodie ein. Gemäß manchen Ausführungsformen ist ein lexikalischer Auslöser ein Klang, wie beispielsweise, jedoch nicht beschränkt auf ein Wort, Wörter oder ein Ausdruck, die, wenn sie von dem Benutzer gesprochen werden, dem digitalen Assistenten signalisieren, dass eine Dienstanforderung folgt. Gemäß anderen Ausführungsformen ist ein lexikalischer Auslöser ein Klang außer Sprache wie beispielsweise ein Pfiff, ein gesungener Ton oder gesungene Töne oder eine andere Äußerung oder ein anderer Klang außer Sprache, die von einem Benutzer oder durch eine von einem Benutzer betriebene Vorrichtung erzeugt werden. Ein Beispiel eines lexikalischen Auslösers ist „Hey, Siri“, der in Verbindung mit der mobilen digitalen Vorrichtung iPhone® von Apple, Inc., Cupertino, Kalifornien, genutzt wird. Der lexikalische Auslöser „Siri“ oder „Hey, Siri“ wird vom Hersteller eingerichtet. Demgegenüber ist ein vom Benutzer anpassbarer lexikalischer Auslöser einm Wort, Wörter oder in ein Ausdruck, die von dem Benutzer als ein lexikalischer Auslöser eingerichtet werden, wie nachfolgend genauer beschrieben.
-
Wenn die Spracheingabe in natürlicher Sprache in Block 904 sowohl dem vom Benutzer anpassbaren lexikalischen Auslöser als auch der Reihe von mit dem Benutzer in Verbindung stehenden akustischen Eigenschaften entspricht, wechselt das Verfahren 900 zu Block 910. Zum Beispiel kann der vom Benutzer anpassbare lexikalische Auslöser „Hallo, Boss“ sein, und wenn ein Benutzer „Hallo, Boss“ mit einer Stimme sagt, die eine Reihe von akustischen Eigenschaften aufweist, die den mit dem Benutzer in Verbindung stehenden Eigenschaften entsprechen, wechselt das Verfahren 900 zu Block 910. Der digitale Assistent wird in Block 910 aufgerufen und ist dazu bereit, eine Benutzeranforderung nach einem Dienst zu empfangen. Der DA-Client 102, der DA-Server 106 oder beide sind dazu bereit, von dem Benutzer verwendet zu werden. Wenn die Spracheingabe in natürlicher Sprache in Block 904 nur einem von dem vom Benutzer anpassbaren lexikalischen Auslöser und der Reihe von mit dem Benutzer in Verbindung stehenden akustischen Eigenschaften entspricht oder weder dem vom Benutzer anpassbaren lexikalischen Auslöser noch der Reihe von mit dem Benutzer in Verbindung stehenden akustischen Eigenschaften entspricht, wird auf einen Aufruf des virtuellen Assistenten in Block 912 verzichtet. Wenn die elektronische Vorrichtung 104, 200, 400, 600 gesperrt ist oder der virtuelle Assistent auf andere Weise zur Verwendung nicht verfügbar ist, bleibt die elektronische Vorrichtung 104, 200, 400, 600 gesperrt und/oder bleibt der virtuelle Assistent zur Verwendung nicht verfügbar.
-
Optional ist gemäß manchen Ausführungsformen zwischen Block 904 und Block 910 eine zusätzliche Sicherheitsmaßnahme bereitgestellt. Wenn die Spracheingabe in natürlicher Sprache in Block 904 sowohl dem vom Benutzer anpassbaren lexikalischen Auslöser als auch der Reihe von mit dem Benutzer in Verbindung stehenden akustischen Eigenschaften entspricht, empfängt der digitale Assistent in Block 906 mindestens einen zusätzlichen Sicherheitsidentifikator. Gemäß manchen Ausführungsformen schließen Beispiele für zusätzliche Sicherheitsidentifikatoren ein vom Benutzer in die elektronische Vorrichtung 104, 200, 400, 600 (wie beispielsweise über die Anzeige 212) eingegebenes Kennwort, einen von der elektronischen Vorrichtung 104, 200, 400, 600 (wie beispielsweise über die Anzeige 212 oder einen mit der elektronischen Vorrichtung 104, 200, 400, 600 in Verbindung stehenden Sensor) erfassten Fingerabdruck, ein zu der elektronischen Vorrichtung 104, 200, 400, 600 (wie beispielsweise über das Mikrofon 213) gesprochenes Wort und eine Fotografie (wie beispielsweise von dem optischen Sensor 264 aufgenommen) des Benutzers, basierend auf der eine Gesichtserkennung durchgeführt wird, ein. Anschließend bestimmt der digitale Assistent in Block 908, ob der mindestens eine zusätzliche Sicherheitsidentifikator mit dem Benutzer in Verbindung steht. Gemäß anderen Ausführungsformen führt die elektronische Vorrichtung 104, 200, 400, 600 das Bestimmen in Block 908 durch. Wenn der mindestens eine zusätzliche Sicherheitsidentifikator mit dem Benutzer in Verbindung steht, wird der digitale Assistent in Block 910 aufgerufen und ist dazu bereit, eine Benutzeranforderung nach einem Dienst zu empfangen. Wenn der mindestens eine zusätzliche Sicherheitsidentifikator mit dem Benutzer in Verbindung steht, wird auf einen Aufruf des virtuellen Assistenten in Block 912 verzichtet und ist der virtuelle Assistent zum Dienst nicht verfügbar.
-
Bezug nehmend auf 8B empfangen die elektronische Vorrichtung 104, 200, 400, 600 und/oder der virtuelle Assistent in Block 914 optional gemäß manchen Ausführungsformen vor dem Durchführen von Block 902 eine Benutzereingabe von mindestens einem Wort und richten dann in Block 916 dieses mindestens eine Wort als den vom Benutzer anpassbaren lexikalischen Auslöser ein. Um die elektronische Vorrichtung 104, 200, 400, 600 für eine solche Eingabe vorzubereiten, wählt der Benutzer in manchen Ausführungsformen eine Einstellung aus oder zeigt der elektronischen Vorrichtung 104, 200, 400, 600 und/oder dem virtuellen Assistenten auf andere Weise an, dass er den vom Benutzer anpassbaren lexikalischen Auslöser einrichten möchte. Durch das Anpassen des lexikalischen Auslösers wird die Sicherheit erhöht, weil ein nicht autorisierter Benutzer nicht weiß, welches anpassbare Wort oder welchen anpassbaren Ausdruck ein Benutzer als den vom Benutzer anpassbaren lexikalischen Auslöser ausgewählt hat. Ferner ist das Problem reduziert, dass ein lexikalischer Auslöser bewirkt, dass mehrere in der Nähe voneinander befindliche elektronische Vorrichtungen 104, 200, 400, 600 alle einen virtuellen Assistenten aufrufen, weil jeder Benutzer wahrscheinlich einen verschiedenen lexikalischen Auslöser auswählt.
-
Gemäß manchen Ausführungsformen verbieten es die elektronische Vorrichtung 104, 200, 400, 600 und/oder der virtuelle Assistent, in Block 916 ein Wort oder einen Ausdruck als den vom Benutzer anpassbaren lexikalischen Auslöser einzurichten, das/der obszön, beleidigend oder geschmacklos ist. In solchen Ausführungsformen vergleichen die elektronische Vorrichtung 104, 200, 400, 600 und/oder der virtuelle Assistent die empfangene Eingabe in Block 914 mit einer Liste verbotener Wörter und/oder Ausdrücke; wenn die empfangene Eingabe in Block 914 auf der Liste ist, wird Block 916 nicht erreicht und der Benutzer muss den Vorgang wiederholen oder den Prozess abbrechen.
-
Optional registrieren die elektronische Vorrichtung 104, 200, 400, 600 und/oder der virtuelle Assistent gemäß manchen Ausführungsformen vor dem Durchführen von Block 902 in Block 918 mindestens einen Benutzer. Wie in diesem Dokument verwendet, bezieht sich die Registrierung eines Benutzers auf die Erfassung von mit den akustischen Eigenschaften der Sprache des Benutzers in Verbindung stehenden Informationen.
-
Gemäß manchen Ausführungsformen fordern die elektronische Vorrichtung 104, 200, 400, 600 und/oder der virtuelle Assistent in Block 920 den Benutzer dazu auf, ein oder mehrere vorgewählte Wörter zu sagen. Als Reaktion auf die Anforderung empfängt die elektronische Vorrichtung 104, 200, 400, 600 in Block 922 eine Benutzereingabe, die eine Spracheingabe in natürlicher Sprache entsprechend dem einen oder den mehreren vorgewählten Wörtern einschließt. Die elektronische Vorrichtung 104, 200, 400, 600 und/oder der virtuelle Assistent nutzen diese Eingabe, um die akustischen Eigenschaften der Sprache des Benutzers für sich alleine und/oder bezogen auf Gesamt- oder Basisliniensprachdaten festzustellen. Diese Gesamt- oder Basisliniensprachdaten können von dem digitalen Assistenten über eine Population hinweg erfasst werden, indem jeweils dasselbe Wort oder dieselben Wörter angefordert werden. Die Aufforderung an den Benutzer, bestimmte Wörter zu wiederholen, und die Wiederholung dieser Wörter durch den Benutzer wird im Fachgebiet als „überwachte Registrierung“ bezeichnet.
-
Optional wird die Registrierung in Block 924 von mindestens einem Benutzer während der ersten Verwendung der elektronischen Vorrichtung 104, 200, 400, 600 durch den Benutzer durchgeführt. Wenn der Benutzer der Eigentümer der elektronischen Vorrichtung 104, 200, 400, 600 ist, ist die erste Verwendung üblicherweise die erste Verwendung der elektronischen Vorrichtung 104, 200, 400, 600 überhaupt. Die elektronische Vorrichtung 104, 200, 400, 600 kann von einer Anzahl von Menschen verwendet werden. Zum Beispiel können verschiedene Menschen ein Smartphone teilen und verschiedene Mitglieder eines Haushalts können eine Vorrichtung wie den Digital-Media-Extender Apple TV® von Apple, Inc., Cupertino, Kalifornien, nutzen, um in einem gemeinsamen Raum Inhalte auf einem geteilten Fernseher anzusehen. Beim ersten Mal, bei dem ein Benutzer (wie ein Ehegatte oder Kind) die elektronische Vorrichtung 104, 200, 400, 600 nutzt, registrieren die elektronische Vorrichtung 104, 200, 400, 600 und/oder der digitale Assistent diesen neuen Benutzer somit gemäß manchen Ausführungsformen in Block 924. Gemäß manchen Ausführungsformen genehmigt der Eigentümer oder ein anderer Benutzer, der zum Verwenden der elektronischen Vorrichtung 104, 200, 400, 600 autorisiert ist, zunächst die Registrierung eines neuen Benutzers durch die elektronische Vorrichtung 104, 200, 400, 600 auf eine geeignete Weise, um solch eine Registrierung durch einen neuen Benutzer zu erlauben.
-
Optional wird die Registrierung von mindestens einem Benutzer in Block 926 bei einer erfassten Änderung der akustischen Eigenschaften der Stimme des Benutzers aktualisiert. Einer der Gründe dafür, dass sich die akustischen Eigenschaften der Stimme eines Benutzers ändern, ist eine Änderung der Umgebung des Benutzers. Wenn der Benutzer Sprache äußert, die durch das Mikrofon 213 der elektronischen Vorrichtung 104, 200, 400, 600 erfasst wird, hat diese Sprache verschiedene akustische Eigenschaften je nachdem, ob die Sprache im Freien, in einem großen Raum mit Teppichboden, in einem kleinen gekachelten Badezimmer oder an einem anderen Ort abgegeben wird. Selbst wenn die Stimme des Benutzers unverändert bleibt, unterscheiden sich die akustischen Eigenschaften dieser Stimme, wie sie von der elektronischen Vorrichtung 104, 200, 400, 600 empfangen wird, basierend auf dem Ort.
-
Ein anderer Grund dafür, dass sich die akustischen Eigenschaften der Stimme eines Benutzers ändern, ist eine Änderung des Gesundheitszustands des Benutzers. Wenn der Benutzer eine Erkältung oder die Grippe hat oder an Allergien leidet, klingt die Stimme des Benutzers als ein Ergebnis gedämpfter und schwammiger, selbst wenn der Benutzer am selben Ort bleibt. Nach dem Empfangen einer Spracheingabe in natürlicher Sprache von dem Benutzer, wie beispielsweise, jedoch nicht beschränkt auf, das Empfangen solch einer Eingabe in Block 902, erfassen die elektronische Vorrichtung 104, 200, 400, 600 und/oder der virtuelle Assistent eine Änderung der akustischen Eigenschaften der Stimme des Benutzers. Als Reaktion auf diese Erfassung aktualisieren die elektronische Vorrichtung 104, 200, 400, 600 und/oder der virtuelle Assistent in Block 932 die Registrierung des Benutzers, um die Änderung der akustischen Eigenschaften der Stimme des Benutzers widerzuspiegeln. Gemäß manchen Ausführungsformen besteht die aktualisierte Registrierung neben einer oder mehreren anderen Registrierungen derart, dass die elektronische Vorrichtung 104, 200, 400, 600 und/oder der virtuelle Assistent dazu in der Lage sind, die Stimme des Benutzers besser zu erfassen und zu verstehen. Zum Beispiel können die elektronische Vorrichtung 104, 200, 400, 600 und/oder der virtuelle Assistent nach der Registrierung den physischen Ort (z.B. GPS-Koordinaten) des Benutzers feststellen. Wenn sich der Benutzer an einem bestimmten Ort (z.B. im Badezimmer, auf einer Wiese) befindet, können die elektronische Vorrichtung 104, 200, 400, 600 und/oder der virtuelle Assistent als ein Ergebnis davon ausgehen, dass die Stimme des Benutzers akustische Eigenschaften hat, die im Einklang mit den mit diesem bestimmten Ort in Verbindung stehenden Registrierungsdaten sind.
-
Gemäß anderen Ausführungsformen ersetzt die aktualisierte Registrierung eine oder mehrere vorhergehende Registrierungen des Benutzers. Optional können die elektronische Vorrichtung 104, 200, 400, 600 und/oder der virtuelle Assistent den Benutzer vor dem Aktualisieren der Registrierung in Block 928 dazu auffordern, einen Sicherheitsidentifikator einzugeben. Auf diese Weise verhindern die elektronische Vorrichtung 104, 200, 400, 600 und/oder der virtuelle Assistent, dass ein neuer Benutzer Zugriff auf die elektronische Vorrichtung 104, 200, 400, 600 erhält, indem vorgegeben wird, dass es sich um eine einfache Aktualisierung der Registrierung des Benutzers handelt. Wenn die elektronische Vorrichtung 104, 200, 400, 600 eine mobile digitale Vorrichtung iPhone® von Apple, Inc., Cupertino, Kalifornien, oder eine andere Vorrichtung von Apple ist, kann der Sicherheitsidentifikator das Kennwort der mit dem Benutzer in Verbindung stehenden Apple-ID sein. Wie weiter oben angegeben, kann jedoch jeder andere Sicherheitsidentifikator verwendet werden. Die elektronische Vorrichtung 104, 200, 400, 600 bestimmt in Block 930, ob der Sicherheitsidentifikator dem Benutzer zugeordnet ist. Wenn der Sicherheitsidentifikator dem Benutzer zugeordnet ist, wird die Benutzerregistrierung in Block 932 aktualisiert. Wenn der Sicherheitsidentifikator dem Benutzer nicht zugeordnet ist, wird auf die Aktualisierung der Benutzerregistrierung in Block 934 verzichtet.
-
Optional erstellen die elektronische Vorrichtung 104, 200, 400, 600 und/oder der virtuelle Assistent in Block 936 ein Benutzerprofil für mindestens einen von einer Mehrzahl von Benutzern der elektronischen Vorrichtung 104, 200, 400, 600, wobei das Profil eine Benutzeridentität einschließt. Die Verwendung von Benutzerprofilen zum Identifizieren eines bestimmten Benutzers der elektronischen Vorrichtung 104, 200, 400, 600 ist nützlich, wenn eine Mehrzahl von Benutzern die elektronische Vorrichtung 104, 200, 400, 600 nutzt. Wie weiter oben angegeben, können verschiedene Menschen ein Smartphone teilen und können verschiedene Mitglieder eines Haushalts eine Vorrichtung wie beispielsweise den Digital-Media-Extender Apple TV® von Apple, Inc., Cupertino, Kalifornien, nutzen, um in einem gemeinsamen Raum Inhalte auf einem geteilten Fernseher anzusehen. Gemäß manchen Ausführungsformen wird das Benutzerprofil dazu verwendet, um eine oder mehrere der akustischen Eigenschaften der Stimme des Benutzers, mit dem Benutzer in Verbindung stehende Registrierungsdaten, den mit dem Benutzer in Verbindung stehenden vom Benutzer anpassbaren lexikalischen Auslöser, einen oder mehrere mit dem Benutzer in Verbindung stehende Sicherheitsidentifikatoren und/oder andere mit dem Benutzer in Verbindung stehende relevante Daten zu speichern.
-
Optional empfangen 938 die elektronische Vorrichtung 104, 200, 400, 600 und/oder der virtuelle Assistent ein Benutzerprofil für mindestens einen von einer Mehrzahl von Benutzern der elektronischen Vorrichtung 104, 200, 400, 600, wobei das Profil eine Benutzeridentität einschließt. Wenn dies der Fall ist, wird gemäß manchen Ausführungsformen ein Empfangen eines Benutzerprofils in Block 938 anstelle eines Erstellens eines Benutzerprofils in Block 936 durchgeführt. Wenn zum Beispiel die elektronische Vorrichtung 104, 200, 400, 600 eine mobile digitale Vorrichtung iPhone® von Apple, Inc., Cupertino, Kalifornien, ist, erstellt der Benutzer dieser mobilen digitalen Vorrichtung iPhone® eine Apple-ID, um diese Vorrichtung zu verwenden. Durch das Empfangen des der Apple-ID des Benutzers zugeordneten Benutzerprofils in Block 938 müssen die elektronische Vorrichtung 104, 200, 400, 600 und/oder der virtuelle Assistent kein anderes Benutzerprofil erstellen, und die mit der Apple-ID in Verbindung stehenden Daten werden für einen effizienteren Betrieb der elektronischen Vorrichtung 104, 200, 400, 600 und/oder des virtuellen Assistenten genutzt. Gemäß anderen Ausführungsformen wird der Empfang von mindestens einem Benutzerprofil in Block 938 zusätzlich zu der Erstellung von mindestens einem Benutzerprofil in Block 936 durchgeführt.
-
Optional speichern die elektronische Vorrichtung 104, 200, 400, 600 und/oder der virtuelle Assistent in Block 940 das mindestens eine Benutzerprofil. Das Benutzerprofil ist gemäß manchen Ausführungsformen lokal auf der elektronischen Vorrichtung 104, 200, 400, 600 gespeichert. Gemäß manchen Ausführungsformen ist mindestens ein Teil des Benutzerprofils auf dem Serversystem 108 oder an einem anderen Ort gespeichert.
-
Optional übertragen die elektronische Vorrichtung 104, 200, 400, 600 und/oder der virtuelle Assistent in Block 942 das mindestens eine Benutzerprofil zu einer zweiten elektronischen Vorrichtung wie der am Handgelenk tragbaren Vorrichtung Apple Watch® von Apple, Inc., Cupertino, Kalifornien, oder zu einer anderen geeigneten Vorrichtung oder einem anderen geeigneten Ort.
-
Optional aktualisieren die elektronische Vorrichtung 104, 200, 400, 600 und/oder der virtuelle Assistent das Benutzerprofil während des normalen Betriebs, um Variationen der akustischen Eigenschaften der Sprache des Benutzers im Laufe der Zeit handzuhaben. Die elektronische Vorrichtung 104, 200, 400, 600 und/oder der virtuelle Assistent empfangen in Block 944 eine andere Spracheingabe in natürlicher Sprache des Benutzers als eine Wiederholung von vorgewählten Wörtern. Zum Beispiel empfangen die elektronische Vorrichtung 104, 200, 400, 600 und/oder der virtuelle Assistent eine Spracheingabe in natürlicher Sprache als normale Anforderungen von Diensten von dem virtuellen Assistenten oder von einer anderen Spracheingabe in die elektronische Vorrichtung 104, 200, 400, 600. Die elektronische Vorrichtung 104, 200, 400, 600 und/oder der virtuelle Assistent vergleichen in Block 946 die akustischen Eigenschaften der empfangenen Spracheingabe in natürlicher Sprache des Benutzers mit den akustischen Eigenschaften der empfangenen Spracheingabe in natürlicher Sprache, die in dem Benutzerprofil gespeichert sind. Die elektronische Vorrichtung 104, 200, 400, 600 und/oder der virtuelle Assistent bestimmen in Block 948, ob sich die akustischen Eigenschaften der empfangenen Spracheingabe in natürlicher Sprache im Wesentlichen von den akustischen Eigenschaften der empfangenen Spracheingabe in natürlicher Sprache, die in dem Benutzerprofil gespeichert sind, unterscheiden. Wenn dies der Fall ist, aktualisieren die elektronische Vorrichtung 104, 200, 400, 600 und/oder der virtuelle Assistent in Block 950 das Benutzerprofil des Benutzers basierend auf den akustischen Eigenschaften der empfangenen Spracheingabe in natürlicher Sprache des Benutzers. Gemäß manchen Ausführungsformen schließt das aktualisierte Benutzerprofil zuvor gespeicherte akustische Eigenschaften der Stimme des Benutzers derart ein, dass die elektronische Vorrichtung 104, 200, 400, 600 und/oder der virtuelle Assistent dazu in der Lage sind, die Stimme des Benutzers besser zu erfassen und zu verstehen. Zum Beispiel können die elektronische Vorrichtung 104, 200, 400, 600 und/oder der virtuelle Assistent nach der Aktualisierung des Benutzerprofils den physischen Ort (z.B. GPS-Koordinaten) des Benutzers feststellen.
-
Wenn sich der Benutzer an einem bestimmten Ort (z.B. im Badezimmer, auf einer Wiese) befindet, können die elektronische Vorrichtung 104, 200, 400, 600 und/oder der virtuelle Assistent als ein Ergebnis davon ausgehen, dass die Stimme des Benutzers akustische Eigenschaften hat, die im Einklang mit den mit diesem bestimmten Ort in Verbindung stehenden Registrierungsdaten sind. Gemäß anderen Ausführungsformen ersetzen die aktualisierten akustischen Eigenschaften in dem Benutzerprofil eine oder mehrere zuvor gespeicherte akustische Eigenschaften der Stimme des Benutzers. Die elektronische Vorrichtung 104, 200, 400, 600 und/oder der virtuelle Assistent speichern dann in Block 952 das aktualisierte Benutzerprofil gemäß manchen Ausführungsformen. Wenn sich dagegen in Block 948 die akustischen Eigenschaften der empfangenen Spracheingabe in natürlicher Sprache im Wesentlichen nicht von den akustischen Eigenschaften der empfangenen Spracheingabe in natürlicher Sprache, die in dem Benutzerprofil gespeichert sind, unterscheiden, verzichten die elektronische Vorrichtung 104, 200, 400, 600 und/oder der virtuelle Assistent auf ein Aktualisieren des Benutzerprofils des Benutzers. Dies spiegelt eine fehlende Chance für die akustischen Eigenschaften der Stimme des Benutzers wider, sodass ein Aktualisieren des Benutzerprofils wenig Wert hat.
-
Optional sieht das Verfahren 900 einen „Zweite-Chance-Auslöser“ vor, bei dem der Benutzer den lexikalischen Auslöser wiederholen kann, nachdem der erste Versuch nicht erfolgreich war. Bezugnehmend auch auf 8 entspricht die empfangene Spracheingabe in natürlicher Sprache in Block 904 optional einem, aber nicht beiden von dem vom Benutzer anpassbaren lexikalischen Auslöser und einer Reihe von mit dem Benutzer in Verbindung stehenden akustischen Eigenschaften. Wenn dies der Fall ist, fährt das Verfahren in manchen Ausführungsformen optional damit fort, den Benutzer in Block 962 dazu aufzufordern, die Spracheingabe in natürlicher Sprache zu wiederholen.
-
Anschließend bestimmen die elektronische Vorrichtung 104, 200, 400, 600 und/oder der virtuelle Assistent in Block 964, ob eine als Reaktion auf die Aufforderung von Block 962 empfangene Eingabe sowohl einem vom Benutzer anpassbaren lexikalischen Auslöser als auch einer Reihe von mit dem Benutzer in Verbindung stehenden akustischen Eigenschaften entspricht. Die Bestimmung von Block 964 wird gemäß manchen Ausführungsformen im Wesentlichen auf dieselbe Weise wie die Bestimmung von Block 904 durchgeführt. Wenn die Spracheingabe in natürlicher Sprache in Block 964 sowohl dem vom Benutzer anpassbaren lexikalischen Auslöser als auch der Reihe von mit dem Benutzer in Verbindung stehenden akustischen Eigenschaften entspricht, fährt das Verfahren 900 in Block 966 damit fort, den digitalen Assistenten aufzurufen, der dann dazu bereit ist, eine Benutzeranforderung eines Dienstes zu empfangen.
-
Anschließend wird optional die Registrierung des Benutzers in Block 968 aktualisiert, um die erste Spracheingabe in natürlicher Sprache des Benutzers einzuschließen. Die Aktualisierung der Registrierung in Block 968 kann im Wesentlichen wie weiter oben beschrieben, wie in Block 926 beschrieben, durchgeführt werden. Wenn dagegen die Spracheingabe in natürlicher Sprache in Block 964 nur einem von dem vom Benutzer anpassbaren lexikalischen Auslöser und der Reihe von mit dem Benutzer in Verbindung stehenden akustischen Eigenschaften entspricht oder weder dem vom Benutzer anpassbaren lexikalischen Auslöser noch der Reihe von mit dem Benutzer in Verbindung stehenden akustischen Eigenschaften entspricht, wird auf einen Aufruf des virtuellen Assistenten in Block 970 verzichtet. Wenn die elektronische Vorrichtung 104, 200, 400, 600 gesperrt ist oder der virtuelle Assistent auf andere Weise zur Verwendung nicht verfügbar ist, bleibt die elektronische Vorrichtung 104, 200, 400, 600 gesperrt und/oder bleibt der virtuelle Assistent zur Verwendung nicht verfügbar.
-
Bezugnehmend auch auf 8E vergleichen die elektronische Vorrichtung 104, 200, 400, 600 und/oder der virtuelle Assistent in Block 972 optional nach dem Aufrufen des virtuellen Assistenten in Block 910 die akustischen Eigenschaften der empfangenen Spracheingabe in natürlicher Sprache des Benutzers mit einem Referenzsatz von akustischen Eigenschaften, die für den virtuellen Assistenten zugänglich sind. Optional fordern die elektronische Vorrichtung 104, 200, 400, 600 und/oder der virtuelle Assistent in Block 974 den Benutzer dazu auf, ein oder mehrere vorgewählte Wörter zu sprechen, und als Reaktion auf die Aufforderung empfangen die elektronische Vorrichtung 104, 200, 400, 600 und/oder der virtuelle Assistent in Block 976 eine Spracheingabe in natürlicher Sprache des Benutzers, der das eine oder die mehreren vorgewählten Wörter spricht. Der Referenzsatz von akustischen Eigenschaften entspricht gemäß manchen Ausführungsformen einem Mikrofon, das gemäß der Theorie perfekt funktioniert. Natürlich ist kein Mikrofon perfekt. Eine Varianz innerhalb der Herstellungstoleranzen wird erwartet. Ferner kann der Benutzer das Mikrofon 213 bei der Verwendung beschädigen, oder er kann das Mikrofon 213 vollständig oder teilweise mit einer Zierabdeckung abdecken. Somit offenbart der Vergleich zwischen den akustischen Eigenschaften der empfangenen Spracheingabe in natürlicher Sprache und dem Referenzsatz von akustischen Eigenschaften Unterschiede zwischen der Leistung des Mikrofons 213 und dem Ideal. Anschließend speichern die elektronische Vorrichtung 104, 200, 400, 600 und/oder der virtuelle Assistent in Block 978 die Unterschiede zwischen den akustischen Eigenschaften der empfangenen Spracheingabe in natürlicher Sprache des Benutzers und dem Referenzsatz von akustischen Eigenschaften. Diese Unterschiede können verwendet werden, um die von dem Mikrofon 213 empfangenen Äußerungen von dem Benutzer besser zu verstehen.
-
Optional schließt Block 904 zusätzliche Anweisungen ein, die durch den eingekreisten Buchstaben E gekennzeichnet sind, der zu 8E führt. Als Teil der Bestimmung von Block 904 bestimmen die elektronische Vorrichtung 104, 200, 400, 600 und/oder der virtuelle Assistent in Block 980 in manchen Ausführungsformen optional, ob die akustischen Eigenschaften der Spracheingabe in natürlicher Sprache mit der Reihe von akustischen Eigenschaften von einem von der Mehrzahl von Benutzerprofilen, die für den virtuellen Assistenten zugänglich sind (wie beispielsweise Benutzerprofilen, die in den Blöcken 936 und 938 erstellt oder empfangen werden), übereinstimmen. Wenn dies der Fall ist, folgern die elektronische Vorrichtung 104, 200, 400, 600 und/oder der virtuelle Assistent in Block 982, dass die Spracheingabe in natürlicher Sprache einer Reihe von mit dem Benutzer in Verbindung stehenden akustischen Eigenschaften entspricht, und das Verfahren 900 fährt wie weiter oben in Bezug auf Block 904 beschrieben fort. Wenn dies nicht der Fall ist, folgern die elektronische Vorrichtung 104, 200, 400, 600 und/oder der virtuelle Assistent, dass die Spracheingabe in natürlicher Sprache einer Reihe von mit dem Benutzer in Verbindung stehenden akustischen Eigenschaften nicht entspricht, und fahren als ein Ergebnis in Block 984 damit fort, auf einen Aufruf eines virtuellen Assistenten zu verzichten.
-
Optional schließt Block 904 zusätzliche Anweisungen ein, die durch den eingekreisten Buchstaben E gekennzeichnet sind, der zu 8F führt. Als Teil der Bestimmung von Block 904 bestimmen die elektronische Vorrichtung 104, 200, 400, 600 und/oder der virtuelle Assistent in Block 986 in manchen Ausführungsformen optional zunächst, ob die akustischen Eigenschaften der Spracheingabe in natürlicher Sprache mit der Reihe von akustischen Eigenschaften von einem von der Mehrzahl von Benutzerprofilen, die für den virtuellen Assistenten zugänglich sind (wie beispielsweise Benutzerprofilen, die in den Blöcken 936 und 938 erstellt oder empfangen werden), übereinstimmen. Das heißt, dass in Block 986 zunächst bestimmt wird, ob die Spracheingabe mit einem Benutzer übereinstimmt, bevor bestimmt wird, ob der Inhalt der Spracheingabe mit einem vom Benutzer anpassbaren lexikalischen Auslöser übereinstimmt. Auf diese Weise bestimmen die elektronische Vorrichtung 104, 200, 400, 600 und/oder der virtuelle Assistent in Block 986 zunächst, ob der Benutzer ein autorisierter Benutzer der elektronischen Vorrichtung 104, 200, 400, 600 ist, bevor der lexikalische Auslöser berücksichtigt wird. Wenn dies der Fall ist, fährt das Verfahren 900 in Block 988 damit fort, zu bestimmen, ob die Spracheingabe in natürlicher Sprache mit dem vom Benutzer anpassbaren lexikalischen Auslöser übereinstimmt, und das Verfahren 900 fährt wie weiter oben in Bezug auf Block 904 beschrieben fort. Wenn dies nicht der Fall ist, fährt das Verfahren 900 in Block 990 damit fort, auf einen Aufruf des virtuellen Assistenten zu verzichten. Optional bestimmen die elektronische Vorrichtung 104, 200, 400, 600 und/oder der virtuelle Assistent zunächst, ob der Inhalt der Spracheingabe in natürlicher Sprache mit einem vom Benutzer anpassbaren lexikalischen Auslöser übereinstimmt, anstatt zunächst zu bestimmen, ob die akustischen Eigenschaften der Spracheingabe in natürlicher Sprache der Reihe von akustischen Eigenschaften von einem von der Mehrzahl von Benutzerprofilen, die für den virtuellen Assistenten zugänglich sind, entsprechen.
-
Optional schließt Block 904 zusätzliche Anweisungen ein, die durch den eingekreisten Buchstaben E gekennzeichnet sind, der zu 8F führt. Als Teil der Bestimmung von Block 904 speichern die elektronische Vorrichtung 104, 200, 400, 600 und/oder der virtuelle Assistent in Block 992 in manchen Ausführungsformen optional einen oder mehrere Supervektoren, die jeweils mit den akustischen Eigenschaften der Stimme eines Benutzers in Verbindung stehen. Die Supervektoren werden gemäß manchen Ausführungsformen in dem Benutzerprofil eines Benutzers gespeichert. Gemäß anderen Ausführungsformen werden die Supervektoren lokal auf der elektronischen Vorrichtung 104, 200, 400, 600 oder an einem anderen Ort, der für den virtuellen Assistenten zugänglich ist, und/oder auf eine andere geeignete Weise gespeichert. Die Verwendung von Merkmalsvektoren zum Darstellen von Eigenschaften von menschlicher Sprache bei der Verarbeitung natürlicher Sprache ist im Fachgebiet bekannt. Ein Supervektor ist die Kombination von kleiner-dimensionalen Vektoren in einen höher-dimensionalen Vektor, was ebenfalls im Fachgebiet bekannt ist. optional werden für jeden Benutzer zwischen fünf und zwanzig Supervektoren gespeichert.
-
Diese Supervektoren können ausgehend von normalen Anforderungen nach einem Dienst von dem virtuellen Assistenten oder von anderen verbalen Eingaben in die elektronische Vorrichtung 104, 200, 400, 600 erstellt werden.
-
Die elektronische Vorrichtung 104, 200, 400, 600 und/oder der virtuelle Assistent können dann in Block 994 einen Supervektor basierend auf der in Block 902 empfangenen Spracheingabe in natürlicher Sprache erzeugen. Optional kann das Erzeugen des Supervektors in Block 996 auf einer Zustandsrückverfolgung basieren. Wie dem Fachmann bekannt ist, kann ein Vektor basierend auf einer Viterbi-Tabelle erzeugt werden, die Rückverfolgungsinformationen entfernt. Wenn gewünscht, werden in Block 996 die Rückverfolgungsinformationen in dem Vektor beibehalten und in den Supervektor eingeschlossen. Die elektronische Vorrichtung 104, 200, 400, 600 und/oder der virtuelle Assistent vergleichen den erzeugten Supervektor von Block 996 mit dem einen oder den mehreren gespeicherten Supervektoren von Block 992, um einen Wert zu erzeugen. Zum Beispiel wird gemäß manchen Ausführungsformen die Dimensionalität von dem erzeugten Supervektor von Block 996 und dem einen oder den mehreren gespeicherten Supervektoren von Block 992 reduziert, und es wird ein Skalarprodukt zwischen dem erzeugten Supervektor von Block 996 und allen von dem einen oder den mehreren gespeicherten Supervektoren von Block 992 ermittelt, um einen Wert zu erzeugen. Anschließend bestimmen die elektronische Vorrichtung 104, 200, 400, 600 und/oder der virtuelle Assistent in Block 1000, ob der Wert einen Schwellenwert überschreitet. Wenn dies der Fall ist, folgern die elektronische Vorrichtung 104, 200, 400, 600 und/oder der virtuelle Assistent in Block 1002, dass die Spracheingabe in natürlicher Sprache einer Reihe von mit einem Benutzer in Verbindung stehenden akustischen Eigenschaften entspricht, und das Verfahren 900 fährt wie weiter oben in Bezug auf Block 904 beschrieben fort. Wenn dies nicht der Fall ist, folgern die elektronische Vorrichtung 104, 200, 400, 600 und/oder der virtuelle Assistent in Block 1002, dass die Spracheingabe in natürlicher Sprache einer Reihe von mit einem Benutzer in Verbindung stehenden akustischen Eigenschaften nicht entspricht, und das Verfahren 900 fährt wie weiter oben in Bezug auf Block 904 beschrieben fort.
-
Gemäß manchen Ausführungsformen zeigt 9 ein beispielhaftes Funktionsblockdiagramm einer elektronischen Vorrichtung 1100, die gemäß den Grundsätzen der verschiedenen beschriebenen Ausführungsformen konfiguriert ist. Gemäß manchen Ausführungsformen sind die Funktionsblöcke der elektronischen Vorrichtung 1100 konfiguriert, die weiter oben beschriebenen Techniken durchzuführen. Die Funktionsblöcke der Vorrichtung 1100 sind optional durch Hardware, Software oder eine Kombination von Hardware und Software implementiert, um die Grundsätze der verschiedenen beschriebenen Beispiele auszuführen. Es versteht sich für den Fachmann, dass die in 9 beschriebenen Funktionsblöcke optional kombiniert oder in Teilblöcke geteilt sind, um die Grundsätze der verschiedenen beschriebenen Beispiele zu implementieren. Deshalb belegt die Beschreibung hierin optional jede mögliche Kombination oder Aufteilung oder weitere Definition der hierein beschriebenen funktionellen Blöcke.
-
Wie in 9 gezeigt, schließt eine elektronische Vorrichtung 1100 optional eine Anzeigeeinheit 1102, die konfiguriert ist, eine grafische Benutzeroberfläche anzuzeigen; optional eine Mikrofoneinheit 1104, die konfiguriert ist, Audiosignale zu empfangen, und eine Verarbeitungseinheit 1106, die optional an die Anzeigeeinheit 1102 und/oder die Mikrofoneinheit 1006 gekoppelt ist, ein. In manchen Ausführungsformen schließt die Verarbeitungseinheit 1106 eine Empfangseinheit 1108, eine Bestimmungseinheit 1110 und eine Aufrufeinheit 1112 ein.
-
Gemäß manchen Ausführungsformen ist die Verarbeitungseinheit 1106 konfiguriert, eine Spracheingabe in natürlicher Sprache von einem von einer Mehrzahl von Benutzern zu empfangen (z.B. mit der Empfangseinheit 1108), wobei die Spracheingabe in natürlicher Sprache eine Reihe von akustischen Eigenschaften hat; und zu bestimmen (z.B. mit der Bestimmungseinheit 1110), ob die Spracheingabe in natürlicher Sprache sowohl einem vom Benutzer anpassbaren lexikalischen Auslöser als auch einer Reihe von mit dem Benutzer in Verbindung stehenden akustischen Eigenschaften entspricht; wobei gemäß einer Bestimmung, dass die Spracheingabe in natürlicher Sprache sowohl einem vom Benutzer anpassbaren lexikalischen Auslöser als auch einer Reihe von mit dem Benutzer in Verbindung stehenden akustischen Eigenschaften entspricht, einen virtuellen Assistenten aufzurufen (z.B. mit der Aufrufeinheit 1112); und gemäß einer Bestimmung, dass entweder die Spracheingabe in natürlicher Sprache einem vom Benutzer anpassbaren lexikalischen Auslöser nicht entspricht oder die Spracheingabe in natürlicher Sprache eine Reihe von mit dem Benutzer in Verbindung stehende akustische Eigenschaften nicht hat, auf einen Aufruf eines virtuellen Assistenten zu verzichten (z.B. mit der Aufrufeinheit 1112).
-
In manchen Ausführungsformen schließt die Verarbeitungseinheit 1106 ferner eine Datenspeichereinheit 1114 ein, wobei die Verarbeitungseinheit 1106 ferner konfiguriert ist, eine Benutzereingabe von mindestens einem Wort zu empfangen (z.B. mit der Empfangseinheit 1108); und das mindestens eine Wort als den lexikalischen Auslöser zu speichern (z.B. mit der Datenspeichereinheit 1114).
-
In manchen Ausführungsformen schließt die Verarbeitungseinheit 1106 ferner eine Vergleichseinheit 1116 ein, wobei die Verarbeitungseinheit 1106 ferner konfiguriert ist, weiter gemäß einer Bestimmung, dass die Spracheingabe in natürlicher Sprache sowohl einem vom Benutzer anpassbaren lexikalischen Auslöser als auch einer Reihe von mit dem Benutzer in Verbindung stehenden akustischen Eigenschaften entspricht, die akustischen Eigenschaften der empfangenen Spracheingabe in natürlicher Sprache des Benutzers mit einem Referenzsatz von akustischen Eigenschaften, die für den virtuellen Assistenten zugänglich sind, zu vergleichen (z.B. mit der Vergleichseinheit 1116); und die Unterschiede zwischen den akustischen Eigenschaften der empfangenen Spracheingabe in natürlicher Sprache des Benutzers und dem Referenzsatz von akustischen Eigenschaften zu speichern (z.B. mit der Datenspeichereinheit 1114).
-
In manchen Ausführungsformen schließt die Verarbeitungseinheit 1106 ferner eine Auf-/Anforderungseinheit 1118 ein, wobei die Verarbeitungseinheit 1106 ferner konfiguriert ist, weiter gemäß einer Bestimmung, dass die Spracheingabe in natürlicher Sprache sowohl einem vom Benutzer anpassbaren lexikalischen Auslöser als auch einer Reihe von mit dem Benutzer in Verbindung stehenden akustischen Eigenschaften entspricht, den Benutzer dazu aufzufordern, mindestens ein vorgewähltes Wort zu sprechen (z.B. mit der Auf-/Anforderungseinheit 1118); und als Reaktion auf die Aufforderung, eine Spracheingabe in natürlicher Sprache des Benutzers, der das eine oder die mehreren vorgewählten Wörter spricht, zu empfangen (z.B. mit der Empfangseinheit 1108).
-
In manchen Ausführungsformen schließt die Verarbeitungseinheit 1106 ferner eine Folgerungseinheit 1120 ein; wobei die Verarbeitungseinheit 1106 ferner konfiguriert ist, zu bestimmen, ob die Spracheingabe in natürlicher Sprache sowohl einem vom Benutzer anpassbaren lexikalischen Auslöser als auch einer Reihe von mit dem Benutzer in Verbindung stehenden akustischen Eigenschaften entspricht, wobei die Verarbeitungseinheit 1106 konfiguriert ist, zu bestimmen (z.B. mit der Empfangseinheit 1110), ob die Reihe von akustischen Eigenschaften der Spracheingabe in natürlicher Sprache mit der Reihe von akustischen Eigenschaften von einem von der Mehrzahl von Benutzerprofilen, die für den virtuellen Assistenten zugänglich sind, entspricht; gemäß einer Bestimmung, dass die Reihe von akustischen Eigenschaften der Spracheingabe in natürlicher Sprache mit der Reihe von akustischen Eigenschaften von einem von der Mehrzahl von Benutzerprofilen übereinstimmt, zu folgern, (z.B. mit der Folgerungseinheit 1120), dass die Spracheingabe in natürlicher Sprache einer Reihe von mit dem Benutzer in Verbindung stehenden akustischen Eigenschaften entspricht; und gemäß einer Bestimmung, dass die Eingabe mit keinem der Mehrzahl von Benutzerprofilen übereinstimmt, damit fortzufahren, auf einen Aufruf des virtuellen Assistenten zu verzichten (z.B. mit der Aufrufeinheit 1112).
-
In manchen Ausführungsformen schließt die Verarbeitungseinheit 1106 ferner eine Erstellungseinheit 1122 ein; wobei die Verarbeitungseinheit 1106 ferner konfiguriert ist, ein Benutzerprofil für mindestens einen von einer Mehrzahl von Benutzern der elektronischen Vorrichtung zu erstellen (z.B. mit der Erstellungseinheit 1112), wobei das Benutzerprofil eine Benutzeridentität einschließt; und das mindestens eine Benutzerprofil zu speichern (z.B. mit der Datenspeichereinheit 1114).
-
In manchen Ausführungsformen ist die Verarbeitungseinheit 1106 ferner konfiguriert, ein Benutzerprofil für mindestens einen von einer Mehrzahl von Benutzern der elektronischen Vorrichtung zu empfangen (z.B. mit der Empfangseinheit 1110), wobei das Benutzerprofil eine Benutzeridentität einschließt.
-
In manchen Ausführungsformen ist die Verarbeitungseinheit 1106 ferner konfiguriert, zunächst zu bestimmen (z.B. mit der Bestimmungseinheit 1110), ob die Spracheingabe in natürlicher Sprache mit einer Reihe von akustischen Eigenschaften, die mit mindestens einem der Mehrzahl von Benutzerprofilen in Verbindung stehen, übereinstimmt; und gemäß einer Bestimmung, dass die Spracheingabe in natürlicher Sprache mit einer Reihe von akustischen Eigenschaften, die mit einem der Mehrzahl von Benutzerprofilen in Verbindung stehen, übereinstimmt, damit fortzufahren, zu bestimmen (z.B. mit der Bestimmungseinheit 1110), ob die Spracheingabe in natürlicher Sprache mit dem vom Benutzer anpassbarenen lexikalischen Auslöser übereinstimmt; und gemäß einer Bestimmung, dass die Spracheingabe in natürlicher Sprache mit keinem der Mehrzahl von Benutzerprofilen übereinstimmt, damit fortzufahren, auf einen Aufruf des virtuellen Assistenten (z.B. mit der Aufrufeinheit 1112) zu verzichten.
-
In manchen Ausführungsformen schließt die Verarbeitungseinheit 1106 ferner eine Aktualisierungseinheit 1124 ein; wobei die Verarbeitungseinheit 1106 ferner konfiguriert ist, eine andere Spracheingabe in natürlicher Sprache des Benutzers als eine Wiederholung von vorgewählten Wörtern zu empfangen (z.B. mit der Empfangseinheit 1108); die akustischen Eigenschaften der empfangenen Spracheingabe in natürlicher Sprache des Benutzers mit den akustischen Eigenschaften der empfangenen Spracheingabe in natürlicher Sprache, die in dem Benutzerprofil gespeichert sind, zu vergleichen (z B. mit der Vergleichseinheit 1116); und zu bestimmen (z.B. mit der Bestimmungseinheit 1110), ob sich die akustischen Eigenschaften der empfangenen Spracheingabe in natürlicher Sprache des Benutzers im Wesentlichen von den akustischen Eigenschaften der empfangenen Spracheingabe in natürlicher Sprache, die in dem Benutzerprofil gespeichert sind, unterscheiden; gemäß einer Bestimmung, dass sich die akustischen Eigenschaften der empfangenen Spracheingabe in natürlicher Sprache des Benutzers im Wesentlichen von den akustischen Eigenschaften der empfangenen Spracheingabe in natürlicher Sprache, die in dem Benutzerprofil gespeichert sind, unterscheiden, das Benutzerprofil des Benutzers basierend auf den akustischen Eigenschaften der empfangenen Spracheingabe in natürlicher Sprache des Benutzers zu aktualisieren (z.B. mit der Aktualisierungseinheit 1124); und das aktualisierte Benutzerprofil zu speichern (z.B. mit der Datenspeichereinheit 1114); und gemäß einer Bestimmung, dass sich die akustischen Eigenschaften der empfangenen Spracheingabe in natürlicher Sprache des Benutzers im Wesentlichen nicht von den akustischen Eigenschaften der empfangenen Spracheingabe in natürlicher Sprache, die in dem Benutzerprofil gespeichert sind, unterscheiden, auf die Aktualisierung des Benutzerprofils basierend auf den akustischen Eigenschaften der empfangenen Spracheingabe in natürlicher Sprache des Benutzers zu verzichten (z.B. mit der Aktualisierungseinheit 1124).
-
In manchen Ausführungsformen schließt die Verarbeitungseinheit 1106 ferner eine Übertragungseinheit 1126 ein; wobei die Verarbeitungseinheit 1106 ferner konfiguriert ist, mindestens ein Benutzerprofil von der elektronischen Vorrichtung zu übertragen (z.B. mit der Übertragungseinheit 1126).
-
In manchen Ausführungsformen ist die Verarbeitungseinheit 1106 ferner konfiguriert, weiter gemäß einer Bestimmung, dass die Spracheingabe in natürlicher Sprache sowohl einem vom Benutzer anpassbaren lexikalischen Auslöser als auch einer Reihe von mit dem Benutzer in Verbindung stehenden akustischen Eigenschaften entspricht, mindestens einen zusätzlichen Sicherheitsidentifikator zu empfangen (z.B. mit der Empfangseinheit 1108); und zu bestimmen, ob der mindestens eine zusätzliche Sicherheitsidentifikator mit dem Benutzer in Verbindung steht; gemäß einer Bestimmung, dass der mindestens eine zusätzliche Sicherheitsidentifikator mit dem Benutzer in Verbindung steht, den virtuellen Assistenten aufzurufen (z.B. mit der Aufrufeinheit 1112); gemäß einer Bestimmung, dass der mindestens eine zusätzliche Sicherheitsidentifikator nicht mit dem Benutzer in Verbindung steht, auf einen Aufruf des virtuellen Assistenten zu verzichten (z.B. mit der Aufrufeinheit 1112).
-
In manchen Ausführungsformen schließt die Verarbeitungseinheit 1106 ferner eine Registrierungseinheit 1128 ein, wobei die Verarbeitungseinheit 1106 ferner konfiguriert ist, mindestens einen Benutzer zu registrieren (z.B. mit der Registrierungseinheit 1128); wobei die Anweisungen zum Registrieren von mindestens einem Benutzer ferner Anweisungen umfassen, die bei Ausführen durch den einen oder die mehreren Prozessoren der elektronischen Vorrichtung die Vorrichtung dazu veranlassen, den Benutzer dazu aufzufordern, ein oder mehrere vorgewählte Wörter zu sagen (z.B. mit der Auf-/Anforderungseinheit 1118); als Reaktion auf die Aufforderung, eine Benutzereingabe, die eine Spracheingabe in natürlicher Sprache entsprechend dem einen oder den mehreren vorgewählten Wörtern einschließt, zu empfangen (z.B. mit der Empfangseinheit 1108).
-
In manchen Ausführungsformen ist die Verarbeitungseinheit 1106 ferner konfiguriert, mindestens einen Benutzer während der ersten Verwendung der elektronischen Vorrichtung durch den Benutzer zu registrieren (z.B. mit der Aufrufeinheit 1112).
-
In manchen Ausführungsformen ist die Verarbeitungseinheit 1106 ferner konfiguriert, die Registrierung von mindestens einem Benutzer bei einer erfassten Änderung der akustischen Eigenschaften der Stimme des Benutzers zu aktualisieren (z.B. mit der Aktualisierungseinheit 1124).
-
In manchen Ausführungsformen ist die Verarbeitungseinheit 1106 ferner konfiguriert, mindestens einen zusätzlichen Sicherheitsidentifikator von dem Benutzer anzufordern, um die Registrierung durchzuführen (z.B. mit der Auf-/Anforderungseinheit 1118); und zu bestimmen (z.B. mit der Bestimmungseinheit 1110), ob der mindestens eine zusätzliche Sicherheitsidentifikator mit dem Benutzer in Verbindung steht; gemäß einer Bestimmung, dass der mindestens eine zusätzliche Sicherheitsidentifikator mit dem Benutzer in Verbindung steht, den Benutzer zu registrieren (z.B. mit der Registrierungseinheit 1128); gemäß einer Bestimmung, dass der mindestens eine zusätzliche Sicherheitsidentifikator nicht mit dem Benutzer in Verbindung steht, auf die Registrierung des Benutzers zu verzichten (z.B. mit der Registrierungseinheit 1128).
-
In manchen Ausführungsformen ist die Verarbeitungseinheit 1106 ferner konfiguriert, eine Spracheingabe in natürlicher Sprache, die einer Reihe von mit dem Benutzer in Verbindung stehenden akustischen Eigenschaften, aber nicht dem vom Benutzer anpassbaren lexikalischen Auslöser, entspricht, zu empfangen (z.B. mit der Empfangseinheit 1108); als Reaktion auf den Empfang einer Spracheingabe in natürlicher Sprache, die einem, aber nicht beidem von einer Reihe von mit dem Benutzer in Verbindung stehenden akustischen Eigenschaften und dem vom Benutzer anpassbaren lexikalischen Auslöser entspricht, den Benutzer dazu aufzufordern, die Spracheingabe in natürlicher Sprache zu wiederholen (z.B. mit der Auf-/Anforderungseinheit 1118); und zu bestimmen (z.B. mit der Bestimmungseinheit 1110), ob die wiederholte Spracheingabe in natürlicher Sprache sowohl einem vom Benutzer anpassbaren lexikalischen Auslöser als auch einer Reihe von mit dem Benutzer in Verbindung stehenden akustischen Eigenschaften entspricht; wobei gemäß einer Bestimmung, dass die Spracheingabe in natürlicher Sprache sowohl einem vom Benutzer anpassbaren lexikalischen Auslöser als auch einer Reihe von mit dem Benutzer in Verbindung stehenden akustischen Eigenschaften entspricht, einen virtuellen Assistenten aufzurufen (z.B. mit der Aufrufeinheit 1112); und die erste Spracheingabe in natürlicher Sprache des Benutzers zu registrieren (z B. mit der Registrierungseinheit 1128); und gemäß einer Bestimmung, dass entweder die Spracheingabe in natürlicher Sprache einem vom Benutzer anpassbaren lexikalischen Auslöser nicht entspricht oder die Spracheingabe in natürlicher Sprache eine Reihe von mit dem Benutzer in Verbindung stehenden akustischen Eigenschaften nicht hat, auf den Aufruf eines virtuellen Assistenten zu verzichten (z.B. mit der Aufrufeinheit 1112).
-
In manchen Ausführungsformen schließt die Verarbeitungseinheit 1106 ferner eine Erzeugungseinheit 1130 ein, wobei die Verarbeitungseinheit 1106 ferner konfiguriert ist, zu bestimmen, ob die Spracheingabe in natürlicher Sprache sowohl einem vom Benutzer anpassbaren lexikalischen Auslöser als auch einer Reihe von mit dem Benutzer in Verbindung stehenden akustischen Eigenschaften entspricht, wobei die Verarbeitungseinheit konfiguriert ist, einen oder mehrere Supervektoren, die jeweils mit den akustischen Eigenschaften der Stimme eines Benutzers in Verbindung stehen, zu speichern (z.B. mit der Datenspeichereinheit 1114); einen Supervektor basierend auf der Spracheingabe in natürlicher Sprache zu erzeugen (z.B. mit der Erzeugungseinheit 1130); den erzeugten Supervektor mit einem oder mehreren gespeicherten Supervektoren zu vergleichen (z.B. mit der Vergleichseinheit 1116), um einen Wert zu erzeugen; und zu bestimmen (z.B. mit der Bestimmungseinheit 1110), ob der Wert einen Schwellenwert überschreitet; gemäß einer Bestimmung, dass der Wert den Schwellenwert überschreitet, unter Verwendung der Folgerungseinheit zu folgern, dass die Spracheingabe in natürlicher Sprache einer Reihe von mit einem Benutzer in Verbindung stehenden akustischen Eigenschaften entspricht; und gemäß einer Bestimmung, dass der Wert den Schwellenwert nicht überschreitet, zu folgern (z.B. mit der Folgerungseinheit 1120), dass die Spracheingabe in natürlicher Sprache einer Reihe von mit einem Benutzer in Verbindung stehenden akustischen Eigenschaften nicht entspricht.
-
In manchen Ausführungsformen ist die Verarbeitungseinheit 1106 ferner konfiguriert, den Supervektor durch Verwenden einer Zustandsrückverfolgung zu erzeugen (z.B. mit der Erzeugungseinheit 1130).
-
Die weiter oben unter Bezugnahme auf 8A bis 8G beschriebenen Vorgänge werden optional durch in 1A bis 7C und/oder 9 dargestellte Komponenten implementiert. Für den Fachmann ist klar, wie Prozesse auf Grundlage der in 1A bis 7C und/oder 9 dargestellten Komponenten implementiert werden können.
-
Beispielhafte Verfahren, nicht-flüchtige computerlesbare Datenspeichermedien, Systeme und elektronische Vorrichtungen werden unter den folgenden Ziffern erläutert:
- 1. Ein nicht-flüchtiges, computerlesbares Datenspeichermedium, in dem ein oder mehrere Programme gespeichert sind, wobei das eine oder die mehreren Programme Anweisungen umfassen, die bei Ausführen durch eine elektronische Vorrichtung die elektronische Vorrichtung veranlassen zu:
Empfangen einer Spracheingabe in natürlicher Sprache von einem von einer Mehrzahl von Benutzern, wobei die Spracheingabe in natürlicher Sprache eine Reihe von akustischen Eigenschaften hat; und
Bestimmen, ob die Spracheingabe in natürlicher Sprache sowohl einem vom Benutzer anpassbaren lexikalischen Auslöser als auch einer Reihe von mit dem Benutzer in Verbindung stehenden akustischen Eigenschaften entspricht; wobei
gemäß einer Bestimmung, dass die Spracheingabe in natürlicher Sprache sowohl einem vom Benutzer anpassbaren lexikalischen Auslöser als auch einer Reihe von mit dem Benutzer in Verbindung stehenden akustischen Eigenschaften entspricht, Aufrufen eines virtuellen Assistenten; und
gemäß einer Bestimmung, dass entweder die Spracheingabe in natürlicher Sprache einem vom Benutzer anpassbaren lexikalischen Auslöser nicht entspricht oder die Spracheingabe in natürlicher Sprache eine Reihe von mit dem Benutzer in Verbindung stehenden akustischen Eigenschaften nicht hat, Verzichten auf einen Aufruf eines virtuellen Assistenten.
- 2. Das nicht-flüchtige, computerlesbare Datenspeichermedium, in dem ein oder mehrere Programme gespeichert sind, wobei das eine oder die mehreren Programme Anweisungen umfassen, nach Anspruch 1, das eine oder die mehreren Programme ferner umfassend Anweisungen, die bei Ausführen durch den einen oder die mehreren Prozessoren der elektronischen Vorrichtung die Vorrichtung veranlassen zu:
Empfangen einer Benutzereingabe von mindestens einem Wort; und
Speichern des mindestens einen Worts als den lexikalischen Auslöser.
- 3. Das nicht-flüchtige, computerlesbare Datenspeichermedium, in dem ein oder mehrere Programme gespeichert sind, wobei das eine oder die mehreren Programme Anweisungen umfassen, nach einem der Ansprüche 1 bis 2, das eine oder die mehreren Programme ferner umfassend Anweisungen, die bei Ausführen durch den einen oder die mehreren Prozessoren der elektronischen Vorrichtung die Vorrichtung veranlassen zu:
weiter gemäß einer Bestimmung, dass die Spracheingabe in natürlicher Sprache sowohl einem vom Benutzer anpassbaren lexikalischen Auslöser als auch einer Reihe von mit dem Benutzer in Verbindung stehenden akustischen Eigenschaften entspricht:
Vergleichen der akustischen Eigenschaften der empfangenen Spracheingabe in natürlicher Sprache des Benutzers mit einem Referenzsatz von akustischen Eigenschaften, die für den virtuellen Assistenten zugänglich sind; und
Speichern der Unterschiede zwischen den akustischen Eigenschaften der empfangenen Spracheingabe in natürlicher Sprache des Benutzers und dem Referenzsatz von akustischen Eigenschaften.
- 4. Das nicht-flüchtige, computerlesbare Datenspeichermedium, in dem ein oder mehrere Programme gespeichert sind, wobei das eine oder die mehreren Programme Anweisungen umfassen, nach einem der Ansprüche 1 bis 3, das eine oder die mehreren Programme ferner umfassend Anweisungen, die bei Ausführen durch den einen oder die mehreren Prozessoren der elektronischen Vorrichtung die Vorrichtung veranlassen zu:
weiter gemäß einer Bestimmung, dass die Spracheingabe in natürlicher Sprache sowohl einem vom Benutzer anpassbaren lexikalischen Auslöser als auch einer Reihe von mit dem Benutzer in Verbindung stehenden akustischen Eigenschaften entspricht:
Auffordern des Benutzers, mindestens ein vorgewähltes Wort zu sprechen;
als Reaktion auf die Aufforderung, Empfangen einer Spracheingabe in natürlicher Sprache des Benutzers, der das eine oder die mehreren vorgewählten Wörter spricht.
- 5. Das nicht-flüchtige, computerlesbare Datenspeichermedium, in dem ein oder mehrere Programme gespeichert sind, wobei das eine oder die mehreren Programme Anweisungen umfassen, nach einem der Ansprüche 1 bis 4, die Anweisungen zum Bestimmen, ob die Spracheingabe in natürlicher Sprache sowohl einem vom Benutzer anpassbaren lexikalischen Auslöser als auch einer Reihe von mit dem Benutzer in Verbindung stehenden akustischen Eigenschaften entspricht, ferner umfassend Anweisungen, die bei Ausführen durch den einen oder die mehreren Prozessoren der elektronischen Vorrichtung die Vorrichtung veranlassen zu:
Bestimmen, ob die Reihe von akustischen Eigenschaften der Spracheingabe in natürlicher Sprache mit der Reihe von akustischen Eigenschaften von einem von der Mehrzahl von Benutzerprofilen, die für den virtuellen Assistenten zugänglich sind, übereinstimmt:
gemäß einer Bestimmung, dass die Reihe von akustischen Eigenschaften der Spracheingabe in natürlicher Sprache mit der Reihe von akustischen Eigenschaften von einem von der Mehrzahl von Benutzerprofilen übereinstimmt, Folgern, dass die Spracheingabe in natürlicher Sprache einer Reihe von mit dem Benutzer in Verbindung stehenden akustischen Eigenschaften entspricht; und
gemäß einer Bestimmung, dass die Eingabe mit keinem der Mehrzahl von Benutzerprofilen übereinstimmt, Fortfahren damit, auf einen Aufruf des virtuellen Assistenten zu verzichten.
- 6. Das nicht-flüchtige, computerlesbare Datenspeichermedium, in dem ein oder mehrere Programme gespeichert sind, wobei das eine oder die mehreren Programme Anweisungen umfassen, nach Anspruch 5, das eine oder die mehreren Programme ferner umfassend Anweisungen, die bei Ausführen durch den einen oder die mehreren Prozessoren der elektronischen Vorrichtung die Vorrichtung veranlassen zu:
Erstellen eines Benutzerprofils für mindestens einen von einer Mehrzahl von Benutzern der elektronischen Vorrichtung, wobei das Benutzerprofil eine Benutzeridentität einschließt; und
Speichern des mindestens einen Benutzerprofils.
- 7. Das nicht-flüchtige, computerlesbare Datenspeichermedium, in dem ein oder mehrere Programme gespeichert sind, wobei das eine oder die mehreren Programme Anweisungen umfassen, nach Anspruch 5, das eine oder die mehreren Programme ferner umfassend Anweisungen, die bei Ausführen durch den einen oder die mehreren Prozessoren der elektronischen Vorrichtung die Vorrichtung veranlassen zu:
Empfangen eines Benutzerprofils für mindestens einen von einer Mehrzahl von Benutzern der elektronischen Vorrichtung, wobei das Benutzerprofil eine Benutzeridentität einschließt.
- 8. Das nicht-flüchtige, computerlesbare Datenpeichermedium nach Anspruch 5, das nicht-flüchtige, computerlesbare Datenspeichermedium ferner umfassend Anweisungen, die bei Ausführen durch den einen oder die mehreren Prozessoren der elektronischen Vorrichtung die Vorrichtung veranlassen zu:
zunächst Bestimmen, ob die Spracheingabe in natürlicher Sprache mit einer Reihe von akustischen Eigenschaften, die mit mindestens einem der Mehrzahl von Benutzerprofilen in Verbindung stehen, übereinstimmt; und
gemäß einer Bestimmung, dass die Spracheingabe in natürlicher Sprache mit einer Reihe von akustischen Eigenschaften, die mit einem der Mehrzahl von Benutzerprofilen in Verbindung stehen, übereinstimmt, Fortfahren damit, zu bestimmen, ob die Spracheingabe in natürlicher Sprache mit dem vom Benutzer anpassbaren lexikalischen Auslöser übereinstimmt; und
gemäß einer Bestimmung, dass die Spracheingabe in natürlicher Sprache mit keinem der Mehrzahl von Benutzerprofilen übereinstimmt, Fortfahren damit, auf einen Aufruf des virtuellen Assistenten zu verzichten.
- 9. Das nicht-flüchtige, computerlesbare Datenspeichermedium nach Anspruch 5, das nicht-flüchtige, computerlesbare Datenspeichermedium ferner umfassend Anweisungen, die bei Ausführen durch den einen oder die mehreren Prozessoren der elektronischen Vorrichtung die Vorrichtung veranlassen zu:
Empfangen einer anderen Spracheingabe in natürlicher Sprache des Benutzers als einer Wiederholung von vorgewählten Wörtern;
Vergleichen der akustischen Eigenschaften der empfangenen Spracheingabe in natürlicher Sprache des Benutzers mit den akustischen Eigenschaften der empfangenen Spracheingabe in natürlicher Sprache, die in dem Benutzerprofil gespeichert sind; und
Bestimmen, ob sich die akustischen Eigenschaften der empfangenen Spracheingabe in natürlicher Sprache des Benutzers im Wesentlichen von den akustischen Eigenschaften der empfangenen Spracheingabe in natürlicher Sprache, die in dem Benutzerprofil gespeichert sind, unterscheiden:
gemäß einer Bestimmung, dass sich die akustischen Eigenschaften der empfangenen Spracheingabe in natürlicher Sprache des Benutzers im Wesentlichen von den akustischen Eigenschaften der empfangenen Spracheingabe in natürlicher Sprache, die in dem Benutzerprofil gespeichert sind, unterscheiden:
Aktualisieren des Benutzerprofils des Benutzers basierend auf den akustischen Eigenschaften der empfangenen Spracheingabe in natürlicher Sprache des Benutzers; und
Speichern des aktualisierten Benutzerprofils; und
gemäß einer Bestimmung, dass sich die akustischen Eigenschaften der empfangenen Spracheingabe in natürlicher Sprache des Benutzers im Wesentlichen nicht von den akustischen Eigenschaften der empfangenen Spracheingabe in natürlicher Sprache, die in dem Benutzerprofil gespeichert sind, unterscheiden, Verzichten auf die Aktualisierung des Benutzerprofils basierend auf den akustischen Eigenschaften der empfangenen Spracheingabe in natürlicher Sprache des Benutzers.
- 10. Das nicht-flüchtige, computerlesbare Datenspeichermedium, in dem ein oder mehrere Programme gespeichert sind, wobei das eine oder die mehreren Programme Anweisungen umfassen, nach einem der Ansprüche 1 bis 9, das eine oder die mehreren Programme ferner umfassend Anweisungen, die bei Ausführen durch den einen oder die mehreren Prozessoren der elektronischen Vorrichtung die Vorrichtung veranlassen zu:
Übertragen von mindestens einem Benutzerprofil von der elektronischen Vorrichtung.
- 11. Das nicht-flüchtige, computerlesbare Datenspeichermedium nach einem der Ansprüche 1 bis 10, das nicht-flüchtige, computerlesbare Datenspeichermedium ferner umfassend Anweisungen, die bei Ausführen durch den einen oder die mehreren Prozessoren der elektronischen Vorrichtung die Vorrichtung veranlassen zu:
weiter gemäß einer Bestimmung, dass die Spracheingabe in natürlicher Sprache sowohl einem vom Benutzer anpassbaren lexikalischen Auslöser als auch einer Reihe von mit dem Benutzer in Verbindung stehenden akustischen Eigenschaften entspricht, Empfangen von mindestens einem zusätzlichen Sicherheitsidentifikator; und
Bestimmen, ob der mindestens eine zusätzliche Sicherheitsidentifikator mit dem Benutzer in Verbindung steht:
gemäß einer Bestimmung, dass der mindestens eine zusätzliche Sicherheitsidentifikator mit dem Benutzer in Verbindung steht, Aufrufen des virtuellen Assistenten;
gemäß einer Bestimmung, dass der mindestens eine zusätzliche Sicherheitsidentifikator nicht mit dem Benutzer in Verbindung steht, Verzichten auf einen Aufruf des virtuellen Assistenten.
- 12. Das nicht-flüchtige, computerlesbare Datenspeichermedium nach einem der Ansprüche 1 bis 11, das nicht-flüchtige, computerlesbare Datenspeichermedium ferner umfassend Anweisungen, die bei Ausführen durch den einen oder die mehreren Prozessoren der elektronischen Vorrichtung die Vorrichtung veranlassen zu:
Registrieren von mindestens einem Benutzer; wobei die Anweisungen zum Registrieren von mindestens einem Benutzer ferner Anweisungen umfassen, die bei Ausführen durch den einen oder die mehreren Prozessoren der elektronischen Vorrichtung die Vorrichtung veranlassen zu:
Auffordern des Benutzers, ein oder mehrere vorgewählte Wörter zu sagen;
als Reaktion auf die Aufforderung, Empfangen einer Benutzereingabe, die eine Spracheingabe in natürlicher Sprache entsprechend dem einen oder den mehreren vorgewählten Wörtern einschließt.
- 13. Das nicht-flüchtige, computerlesbare Datenspeichermedium nach einem der Ansprüche 1 bis 12, das nicht-flüchtige, computerlesbare Datenspeichermedium ferner umfassend Anweisungen, die bei Ausführen durch den einen oder die mehreren Prozessoren der elektronischen Vorrichtung die Vorrichtung veranlassen zu:
Registrieren von mindestens einem Benutzer während der ersten Verwendung der elektronischen Vorrichtung durch den Benutzer.
- 14. Das nicht-flüchtige, computerlesbare Datenspeichermedium nach einem der Ansprüche 1 bis 13, das nicht-flüchtige, computerlesbare Datenspeichermedium ferner umfassend Anweisungen, die bei Ausführen durch den einen oder die mehreren Prozessoren der elektronischen Vorrichtung die Vorrichtung veranlassen zu:
Aktualisieren der Registrierung von mindestens einem Benutzer bei einer erfassten Änderung der akustischen Eigenschaften der Stimme des Benutzers.
- 15. Das nicht-flüchtige, computerlesbare Datenspeichermedium nach Anspruch 14, das nicht-flüchtige, computerlesbare Datenspeichermedium ferner umfassend Anweisungen, die bei Ausführen durch den einen oder die mehreren Prozessoren der elektronischen Vorrichtung die Vorrichtung veranlassen zu:
Anfordern von mindestens einem zusätzlichen Sicherheitsidentifikator von dem Benutzer, um die Registrierung durchzuführen; und
Bestimmen, ob der mindestens eine zusätzliche Sicherheitsidentifikator mit dem Benutzer in Verbindung steht:
gemäß einer Bestimmung, dass der mindestens eine zusätzliche Sicherheitsidentifikator mit dem Benutzer in Verbindung steht, Registrieren des Benutzers;
gemäß einer Bestimmung, dass der mindestens eine zusätzliche Sicherheitsidentifikator nicht mit dem Benutzer in Verbindung steht, Verzichten auf eine Registrierung des Benutzers.
- 16. Das nicht-flüchtige, computerlesbare Datenspeichermedium nach einem der Ansprüche 1 bis 15, das nicht-flüchtige, computerlesbare Datenspeichermedium ferner umfassend Anweisungen, die bei Ausführen durch den einen oder die mehreren Prozessoren der elektronischen Vorrichtung die Vorrichtung veranlassen zu:
Empfangen einer Spracheingabe in natürlicher Sprache, die einer Reihe von mit dem Benutzer in Verbindung stehenden akustischen Eigenschaften, aber nicht dem vom Benutzer anpassbaren lexikalischen Auslöser, entspricht;
als Reaktion auf den Empfang der Spracheingabe in natürlicher Sprache, die einem, aber nicht beidem von einer Reihe von mit dem Benutzer in Verbindung stehenden akustischen Eigenschaften und dem vom Benutzer anpassbaren lexikalischen Auslöser entspricht, Auffordern des Benutzers, die Spracheingabe in natürlicher Sprache zu wiederholen; und
Bestimmen, ob die wiederholte Spracheingabe in natürlicher Sprache sowohl einem vom Benutzer anpassbaren lexikalischen Auslöser als auch einer Reihe von mit dem Benutzer in Verbindung stehenden akustischen Eigenschaften entspricht; wobei
gemäß einer Bestimmung, dass die Spracheingabe in natürlicher Sprache sowohl einem vom Benutzer anpassbaren lexikalischen Auslöser als auch einer Reihe von mit dem Benutzer in Verbindung stehenden akustischen Eigenschaften entspricht:
Aufrufen eines virtuellen Assistenten; und
Registrieren der ersten Spracheingabe in natürlicher Sprache des Benutzers; und
gemäß einer Bestimmung, dass entweder die Spracheingabe in natürlicher Sprache einem vom Benutzer anpassbaren lexikalischen Auslöser nicht entspricht oder die Spracheingabe in natürlicher Sprache eine Reihe von mit dem Benutzer in Verbindung stehenden akustischen Eigenschaften nicht hat, Verzichten auf einen Aufruf eines virtuellen Assistenten.
- 17. Das nicht-flüchtige, computerlesbare Datenspeichermedium nach einem der Ansprüche 1 bis 16, die Anweisungen zum Bestimmen, ob die Spracheingabe in natürlicher Sprache sowohl einem vom Benutzer anpassbaren lexikalischen Auslöser als auch einer Reihe von mit dem Benutzer in Verbindung stehenden akustischen Eigenschaften entspricht, ferner umfassend Anweisungen, die bei Ausführen durch den einen oder die mehreren Prozessoren der elektronischen Vorrichtung die Vorrichtung veranlassen zu:
Speichern von einem oder mehreren Supervektoren, die jeweils mit den akustischen Eigenschaften der Stimme eines Benutzers in Verbindung stehen;
Erzeugen eines Supervektors basierend auf der Spracheingabe in natürlicher Sprache; Vergleichen des erzeugten Supervektors mit einem oder mehreren
gespeicherten Supervektoren, um einen Wert zu erzeugen; und Bestimmen, ob der Wert einen Schwellenwert überschreitet;
gemäß einer Bestimmung, dass der Wert den Schwellenwert überschreitet, Folgern, dass die Spracheingabe in natürlicher Sprache einer Reihe von mit einem Benutzer in Verbindung stehenden akustischen Eigenschaften entspricht; und
gemäß einer Bestimmung, dass der Wert den Schwellenwert nicht überschreitet, Folgern, dass die Spracheingabe in natürlicher Sprache einer Reihe von mit einem Benutzer in Verbindung stehenden akustischen Eigenschaften nicht entspricht.
- 18. Das nicht-flüchtige, computerlesbare Datenspeichermedium nach Anspruch 16, die Anweisungen zum Erzeugen eines Supervektors ferner umfassend Anweisungen, die bei Ausführen durch den einen oder die mehreren Prozessoren der elektronischen Vorrichtung die Vorrichtung veranlassen zu:
Erzeugen des Supervektors durch Verwenden einer Zustandsrückverfolgung.
- 19. Eine elektronische Vorrichtung, umfassend:
einen oder mehrere Prozessoren;
einen Speicher; und
ein oder mehrere Programme, wobei das eine oder die mehreren Programme in dem nicht-flüchtigen, computerlesbaren Datenspeichermedium nach den Ansprüchen 1 bis 18 gespeichert und konfiguriert sind, durch den einen oder die mehreren Prozessoren ausgeführt zu werden.
- 20. Eine elektronische Vorrichtung, umfassend ein Mittel zum Ausführen des einen oder der mehreren in dem nicht-flüchtigen, computerlesbaren Datenspeichermedium gespeicherten Programme nach den Ansprüchen 1 bis 18.
- 21. Eine elektronische Vorrichtung, umfassend:
einen Speicher;
ein Mikrofon und
einen an den Speicher und das Mikrofon gekoppelten Prozessor, wobei der Prozessor konfiguriert ist zu:
Empfangen einer Spracheingabe in natürlicher Sprache von einem von einer Mehrzahl von Benutzern, wobei die Spracheingabe in natürlicher Sprache eine Reihe von akustischen Eigenschaften hat; und
Bestimmen, ob die Spracheingabe in natürlicher Sprache sowohl einem vom Benutzer anpassbaren lexikalischen Auslöser als auch einer Reihe von mit dem Benutzer in Verbindung stehenden akustischen Eigenschaften entspricht; wobei
gemäß einer Bestimmung, dass die Spracheingabe in natürlicher Sprache sowohl einem vom Benutzer anpassbaren lexikalischen Auslöser als auch einer Reihe von mit dem Benutzer in Verbindung stehenden akustischen Eigenschaften entspricht, Aufrufen eines virtuellen Assistenten; und
gemäß einer Bestimmung, dass entweder die Spracheingabe in natürlicher Sprache einem vom Benutzer anpassbaren lexikalischen Auslöser nicht entspricht oder die Spracheingabe in natürlicher Sprache eine Reihe von mit dem Benutzer in Verbindung stehenden akustischen Eigenschaften nicht hat, Verzichten auf einen Aufruf eines virtuellen Assistenten.
- 22. Ein Verfahren zum Verwenden eines virtuellen Assistenten, umfassend:
an einer elektronischen Vorrichtung, die konfiguriert ist, Daten zu übertragen und zu empfangen,
Empfangen einer Spracheingabe in natürlicher Sprache von einem von einer Mehrzahl von Benutzern, wobei die Spracheingabe in natürlicher Sprache eine Reihe von akustischen Eigenschaften hat; und
Bestimmen, ob die Spracheingabe in natürlicher Sprache sowohl einem vom Benutzer anpassbaren lexikalischen Auslöser als auch einer Reihe von mit dem Benutzer in Verbindung stehenden akustischen Eigenschaften entspricht; wobei
gemäß einer Bestimmung, dass die Spracheingabe in natürlicher Sprache sowohl einem vom Benutzer anpassbaren lexikalischen Auslöser als auch einer Reihe von mit dem Benutzer in Verbindung stehenden akustischen Eigenschaften entspricht, Aufrufen eines virtuellen Assistenten; und
gemäß einer Bestimmung, dass entweder die Spracheingabe in natürlicher Sprache einem vom Benutzer anpassbaren lexikalischen Auslöser nicht entspricht oder die Spracheingabe in natürlicher Sprache eine Reihe von mit dem Benutzer in Verbindung stehenden akustischen Eigenschaften nicht hat, Verzichten auf einen Aufruf eines virtuellen Assistenten.
- 23. Ein System, das eine elektronische Vorrichtung verwendet, das System umfassend:
ein Mittel zum Empfangen einer Spracheingabe in natürlicher Sprache von einem von einer Mehrzahl von Benutzern, wobei die Spracheingabe in natürlicher Sprache eine Reihe von akustischen Eigenschaften hat; und
ein Mittel zum Bestimmen, ob die Spracheingabe in natürlicher Sprache sowohl einem vom Benutzer anpassbaren lexikalischen Auslöser als auch einer Reihe von mit dem Benutzer in Verbindung stehenden akustischen Eigenschaften entspricht; wobei
gemäß einer Bestimmung, dass die Spracheingabe in natürlicher Sprache sowohl einem vom Benutzer anpassbaren lexikalischen Auslöser als auch einer Reihe von mit dem Benutzer in Verbindung stehenden akustischen Eigenschaften entspricht, ein Mittel zum Aufrufen eines virtuellen Assistenten; und
gemäß einer Bestimmung, dass entweder die Spracheingabe in natürlicher Sprache einem vom Benutzer anpassbaren lexikalischen Auslöser nicht entspricht oder die Spracheingabe in natürlicher Sprache eine Reihe von mit dem Benutzer in Verbindung stehenden akustischen Eigenschaften nicht hat, ein Mittel zum Verzichten auf einen Aufruf eines virtuellen Assistenten.
- 24. Eine elektronische Vorrichtung, umfassend:
eine Verarbeitungseinheit, die eine Empfangseinheit, eine Bestimmungseinheit und eine Aufrufeinheit einschließt; wobei die Verarbeitungseinheit konfiguriert ist zu:
Empfangen, unter Verwendung der Empfangseinheit, einer Spracheingabe in natürlicher Sprache von einem von einer Mehrzahl von Benutzern, wobei die Spracheingabe in natürlicher Sprache eine Reihe von akustischen Eigenschaften hat; und
Bestimmen, unter Verwendung der Bestimmungseinheit, ob die Spracheingabe in natürlicher Sprache sowohl einem vom Benutzer anpassbaren lexikalischen Auslöser als auch einer Reihe von mit dem Benutzer in Verbindung stehenden akustischen Eigenschaften entspricht; wobei
gemäß einer Bestimmung, dass die Spracheingabe in natürlicher Sprache sowohl einem vom Benutzer anpassbaren lexikalischen Auslöser als auch einer Reihe von mit dem Benutzer in Verbindung stehenden akustischen Eigenschaften entspricht, Aufrufen, unter Verwendung der Aufrufeinheit, eines virtuellen Assistenten; und
gemäß einer Bestimmung, dass entweder die Spracheingabe in natürlicher Sprache einem vom Benutzer anpassbaren lexikalischen Auslöser nicht entspricht oder die Spracheingabe in natürlicher Sprache eine Reihe von mit dem Benutzer in Verbindung stehenden akustischen Eigenschaften nicht hat, Verzichten auf, unter Verwendung der Aufrufeinheit, einen Aufruf eines virtuellen Assistenten.
- 25. Die elektronische Vorrichtung nach Anspruch 24, wobei die Verarbeitungseinheit ferner eine Datenspeichereinheit umfasst, wobei die Verarbeitungseinheit ferner konfiguriert ist zu:
Empfangen, unter Verwendung der Empfangseinheit, einer Benutzereingabe von mindestens einem Wort; und
Speichern, unter Verwendung der Datenspeichereinheit, des mindestens einen Worts als den lexikalischen Auslöser.
- 26. Die elektronische Vorrichtung nach einem der Ansprüche 24 bis 25, wobei die Verarbeitungseinheit ferner eine Vergleichseinheit umfasst, wobei die Verarbeitungseinheit ferner konfiguriert ist zu:
weiter gemäß einer Bestimmung, dass die Spracheingabe in natürlicher Sprache sowohl einem vom Benutzer anpassbaren lexikalischen Auslöser als auch einer Reihe von mit dem Benutzer in Verbindung stehenden akustischen Eigenschaften entspricht:
Vergleichen, unter Verwendung der Vergleichseinheit, der akustischen Eigenschaften der empfangenen Spracheingabe in natürlicher Sprache des Benutzers mit einem Referenzsatz von akustischen Eigenschaften, die für den virtuellen Assistenten zugänglich sind; und
Speichern, unter Verwendung der Datenspeichereinheit, der Unterschiede zwischen den akustischen Eigenschaften der empfangenen Spracheingabe in natürlicher Sprache des Benutzers und dem Referenzsatz von akustischen Eigenschaften.
- 27. Die elektronische Vorrichtung nach einem der Ansprüche 24 bis 26, wobei die Verarbeitungseinheit ferner eine Auf-/Anforderungseinheit umfasst, wobei die Verarbeitungseinheit ferner konfiguriert ist zu:
weiter gemäß einer Bestimmung, dass die Spracheingabe in natürlicher Sprache sowohl einem vom Benutzer anpassbaren lexikalischen Auslöser als auch einer Reihe von mit dem Benutzer in Verbindung stehenden akustischen Eigenschaften entspricht:
Auffordern, unter Verwendung der Auf-/Anforderungseinheit, des Benutzers, mindestens ein vorgewähltes Wort zu sprechen;
als Reaktion auf die Aufforderung, Empfangen, unter Verwendung der Empfangseinheit, einer Spracheingabe in natürlicher Sprache des Benutzers, der das eine oder die mehreren vorgewählten Wörter spricht.
- 28. Die elektronische Vorrichtung nach einem der Ansprüche 24 bis 27, wobei die Verarbeitungseinheit ferner eine Folgerungseinheit umfasst; wobei die Verarbeitungseinheit ferner konfiguriert ist, zu bestimmen, ob die Spracheingabe in natürlicher Sprache sowohl einem vom Benutzer anpassbaren lexikalischen Auslöser als auch einer Reihe von mit dem Benutzer in Verbindung stehenden akustischen Eigenschaften entspricht, wobei die Verarbeitungseinheit konfiguriert ist zu:
Bestimmen, unter Verwendung der Bestimmungseinheit, ob die Reihe von akustischen Eigenschaften der Spracheingabe in natürlicher Sprache mit der Reihe von akustischen Eigenschaften von einem von der Mehrzahl von Benutzerprofilen, die für den virtuellen Assistenten zugänglich sind, übereinstimmt:
gemäß einer Bestimmung, dass die Reihe von akustischen Eigenschaften der Spracheingabe in natürlicher Sprache mit der Reihe von akustischen Eigenschaften von einem von der Mehrzahl von Benutzerprofilen übereinstimmt, Folgern, unter Verwendung der Folgerungseinheit, dass die Spracheingabe in natürlicher Sprache einer Reihe von mit dem Benutzer in Verbindung stehenden akustischen Eigenschaften entspricht; und
gemäß einer Bestimmung, dass die Eingabe mit keinem der Mehrzahl von Benutzerprofilen übereinstimmt, Fortfahren damit, unter Verwendung der Aufrufeinheit, auf einen Aufruf des virtuellen Assistenten zu verzichten.
- 29. Die elektronische Vorrichtung nach Anspruch 28, wobei die Verarbeitungseinheit ferner eine Erstellungseinheit umfasst; wobei die Verarbeitungseinheit ferner konfiguriert ist zu:
Erstellen, unter Verwendung der Erstellungseinheit, eines Benutzerprofils für mindestens einen von einer Mehrzahl von Benutzern der elektronischen Vorrichtung, wobei das Benutzerprofil eine Benutzeridentität einschließt; und
Speichern, unter Verwendung der Datenspeichereinheit, des mindestens einen Benutzerprofils.
- 30. Die elektronische Vorrichtung nach Anspruch 28, wobei die Verarbeitungseinheit ferner konfiguriert ist zu:
Empfangen, unter Verwendung der Empfangseinheit, eines Benutzerprofils für mindestens einen von einer Mehrzahl von Benutzern der elektronischen Vorrichtung, wobei das Benutzerprofil eine Benutzeridentität einschließt.
- 31. Die elektronische Vorrichtung nach Anspruch 28, wobei die Verarbeitungseinheit ferner konfiguriert ist zu:
zunächst Bestimmen, unter Verwendung der Bestimmungseinheit, ob die Spracheingabe in natürlicher Sprache mit einer Reihe von akustischen Eigenschaften, die mit mindestens einem der Mehrzahl von Benutzerprofilen in Verbindung stehen, übereinstimmt; und
gemäß einer Bestimmung, dass die Spracheingabe in natürlicher Sprache mit einer Reihe von akustischen Eigenschaften, die mit einem der Mehrzahl von Benutzerprofilen in Verbindung stehen, übereinstimmt, Fortfahren damit, zu bestimmen, unter Verwendung der Bestimmungseinheit, ob die Spracheingabe in natürlicher Sprache mit dem vom Benutzer anpassbaren lexikalischen Auslöser übereinstimmt; und
gemäß einer Bestimmung, dass die Spracheingabe in natürlicher Sprache mit keinem der Mehrzahl von Benutzerprofilen übereinstimmt, Fortfahren damit, unter Verwendung der Aufrufeinheit, auf einen Aufruf des virtuellen Assistenten zu verzichten.
- 32. Die elektronische Vorrichtung nach Anspruch 28, wobei die Verarbeitungseinheit ferner eine Aktualisierungseinheit umfasst; wobei die Verarbeitungseinheit ferner konfiguriert ist zu:
Empfangen, unter Verwendung der Empfangseinheit, einer anderen Spracheingabe in natürlicher Sprache des Benutzers als einer Wiederholung von vorgewählten Wörtern;
Vergleichen, unter Verwendung der Vergleichseinheit, der akustischen Eigenschaften der empfangenen Spracheingabe in natürlicher Sprache des Benutzers mit den akustischen Eigenschaften der empfangenen Spracheingabe in natürlicher Sprache, die in dem Benutzerprofil gespeichert sind; und
Bestimmen, unter Verwendung der Bestimmungseinheit, ob sich die akustischen Eigenschaften der empfangenen Spracheingabe in natürlicher
Sprache des Benutzers im Wesentlichen von den akustischen Eigenschaften der empfangenen Spracheingabe in natürlicher Sprache, die in dem Benutzerprofil gespeichert sind, unterscheiden:
gemäß einer Bestimmung, dass sich die akustischen Eigenschaften der empfangenen Spracheingabe in natürlicher Sprache des Benutzers im Wesentlichen von den akustischen Eigenschaften der empfangenen Spracheingabe in natürlicher Sprache, die in dem Benutzerprofil gespeichert sind, unterscheiden:
Aktualisieren, unter Verwendung der Aktualisierungseinheit, des Benutzerprofils des Benutzers basierend auf den akustischen Eigenschaften der empfangenen Spracheingabe in natürlicher Sprache des Benutzers; und
Speichern, unter Verwendung der Speichereinheit, des aktualisierten Benutzerprofils; und
gemäß einer Bestimmung, dass sich die akustischen Eigenschaften der empfangenen Spracheingabe in natürlicher Sprache des Benutzers im Wesentlichen nicht von den akustischen Eigenschaften der empfangenen Spracheingabe in natürlicher Sprache, die in dem Benutzerprofil gespeichert sind, unterscheiden, Verzichten auf, unter Verwendung der Aktualisierungseinheit, die Aktualisierung des Benutzerprofils basierend auf den akustischen Eigenschaften der empfangenen Spracheingabe in natürlicher Sprache des Benutzers.
- 33. Die elektronische Vorrichtung nach einem der Ansprüche 24 bis 32, wobei die Verarbeitungseinheit ferner eine Übertragungseinheit umfasst; wobei die Verarbeitungseinheit ferner konfiguriert ist zu:
Übertragen, unter Verwendung der Übertragungseinheit, von mindestens einem Benutzerprofil von der elektronischen Vorrichtung.
- 34. Die elektronische Vorrichtung nach einem der Ansprüche 24 bis 33, wobei die Verarbeitungseinheit ferner konfiguriert ist zu:
weiter gemäß einer Bestimmung, dass die Spracheingabe in natürlicher Sprache sowohl einem vom Benutzer anpassbaren lexikalischen Auslöser als auch einer Reihe von mit dem Benutzer in Verbindung stehenden akustischen Eigenschaften entspricht, Empfangen, unter Verwendung der Empfangseinheit, von mindestens einem zusätzlichen Sicherheitsidentifikator; und
Bestimmen, ob der mindestens eine zusätzliche Sicherheitsidentifikator mit dem Benutzer in Verbindung steht:
gemäß einer Bestimmung, dass der mindestens eine zusätzliche Sicherheitsidentifikator mit dem Benutzer in Verbindung steht, Aufrufen, unter Verwendung der Aufrufeinheit, des virtuellen Assistenten;
gemäß einer Bestimmung, dass der mindestens eine zusätzliche Sicherheitsidentifikator nicht mit dem Benutzer in Verbindung steht, Verzichten auf, unter Verwendung der Aufrufeinheit, einen Aufruf des virtuellen Assistenten.
- 35. Die elektronische Vorrichtung nach einem der Ansprüche 24 bis 34, wobei die Verarbeitungseinheit ferner eine Registrierungseinheit umfasst; wobei die Verarbeitungseinheit ferner konfiguriert ist zu:
Registrieren, unter Verwendung der Registrierungseinheit, von mindestens einem Benutzer; wobei die Anweisungen zum Registrieren von mindestens einem Benutzer ferner Anweisungen umfassen, die bei Ausführen durch den einen oder die mehreren Prozessoren der elektronischen Vorrichtung die Vorrichtung veranlassen zu:
Auffordern, unter Verwendung der Auf-/Anforderungseinheit, des Benutzers, ein oder mehrere vorgewählte Wörter zu sagen;
als Reaktion auf die Aufforderung, Empfangen, unter Verwendung der Empfangseinheit, einer Benutzereingabe, die eine Spracheingabe in natürlicher Sprache entsprechend dem einen oder den mehreren vorgewählten Wörtern einschließt.
- 36. Die elektronische Vorrichtung nach einem der Ansprüche 24 bis 35, wobei die Verarbeitungseinheit ferner konfiguriert ist zu:
Registrieren, unter Verwendung der Registrierungseinheit, von mindestens einem Benutzer während der ersten Verwendung der elektronischen Vorrichtung durch den Benutzer.
- 37. Die elektronische Vorrichtung nach den Ansprüchen 24 bis 26, wobei die Verarbeitungseinheit ferner konfiguriert ist zu:
Aktualisieren, unter Verwendung der Aktualisierungseinheit, der Registrierung von mindestens einem Benutzer bei einer erfassten Änderung der akustischen Eigenschaften der Stimme des Benutzers.
- 38. Die elektronische Vorrichtung nach Anspruch 37, wobei die Verarbeitungseinheit ferner konfiguriert ist zu:
Anfordern, unter Verwendung der Auf-/Anforderungseinheit, von mindestens einem zusätzlichen Sicherheitsidentifikator von dem Benutzer, um die Registrierung durchzuführen; und
Bestimmen, unter Verwendung der Bestimmungseinheit, ob der mindestens eine zusätzliche Sicherheitsidentifikator mit dem Benutzer in Verbindung steht:
gemäß einer Bestimmung, dass der mindestens eine zusätzliche Sicherheitsidentifikator mit dem Benutzer in Verbindung steht, Registrieren, unter Verwendung der Registrierungseinheit, des Benutzers;
gemäß einer Bestimmung, dass der mindestens eine zusätzliche Sicherheitsidentifikator nicht mit dem Benutzer in Verbindung steht, Verzichten auf, unter Verwendung der Registrierungseinheit, die Registrierung des Benutzers.
- 39. Die elektronische Vorrichtung nach einem der Ansprüche 24 bis 38, wobei die Verarbeitungseinheit ferner konfiguriert ist zu:
Empfangen, unter Verwendung der Empfangseinheit, einer Spracheingabe in natürlicher Sprache, die einer Reihe von mit dem Benutzer in Verbindung stehenden akustischen Eigenschaften, aber nicht dem vom Benutzer anpassbaren lexikalischen Auslöser, entspricht;
als Reaktion auf den Empfang einer Spracheingabe in natürlicher Sprache, die einem, aber nicht beidem von einer Reihe von mit dem Benutzer in Verbindung stehenden akustischen Eigenschaften und dem vom Benutzer anpassbaren lexikalischen Auslöser entspricht, Auffordern, unter Verwendung der Auf-/Anforderungseinheit, des Benutzers, die Spracheingabe in natürlicher Sprache zu wiederholen; und
Bestimmen, unter Verwendung der Bestimmungseinheit, ob die wiederholte Spracheingabe in natürlicher Sprache sowohl einem vom Benutzer anpassbaren lexikalischen Auslöser als auch einer Reihe von mit dem Benutzer in Verbindung stehenden akustischen Eigenschaften entspricht; wobei
gemäß einer Bestimmung, dass die Spracheingabe in natürlicher Sprache sowohl einem vom Benutzer anpassbaren lexikalischen Auslöser als auch einer Reihe von mit dem Benutzer in Verbindung stehenden akustischen Eigenschaften entspricht:
Aufrufen, unter Verwendung der Aufrufeinheit, eines virtuellen Assistenten; und
Registrieren, unter Verwendung der Registrierungseinheit, der ersten Spracheingabe in natürlicher Sprache des Benutzers; und
gemäß einer Bestimmung, dass entweder die Spracheingabe in natürlicher Sprache einem vom Benutzer anpassbaren lexikalischen Auslöser nicht entspricht oder die Spracheingabe in natürlicher Sprache eine Reihe von mit dem Benutzer in Verbindung stehenden akustischen Eigenschaften nicht hat, Verzichten auf, unter Verwendung der Aufrufeinheit, den Aufruf eines virtuellen Assistenten.
- 40. Die elektronische Vorrichtung nach einem der Ansprüche 24 bis 39, wobei die Verarbeitungseinheit ferner konfiguriert ist, zu bestimmen, ob die Spracheingabe in natürlicher Sprache sowohl einem vom Benutzer anpassbaren lexikalischen Auslöser als auch einer Reihe von mit dem Benutzer in Verbindung stehenden akustischen Eigenschaften entspricht, wobei die Verarbeitungseinheit konfiguriert ist zu:
Speichern, unter Verwendung der Datenspeichereinheit, von einem oder mehreren Supervektoren, die jeweils mit den akustischen Eigenschaften der Stimme eines Benutzers in Verbindung stehen;
Erzeugen, unter Verwendung der Erzeugungseinheit, eines Supervektors basierend auf der Spracheingabe in natürlicher Sprache;
Vergleichen, unter Verwendung der Vergleichseinheit, des erzeugten Supervektors mit einem oder mehreren gespeicherten Supervektoren, um einen Wert zu erzeugen; und
Bestimmen, unter Verwendung der Bestimmungseinheit, ob der Wert einen Schwellenwert überschreitet;
gemäß einer Bestimmung, dass der Wert den Schwellenwert überschreitet, Folgern, unter Verwendung der Folgerungseinheit, dass die Spracheingabe in natürlicher Sprache einer Reihe von mit einem Benutzer in Verbindung stehenden akustischen Eigenschaften entspricht; und
gemäß einer Bestimmung, dass der Wert den Schwellenwert nicht überschreitet, Folgern, unter Verwendung der Folgerungseinheit, dass die Spracheingabe in natürlicher Sprache einer Reihe von mit einem Benutzer in Verbindung stehenden akustischen Eigenschaften nicht entspricht.
- 41. Die elektronische Vorrichtung nach Anspruch 40, wobei die Verarbeitungseinheit ferner konfiguriert ist, den Supervektor zu erzeugen, wobei die Verarbeitungseinheit konfiguriert ist zu:
Erzeugen, unter Verwendung der Erzeugungseinheit, des Supervektors durch Verwenden einer Zustandsrückverfolgung.
-
Die vorstehende Beschreibung wurde zum Zweck der Erklärung unter Bezugnahme auf spezifische Ausführungsformen beschrieben. Jedoch sollen die vorstehenden veranschaulichenden Erörterungen weder erschöpfend sein noch die Erfindung auf die genauen, offenbarten Formen beschränken. Angesichts der vorstehenden Lehren sind viele Abänderungen und Variationen möglich. Die Ausführungsformen wurden gewählt und beschrieben, um die Grundsätze der Techniken und deren praktische Anwendungen am besten zu erklären. Andere Fachleute werden dadurch befähigt, die Techniken und vielfältigen Ausführungsformen mit vielfältigen Modifikationen, wie sie für die bestimmte betrachtete Verwendung geeignet sind, am besten zu nutzen.
-
Obwohl die Offenbarung und Beispiele unter Bezugnahme auf die begleitenden Zeichnungen vollständig beschrieben wurden, ist zu beachten, dass vielfältige Änderungen und Modifikationen für den Fachmann ersichtlich sind. Solche Änderungen und Modifikationen sind als innerhalb des Umfangs der Offenbarung und Beispiele, wie sie durch die Ansprüche definiert sind, eingeschlossen zu verstehen.
-
Wie weiter oben beschrieben, stellt ein bestimmter Aspekt der vorliegenden Technologie das Erfassen und Verwenden von Daten dar, die aus verschiedenen Quellen verfügbar sind, um die Bereitstellung von Inhalt für Benutzer zu verbessern, der für diese von Interesse sein kann. Die vorliegende Offenbarung zieht in Betracht, dass diese erhobenen Daten in manchen Fällen personenbezogene Daten einschließen können, die eine bestimmte Person eindeutig identifizieren oder die verwendet werden können, um diese zu kontaktieren oder zu lokalisieren. Solche personenbezogenen Daten können demografische Daten, standortbasierte Daten, Telefonnummern, E-Mail-Adressen, Postadressen oder jede andere identifizierende Information einschließen.
-
Die vorliegende Offenbarung erkennt, dass die Verwendung solcher personenbezogenen Daten in der vorliegenden Technologie zum Vorteil der Benutzer verwendet werden kann. Zum Beispiel können die personenbezogenen Daten verwendet werden, um zielgerichtete Inhalte zu liefern, die für den Benutzer von größerem Interesse sind. Somit ermöglicht die Verwendung solcher personenbezogenen Daten eine kalkulierte Steuerung des gelieferten Inhalts. Ferner werden von der vorliegenden Offenbarung auch andere Verwendungen personenbezogener Informationen, die für den Benutzer von Vorteil sind, in Betracht gezogen.
-
Die vorliegende Offenbarung zieht ferner in Betracht, dass die Stellen, die für die Erfassung, Analyse, Offenbarung, Übertragung, Speicherung oder andere Verwendung solcher personenbezogenen Daten verantwortlich sind, sich an bewährte Datenschutzvorschriften und/oder Datenschutzpraktiken halten. Insbesondere sollten solche Stellen Datenschutzvorschriften und -praktiken implementieren und konsistent anwenden, die allgemein als solche anerkannt sind, welche Industrie- oder Regierungsanforderungen an ein vertraulichse und sicheres Aufbewahren personenbezogener Daten erfüllen oder übererfüllen. Zum Beispiel sollten personenbezogene Daten von Benutzern für legitime und nachvollziehbare Nutzungen durch die Stelle erfasst werden und nicht außerhalb dieser legitimen Nutzung weitergegeben oder verkauft werden. Ferner sollte eine solche Erfassung nur stattfinden, nachdem die informierte Zustimmung der Benutzer erhalten worden ist.
-
Außerdem würden solche Stellen alle notwendigen Schritte für den Schutz und die Sicherung des Zugangs zu solchen personenbezogenen Daten ergreifen und sicherstellen, dass sich andere mit Zugang zu den personenbezogenen Daten an ihre Datenschutzvorschriften und -abläufe halten. Ferner können solche Stellen sich einer Evaluierung durch Dritte unterwerfen, um bestätigen zu lassen, dass sie sich an gemeinhin anerkannte Datenschutzvorschriften und -praktiken halten.
-
Trotz des Vorhergehenden zieht die vorliegende Offenbarung auch Ausführungsformen in Betracht, in denen Benutzer die Nutzung von oder den Zugang zu personenbezogenen Daten selektiv blockieren. Das heißt, die vorliegende Offenbarung zieht in Betracht, dass Hardware- und/oder Softwareelemente bereitgestellt werden können, um einen Zugang zu solchen personenbezogenen Daten zu verhindern oder zu blockieren. Zum Beispiel kann im Falle von Werbungslieferdiensten die vorliegende Technologie konfiguriert sein, Benutzern zu ermöglichen, während einer Registrierung für Dienste auszuwählen, ob sie einer Teilnahme an der Sammlung von persönlichen Daten zustimmen („opt in“) oder diese ablehnen („opt out“). In einem weiteren Beispiel können Benutzer auswählen, keine Standortinformationen für Lieferdienste gezielter Inhalte bereitzustellen. In noch einem weiteren Beispiel können Benutzer auswählen, keine präzisen Standortinformationen bereitzustellen, jedoch die Übertragung von Standortzoneninformationen zu gestatten.
-
Obwohl die vorliegende Offenbarung die Verwendung personenbezogener Daten zum Implementieren einer oder mehrerer unterschiedlicher, offenbarter Ausführungsformen breit abdeckt, zieht die vorliegende Offenbarung auch in Betracht, dass die unterschiedlichen Ausführungsformen auch ohne die Notwendigkeit für ein Zugreifen auf solche personenbezogene Daten implementiert werden können. Das heißt, die verschiedenen Ausführungsformen der vorliegenden Technologie werden aufgrund des Fehlens aller derartigen personenbezogenen Daten oder eines Abschnitts davon nicht funktionsunfähig.
-
Zum Beispiel können Inhalte durch ein Erschließen von Präferenzen auf Basis nicht-personenbezogener Daten oder einer absoluten Mindestmenge personenbezogener Informationen ausgewählt und den Benutzern geliefert werden, wie beispielsweise auf Basis dessen, dass die Inhalte von der, mit einem Benutzer assoziierten Vorrichtung angefordert werden, auf Basis anderer nicht-personenbezogener Informationen, die für die Inhalte bereitstellenden Dienste verfügbar sind, oder auf Basis allgemein verfügbarer Informationen.