-
Stand der Technik
-
Sprachanfrageanwendungen werden in zunehmendem Maße bei der Steuerung von Computergeräten verwendet. Eine Verwendung einer sprachgestützten Anwendung findet sich bei tragbaren Computergeräten wie Mobiltelefonen, Uhren, Tablet-Computern, am Kopf getragenen Geräten, Virtual- oder Augmented-Reality-Geräten, elektronischen Fahrzeugsystemen (z. B. Automobilsysteme mit Navigations- und Audiofähigkeiten) usw. Viele Sprachanfrageanwendungen haben sich dahingehend entwickelt, dass sie auf Anfragen in natürlicher Sprache reagieren und/oder Wechseldialoge oder Gespräche mit Benutzern führen können. Viele Sprachanfrageanwendungen beinhalten sowohl eine anfängliche Sprache-zu-Text-Umwandlung, die eine Audioaufnahme einer menschlichen Stimme in Text umwandelt, als auch eine Semantikanalyse, die den Text analysiert, um die inhaltliche Bedeutung einer Anfrage des Benutzers zu bestimmen. Aufgrund der bestimmten Bedeutung der gesprochenen Eingabe eines Benutzers kann eine computerbasierte Aktion, wie beispielsweise Durchführen einer Suche, Bereitstellen von Wegbeschreibungen oder anderweitiges Steuern einer oder mehrerer Anwendungen eines Computergeräts durchgeführt werden.
-
Die Verbreitung und/oder Fähigkeiten von Sprachanfrageanwendungen haben zugenommen und können weiterhin zunehmen. Jedoch kann ein Benutzer die von der Sprachanfrageanwendung eines Computergeräts, das durch den Benutzer genutzt wird, gebotenen Fähigkeiten in vielen Fällen eventuell nicht vollständig erfassen.
-
Kurzdarstellung
-
Einige Implementierungen der Technologie dieser Spezifikation können einem Benutzer ein Auffinden verschiedener sprachgestützter Aktionsanfragen ermöglichen, die gesprochen werden können, um computerbasierte Aktionen zu initiieren, z. B. sprachgestützte Aktionsanfragen, die als gesprochene Eingabe für ein Computergerät bereitgestellt werden können, um computerbasierte Aktionen zu initiieren, die sich auf Inhalt beziehen, der angeschaut oder anderweitig durch den Benutzer auf dem Computergerät konsumiert wird.
-
Einige Implementierungen dieser Spezifikation beziehen sich im Allgemeinen auf ein Bestimmen, im Hinblick auf Inhalt, der kürzlich durch den Benutzer auf einem Computergerät angeschaut wurde, von mindestens einer vorgeschlagenen sprachgestützten Aktionsanfrage zur Darstellung über das Computergerät. Die vorgeschlagene sprachgestützte Aktionsanfrage gibt eine Sprachanfrage an, die gesprochen werden kann, um eine Durchführung einer computerbasierten Aktion zu initiieren, die sich auf einen oder mehrere Aspekte des Inhalts bezieht. Einige Implementierungen dieser Technologie beziehen sich zusätzlich oder alternativ im Allgemeinen auf ein Empfangen von mindestens einer vorgeschlagenen sprachgestützten Aktionsanfrage an einem Computergerät sowie ein Bereitstellen der vorgeschlagenen sprachgestützten Aktionsanfrage als einen Vorschlag als Reaktion auf eine Eingabe zur Initiierung der Bereitstellung einer sprachgestützten Anfrage über das Computergerät. Die vorgeschlagene sprachgestützte Aktionsanfrage kann sich auf gegenwärtig und/oder kürzlich auf dem Computergerät sichtbaren Inhalt beziehen und kann basierend auf einer Angabe des Inhalts erzeugt werden, die durch das Computergerät bereitgestellt wird.
-
Bei einigen Implementierungen kann als Reaktion auf eine Benutzereingabe, die eine sprachgestützte Anfrage initiiert, (z. B. Auswählen eines Sprachanfrage-Schnittstellenelements oder Sprechen einer Phrase, die eine sprachgestützte Anfrage initiiert) und basierend darauf, dass auf diese Eingabe eine Angabe eines Bedarfs für eine vorgeschlagene sprachgestützte Aktionsanfrage folgt, eine vorgeschlagene sprachgestützte Aktionsanfrage präsentiert werden. Bei einigen dieser Implementierungen kann eine Angabe des Bedarfs für eine vorgeschlagene sprachgestützte Aktionsanfrage das Fehlen jeglicher gesprochenen Eingabe von einem Benutzer innerhalb eines Schwellenzeitraums im Anschluss an die Benutzereingabe zum Initiieren der sprachgestützten Anfrage beinhalten. Bei einigen Varianten dieser Implementierungen kann zum Beispiel eine vorgeschlagene sprachgestützte Aktionsanfrage als Reaktion darauf, dass ein Benutzer innerhalb von vier Sekunden (oder einem anderen Schwellenzeitraum) nach der Benutzereingabe, die eine sprachgestützte Anfrage initiiert, keinerlei gesprochene Eingabe bereitstellt, dargestellt werden.
-
Bei einigen Implementierungen beinhaltet eine vorgeschlagene sprachgestützte Aktionsanfrage einen Aktionsbegriff und einen Entitätsbegriff, die sich auf eine Einheit mit kürzlich auf dem Computergerät angeschauten Inhalt, wie beispielsweise gegenwärtig auf dem Computergerät angeschauter Inhalt, beziehen. Bei einigen dieser Implementierungen können diese vorgeschlagenen sprachgestützten Aktionsanfragen einen generischen Deskriptor für die Entität, wie beispielsweise ein Pronomen für die Entität, beinhalten. Für die Entität, die beispielsweise im Zusammenhang mit dem Schauspieler Harrison Ford steht, kann die vorgeschlagene sprachgestützte Aktionsanfrage „gib mir mehr Informationen über ihn“ lauten, wobei „ihn“ anstelle von Harrison Ford verwendet wird. Für ein bestimmtes Restaurant kann die vorgeschlagene sprachgestützte Aktionsanfrage beispielsweise auch „navigiere dorthin“, „zeige mir dessen Speisekarte“ usw. lauten, wobei „dorthin“ und „dessen“ anstelle eines bestimmten Namens des Restaurants verwendet werden.
-
Bei einigen Implementierungen wird ein Verfahren bereitgestellt, das ein Empfangen, von einem Computergerät, einer Angabe des kürzlich auf dem Computergerät angeschauten Inhalts umfasst. Das Verfahren umfasst ferner Bestimmen einer Entität, auf die in dem Inhalt Bezug genommen wird, und Bestimmen einer computerbasierten Aktion, die der Entität in einer oder mehreren elektronischen Datenbanken zugeordnet ist. Das Verfahren umfasst ferner Erzeugen einer vorgeschlagenen sprachgestützten Aktionsanfrage, die mindestens einen Aktionsbegriff beinhaltet, der eine Durchführung der computerbasierten Aktion initiiert, und die mindestens einen Entitätsbegriff beinhaltet, der basierend auf der Entität ausgewählt wird. Das Verfahren umfasst ferner Empfangen einer Angabe der Eingabe einer sprachgestützten Anfrage von dem Computergerät und Bereitstellen der vorgeschlagenen sprachgestützten Aktionsanfrage für das Computergerät als Reaktion auf das Empfangen der Angabe der Eingabe der sprachgestützten Anfrage. Die Angabe der Eingabe der sprachgestützten Anfrage gibt einen Empfang der Eingabe des Benutzers über das Computergerät zur Initiierung der Bereitstellung einer sprachgestützten Anfrage über das Computergerät an. Die vorgeschlagene sprachgestützte Aktionsanfrage wird dem Computergerät zur Anzeige als ein Vorschlag für die sprachgestützte Anfrage bereitgestellt.
-
Diese und andere Implementierungen der hierin offenbarten Technologie können optional eines oder mehrere der folgenden Merkmale beinhalten.
-
Bei einigen Implementierungen umfasst das Verfahren ferner ein Bestimmen einer Angabe eines Bedarfs für vorgeschlagene sprachgestützte Aktionsanfragen; und ein Bereitstellen der vorgeschlagenen sprachgestützten Aktionsanfrage zur Anzeige als der Vorschlag basierend auf dem Bestimmen der Angabe des Bedarfs für vorgeschlagene sprachgestützte Aktionsanfragen. Bei einigen dieser Implementierungen basiert das Bestimmen der Angabe des Bedarfs für vorgeschlagene sprachgestützte Aktionsanfragen auf einem Nichtempfangen einer gesprochenen Eingabe von dem Benutzer an dem Computergerät innerhalb eines Schwellenzeitraums nach der Eingabe des Benutzers zum Initiieren der Bereitstellung der sprachgestützten Anfrage.
-
Bei einigen Implementierungen basiert das Bestimmen der Angabe des Bedarfs für vorgeschlagene sprachgestützte Aktionsanfragen auf einem Erfassen von mindestens einem Schwellengeräuschpegel durch das Computergerät im Anschluss an die Eingabe des Benutzers zum Initiieren der Bereitstellung der sprachgestützten Anfrage.
-
Bei einigen Implementierungen umfasst das Empfangen der Angabe des Inhalts ein Empfangen von Begriffen des Inhalts und von Anzeigeeigenschaften für jeden der Begriffe in dem Inhalt, und das Bestimmen der Entität, auf die in dem Inhalt Bezug genommen wird, umfasst ein Bestimmen der Entität basierend auf mindestens einem Begriff der Begriffe und den Anzeigeeigenschaften für den Begriff in dem Inhalt.
-
Bei einigen Implementierungen umfasst das Bestimmen der computerbasierten Aktion, die der Entität zugeordnet ist, ein Bestimmen einer Entitätsklasse und ein Identifizieren einer Zuordnung der computerbasierten Aktion zu der Klasse.
-
Bei einigen Implementierungen umfasst das Erzeugen der sprachgestützten Aktionsanfrage ein Bestimmen eines generischen Deskriptors, der der Entität zugeordnet ist, und ein Verwenden des generischen Deskriptors als den mindestens einen Entitätsbegriff. Bei einigen dieser Implementierungen ist der allgemeine Deskriptor ein Pronomen, das der Entität zugeordnet ist. Bei Varianten dieser Implementierungen, bei denen der allgemeine Deskriptor ein Pronomen ist, das der Entität zugeordnet ist, umfasst das Verfahren ferner ein Identifizieren eines Bildes der Entität und ein Bereitstellen des Bildes der Entität für das Computergerät zur Anzeige als eine Anmerkung für die vorgeschlagene sprachgestützte Aktionsanfrage.
-
Bei einigen Implementierungen umfasst das Verfahren ferner ein Empfangen, von dem Computergerät, einer Angabe der bevorzugten Sprache des Computergeräts. Bei einigen dieser Implementierungen umfasst das Erzeugen der vorgeschlagenen sprachgestützten Aktionsanfrage ein Auswählen des Aktionsbegriffs basierend auf einer Zuordnung des Aktionsbegriffs zu der computerbasierten Aktion, und basierend auf einer Zuordnung des Aktionsbegriffs zu der bevorzugten Sprache. Bei einigen dieser Implementierungen umfasst das Erzeugen der vorgeschlagenen sprachgestützten Aktionsanfrage ein Auswählen des Entitätsbegriffs basierend auf der bevorzugten Sprache.
-
Bei einigen Implementierungen umfasst das Verfahren ferner ein Empfangen von Anwendungsinformationen von dem Computergerät. Die Anwendungsinformationen geben mindestens eines der Folgenden an: eine Anwendung, die auf dem Computergerät installiert ist, und eine Version der Anwendung, die auf dem Computergerät installiert ist. Bei einigen dieser Implementierungen umfasst das Bestimmen der computerbasierten Aktion ein Auswählen der computerbasierten Aktion basierend auf einer Zuordnung der computerbasierten Aktion zu mindestens einem der Folgenden: der Anwendung, die auf dem Computergerät installiert ist, und der Version der Anwendung, die auf dem Computergerät installiert ist.
-
Bei einigen Implementierungen umfasst das Verfahren ferner ein Empfangen einer Angabe einer Anwendung, in der der Inhalt erzeugt wurde. Bei einigen dieser Implementierungen umfasst das Bestimmen der computerbasierten Aktion ein Auswählen der computerbasierten Aktion basierend auf der Angabe der Anwendung, in der der Inhalt erzeugt wurde.
-
Bei einigen Implementierungen veranlasst eine Auswahl der vorgeschlagenen sprachgestützten Aktionsanfrage an dem Computergerät eine erste Anwendung des Computergeräts dazu, mindestens einen Aspekt der computerbasierten Aktion durchzuführen. Bei einigen dieser Implementierungen umfasst das Verfahren ferner Folgendes: Bestimmen einer zusätzlichen computerbasierten Aktion, die der Entität in der mindestens einen elektronischen Datenbank zugeordnet ist; Erzeugen einer zusätzlichen vorgeschlagenen sprachgestützten Aktionsanfrage, die mindestens einen zusätzlichen Aktionsbegriff beinhaltet, der eine Durchführung der zusätzlichen computerbasierten Aktion initiiert, und die mindestens einen Entitätsbegriff beinhaltet; und Bereitstellen der zusätzlichen vorgeschlagenen sprachgestützten Aktionsanfrage für das Computergerät als Reaktion auf ein Empfangen der Angabe der sprachgestützten Anfrage, wobei die zusätzliche vorgeschlagene sprachgestützte Aktionsanfrage dem Computergerät zur Anzeige als ein zusätzlicher Vorschlag für die sprachgestützte Anfrage bereitgestellt wird. Bei einigen dieser Implementierungen veranlasst eine Auswahl der zusätzlichen vorgeschlagenen sprachgestützten Aktionsanfrage an dem Computergerät eine zweite Anwendung des Computergeräts dazu, mindestens einen Aspekt der zusätzlichen computerbasierten Aktion durchzuführen.
-
Bei einigen Implementierungen ist der kürzlich auf dem Computergerät angeschaute Inhalt der Inhalt, der in Bezug auf die Eingabe des Benutzers über das Computergerät zum Initiieren der Bereitstellung der sprachgestützten Anfrage über das Computergerät zuletzt angeschaut wurde. Bei einigen dieser Implementierungen wird die Angabe des Inhalts durch das Computergerät als Reaktion auf die Eingabe des Benutzers über das Computergerät zum Initiieren der Bereitstellung der sprachgestützten Anfrage über das Computergerät bereitgestellt.
-
Bei einigen Implementierungen ist der kürzlich auf dem Computergerät angeschaute Inhalt der Inhalt, der in einer Anwendung des Computergeräts zuletzt angeschaut wurde. Bei einigen dieser Implementierungen ist der in der Anwendung des Computergeräts zuletzt angeschaute Inhalt der Inhalt, der durch das Computergerät gegenwärtig angezeigt wird.
-
Bei einigen Implementierungen ist ein Verfahren bereitgestellt, das ein Empfangen, an einem Computergerät, einer Eingabe zum Initiieren einer Bereitstellung einer sprachgestützten Anfrage über das Computergerät umfasst. Das Verfahren umfasst ferner Identifizieren, durch das Computergerät, von Inhalt, der durch das Computergerät in Bezug auf das Empfangen der Eingabe zuletzt angezeigt wurde. Das Verfahren umfasst ferner ein Bereitstellen einer Angabe des Inhalts und Empfangen einer vorgeschlagenen sprachgestützten Aktionsanfrage, die auf der Angabe des Inhalts basiert, und die mindestens einen Aktionsbegriff und mindestens einen Entitätsbegriff beinhaltet. Der Entitätsbegriff bezieht sich auf eine Entität des Inhalts, und der Aktionsbegriff ist der Entität zugeordnet und initiiert eine Durchführung einer computerbasierten Aktion. Das Verfahren umfasst ferner Bestimmen, dass von dem Benutzer innerhalb eines Schwellenzeitraums in Bezug auf ein Empfangen der Eingabe keine gesprochene Eingabe empfangen wurde; und als Reaktion auf das Bestimmen, dass innerhalb des Schwellenzeitraums keine gesprochene Eingabe empfangen wurde, Bereitstellen der vorgeschlagenen sprachgestützten Aktionsanfrage als einen Vorschlag für die sprachgestützte Anfrage.
-
Diese und andere Implementierungen der hierin offenbarten Technologie können optional eines oder mehrere der folgenden Merkmale beinhalten.
-
Bei einigen Implementierungen umfasst das Verfahren ferner ein Bereitstellen einer Angabe einer bevorzugten Sprache des Computergeräts mit der Angabe des Inhalts. Bei einigen dieser Implementierungen wird die vorgeschlagene sprachgestützte Aktionsanfrage als Reaktion auf ein Bereitstellen der Angabe der bevorzugten Sprache in der bevorzugten Sprache des Computergeräts empfangen.
-
Bei einigen Implementierungen umfasst das Verfahren ferner Identifizieren einer Auswahl der vorgeschlagenen sprachgestützten Aktionsanfrage und Durchführen der computerbasierten Aktion basierend auf dem Identifizieren der Auswahl der vorgeschlagenen sprachgestützten Aktionsanfrage.
-
Zusätzlich beinhalten einige Implementierungen ein Gerät mit einem Speicher und einem oder mehreren Prozessoren, die im Speicher abgelegte Anweisungen ausführen können, wobei die Anweisungen dafür ausgelegt sind, beliebige der zuvor erwähnten Verfahren durchzuführen. Einige Implementierungen beinhalten zudem ein nichtflüchtiges computerlesbares Speichermedium, das Computerbefehle speichert, die von einem oder mehreren Prozessoren ausgeführt werden können, um ein beliebiges der zuvor erwähnten Verfahren durchzuführen.
-
Es sollte verstanden werden, dass sämtliche Kombinationen aus den vorstehenden Konzepten und zusätzlichen Konzepten, die hierin ausführlicher beschrieben werden, als Teil des hierin offenbarten Gegenstands vorgesehen sind. Zum Beispiel sind alle Kombinationen des beanspruchten Gegenstands, der am Ende dieser Offenbarung erscheint, als Teil des hierin offenbarten Gegenstands vorgesehen.
-
Kurzbeschreibung der Zeichnungen
-
1 ist ein Blockdiagramm einer exemplarischen Umgebung, in der die hierin offenbarten Techniken implementiert werden können.
-
2 stellt ein exemplarisches Bestimmen, im Hinblick auf Inhalt, auf den auf einem Computergerät zugegriffen wird, von mindestens einer vorgeschlagenen sprachgestützten Aktionsanfrage zur Darstellung über das Computergerät dar.
-
3 stellt ein exemplarisches Empfangen von mindestens einer vorgeschlagenen sprachgestützten Aktionsanfrage an einem Computergerät sowie ein Bereitstellen der vorgeschlagenen sprachgestützten Aktionsanfrage als einen Vorschlag als Reaktion auf eine Eingabe zum Initiieren der Bereitstellung einer sprachgestützten Anfrage dar.
-
4 ist ein Flussdiagramm, das ein exemplarisches Verfahren zum Bestimmen, im Hinblick auf Inhalt, auf den auf einem Computergerät zugegriffen wird, von mindestens einer vorgeschlagenen sprachgestützten Aktionsanfrage zur Darstellung über das Computergerät abbildet.
-
5 bildet ein exemplarisches Verfahren zum Empfangen von mindestens einer vorgeschlagenen sprachgestützten Aktionsanfrage an einem Computergerät und zum Bereitstellen der vorgeschlagenen sprachgestützten Aktionsanfrage als einen Vorschlag als Reaktion auf eine Eingabe zum Initiieren der Bereitstellung einer sprachgestützten Anfrage ab.
-
6A bildet eine exemplarische grafische Benutzeroberfläche ab, die Inhalt zeigt, der in einer Anwendung eines Computergeräts angezeigt wird.
-
6B bildet eine exemplarische grafische Benutzeroberfläche zur Anzeige vorgeschlagener sprachgestützter Aktionsanfragen, die basierend auf dem Inhalt aus 6A erzeugt werden, ab.
-
6C bildet eine weitere exemplarische grafische Benutzeroberfläche zur Anzeige vorgeschlagener sprachgestützter Aktionsanfragen, die basierend auf dem Inhalt aus 6A erzeugt werden, ab.
-
7A bildet eine weitere exemplarische Benutzeroberfläche, die Inhalt zeigt, der in einer Anwendung eines Computergeräts angezeigt wird, ab.
-
7B bildet eine exemplarische grafische Benutzeroberfläche zur Anzeige vorgeschlagener sprachgestützter Aktionsanfragen, die basierend auf dem Inhalt aus 7A erzeugt werden, ab.
-
8 bildet eine exemplarische Architektur eines Computergeräts ab.
-
Ausführliche Beschreibung
-
Bei den hierin beschriebenen Implementierungen werden Techniken zum Erzeugen von einer oder mehreren vorgeschlagenen sprachgestützten Aktionsanfragen im Hinblick auf Inhalt, auf den auf einem Computergerät zugegriffen wird, offenbart. Zudem werden Techniken offenbart, die einem Benutzer ein Auffinden verschiedener sprachgestützter Aktionsanfragen ermöglichen, die gesprochen werden können, um computerbasierte Aktionen, wie sprachgestützte Aktionsanfragen, zu initiieren, die als gesprochene Eingabe für ein Computergerät bereitgestellt werden können, um computerbasierte Aktionen zu initiieren, die sich auf Inhalt beziehen, auf den der Benutzer auf dem Computergerät gegenwärtig zugreift. Weitere Details bezüglich bestimmter Implementierungen werden nachfolgend behandelt. Es versteht sich jedoch, dass auch andere Implementierungen denkbar sind, und die hierin offenbarten Implementierungen somit nicht exklusiv sind.
-
Als ein Beispiel für die hierin beschriebenen Implementierungen sei angenommen, dass ein Benutzer eine Anwendung auf dem Telefon des Benutzers verwendet, die ausführliche Informationen im Zusammenhang mit ausgewählten Filmen, Schauspielerinnen, Schauspielern usw. bereitstellt. Ferner sei angenommen, dass der Benutzer die Anwendung verwendet hat, um auf Inhalt über den Film Blade Runner, beispielsweise Inhalt, der den Titel des Films, eine Zusammenfassung des Films, Schauspieler in dem Film, usw., beinhaltet, zuzugreifen. Der Benutzer kann über das Telefon eine Sprachanfrage erzeugen, und eine Angabe des Inhalts, der in der Anwendung dargestellt wird, kann durch das Telefon des Benutzers an einen Server gesendet werden. Der Server kann die Angabe des Inhalts nutzen, um zu bestimmen, dass eine dominante Entität des Inhalts die Entität im Zusammenhang mit dem Film „Blade Runner“ ist, kann computerbasierte Aktionen im Zusammenhang mit dem Film bestimmen und kann vorgeschlagene sprachgestützte Aktionsanfragen bestimmen, die eine Durchführung dieser Aktionen für den Film veranlasst. Es können zum Beispiel vorgeschlagene sprachgestützte Aktionsanfragen wie „wie kann ich ihn anschauen“, „schaue ihn an“ und „gib mir mehr Informationen über ihn“ bestimmt werden. Die vorgeschlagenen sprachgestützten Aktionsanfragen können dem Telefon des Benutzers zur Darstellung für den Benutzer bereitgestellt werden. Die vorgeschlagenen sprachgestützten Aktionsanfragen können zum Beispiel in einer oder mehreren Informations“karten“ und/oder in einem „Dropdownmenü“, optional zusammen mit Text wie „Versuchen Sie es mit einem der folgenden Sprachbefehle“, nahe einer grafischen Sprachanfrageoberfläche grafisch angezeigt werden.
-
Bei einigen Implementierungen werden die vorgeschlagenen sprachgestützten Aktionsanfragen dem Benutzer solange nicht über das Telefon des Benutzers dargestellt, bis seit Initiieren der Sprachanfrage mindestens ein Schwellenzeitraum vergangen ist. Bei einigen Implementierungen kann der Benutzer eine der vorgeschlagenen sprachgestützten Aktionsanfragen ohne zu sprechen auswählen (z. B. durch Antippen), um die Anfrage zur Durchführung der dazugehörigen Funktion auszuführen, und/oder der Benutzer kann eine der vorgeschlagenen sprachgestützten Aktionsanfragen sprechen, um die Anfrage zur Durchführung der dazugehörigen Aktion auszuführen.
-
Im Allgemeinen handelt es sich bei einer sprachgestützten Aktionsanfrage, die eine Durchführung einer computerbasierten Aktion initiiert, um eine Anfrage, die einen Aktionsbegriff, der der computerbasierten Aktion zugeordnet ist, und einen Entitätsbegriff, der der Schwerpunkt der Aktion ist, beinhaltet. Bei einigen Implementierungen kann der Aktionsbegriff ein Verb sein und die Entität kann ein Substantiv oder ein Pronomen sein. Bei Ausführung veranlasst eine sprachgestützte Aktionsanfrage eine Durchführung einer computerbasierten Aktion, die dem Aktionsbegriff zugeordnet ist, und veranlasst die Durchführung der computerbasierten Aktion im Hinblick auf die Entität, die dem Entitätsbegriff zugeordnet ist.
-
Eine sprachgestützte Aktionsanfrage „Gib mir mehr Informationen über Blade Runner“ zum Beispiel kann veranlassen, dass eine Suchanfrage, die sich auf „Blade Runner“ bezieht, eingereicht wird und Suchergebnisse infolge der Suchanfrage bereitgestellt werden. Eine sprachgestützte Aktionsanfrage „navigiere zu einem Café“ kann zum Beispiel auch eine Navigationsanwendung veranlassen, dem Benutzer aktive Navigationsanweisungen zu einem nahegelegenen Café bereitzustellen Als noch ein weiteres Beispiel kann eine sprachgestützte Aktionsanfrage „rufe Restaurant A an“ eine Telefonwählanwendung veranlassen, die Telefonnummer von Restaurant A vorauszufüllen und/oder automatisch anzurufen.
-
Bei einigen Ausführungsformen kann eine computerbasierte Aktion einer oder mehreren Computeranwendungen zugeordnet werden, die die Aktion durchführen können, und eine Ausführung einer sprachgestützten Aktionsanfrage, die einen Begriff im Zusammenhang mit der Aktion beinhaltet, kann mindestens eine dieser Computeranwendungen veranlassen, die Aktion automatisch durchzuführen oder eine Option zur Durchführung der Aktion darzustellen. Zum Beispiel kann eine Aktion im Zusammenhang mit „Anrufen“ einer Telefonanwendung zugeordnet sein, eine Aktion im Zusammenhang mit „Reservieren in einem Restaurant“ kann einer Restaurantreservierungsanwendung zugeordnet sein usw. Bei einigen Implementierungen kann eine Sprachanfrageanwendung einen Teil einer Aktion oder die gesamte Aktion durchführen und/oder kann eine sprachgestützte Aktionsanfrage verarbeiten, um eine Durchführung einer Aktion durch eine andere Anwendung zu ermöglichen (z. B. die Anfrage auswerten und sich basierend auf der ausgewerteten Anfrage und einer API der Anwendung mit einer anderen Anwendung verbinden).
-
Unter Bezugnahme auf 1 ist eine exemplarische Umgebung dargestellt, in der die hierin offenbarten Techniken implementiert sein können. Die exemplarische Umgebung beinhaltet ein sprachaktiviertes Computergerät 120, ein System 140 für vorgeschlagene sprachgestützte Aktionsanfragen, eine Entitäten- und Aktionsdatenbank 162 und ein Netzwerk 101. Das Netzwerk 101 kann ein oder mehrere Netzwerke umfassen, wie etwa ein lokales Netzwerk (LAN) oder ein Weitverkehrsnetz (WAN) (z. B. das Internet). Bei einigen Implementierungen ist das sprachgestützte Computergerät 120 ein tragbares Computergerät, wie beispielsweise ein Mobiltelefon, ein Tablet-Computer, ein Laptop-Computer, eine Uhr, ein am Kopf getragenes Gerät (z. B. eine Brille), ein Virtual- oder Augmented-Reality-Gerät, ein anderes tragbares Gerät, ein Audio-/Video-System, ein Navigationssystem, ein Automobil- oder anderes Fahrzeugsystem usw.
-
Bei der Implementierung aus 1 wird die Spracheingabe, die von dem sprachgestützten Gerät 120 empfangen wurde, durch eine Sprachanfrageanwendung 122 verarbeitet, die bei einigen Implementierungen eine Suchanwendung mit Sprachanfragefunktionalität sein kann. Bei einigen Implementierungen kann die Sprachanfrageanwendung 122 eine eigenständige Anwendung sein. Bei einigen Implementierungen kann eine Sprachanfrageanwendung 122 vollständig oder teilweise als ein Teil des Betriebssystems oder der Firmware des Computergeräts 120 integriert sein.
-
Die Sprachanfrageanwendung 122 in der dargestellten Implementierung beinhaltet ein Sprachmodul 123, ein Schnittstellenmodul 124 und ein Render-/Synchronisierungsmodul 125. Das Sprachmodul 123 überwacht Spracheingabe für die Sprachanfrageanwendung 122, koordiniert die Analyse der empfangenen Spracheingabe und koordiniert die Durchführung von einer oder mehreren computerbasierten Aktionen, die auf die empfangene Spracheingabe reagieren. Wie hierin beschrieben koordiniert Sprachmodul 123 ferner die Bereitstellung von Informationen für das System 140 für vorgeschlagene sprachgestützte Aktionsanfragen sowie die Darstellung der von dem System 140 empfangenen vorgeschlagenen sprachgestützten Aktionsanfragen als Vorschlag für eine Sprachanfrage.
-
Schnittstellenmodul 124 stellt eine Schnittstelle mit dem System 140 für vorgeschlagene sprachgestützte Aktionsanfragen und/oder anderen Systemen bereit. Das Schnittstellenmodul 124 stellt dem System 140 für vorgeschlagene sprachgestützte Aktionsanfragen Informationen, wie beispielsweise Angaben des Inhalts, auf welchen auf dem Computergerät 120 zugegriffen wird, Angaben einer bevorzugten Sprache des Computergeräts 120, Informationen im Zusammenhang mit einer oder mehreren Anwendungen 126 des Computergeräts 120 und/oder Angaben sprachgestützter Anfrageeingaben, bereit. Das Schnittstellenmodul 124 empfängt vom System 140 für vorgeschlagene sprachgestützte Aktionsanfragen ferner, als Reaktion auf Informationen, die durch das Schnittstellenmodul 124 bereitgestellt werden, vorgeschlagene sprachgestützte Aktionsanfragen.
-
Das Render-/Synchronisierungsmodul 125 handhabt die Darstellung der vorgeschlagenen sprachgestützten Aktionsanfragen für einen Benutzer, z. B. über eine optische Anzeige, eine Audioausgabe oder einen anderen Weg der Rückmeldung, der für ein bestimmtes sprachgestütztes Gerät geeignet ist. Zusätzlich handhabt das Modul 125 bei einigen Implementierungen auch die Synchronisierung mit anderen Online-Diensten, beispielsweise immer dann, wenn eine Antwort oder Aktion die Daten beeinflusst, die für den Benutzer in anderen Online-Diensten gehalten werden (z. B. bei der sprachgestützten Einrichtung eines Termins, der in einem cloudbasierten Kalender abgelegt wird).
-
Bei einigen Implementierungen können sämtliche oder Aspekte von einem oder mehreren der Module 123–125 kombiniert und/oder in einem anderen Modul implementiert sein. Bei einigen Implementierungen können beispielsweise ein oder mehrere Aspekte von Modul 124 in Modul 123 integriert sein. Obwohl die Module 123–125 in der exemplarischen Umgebung aus 1 als auf dem Computergerät 120 bereitgestellt dargestellt sind, ist dies nicht als Einschränkung zu verstehen. Bei anderen Implementierungen können sämtliche oder Aspekte von einem oder mehreren der Module 123–125 auf dem System 140 für vorgeschlagene sprachgestützte Aktionsanfragen und/oder einem anderen Computergerät implementiert sein. Eine zusätzliche Beschreibung der Module 123–125 wird hierin bereitgestellt (z. B. in der mit 3 im Zusammenhang stehenden Beschreibung).
-
Sprachanfrageanwendung 122 kann sich zur Handhabung der Spracheingabe auf verschiedene Module von Middleware, Framework, Betriebssystem und/oder Firmware stützen, die beispielsweise ein Sprache-zu-Text-Modul 126 und/oder ein Semantikprozessormodul 127 beinhalten. Ein oder mehrere (z. B. alle) Aspekte der Module 126 und/oder 127 können als Teil von Sprachanfrageanwendung 122 und/oder in einem anderen Computergerät, wie System 140, implementiert sein. Das Sprache-zu-Text-Modul 126 empfängt eine Audioaufnahme der Spracheingabe (z. B. in Form von digitalen Audiodaten) und wandelt die digitalen Audiodaten in ein(e) oder mehrere Wörter oder Phrasen um (hierin auch Zeichen genannt). Bei einigen Implementierungen ist das Sprache-zu-Text-Modul 126 auch ein Streaming-Modul, sodass eine Spracheingabe Zeichen für Zeichen und in Echtzeit oder nahezu Echtzeit zu Text umgewandelt wird, sodass Zeichen vom Modul 126 im Prinzip zeitgleich mit der Sprache des Benutzers und somit vor dem Aussprechen einer vollständigen gesprochenen Anfrage durch den Benutzer ausgegeben werden können. Das Sprache-zu-Text-Modul 126 kann sich auch auf ein oder mehrere Akustik- und/oder Sprachmodelle stützen, die zusammen eine Beziehung zwischen einem Audiosignal und phonetischen Einheiten in einer Sprache einher mit Wortfolgen in der Sprache formen. Bei einigen Implementierungen kann ein einzelnes Modell verwendet werden, während bei anderen Implementierungen mehrere Modelle unterstützt werden können, um z. B. mehrere Sprachen, mehrere Sprecher usw. zu unterstützen.
-
Während das Sprache-zu-Text-Modul 126 Sprache zu Text umwandelt, versucht das Semantikprozessormodul 127, die Semantik oder Bedeutung des Textes, der durch das Sprache-zu-Text-Modul 126 ausgegeben wird, zu erkennen, um eine passende Antwort zu formulieren. Das Semantikprozessormodul 127 kann sich beispielsweise auf ein oder mehrere Grammatikmodelle stützen, um Aktionstext bestimmten computerbasierten Aktionen zuzuordnen und Entitätstext und/oder anderen Text, der die Durchführung solcher Aktionen einschränkt, zu identifizieren. Bei einigen Implementierungen kann ein einzelnes Modell verwendet werden, während bei anderen Implementierungen mehrere Modelle unterstützt werden können, um z. B. unterschiedliche computerbasierte Aktionen oder computerbasierte Aktionsdomänen (d. h. Sammlungen verwandter Aktionen wie im Zusammenhang mit Kommunikation, Suche, Ton/Bild, Kalender, Gerätesteuerung usw.) zu unterstützen.
-
Zum Beispiel kann ein Grammatikmodell (das auf Computergerät 120 und/oder entfernten Computergeräten gespeichert ist) computerbasierte Aktionen Aktionsbegriffen sprachgestützter Aktionsanfragen zuordnen, wie etwa den Aktionsbegriffen „gib mir mehr Informationen über“, „Wegbeschreibung zu“, „navigiere zu“, „spiele ab“, „rufe an“, „schreibe E-Mail“, „kontaktiere“ usw. Zum Beispiel kann der Aktionsbegriff „gib mir mehr Informationen“ einer Suchanfrage und Darstellung einer Suchanfrageaktion zugeordnet werden; der Aktionsbegriff „spiele ab“ kann einer über eine oder mehrere der Anwendungen 126 durchgeführte Videoabspielaktion zugeordnet werden; und der Aktionsbegriff „rufe an“ kann einer über eine oder mehrere der Anwendungen 126 durchgeführte Anrufaktion zugeordnet werden.
-
Die Grammatikmodelle und/oder anderen Modelle, auf die sich Semantikprozessor 127 stützt, können verschiedene Regeln zum Initiieren der Durchführung einer computerbasierten Aktionen basierend auf Text, der durch das Sprache-zu-Text-Modul 126 eingegeben wird, integrieren. Bei einigen Implementierungen können Aktionen beispielsweise als Funktionen F definiert werden, sodass F(iT) = AU, wobei T die Art der Eingabeinterpretation darstellt und U die Art der Ausgabeaktion darstellt. F kann daher eine Vielzahl von Eingabepaaren (T, U) beinhalten, die einander zugeordnet sind, z. B. als f(it) = au, wobei it eine Protoeingabevariable der Art t ist und au ein modulares Ausgabeargument oder ein Parameter der Art u ist. Es versteht sich, dass einige Parameter direkt als Spracheingabe empfangen werden können, während andere Parameter in anderer Weise bestimmt werden können, z. B. basierend auf einer Angabe von zuletzt auf dem Computergerät angeschautem Inhalt, einem geografischen Standort des Computergeräts usw. Sagt ein Benutzer beispielsweise „erinnere mich daran, John eine E-Mail zu schreiben, wenn ich auf der Arbeit ankomme“, so kann der Entitätstext „Arbeit“ ohne zusätzliche Informationen wie der Zuordnung einer bestimmten Adresse als Arbeitsstandort durch den Benutzer nicht zur Identifizierung eines bestimmten Standorts verwendet werden. Sagt ein Benutzer beispielsweise „gib mir zusätzliche Informationen darüber“, so kann der Entitätstext „darüber“ ohne zusätzliche Informationen, wie einer dominierenden Entität von gegenwärtig auf dem Computergerät 120 angeschautem Inhalt, nicht zur Identifizierung einer bestimmten Entität verwendet werden. Bei einigen Implementierungen kann das System 140 für vorgeschlagene sprachgestützte Aktionsanfragen und/oder ein anderes System über komplementäre Funktionalität für die Handhabung einer Spracheingabe verfügen, z. B. unter Verwendung eines sprachgestützten Anfrageprozessors, der sich auf verschiedene Akustik-/Sprach-, Grammatik- und/oder Aktionsmodelle stützt. Bei anderen Implementierungen wird jedoch möglicherweise keine komplementäre Funktionalität verwendet.
-
Bei einigen Implementierungen können die computerbasierten Aktionen, die von dem Semantikprozessormodul 127 initiiert werden, von den Regeln abhängig sein, die dem Semantikprozessormodul 127 zur Verfügung stehen. Die computerbasierten Aktionen, die von dem Semantikprozessormodul 127 initiiert werden, können von den Anwendungen 126, die auf dem Computergerät 120 installiert sein, und/oder den Versionen der Anwendungen 126, die auf dem Computergerät 120 installiert sind, abhängig sein. Zum Beispiel können bestimmte computerbasierte Aktionen nur von bestimmten Anwendungen 126 und/oder bestimmten Versionen von Anwendungen 126 durchführbar sein. Eine „anrufen“-Aktion kann beispielsweise nur dann durchführbar sein, wenn die Anwendungen 126 eine Telefonanwendung einschließen.
-
Das System 140 für vorgeschlagene sprachgestützte Aktionsanfragen kann bei einigen Implementierungen als ein cloudbasierter Dienst umgesetzt sein, der eine Cloud-Infrastruktur einsetzt, z. B. unter Verwendung von einer Serverfarm oder Clustern von Hochleistungscomputern, auf denen für die Handhabung großer Mengen von Anfragen von Computergeräten mehrerer Benutzer geeignete Software läuft. Das System 140 für vorgeschlagene sprachgestützte Aktionsanfragen ist in der Lage, eine oder mehrere Datenbanken wie Entitäts- und Aktionsdatenbank 162 zum Auffinden von Informationen zum Erzeugen vorgeschlagener sprachgestützter Aktionsanfragen abzufragen. Das System 140 für vorgeschlagene sprachgestützte Aktionsanfragen beinhaltet ein Entitätsbestimmungsmodul 142, ein Aktionsbestimmungsmodul 144 und ein Modul 145 zur Erzeugung vorgeschlagener sprachgestützter Aktionsanfragen.
-
Das System 140 für vorgeschlagene sprachgestützte Aktionsanfragen empfängt von dem Computergerät 120 eine Angabe des Inhalts, auf den kürzlich auf dem Computergerät 120 zugegriffen wurde (z. B. der von dem Computergerät 120 gegenwärtig angezeigte Inhalt). Auf den Inhalt kann in einer der Anwendungen 126 auf dem Computergerät 120 zugegriffen werden. Die Anwendungen 126 können eine oder mehrere einer Vielzahl von Anwendungen beinhalten, die auf dem Computergerät 120 installiert sein können, wie z. B. eine Webbrowseranwendung, eine persönliche Assistenzanwendung, eine Geschäftsbewertungsanwendung, eine Social-Networking-Anwendung, eine Musikanwendung, eine Videoanwendung und/oder eine Anwendung, die eine Oberfläche zum Durchsuchen von Informationen über Filme, Fernsehsendungen und andere Medien bereitstellt. Bei einigen Implementierungen kann die Angabe des Inhalts Angaben umfassen, die sich speziell auf das „Darstellungsfenster“ des Inhalts auf dem Computergerät 120 beziehen. Zum Beispiel kann Text des Inhalts und ein Bildschirmfoto des Inhalts nur für den Abschnitt des Inhalts bereitgestellt werden, der auf dem Computergerät 120 aktiv angezeigt wird. Bei einigen Implementierungen kann die Angabe des Inhalts zusätzlich und/oder alternativ Angaben für Abschnitt des Inhalts umfassen, der auf dem Computergerät 120 nicht aktiv angezeigt wird. Zum Beispiel können Metadaten, die nicht aktiv angezeigt werden, bereitgestellt werden, und/oder es kann Text von anderen Abschnitten des Inhalts, die nicht aktiv angezeigt werden, bereitgestellt werden. Zum Beispiel kann Text bereitgestellt werden, der nicht angezeigt wird aber durch Hoch- und Runterscrollen angezeigt werden würde. Das Entitätsbestimmungsmodul 142 bestimmt basierend auf der Angabe des Inhalts eine oder mehrere Entitäten, auf die in dem Inhalt Bezug genommen wird. Eine Entität kann beispielsweise mit einem von einer Person, einem Standort von Interesse, einer Adresse, einer Telefonnummer usw. verknüpft sein. Bei einigen Implementierungen umfasst das Bestimmen der Entität ein Identifizieren von Text im Zusammenhang mit der Entität basierend auf Position, Format, Häufigkeit, und/oder einer anderen Eigenschaft des Textes in dem Inhalt. Bei einigen Implementierungen kann das Entitätsbestimmungsmodul 142 mehrere Entitäten wie eine in dem Inhalt dominierende Entität und eine oder mehrere zusätzliche wichtige Entitäten in dem Inhalt identifizieren.
-
Als ein Beispiel kann die Angabe des Inhalts Text, Metadaten, Bilder, auf Bilder angewendete Tags und/oder Bildschirmfotos des zuletzt auf dem Computergerät angeschauten Inhalts umfassen, und das Entitätsbestimmungsmodul 142 kann basierend auf solchen Informationen eine Entität bestimmen, auf die in dem Inhalt Bezug genommen wird. Beispielsweise kann die Angabe des Inhalts Text und Eigenschaften des Textes in dem Inhalt beinhalten, und das Entitätsbestimmungsmodul 142 kann eine mit dem Inhalt im Zusammenhang stehende dominierende Entität basierend auf Position, Format, Häufigkeit, und/oder einer anderen Eigenschaft des Textes in dem Inhalt bestimmen. Eine im Inhalt dominierende Identität, wie hierin verwendet, bezieht sich auf die Entität in dem Inhalt, die, basierend auf einer Analyse einer oder mehrerer Eigenschaften dieses Inhalts, in diesem Inhalt am häufigsten vorkommt. Für Inhalt über den Film Blade Runner zum Beispiel kann der Text „Blade Runner“ basierend darauf, dass er in größerer Schrift als anderer Text, in einer prominenteren Position als anderer Text und/oder häufiger als anderer Text erscheint, als die dominierende Entität identifiziert werden. Es kann der Text „Blade Runner“ selbst als die dominierende Entität verwendet werden oder das Entitätsbestimmungsmodul 142 kann eine bestimmte Entität basierend auf dem Text und mit Bezug auf eine oder mehrere Datenbanken, wie beispielsweise einem Wissensgraphen, auflösen.
-
Als weiteres Beispiel kann die Angabe des Inhalts eine URL oder eine andere Kennung des Inhalts umfassen, und das Entitätsbestimmungsmodul 142 kann die Kennung verwenden, um eine Entität zu bestimmen, auf die in dem Inhalt Bezug genommen wird. Zum Beispiel kann das Entitätsbestimmungsmodul 142 auf eine Datenbank zugreifen, die Inhaltskennungen einer oder mehreren Entitäten zuordnet, auf die in dem Inhalt Bezug genommen wird (z. B. eine Datenbank, die für jedes einer Vielzahl von Dokumenten wie beispielsweise öffentlich zugänglichen Dokumenten eine dominierende Entität und/oder andere Entitäten definiert). Das Entitätsbestimmungsmodul 142 kann die Kennung beispielsweise auch zum Auffinden des Inhalts verwenden und kann den Inhalt direkt analysieren, um eine Entität zu bestimmen, auf die in dem Inhalt Bezug genommen wird. Ist die Kennung beispielsweise eine URL, so kann das Entitätsbestimmungsmodul 142 die URL abrufen und die Entität basierend auf Inhalt bestimmen, der durch Abrufen der URL bereitgestellt wird.
-
Als ein noch anderes Beispiel für das Bestimmen einer Entität basierend auf einer Angabe des Inhalts kann das Entitätsbestimmungsmodul 142 die Entität basierend auf Text in dem Inhalt bestimmen, der eine oder mehrere spezifische Eigenschaften aufweist. Das Entitätsbestimmungsmodul 142 kann basierend auf einem oder mehreren regulären Ausdrücken, die Text identifizieren, der dem Format „XXX-XXX-XXXX“ oder (XXX) XXX XXX entspricht, zum Beispiel eine Telefonnummer als Entität bestimmen. Das Entitätsbestimmungsmodul 142 kann zum Beispiel basierend auf Text, der mit Metadaten verbunden ist, die ihn als eine Adresse definieren, und/oder Text, der in Form einer Adresse vorliegt (z. B. Stadt, Bundesland, Postleitzahl), auch eine Adresse als Entität bestimmen. Das Entitätsbestimmungsmodul 142 kann bestimmten Text zum Beispiel auch basierend darauf, dass er in einer „Whitelist“ für Entitäten steht, einem „Standort von Interesse“ zugeordnet ist, einer „berühmten Person“ zugeordnet ist, und/oder basierend auf anderen Eigenschaften des Textes als Entität bestimmen.
-
Das Aktionsbestimmungsmodul 144 bestimmt eine oder mehrere computerbasierte Aktionen, die für die Entität (oder Entitäten), die durch das Entitätsbestimmungsmodul 142 bestimmt wird (oder werden), durchgeführt werden können. Bei einigen Implementierungen bestimmt das Aktionsbestimmungsmodul 144 die computerbasierten Aktionen basierend auf den computerbasierten Aktionen, die der Entität in einer oder mehreren Datenbanken wie der Entitäts- und Aktionsdatenbank 162 zugeordnet werden. Die Entitäts- und Aktionsdatenbank 162 beinhaltet eine Zuordnung von jeder der Vielzahl von Entitäten zu einer oder mehreren computerbasierten Aktionen im Zusammenhang mit der Entität. Eine Aktion kann einer Entität direkt zugeordnet sein und/oder der Entität über eine Zuordnung mit einer Entitätsklasse indirekt zugeordnet sein. Die Aktion des Wählens einer Telefonnummer kann beispielsweise jeder einer Vielzahl bestimmter Telefonnummern zugeordnet werden und/oder der Klasse von Telefonnummern im Allgemeinen zugeordnet werden. Ebenso kann beispielsweise die Aktion zum Abspielen eines Films jedem einer Vielzahl von Filmen, Filmen im Allgemeinen und/oder nur Filmen, die für eine Wiedergabe auf Anforderung über eine der auf dem Computergerät 120 installierten Anwendungen zur Verfügung stehen, zugeordnet werden.
-
Bei Implementierungen, bei denen mehrere Aktionen für eine Entität identifiziert werden, kann das Aktionsbestimmungsmodul 144 die identifizierten Aktionen optional basierend auf einem oder mehreren Faktoren einstufen und/oder filtern, wie zum Beispiel: Stärken der Assoziation der Aktionen mit der Entität und/oder einer Entitätsklasse; historische Beliebtheit der Aktionen im Allgemeinen; historische Beliebtheit der Aktionen für die Anwendung, aus der der Inhalt stammt; ob die Aktionen über eine oder mehrere auf dem Computergerät 120 installierte Anwendungen 126 ausgeführt werden können; historische Beliebtheit der Durchführung der Aktionen über eine oder mehrere auf dem Computergerät 120 installierte Anwendungen 126; usw.
-
Die Entitäts- und Aktionsdatenbank 162 kann für eine Zuordnung einer Aktion zu einer Entität oder Entitätsklasse beispielsweise eine Assoziationsstärke für diese Zuordnung beinhalten. Die Stärke der Assoziation einer Aktion zu einer Entität kann optional auf einer Analyse zurückliegender sprachgestützter Suchanfragen basieren. Eine computerbasierte Aktion der Bereitstellung einer Navigation kann zum Beispiel stärker mit einer Restaurant-Entitätsklasse verbunden sein als eine computerbasierte Aktion des Anrufens, wenn 1.000 analysierte zurückliegende sprachgestützte Suchanfragen im Allgemeinen dem Format „navigiere zu [Restaurant]“ entsprechen (wobei „[Restaurant]“ eine Referenz auf eine Entität angibt, die ein Element der Klasse Restaurants ist), aber nur 100 analysierte zurückliegende sprachgestützte Suchanfragen im Allgemeinen dem Format „rufe [Restaurant] an“ entsprechen.
-
Die historische Beliebtheit einer computerbasierten Aktion kann im Allgemeinen auf einer Häufigkeit des Auftretens von Begriffen, die die computerbasierte Aktion initiieren, in zurückliegenden sprachgestützten Suchanfragen basieren. Die historische Beliebtheit einer computerbasierten Aktion für eine Anwendung, aus der der Inhalt stammt, kann auf einer Häufigkeit des Auftretens von Begriffen, die die computerbasierte Aktion initiieren, in zurückliegenden sprachgestützten Suchanfragen basieren, die während der Verwendung der Anwendung gestellt wurden und/oder die innerhalb eines Schwellenzeitraum der Verwendung der Anwendung gestellt wurden. Eine Analyse zurückliegender Suchanfragen kann zum Beispiel angeben, dass eine computerbasierte Aktion des Anrufens für eine Webbrowser-Anwendung weniger beliebt ist als für eine Anwendung, die Kundenbewertungen von Geschäften bereitstellt.
-
Bei einigen Implementierungen kann die computerbasierte Aktion, die durch das Aktionsbestimmungsmodul 144 identifiziert wird, eine Computerkennung der Aktion sein, die selbst kein Aktionsbegriff ist, der bei Bereitstellung als Sprachanfrage eine Durchführung der Aktion initiieren würde. Die Computerkennung der Aktion des Bereitstellens aktiver Navigationsanweisungen kann zum Beispiel eine Alpha- und/oder eine numerische Kennung wie „ID_NAVIGATE“, „42“ und/oder „AES“ sein.
-
Das Modul 145 zur Erzeugung vorgeschlagener sprachgestützter Aktionsanfragen erzeugt eine oder mehrere vorgeschlagene sprachgestützte Aktionsanfragen, die jeweils auf einem oder mehreren Aktionsbegriffen zur Durchführung von einer oder mehreren computerbasierten Aktionen, die von dem Aktionsbestimmungsmodul 144 bestimmt werden, und einem oder mehreren Entitätsbegriffen, die auf die von dem Entitätsbestimmungsmodul 142 bestimmte Entität Bezug nehmen, basieren.
-
Bei einigen Implementierungen bestimmt das Modul 145 zur Erzeugung vorgeschlagener sprachgestützter Aktionsanfragen die Aktionsbegriffe für eine computerbasierte Aktion basierend auf einer vom Computergerät 120 angegebenen bevorzugten Sprache. Eine Computerkennung der computerbasierten Aktion kann zum Beispiel durch das Aktionsbestimmungsmodul 144 bestimmt werden, und ein erster Begriff kann als der Aktionsbegriff identifiziert werden, wenn das Computergerät 120 Englisch als bevorzugte Sprache aufweist, wohingegen ein zweiter Begriff als der Aktionsbegriff identifiziert werden würde, wenn das Computergerät 120 Deutsch als bevorzugte Sprache aufweist. Die Entitäts- und Aktionsdatenbank 162 und/oder eine andere Datenbank kann, für eine gegebene computerbasierte Aktion, Aktionsbegriffe beinhalten, die dieser Aktion zugeordnet werden. Jeder der Aktionsbegriffe kann ferner einer bevorzugten Sprache des Aktionsbegriffs zugeordnet werden. Das Aktionsbestimmungsmodul 144 kann einen Aktionsbegriff für eine computerbasierte Aktion im Hinblick auf eine bevorzugte Sprache basierend auf der Identifizierung einer Zuordnung des Aktionsbegriffs zu der computerbasierten Aktion und ferner auf der Zuordnung des Aktionsbegriffs zu einer bevorzugten Sprache auswählen.
-
Das Modul 145 zur Erzeugung vorgeschlagener sprachgestützter Aktionsanfragen bestimmt ferner einen oder mehrere Begriffe, die Bezug auf die identifizierte Entität nehmen. Handelt es sich bei der identifizierten Entität selbst zum Beispiel um einen Begriff, so kann dieser Begriff verwendet werden. Ist „Restaurant A“ zum Beispiel die Entität, so kann „Restaurant A“ als der Entitätsbegriff verwendet werden. Bei einigen Implementierungen kann ein Pronomen oder ein anderer generischer Deskriptor der Entität verwendet werden. Ist „Restaurant A“ zum Beispiel die Entität, so kann das Modul 145 zur Erzeugung vorgeschlagener sprachgestützter Aktionsanfragen „es“ oder „dort(hin)“ als Entitätsbegriff bestimmen. Ist zum Beispiel eine berühmte männliche Person die Entität, so kann das Modul 145 zur Erzeugung vorgeschlagener sprachgestützter Aktionsanfragen auch „er“ oder „ihn“ als Entitätsbegriff bestimmen. Der jeweilige generische Deskriptor kann basierend auf einer Zuordnung des generischen Deskriptors zu der Entität und/oder einer Entitätsklasse ausgewählt werden. Optional kann der jeweilige generische Deskriptor ferner auch so ausgewählt werden, dass grammatische Kohärenz mit dem Aktionsbegriff bereitgestellt wird. Der Entitätsbegriff „dort(hin)“ kann zum Beispiel für einen Aktionsbegriff „navigieren“ ausgewählt werden, während „darüber“ für Aktionsbegriffe „gib mir mehr Informationen“ ausgewählt werden kann.
-
Bei einigen Implementierungen bestimmt das Modul 145 zur Erzeugung vorgeschlagener sprachgestützter Aktionsanfragen den Aktionsbegriff basierend auf einer vom Computergerät 120 angegebenen bevorzugten Sprache. Als Entitätsbegriff kann zum Beispiel ein erster generischer Deskriptor identifiziert werden, wenn das Computergerät 120 Englisch als bevorzugte Sprache aufweist, wohingegen ein zweiter generische Deskriptor als Entitätsbegriff identifiziert werden würde, wenn das Computergerät 120 Deutsch als eine bevorzugte Sprache aufweist.
-
Das System 140 für vorgeschlagene sprachgestützte Aktionsanfragen stellt der Sprachanfrageanwendung 122 die eine oder die mehreren erzeugten vorgeschlagenen sprachgestützten Aktionsanfragen zur Darstellung durch die Sprachanfrageanwendung 122 als eine vorgeschlagene sprachgestützte Aktionsanfrage für eine sprachgestützte Anfrage bereit. Bei Implementierungen, bei denen mehrere vorgeschlagene sprachgestützte Aktionsanfragen bereitgestellt werden, können diese optional mit Einstufungsinformationen bereitgestellt werden, die zum Beispiel auf der Einstufung der in Bezug auf Aktionsbestimmungsmodul 144 beschriebenen Aktionen basieren. Bei einigen dieser Implementierungen kann das Computergerät 120 basierend auf den bereitgestellten Einstufungsinformationen eine Anzeigereihenfolge der vorgeschlagenen sprachgestützten Aktionsanfragen bestimmen. Die Einstufungsinformationen können optional eine Reihenfolge sein, in der die vorgeschlagenen sprachgestützten Aktionsanfragen übertragen werden oder in einem Datenpaket eingeschlossen sind.
-
Beinhalten die bereitgestellten vorgeschlagenen sprachgestützten Aktionsanfragen einen generischen Deskriptor der Entität (z. B. ihn), so kann das System 140 für vorgeschlagene sprachgestützte Aktionsanfragen die vorgeschlagenen sprachgestützten Aktionsanfragen optional mit Metadaten bereitstellen, die die Entität genauer identifizieren. Die Metadaten können von dem Computergerät 120 verwendet werden, um den generischen Deskriptor beim Durchführen der Aktion durch die genauere Identifikation der Entität zu „ersetzen“. Bei anderen Implementierungen kann die genauere Identifikation der Entität, basierend auf einer Analyse des Inhalts, auf den zuletzt zugegriffen wurde, am Computergerät 120 (z. B durch Semantikprozessormodul 127) durchgeführt werden.
-
Bei einigen Implementierungen stellt das System 140 für vorgeschlagene sprachgestützte Aktionsanfragen der Sprachanfrageanwendung 122 die eine oder die mehreren erzeugten vorgeschlagenen sprachgestützten Aktionsanfragen als Reaktion auf ein Empfangen einer Angabe der Eingabe der sprachgestützten Anfrage von dem Computergerät 120 bereit. Die Angabe der Eingabe der sprachgestützten Anfrage gibt einen Empfang einer Eingabe des Benutzers über das Computergerät 120 an, um die Bereitstellung einer sprachgestützten Anfrage über das Computergerät 120 zu initiieren. Bei einigen Implementierungen ist die Angabe der Eingabe der sprachgestützten Anfrage das Empfangen der Angabe des Inhalts von dem Computergerät 120 und/oder das Empfangen anderer Informationen in Kombination mit der Angabe des Inhalts. Bei einigen Implementierungen kann das Computergerät 120 die Angabe des Inhalts zum Beispiel nur als Reaktion auf eine Eingabe des Benutzers, die die Bereitstellung einer sprachgestützten Anfrage initiiert, bereitstellen. Bei einigen Implementierungen kann die Angabe der Eingabe der sprachgestützten Anfrage getrennt von der Angabe des Inhalts empfangen werden. Bei einigen Implementierungen kann das Computergerät 120 zum Beispiel die Angabe des Inhalts bereitstellen, anschließend die Angabe der Eingabe der sprachgestützten Anfrage aber nur dann bereitstellen, nachdem eine vorbestimmte Zeitdauer seit Empfangen der sprachgestützten Angabe ohne Empfangen einer beliebigen Eingabe von dem Benutzer vergangen ist.
-
Bei einigen Implementierungen ist das System 140 für vorgeschlagene sprachgestützte Aktionsanfragen möglicherweise nicht auf das Erzeugen vorgeschlagener sprachgestützter Aktionsanfragen beschränkt. Das System 140 für vorgeschlagene sprachgestützte Aktionsanfragen kann zum Beispiel auch in der Lage sein, die Gesamtheit oder Aspekte des Parsens eingereichter sprachgestützter Aktionsanfragen zu handhaben, angemessene computerbasierte Aktionen für eingereichte sprachgestützte Aktionsanfragen zu bestimmen, eine oder mehrere Anwendungen von Computergerät 120 anzuweisen, bestimmte computerbasierte Aktionen für eingereichte sprachgestützte Aktionsanfragen durchzuführen, und/oder eine oder mehrere computerbasierte Aktionen für eingereichte sprachgestützte Aktionsanfragen durchzuführen. Obwohl das System 140 für vorgeschlagene sprachgestützte Aktionsanfragen und Computergerät 120 in 1 als separate Komponenten dargestellt sind, können bei anderen Implementierungen ein oder mehrere Aspekte des sprachgestützten Aktionsanfragesystems 140 auf Computergerät 120, oder umgekehrt, implementiert sein.
-
2 bildet ein exemplarisches Bestimmen, im Hinblick auf Inhalt, auf den auf dem Computergerät 120 zugegriffen wird, von mindestens einer vorgeschlagenen sprachgestützten Aktionsanfrage 155 zur Anzeige über das Computergerät 120, ab. In 2 wird eine Angabe des Inhalts 131 von dem Computergerät 120 dem Entitätsbestimmungsmodul 142 bereitgestellt. Die Angabe des Inhalts 131 kann zum Beispiel Text und Eigenschaften des Textes für Inhalt beinhalten, der unmittelbar vor der Eingabe eines Benutzers über das Computergerät 120 zum Initiieren der Bereitstellung einer sprachgestützten Anfrage auf dem Computergerät 120 angeschaut wird. Zum Beispiel kann der Benutzer den Inhalt in einer Anwendung des Computergeräts 120 anschauen, und der Benutzer kann eine Eingabe zum Initiieren der Bereitstellung einer sprachgestützten Anfrage bereitstellen, während die Anwendung noch aktiv ist und den Inhalt anzeigt, und der Inhalt kann als Reaktion auf die Eingabe bereitgestellt werden. Als ein weiteres Beispiel kann der Benutzer den Inhalt in einer ersten Anwendung des Computergeräts 120 anschauen, kann eine Eingabe zum Initiieren der Bereitstellung einer sprachgestützten Anfrage bereitstellen, die dazu führt, dass, durch eine zweite Anwendung (oder das Betriebssystem) des Computergeräts 120, zusätzlicher Inhalt angezeigt wird (der den Inhalt der ersten Anwendung entweder ersetzt oder „über“ Abschnitten des Inhalts der ersten Anwendung bereitgestellt wird), und der von der ersten Anwendung kürzlich angezeigte Inhalt kann als Reaktion auf die Eingabe bereitgestellt werden. Als noch ein weiteres Beispiel kann das Computergerät 120 eine Angabe von gegenwärtig angeschautem Inhalt bereitstellen, ohne zuvor eine Eingabe eines Benutzers zum Initiieren der Bereitstellung einer sprachgestützten Anfrage zu erfordern.
-
Das Entitätsbestimmungsmodul 142 bestimmt mindestens eine Entität 151 basierend auf der Angabe des Inhalts 131. Das Entitätsbestimmungsmodul 142 kann zum Beispiel eine mit dem Inhalt im Zusammenhang stehende dominierende Entität basierend auf Position, Format, Häufigkeit, und/oder einer anderen Eigenschaft des Textes in dem Inhalt bestimmen. Bestimmter Text kann zum Beispiel basierend darauf, dass er im Titel des Inhalts, in größerer Schrift als anderer Text in dem Inhalt, in einer prominenteren Position als anderer Text in dem Inhalt und häufiger als anderer Text in dem Inhalt erscheint, als die dominierende Entität bestimmt werden.
-
Das Entitätsbestimmungsmodul 142 stellt die bestimmte Entität 151 dem Aktionsbestimmungsmodul 144 bereit. Das Aktionsbestimmungsmodul 144 bestimmt die mindestens eine computerbasierte Aktion 152, die der Entität 151 in der Entitäts- und Aktionsdatenbank 162 zugeordnet ist. Das Aktionsbestimmungsmodul 144 kann die Aktion 152 basierend auf einer direkten Zuordnung der Entität 151 zu der Aktion 152, oder basierend auf einer Zuordnung der Aktion 152 zu einer Entitätsklasse 151 und einer Zuordnung der Entitätsklasse 151 zu der Aktion 152 bestimmen.
-
Anwendungsinformationen 132 von dem Computergerät 120 können auch dem Aktionsbestimmungsmodul 144 bereitgestellt werden. Bei einigen Implementierungen kann das Aktionsbestimmungsmodul 144 computerbasierte Aktionen basierend auf den Anwendungsinformationen 132 computerbasierten Aktionen einstufen und/oder filtern. Die Anwendungsinformationen 132 können zum Beispiel eine oder mehrere auf dem Computergerät installierte Anwendungen (z. B. Anwendungen 126) und/oder Versionen für eine oder mehrere auf dem Computergerät installierte Anwendungen (z. B. Anwendung 126 und/oder 122) angeben. Die Entitäts- und Aktionsdatenbank 162 kann für jede einer Vielzahl von computerbasierten Aktionen zum Beispiel Daten beinhalten, die eine oder mehrere Anwendungen und/oder Anwendungsversionen (für Anwendungen 126 und/oder 122) definieren, über welche die computerbasierte Aktion durchgeführt werden kann. Das Aktionsbestimmungsmodul 144 kann diese Daten verwenden, um basierend auf den Anwendungsinformationen 132 eine oder mehrere computerbasierte Aktionen herauszufiltern, die mit dem Computergerät 120 nicht kompatibel sind.
-
Als weiteres Beispiel können die Anwendungsinformationen 132 angeben, welche Anwendung den durch die Angabe des Inhalts 131 angegebenen Inhalt, erzeugt hat. Die Entitäts- und Aktionsdatenbank 162 kann die historische Beliebtheit einer oder mehrerer computerbasierter Kandidatenaktionen in Bezug auf die Anwendung, aus der der Inhalt stammt, beinhalten (z. B. basierend auf einer Häufigkeit des Auftretens von Begriffen, die die computerbasierte Aktion initiieren, in zurückliegenden sprachgestützten Suchanfragen, die während der Verwendung der Anwendung gestellt wurden und/oder die innerhalb eines Schwellenzeitraums der Verwendung der Anwendung gestellt wurde). Das Aktionsbestimmungsmodul 144 kann diese historische Beliebtheit verwenden, um die Aktion 152 auszuwählen und/oder die Aktion 152 im Vergleich mit anderen ausgewählten Aktionen einzustufen.
-
Das Aktionsbestimmungsmodul 144 stellt die Entität 151 und die Aktion 152 (optional mit anderen bestimmten Entitäten und/oder Aktionen) für das Modul 145 zur Erzeugung vorgeschlagener sprachgestützter Aktionsanfragen bereit. Das Modul 145 zur Erzeugung vorgeschlagener sprachgestützter Aktionsanfragen erzeugt eine vorgeschlagene sprachgestützte Aktionsanfrage 155 basierend auf einem oder mehreren Aktionsbegriffen zur Durchführung der Aktion 151 und einem oder mehreren Entitätsbegriffen, die auf die Entität 152 Bezug nehmen. Bei einigen Implementierungen kann dem Modul 145 zur Erzeugung vorgeschlagener sprachgestützter Aktionsanfragen auch eine bevorzugte Sprache 133 von dem Computergerät 120 bereitgestellt werden. Bei einigen dieser Implementierungen bestimmt das Modul 145 zur Erzeugung vorgeschlagener sprachgestützter Aktionsanfragen die Aktionsbegriffe für eine computerbasierte Aktion und/oder die Entitätsbegriffe basierend auf einer von dem Computergerät 120 angegebenen bevorzugten Sprache.
-
Das Modul 145 zur Erzeugung vorgeschlagener sprachgestützter Aktionsanfragen stellt die vorgeschlagene sprachgestützte Aktionsanfrage 155 für das Computergerät 120 bereit. Die vorgeschlagene sprachgestützte Aktionsanfrage 155 kann von dem Computergerät 120 zum Beispiel als Textfolge bereitgestellt werden, die den einen oder die mehreren Aktionsbegriffe und den einen oder die mehreren Entitätsbegriffe beinhaltet. Bei einigen Implementierungen stellt das Modul 145 zur Erzeugung vorgeschlagener sprachgestützter Aktionsanfragen dem Computergerät 120 die eine oder die mehreren erzeugten vorgeschlagenen sprachgestützten Aktionsanfragen als Reaktion auf ein Empfangen einer Angabe der Eingabe der sprachgestützten Anfrage von dem Computergerät 120 bereit. Bei einigen dieser Implementierungen ist die Angabe der Eingabe der sprachgestützten Anfrage das Empfangen der Angabe des Inhalts 131 von dem Computergerät 120 und/oder das Empfangen von anderen Informationen in Kombination mit der Angabe des Inhalts 131.
-
Bei einigen Implementierungen stellt das Modul 145 zur Erzeugung vorgeschlagener sprachgestützter Aktionsanfragen mit der vorgeschlagenen sprachgestützten Aktionsanfrage 155 Anmerkungsdaten bereit. Die Anmerkungsdaten sind Daten, die mit der vorgeschlagenen sprachgestützten Aktionsanfrage 155 angezeigt werden können, um dabei zu helfen, die vorgeschlagene sprachgestützte Aktionsanfrage 155 zu verdeutlichen, stellen aber die vorgeschlagene Anfrage selbst nicht dar. Wird als der Entitätsbegriff der vorgeschlagenen sprachgestützten Aktionsanfrage 155 beispielsweise ein Pronomen verwendet, so können auch ein Bild der Entität und/oder ein spezifischerer Alias zur Anzeige bereitgestellt werden, die von der sprachgestützten Aktionsanfrage 155 visuell abgesetzt sind (z. B. in Klammern bereitgestellt und/oder positionsmäßig versetzt).
-
3 stellt ein Beispiel für das Empfangen von mindestens einer vorgeschlagenen sprachgestützten Aktionsanfrage an einem Computergerät und das Bereitstellen der vorgeschlagenen sprachgestützten Aktionsanfrage als ein Vorschlag als Reaktion auf eine Eingabe zum Initiieren der Bereitstellung einer sprachgestützten Anfrage dar. An Sprachmodul 123 wird eine Eingabe 110 zur Angabe der sprachgestützten Anfrage empfangen. Die Eingabe 110 zur Angabe der sprachgestützten Anfrage kann zum Beispiel beinhalten, dass ein Benutzer ein Sprachanfragesymbol über eine grafische Benutzeroberfläche auswählt, dass der Benutzer eine Phrase spricht, die eine sprachgestützte Anfrage initiiert (z. B. „OK Computer“), dass der Benutzer ein berührungsempfindliches Hardwareelement des Computergeräts 120 oder in Kommunikation mit dem Computergerät 120 betätigt (z. B. eine mechanische Taste, eine kapazitive Schaltfläche) und/oder im Sichtfeld einer Kamera oder eines anderen Sensors des Computergeräts 120 eine Geste ausführt.
-
Das Sprachmodul 123 wartet als Reaktion auf die Eingabe 110 zum Initiieren einer sprachgestützten Anfrage auf Spracheingaben und sendet außerdem einen Befehl 135 zur Anforderung sprachgestützter Aktionsanfragen an Schnittstellenmodul 124. Als Reaktion auf den Befehl 135 stellt das Schnittstellenmodul 124 dem System 140 für vorgeschlagene sprachgestützte Aktionsanfragen Informationen 130, wie beispielsweise eine Angabe 131 des Inhalts, auf den über eine der Anwendungen 126 zuletzt zugegriffen wurde, Angaben einer bevorzugten Sprache des Computergeräts 120, Informationen im Zusammenhang mit einer oder mehreren Anwendungen 126 des Computergeräts 120 und/oder Angaben sprachgestützter Anfrageeingaben, bereit. Die Angabe des Inhalts 131 kann zum Beispiel der Inhalt sein, der von einer der Anwendungen 126 in Bezug auf ein Empfangen der Eingabe 110 zum Initiieren einer sprachgestützten Anfrage zuletzt angezeigt wurde.
-
Das Schnittstellenmodul 124 empfängt vom System 140 für vorgeschlagene sprachgestützte Aktionsanfragen ferner eine vorgeschlagene sprachgestützte Aktionsanfrage 155. Die vorgeschlagene sprachgestützte Aktionsanfrage 155 erfolgt als Reaktion auf die vom dem Schnittstellenmodul 124 bereitgestellten Informationen 130 und kann optional auf einem oder mehreren Aspekten der Informationen 130 basieren. Das Schnittstellenmodul 124 stellt dem Render-/Synchronisierungsmodul 125 die vorgeschlagene sprachgestützte Aktionsanfrage 155 bereit.
-
Das Sprachmodul 123 stellt dem Render-/Synchronisierungsmodul 125 einen Befehl 137 für vorgeschlagene sprachgestützte Aktionsanfragen bereit. Als Reaktion auf den Befehl 137 stellt das Render-/Synchronisierungsmodul 125 die vorgeschlagene sprachgestützte Aktionsanfrage 155 als einen Vorschlag für die Sprachanfrage, die durch die Eingabe 110 zum Initiieren einer sprachgestützten Anfrage initiiert wird, dar (z. B. indem es diese anzeigt). Bei einigen Implementierungen stellt das Sprachmodul 123 den Befehl 137 basierend darauf bereit, dass der Eingabe 110 zum Initiieren einer sprachgestützten Anfrage eine Angabe des Bedarfs für eine vorgeschlagene sprachgestützte Aktionsanfrage folgt. Bei einigen dieser Implementierungen kann eine Angabe des Bedarfs für eine vorgeschlagene sprachgestützte Aktionsanfrage das Fehlen jeglicher gesprochenen Eingabe von einem Benutzer innerhalb eines Schwellenzeitraums im Anschluss an die Benutzereingabe zum Initiieren der sprachgestützten Anfrage beinhalten. Bei einigen Varianten dieser Implementierungen kann eine vorgeschlagene sprachgestützte Aktionsanfrage als Reaktion darauf, dass ein Benutzer innerhalb von vier Sekunden (oder einem anderen Schwellenzeitraum) nach der Benutzereingabe, die eine sprachgestützte Anfrage initiiert, keinerlei gesprochene Eingabe bereitstellt, dargestellt werden. Bei einigen Implementierungen kann der Befehl 137 zusätzlich und/oder alternativ als Reaktion auf andere Angaben des Bedarfs für eine vorgeschlagene sprachgestützte Aktionsanfrage bereitgestellt werden. Zu den anderen Angaben können beispielsweise eine oder mehrere Phrasen, die durch den Benutzer gesprochen werden können (z. B. „sag mir, was ich tun kann“), eine Auswahl eines Benutzeroberflächenelements, das zum Anfordern der vorgeschlagenen sprachgestützten Aktionsanfragen bereitgestellt ist, und/oder ein Erfassen von mindestens einem Schwellengeräuschpegel im Anschluss an die Eingabe 110 zum Initiieren einer sprachgestützten Anfrage (z. B. Ermitteln, dass die Umgebung „zu laut“ ist, um eine gesprochene Eingabe ordnungsgemäß zu verarbeiten) gehören. Bei einigen Implementierungen kann das Render-/Synchronisierungsmodul 125 die vorgeschlagene sprachgestützte Aktionsanfrage ohne Empfangen des Befehls 137 als einen Vorschlag für die Sprachanfrage bereitstellen.
-
4 ist ein Flussdiagramm, das ein exemplarisches Verfahren 400 des Bestimmens, im Hinblick auf Inhalt, auf den auf einem Computergerät zugegriffen wird, von mindestens einer vorgeschlagenen sprachgestützten Aktionsanfrage zur Darstellung über das Computergerät darstellt. Zur Vereinfachung werden die Operationen des Flussdiagramms unter Bezugnahme auf ein System, das die Operationen durchführt, beschrieben. Dieses System kann verschiedene Komponenten verschiedener Computersysteme beinhalten, wie beispielsweise das System 140 für vorgeschlagene sprachgestützte Aktionsanfragen. Darüber hinaus, obgleich Operationen des Verfahrens 400 in einer bestimmten Reihenfolge gezeigt werden, ist dies nicht einschränkend zu verstehen. Eine oder mehrere Operationen können in eine neue Reihenfolge gesetzt, ausgelassen oder hinzugefügt werden.
-
Bei Block 402 empfängt das System eine Angabe des kürzlich auf einem Computergerät angeschauten Inhalts. Die Angabe des Inhalts kann Text und Eigenschaften des Textes für Inhalt beinhalten, der gegenwärtig von dem Computergerät angezeigt wird. Bei einigen Implementierungen kann die Angabe des Inhalts durch das Computergerät als Reaktion auf eine Eingabe eines Benutzers über das Computergerät zum Initiieren der Bereitstellung einer sprachgestützten Anfrage bereitgestellt werden.
-
Bei Block 404 bestimmt das System basierend auf der Angabe des Inhalts eine Entität, auf die in dem Inhalt Bezug genommen wird. Beinhaltet die Angabe des Inhalts Text und Eigenschaften des Textes, kann das System zum Beispiel eine dominierende Entität im Zusammenhang mit dem Inhalt basierend auf Position, Format, Häufigkeit, und/oder einer anderen Eigenschaft des Textes in dem Inhalt bestimmen. Bestimmter Text kann zum Beispiel basierend darauf, dass er im Titel des Inhalts, in größerer Schrift als anderer Text in dem Inhalt, in einer prominenteren Position als anderer Text in dem Inhalt und häufiger als anderer Text in dem Inhalt erscheint, als die dominierende Entität bestimmt werden.
-
Bei Block 406 bestimmt das System eine computerbasierte Aktion, die der Entität zugeordnet werden kann. Das System kann zum Beispiel mindestens eine computerbasierte Aktion bestimmen, die der Entität in der Entitäts- und Aktionsdatenbank 162 zugeordnet wird. Bei einigen Implementierungen kann das System computerbasierte Aktionen basierend auf einem oder mehreren Faktoren einstufen und/oder filtern, wie zum Beispiel: Stärken der Assoziation der Aktionen mit der Entität und/oder einer Entitätsklasse; historische Beliebtheit der Aktionen im Allgemeinen; historische Beliebtheit der Aktionen für die Anwendung, aus der der Inhalt stammt; ob die Aktionen über eine oder mehrere auf dem Computergerät installierte Anwendungen durchgeführt werden können; historische Beliebtheit der Durchführung der Aktionen über eine oder mehrere auf dem Computergerät installierte Anwendungen; usw.
-
Bei Block 408 erzeugt das System eine vorgeschlagene sprachgestützte Aktionsanfrage, die einen Aktionsbegriff, der der computerbasierten Aktion zugeordnet ist, und einen Entitätsbegriff, der der Entität zugeordnet ist, beinhaltet. Bei einigen dieser Implementierungen bestimmt das System die Aktionsbegriffe und/oder die Entitätsbegriffe basierend auf einer bevorzugten Sprache, die durch Informationen angegeben wird, die von dem Computergerät empfangen werden.
-
Bei Block 410 stellt das System die vorgeschlagene sprachgestützte Aktionsanfrage zur Anzeige als ein Vorschlag für eine Sprachanfrage bereit. Bei einigen Implementierungen stellt das System die eine oder die mehreren erzeugten vorgeschlagenen sprachgestützten Aktionsanfragen dem Computergerät zur Anzeige als ein Vorschlag für eine Sprachanfrage als Reaktion auf ein Empfangen einer Angabe der Eingabe der sprachgestützten Anfrage von dem Computergerät bereit. Bei einigen dieser Implementierungen ist die Angabe der Eingabe der sprachgestützten Anfrage das Empfangen der Angabe des Inhalts bei Block 402 und/oder das Empfangen anderer Informationen von dem Computergerät.
-
5 stellt ein exemplarisches Verfahren des Empfangens von mindestens einer vorgeschlagenen sprachgestützten Aktionsanfrage an einem Computergerät und Bereitstellens der vorgeschlagenen sprachgestützten Aktionsanfrage als einen Vorschlag als Reaktion auf eine Eingabe zum Initiieren der Bereitstellung einer sprachgestützten Anfrage, dar. Zur Vereinfachung werden die Operationen des Flussdiagramms unter Bezugnahme auf ein System, das die Operationen durchführt, beschrieben. Dieses System kann verschiedene Komponenten verschiedener Computersysteme beinhalten, wie beispielsweise Sprachanfrageanwendung 122 von Computergerät 120. Obgleich die Operationen des Verfahrens 500 in einer spezifischen Reihenfolge dargestellt sind, ist dies darüber hinaus nicht als Einschränkung zu verstehen. Eine oder mehrere Operationen können in eine neue Reihenfolge gesetzt, ausgelassen oder hinzugefügt werden.
-
Bei Block 502 empfängt das System eine Eingabe zum Initiieren der Bereitstellung einer sprachgestützten Anfrage. Die Eingabe kann zum Beispiel beinhalten, dass ein Benutzer ein Sprachanfragesymbol über eine grafische Benutzeroberfläche auswählt, dass der Benutzer eine Phrase spricht, die eine sprachgestützte Anfrage initiiert (z. B. „OK Computer“), dass der Benutzer ein berührungsempfindliches Hardwareelement betätigt und/oder eine Geste ausführt.
-
Bei Block 504 identifiziert das System Inhalt, der in Bezug auf die Eingabe bei Block 502 zuletzt angezeigt wurde. Das System kann zum Beispiel eine Angabe des Inhalts oder Text, Metadaten, Bilder, auf Bilder angewendete Tags und/oder Bildschirmfotos des Inhalts umfassen, der von dem Computergerät angezeigt wird, wenn, oder kurz bevor, die Eingabe bei Block 502 empfangen wird.
-
Bei Block 506 stellt das System eine Angabe des bei Block 504 identifizierten Inhalts bereit. Zum Beispiel kann das System die Angabe des Inhalts für das System 140 für vorgeschlagene sprachgestützte Aktionsanfragen bereitstellen.
-
Bei Block 508 empfängt das System eine vorgeschlagene sprachgestützte Aktionsanfrage, die auf der Angabe von Block 506 basiert und einen Aktionsbegriff und einen Entitätsbegriff beinhaltet. Als Reaktion auf ein Bereitstellen der Angabe des Inhalts (und optional anderer Informationen) bei Block 506 kann das System zum Beispiel eine vorgeschlagene sprachgestützte Aktionsanfrage von dem System 140 für sprachgestützte Aktionsanfragen empfangen.
-
Bei Block 518 bestimmt das System anschließend, ob eine Spracheingabe innerhalb eines Schwellenzeitraums empfangen wurde. Lautet die Antwort ja, fährt das System mit Block 520 fort und führt eine computerbasierte Aktion basierend auf der empfangenen Spracheingabe durch. Lautet die Antwort nein, fährt das System mit Schritt 510 fort und stellt die vorgeschlagene sprachgestützte Aktionsanfrage als einen Vorschlag für die sprachgestützte Anfrage bereit.
-
Bei Schritt 512 bestimmt das System, ob die vorgeschlagene sprachgestützte Aktionsanfrage ausgewählt wurde. Lautet die Antwort ja, fährt das System mit Block 514 fort und führt eine computerbasierte Aktion basierend auf der vorgeschlagenen sprachgestützten Aktionsanfrage durch. Lautet die Antwort nein, fährt das System mit Block 516 fort und führt eine weitere Aktion aus. Stellt der Benutzer zum Beispiel eine Eingabe zum Entfernen der vorgeschlagenen sprachgestützten Aktionsanfrage aus der Anzeige bereit, lautet die Antwort nein, und das System reagiert auf die bei Block 516 bereitgestellte Eingabe.
-
6A bildet ein Beispiel einer grafischen Benutzeroberfläche 680A ab, die in einer Anwendung eines Computergeräts angezeigten Inhalt zeigt. Die grafische Benutzeroberfläche 680A kann zum Beispiel auf einem Mobiltelefon-Computergerät angezeigt werden. Der Inhalt wird in der grafischen Benutzeroberfläche 680A durch eine Anwendung des Computergeräts, wie eine Anwendung, die Informationen und Bewertungen für Restaurants bereitstellt, angezeigt. Der jeweilige Inhalt richtet sich auf Informationen und Bewertungen für ein fiktives Restaurant „Up and Down Burger Bar“. Die grafische Benutzeroberfläche 680A beinhaltet außerdem grafische Oberflächenelemente 681, 682 und 683, die bei Betätigung jeweils bewirken, dass eine oder mehrere Aktionen durchgeführt werden. Es können zusätzliche und/oder alternative grafische und/oder andere (z. B. mechanische) Oberflächenelemente bereitgestellt werden.
-
6B bildet eine exemplarische grafische Benutzeroberfläche 680B zum Anzeigen vorgeschlagener sprachgestützter Aktionsanfragen 685A–C, die basierend auf dem Inhalt aus 6A erzeugt werden, ab. 6B bildet einen exemplarischen Benutzer ab, der, während ihm die Anzeige aus 6A bereitgestellt wird, eine Eingabe zum Initiieren einer sprachgestützten Anfrage bereitstellt. Die Eingabe zum Initiieren einer sprachgestützten Anfrage kann zum Beispiel Sprechen von einem oder mehreren Begriffen oder Auswählen eines Oberflächenelements (z. B. Betätigen eines oder mehrerer der Elemente 681–683 in einer bestimmten Weise oder Betätigen eines mechanischen Oberflächenelements) sein. Das Bereitstellen der Eingabe zum Initiieren einer sprachgestützten Anfrage führt dazu, dass eine Sprachanfrageoberfläche 684 mit dem Inhalt aus 6A angezeigt wird. Die Sprachanfrageoberfläche 684 beinhaltet ein Symbol eines Mikrofons zum Angeben einer Sprachanfrage und beinhaltet außerdem den Text „Warte ...“, um dem Benutzer anzuzeigen, dass das Computergerät auf eine gesprochene Eingabe von dem Benutzer wartet. Die vorgeschlagenen sprachgestützten Aktionsanfragen 685A–C werden unter der Sprachanfrageoberfläche 684 als individuelle „Karten“ angezeigt, die von dem Benutzer ausgewählt (z. B. „angetippt“ oder gesprochen) werden können. Die vorgeschlagenen sprachgestützten Aktionsanfragen 685A–C basieren auf dem Inhalt aus 6A und können zum Beispiel, wie hierin in Bezug auf System 140 für vorgeschlagene sprachgestützte Aktionsanfragen, 2 und/oder 4 beschrieben, bestimmt werden. Zum Beispiel kann ein Bildschirmfoto und/oder Text aus 6A als die Angabe des Inhalts bereitgestellt, und die vorgeschlagenen sprachgestützten Aktionsanfragen 685A–C als Reaktion darauf empfangen worden sein. Es sei angemerkt, dass die vorgeschlagene sprachgestützte Aktionsanfrage 685A mit einer Anmerkung „[Up and Down Burger Bar]“ versehen ist, um den Benutzer anzuzeigen, dass das Sprechen von „Navigiere dorthin“ oder Antippen der vorgeschlagenen sprachgestützten Aktionsanfrage 685A zu einer computerbasierten Aktion des Bereitstellens von Navigationsanweisungen zur „Up and down Burger Bar“ führt.
-
Ein Großteil des Inhalts aus 6A wird in 6B immer noch angezeigt, wobei der Rest des Inhalts unter der Sprachanfrageoberfläche 684 und den sprachgestützten Aktionsanfragen 685A–C „versteckt“ ist. Bei einigen Implementierungen können die Sprachanfrageoberfläche 684 und/oder eine oder mehrere der sprachgestützten Aktionsanfragen 685A–C zumindest teilweise transparent sein, um ein Anschauen des Inhalts zu ermöglichen der in 6B „versteckt“ ist.
-
Wie hierin beschrieben werden die vorgeschlagenen sprachgestützten Aktionsanfragen 685A–C bei einigen Implementierungen in der grafischen Benutzeroberfläche 680B möglicherweise nicht vor einer Identifizierung eines Bedarfs für eine vorgeschlagene sprachgestützte Aktionsanfrage im Anschluss an die Eingabe zum Initiieren einer sprachgestützten Anfrage angezeigt. Zum Beispiel wird die Sprachanfrageoberfläche 684 anfangs eventuell ohne die vorgeschlagenen sprachgestützten Aktionsanfragen 685A–C angezeigt, und die vorgeschlagenen sprachgestützten Aktionsanfragen 685A–C werden nur dann angezeigt, wenn ein Fehlen jeglicher gesprochenen Eingabe von einem Benutzer innerhalb eines Schwellenzeitraums im Anschluss an die Benutzereingabe zum Initiieren der sprachgestützten Anfrage bestimmt wird. Zum Beispiel wird die Sprachanfrageoberfläche 684 anfangs eventuell ohne die vorgeschlagenen sprachgestützten Aktionsanfragen 685A–C angezeigt, und die vorgeschlagenen sprachgestützten Aktionsanfragen 685A–C werden nur dann angezeigt, wenn eine spezielle gesprochene Eingabe, die Vorschläge anfordert, empfangen wird und/oder bestimmt wird, dass ein Umgebungsgeräuschpegel höher als ein Schwellengeräuschpegel zum Empfangen und korrekten Parsen einer gesprochenen Eingabe ist.
-
6C stellt eine exemplarische Benutzeroberfläche 680C zum Anzeigen der vorgeschlagenen sprachgestützten Aktionsanfragen „Navigiere dorthin“, „Nimm eine Reservierungen dort vor“ und „Gib mir mehr Informationen darüber“, die basierend auf dem Inhalt aus 6A erzeugt werden. Die vorgeschlagenen sprachgestützten Aktionsanfragen aus 6C werden basierend auf dem Inhalt aus 6A in einer Karte 687 angezeigt und können bestimmt werden, wie hierin zum Beispiel in Bezug auf das System 140 für vorgeschlagene sprachgestützte Aktionsanfragen, 2 und/oder 4 beschrieben. Zum Beispiel kann ein Bildschirmfoto und/oder Text aus 6A als die Angabe des Inhalts bereitgestellt, und die vorgeschlagenen sprachgestützten Aktionsanfragen als Reaktion darauf empfangen worden sein. Die Karte 687 wird in einem Oberflächenelement 686 angezeigt, das (z. B. basierend auf der Phrase „AUF BILDSCHIRM“) zeigt, dass die Karte 687 (und optional andere nicht angezeigte Karten) insbesondere auf den Inhalt aus 6A (der in 6C weiterhin teilweise angezeigt wird) zugeschnitten ist.
-
6C stellt einen exemplarischen Benutzer dar, der, während ihm die Anzeige aus 6A bereitgestellt wird, eine Anforderung für vorgeschlagene sprachgestützte Anfragevorschläge, die im Zusammenhang mit Inhalt auf dem Bildschirm stehen, bereitstellt (ohne notwendigerweise eine Eingabe zum Initiieren einer sprachgestützten Anfrage bereitzustellen). Die Anforderung für vorgeschlagene sprachgestützte Anfragevorschläge kann zum Beispiel ein „Berühren“ eines grafischen Benutzeroberflächenelements 682 und „Wischen nach oben“ und/oder Sprechen von einem oder mehreren Begriffen sein. Das Bereitstellen der Anforderung für vorgeschlagene sprachgestützte Anfragevorschläge führt dazu, dass das Oberflächenelement 686 und die Karte 687 über Teilen des Inhalts aus 6A angezeigt werden. Eine Auswahl von einer der vorgeschlagenen sprachgestützten Aktionsanfragen aus 6C (durch „Antippen“ oder Sprechen (optional nach einer Eingabe zum Initiieren einer sprachgestützten Anfrage)) führt dazu, dass das Computergerät die Durchführung einer computerbasierten Aktion basierend auf der ausgewählten sprachgestützten Aktionsanfrage initiiert.
-
Ein Großteil des Inhalts aus 6A wird in 6C noch immer angezeigt, wobei der Rest des Inhalts unter dem Oberflächenelement 686 und der Karte 687 „versteckt“ ist. Bei einigen Implementierungen können das Oberflächenelement 686 und/oder die Karte 687 zumindest teilweise transparent sein, um ein Anschauen des Inhalts zu ermöglichen, der in 6C „versteckt“ ist.
-
7A stellt eine exemplarische grafische Benutzeroberfläche 780A dar, die Inhalt zeigt, der in einer Anwendung eines Computergeräts angezeigt wird. Die grafische Benutzeroberfläche 780A kann zum Beispiel in einer Instant-Messaging-Anwendung eines Mobiltelefon-Computergeräts angezeigt werden. Der jeweilige Inhalt ist eine Konversation zwischen einem Benutzer des Mobiltelefons und einem anderen Benutzer namens „Bob“. Bob hat den Benutzer gefragt, ob er zum Abendessen die Up and Down Burger Bar aufsuchen möchte. Die grafische Benutzeroberfläche 780A beinhaltet grafische Oberflächenelemente 681, 682 und 683, die, wenn betätigt, jeweils dazu führen können, dass eine oder mehrere Aktionen durchgeführt werden.
-
7B bildet eine exemplarische grafische Benutzeroberfläche 780B zum Anzeigen vorgeschlagener sprachgestützter Aktionsanfragen 785A und 785C ab, die basierend auf dem Inhalt aus 7A erzeugt werden. 7B stellt einen exemplarischen Benutzer dar, der, während ihm die Anzeige aus 7A bereitgestellt wird, eine Eingabe zum Initiieren einer sprachgestützten Anfrage bereitstellt. Die Eingabe zum Initiieren einer sprachgestützten Anfrage kann zum Beispiel Sprechen eines oder mehrerer Begriffe oder Auswählen eines Oberflächenelements (z. B. Betätigen eines oder mehrerer der Elemente 681–683 in einer bestimmten Weise oder Betätigen eines mechanischen Oberflächenelements) sein. Das Bereitstellen der Eingabe zum Initiieren einer sprachgestützten Anfrage führt dazu, dass eine Sprachanfrageoberfläche 784 mit dem Inhalt aus 7A angezeigt wird. Die Sprachanfrageoberfläche 784 beinhaltet ein Symbol eines Mikrofons zum Angeben einer Sprachanfrage und beinhaltet außerdem den Text „Warte ...“, um dem Benutzer anzuzeigen, dass das Computergerät auf eine gesprochene Eingabe von dem Benutzer wartet. Die vorgeschlagenen sprachgestützten Aktionsanfragen 785A und 785B werden unter der Sprachanfrageoberfläche 784 als individuelle „Karten“ angezeigt, die von dem Benutzer ausgewählt (z. B. „angetippt“ oder gesprochen) werden können. Die vorgeschlagenen sprachgestützten Aktionsanfragen 785A und 785B basieren auf dem Inhalt aus 7A und können, zum Beispiel wie hierin in Bezug auf System 140 für vorgeschlagene sprachgestützte Aktionsanfragen, 2 und/oder 4 beschrieben, bestimmt werden. Zum Beispiel kann ein Bildschirmfoto und/oder Text aus 7A als die Angabe des Inhalts bereitgestellt, und die vorgeschlagenen sprachgestützten Aktionsanfragen 785A und 785B als Reaktion darauf empfangen worden sein. Es sei angemerkt, dass die vorgeschlagene sprachgestützte Aktionsanfrage 785A mit „19 Uhr“ als vorgeschlagene Uhrzeit zum Vornehmen einer Reservierung bereitgestellt wird. Die vorgeschlagene Uhrzeit kann basierend auf dem Kontext aus 7A („Abendbrot“), einer Historie zurückliegender Reservierungen des Benutzers und/oder zufällig, um dem Benutzer anzuzeigen, dass eine gesprochene Eingabe verwendet werden kann, um eine Reservierung für die „Up and Down Burger Bar“ zu einer gewünschten Uhrzeit vorzunehmen, bestimmt werden.
-
8 ist ein Blockdiagramm eines exemplarischen Computergeräts 810, das optional verwendet werden kann, um einen oder mehrere Aspekte der hierin beschriebenen Techniken durchzuführen. Bei einigen Implementierungen kann das Computergerät 120 und/oder das System 140 für vorgeschlagene sprachgestützte Aktionsanfragen eine oder mehrere Komponenten des exemplarischen Computergeräts 810 umfassen.
-
Computergerät 810 beinhaltet in der Regel mindestens einen Prozessor 814, der über das Bus-Untersystem 812 mit einer Anzahl von Peripheriegeräten kommuniziert. Diese Peripheriegeräte können ein Speicher-Untersystem 824, das zum Beispiel ein Speicher-Untersystem 825 und ein Dateispeicher-Untersystems 826 beinhaltet, Benutzerschnittstellen-Ausgabegeräte 820, Benutzerschnittstellen-Eingabegeräte 822 und ein Netzwerkschnittstellen-Untersystem 816 beinhalten. Die Eingabe- und Ausgabegeräte ermöglichen die Interaktion des Benutzers mit dem Computergerät 810. Das Netzwerkschnittstellen-Untersystem 816 stellt eine Schnittstelle für externe Netzwerke bereit und ist mit entsprechenden Schnittstellengeräten in anderen Computergeräten verbunden.
-
Die Benutzerschnittstellen-Eingabegeräte 822 können eine Tastatur, Zeigegeräte wie eine Maus, ein Trackball, ein Touchpad, oder ein Grafiktablett, einen Scanner, einen Touchscreen, der in einem Display integriert ist, Audio-Eingabegeräte wie Stimmenerkennungssysteme, Mikrofone und/oder sonstige Arten von Eingabegeräten beinhalten. Im Allgemeinen soll die Verwendung des Begriffs „Eingabegerät“ alle möglichen Gerätearten und Möglichkeiten der Eingabe von Informationen in ein Computergerät 810 oder in ein Kommunikationsnetzwerk beinhalten.
-
Benutzerschnittstellen-Ausgabegeräte 820 können ein Anzeige-Untersystem, einen Drucker, eine Faxmaschine oder eine nicht-visuelle Anzeige, wie etwa Audio-Ausgabegeräte, beinhalten. Das Anzeige-Untersystem kann eine Kathodenstrahlröhre (CRT), ein Flachdisplaygerät, wie etwa eine Flüssigkristallanzeige (LCD), ein Projektionsgerät oder einen sonstigen Mechanismus für das Erstellen eines sichtbaren Bildes beinhalten. Das Anzeige-Untersystem kann auch eine nicht visuelle Anzeige, beispielsweise über Audioausgabegeräte, bereitstellen. Im Allgemeinen soll die Verwendung des Begriffs „Ausgabegerät“ alle möglichen Gerätearten und Möglichkeiten der Ausgabe von Informationen aus einem Computergerät 810 an den Benutzer oder an eine andere Maschine oder ein anderes Computergerät beinhalten.
-
Speicher-Untersystem 824 speichert Programmier- und Datenkonstrukte, welche die Funktionalität einiger oder aller hierin beschriebener Module bereitstellen. Beispielsweise kann das Datenspeicher-Untersystem 824 die Logik dafür beinhalten, ausgewählte Aspekte des Verfahrens aus 3 und/oder 4 durchzuführen.
-
Diese Softwaremodule werden im Allgemeinen von Prozessor 814 allein oder in Kombination mit anderen Prozessoren ausgeführt. Der in dem Datenspeicherteilsystem 825 verwendete Speicher 824 kann eine Reihe von Speichern beinhalten, darunter auch einen Hauptdirektzugriffsspeicher (RAM) 830 zum Speichern von Anweisungen und Daten während der Programmausführung und einen Nur-Lese-Speicher (ROM) 832, in dem feste Anweisungen gespeichert sind. Ein Dateispeicher-Untersystem 826 kann eine persistente Speicherung für Programm- und Datendateien bereitstellen und kann ein Festplattenlaufwerk, ein Diskettenlaufwerk zusammen mit zugehörigen entfernbaren Medien, ein CD-ROM-Laufwerk, ein optisches Laufwerk oder entfernbare Mediendatenträger beinhalten. Die Module, die die Funktionalität bestimmter Implementierungen implementieren, können durch das Dateispeicher-Untersystem 826 in dem Speicher-Untersystem 824 oder in anderen Maschinen, auf die die Prozessoren 814 zugreifen können, gespeichert werden.
-
Das Bus-Untersystem 812 stellt einen Mechanismus bereit, der es unterschiedlichen Komponenten und Untersystemen von Computergerät 810 erlaubt, wie beabsichtigt miteinander zu kommunizieren. Obwohl das Bus-Untersystem 812 schematisch als ein einzelner Bus gezeigt wird, können alternative Implementierungen des Bus-Untersystems mehrere Busse verwenden.
-
Computergerät 810 kann unterschiedlicher Art, einschließlich einer Workstation, eines Servers, eines Computerclusters, eines Blade-Servers, einer Serverfarm, und sonstiger anderer Datenverarbeitungssysteme oder Computergeräte sein. Aufgrund der sich ständig verändernden Beschaffenheit von Computern und Netzwerken ist die Beschreibung des in 8 abgebildeten Computergeräts 810 nur als ein spezifisches Beispiel zur Veranschaulichung einiger Implementierungen gedacht. Es sind viele andere Konfigurationen des Computergeräts 810 möglich, die mehr oder weniger Komponenten als das in 8 abgebildete Computergerät aufweisen.
-
In Situationen, in denen die hierin beschriebenen Systeme personenbezogene Informationen über Benutzer sammeln oder persönliche Informationen nutzen können, kann den Benutzern die Möglichkeit eingeräumt werden, zu steuern, ob Programme oder Merkmale Benutzerinformationen (z. B. Informationen über das soziale Netzwerk eines Benutzers, soziale Aktionen oder Aktivitäten, den Beruf, die Präferenzen eines Benutzers oder den aktuellen geografischen Standort eines Benutzers) sammeln, oder zu steuern, ob und/oder wie Inhalte vom Inhaltsserver empfangen werden, die für den Benutzer relevanter sein können. Darüber hinaus können gewisse Daten auf eine oder mehrere Wege behandelt werden, bevor sie gespeichert oder verwendet werden, sodass Informationen zur Identifizierung von Personen entfernt werden. So kann beispielsweise die Identität eines Benutzers so behandelt werden, dass keine personenidentifizierbaren Informationen für den Benutzer bestimmt werden können, oder ein geografischer Standort eines Benutzers kann verallgemeinert werden, wo die Standortinformationen empfangen werden (beispielsweise auf eine Stadt, eine Postleitzahl oder eine Landesebene), sodass ein bestimmter geografischer Standort eines Benutzers nicht bestimmt werden kann. Deshalb kann der Benutzer darüber die Kontrolle haben, wie die Informationen über den Benutzer gesammelt oder verwendet werden.
-
Obwohl hier verschiedene Implementierungen beschrieben und dargestellt sind, kann eine Vielzahl von weiteren Mitteln und/oder Strukturen verwendet werden, um die Funktion durchzuführen und/oder die Ergebnisse und/oder einen oder mehrere der hierin beschriebenen Vorteile zu erlangen, und es ist beabsichtigt, dass jede solcher Variationen und/oder Modifikationen innerhalb des Schutzumfangs der hierin beschriebenen Implementierungen liegen. Genauer gesagt sollen jegliche hierin beschriebene Parameter, Ausmaße, Materialien und Konfigurationen als beispielhaft betrachtet werden, und die aktuellen Parameter, Ausmaße, Materialien und/oder Konfigurationen sollen von der spezifischen Anwendung oder von Anwendungen, bei welchen die erfindungsgemäße Lehre angewendet wird, abhängen. Der Fachmann wird anerkennen oder dazu in der Lage sein, sicherzustellen, unter Gebrauch von einer lediglich routinemäßigen Handlung, zu vielen Äquivalenten der hier beschriebenen spezifischen Implementierungen zu gelangen. Es ist daher zu verstehen, dass die zuvor genannten Ausführungsformen lediglich beispielhaft dargelegt sind, und dass, innerhalb des Schutzumfangs der beigefügten Ansprüche und deren Äquivalente, erfindungsgemäße Implementierungen andersartig in die Praxis umgesetzt werden können als spezifisch beschrieben und beansprucht. Implementierungen der vorliegenden Offenbarung sind auf jedes individuelle Merkmal, System, Artikel, Material, Satz und/oder Verfahren, wie hier beschrieben, gerichtet. Zusätzlich ist eine jegliche Kombination von zwei oder mehreren solcher Merkmale, Systeme, Artikel, Materialien, Sätze und/oder Verfahren, vorausgesetzt, dass solche Merkmale, Systeme, Artikel, Materialien, Sätze und/oder Verfahren nicht gegenseitig inkonsistent sind, innerhalb des Schutzumfangs der vorliegenden Offenbarung eingeschlossen.