-
HINTERGRUND MIT BESTIMMTEM KONTEXT
-
Wenn sich ein Benutzer in einer unbekannten Situation befindet, kann der Benutzer ein Computergerät verwenden, um Informationen und Fakten zu erhalten, die den Benutzer beim Abschließen einer bestimmten Aufgabe unterstützen können, um ein bestimmtes Ziel zu erreichen. Bei einigen Computergeräten ist es erforderlich, dass der Benutzer in der Lage ist, ausreichende Informationen (z. B. Suchabfragebegriffe) bereitzustellen, um das Computergerät dabei zu führen, die bestimmten Informationen zu lokalisieren, die der Benutzer sucht. Leider ist sich der Benutzer möglicherweise nicht bewusst, welche Aufgaben der Benutzer abschließen muss, viel weniger die Informationen, nach denen der Benutzer suchen soll, um erfolgreich durch die unbekannte Situation zu navigieren und das bestimmte Ziel zu erreichen. Folglich kann der Benutzer ohne vorherige Kenntnis von verschiedenen Aktionen, die der Benutzer ausführen muss, Stress erleben und wertvolle Zeit und Ressourcen verschwenden, um die Informationen in ein Computergerät einzutragen und Suchbegriffe vermuten, wenn der Benutzer versucht, Informationen zu erhalten, die notwendig sind, um ein bestimmtes Ziel zu erreichen.
-
KURZDARSTELLUNG DER OFFENBARUNG
-
In einem Beispiel betrifft die Offenbarung ein Verfahren, das das Identifizieren einer von Benutzern der Gruppe von Computergeräten für den bestimmten Kontext ausgeführten Aufgabe durch ein Computersystem, basierend auf Suchverläufen beinhaltet, die einer Gruppe von Computergeräten für einen bestimmten Kontext zugeordnet sind, das Bestimmen eines ersten Grades von Wahrscheinlichkeit durch das Computersystem, dass die Aufgabe durch die Benutzer der Gruppe von Computergeräten für den bestimmten Kontext ausgeführt wird, und das Bestimmen eines zweiten Grades von Wahrscheinlichkeit durch das Computersystem, dass die Aufgabe durch die Benutzer der Gruppe von Computergeräten für einen breiteren Kontext ausgeführt wird, der den bestimmten Kontext und mindestens einen anderen Kontext beinhaltet. Das Verfahren beinhaltet des Weiteren als Reaktion auf Bestimmen, dass der erste Grad von Wahrscheinlichkeit den zweiten Grad von Wahrscheinlichkeit um einen Schwellenwertbetrag überschreitet, und dass ein aktueller Kontext eines bestimmten Computergeräts dem bestimmten Kontext entspricht, Übertragen von Informationen zum Abschließen der Aufgabe für den bestimmten Kontext zu dem bestimmten Computergerät, durch das Computersystem.
-
In einem anderen Beispiel betrifft die Offenbarung ein Computersystem, das mindestens einen Prozessor und mindestens ein Modul beinhaltet, die durch den mindestens einen Prozessor zum Identifizieren einer von Benutzern der Gruppe von Computergeräten für den bestimmten Kontext ausgeführten Aufgabe basierend auf Suchverläufen betreibbar sind, die einer Gruppe von Computergeräten für einen bestimmten Kontext zugeordnet sind, das Bestimmen eines ersten Grades von Wahrscheinlichkeit, dass die Aufgabe, die durch die Benutzer der Gruppe von Computergeräten für den bestimmten Kontext ausgeführt wird, und das Bestimmen eines zweiten Grades von Wahrscheinlichkeit, dass die Aufgabe durch die Benutzer der Gruppe von Computergeräten für einen breiteren Kontext ausgeführt wird, der den bestimmten Kontext und mindestens einen anderen Kontext beinhaltet. Das mindestens eine Modul ist des Weiteren durch den mindestens einen Prozessor betreibbar, um als Reaktion auf Bestimmen, dass der erste Grad von Wahrscheinlichkeit den zweiten Grad von Wahrscheinlichkeit um einen Schwellenwertbetrag überschreitet, und dass ein aktueller Kontext eines bestimmten Computergeräts dem bestimmten Kontext entspricht, Informationen zum Abschließen der Aufgabe für den bestimmten Kontext zu dem bestimmten Computergerät zu übertragen.
-
In einem anderen Beispiel betrifft die Offenbarung ein computerlesbares Speichermedium, das Anweisungen beinhaltet, die bei ihrer Ausführung einen oder mehrere Prozessoren eines Computersystems zum Identifizieren einer von Benutzern der Gruppe von Computergeräten für den bestimmten Kontext ausgeführten Aufgabe basierend auf Suchverläufen konfiguriert, die einer Gruppe von Computergeräten für einen bestimmten Kontext zugeordnet sind, Bestimmen eines ersten Grades von Wahrscheinlichkeit, dass die Aufgabe durch die Benutzer der Gruppe von Computergeräten für den bestimmten Kontext ausgeführt wird, und Bestimmen eines zweiten Grades von Wahrscheinlichkeit, dass die Aufgabe durch die Benutzer der Gruppe von Computergeräten für einen breiteren Kontext ausgeführt wird, der den bestimmten Kontext und mindestens einen anderen Kontext beinhaltet. Die Anweisungen konfigurieren bei ihrer Ausführung ferner den einen oder die mehreren Prozessoren des Computersystems, um in Reaktion auf das Bestimmen, dass der erste Grad von Wahrscheinlichkeit den zweiten Grad von Wahrscheinlichkeit um einen Schwellenwertbetrag überschreitet, und dass ein aktueller Kontext eines bestimmten Computergeräts dem bestimmten Kontext entspricht, Informationen zum Abschließen der Aufgabe für den bestimmten Kontext zu dem bestimmten Computergerät zu übertragen.
-
Die Details von einem oder mehreren Beispielen werden in den begleitenden Zeichnungen und der nachstehenden Beschreibung dargelegt. Andere Merkmale, Gegenstände und Vorteile der Offenbarung werden aus der Beschreibung und den Zeichnungen sowie aus den Ansprüchen ersichtlich.
-
KURZBESCHREIBUNG DER ZEICHNUNGEN
-
1 ist ein Konzeptdiagramm, das ein beispielhaftes System zur Vorhersage der Bedürfnisse eines Benutzers eines Computergeräts veranschaulicht und Informationen zur Erfüllung der Bedürfnisse gemäß einem oder mehreren Aspekten der vorliegenden Offenbarung bereitstellt.
-
2 ist ein Blockdiagramm, das ein beispielhaftes Computersystem veranschaulicht, das zur Vorhersage der Bedürfnisse eines Benutzers eines Computergeräts, und zum Bereitstellen von Informationen zur Erfüllung der Bedürfnisse gemäß einem oder mehreren Aspekten der vorliegenden Offenbarung konfiguriert ist.
-
3 ist ein zusätzliches Konzeptdiagramm, das ein beispielhaftes System zur Vorhersage der Bedürfnisse eines Benutzers eines Computergeräts veranschaulicht und Informationen zur Erfüllung der Bedürfnisse gemäß einem oder mehreren Aspekten der vorliegenden Offenbarung bereitstellt.
-
4A und 4B sind Ablaufdiagramme, die beispielhafte Vorgänge veranschaulichen, die durch ein beispielhaftes Computersystem ausgeführt werden, das zur Vorhersage der Bedürfnisse eines Benutzers eines Computergeräts, und zum Bereitstellen von Informationen zur Erfüllung der Bedürfnisse gemäß einem oder mehreren Aspekten der vorliegenden Offenbarung konfiguriert ist.
-
AUSFÜHRLICHE BESCHREIBUNG
-
Im Allgemeinen können Techniken dieser Offenbarung einem Computersystem ermöglichen, die Bedürfnisse eines Benutzers eines Computergeräts für einen bestimmten Kontext aufgrund der vorherigen Aktionen anderer Benutzer anderer Computergeräte für den bestimmten Kontext zu lernen und vorherzusagen,. Basierend auf kontextbezogenen Informationen des Benutzers (z. B. Standort, Zeit, Benutzerinteressen und dergleichen) kann das System eine Aufgabe oder eine Aktion ableiten, die der Benutzer möglicherweise ausführen muss, und automatisch Informationen bereitstellen, die Benutzer anderer Computergeräte in ähnlichen Kontexten benötigten, um die Aufgabe abzuschließen oder die Aktion auszuführen. Das Computersystem kann die Informationen, die das Computersystem für das Abschließen einer Aufgabe oder das Ausführen einer Aktion bereitstellt, durch Bestimmen von Graden von Nützlichkeit der Informationen für verschiedene Kontexte einstufen. Das Computersystem kann die Informationen zum Abschließen einer Aufgabe oder Ausführen einer Aktion bereitstellen, wenn der Grad von Nützlichkeit für den bestimmten Kontext ausreichend größer als der Grad von Nützlichkeit für das Ausführen der Aktion anderer Kontexte ist.
-
In der gesamten Offenbarung sind Beispiele beschrieben, in denen ein Computergerät und/oder ein Computersystem lediglich dann mit einem Computergerät und einem Benutzer eines Computergeräts verknüpfte Informationen (z. B. Kontext, Standorte, Geschwindigkeiten, Suchabfragen usw.) analysiert, wenn das Computergerät eine Erlaubnis vom Benutzer des Computergeräts zum Analysieren der Informationen empfängt. So wird dem Benutzer in nachfolgend beschriebenen Situationen, bevor ein Computergerät oder Computersystem mit einem Benutzer verknüpfte Informationen sammeln kann oder verwenden darf, unter Umständen eine Möglichkeit gegeben, eine Eingabe vorzunehmen, um zu steuern, ob Programme oder Funktionen des Computergeräts und/oder des Computersystems Benutzerinformationen (wie z. B. Informationen zum aktuellen Standort eines Benutzers, die aktuelle Geschwindigkeit usw.) sammeln und verwenden dürfen, oder um festzulegen, ob und/oder wie das Gerät und/oder System Inhalte empfangen kann, die für den Benutzer ggf. relevant sind. Außerdem können bestimmte Daten auf eine oder mehrere Arten behandelt werden, bevor sie von dem Computergerät und/oder Computersystem gespeichert oder verwendet werden, sodass persönlich identifizierbare Informationen entfernt werden. So kann beispielsweise die Identität eines Benutzers so behandelt werden, dass keine Informationen zur Identifizierung von Personen über den Benutzer bestimmt werden können, oder ein geografischer Standort eines Benutzers, wenn Standortinformationen empfangen werden, (beispielsweise auf eine Stadt, eine Postleitzahl oder eine Landesebene) verallgemeinert werden können, sodass ein bestimmter Standort eines Benutzers nicht bestimmt werden kann. Deshalb kann der Benutzer darüber die Kontrolle haben, wie die Informationen über den Benutzer gesammelt und vom Computergerät und Computersystem verwendet werden.
-
1 ist ein Konzeptdiagramm, das System 100 als beispielhaftes System zur Vorhersage der Bedürfnisse eines Benutzers eines Computergeräts 110A veranschaulicht und Informationen zur Erfüllung der Bedürfnisse gemäß einem oder mehreren Aspekten der vorliegenden Offenbarung bereitstellt. System 100 beinhaltet ein Informationsserversystem („ISS“) 160, das über das Netzwerk 130 in Kommunikation mit den Computergeräten 110A–110N (zusammenfassend „Computergeräte 110“) steht.
-
Netzwerk 130 repräsentiert ein beliebiges öffentliches oder privates Kommunikationsnetzwerk, beispielsweise ein Mobilfunknetz, Wi-Fi und/oder andere Netzwerktypen zum Übertragen von Daten zwischen Computersystemen, Servern und Computergeräten. Netzwerk 130 kann einen oder mehrere Netzwerk-Hubs, Netzwerk-Switches, Netzwerk-Router oder beliebige andere Netzwerkausrüstung beinhalten, die operativ miteinander verbunden sind, wodurch der Austausch von Informationen zwischen dem ISS 160 und den Computergeräten 110 bereitgestellt wird. Computergeräte 110 und ISS 160 können Daten unter Verwendung von beliebigen geeigneten Kommunikationstechniken über Netzwerk 130 senden und empfangen.
-
ISS 160 und Computergeräte 110 können jeweils operativ mit Netzwerk 130 unter Verwendung entsprechender Netzwerkverbindungen verbunden sein, und Computergeräte 10N können operativ mit Netzwerk 30B unter Verwendung einer anderen Netzwerkverbindung verbunden sein. Die Verbindungen, die Computergeräte 110 und ISS 160 mit Netzwerk 130 verbinden, können Ethernet, ATM oder andere Arten von Netzwerkverbindungen sein, und solche Verbindungen können drahtlose und/oder drahtgebundene Verbindungen sein.
-
Computergeräte 110 repräsentieren individuelle Mobilgeräte, wie z. B. ein Mobiltelefon, ein Tablet-Computer, ein Laptop-Computer, eine computergestützte Uhr, eine computergestützte Brille, computergestützte Handschuhe oder eine andere Art von tragbarem Computergerät. Zusätzliche Beispiele von Computergeräten 110 beinhalten Persönliche Digitale Assistenten (PDA), tragbare Spielsysteme, Mediaplayer, E-Book-Reader, mobile Fernsehplattformen, Automobil-Navigations- und Unterhaltungssysteme oder irgendwelche anderen Arten von mobilen, tragbaren und nicht tragbaren Computergeräten, die konfiguriert sind, um Informationen über ein Netzwerk, wie beispielsweise Netzwerk 130, zu empfangen.
-
Jedes der Computergeräte 110 beinhaltet eine entsprechende Benutzeroberflächenvorrichtung 112A–112N (zusammenfassend „UIDs 112“) und ein entsprechendes Benutzeroberflächenmodul 120A–120N (zusammenfassend „UI-Module 120“). Zusätzlich beinhaltet jedes der Computergeräte 110 ein entsprechendes Abfragemodul 122A–122N (zusammenfassend „Abfragemodule 122“). Module 120–122 können beschriebene Vorgänge unter Verwendung von Software, Hardware, Firmware oder einer Kombination aus Software, Hardware und Firmware ausführen, die in den jeweiligen Computergeräten 110 resident sind
-
und/oder darauf ausgeführt werden. Computergeräte 110 können jeweilige Module 120–122 mit mehreren Prozessoren oder mehreren Geräten ausführen. Computergeräte 110 können jeweilige Module 120–122 als virtuelle Maschinen, die auf zugrundeliegender Hardware ausgeführt werden, ausführen. Module 120–122 können als ein oder mehrere Dienste eines Betriebssystems oder einer Computerplattform ausgeführt werden. Module 120–122 können als ein oder mehrere ausführbare Programme auf einer Anwendungsebene einer Computerplattform ausgeführt werden.
-
Computergeräte 110B–110N bilden eine Gruppe von Computergeräten aus, von denen jeweilige Benutzer, die den Computergeräten 110B–110N zugeordnet sind, Suchen nach Informationen ausführen können. In einigen Beispielen ist Computergerät 110A in der Gruppe mit Computergeräten 110B–110N beinhaltet, und ein Benutzer, der Computergerät 110A zugeordnet ist, kann auch Suchen nach Informationen von Computergerät 110A ausführen. In anderen Beispielen schließt die Gruppe von Computergeräten 110B–110N Computergerät 110A aus.
-
UIDs 112 der Computergeräte 110 können als entsprechende Eingabe- und/oder Ausgabegeräte für Computergeräte 110 fungieren. UIDs 112 können unter Verwendung verschiedener Technologien implementiert werden. UIDs 112 können beispielsweise unter Verwendung von präsenzempfindlichen Eingabebildschirmen, wie z. B. resistiven Touchscreens, SAW-Touchscreens („Surface Acoustic Wave“, Touchscreens mit akustischer Oberflächenwellentechnologie), kapazitiven Touchscreens, projektiv-kapazitiven Touchscreens, druckempfindlichen Bildschirmen, APR-Touchscreens („Acoustic Pulse Recognition“, Touchscreens mit akustischer Impulserkennung) oder anderer präsenzempfindlicher Anzeigetechnologie als Eingabegerät fungieren. Zusätzlich können UIDs 112 Mikrofontechnologien, Infrarot-Sensortechnologien oder andere Eingabegerätetechnologie für die Verwendung beim Empfangen von Benutzereingaben beinhalten.
-
UIDs 112 können unter Verwendung eines oder mehrerer beliebiger Anzeigegeräte, wie z. B. LCDs („Liquid Crystal Display“, Flüssigkristallanzeigen), Punktmatrixanzeigen, LED-Anzeigen („Light Emitting Diode“, Leuchtdiodenanzeigen), OLED-Anzeigen („Organic Light Emitting Diode“, organische Leuchtdiodenanzeigen), E-Papier-Anzeigen oder ähnlichen Monochrom- oder Farbanzeigen, die sichtbare Informationen für einen Benutzer von Computergeräten 110 ausgeben können, als Ausgabegeräte (z. B. Anzeige) fungieren. Zusätzlich können UIDs 112 Lautsprechertechnologien, haptische Rückkopplungstechnologien oder andere Ausgabegerätetechnologie zur Verwendung bei der Ausgabe von Informationen an einen Benutzer beinhalten.
-
UIDs 112 können jeweils präsenzempfindliche Anzeigen enthalten, die eine taktile Eingabe von einem Benutzer der jeweiligen Computergeräte 110 empfangen können. UIDs 112 können Hinweise auf taktile Eingaben empfangen, indem sie eine oder mehrere Gesten von einem Benutzer erkennen (z. B. von dem Benutzer, der mit einem Finger oder einem Stift einen oder mehrere Standorte von UIDs 112 berührt oder darauf zeigt). UIDs 112 können einem Benutzer Ausgaben präsentieren, z. B. auf jeweiligen präsenzempfindlichen Anzeigen. UIDs 112 können die Ausgabe als jeweilige grafische Benutzeroberflächen (z. B. Benutzeroberfläche 114) darstellen, die der von Computergeräten 110 bereitgestellten Funktionalität zugeordnet sein können. Beispielsweise können UIDs 112 verschiedene Benutzeroberflächen (z. B. Benutzeroberfläche 114) präsentieren, die sich auf Suchfunktionen beziehen, die von Abfragemodulen 122 oder anderen Merkmalen von Computerplattformen, Betriebssystemen, Anwendungen und/oder Diensten, die auf Computergeräten 110 ausgeführt werden oder darauf zugänglich sind (z. B. elektronische Nachrichtenanwendungen, Internetbrowser-Anwendungen, mobile oder Desktop-Betriebssysteme usw.), bereitgestellt werden,.
-
UI-Module 120 verwalten Benutzerinteraktionen mit jeweiligen UIDs 112 und anderen Komponenten der Computergeräte 110. UI-Module 120 können dazu führen, dass UIDs 112 jeweilige Benutzeroberflächen ausgeben, wie beispielsweise die Benutzeroberfläche 114 (oder andere beispielhafte Benutzeroberflächen) um anzuzeigen, wenn Benutzer der Computergeräte 110 Ausgaben ansehen, und/oder UIDs 112 Eingaben bereitstellen. UI-Module 120 und UIDs 112 können eine oder mehrere Angaben von Eingaben von Benutzern zu unterschiedlichen Zeitpunkten erhalten, wenn die Benutzer mit den grafischen Benutzeroberflächen interagieren und wenn sich die Benutzer und Computergeräte 110 an unterschiedlichen Standorten befinden. UI-Module 120 und UIDs 112 können an UIDs 112 erkannte Eingaben interpretieren und die an UIDs 112 erkannten Informationen zu den Eingaben an eine/einen/ein oder mehrere verknüpfte Plattformen, Betriebssysteme, Anwendungen und/oder Dienste weiterleiten, die auf den Computergeräten 110 ausgeführt werden, um z. B. Computergeräte 110 zu veranlassen, Funktionen auszuführen.
-
UI-Module 120 können Informationen und Anweisungen von einer/einem oder mehreren verknüpften Plattformen, Betriebssystemen, Anwendungen und/oder Diensten empfangen, die auf den Computergeräten 110 und/oder einem oder mehreren entfernten Computersystemen ausgeführt werden, wie z. B. dem ISS 160. Zusätzlich können UI-Module 120 als Zwischenelemente zwischen der/dem einen oder den mehreren verknüpften Plattformen, Betriebssystemen, Anwendungen und/oder Diensten agieren, die auf Computergeräten 110 und den unterschiedlichen Ausgabegeräten der Computergeräte 110 (z. B. Lautsprecher, LED-Anzeigen, Audio- oder elektrostatische haptische Ausgabegeräte usw.) ausgeführt werden, um eine Ausgabe (z. B. eine Grafik, einen Lichtblitz, einen Ton, eine haptische Reaktion usw.) mit Computergeräten 110 zu produzieren.
-
In dem Beispiel von 1 ist Benutzeroberfläche 114 eine grafische Benutzeroberfläche, die dem Bedarfsvorhersagedienst zugeordnet ist, der von ISS 160 bereitgestellt wird, und auf die Computergerät 110A zugreift. Wie nachfolgend ausführlich beschrieben, beinhaltet Benutzeroberfläche 114 grafische Informationen (z. B. Text), die Informationen darstellen, die laut ISS 160 Vorhersage besagen, dass ein Benutzer von Computergerät 110A zum aktuellen Zeitpunkt möglicherweise eine Aufgabe ausführen muss. Benutzeroberfläche 14 kann verschiedene andere Arten von grafischen Angaben beinhalten, wie z. B. visuelle Darstellungen von vorhergesagten Informationen, die ein Benutzer des Computergeräts 110A möglicherweise benötigt, um eine Aufgabe für einen aktuellen Kontext auszuführen. UI-Modul 120A kann das UID 112A zum Ausgeben einer Benutzeroberfläche 114 basierend auf Daten veranlassen, die das UI-Modul 120A über das Netzwerk 130 vom ISS 160 empfängt. Das UI-Modul 120A kann grafische Informationen (z. B. Textdaten, Bilddaten usw.) zum Präsentieren der Benutzeroberfläche 114 als Eingabe von ISS 160 zusammen mit Anweisungen von ISS 160 zum Präsentieren der grafischen Informationen in Benutzeroberfläche 114 an UID 112 empfangen.
-
Abfragemodule 122 führen suchbezogene Funktionen für Computergeräte 110 aus. Abfragemodule 122 können Suchabfragen (z. B. Zeichenketten) über Netzwerk 130 an ISS 160 senden und als Reaktion darauf Ergebnisse der von ISS 160 durchgeführten Suchen basierend auf den Abfragen erhalten. Abfragemodule 122 können Hinweise auf die Suchabfragen von UI-Modulen 120 erhalten, wenn Benutzer von Computergeräten 110 Eingaben an UIDs 112 bereitstellen. Abfragemodule 122 können Suchergebnisse, die sie von ISS 160 empfangen haben, an UI-Module 120 ausgeben, um z. B. UI-Module 120 zu veranlassen, die Suchergebnisse als Teil von Benutzeroberflächen UI-Modulen 120, die bei UIDs 112 vorliegen, zu präsentieren.
-
ISS 160 repräsentiert jedes geeignete entfernte Computersystem, wie z. B. ein oder mehrere Desktop-Computer, Laptops, Mainframes, Server, Cloud-Computing-Systeme usw., die in der Lage sind, Informationen in und aus einem Netzwerk, wie z. B. Netzwerk 130, zu senden und zu empfangen. ISS 160 hostet (oder bietet zumindest Zugang zu) einem Suchsystem für die Suche nach Informationen und benötigt ein Bedürfnisvorhersagesystem für die Vorhersage der Bedürfnisse der Benutzer von Computergeräten 110 für bestimmte Kontexte.
-
Computergeräte 110 können mit ISS 160 über Netzwerk 130 kommunizieren, um auf das von ISS 160 bereitgestellte Suchsystem und Bedürfnisvorhersagesystem zuzugreifen. In einigen Beispielen repräsentiert ISS 160 ein Cloud-Computing-System, das Such- und Vorhersagedienstleistungen durch das Netzwerk 130 für eines oder mehrere Computergeräte 110 bereitstellt, die auf die Such- und Vorhersagedienste über Zugriff auf die Cloud zugreifen, die durch ISS 160 bereitgestellt wird.
-
In dem Beispiel von 1 beinhaltet ISS 160 Kontextmodul 162, Bedürfnisvorhersagemodul 164 und Suchmodul 166. Module 162–166 können beschriebene Vorgänge unter Verwendung von Software, Hardware, Firmware oder einer Kombination aus Hardware, Software und Firmware ausführen, die bei ISS 160 resident ist und/oder darauf ausgeführt wird. ISS 160 kann Module 162–166 mit mehreren Prozessoren oder mehreren Geräten ausführen. ISS 160 kann Module 162–166 als virtuelle Maschinen, die auf zugrundeliegender Hardware ausgeführt werden, ausführen. Module 162–166 können als ein oder mehrere Dienste eines Betriebssystems oder einer Computerplattform ausgeführt werden. Module 162–166 können als ein oder mehrere ausführbare Programme auf einer Anwendungsebene einer Computerplattform ausgeführt werden.
-
Kontextmodul 162 sammelt kontextbezogene Informationen im Zusammenhang mit Computergeräten 110 und stellt die Informationen für Module 164 und 166 bereit, und macht Bestimmungen basierend auf Kontextinformationen dafür. Beispielsweise kann Kontextmodul 162 Computergerät 110A zugeordnete Standortinformationen erhalten und bestimmen, ob der aktuelle Standort von Computergerät 110A mit einem vorherigen Standort von einem Standortverlauf von Computergerät 110A übereinstimmt. Kontextmodul 162 kann Kontextverläufe aufrechterhalten, die jedem der Computergeräte 110 zugeordnet sind und bestimmen, ob ein jeweiliger aktueller Kontext, der einem oder mehreren der Computergeräte 110 zugeordnet ist, zu einem vorherigen Kontext passt, der in einem jeweiligen Kontextverlauf gefunden wird. Beispielsweise kann Kontextmodul 162 als Teil eines dem Computergerät 110A zugeordneten Kontextverlaufs einen Standortverlauf aufrechterhalten, der nachverfolgt, wo Computergerät 110A an einem bestimmten Tag oder Zeitpunkt positioniert war.
-
Kontextmodul 162 kann kontinuierlich den aktuellen Kontext und den Kontextverlauf aktualisieren, die Computergerät 110 zugeordnet sind, wenn Kontextmodul 162 neue und aktualisierte Informationen empfängt. Beispielsweise kann Kontextmodul 162 von Sensoren des Computergeräts 110A gesammelte Bewegungsinformationen empfangen, und die Bewegungsinformationen zum Aktualisieren des aktuellen Standorts verwenden, der von Kontextmodul 162 für Computergerät 110A aufrechterhalten wird.
-
Standort- und Bewegungsinformationen sind nur einige Arten von Kontextinformationen, die Kontextinformationsmodul 162 für jedes der Computergeräte 110 aufrechterhalten kann. Wie in der gesamten Offenbarung verwendet, wird der Begriff „Kontextinformationen“ zur Beschreibung von vorstellbaren Informationen verwendet, die von einem Computersystem und/oder Computergerät, wie beispielsweise ISS 160 und Computergeräten 110, zur Bestimmung von einem oder mehreren Umwelt- oder Verhaltensmerkmalen verwendet werden, die Computergeräten und/oder den Benutzern von Computergeräten zugeordnet sind.
-
Beispielsweise beinhalten Kontextinformationen vergangene, aktuelle und zukünftige physische Standorte, Grade von Bewegungen, Wetter- und Verkehrsbedingungen, Reisemuster und dergleichen. In einigen Beispielen können Kontextinformationen Sensorinformationen beinhalten, die von einem oder mehreren Sensoren (z. B. Gyroskope, Beschleunigungssensoren, Näherungssensoren usw.) von Computergeräten 110, Funkübertragungsinformationen, die von einer oder mehreren Kommunikationseinheiten und/oder Funkgeräten (z.B. globales Positionsbestimmungssystem (GPS), zellulären, Wi-Fi usw.) von Computergeräten 110 erhalten werden, Informationen, die von einem oder mehreren Eingabegeräten (z. B. Kameras, Mikrofone, Tastaturen, Touchpads, Mäuse, UID 112 usw.) von Computergeräten 110 erhalten werden, und Netzwerk-/Geräte-ID-Informationen (z. B. ein Netzwerkname, eine IP-Adresse eines Geräts usw.) der Computergeräte 110 erhalten werden.
-
Zusätzlich können Kontextinformationen Benutzerthemen von Interesse beinhalten (z. B. die bevorzugten „Dinge“ eines Benutzers, die typischerweise als Benutzerinteressediagramm oder irgendeine andere Art von Datenstruktur gepflegt werden), Kontaktinformationen in Verbindung mit Benutzern (z. B. die persönlichen Kontaktinformationen eines Benutzers sowie Informationen über Freunde, Mitarbeiter, soziale Medienverbindungen, Familien usw. des Benutzers), Suchverläufe, Standortverläufe, Aufgaben mit langer und kurzer Laufzeit, Kalenderinformationen, Anwendungsverwendungsverläufe, Kaufverläufe, Favoriten, Lesezeichen und andere Informationen, die die Computergeräte 110 und ISS 160 über einen Benutzer der Computergeräte 110 sammeln können.
-
Des Weiteren können Kontextinformationen Informationen über den Betriebszustand eines Computergeräts beinhalten. Beispielsweise ist eine Anwendung, die zu einem bestimmten Zeitpunkt oder an einem bestimmten Standort ausgeführt wird, ein Beispiel von Informationen über den Betriebszustand eines Computergeräts. Andere Beispiele für Kontextinformationen, die auf dem Betriebszustand eines Computergeräts basieren, beinhalten unter anderem Positionen von Schaltern, Batterieladezuständen, ob ein Gerät in eine Wandsteckdose eingesteckt oder anderweitig betriebsfähig mit einem anderen Gerät und/oder einer anderen Maschine verbunden ist, Benutzerauthentifizierungsinformationen (z. B. welcher Benutzer), ob ein Gerät im „Flugzeug“-Modus, im Standby-Modus, im Vollleistungsmodus betrieben wird, der Betriebszustand von Funkgeräten, Kommunikationseinheiten, Eingabegeräten und Ausgabegeräten usw.
-
Kontextmodul 162 kann die Kontextinformationen bereitstellen und Bestimmungen über die Kontextinformationen machen, die Kontextmodul 162 aufrechterhält, und zwar zugunsten anderer Module 164 und 166 sowie der Computergeräte 110. Beispielsweise kann das Kontextmodul 162 auf eine Anfrage des Bedürfnisvorhersagemoduls 164 von ISS 160 nach Kontextinformationen reagieren, die Computergeräten 110 zugeordnet sind, indem zur Übertragung an Bedürfnisvorhersagemodul 164, von Kontextmodul 162 aufrechterhaltene Daten ausgegeben werden, die die Kontextinformationen (z. B. jeweilige Standorte) spezifizieren, die einem oder mehreren der Computergeräte 110 zugeordnet sind.
-
Es versteht sich, dass obwohl in der gesamten Offenbarung Beispiele beschrieben werden, worin ein Computergerät und/oder ein Computersystem Kontextinformationen analysiert, einschließlich Standortverläufen, Kontextverläufen und/oder Suchverläufen, die einem Computergerät und einem Benutzer eines Computergeräts zugeordnet sind, die hierin beschriebenen Computergeräte und Computersysteme nur die Kontextinformationen analysieren können, wenn das Computergerät und/oder Computersystem die ausdrückliche Erlaubnis vom Benutzer des Computergeräts erhält, die Informationen zu analysieren. So wird dem Benutzer in hierin erörterten Situationen, bevor ein Computergerät oder Computersystem mit einem Benutzer verknüpfte Informationen sammeln kann oder verwenden darf, unter Umständen eine Möglichkeit gegeben, eine Eingabe bereitzustellen, um zu steuern, ob Programme oder Funktionen des Computergeräts und/oder des Computersystems Benutzerinformationen (wie z. B. Informationen zum aktuellen Standort, der aktuellen Geschwindigkeit des Benutzers usw.) sammeln und verwenden dürfen, oder um festzulegen, ob und/oder wie das Gerät und/oder System Inhalte empfangen kann, die für den Benutzer ggf. relevant sind. Außerdem können bestimmte Daten auf eine oder mehrere Arten behandelt werden, bevor sie vom Computergerät und/oder Computersystem gespeichert oder verwendet werden, sodass eine Person identifizierbare Informationen entfernt werden. So kann beispielsweise die Identität eines Benutzers so behandelt werden, dass eine Person identifizierbare Informationen über den Benutzer bestimmt werden können, oder ein geografischer Standort eines Benutzers verallgemeinert werden kann, wenn Standortinformationen empfangen werden, (beispielsweise zu einer Stadt, eine Postleitzahl oder eine Landesebene), sodass ein bestimmter Standort eines Benutzers nicht bestimmt werden kann. Deshalb kann der Benutzer darüber die Kontrolle haben, wie die Informationen über den Benutzer gesammelt und vom Computergerät und Computersystem verwendet werden.
-
Suchmodul 166 führt Suchen nach Informationen (z. B. die mittels des Internets verfügbar sind) basierend auf Suchabfragen aus, die Suchmodul 166 von Computergeräten 110 und/oder Modulen 162 und/oder 164 empfängt. Beispielsweise kann Suchmodul 166 eine Internetsuche einer Zeichenkette ausführen, die Suchmodul 166 von dem Abfragemodul 122B empfängt, wenn ein Benutzer des Computergeräts 110B mit dem Computergerät 110B interagiert, um ein Online-Bild einer Flughafenterminalkarte zu lokalisieren. Als Reaktion auf die Suche kann Suchmodul 166 ein grafisches Bild der Flughafenterminalkarte erhalten und das grafische Bild zurück zu Computergerät 110B ausgeben.
-
Das Suchmodul 166 kann einen oder mehrere Suchverläufe von Benutzern des Computergeräts 110 aufrechterhalten. Die durch Suchmodule 166 aufrechterhaltenen Suchverläufe können Teil der durch Kontextmodul 162 aufrechterhaltenen Kontextverläufe, oder davon getrennt sein. Die durch Suchmodule 166 generierten Suchverläufe können sortierbar und durchsuchbar sein, sodass zu einer gegebenen Zeit Suchmodul 166 die Suchverläufe von einem oder mehreren der Computergeräte 110 analysieren kann, um zu bestimmen, nach welchen Arten von Abfragen Benutzer der Computergeräte 110 suchten. Suchmodul 166 kann Modulen 162 und 164 Zugang zu den Suchverläufen bereitstellen und/oder kann die Suchverläufe analysieren und Informationen von den Suchverläufen im Namen von Modulen 162 und 164 ausgeben.
-
Bedürfnisvorhersagemodul 164 lernt und sagt die Bedürfnisse von Benutzern von Computergeräten 110 für unterschiedliche Kontexte vorher, und kann automatisch Informationen für Computergeräte 110 bereitstellen, die Benutzer von anderen Computergeräten in ähnlichen Kontexten benötigten, um eine Aufgabe abzuschließen oder eine Aktion auszuführen. Beispielsweise kann das Bedürfnisvorhersagemodul 164 angesichts bestimmter vorheriger Aktionen (z. B. Suchen von bestimmten Abfragen), die durch einen Benutzer eines Computergeräts und/oder andere Benutzer von anderen Computergeräten ausgeführt wurden, eine Aufgabe oder eine Aktion herleiten, die der Benutzer möglicherweise für einen bestimmten Kontext ausführen muss.
-
Basierend auf den Informationen, die Bedürfnisvorhersagemodul 164 von Kontextmodul 162 über aktuelle Kontexte von Computergeräten 110 erhält, kann Bedürfnisvorhersagemodul 164 bestimmen, wann ein aktueller Kontext einem vorherigen Kontext entspricht, innerhalb dessen Benutzer von Computergeräten 110 die Aufgabe oder Aktion zuvor ausführten. Bedürfnisvorhersagemodul 164 kann das Suchmodul 166 anfragen, eine Suche nach Informationen auszuführen, die einen Benutzer beim Abschließen der abgeleiteten Aktion oder Aufgabe unterstützen können. Das Bedürfnisvorhersagemodul 164 kann die Informationen, die Suchmodul 166 findet, um die Aufgabe abzuschließen oder die Aktion auszuführen, einem oder mehreren Computergeräten 110 zur Präsentation gegenüber einem Benutzer (z. B. als Benutzeroberfläche 114 an einer der UIDs 112) bereitstellen.
-
Ein Benutzer-„Bedürfnis“, wie hierin beschrieben, kann als ein semantisch gruppiertes Muster von Benutzeraktionen in einem gegebenen Kontext basierend auf Beobachtungen durch ein System von Benutzeraktionen definiert sein (z. B. in Aktionsprotokollen wie z. B. Suchverläufen, Kaufverläufen, Anwendungsverwendungsverläufen und anderen Kontextverläufen). Es wird darauf hingewiesen, dass dies nur eine beispielhafte Definition zum Vereinfachen der Abhandlung des durch Bedürfnisvorhersagemodul 164 verwendeten Modells ist. Daher sind die Aufgaben oder Aktionen aufgrund dieser beispielhaften Definition möglicherweise nicht notwendigerweise Bedürfnisse, vielmehr sind beobachtete Aktionen oder durchgeführte Aufgaben möglicherweise ein Proxy, das Bedürfnisvorhersagemodul 164 verwenden kann, um die allgemeineren Bedürfnisse von Benutzern von Computergeräten 110 abzuleiten.
-
Bedürfnisvorhersagemodul 164 wird in Bezug auf die zusätzlichen FIGS. ausführlicher beschrieben. Zusammenfassend kann Bedürfnisvorhersagemodul 164 eine oder mehrere Maschinenlerntechniken ausführen, um die Bedürfnisse von Benutzern von Computergeräten 110 für unterschiedliche Kontexte zu lernen. Mit anderen Worten ausgedrückt, modelliert Bedürfnisvorhersagemodul 164 Benutzerbedürfnisse, da Bedürfnisvorhersagemodul 164 möglicherweise unfähig ist, die Bedürfnisse von Benutzern von Computergeräten 110 direkt zu lernen. Bedürfnisvorhersagemodul 164 kann sowohl Kontextinformationen von Kontextmodul 162 als auch Suchverlaufsinformationen von Suchmodul 166 empfangen, und diese Informationen als Eingaben für das Modell zum Trainieren des Modells bereitstellen, um die Bedürfnisse von Benutzern für bestimmte Kontexte zu lernen. Einmal trainiert, kann das Modell einen bestimmten Kontext als eine Eingabe empfangen, und als Reaktion einen Hinweis (z. B. Daten) ausgeben, der bezeichnend für eine oder mehrere Aufgaben, Aktionen oder andere beobachtbare Handlungen ist, die zuvor von anderen Benutzern für den bestimmten Kontext ausgeführt wurden.
-
Gemäß den Techniken dieser Offenbarung kann ISS 160 mindestens teilweise basierend auf Suchverläufen (z. B. zusätzlich zu Kaufverläufen, Anwendungsverwendung usw.) in Zusammenhang mit einer Gruppe von Computergeräten 110 für einen bestimmten Kontext eine Aufgabe identifizieren, die durch Benutzer der Gruppe von Computergeräten 110 für den bestimmten Kontext ausgeführt wurde. Beispielsweise kann ein Benutzer des Computergeräts 110A ein anderes Land das erste Mal besuchen und einen Flug zu einem Flughafen in dem anderen Land nehmen. Nach der Ankunft kann das Computergerät 110A eine Verbindung über Netzwerk 130 mit ISS 160 aufbauen.
-
Kontextmodul 162 kann einen aktuellen Kontext des Computergeräts 110A bestimmen und den aktuellen Kontext mit Bedürfnisvorhersagemodul 164 teilen. Bedürfnisvorhersagemodul 164 kann den aktuellen Kontext des Computergeräts 110A in ein Modell eingeben, das das Bedürfnisvorhersagemodul 164 verwendet, um eine oder mehrere Aktionen abzuleiten, die typischerweise durch andere Benutzer von Computergeräten 110 angesichts ähnlicher Kontexte ausgeführt werden. Bedürfnisvorhersagemodul 164 kann unter Verwendung des Modells eine oder mehrere Aufgaben identifizieren, die Benutzer typischerweise ausführen, wenn sie den Flughafen des anderen Landes besuchen.
-
In einigen Beispielen beinhaltet ein Beispiel einer abgeleiteten Aufgabe das Navigieren zu einem bestimmten Standort von einem aktuellen Standort des Computergeräts 110A. Beispielsweise kann das Modell des Bedürfnisvorhersagemoduls 164 Daten ausgeben, die schließen lassen, dass Benutzer typischerweise nach Taxis von dem Flughafen in dem anderen Land suchen. Oder in einigen Beispielen kann das Modell Daten ausgeben, die schließen lassen, dass Benutzer typischerweise die Durchführung (z. B. das Öffnen) einer bodentransportbezogenen Anwendung von ihrem jeweiligen einen der Geräte 110 auslösen, um ein Taxi zu bestellen.
-
In jedem Fall kann Bedürfnisvorhersagemodul 164 basierend auf den von dem Modell empfangenen Informationen bestimmen, dass Benutzer der Computergeräte 110 typischerweise ein Taxi nach Ankunft am Flughafen benötigen, und kann deshalb ableiten, dass der Benutzer des Computergeräts 110A ein Taxi benötigen könnte. In einigen Beispielen kann Bedürfnisvorhersagemodul 164 einfach Suchmodul 166 auffordern, eine Suche basierend auf den durch das Modell identifizierten Aufgaben oder Aktionen auszuführen. Bedürfnisvorhersagemodul 164 kann dann automatisch die Suchergebnisse (oder die von den Suchergebnissen abgeleiteten Informationen) an Computergerät 110A ausgeben, sodass UI-Modul 120A den Benutzer darauf aufmerksam machen kann, dass er oder sie möglicherweise ein Taxi rufen muss.
-
In anderen Beispielen kann Bedürfnisvorhersagemodul 164 einige zusätzliche Analysen der von dem Bedürfnismodell empfangenen Informationen ausführen, bevor es Informationen an Computergerät 110A sendet. Einfach ausgedrückt kann Bedürfnisvorhersagemodul 164 bestimmen, ob ein Grad von Wahrscheinlichkeit (z. B. eine Wahrscheinlichkeit, eine Zählung usw.), dass die Aufgabe für den bestimmten Kontext ausgeführt wird, ausreichend einen Grad von Wahrscheinlichkeit ausgleicht, dass die Aufgabe für einen breiteren Kontext ausgeführt wird. Auf diese Weise kann Bedürfnisvorhersagemodul 164 nur Informationen ausgeben, wenn die Aufgabe, die der Benutzer möglicherweise ausführen muss, sich besonders außerhalb des Normalen befindet oder ansonsten einzigartig für eine bestimmte Situation ist.
-
Beispielsweise kann das Bedürfnismodell des Bedürfnisvorhersagemoduls 164 bestimmen, dass Benutzer typischerweise eine E-Mail-Anwendung von Computergeräten 110 öffnen, wenn sie sich an einem bestimmten Flughafen befinden. Das Bedürfnismodell des Bedürfnisvorhersagemoduls 164 kann jedoch bestimmen, dass Benutzer typischerweise dieselbe E-Mail-Anwendung von Computergeräten 110 für andere Kontexte öffnen, einschließlich dem Flughafen und einem großen geografischen Bereich, der den bestimmten Flughafen umgibt. Bedürfnisvorhersagemodul 164 kann bestimmen, dass die Wahrscheinlichkeit des Öffnens der E-Mail-Anwendung nach der Ankunft am Flughafen in dem anderen Land ähnlich dem Grad von Wahrscheinlichkeit des Öffnens der E-Mail-Anwendung außerhalb des Flughafens in dem anderen Land ist. Daher kann Bedürfnisvorhersagemodul 164 bestimmen, dass der Benutzer des Computergeräts 110A nicht auf das Empfangen eines Alarms achten muss, um seine oder ihre E-Mail zu prüfen, da das „Bedürfnis“ möglicherweise nicht von ausreichendem Interesse ist, um den Benutzer zu unterbrechen oder auf sonstige Weise proaktiv zu alarmieren.
-
Um zu bestimmen, ob Informationen für ein Bedürfnis zum Erfüllen einer bestimmten Aufgabe von ausreichendem Interesse sind, um einen Benutzer zu unterbrechen, kann das Bedürfnismodell des Bedürfnisvorhersagemoduls 164 einen ersten Grad von Wahrscheinlichkeit, dass die Aufgabe durch die Benutzer der Gruppe von Computergeräten 110 für den bestimmten Kontext ausgeführt wird, mit einem zweiten Grad von Wahrscheinlichkeit vergleichen, dass die Aufgabe durch die Benutzer der Gruppe von Computergeräten 110 für einen breiteren Kontext ausgeführt wird, der den bestimmten Kontext und mindestens einen anderen Kontext beinhaltet. Beispielsweise kann das Bedürfnisvorhersagemodul 164 bestimmen, dass fünfundsiebzig Prozent von Benutzern der Computergeräte 110 Suchen nach Bodentransportmitteln ausführen, wenn die Benutzer sich am Flughafen in dem anderen Land befinden, und dass nur zwanzig Prozent von Benutzern der Computergeräte 110 dieselbe Suche nach Bodentransportmitteln ausführen, wenn die Benutzer sich irgendwo innerhalb des anderen Landes befinden, einschließlich wenn sich die Benutzer am Flughafen befinden.
-
Das Bedürfnismodell des Bedürfnisvorhersagemoduls 164 kann den Unterschied zwischen den zwei Wahrscheinlichkeiten mit einem Schwellenwertbetrag (z. B. zehn Prozent, zwanzig Prozent usw.) vergleichen, um zu bestimmen, ob das Bedürfnis nach Informationen für den bestimmten Kontext das Bedürfnis nach ähnlichen Informationen in dem breiteren Kontext ausreichend ausgleicht. Beispielsweise kann der Schwellenwertbetrag zwanzig Prozent betragen, oder in anderen Worten ausgedrückt kann das Bedürfnismodell des Bedürfnisvorhersagemoduls 164 erfordern, dass das Bedürfnis nach Informationen in dem bestimmten Kontext, das Bedürfnis nach den Informationen in dem breiteren Kontext um mindestens zwanzig Prozent überwiegt.
-
Als Reaktion auf Bestimmen, dass der erste Grad von Wahrscheinlichkeit den zweiten Grad von Wahrscheinlichkeit um einen Schwellenwertbetrag überschreitet, und dass ein aktueller Kontext des Computergeräts 110A dem bestimmten Kontext entspricht, kann Bedürfnisvorhersagemodul 164 Informationen zum Abschließen der Aufgabe für den bestimmten Kontext auf Computergerät 110A übertragen. Beispielsweise kann Bedürfnisvorhersagemodul 164 nach dem Bestimmen, dass die Wahrscheinlichkeit, dass ein Benutzer des Computergeräts 110A Bodentransportmittel an dem Flughafen in dem anderen Land benötigen wird, ausreichend größer als die Wahrscheinlichkeit ist, dass der Benutzer Bodentransport irgendwo in dem Land benötigen wird, Suchmodul 166 veranlassen, eine Suche nach nützlichen Informationen in Verbindung mit der Inanspruchnahme von Bodentransportmitteln vom Flughafen in dem anderen Land auszuführen.
-
In einigen Beispielen können die Informationen zum Abschließen der Aufgabe für den bestimmten Kontext, den ISS 160 Computergerät 110A übermittelt, auf mindestens einem Suchergebnis von den Suchverläufen basieren, die der Gruppe von Computergeräten 110 zugeordnet sind. Beispielsweise können die an Computergerät 110A gesendeten Informationen einige oder alle der Informationen sein, die vorherige Benutzer durch Ausführen einer Suche in einem bestimmten Kontext erhielten. Auf diese Weise stellt ISS 160 die Informationen bereit, die der Benutzer wahrscheinlich sowieso suchen wird, ohne dass es erforderlich ist, dass der Benutzer mit seinem oder ihrem Computergerät 110A interagiert, um die Suche auszuführen.
-
In einigen Beispielen kann ISS 160 auf das Übertragen der Informationen auf Computergerät 110A zum Abschließen der Aufgabe für den bestimmten Kontext als Reaktion auf Bestimmen verzichten, dass der erste Grad von Wahrscheinlichkeit den zweiten Grad von Wahrscheinlichkeit nicht um den Schwellenwertbetrag überschreitet. Beispielsweise kann das Bedürfnisvorhersagemodul 164 nach dem Bestimmen, dass die Wahrscheinlichkeit, dass der Benutzer des Computergeräts 110A Bodentransportmittel an dem Flughafen in dem anderen Land benötigen wird, nicht ausreichend größer als die Wahrscheinlichkeit ist, dass der Benutzer Bodentransportmittel irgendwo in dem Land benötigen wird, darauf verzichten, Suchmodul 166 zu veranlassen, eine Suche nach nützlichen Informationen in Verbindung mit der Inanspruchnahme von Bodentransportmitteln vom Flughafen in dem anderen Land auszuführen. Anders ausgedrückt stellt ISS 160 Informationen zum Erfüllen eines vorhergesagten Bedürfnisses möglicherweisen nicht bereit, wenn das Bedürfnis nicht einzigartig für eine bestimmte Situation ist, sondern stattdessen allgemein für viele oder alle Situationen benötigt wird.
-
In jedem Fall kann Suchmodul 166 unter der Annahme, dass der erste Grad von Wahrscheinlichkeit den zweiten Grad von Wahrscheinlichkeit um den Schwellenwertbetrag überschreitet, und Bedürfnisvorhersagemodul 164 Suchmodul 166 zum Ausführen einer Suche nach Informationen in Zusammenhang mit einem Bedürfnis veranlasst, Informationen über das Bedürfnis zurücksenden. In einigen Beispielen können die Informationen einen oder mehrere Vorschläge zum Reisen von einem aktuellen Standort zu einem bestimmten Standort beinhalten. In einigen Beispielen können die Informationen den Standort des Taxidepots am Flughafen beinhalten, ob Trinkgeld in dem anderen Land üblich ist, und andere nützliche Informationen über die Inanspruchnahme von Bodentransportmitteln vom Flughafen in dem anderen Land. Beispielsweise kann Suchmodul 166 bestimmen, dass nur lokale Währung (z. B. keine fremde Währung oder Kreditkarten) von Bodentransportfahrern vom Flughafen akzeptiert wird. Bedürfnisvorhersagemodul 164 kann Informationen an Computergerät 110A ausgeben, das Anweisungen zum Präsentieren der Benutzeroberfläche 114 an UID 112A beinhaltet, um die von Suchmodul 166 erhaltenen Informationen zu übermitteln.
-
Nach Empfang der Informationen von ISS 160 kann UI-Modul 120A UID 112A veranlassen Benutzeroberfläche 114 zur Anzeige auszugeben, und kann in einigen Beispielen Computergerät 110A zum Ausgeben eines Akustikalarms veranlassen sowie den Benutzer darauf hinweisen, dass nützliche Informationen zum Erfüllen seiner oder ihrer Bedürfnisse in dem bestimmten Kontext auf UID 112A verfügbar sind. In diesem Beispiel kann der Benutzer des Computergeräts 110A basierend auf den vom ISS 160 empfangenen Informationen wissen, dass er einen Währungsumtauschschalter aufsuchen sollte, bevor er in ein Taxi steigt.
-
Dementsprechend, wenn ein Benutzer eines Computergeräts, das Informationen von einem beispielhaften Computersystem empfängt, das die hierin beschriebenen Techniken ausführt, sich in einer unbekannten Situation befindet, kann es für den Benutzer notwendig sein, Suchen nach Informationen auszuführen oder auf sonstige Weise Eingaben für sein oder ihr Computergerät bereitzustellen, um Informationen und Tatsachen zu erhalten, die dem Benutzer beim Abschließen einer bestimmten Aufgabe helfen können, um ein bestimmtes Ziel zu erreichen. Stattdessen kann das beispielhafte System automatisch die Bedürfnisse des Benutzers anhand des bestimmten Kontexts der Situation ableiten, und automatisch dem Computergerät nützliche Informationen bereitstellen, die die Bedürfnisse des Benutzers erfüllen, und dem Benutzer beim Erreichen der Aufgabe oder des Ziels helfen können.
-
Auf diese Weise, anders als bei anderen Computergeräten und -systemen, die es erforderlich machen, dass der Benutzer Eingaben (z. B. Suchabfragen) eingibt, und des Weiteren in der Lage zu sein, ausreichend Informationen (z. B. korrekte Suchabfragebegriffe) bereitzustellen, um die anderen Computergeräte und -systeme beim Lokalisieren der bestimmten Informationen zu führen, die der Benutzer sucht, stellt das beispielhafte System die benötigten Informationen automatisch bereit. Selbst wenn der Benutzer sich der Aufgaben nicht bewusst ist, die der Benutzer möglicherweise abschließen muss, oder der Informationen, die der Benutzer suchen sollte, um erfolgreich durch die unbekannte Situation zu navigieren und das bestimmte Ziel zu erreichen, wird das beispielhafte System immer noch automatisch die benötigten Informationen bereitstellen.
-
Zusätzlich kann das beispielhafte System, anders als andere Computergeräte und -systeme, benötigte Informationen bereitstellen, die einen bestimmten „Wow!“-Effekt haben. Mit anderen Worten ausgedrückt kann dadurch, dass die Ausgabe von Informationen für einen bestimmten Kontext davon abhängig ist, ob ein erster Grad von Wahrscheinlichkeit einer Aufgabe, die durch Benutzer der Gruppe von Computergeräten für einen bestimmten Kontext ausgeführt wird, einen zweiten Grad von Wahrscheinlichkeit der Aufgabe, die durch die Benutzer der Gruppe von Computergeräten für einen breiteren Kontext und mindestens einen Kontext ausgeführt wird, um einen Schwellenwertbetrag überschreitet, das beispielhafte Computersystem wahrscheinlicher in der Lage sein, dass es Informationen bereitstellt, die ein Benutzer nicht bereits kennt und/oder von denen er keine Möglichkeit hatte zu wissen, dass er oder sie diese für einen bestimmten Kontext benötigen würde. Die Informationen, die das beispielhafte System bereitstellt, können einige der verdeckteren Tatsachen oder sonstige nuancierte Informationen beinhalten, die sehr spezifisch für eine bestimmte Situation eines Benutzers sind (z. B. Zeit, Ort usw.) und die ansonsten nur sehr erfahrenen Benutzern bekannt wären, die zuvor in der bestimmten Situation waren.
-
Folglich muss der Benutzer keine vorherige Kenntnis über die unterschiedlichen Aktionen haben, die der Benutzer möglicherweise ausführen muss, bevor er die unbekannte Situation erlebt. Der Benutzer kann weniger Stress erleben und weniger Zeit verbringen mit dem Bereitstellen von Eingaben an einem Computergerät, um nach Informationen zu suchen, wenn der Benutzer versucht, Informationen zu erhalten, die zum Erreichen eines bestimmten Ziels notwendig sind. Mit weniger direkter Benutzerinteraktion (z. B. Eingabe) von einem Benutzer kann das beispielhafte System Energie sparen und weniger Batterieleistung im Vergleich zu anderen Systemen verwenden, die einem Benutzer lediglich die Fähigkeit bereitstellen, nach Informationen zu suchen.
-
2 ist ein Blockdiagramm, das Informationsserversystem (ISS) 260 als ein beispielhaftes Computersystem veranschaulicht, das zur Vorhersage der Bedürfnisse eines Benutzers eines Computergeräts, wie z. B. eines der Computergeräte 110 von 1, und zum Bereitstellen von Informationen zur Erfüllung der Bedürfnisse gemäß einem oder mehreren Aspekten der vorliegenden Offenbarung konfiguriert ist. ISS 260 ist ein ausführlicheres Beispiel des ISS 160 von 1 und ist unten innerhalb des Kontextes von System 100 von 1 beschrieben. 2 veranschaulicht nur ein bestimmtes Beispiel des ISS 260 und viele andere Beispiele des ISS 260 können in anderen Instanzen verwendet werden und eine Untergruppe der Komponenten beinhalten, die im beispielhaften ISS 260 enthalten sind, oder zusätzliche Komponenten beinhalten, die in 2 nicht dargestellt sind.
-
ISS 260 stellt Computergeräten 110 eine Leitung bereit, durch die ein Computergerät, wie z. B. Computergeräte 110A, Suchen nach Informationen in Zusammenhang mit Suchabfragen durchführen können, und in einigen Beispielen automatisch Informationen empfangen, von denen das ISS 260 vorhersagt, dass sie die Bedürfnisse von Benutzern von Computergeräten 110 für einen bestimmten Kontext erfüllen werden. Wie in dem Beispiel von 2 dargestellt, beinhaltet ISS 260 einen oder mehrere Prozessoren 270, eine oder mehrere Kommunikationseinheiten 272 und ein oder mehrere Speichergeräte 274. Speichergeräte 274 des ISS 260 beinhalten Kontextmodul 262, Bedürfnisvorhersagemodul 264 und Suchmodul 266. Innerhalb des Bedürfnisvorhersagemoduls 264 beinhalten Speichergeräte 74 Trainingsmodul 268. Module 262–266 beinhalten mindestens dieselben, wenn nicht mehr, Fähigkeiten als jeweils Module 162–166 von 1.
-
Speichergeräte 274 des ISS 260 beinhalten ferner Suchverlaufsdatenspeicher 270A, Kontextverlaufsdatenspeicher 270B und Aufgaben- und Bedürfnisregeldatenspeicher 270C (zusammenfassend „Datenspeicher 270“). Kommunikationskanäle 276 können mit jeder der Komponenten 270, 272 und 274 zwecks Kommunikation zwischen den Komponenten (physikalisch, kommunikativ und/oder operativ) verbunden sein. In einigen Beispielen können Kommunikationskanäle 276 einen Systembus, eine Netzwerkverbindung, eine prozessübergreifende Kommunikationsdatenstruktur oder ein beliebiges anderes Verfahren zur Kommunikation von Daten beinhalten.
-
Eine oder mehrere Kommunikationseinheiten 272 des ISS 260 können mit externen Computergeräten, wie z. B. Computergeräten 110 von 1, durch Übertragen und/oder Empfangen von Netzwerksignalen auf einem oder mehreren Netzwerken kommunizieren, wie z. B. Netzwerk 130 von 1. Beispielsweise kann ISS 260 Kommunikationseinheit 272 zum Übertragen und/oder Empfangen von Funksignalen über Netzwerk 130 zum Austauschen von Informationen mit Computergeräten 110 verwenden. Beispiele von Kommunikationseinheit 272 können eine Netzwerkschnittstellenkarte (z. B. eine Ethernetkarte), einen optischen Sender-Empfänger, einen Funkfrequenz-Sender-Empfänger, einen GPS-Empfänger oder jede andere Art von Vorrichtung beinhalten, die Informationen senden und/oder empfangen kann. Andere Beispiele von Kommunikationseinheiten 272 können Kurzwellenradios, Mobilfunkdatenradios, drahtlose Ethernet-Netzwerkradios, sowie Universal Serial Bus(USB)-Schnittstellen, beinhalten.
-
Ein oder mehrere Speichergeräte 274 innerhalb des ISS 260 können Informationen für die Verarbeitung während des Betriebs des ISS 260 speichern (z. B. kann das ISS 206 Daten speichern, auf die Module 262, 264, 266 und 268 während der Ausführung des ISS 260 zugreifen können). In einigen Beispielen sind die Speichergeräte 274 ein temporärer Speicher, was bedeutet, dass der Hauptzweck der Speichergeräte 274 nicht die Langzeitspeicherung ist. Die Speichergeräte 274 auf dem ISS 260 können für eine kurzfristige Speicherung von Informationen als flüchtiger Speicher konfiguriert werden und daher gespeicherte Inhalte nicht behalten, wenn sie ausgeschaltet werden. Beispiele für flüchtige Speicher beinhalten Hauptzugriffsspeicher (RAM), dynamisches RAM (DRAM), statische Arbeitsspeicher (SRAM) und andere Formen von flüchtigen Speichern, die auf dem Gebiet bekannt sind.
-
Die Speichergeräte 274 beinhalten in einigen Beispielen auch ein oder mehrere computerlesbare Speichermedien. Die Speichergeräte 274 können größere Mengen von Informationen als flüchtige Speicher speichern. Die Speichergeräte 274 können weiterhin zur Langzeitspeicherung von Informationen als nicht flüchtiger Speicherplatz und zum Beibehalten von Informationen nach Stromeinschalt-/Ausschaltzyklen konfiguriert sein. Beispiele von nicht flüchtigen Speichern beinhalten magnetische Festplatten, optische Festplatten, Disketten, Flashspeicher oder Formen von elektrisch programmierbaren Speichern (EPROM) oder von elektrisch überschreibbaren und programmierbaren (EEPROM) Speichern. Die Speichergeräte 274 können Programmanweisungen und/oder Daten in Verbindung mit den Modulen 262, 264, 266 und 268 speichern.
-
Ein oder mehrere Prozessoren 270 können Funktionalität implementieren und/oder Anweisungen innerhalb des ISS 260 ausführen. Beispielsweise können Prozessoren 270 auf dem ISS 260 Anweisungen empfangen und ausführen, die durch die Speichervorrichtungen 274 gespeichert sind, die Funktionalitäten von Modulen 262, 264, 266 und 268 ausführen. Diese durch die Prozessoren 270 ausgeführten Anweisungen können das ISS 260 dazu veranlassen, während der Programmausführung in den Speichergeräten 274 Informationen zu speichern. Die Prozessoren 270 können Anweisungen der Module 262, 264, 266 und 268 ausführen, um die Bedürfnisse von Benutzern von Computergeräten für unterschiedliche Kontexte angesichts der vorherigen Aktionen von anderen Benutzern von anderen Computergeräten für dieselben Kontexte zu lernen und vorherzusagen, und automatisch Informationen bereitzustellen, die relevant für die vorhergesagten Bedürfnisse eines Benutzers eines Computergeräts für einen bestimmten Kontext sind. Das bedeutet, dass die Module 262, 264, 266 und 268 von den Prozessoren 270 verwendet werden können, um zahlreiche Aktionen, oder Funktionen des ISS 270, wie in dieser Anmeldung beschrieben, auszuführen.
-
Die Datenspeicher 270 repräsentieren jedes geeignete Speichermedium zum Speichern von Informationen in Zusammenhang mit Suchverläufen (z. B. Suchbegriffe, Synonyme, zugehörige Suchbegriffe usw.), Kontextverläufe (z. B. Standorte, Tageszeiten, Gerätezustandsinformationen, Benutzerinformationen usw.) und Regeln (z. B. eines Maschinenlernsystems) zum Vorhersagen der Bedürfnisse von Benutzern von Computergeräten für unterschiedliche Kontexte. Die in den Datenspeichern 270 gespeicherten Informationen können so durchsuchbar und/oder so kategorisierbar sein, dass eines oder mehrere Module 262–268 Eingabeanfrageinformationen von einem oder mehreren der Datenspeicher 270 bereitstellen können, und als Reaktion auf die Eingabe in den Datenspeichern 270 gespeicherte Informationen empfangen.
-
Der Suchverlaufsdatenspeicher 270A kann primär durch das Suchmodul 266 aufrechterhalten werden, kann Teil des Kontextverlaufsdatenspeichers 270B, oder davon getrennt sein, der im Allgemeinen durch das Kontextmodul 262 aufrechterhalten wird. Der Suchverlaufsdatenspeicher 270A kann eine oder mehrere durchsuchbare Datenbanken oder Datenstrukturen beinhalten, die die unterschiedlichen Arten von Informationen organisieren, die durch individuelle Computergeräte gesucht wurden, wie z. B. die Computergeräte 110 von 1. Beispielsweise kann der Suchverlaufsdatenspeicher 270A Zeilen beinhalten, die einzelnen, oder Gruppen von Computergeräten gewidmet sind, und innerhalb jeder Zeile kann der Suchverlaufsdatenspeicher 270A Informationen in Zusammenhang mit Suchen beinhalten, die das Suchmodul 266 zugunsten der einzelnen, oder Gruppen von Computergeräten ausführte. Beispiele von Arten von in dem Datenspeicher 270A gespeicherten Informationen beinhalten Suchbegriffe oder -anfragen, Tageszeiten und/oder Standorte der Computergeräte, die den Suchbegriffen zugeordnet sind, Zählungen, die den Suchbegriffen zugeordnet sind, die Hinweis darauf geben, wie häufig oder wie oft Suchen des Suchbegriffs auftraten, ein Hinweis darauf, ob eine Suche eines Suchbegriffs erfolgreich war (z. B. ob die Suche unmittelbar in einer nachfolgenden Suche resultiert, was impliziert, dass die Suche nicht erfolgreich war), und jede und alle anderen Informationen in Zusammenhang mit durch die Computergeräte ausgeführten Suchen.
-
Wie oben angegeben, kann der Kontextverlaufsdatenspeicher 270B einige oder alle von Suchverlaufsdatenspeicher 270A beinhalten. Kontextverlaufsdatenspeicher 270B beinhaltet organisierte und durchsuchbare Kontextverlaufsinformationen in Zusammenhang mit einzelnen, oder Gruppen von Computergeräten, wie z. B. Computergeräte 110. Diese Arten von Kontextinformationen, die im Kontextverlaufsdatenspeicher 270B gespeichert werden können, beinhalten unter anderem Standortinformationen, Tageszeitinformationen, Sensorinformationen (z. B. von Computergeräten 110 erhalten), Benutzerinteresseninformationen, Informationen über einen Betriebszustand des Geräts, Anwendungsausführungsinformationen (z. B. welche, und wann wurde die Anwendung ausgeführt) und alle anderen Informationen, die das Bedürfnisvorhersagemodul 264 benötigen kann, um die Bedürfnisse der Benutzer vorherzusagen.
-
Der Aufgaben- und Bedürfnisregeln-Datenspeicher 270C beinhaltet eine oder mehrere zuvor entwickelte Regeln, worauf das Bedürfnisvorhersagemodul 264 aufbaut, um eine Aufgabe oder Aktion vorherzusagen, die wahrscheinlich durch einen Benutzer eines Computergeräts für einen aktuellen Kontext ausgeführt wird, sowie Informationen, die der Benutzer benötigen kann, um die Aufgabe abzuschließen. Beispielsweise kann der Datenspeicher 270C Regeln eines Maschinenlern- oder Systems für künstliche Intelligenz des Bedürfnisvorhersagemoduls 264 speichern. Das System für Maschinenlernen oder für künstliche Intelligenz des Bedürfnisvorhersagemoduls 264 kann auf die Regeln des Datenspeichers 270C zugreifen, um Aufgaben und Bedürfnisse abzuleiten, die Benutzern der Computergeräte 110 für einen bestimmten Kontext zugeordnet sind.
-
In einigen Beispielen kann das Bedürfnisvorhersagemodul 264 einen aktuellen Kontext eines Computergeräts als Eingabe für den Datenspeicher 270C bereitstellen und als Ausgabe Informationen empfangen, die zu einer Aufgabe oder Aktion gehören, die ein Benutzer des Computergeräts benötigen kann, um sie in dem aktuellen Kontext und einem breiteren Kontext (der den aktuellen Kontext umfasst) auszuführen. In einigen Beispielen können die Regeln von Datenspeicher 270C einen Grad von Wahrscheinlichkeit (z. B. eine Wahrscheinlichkeit, eine Zählung usw.) ausgeben, die der Aufgabe oder Aktion für den aktuellen Kontext zugeordnet ist, und einen ähnlichen Grad von Wahrscheinlichkeit, der der Aufgabe oder Aktion für den breiteren Kontext zugeordnet ist. Und in einigen Beispielen kann das Bedürfnisvorhersagemodul 264 die vorhergesagte Aufgabe als Eingabe in den Datenspeicher 270C bereitstellen und als Ausgabe Informationen empfangen, die zu den Arten von Informationen gehören, die der Benutzer in dem aktuellen Kontext benötigen kann, um die vorhergesagte Aufgabe abzuschließen.
-
Das Trainingsmodul 268 des Bedürfnisvorhersagemoduls 264 kann die in dem Datenspeicher 270C gespeicherten Regeln generieren, um die Grade von Wahrscheinlichkeit vorherzusagen und zu bestimmen, die den Aufgaben zugeordnet sind, die durch Benutzer für bestimmte Kontexte ausgeführt werden. Beispielsweise kann ein System für Maschinenlernen oder für künstliche Intelligenz des Trainingsmoduls 268 die durch das Kontextmodul 262 erhaltenen, und in dem Datenspeicher 270B gespeicherten Kontextinformationen analysieren und Korrelationen mit den in dem Datenspeicher 270A gespeicherten Suchinformationen identifizieren. Arten von durch das Trainingsmodul 268 verwendeten Maschinenlernsystemen beinhalten Bayessche Netzwerke, neuronale Netze und andere Arten von Modellen mit künstlicher Intelligenz. Beispielsweise kann das Trainingsmodul 268 eine Tabelle mit einer Zeile für jedes Computergerät 110 oder eine Gruppe des Computergeräts 110 entwickeln, die ähnliche Inhalte und ähnliche Suchabfragen, die in den ähnlichen Kontexten ausgeführt werden, teilen. Basierend auf den Korrelationen zwischen Kontextinformationen und Suchinformationen, die den Computergeräten 110 zugeordnet sind, kann das Trainingsmodul 268 Regeln zum Vorhersagen von zukünftigen Suchen entwickeln, die von den Computergeräten 110 für bestimmte Kontexte ausgeführt werden.
-
Beispielsweise kann das Trainingsmodul 268 bestimmen, dass eine Korrelation zwischen Suchabfragen vorhanden ist, die Terminalkarten für einen bestimmten Flughafen zugeordnet ist, wenn ein Abschnitt des Computergeräts 110 an oder in der Nähe des bestimmten Flughafens positioniert ist. Das Trainingsmodul 268 kann eine Regel entwickeln, die einen hohen Grad von Wahrscheinlichkeit produziert, dass ein Computergerät eine Suche nach der Terminalkarte des Flughafens ausführt, wenn das Gerät an diesem bestimmten Flughafen positioniert ist.
-
Als ein weiteres Beispiel kann das Trainingsmodul 268 bestimmen, dass eine Korrelation zwischen Suchabfragen vorhanden ist, die mit Wetter während der Morgenstunden eines Tages in Zusammenhang stehen, wenn ein Abschnitt von Computergeräten 110 an oder in der Nähe des jeweiligen Heimatstandortes positioniert ist, der dem Abschnitt von Computergeräten 110 zugeordnet ist. Das Trainingsmodul 268 kann wiederum eine Regel entwickeln, die einen mittleren Grad von Wahrscheinlichkeit produziert, dass ein Computergerät eine Suche nach dem Wetter während der Morgenstunden von zukünftigen Tagen sucht, wenn das Gerät an einem Heimatstandort positioniert ist. Das Trainingsmodul 268 kann eine zahllose Anzahl von Regeln produzieren, um basierend auf vergangenen beobachteten Aktionen die Arten von zukünftigen Aktionen vorherzusagen, die Benutzer von Computergeräten 110 für einen bestimmten Kontext ausführen könnten.
-
Das Trainingsmodul 268 kann Wahrscheinlichkeiten P von Benutzern, die unterschiedliche Bedürfnisse N haben, gemäß Kontexten C auf unterschiedliche Arten lernen. In einigen Beispielen kann das Trainingsmodul 268 P(N|C) unter Verwendung von Multinomialen oder Zählungen bestimmen. Beispielsweise kann das Trainingsmodul 268 bestimmen, wie viele Male Computergeräte 110 Suchen nach einer Terminalkarte eines Flughafens ausführten, während sie in dem Flughafen waren, im Vergleich zu der Gesamtmenge von Suchen, die von innerhalb des Flughafens ausgeführt wurden, um ein Verhältnis von Terminalkartensuchen zu Gesamtsuchen zu bestimmen.
-
In einigen Beispielen kann das Trainingsmodul 268 P(N|C) unter Verwendung der Bayesschen Regel bestimmen. Beispielsweise kann das Trainingsmodul 268 unter Verwendung der Bayesschen Regel eine Gleichung wie z. B. Gleichung GL. l verwenden; P(N|C) ist proportional zu P(N|C)·P(N) GL. 1
-
In GL. 1, P(N) ist die Wahrscheinlichkeit, dass der Benutzer ein Bedürfnis N hat, und P(C|N) ist die Wahrscheinlichkeit, dass der Benutzer in dem Kontext C wäre, sofern sie das Bedürfnis N haben. Oder in anderen Worten, die spätere Wahrscheinlichkeit für ein gegebenes Bedürfnis, dass ein Kontext proportional zu der Wahrscheinlichkeit des Kontextes angesichts der Bedürfniszeiten der vorherigen Wahrscheinlichkeit des Bedürfnisses ist.
-
Das Trainingsmodul 268 kann des Weiteren Aggregationstechniken und Clusteringtechniken auf den Kontextinformationen und Suchverläufen ausführen, um verbesserte Regeln zum Vorhersagen der Bedürfnisse eines Benutzers zu bestimmen. Beispielsweise kann das Trainingsmodul 268 die berechneten Wahrscheinlichkeiten für spezifische Kontexte aggregieren, um Wahrscheinlichkeiten für allgemeineren Kontext zu bestimmen, da das Trainingsmodul 268 P(N|C) für jeden spezifischen Kontext berechnen kann, der durch das Kontextmodul 262 bestimmt wird. Beispielsweise kann das Trainingsmodul 268 eine Wahrscheinlichkeit eines bestimmten Bedürfnisses nach mehreren einzelnen Flughäfen bestimmen, und dann die jeweiligen Wahrscheinlichkeiten für jeden der unterschiedlichen Flughäfen in eine einzelne Wahrscheinlichkeit für alle Flughäfen aggregieren.
-
Das Trainingsmodul 268 kann Clusteringtechniken ausführen, um ähnliche Aktionen mit ähnlichen Bedürfnissen abzugleichen, die durch das Suchmodul 266 beobachtet wurden. Beispielsweise kann das Trainingsmodul 268 bestimmen, dass wenn zwei unterschiedliche Suchabfragen dieselben Suchergebnisse zum Ergebnis hatten, die zwei Anfragen ähnlich sein müssen und daher als ähnlich behandelt werden können, wenn nicht als dieselbe Aktion oder Aufgabe, wofür ähnliche Bedürfnisse erforderlich sind.
-
3 ist ein zusätzliches Konzeptdiagramm, das das System 300, einschließlich Informationsserversystem (ISS) 360 als ein beispielhaftes System zur Vorhersage der Bedürfnisse eines Benutzers eines Computergeräts, wie z. B. ein oder mehrere Computergeräte 110 von 1, und zum Bereitstellen von Informationen zur Erfüllung der Bedürfnisse gemäß einem oder mehreren Aspekten der vorliegenden Offenbarung, veranschaulicht. Das ISS 360 ist ein zusätzliches Beispiel von dem ISS 160 von 1 und dem ISS 260 von 2, und ist unten im Kontext von System 100 von 1 und dem ISS 260 von 2 beschrieben.
-
Das System 300 beinhaltet das ISS 360, das über das Netzwerk 330 in Kommunikation mit den Computergeräten 310A–310N (zusammenfassend „Computergeräte 310“) steht. Das ISS 360 beinhaltet das Bedürfnisvorhersagemodul 364, das Tabelle 370 produzieren kann, um beobachtete Aktionen oder durchgeführte Aufgaben abzugleichen, die durch die Computergeräte 310 mit jeweiligen Kontexten (z. B. Standorten) ausgeführt werden. Basierend auf den in Tabelle 370 gespeicherten Informationen kann das Bedürfnisvorhersagemodul 364 bestimmen, wann eines der Computergeräte 310 Informationen benötigen kann, um eine vorhergesagte Aufgabe oder Aktion auszuführen, die von Bedürfnisvorhersagemodul 364 als möglicherweise zu ergreifen identifiziert worden ist.
-
3 stellt die Computergeräte 310A, 310B, 310D und 310E dar, die an dem Standort 304 sind, der in diesem Fall San Francisco Airport (SFO) ist. Der umgebende Standort 304 ist Standort 302, der in diesem Beispiel den zehn Quadratkilometer großen Bereich des Staates Kalifornien repräsentiert, der SFO umgibt. In anderen Worten kann der Standort 304 einen bestimmten Kontext repräsentieren, der einem ersten geografischen Bereich zugeordnet ist, und der Standort 302 kann einen breiteren Kontext repräsentieren, der einem zweiten geografischen Bereich zugeordnet ist, der den ersten geografischen Bereich und mindestens einen anderen geografischen Bereich beinhaltet.
-
In einigen Beispielen kann ein bestimmter und breiterer Kontext sich aus Gründen außer der Größe des geografischen Bereiches unterscheiden. Beispielsweise kann ein bestimmter Kontext einem ersten Standort zugeordnet sein, und ein breiterer Kontext kann mehreren Standorten einschließlich des ersten Standorts, mindestens einem anderen Standort zugeordnet sein. Denken wir an das Beispiel, bei dem jedem der mehreren Standorte ein selber Transportmodus zugeordnet ist. Beispielsweise kann ein bestimmter Kontext ein einzelner Flughafen sein, und ein breiterer Kontext kann mehrere Flughäfen beinhalten. Andere Beispiele können sein: eine einzelne Niederlassung und mehrere weitere Niederlassungen einschließlich der einzelnen Niederlassung, einer Wohneinheit oder eines Heims, und mehrere weitere Heime sein, die nicht notwendigerweise an einem Standort positioniert sind usw.
-
In einigen Beispielen kann ein bestimmter und breiterer Kontext sich aus Gründen außer der Größe des Standortes oder des geografischen Bereiches unterscheiden. Beispielsweise kann ein bestimmter Kontext einen ersten Betrag von Zeit (z. B. eine Stunde eines Tages) umfassen und ein breiterer Kontext kann einen zweiten Betrag von Zeit umfassen, der den ersten Betrag von Zeit (z. B. mehrere Stunden des Tages) überschreitet.
-
Das Bedürfnisvorhersagemodul 364 kann Tabelle 370 basierend auf Kontextinformationen und Suchabfragen erstellen, die über das Netzwerk 330 von den Computergeräten 310 empfangen wurden. Das Bedürfnisvorhersagemodul 364 empfängt: Abfrage 316B von dem Computergerät 310B, während das Computergerät 310B an dem Standort 304 positioniert ist, Abfrage 316C von dem Computergerät 310C, während das Computergerät 310B an dem Standort 302 positioniert ist, Abfrage 316D von dem Computergerät 310D, während das Computergerät 310D an dem Standort 304 positioniert ist und Abfrage 316E von dem Computergerät 310E, während das Computergerät 310E an dem Standort 304 positioniert ist. Von der Tabelle 370 kann das Bedürfnisvorhersagemodul 364 eine Regel generieren, die eine Wahrscheinlichkeit einer Suche ausgibt, die für eine Terminalkarte des SFO ausgeführt wird, wenn sich eines der Computergeräte 310 an einem Standort 304 (z. B. innerhalb des SFO) befindet und wenn sich eines der Computergeräte 310 innerhalb des Standortes 302 befindet.
-
In dem Beispiel von 3 kann ein Benutzer des Computergeräts 310A in einem Flugzeug reisen, das an dem Standort 304 ankommt. Während es sich an dem Standort 304 befindet, kann das Computergerät 310A über das Netzwerk 330 Kontextinformationen gemeinsam mit dem ISS 360 nutzen. Das Bedürfnisvorhersagemodul 364 kann bestimmen, dass sich das Computergerät 310A an dem Standort 302 befindet und die Tabelle 370 konsultieren, um zu bestimmen, ob der Benutzer des Computergeräts 310A wahrscheinlich einige Informationen benötigen wird, um dem Benutzer zu helfen, eine vorhergesagte Aufgabe auszuführen.
-
In einigen Beispielen kann die Tatsache, ob das ISS 360 Informationen für das Computergerät 310A zum Abschließen einer Aufgabe bereitstellt, davon abhängig sein, ob der dem Benutzer und/oder dem Computergerät 310A zugeordnete Kontext neu ist oder nicht. In anderen Worten, bevor es Informationen bereitstellt, kann das Bedürfnisvorhersagemodul 364 bestimmen, ob der aktuelle Kontext des Computergeräts 310A ein neuer Kontext ist, der nicht in einem dem Benutzer des Computergeräts 310A zugeordneten Kontextverlauf enthalten ist. Wenn das Vorhersagemodul 364 bestimmt, dass der Kontext nicht neu ist, dann kann das Vorhersagemodul 364 auf das Bereitstellen von Informationen verzichten, da das Vorhersagemodul 364 annehmen kann, dass der Benutzer bereits weiß, wie die Aufgabe abzuschließen, und die Situation zu navigieren ist.
-
In jedem Fall kann das Bedürfnisvorhersagemodul 364 bestimmen, dass das Computergerät 310A gemeinsam mit den Computergeräten 310B, 310C und 310E einen ähnlichen Kontext nutzt, die jeweils Suchen nach einer SFO-Terminalkarte durchführten, da das Computergerät 310A an dem Standort 302 positioniert ist. Basierend auf der Bestimmung, dass das Computergerät 310A denselben Kontext wie die Geräte 310B, 310C und 310E teilt, kann das Bedürfnisvorhersagemodul 364 ableiten, dass der Benutzer des Computergeräts 310A eine ähnliche Aktion ausführen kann und möglicherweise eine Suche nach einer Terminalkarte des SFO durchführen wird. Daher kann das Bedürfnisvorhersagemodul 364, anstatt vom Benutzer des Computergeräts 310A zu verlangen, eine Suchabfrage einzugeben, wie dies andere Benutzer vorher getan haben, um nach einer Terminalkarte zu suchen, automatisch Informationen 314 bereitstellen, die ein grafisches Bild der Terminalkarte repräsentieren, wonach der Benutzer andernfalls wahrscheinlich suchen müsste.
-
In einigen Beispielen kann das Bedürfnisvorhersagemodul 364 die Informationen von der Tabelle 370 mit ähnlichen Informationen aggregieren, die mit anderen Flughäfen oder anderen Standorten ähnlich den Standorten 302 und 304 in Zusammenhang stehen, um eine allgemeinere Regel für die Informationen zu bestimmen, die ein Benutzer benötigen kann. Unter Verwendung der allgemeinen Regel kann das Bedürfnisvorhersagemodul 364 unterschiedliche Informationen zum Abschließen der Aufgabe für einen anderen Kontext bereitstellen, der den bestimmten Kontext ausschließt. Beispielsweise wenn der Benutzer auf dem Flughafen Los Angeles Airport (LAX) gelandet ist, kann der Benutzer immer noch eine Terminalkarte benötigen, als wenn er oder sie auf dem SFO gelandet wäre, jedoch kann das Bedürfnisvorhersagemodul 364, anstatt ein grafisches Bild von SFO bereitzustellen, logischerweise eine Terminalkarte von LAX bereitstellen.
-
In einigen Beispielen kann das Bedürfnisvorhersagemodul 364 einen Service oder ein Tool bereitstellen, das dritte Anwendungsentwickler für Computergeräte 310 in die Lage versetzt, das Vorhersagemodul 364 nach den Bedürfnissen von Benutzern basierend auf beobachteten Aktionen abzufragen. Beispielsweise kann ein Entwickler, der daran interessiert ist, Inhalt auf einem der Computergeräte 310 anzuzeigen, den besten Kontext nachschlagen, um die finanziellen Informationen auszugeben, und zwar durch Abfragen des Vorhersagemoduls 364 nach „finanziellen Informationen“. Das Bedürfnisvorhersagemodul 364 kann die Kontextverläufe von Geräten analysieren, die Suchen nach Aktienfernschreibersymbolen ausführten, Suchen, die Ergebnisse suchen, die zu finanziellen Informationen gehören, Besuche über Geräte 310 auf finanzbezogenen Webseiten und das Öffnen von Anwendungen in Zusammenhang mit Finanzen. Das Bedürfnisvorhersagemodul 364 kann dem Entwickler den Kontext bereitstellen, in dem das Bedürfnis für finanzielle Informationen ausgelöst wird, zusätzlich zu dem potenzielle Bereitstellen unterschiedlicher Metriken in Zusammenhang damit, wann und wo das Bedürfnis ausgelöst wird, wie z. B. Abdeckung, Qualitätsmetrik usw.
-
4A und 4B sind Ablaufdiagramme, die beispielhafte Vorgänge 410–436 veranschaulichen, die durch ein beispielhaftes Computersystem ausgeführt werden, das zur Vorhersage der Bedürfnisse eines Benutzers eines Computergeräts, und zum Bereitstellen von Informationen zur Erfüllung der Bedürfnisse gemäß einem oder mehreren Aspekten der vorliegenden Offenbarung konfiguriert ist. 4A und 4B sind unten in dem Kontext von System 100 von 1 beschrieben. Beispielsweise kann das ISS 160 Vorgänge 410–436 zur Vorhersage der Bedürfnisse eines Benutzers eines Computergeräts 110A ausführen und Informationen zur Erfüllung der Bedürfnisse gemäß einem oder mehreren Aspekten der vorliegenden Offenbarung bereitstellen.
-
Wie in 4A dargestellt, kann das ISS 160 im Betrieb Suchverläufe empfangen, die einer Gruppe von Computergeräten für einen bestimmten Kontext (410) zugeordnet sind. Beispielsweise können Benutzer der Computergeräte 110 jeweilige Abfragemodule 122 veranlassen, Abfragen an das ISS 160 zum Durchführen von Suchen nach Informationen zu senden. Zusätzlich zum Durchführen von Suchen der Suchabfragen kann das Suchmodul 166 die Suchabfragen und/oder -ergebnisse speichern, um einen oder mehrere Suchverläufe zu generieren, die jedem von den Computergeräten 110 zugeordnet sind.
-
Das ISS 160 kann basierend auf den Suchverläufen eine Aufgabe identifizieren, die durch Benutzer der Gruppe von Computergeräten für den bestimmten Kontext (412) ausgeführt wird. Beispielsweise kann ein Bedürfnisvorhersagemodul 164 eine oder mehrere Korrelationen zwischen dem Kontext von Computergeräten 110 und den Suchverläufen bestimmen, die in jedem der Kontexte generiert wurden, und kann eine oder mehrere Suchen ableiten, die die Computergeräte 110 ausführen können, wenn sie sich in ähnlichen Kontexten befinden.
-
Das ISS 160 kann einen ersten Grad von Wahrscheinlichkeit bestimmen, dass die Aufgabe durch die Benutzer der Gruppe von Computergeräten für den bestimmten Kontext (414) ausgeführt wird. Beispielsweise kann das Bedürfnisvorhersagemodul 164 für jede potenzielle Aufgabe für jeden gegebenen Kontext eine Menge von Suchen anhand der Suchverläufe bestimmen, die der Gruppe von Computergeräten 110 zugeordnet sind, die mit jeder der Aufgaben in Zusammenhang stehen. Das Bedürfnisvorhersagemodul 164 kann bestimmen, dass diese Aufgaben, die eine größere Menge von Suchen aufweisen, eine größere Wahrscheinlichkeit aufweisen, dass es sich um eine Aufgabe handelt, die durch einen Benutzer für den bestimmten Kontext ausgeführt werden kann.
-
In einigen Beispielen kann das Bedürfnisvorhersagemodul 164 den ersten Grad von Wahrscheinlichkeit mindestens teilweise basierend auf einer ersten Menge von Suchen (d. h. eine erste Zahl von Suchen) von den Suchverläufen bestimmen, die der Gruppe von Computergeräten 110 für einen bestimmten Kontext zugeordnet sind, die mit der Aufgabe und einer Gesamtmenge von Suchen (d. h. Gesamtanzahl von Suchen) in Zusammenhang stehen, anhand der Suchverläufe, die der Gruppe von Computergeräten für den bestimmten Kontext zugeordnet sind. Anders ausgedrückt kann das Bedürfnisvorhersagemodul 164, anstatt sich auf Zählungen an sich zu verlassen, spezifische Zählungen modulieren, um sich auf Prozentsätze oder Verhältnisse für jede ausgeführte Aufgabe im Vergleich zu allen Aufgaben zu verlassen, die in einem bestimmten Kontext ausgeführt werden, um einen Grad von Wahrscheinlichkeit zu bestimmen, dass eine bestimmte Aufgabe für einen gegebenen Kontext ausgeführt wird.
-
Wie hierin verwendet, kann das Bedürfnisvorhersagemodul 164 basierend auf einer oder mehreren von den Maschinenlernregeln ableiten, auf die das Bedürfnisvorhersagemodul 164 Zugriff hat, um die Bedürfnisse von Benutzern basierend auf Aktionen vorherzusagen, dass eine Suche „mit einer Aufgabe in Zusammenhang steht“ oder „einer Aufgabe zugeordnet ist“. Die Regeln können auf einer Annahme basieren, dass die Suchen, die zu denselben Ergebnissen führen oder ähnliche Aktionen veranlassen, mit denselben Bedürfnissen in Zusammenhang stehen. Beispielsweise wenn Benutzer Suchen nach Terminalkarten, Flughafenbodentransport, Standorte von Gepäckbereichen usw. in einer Suchmaschineneingabe eingeben, kann die Suchmaschine als bestes Ergebnis eine Flughafenterminalkarte hervorbringen. Daher kann das Bedürfnisvorhersagemodul 164 ableiten, dass Suchen nach Terminalkarten, Flughafenbodentransport, Standorten von Gepäckbereichen usw. alle mit dem Bedürfnis nach einer Terminalkarte in Zusammenhang stehen.
-
Das ISS 160 kann einen zweiten Grad von Wahrscheinlichkeit bestimmen, dass die Aufgabe durch die Benutzer der Gruppe von Computergeräten für einen breiteren Kontext ausgeführt wird, der den bestimmten Kontext und mindestens einen anderen Kontext (416) beinhaltet. Beispielsweise kann das Bedürfnisvorhersagemodul 164 für jede potenzielle Aufgabe für breitere Kontexte eine zusätzliche Menge von Suchen anhand der Suchverläufe bestimmen, die der Gruppe von Computergeräten 110 zugeordnet sind, die mit jeder der Aufgaben in Zusammenhang stehen. Das Bedürfnisvorhersagemodul 164 kann bestimmen, dass diese Aufgaben, die eine größere Menge von Suchen nach den breiteren Kontexten aufweisen, auch eine größere Wahrscheinlichkeit aufweisen, dass es sich um eine Aufgabe handelt, die durch einen Benutzer für den breiteren Kontext ausgeführt werden kann.
-
Das ISS 160 kann bestimmen, ob der erste Grad von Wahrscheinlichkeit den zweiten Grad von Wahrscheinlichkeit um einen Schwellenwertbetrag (418) überschreitet. Beispielsweise kann das Bedürfnisvorhersagemodul 164 anstatt jedes Mal Informationen zum Abschließen einer Aufgabe bereitzustellen, wenn das ISS 160 annimmt, dass eine Person Informationen zum Abschließen einer Aufgabe benötigen kann, bestimmen, ob das Bedürfnis wirklich einzigartig für einen bestimmten Kontext ist, oder stattdessen, ob das Bedürfnis angesichts der Popularität des Bedürfnisses in breiteren Kontexten gut bekannt ist.
-
Als Reaktion auf Bestimmen, dass der erste Grad den zweiten Grad um einen Schwellenwertbetrag überschreitet, kann das ISS-Modul 160 bestimmen, ob der aktuelle Kontext eines bestimmten Computergeräts 110 dem bestimmten Kontext (420) entspricht, der der abgeleiteten Aufgabe zugeordnet ist. Beispielsweise kann das Bedürfnisvorhersagemodul 164, wenn das durch das Bedürfnisvorhersagemodul 164 verwendete Modell trainiert ist, Kontextinformationen über die Computergeräte 110 in das Modell eingeben, um zu bestimmen, ob der aktuelle Kontext von einem der Computergeräte 110 mit einem Kontext mit einem beobachteten Bedürfnis in Zusammenhang steht oder diesem entspricht. Das Vorhersagemodul 164 kann bestimmen, dass das Computergerät 110A einen Kontext aufweist, der typischerweise dem Bedürfnis nach Informationen über Bodentransport von einem Flughafen in einem anderen Land zugeordnet ist.
-
Als Reaktion auf Bestimmen, dass der aktuelle Kontext des bestimmten Computergeräts 110 dem bestimmten Kontext entspricht, kann das ISS 160 zu dem bestimmten Computergerät Informationen zum Abschließen der Aufgabe für den bestimmten Kontext (422) übertragen. Beispielsweise kann das Bedürfnisvorhersagemodul 164 als Reaktion auf Bestimmen, dass ein Benutzer des Computergeräts 110A in einer Situation sein könnte, in der der Benutzer einen Taxidienst benötigt, das Suchmodul 166 nach Informationen über das Nehmen von Taxis von dem bestimmten Flughafen in dem anderen Land abfragen. Das Bedürfnisvorhersagemodul 164 kann die durch das Suchmodul 166 abgerufenen Informationen als Inhalt zur Präsentation an der UID 112A auf dem Computergerät 110A verpacken, und den Inhalt als Daten über das Netzwerk 130 zu dem UI-Modul 120A übertragen. Das UI-Modul 120A kann die UID 112A konfigurieren, um den Inhalt zu präsentieren (z. B. auf einer Anzeige).
-
Wie in 4B dargestellt, kann das ISS 160 im Betrieb basierend auf den Suchverläufen eine zweite Aufgabe identifizieren, die durch Benutzer der Gruppe von Computergeräten für den bestimmten Kontext (424) ausgeführt wird. Beispielsweise kann das Bedürfnisvorhersagemodul 164 zusätzlich zum Bestimmen, dass Benutzer nach Bodentransportinformationen am Flughafen in dem anderen Land suchen, auch bestimmen, dass Benutzer von Computergeräten 110 oftmals nach einer Terminalkarte des Flughafens suchen.
-
Das ISS 160 kann einen dritten Grad von Wahrscheinlichkeit bestimmen, dass die zweite Aufgabe durch die Benutzer der Gruppe von Computergeräten für den bestimmten Kontext (426) ausgeführt wird, und kann des Weiteren einen vierten Grad von Wahrscheinlichkeit bestimmen, dass die zweite Aufgabe durch die Benutzer der Gruppe von Computergeräten für den breiteren Kontext ausgeführt wird, der den bestimmten Kontext und mindestens einen anderen Kontext (428) beinhaltet. Beispielsweise kann das Bedürfnisvorhersagemodul 164 ähnlich wie die oben beschriebenen Vorgänge 414 und 416 jeweilige Grade von Wahrscheinlichkeit bestimmen, die der Aufgabe des Suchens nach einer Terminalkarte in sowohl dem Kontext des Flughafens in dem anderen Land als auch dem Kontext des gesamten anderen Landes zugeordnet sind.
-
In einigen Beispielen kann das ISS 160 als Reaktion auf Bestimmen, dass der dritte Grad von Wahrscheinlichkeit den vierten Grad von Wahrscheinlichkeit um den Schwellenwertbetrag überschreitet, und dass der aktuelle Kontext des bestimmten Computergeräts dem bestimmten Kontext entspricht, zu dem bestimmten Computergerät zweite Informationen zum Abschließen der zweiten Aufgabe für den bestimmten Kontext übertragen. Beispielsweise kann das Bedürfnisvorhersagemodul 164 genau wie bei den oben beschriebenen Vorgängen 418–422 als Reaktion auf Bestimmen, dass ein Benutzer des Computergeräts 110A in einer Situation sein könnte, in der der Benutzer eine Terminalkarte benötigt, das Suchmodul 166 nach Informationen über Terminalkarten für den bestimmten Flughafen in dem anderen Land abfragen. Das Bedürfnisvorhersagemodul 164 kann die durch das Suchmodul 166 abgerufenen Informationen als Inhalt zur Präsentation an der UID 112A auf dem Computergerät 110A verpacken, und den Inhalt als Daten über das Netzwerk 130 zu dem UI-Modul 120A übertragen, wobei das UI-Modul 120A die UID 112A konfigurieren kann, um den Inhalt zu präsentieren (z. B. auf einer Anzeige).
-
Das ISS 160 kann eine Einstufung der ersten und zweiten Aufgabe bestimmen und die Einstufung dem Computergerät 110A bereitstellen, sodass das Computergerät 110A unterscheiden kann, welche Informationen auf dem UID 112A zu zeigen sind (z. B. die Terminalkarte oder die Taxiinformationen).
-
Zum Bestimmen der Einstufung kann das ISS 160 eine erste Differenz zwischen dem ersten Grad von Wahrscheinlichkeit und dem zweiten Grad von Wahrscheinlichkeit (430) bestimmen und eine zweite Differenz zwischen dem dritten Grad von Wahrscheinlichkeit und dem vierten Grad von Wahrscheinlichkeit (432) bestimmen. Basierend auf der ersten Differenz und der zweiten Differenz kann das ISS 160 die Einstufung der ersten Aufgabe und der zweiten Aufgabe bestimmen. Beispielsweise basiert die Einstufung der ersten und zweiten Aufgabe nicht notwendigerweise darauf, welche Aufgabe die meisten Zählungen oder die höchste Wahrscheinlichkeit für einen bestimmten Kontext aufweist. Stattdessen kann die Einstufung darauf basieren, welche Aufgabe die meisten Zählungen oder die höchste Wahrscheinlichkeit für einen bestimmten Kontext im Vergleich zu einem Schwellenwert aufweist. Der Schwellenwert kann repräsentativ für die Gesamtmenge von Zählungen oder die Wahrscheinlichkeit für den breiteren Kontext sein. In anderen Worten kann das ISS 160 die Aufgabe, die einzigartiger für die bestimmte Situation ist, aus dem Grund höher einstufen, dass es weniger wahrscheinlich ist, dass die einzigartigere Aufgabe einem Benutzer in einer neuen Situation bekannt ist oder von diesem verstanden wird.
-
Beispielsweise kann das Bedürfnisvorhersagemodul 164 eine erste Menge von Suchen von den Suchverläufen bestimmen, die der Gruppe von Computergeräten für den bestimmten Kontext zugeordnet sind, die mit der ersten Aufgabe in Zusammenhang stehen oder dieser ansonsten zugeordnet sind, und eine zweite Menge von Suchen von den Suchverläufen, die der Gruppe von Computergeräten für den bestimmten Kontext zugeordnet sind, die mit der zweiten Aufgabe in Zusammenhang stehen oder dieser auf sonstige Weise zugeordnet sind. Dann kann das Bedürfnisvorhersagemodul 164 die zwei Aufgaben basierend auf den zwei Mengen einstufen, wenn sie mit jeweiligen Mengen der ersten und zweiten Aufgabe für breitere Kontexte verglichen werden.
-
In jedem Fall kann das ISS 160 nach dem Einstufen der zwei Aufgaben die Einstufung zu dem Computergerät übertragen, um zwischen dem Ausgeben der ersten Informationen und der zweiten Informationen (436) zu priorisieren. Beispielsweise kann das Bedürfnisvorhersagemodul 164 Informationen über das Netzwerk 130 ausgeben, die die Einstufung zwischen dem Präsentieren der Terminalkarte oder den Taxiinformationen angeben. Nach dem Erhalt der Einstufung kann das UI-Modul 120A die UID 112A dazu veranlassen, die höher eingestuften Informationen zuerst zu präsentieren.
-
Das ISS 160 kann die Einstufung von Bedürfnissen und Aufgaben basierend auf dem Gedanken aufbauen, dass es möglich ist, die Aktionsprotokolle zu durchsuchen und zu zählen, wie oft ein Bedürfnis oder eine Aufgabe für ein bestimmtes Bedürfnis und einen Kontext auftrat, da Aktionen unter Verwendung von Aktionsprotokollen (z. B. Suchverläufe) beobachtbar sind. Auf diese Weise kann das ISS 160 die anderen Aufgaben zugeordneten Zählungen als eine Möglichkeit vergleichen, um die Bedürfnisse relativ zueinander (z. B. wichtig für die Punktzahlbildung/Einstufung), und absolut ausgedrückt (z. B. zum Auslösen, wann das Bedürfnis darzustellen oder zu übertragen ist) zu vergleichen.
-
Beispielsweise kann das ISS 160 auf einer Punktzahlfunktion s(N, C) aufbauen, die zum Einstufen der Kandidatenbedürfnisse N als eine Funktion f basierend auf der Wahrscheinlichkeit P(N|C) verwendet wird, dass der Benutzer das Bedürfnis N angesichts des Benutzerkontextes C hat, wie in GL. 2 dargestellt: N* = argmaxNP(N|C)/P(N) GL. 2
-
Angesichts eines gegebenen bestimmten Kontexts C kann das ISS 160 P(N|C) verwenden, um die größten Kandidatenbedürfnisse vorherzusagen, möglicherweise als Eingabe in eine Funktion, die die Wahrscheinlichkeit eines bekannten Bedürfnisses gegenüber dem „Wow“-Faktor eines interessierenden Bedürfnisses moduliert (z. B. „Anheben“ eines interessierenden Bedürfnisses über ein bekanntes Bedürfnis). Das heißt, die Wahrscheinlichkeit angesichts des Kontexts geteilt durch die Hindergrundwahrscheinlichkeit für das Bedürfnis. Beispielsweise basierend auf der Beziehung, die in GL. 3 dargestellt ist: N* = argmaxNP(N|C)/P(N|C) GL. 3
-
In einigen Beispielen kann das ISS 160 anstatt Wahrscheinlichkeiten zu verwenden, Bedürfnisse basierend auf Zählungen mit Punktzahlen bewerten. GL. 4 definiert eine Bedürfnispunktzahl als: Punktzahl = #Beobachtet – #Erwartet(Hintergrund) – #Geräusch(#Beobachtet) GL. 4
-
In dieser Ableitung ist #Beobachtet die Anzahl von Malen, die eine Aktion durch das Bedürfnisvorhersagemodul 164 in den Suchverläufen und/oder Kontextinformationen der Computergeräte 110 beobachtet wurde, #Erwartet(Hintergrund) ist die erwartete Anzahl von Malen, von der das ISS 160 erwartet, eine Aktion in dem aktuellen Kontext zu beobachten unter der Annahme, dass die Aktion in dem gegebenen Hintergrund ähnlich erscheint (z. B. [#Zählung im Hintergrund/#alle Zählungen im Hintergrund] × #alle Zählungen im Kontext). Schlussendlich ist Geräusch(#Beobachtet) ein Normalisierungsfaktor, um das ISS 160 darzustellen unter der Bestimmung, dass Aktionen mit niedrigen Zählungen nicht relevant für die Bedürfnisvorhersage sein können. In einigen Beispielen kann eine Formulierung von #Geräusch(#beobachtet) eine reibungslose Funktion wie z. B. eine inverse sigmoidale Funktion sein. Eine einfache Formulierung für Geräusch(#Beobachtet) könnte die in GL. 5 dargestellte Funktion sein: #Geräusch(#Beobachtet) = #Beobachtet, wenn #Beobachtet < 10 #Geräusch(#Beobachtet) = 0, ansonsten GL. 5
-
Klausel 1. Verfahren, umfassend: das Identifizieren einer von Benutzern der Gruppe von Computergeräten für einen bestimmten Kontext ausgeführten Aufgabe basierend auf Suchverläufen, die einer Gruppe von Computergeräten für einen bestimmten Kontext zugeordnet sind, durch ein Computersystem; Bestimmen eines ersten Grades von Wahrscheinlichkeit durch das Computersystem, dass die Aufgabe durch die Benutzer der Gruppe von Computergeräten für den bestimmten Kontext ausgeführt wird; Bestimmen eines zweiten Grades von Wahrscheinlichkeit durch das Computersystem, dass die Aufgabe durch die Benutzer der Gruppe von Computergeräten für einen breiteren Kontext ausgeführt wird, der den bestimmten Kontext und mindestens einen anderen Kontext beinhaltet; und als Reaktion auf Bestimmen, dass der erste Grad von Wahrscheinlichkeit den zweiten Grad von Wahrscheinlichkeit um einen Schwellenwertbetrag überschreitet, und dass ein aktueller Kontext eines bestimmten Computergeräts dem bestimmten Kontext entspricht, der durch das Computersystem Informationen zum Abschließen der Aufgabe für den bestimmten Kontext zu einem bestimmten Computergerät, überträgt.
-
Klausel 2. Verfahren nach Klausel 1, wobei die Informationen zum Abschließen der Aufgabe für den bestimmten Kontext des Weiteren als Reaktion auf Bestimmen übertragen werden, dass der Kontext ein neuer Kontext ist, der nicht in einem dem Benutzer des Computergeräts zugeordneten Kontextverlauf enthalten ist.
-
Klausel 3. Verfahren nach einer der Klauseln 1–2, wobei die Informationen zum Abschließen der Aufgabe für den bestimmten Kontext erste Informationen sind, wobei das Verfahren des Weiteren das Folgende umfasst: Bestimmen von zweiten Informationen durch das Computersystem, die sich von den ersten Informationen unterscheiden, zum Abschließen der Aufgabe für einen unterschiedlichen Kontext, der den bestimmten Kontext ausschließt.
-
Klausel 4. Verfahren nach einer der Klauseln 1–2, wobei der ersten Grad von Wahrscheinlichkeit mindestens teilweise basierend auf einer Menge von Suchen von den Suchverläufen bestimmt wird, die der Gruppe von Computergeräten für den bestimmten Kontext zugeordnet sind, die der Aufgabe zugeordnet sind.
-
Klausel 5. Verfahren nach Klausel 4, wobei: die Menge von Suchen eine erste Menge von Suchen von ersten Suchverläufen ist, die einer ersten Gruppe von Computergeräten für den bestimmten Kontext zugeordnet sind, und der zweite Grad von Wahrscheinlichkeit mindestens teilweise basierend auf einer zweiten Menge von Suchen von Suchverläufen bestimmt wird, die einer zweiten Gruppe von Computergeräten für den breiteren Kontext zugeordnet sind, die der Aufgabe zugeordnet sind.
-
Klausel 6. Verfahren nach einer der Klauseln 1–5, wobei der bestimmte Kontext einen ersten Zeitbetrag umfasst, und der breitere Kontext einen zweiten Zeitbetrag umfasst, der größer als der erste Zeitbetrag ist.
-
Klausel 7. Verfahren nach einer der Klauseln 1–6, wobei der bestimmte Kontext einem ersten geografischen Bereich zugeordnet ist, und der breitere Kontext einem zweiten geografischen Bereich zugeordnet ist, der den ersten geografischen Bereich und mindestens einen anderen geografischen Bereich beinhaltet.
-
Klausel 8. Verfahren nach einer der Klauseln 1–7, wobei die Informationen zum Abschließen der Aufgabe für den bestimmten Kontext auf mindestens einem Suchergebnis von den Suchverläufen basieren, die der Gruppe von Computergeräten zugeordnet sind.
-
Klausel 9. Computersystem, umfassend: mindestens einen Prozessor und mindestens ein Modul, das von dem mindestens einen Prozessor betreibbar ist zum: Identifizieren einer von Benutzern der Gruppe von Computergeräten für den bestimmten Kontext ausgeführten Aufgabe basierend auf Suchverläufen, die einer Gruppe von Computergeräten für einen bestimmten Kontext zugeordnet sind; Bestimmen eines ersten Grades von Wahrscheinlichkeit, dass die Aufgabe durch die Benutzer der Gruppe von Computergeräten für den bestimmten Kontext ausgeführt wird; Bestimmen eines zweiten Grades von Wahrscheinlichkeit, dass die Aufgabe durch die Benutzer der Gruppe von Computergeräten für einen breiteren Kontext ausgeführt wird, der den bestimmten Kontext und mindestens einen anderen Kontext beinhaltet; und als Reaktion auf das Bestimmen, dass der erste Grad von Wahrscheinlichkeit den zweiten Grad von Wahrscheinlichkeit um einen Schwellenwertbetrag überschreitet, und dass ein aktueller Kontext eines bestimmten Computergeräts dem bestimmten Kontext entspricht, das Übertragen von Informationen zum Abschließen der Aufgabe für den bestimmten Kontext zu dem bestimmten Computergerät.
-
Klausel 10. Computersystem nach Klausel 9, wobei der bestimmte Kontext einem ersten geografischen Bereich zugeordnet ist, und der breitere Kontext einem zweiten geografischen Bereich zugeordnet ist, der den ersten geografischen Bereich und mindestens einen anderen geografischen Bereich beinhaltet.
-
Klausel 11. Computersystem nach einer der Klauseln 9–10, wobei der erste Grad von Wahrscheinlichkeit mindestens teilweise basierend auf einer ersten Menge von Suchen von den Suchverläufen bestimmt wird, die der Gruppe von Computergeräten für den bestimmten Kontext zugeordnet sind, die der Aufgabe zugeordnet sind, und einer Gesamtmenge von Suchen, von den Suchverläufen, die der Gruppe von Computergeräten für den bestimmten Kontext zugeordnet sind.
-
Klausel 12. Computersystem nach einer der Klauseln 9–11, wobei der bestimmte Kontext einem ersten Standort zugeordnet ist, und der breitere Kontext mehreren Standorten einschließlich des ersten Standorts und mindestens eines anderen Standorts zugeordnet ist.
-
Klausel 13. Computersystem nach Klausel 12, wobei jeder der mehreren Standorte einem selben Transportmodus zugeordnet ist.
-
Klausel 14. Computersystem nach einer der Klauseln 9–13, wobei die Gruppe von Computergeräten das bestimmte Computergerät ausschließt.
-
Klausel 15. Computersystem nach einer der Klauseln 9–14, wobei das mindestens eine Modul des Weiteren durch den mindestens einen Prozessor in der Lage ist, auf das Übertragen der Informationen zum Abschließen der Aufgabe für den bestimmten Kontext als Reaktion auf Bestimmen zu verzichten, dass der erste Grad von Wahrscheinlichkeit den zweiten Grad von Wahrscheinlichkeit nicht um den Schwellenwertbetrag überschreitet.
-
Klausel 16. Computerlesbares Speichermedium, umfassend Anweisungen, die bei Ausführung mindestens einen oder mehrere Prozessoren eines Computersystems konfigurieren zum: Identifizieren einer von Benutzern der Gruppe von Computergeräten für einen bestimmten Kontext ausgeführten Aufgabe basierend auf Suchverläufen, die einer Gruppe von Computergeräten für den bestimmten Kontext zugeordnet sind; Bestimmen eines ersten Grades von Wahrscheinlichkeit, dass die Aufgabe durch die Benutzer der Gruppe von Computergeräten für den bestimmten Kontext ausgeführt wird; Bestimmen eines zweiten Grades von Wahrscheinlichkeit, dass die Aufgabe durch die Benutzer der Gruppe von Computergeräten für einen breiteren Kontext ausgeführt wird, der den bestimmten Kontext und mindestens einen anderen Kontext beinhaltet; und als Reaktion auf das Bestimmen, dass der erste Grad von Wahrscheinlichkeit den zweiten Grad von Wahrscheinlichkeit um einen Schwellenwertbetrag überschreitet, und dass ein aktueller Kontext eines bestimmten Computergeräts dem bestimmten Kontext entspricht, das Übertragen von Informationen zum Abschließen der Aufgabe für den bestimmten Kontext zu dem bestimmten Computergerät.
-
Klausel 17. Computerlesbares Speichermedium nach Klausel 16, wobei die Aufgabe eine erste Aufgabe ist, die Informationen erste Informationen sind und die Anweisungen bei Ausführung des Weiteren den einen oder die mehreren Prozessoren des Computersystems konfigurieren zum: Bestimmen eines dritten Grades von Wahrscheinlichkeit, dass eine zweite Aufgabe durch die Benutzer der Gruppe von Computergeräten für den bestimmten Kontext ausgeführt wird, wobei die zweite Aufgabe des Weiteren basierend auf den Suchverläufen identifiziert wird, die der Gruppe von Computergeräten für den bestimmten Kontext zugeordnet sind; und Bestimmen eines vierten Grades von Wahrscheinlichkeit, dass die zweite Aufgabe durch die Benutzer der Gruppe von Computergeräten für den breiteren Kontext ausgeführt wird, der den bestimmten Kontext und mindestens einen anderen Kontext beinhaltet; und als Reaktion auf das Bestimmen, dass der dritte Grad von Wahrscheinlichkeit den vierten Grad von Wahrscheinlichkeit um den Schwellenwertbetrag überschreitet, und dass der aktuelle Kontext des bestimmten Computergeräts dem bestimmten Kontext entspricht, das Übertragen von Informationen zum Abschließen der zweiten Aufgabe für den bestimmten Kontext zu dem bestimmten Computergerät.
-
Klausel 18. Computerlesbares Speichermedium nach Klausel 17, wobei die Anweisungen bei Ausführung des Weiteren den einen oder die mehreren Prozessoren des Computersystems konfigurieren zum: Bestimmen einer ersten Differenz zwischen dem ersten Grad von Wahrscheinlichkeit und dem zweiten Grad von Wahrscheinlichkeit; Bestimmen einer zweiten Differenz zwischen dem dritten Grad von Wahrscheinlichkeit und dem vierten Grad von Wahrscheinlichkeit; Bestimmen einer Einstufung der ersten Aufgabe und der zweiten Aufgabe basierend auf der ersten Differenz und der zweiten Differenz; und Übertragen der Einstufung zum Priorisieren zwischen dem Ausgeben der ersten Informationen und der zweiten Informationen an das Computergerät.
-
Klausel 19. Computerlesbares Speichermedium nach Klausel 18, wobei die Anweisungen bei Ausführung des Weiteren den einen oder die mehreren Prozessoren des Computersystems konfigurieren zum Bestimmen der Einstufung der ersten und zweiten Aufgabe basierend auf: einer ersten Menge von Suchen von den Suchverläufen, die der Gruppe von Computergeräten für den bestimmten Kontext zugeordnet sind, die der ersten Aufgabe zugeordnet sind; und einer zweiten Menge von Suchen von den Suchverläufen, die der Gruppe von Computergeräten für den bestimmten Kontext zugeordnet sind, die der zweiten Aufgabe zugeordnet sind.
-
Klausel 20. Computerlesbares Speichermedium nach einer der Klauseln 16–19, wobei die Aufgabe Navigieren zu einem bestimmten Standort von einem aktuellen Standort des bestimmten Computergeräts beinhaltet, und die Informationen einen oder mehrere Vorschläge zum Reisen von dem aktuellen Standort zu dem bestimmten Standort umfassen.
-
Klausel 21. Computersystem nach Klausel 9, umfassend Mittel für das Durchführen eines der Verfahren nach einem der Ansprüche 1–8.
-
Klausel 22. Computerlesbares Speichermedium nach Klausel 16, umfassend weitere Anweisungen, die bei Ausführung den einen oder die mehreren Prozessoren des Computersystems von Klausel 9 zum Ausführen eines der Verfahren von Klauseln 1–8 veranlassen.
-
In einem oder mehreren Beispielen können die beschriebenen Funktionen in Hardware, Software, Firmware oder einer beliebigen Kombination derselben implementiert sein. Wenn sie in Software implementiert sind, können die Funktionen als eine oder mehrere Anweisungen oder Codes als ein computerlesbares Medium gespeichert oder übertragen werden und von einer hardwarebasierten Verarbeitungseinheit ausgeführt werden. Das computerlesbare Medium kann computerlesbare Speichermedien oder -mediums beinhalten, die einem physischen Medium, wie z. B. Datenspeichermedien, oder Kommunikationsmedien, darunter auch Medien entsprechen, die die Übertragung eines Computerprogramms von einem Standort zum anderen, z. B. gemäß einem Kommunikationsprotokoll, erleichtern. Auf diese Weise kann das computerlesbare Medium im Allgemeinen physischen computerlesbaren (1) Speichermedien, die nicht flüchtig sind oder (2) einem Kommunikationsmedium, wie beispielsweise einem Signal oder einer Trägerwelle entsprechen. Datenspeichermedien können beliebige verfügbare Medien sein, auf die von einem oder mehreren Computern oder einem oder mehreren Prozessoren zugegriffen werden kann, um Anweisungen, Code und/oder Datenstrukturen zur Implementierung der in dieser Offenbarung beschriebenen Techniken abzurufen. Ein Computerprogrammprodukt kann ein computerlesbares Medium beinhalten.
-
Beispielsweise und nicht beschränkend können derartige computerlesbare Speichermedien RAM-, ROM-, EEPROM-, CD-ROM- oder andere optische Plattenspeicher, Magnetplattenspeicher oder andere magnetische Speichergeräte, Flash-Speicher oder ein beliebiges anderes Medium umfassen, das verwendet werden kann, um den gewünschten Programmcode in Form von Anweisungen oder Datenstrukturen zu speichern und auf die von einem Computer zugegriffen werden kann. Zudem wird jede Verbindung als ein computerlesbares Medium bezeichnet. Wenn beispielsweise Anweisungen von einer Webseite, einem Server oder einer anderen entfernten Quelle unter Verwendung eines Koaxialkabels, eines Glasfaserkabels, eines Twisted-Pair-Kabels, einer digitalen Teilnehmerleitung (DSL) oder drahtloser Technologien, wie beispielsweise Infrarot, Radio und Mikrowelle übertragen werden, sind Koaxialkabel, Glasfaserkabel, Twisted-Pair-Kabel, DSL oder drahtlose Technologien, wie beispielsweise Infrarot, Radio und Mikrowelle in der Definition von Medium mit eingeschlossen. Es sollte jedoch klar sein, dass computerlesbare Speichermedien und -mediums sowie Datenspeichermedien keine Verbindungen, Trägerwellen, Signale oder andere physische Medien beinhalten, sondern stattdessen auf nicht flüchtige, physische Speichermedien ausgerichtet sind. Festplatten und Disketten, wie sie hierin verwendet werden, beinhalten Compact Disc (CD), Laserdisc, optische Disc, Digital Versatile Disc (DVD), Diskette und Blu-ray Disc, wobei Disketten typischerweise Daten magnetisch wiedergeben, während Discs Daten optisch mit Lasern wiedergeben. Kombinationen der vorstehenden sollten ebenfalls in den Umfang eines computerlesbaren Mediums eingeschlossen sein.
-
Anweisungen können durch einen oder mehrere Prozessoren, wie beispielsweise einen oder mehrere digitale Signalprozessoren (DSPs), Universalmikroprozessoren, anwendungsorientierte integrierte Schaltungen (ASICs), feldprogrammierbare Gate-Arrays (FPGAs) oder beliebige andere gleichwertige integrierte oder diskrete Logikschaltungen ausgeführt werden. Dementsprechend kann sich der Begriff „Prozessor“, wie er hierin verwendet wird, auf eine beliebige der vorgenannten Strukturen oder jede andere Struktur beziehen, die für die Implementierung der hierin beschriebenen Techniken geeignet ist. Darüber hinaus kann in einigen Aspekten die hierin beschriebene Funktionalität innerhalb dedizierter Hardware- und/oder Softwaremodule bereitgestellt werden. Auch könnten die Techniken vollständig in einer oder mehreren Schaltungen oder Logikelementen implementiert werden.
-
Die Techniken der vorliegenden Offenbarung können in einer breiten Vielfalt von Geräten oder Vorrichtungen implementiert werden, darunter auch in einem drahtlosen Mobilteil, einer integrierten Schaltung (IC) oder einem Satz von ICs (z. B. eines Chipsatzes). In dieser Offenbarung werden verschiedene Komponenten, Module oder Einheiten beschrieben, um funktionelle Aspekte von Geräten zu betonen, die dafür konfiguriert sind, die offenbarten Techniken auszuführen, jedoch nicht notwendigerweise eine Realisierung durch verschiedene Hardware-Einheiten erfordern. Vielmehr können, wie vorstehend beschrieben, verschiedene Einheiten in einer Hardware-Einheit kombiniert oder durch eine Sammlung von interoperativen Hardware-Einheiten, einschließlich eines oder mehrerer Prozessoren, wie vorstehend beschrieben, in Verbindung mit geeigneter Software und/oder Firmware bereitgestellt werden.
-
Es wurden unterschiedliche Ausführungsformen beschrieben. Diese und weitere Ausführungsformen liegen innerhalb des Umfangs der folgenden Ansprüche.