-
GEBIET
-
Die vorliegende Offenbarung betrifft allgemein, einem Benutzer eines Benutzergeräts Aktionen vorzuschlagen, und insbesondere Systeme und Verfahren zum proaktiven Bereitstellen von Vorschlägen für zeitlich begrenzte Aktionen.
-
Unter Schutz gestellt werden und Gegenstand des Gebrauchsmusters sind dabei, entsprechend den Vorschriften des Gebrauchsmustergesetzes, lediglich Vorrichtungen wie in den beigefügten Schutzansprüchen definiert, jedoch keine Verfahren. Soweit nachfolgend in der Beschreibung gegebenenfalls auf Verfahren Bezug genommen wird, dienen diese Bezugnahmen lediglich der beispielhaften Erläuterung der in den beigefügten Schutzansprüchen unter Schutz gestellten Vorrichtung oder Vorrichtungen.
-
HINTERGRUND
-
Häufig fordern Benutzer Aktionen an, die von ihrem Mobilgerät oder einem anderen Computergerät ausgeführt werden sollen, wie z. B. eine Suche durchzuführen oder Wegbeschreibungen zu einem bestimmten geografischen Ort von Interesse zu geben. Das Mobilgerät kann die Anforderung verarbeiten und eine Aufgabe (z. B. Navigation) durchführen, um die Anforderung des Benutzers zu erfüllen. Wenn die Aufgabe startet, ist der Benutzer häufig mit Wartezeit konfrontiert. Während einer solchen Wartezeit wird der Benutzer möglicherweise gelangweilt, was im Übrigen wertvolle Gelegenheiten verschwendet, dem Benutzer Unterstützung zu bieten. In manchen Fällen sucht der Benutzer möglicherweise aktiv auf seinem Mobilgerät nach bestimmten Inhalten, um die Zeit des Benutzers auszufüllen. Solches aktives Suchen kann jedoch wertvolle Computerressourcen nutzen und außerdem den Benutzer potentiell ablenken.
-
KURZDARSTELLUNG
-
Aspekte und Vorteile von Ausführungsformen der vorliegenden Offenbarung sind teils in der folgenden Beschreibung angegeben oder können aus der Beschreibung erlernt werden oder können durch Realisierung der Ausführungsformen erlernt werden.
-
Ein Beispiel-Aspekt der vorliegenden Offenbarung betrifft ein computerimplementiertes Verfahren zum Bereitstellen von Vorschlägen für zeitlich begrenzte Aktionen. Das Verfahren umfasst, mittels eines oder mehrerer Computergeräte von einem Benutzergerät Daten zu empfangen, die eine von einem Benutzer angeforderte zeitlich begrenzte Aktivität angeben. Die zeitlich begrenzte Aktivität ist einer Zeitspanne zugeordnet. Das Verfahren umfasst, mittels der ein oder mehreren Computergeräte einen oder mehrere Parameter zu identifizieren, die einem Benutzer zugeordnet sind, der die zeitlich begrenzte Aktivität angefordert hat. Das Verfahren umfasst, mittels der ein oder mehreren Computergeräte eine vorgeschlagene Aktion mindestens teilweise auf Basis der ein oder mehreren Parameter, die dem Benutzer zugeordnet sind, und der Zeitspanne, die der zeitlich begrenzten Aktivität zugeordnet ist, zu ermitteln. Das Verfahren umfasst, mittels der ein oder mehreren Computergeräte dem Benutzergerät eine Ausgabe bereitzustellen, die die vorgeschlagene Aktion angibt.
-
Ein weiterer Beispiel-Aspekt der vorliegenden Offenbarung betrifft ein System zum Bereitstellen von Vorschlägen für zeitlich begrenzte Aktionen. Das System umfasst einen oder mehrere Prozessoren und ein oder mehrere Speichergeräte. Die ein oder mehreren Speichergeräte speichern Anweisungen, die, wenn sie von den ein oder mehreren Prozessoren ausgeführt werden, die ein oder mehreren Prozessoren veranlassen, Tätigkeiten durchzuführen. Die Tätigkeiten umfassen, von einem Benutzergerät Daten zu empfangen, die eine von einem Benutzer angeforderte zeitlich begrenzte Aktivität angeben. Die zeitlich begrenzte Aktivität ist einer Zeitspanne zugeordnet. Die Tätigkeiten umfassen, einen oder mehrere Parameter zu identifizieren, die einem Benutzer zugeordnet sind, der die zeitlich begrenzte Aktivität angefordert hat. Die Tätigkeiten umfassen, eine vorgeschlagene Aktion mindestens teilweise auf Basis der Parameter, die dem Benutzer zugeordnet sind, und der Zeitspanne, die der zeitlich begrenzten Aktivität zugeordnet ist, zu ermitteln. Die vorgeschlagene Aktion ist innerhalb der Zeitspanne absolvierbar, die der zeitlich begrenzten Aktivität zugeordnet ist. Die Tätigkeiten umfassen, dem Benutzergerät eine Ausgabe bereitzustellen, die die vorgeschlagene Aktion angibt.
-
Noch ein weiterer Beispiel-Aspekt der vorliegenden Offenbarung betrifft ein oder mehrere materielle, nichtflüchtige computerlesbare Medien, die computerlesbare Anweisungen speichern, die, wenn sie von einem oder mehreren Prozessoren ausgeführt werden, die ein oder mehreren Prozessoren veranlassen, Tätigkeiten durchzuführen. Die Tätigkeiten umfassen, Daten zu empfangen, die eine von einem Benutzer angeforderte zeitlich begrenzte Aktivität angeben, die einer Zeitspanne zugeordnet ist. Die Tätigkeiten umfassen, einen oder mehrere Parameter zu identifizieren, die einem Benutzer zugeordnet sind, der die zeitlich begrenzte Aktivität angefordert hat. Die Tätigkeiten umfassen, eine vorgeschlagene Aktion mindestens teilweise auf Basis der Parameter, die dem Benutzer zugeordnet sind, und der Zeitspanne, die der zeitlich begrenzten Aktivität zugeordnet ist, zu ermitteln. Die vorgeschlagene Aktion ist innerhalb der Zeitspanne absolvierbar, die der zeitlich begrenzten Aktivität zugeordnet ist. Die Tätigkeiten umfassen, dem Benutzergerät eine Ausgabe bereitzustellen, die die vorgeschlagene Aktion angibt. Das Benutzergerät ist konfiguriert, die vorgeschlagene Aktion dem Benutzer zu übermitteln.
-
Weitere Beispiel-Aspekte der vorliegenden Offenbarung sind auf Systeme, Vorrichtungen, materielle, nichtflüchtige computerlesbare Medien, Benutzeroberflächen, Speichergeräte und Benutzergeräte zum Bereitstellen von Vorschlägen für zeitlich begrenzte Aktionen gerichtet.
-
Diese und weitere Merkmale, Aspekte und Vorteile von verschiedenen Ausführungsformen werden unter Bezugnahme auf die folgende Beschreibung und die beigefügten Ansprüche besser verstanden. Die begleitenden Zeichnungen, die in diese Beschreibung aufgenommen sind und einen Teil davon bilden, veranschaulichen Ausführungsformen der vorliegenden Offenbarung und dienen zusammen mit der Beschreibung zur Erläuterung der zugehörigen Prinzipien.
-
KURZE BESCHREIBUNG DER ZEICHNUNGEN
-
Eine detaillierte Erörterung von Ausführungsformen, die sich an einen Fachmann richtet, ist in der Beschreibung angegeben, die auf die beigefügten Figuren Bezug nimmt, in denen:
-
1 ein Beispiel-System gemäß Ausführungsbeispielen der vorliegenden Offenbarung zeigt;
-
2 eine Beispiel-Benutzeroberfläche gemäß Ausführungsbeispielen der vorliegenden Offenbarung zeigt;
-
3 das Training eines maschinell erlernten Modells gemäß Ausführungsbeispielen der vorliegenden Offenbarung zeigt;
-
4 ein Flussdiagramm eines Beispiel-Verfahrens gemäß Ausführungsbeispielen der vorliegenden Offenbarung zeigt; und
-
5 ein Beispiel-System gemäß Ausführungsbeispielen der vorliegenden Offenbarung zeigt.
-
DETAILLIERTE BESCHREIBUNG
-
Es wird nun im Detail auf Ausführungsformen Bezug genommen, wovon ein oder mehrere Beispiel(e) in den Zeichnungen dargestellt sind. Jedes Beispiel wird zur Erläuterung der Ausführungsformen und nicht zur Einschränkung der vorliegenden Offenbarung gegeben. Tatsächlich wird dem Fachmann klar sein, dass verschiedene Modifikationen und Variationen an den Ausführungsformen vorgenommen werden können, ohne vom Schutzbereich oder Geist der vorliegenden Offenbarung abzuweichen. Zum Beispiel können Merkmale, die als Teil einer Ausführungsform dargestellt oder beschrieben sind, mit einer anderen Ausführungsform verwendet werden, um noch eine weitere Ausführungsform zu ergeben. Es ist daher beabsichtigt, dass Aspekte der vorliegenden Offenbarung solche Modifikationen und Variationen abdecken.
-
Beispiel-Aspekte der vorliegenden Offenbarung sind darauf gerichtet, einem Benutzer Vorschläge für zeitlich begrenzte Aktionen bereitzustellen, die innerhalb einer gegebenen Zeitspanne abgeschlossen werden können, während eine andere zeitbegrenzte Aktivität durchgeführt wird. Eine zeitlich begrenzte Aktivität kann z. B. eine Aktivität sein, die einer bestimmten Zeitspanne zum Abschließen dieser Aktivität zugeordnet ist. Zum Beispiel kann ein Benutzer anfordern, dass sein Benutzergerät (z. B. ein Mobiltelefon) eine zeitlich begrenzte Aktivität durchführt, wie z. B. Navigieren des Benutzers zu einem Zielort. Die Zeitspanne, die der der Navigation zum Zielort zugeordnet ist, kann die Zeit umfassen, die benötigt wird, um zum Zielort zu reisen. Das Benutzergerät kann Daten, die die Navigations-Aktivität angeben, an ein Computersystem senden, welches einen oder mehrere Parameter identifizieren kann, die dem Benutzer zugeordnet sind. Diese Parameter können zum Beispiel die auf das Benutzergerät des Benutzers heruntergeladenen Softwareanwendungen, die häufig gehörten Podcasts des Benutzers, den Kalender des Benutzers, die Kontakte des Benutzers usw. umfassen. Das Computersystem kann einen oder mehrere der dem Benutzer zugeordneten Parameter verwenden, um proaktiv eine spezifische Aktion für den Benutzer vorzuschlagen, die innerhalb der für die Reise zum Ziel erforderlichen Zeit abgeschlossen werden kann. Zum Beispiel kann das Computersystem in dem Fall, dass die Reisezeit zu dem Ort fünfundvierzig Minuten beträgt, vorschlagen, dass der Benutzer eine Episode des Lieblings-Podcasts des Benutzers hört, die zweiundvierzig Minuten lang ist – so dass der Podcast den Benutzer unterhalten kann, während der Benutzer zum Zielort reist. Auf diese Weise können das System und die Verfahren der vorliegenden Offenbarung proaktiv vorgeschlagene Aktionen für einen Benutzer während anderweitiger Wartezeit, während eine vom Benutzer angeforderte zeitlich begrenzte Aktivität (z. B. Navigation) abgeschlossen wird, bereitstellen.
-
Insbesondere kann ein Benutzer eine zeitlich begrenzte Aktivität über ein Benutzergerät anfordern. Wie oben angegeben, kann die zeitlich begrenzte Aktivität einer Zeitspanne zugeordnet sein, in der die Aktivität abzuschließen ist. Das Benutzergerät kann ein Mobiltelefon, ein Tablet, einen Laptop-Computer usw. umfassen. Zum Beispiel kann der Benutzer anfordern, dass das Benutzergerät den Benutzer zu einem Zielort navigiert. Die einer solchen Navigation zugeordnete Zeitspanne kann die Zeit umfassen, die der Benutzer benötigt, um zum Zielort zu reisen. In einem anderen Beispiel kann der Benutzer sein Benutzergerät verwenden, um eine Beförderungsanforderung (z. B. über eine Mitfahrer-Softwareanwendung) zu tätigen, den Benutzer zu einem Flughafen zu bringen, und die Zeitspanne kann die geschätzte Zeit umfassen, die das angeforderte Fahrzeug benötigt, um anzukommen und den Benutzer abzuholen. Gemäß Aspekten der vorliegenden Offenbarung kann das Benutzergerät Daten, die die zeitlich begrenzte Aktivität angeben, an ein entferntes Computersystem senden.
-
Das Computersystem kann die Daten empfangen, die die vom Benutzer angeforderte zeitlich begrenzte Aktivität angeben, und deren zugeordnete Zeitspanne mit einem Anfangs-Zeitschwellenwert vergleichen. Dies kann es dem Computersystem ermöglichen, zu ermitteln, ob es sich lohnt, eine Aktion für den Benutzer während der Zeitspanne vorzuschlagen. Der Anfangs-Zeitschwellenwert kann ausgewählt werden (z. B. durch einen Benutzer, einen Systemadministrator, eine Standardeinstellung), so dass das Computersystem keine Aktion für den Benutzer vorschlägt, wenn die der zeitlich begrenzten Aktivität zugeordnete Zeitspanne unter dem Schwellenwert liegt. Zum Beispiel kann der Anfangs-Zeitschwellenwert dreißig Sekunden, eine Minute, zwei Minuten usw. betragen. Wenn die der zeitlich begrenzten Aktivität zugeordnete Zeitspanne über dem Anfangs-Zeitschwellenwert liegt, kann das Computersystem eine Aktion für den Benutzer vorschlagen.
-
Um eine geeignete Aktion spezifisch für den Benutzer ermitteln zu helfen, kann das Computersystem einen oder mehrere Parameter identifizieren, die dem Benutzer zugeordnet sind. Zum Beispiel kann das Computersystem einen ersten Satz von Parametern (z. B. Kontaktlisten, To-Do-Listen) von dem Benutzergerät und/oder einen zweiten Satz von Parametern (z. B. einen Kalender des Benutzers, heruntergeladene Softwareanwendungen, heruntergeladener Medieninhalt, Suchanfragen, E-Mail-Daten) von einem vom Benutzergerät entfernten Computergerät erhalten. In manchen Implementierungen können die Parameter einen Ort (z. B. Ziel, aktueller Standort des Benutzers), Tageszeit, Art des Benutzergeräts usw. umfassen. Das entfernte Gerät kann zum Beispiel ein cloudbasiertes Serversystem umfassen, das einem Anbieter des Benutzergeräts und/oder dessen Betriebssystem zugeordnet ist.
-
Zusätzlich zu den obigen Beschreibungen können einem Benutzer Kontrollmöglichkeiten bereitgestellt werden, die es dem Benutzer ermöglichen, eine Wahl zu treffen, ob und wann Systeme, Programme oder Merkmale, die hierin beschrieben sind, das Sammeln von Benutzerinformationen ermöglichen (z. B. Informationen über ein soziales Netzwerk eines Benutzers, soziale Aktionen oder Aktivitäten, Beruf, Vorlieben eines Benutzers oder den aktuellen Standort eines Benutzers), und ob der Benutzer Inhalt oder Kommunikation von einem Server sendet. Außerdem können bestimmte Daten auf eine oder mehrere Arte(n) behandelt werden, bevor sie gespeichert oder verwendet werden, so dass personenbezogen identifizierbare Daten entfernt werden. Zum Beispiel kann die Identität eines Benutzers so behandelt werden, dass keine personenbezogen identifizierbaren Informationen für den Benutzer ermittelt werden können. Somit kann der Benutzer die Kontrolle darüber haben, welche Informationen über den Benutzer gesammelt werden, wie diese Informationen verwendet werden und welche Informationen dem Benutzer bereitgestellt werden.
-
Das Computersystem kann eine vorgeschlagene Aktion für den Benutzer mindestens teilweise auf Basis des oder der Parameter und der Zeitspanne, die der zeitlich begrenzten Aktivität zugeordnet ist, ermitteln. Dies kann es dem Computersystem ermöglichen, Aktionen vorzuschlagen, die auf den bestimmten Benutzer zugeschnitten sind und die innerhalb der Zeitspanne abgeschlossen werden können, die der vom Benutzer angeforderten zeitlich begrenzten Aktivität zugeordnet ist. Außerdem kann das System proaktiv Aktionen für den Benutzer vorschlagen, ohne dass der Benutzer die spezifische Aktion anfordert und/oder anderweitig vorgeschlagene Aktionen vom System anfordert. In manchen Implementierungen können die vorgeschlagenen Aktionen ortsspezifische Aktionen wie etwa vorgeschlagene Stopps (z. B. Restaurants, Geschäfte) entlang einer Reiseroute umfassen. Eine ortsspezifische Aktion kann eine Aktion sein, die einen bestimmten Ort (z. B. zum Abschließen der Aktion) umfasst (und/oder ihm zugeordnet ist). In manchen Implementierungen können die vorgeschlagenen Aktionen aufgabenspezifische Aktionen umfassen, wie z. B. solche zum Unterhalten des Benutzers und/oder solche zum Erreichen von bestimmten Benutzer-Zielsetzungen. Außerdem kann eine aufgabenspezifische Aktion eine Aktion sein, die einen bestimmten Ort (z. B. zum Abschließen der Aktion) nicht umfasst (und/oder ihm nicht zugeordnet ist). Der Benutzer muss nicht zu einem bestimmten Ort fahren, ihn eingeben usw., um eine aufgabenspezifische Aktion abzuschließen. Als Beispiel kann das Computersystem Daten empfangen, die eine Navigations-Aktivität angeben, bei der der Benutzer fünfundvierzig Minuten brauchen wird, um zu dem Ziel zu fahren. Das Computersystem kann Parameter identifizieren, die den Medieninhalt (z. B. Podcasts) angeben, der typischerweise vom Benutzer gestreamt und/oder heruntergeladen wird. Das Computersystem kann proaktiv vorschlagen, dass der Benutzer während der fünfundvierzigminütigen Autofahrt eine zweiundvierzigminütige Episode des Lieblings-Podcasts des Benutzers (z. B. Podcast A) hört, um den Benutzer zu unterhalten. In einem anderen Beispiel kann das Computersystem Daten empfangen, die eine Beförderungsanforderung von dem aktuellen Standort des Benutzers zu einem Flughafen angeben. Es wird geschätzte zehn Minuten dauern, bis das angeforderte Fahrzeug am Ort des Benutzers eintrifft, um den Benutzer abzuholen. Das Computersystem kann Parameter identifizieren, die dem Kalender des Benutzers zugeordnet sind und angeben, dass der Benutzer später an diesem Tag einen Airline-Flug hat, und dem Benutzer proaktiv vorschlagen, dass der Benutzer zu seinem Flug eincheckt. Dies kann es dem Benutzer ermöglichen, die Zielsetzung des Eincheckens zu einem Flug abzuschließen. In einem anderen Beispiel kann das Computersystem Parameter identifizieren, die der To-Do-Liste des Benutzers zugeordnet sind und angeben, dass der Benutzer irgendwann ”die chemische Reinigung anrufen” möchte. Das Computersystem kann vorschlagen, dass der Benutzer ”die chemische Reinigung anruft”, während er darauf wartet, dass das Fahrzeug eintrifft. In diesen Beispielen kann die vorgeschlagene Aktion innerhalb der Zeitspanne abgeschlossen werden, die der zeitlich begrenzten Aktivität (z. B. Navigation, Beförderungsanforderung) zugeordnet ist.
-
In manchen Implementierungen kann das Computersystem die vorgeschlagene Aktion mindestens teilweise auf Basis eines Benutzerbeteiligungsgrades und/oder eines Aktivitätstyps, der der vom Benutzer angeforderten zeitlich begrenzten Aktivität zugeordnet ist, ermitteln. Der Benutzerbeteiligungsgrad kann die Menge an Interaktion (oder deren Fehlen) angeben, die der Benutzer während der Durchführung der zeitlich begrenzten Aktivität benötigt. Dies kann es dem Computersystem ermöglichen, Vorschläge zu machen, die sowohl kontextbezogen als auch aktivitätsangemessen sind. Zum Beispiel kann der Benutzerbeteiligungsgrad für die Navigations-Aktivität angesichts des Aktivitätstyps (z. B. Fahren entlang einer navigierbaren Route) hoch sein. Der Benutzerbeteiligungsgrad für die Beförderungsanforderungs-Aktivität kann angesichts des Aktivitätstyps (z. B. Warten auf ein Fahrzeug) niedrig sein. In dem Fall, dass der Benutzerbeteiligungsgrad hoch ist und/oder der Aktivitätstyp (z. B. Fahren) angibt, dass der Benutzer aktiver beschäftigt sein wird, kann das Computersystem daher eine Aktion vorschlagen, die möglicherweise weniger aktive Interaktion durch den Benutzer erfordert (z. B. einen Podcast hören). In dem Fall, dass der Benutzerbeteiligungsgrad niedrig ist und/oder der Aktivitätstyp (z. B. Warten auf eine Fahrt) angibt, dass der Benutzer weniger aktiv beschäftigt sein wird, kann das Computersystem jedoch eine Aktion vorschlagen, die möglicherweise aktivere Interaktion durch den Benutzer erfordert (z. B. Verwenden eines Benutzergeräts zum Einchecken zu dem Flug des Benutzers, Ausfüllen einer Reisepass-Aktualisierungsanwendung). Zusätzlich und/oder alternativ kann die vorgeschlagene Aktion mindestens teilweise auf dem Grund basieren, weshalb der Benutzer die zeitlich begrenzte Aktivität angefordert hat. Zum Beispiel, wenn die vom Benutzer angeforderte Navigation nach Santa Fe, New Mexico, führt, kann das Computersystem vorschlagen, dass der Benutzer einen Podcast hört, der sich auf Santa Fe bezieht.
-
Das Computersystem kann dem Benutzergerät eine Ausgabe bereitstellen, die die vorgeschlagene Aktion angibt. Zum Beispiel kann das Computersystem eine Audio-Ausgabe erzeugen, die die vorgeschlagene Aktion angibt (z. B. ”Die Fahrt von Ihrem Standort zum Ziel dauert fünfundvierzig Minuten. Sie haben eine Episode von Podcast A, die zweiundvierzig Minuten dauert. Möchten Sie den Podcast hören?”). Zusätzlich und/oder alternativ kann das Computersystem eine visuelle Ausgabe erzeugen, die die vorgeschlagene Aktion angibt, wie z. B. eine Benutzeroberfläche und/oder eine Nachricht, die über das Benutzergerät auf einer Benutzeroberfläche darstellbar ist. Der Benutzer kann bestätigen, die vorgeschlagene Aktion durchzuführen, oder die vorgeschlagene Aktion ablehnen, um sie zu verwerfen. Wie hierin näher beschrieben wird, kann das Computersystem diese Bestätigungen und/oder Ablehnungen verwenden, um Benutzervorlieben zu verfolgen und/oder sein Modell zur Ermittlung von vorgeschlagenen Aktionen zu trainieren.
-
Das Bereitstellen von Vorschlägen für zeitlich begrenzte Aktionen gemäß Beispiel-Aspekten der vorliegenden Offenbarung kann das Erlebnis von Benutzern mit Benutzergeräten verbessern. Insbesondere können die hierin beschriebenen Systeme und Verfahren proaktiv vorgeschlagene Aktionen bereitstellen, die spezifisch auf einen Benutzer zugeschnitten sind. Dies kann es dem Benutzer ermöglichen, mehr Aufgaben auf eine zeiteffiziente und sachdienliche Weise durchzuführen, und außerdem unterhalten zu werden. Außerdem können die Systeme und Verfahren der vorliegenden Offenbarung unter Verwendung von Daten, die vom Benutzer angeforderte zeitlich begrenzte Aktivitäten angeben, letztendlich eine passendere Aktion für den Benutzer vorschlagen, da die Zeitspanne einer vom Benutzer angeforderten Aktivität expliziter (und wahrscheinlich genauer) ist als zum Beispiel gestützt auf eine vermutete Absicht des Benutzers (z. B. die Geo-Absicht des Benutzers). Diese vorgeschlagenen Aktionen können innerhalb der Zeitspanne abgeschlossen werden, die der vom Benutzer angeforderten Aktivität zugeordnet ist und die der Benutzer ansonsten wahrscheinlich unbeschäftigt wäre. Dies kann die Wahrscheinlichkeit erhöhen, dass der Benutzer entscheiden wird, die vorgeschlagene Aktion durchzuführen. Außerdem können die hierin beschriebenen Systeme und Verfahren durch Ermitteln eines Benutzerbeteiligungsgrades und/oder eines Aktivitätstyps dazu beitragen, sicherzustellen, dass die vorgeschlagene Aktion kontextbezogen und aktivitätsangemessen sind.
-
Die Systeme und Verfahren der vorliegenden Offenbarung stellen eine Verbesserung der Computertechnik von Benutzergeräten bereit, indem einem Benutzergerät ermöglicht wird, die Computerressourcen des beschriebenen Computersystems zu nutzen, um proaktiv benutzerspezifische Aktionen für den Benutzer vorzuschlagen. Zum Beispiel kann das Benutzergerät das Computersystem nutzen, um einen oder mehrere Parameter zu identifizieren, die einem Benutzer zugeordnet sind, der die zeitlich begrenzte Aktivität angefordert hat, proaktiv eine vorgeschlagene Aktion (z. B. aufgabenspezifische Aktion) mindestens teilweise auf Basis der ein oder mehreren Parameter, die dem Benutzer zugeordnet sind, und der Zeitspanne, die der vom Benutzer angeforderten zeitlich begrenzten Aktivität zugeordnet ist, zu ermitteln, und dem Benutzergerät eine Ausgabe bereitzustellen, die die vorgeschlagene Aktion angibt. Die Verwendung des Computersystems, um dies zu tun, kann dazu beitragen, Computerressourcen der Benutzergeräte (z. B. Verarbeitungsressourcen, Stromressourcen) zu sparen, indem das Bedürfnis des Benutzers verringert wird, während unbeschäftigter Zeiten Internet-Suchen durchzuführen und/oder anderweitig nach Inhalt zu suchen. Außerdem können die Systeme und Verfahren unter Verwendung des Computersystems, um einem Benutzer proaktiv Aktionen vorzuschlagen, dazu beitragen, Ablenkung des Benutzers von der Aktivität (z. B. Fahren) zu verringern, wodurch die Benutzersicherheit erhöht wird. Ferner kann das Computersystem durch Vergleichen der Zeitspanne, die der zeitlich begrenzten Aktivität zugeordnet ist, mit dem Anfangs-Zeitschwellenwert die unnötige Nutzung von Computerressourcen, um verfehlt vorgeschlagene Aktionen zu ermitteln, die wahrscheinlich vom Benutzer abgelehnt würden, vermeiden.
-
Außerdem können die vorgeschlagenen Aktionen an einem von dem Benutzergerät entfernten Computersystem erzeugt und ausgeliefert werden. Das Computersystem kann erheblich mehr Ressourcen und Daten zur Verfügung haben, was die Fähigkeit, vorgeschlagene Aktionen zu erzeugen, zu verbessern hilft. Zum Beispiel kann das Computersystem seine Computerressourcen verwenden, um Millionen von Dokumenten zu durchsuchen, die Santa Fe betreffen, um eine Kurzdarstellung der Stadt und/oder zugehöriger aktueller Nachrichten zu erzeugen. Die Ermittlung und Auslieferung von vorgeschlagenen Aktionen kann daher effektiver und effizienter durchgeführt werden.
-
Unter Bezugnahme auf die Figuren werden nun Ausführungsbeispiele der vorliegenden Offenbarung detaillierter erörtert. 1 zeigt ein Beispiel-System 100 gemäß Ausführungsbeispielen der vorliegenden Offenbarung. Das System 100 kann ein Computersystem 102 und mindestens ein Benutzergerät 104 umfassen. Das Computersystem 102 kann von dem mindestens einen Benutzergerät 104 entfernt sein. Zum Beispiel kann das Computersystem 102 ein cloudbasiertes Computersystem sein. In manchen Implementierungen kann das Computersystem 102 einem Betriebssystem, einer Softwareanwendung, einem Anbieter des Benutzergeräts und/oder einer anderen Entität zugeordnet sein. Das Computersystem 102 und das Benutzergerät 104 können über eine direkte Verbindung miteinander verbunden sein und/oder können über ein Kommunikationsnetzwerk wie z. B. ein LAN, WAN, das Internet usw., das drahtgebunden und/oder drahtlos sein kann, gekoppelt sein, und/oder können eine beliebige Anzahl von drahtgebundenen und/oder drahtlosen Kommunikationsverbindungen umfassen.
-
Das Computersystem 102 kann verschiedene Komponenten zur Durchführung von verschiedenen Tätigkeiten und Funktionen enthalten, wie hierin beschrieben. Zum Beispiel kann das Computersystem 102 ein oder mehrere Computergerät(e) 106 (z. B. Server) umfassen. Wie hierin näher beschrieben wird, können die Computergerät(e) 106 einen oder mehrere Prozessor(en) und ein oder mehrere Speichergerät(e) umfassen. Die ein oder mehreren Speichergerät(e) können zum Beispiel ein oder mehrere materielle, nichtflüchtige computerlesbare Medien umfassen, die computerlesbare Anweisungen speichern, die, wenn sie von einem oder mehreren Prozessor(en) ausgeführt werden, die ein oder mehreren Prozessor(en) veranlassen, Tätigkeiten und Funktionen durchzuführen, wie zum Beispiel jene, die hierin zum Bereitstellen von Vorschlägen für zeitlich begrenzte Aktionen beschrieben sind.
-
Das Benutzergerät 104 kann von verschiedenen Arten von Benutzergeräten sein, wie zum Beispiel ein Telefon, ein Smartphone, ein Tablet, ein Navigationssystem, ein Personal Digital Assistant (PDA), ein Laptop-Computer, ein Desktop-Computer, eine computerisierte Uhr (z. B. eine Smart-Watch), computerisierte Brillen, computerisierte Kopfbedeckungen, andere Arten von tragbaren Computergeräten, ein Spielsystem, ein Medienabspielgerät, ein E-Book-Lesegerät, eine Fernseh-Hardwarebasis, ein eingebettetes Computergerät und/oder irgendeine andere Art von mobilem und/oder nicht mobilem Computergerät. In manchen Implementierungen kann sich das Benutzergerät 104 (vorübergehend oder dauerhaft) in einem Fahrzeug 108 (z. B. einem Automobil) befinden. Das Benutzergerät 104 kann verschiedene Komponenten zur Durchführung von verschiedenen Tätigkeiten und Funktionen, wie hierin beschrieben, enthalten. Zum Beispiel kann das Benutzergerät 104 einen oder mehrere Prozessor(en) und ein oder mehrere Speichergerät(e) enthalten.
-
Ein Benutzer 110 kann dem Benutzergerät eine Benutzereingabe 112 bereitstellen, die eine zeitlich begrenzte Aktivität 114 anfordert. Wie oben angegeben, kann die zeitlich begrenzte Aktivität 114 einer Zeitspanne 116 zugeordnet sein. Die Zeitspanne 116 kann zum Beispiel eine Zeit sein, in der die Aktivität abzuschließen ist. Die Zeitspanne 116 kann explizit und/oder gefolgert sein. Zum Beispiel kann die zeitlich begrenzte Aktivität 114 eine Navigation eines Benutzers 110 zu einem Zielort umfassen, und die Zeitspanne 116 kann eine Zeit umfassen, um zu dem Zielort zu fahren (z. B. mittels des Fahrzeugs 108), wie im Navigationsprozess explizit angegeben. Zusätzlich und/oder alternativ kann, wenn der Benutzer seinen normalen Arbeitsweg fährt, die Zeitspanne 116 mindestens teilweise auf Basis einer geschätzten Route, Geschwindigkeit, Verkehrslage, Tageszeit usw. gefolgert werden. In einem anderen Beispiel kann der Benutzer 110 das Benutzergerät 104 verwenden, um eine Beförderungsanforderung (z. B. über eine Softwareanwendung) zu tätigen, den Benutzer zu einem Zielort (z. B. einem Flughafen) zu bringen, und die Zeitspanne 116 kann die geschätzte Zeit umfassen, wann das angeforderte Fahrzeug eintrifft, um den Benutzer 110 abzuholen.
-
Das Benutzergerät 104 kann die Benutzereingabe 112 empfangen, die die zeitlich begrenzte Aktivität 114 von dem Benutzer anfordert. In manchen Implementierungen kann das Benutzergerät 104 die Benutzereingabe 112 verarbeiten, um Informationen zu ermitteln, die der zeitlich begrenzten Aktivität 114 zugeordnet sind, wie z. B. die Zeitspanne 116, einen oder mehrere Ort(e), die der zeitlich begrenzten Aktivität 114 zugeordnet sind, usw. Zum Beispiel in dem Fall, dass die zeitlich begrenzte Aktivität 114 eine Navigationsanforderung zu einem Zielort ist, kann das Benutzergerät 104 die Zeitspanne 116 (z. B. die explizite und/oder gefolgerte Zeit, um zum Zielort zu reisen), den Ausgangsort, den Zielort, die Route, die Reiserichtung des Benutzers, Verkehrslage usw. ermitteln. Das Benutzergerät 104 kann Daten 118, die die vom Benutzer angeforderte zeitlich begrenzte Aktivität 114 angeben, an die Computergerät(e) 106 (z. B. des Computersystems 102) senden. Die Daten 118 können auch und/oder alternativ die Informationen angeben, die der zeitlich begrenzten Aktivität 114 zugeordnet sind, die von dem Benutzergerät 104 ermittelt wird.
-
Die Computergerät(e) 106 können (zum Beispiel von dem Benutzergerät 104) die Daten 118 empfangen, die die vom Benutzer angeforderte zeitlich begrenzte Aktivität 114 angeben. In manchen Implementierungen können die Computergerät(e) 106 Daten, die die Zeitspanne 116 angeben, von dem Benutzergerät 104 empfangen. Die Computergerät(e) 106 können die der zeitlich begrenzten Aktivität 114 zugeordnete Zeitspanne 116 ermitteln (z. B. mindestens teilweise auf Basis von Informationen, die der zeitlich begrenzten Aktivität zugeordnet sind).
-
In manchen Implementierungen können die Computergerät(e) 106 die der zeitlich begrenzten Aktivität 114 zugeordnete Zeitspanne 116 mit einem Anfangs-Zeitschwellenwert 120 vergleichen. Der Anfangs-Schwellenwert 120 kann so ausgewählt werden (z. B. von einem Benutzer, einem Systemadministrator, einer Standardeinstellung), dass die Computergerät(e) 106 keine vorgeschlagene Aktion für den Benutzer 110 ermitteln, wenn die der zeitlich begrenzten Aktivität 114 zugeordnete Zeitspanne 116 unter dem Anfangs-Schwellenwert 120 liegt. Der Anfangs-Schwellenwert 120 kann fünf Sekunden, zehn Sekunden, dreißig Sekunden, eine Minute, zwei Minuten usw. betragen. Wenn die der zeitlich begrenzten Aktivität zugeordnete Zeitspanne 116 über dem Anfangs-Schwellenwert 120 liegt, können die Computergerät(e) 106 eine vorgeschlagene Aktion für den Benutzer 110 ermitteln. Wenn jedoch die der zeitlich begrenzten Aktivität zugeordnete Zeitspanne 116 unter dem Anfangs-Zeitschwellenwert 120 liegt, sehen die Computergerät(e) 106 möglicherweise davon ab, eine vorgeschlagene Aktion für den Benutzer 110 zu ermitteln. Daher kann der Anfangs-Zeitschwellenwert 120 eine minimale Zeit angeben, die für eine vorgeschlagene Aktion erforderlich ist. Dies kann es dem Computersystem 102 ermöglichen, zu ermitteln, ob es sich lohnt, eine Aktion für den Benutzer 110 während der Zeitspanne 116 vorzuschlagen, und vermeiden, dass Computerressourcen für Zeitspannen verschwendet werden, die zu kurz sind, um eine vorgeschlagene Aktion abzuschließen.
-
Zum Beispiel kann die vom Benutzer angeforderte zeitlich begrenzte Aktivität 114 eine Navigation des Benutzers 110 zu einem Zielort wie z. B. zu einem Haus eines Nachbarn umfassen. Die Zeitspanne 116, um zum Haus des Nachbarn zu fahren, kann eine Minute betragen. Der Anfangs-Zeitschwellenwert 120 kann zwei Minuten betragen. Somit können die Computergerät(e) 106 davon absehen, dem Benutzer 110 eine Aktion vorzuschlagen, da die Zeitspanne bis zum Eintreffen des Benutzers 110 am Haus des Nachbarn kürzer als der Schwellenwert ist (z. B. nicht wert, mit einer vorgeschlagenen Aktion ausgefüllt zu werden). Wenn jedoch die Zeitspanne 116, um zum Haus des Nachbarn zu fahren, zehn Minuten beträgt (z. B. wegen Bauarbeiten), können die Computergerät(e) 106 eine vorgeschlagene Aktion für den Benutzer 110 während der Fahrt zum Haus des Nachbarn ermitteln. In manchen Implementierungen können die Computergerät(e) 106 dem Benutzergerät 104 Daten 121 bereitstellen, die angeben, dass die Zeitspanne 116 den Anfangs-Zeitschwellenwert 120 überschreitet.
-
Um eine geeignete Aktion spezifisch für den Benutzer 110 ermitteln zu helfen, können die Computergerät(e) 106 einen oder mehrere Parameter 122A–B identifizieren, die dem Benutzer 110 zugeordnet sind, der die zeitlich begrenzte Aktivität 114 angefordert hat. Zum Beispiel können die Computergerät(e) 106 einen ersten Satz von Parametern 122A von dem Benutzergerät 104 und/oder einen zweiten Satz von Parametern 122B von einem oder mehreren Computergerät(en) erhalten, die von dem Benutzergerät 104 entfernt sind (z. B. einem oder mehreren der Computergerät(e) 106). Der erste Satz von Parametern 122A kann Kontaktlisten, To-Do-Listen, Informationen, die der zeitlich begrenzten Aktivität 114 zugeordnet sind, und/oder andere dem Benutzer 110 zugeordnete Informationen umfassen, die von dem Benutzergerät 104 gespeichert werden können und/oder auf die es zugreifen kann. Der zweite Satz von Parametern 122B kann zum Beispiel einen Kalender des Benutzers, welche Softwareanwendungen der Benutzer heruntergeladen hat, den Medieninhalt, auf den der Benutzer zugegriffen hat (z. B. heruntergeladen, abgespielt, gestreamt), Benutzersuchanfragen, E-Mail-Daten und/oder andere Dateninformationen umfassen, die dem Benutzer 110 zugeordnet sind und die möglicherweise von den Computergerät(en) 106 gespeichert und/oder abgerufen werden. In manchen Implementierungen liefert das Benutzergerät 104 (und erhalten die Computergerät(e) 106) den ersten Satz von Parametern 122A (und/oder den zweiten Satz von Parameter(n) 122B) möglicherweise nur in dem Fall, dass die Zeitspanne 116 den Anfangs-Zeitschwellenwert 120 überschreitet. Wie oben angegeben, können die hierin beschriebenen Systeme und Verfahren protektive Einstellungen für Benutzerinformationen bereitstellen und außerdem dem Benutzer die Fähigkeit geben, zu kontrollieren, welche Informationen von dem Computersystem verwendet werden.
-
Die Computergerät(e) 106 können eine vorgeschlagene Aktion mindestens teilweise auf Basis der ein oder mehreren Parameter 122A-B, die dem Benutzer 110 zugeordnet sind, und der Zeitspanne 116, die der zeitlich begrenzten Aktivität 114 zugeordnet ist, ermitteln. Die vorgeschlagene Aktion kann innerhalb der Zeitspanne 116 absolvierbar sein, die der zeitlich begrenzten Aktivität 114 zugeordnet ist. Wenn zum Beispiel eine vorzuschlagende Aktion ermittelt wird, können die Computergerät(e) eine Liste von möglichen Aktionen zusammenstellen und irgendwelche Aktionen, die nicht innerhalb der Zeitspanne 116 absolvierbar sind, die der zeitlich begrenzten Aktivität 114 zugeordnet ist, von der Liste abziehen. Die Computergerät(e) 106 können proaktiv die vorgeschlagenen Aktionen ermitteln, insofern der Benutzer 110 nicht angefordert hat, eine spezifische Aktion vorgeschlagen zu bekommen, und/oder nicht angefordert hat, dass die Computergerät(e) 106 eine vorgeschlagene Aktion ermitteln und/oder dem Benutzer 110 bereitzustellen. Dies kann dazu beitragen, Ablenkung des Benutzers zu verringern (z. B. verursacht durch vom Benutzer gestartetes Suchen). Außerdem können unter Verwendung von Parametern, die dem Benutzer 110 zugeordnet sind, die Computergerät(e) 106 proaktiv Aktionen vorschlagen, die auf den bestimmten Benutzer 110 zugeschnitten sind und die innerhalb der Zeitspanne 116 abgeschlossen werden können, die der vom Benutzer angeforderten zeitlich begrenzten Aktivität zugeordnet ist. Dies kann die Wahrscheinlichkeit erhöhen, dass der Benutzer 110 die vorgeschlagene Aktion akzeptieren wird (z. B. im Gegensatz zu Durchsuchen des Benutzergeräts 104 und/oder des Internets nach Unterhaltung).
-
Die Computergerät(e) 106 können verschiedene Anzahlen und Arten von vorgeschlagenen Aktionen ermitteln. Die vorgeschlagenen Aktionen können allgemein nützlich, unterhaltsam und/oder für den Benutzer 110 spezifisch sein. Die Computergerät(e) 106 können eine oder mehrere vorgeschlagene Aktion(en) für den Benutzer 110 ermitteln, die innerhalb der Zeitspanne 116 absolvierbar sein können. In manchen Implementierungen kann eine vorgeschlagene Aktion ortsspezifische Aktionen wie z. B. vorgeschlagene Stopps (z. B. Restaurants, Geschäfte) entlang einer Reiseroute umfassen. Eine ortsspezifische Aktion kann eine Aktion sein, die einen bestimmten Ort (z. B. zum Abschließen der Aktion) umfasst (und/oder ihm zugeordnet ist). In manchen Implementierungen kann eine vorgeschlagene Aktion aufgabenspezifische Aktionen umfassen, wie z. B. solche zum Unterhalten des Benutzers und/oder solche zum Erreichen von bestimmten Benutzer-Zielsetzungen. Außerdem kann eine aufgabenspezifische Aktion eine Aktion sein, die einen bestimmten Ort (z. B. zum Abschließen der Aktion) nicht umfasst (und/oder ihm nicht zugeordnet ist).
-
Als Beispiel können die Computergerät(e) 106 Daten 118 empfangen, die eine Navigations-Aktivität angeben, bei der der Benutzer 110 fünfundvierzig Minuten brauchen wird, um zu einem Zielort zu fahren. Die Computergerät(e) 106 können unter anderem einen oder mehrere Parameter identifizieren, die den Medieninhalt (z. B. Podcasts) angeben, der typischerweise vom Benutzer 110 gestreamt und/oder heruntergeladen wird. Die Computergerät(e) 106 können ermitteln, dass der Benutzer 110 noch nicht auf eine neue Episode des Lieblings-Podcasts des Benutzers (z. B. Podcast A) zugegriffen hat (z. B. heruntergeladen, gestreamt). Außerdem können die Computergerät(e) 106 ermitteln, dass der Podcast zweiundvierzig Minuten dauert und somit innerhalb der Zeitspanne 116 der zeitlich begrenzten Aktivität 116 (z. B. fünfundvierzig Minuten) absolvierbar ist. Somit können die Computergerät(e) 106 die Aufgabe, den Podcast zu hören, als eine vorgeschlagene Aktion für den Benutzer 110 identifizieren, um die Fahrzeit von fünfundvierzig Minuten auszufüllen.
-
In einem anderen Beispiel können die Computergerät(e) 106 Daten 118 empfangen, die angeben, dass der Benutzer 110 auf dem morgendlichen Arbeitsweg des Benutzers fährt. Der Arbeitsweg wird geschätzte zwanzig Minuten dauern, und die To-Do-Liste des Benutzers zeigt an, dass der Benutzer 110 irgendwann ”Jack anrufen” möchte. Die Computergerät(e) 106 können proaktiv die Aufgabe ”Jack anrufen” als eine vorgeschlagene Aktion identifizieren, die während des morgendlichen Arbeitsweges des Benutzers abgeschlossen werden kann.
-
In noch einem anderen Beispiel können die Computergerät(e) 106 Daten 118 empfangen, die eine Beförderungsanforderung von dem aktuellen Standort des Benutzers zu einem Flughafen angeben. Die Zeitspanne 116, die einer solchen zeitlich begrenzten Aktivität zugeordnet ist, kann zehn Minuten betragen, da es geschätzte zehn Minuten dauern wird, bis das angeforderte Fahrzeug am Ort des Benutzers eintrifft, um den Benutzer 110 abzuholen. Die Computergerät(e) 106 können Parameter identifizieren, die dem Kalender des Benutzers zugeordnet sind und angeben, dass der Benutzer 110 später an diesem Tag einen Airline-Flug hat, und proaktiv eine vorgeschlagene Aktion für den Benutzer ermitteln, in seinen Flug einzuchecken. Dies kann es dem Benutzer ermöglichen, die Zielsetzung des Eincheckens in seinen Flug abzuschließen, was typischerweise weniger als zehn Minuten dauern kann (z. B. die Zeitspanne 116). Zusätzlich und/oder alternativ können die Computergerät(e) 106 einen oder mehrere Parameter identifizieren, die der To-Do-Liste des Benutzers zugeordnet sind und angeben, dass der Benutzer 110 irgendwann ”die chemische Reinigung anrufen” möchte. Die Computergerät(e) 106 können vorschlagen, dass der Benutzer ”die chemische Reinigung anruft”, während er darauf wartet, dass das angeforderte Fahrzeug eintrifft.
-
In manchen Implementierungen können die Computergerät(e) 106 Daten 124 empfangen, die mindestens eines von einem der zeitlich begrenzten Aktivität 114 zugeordneten Benutzerbeteiligungsgrad 126 und einem der zeitlich begrenzten Aktivität 114 zugeordneten Aktivitätstyp 128 angeben. Die Computergerät(e) 106 können die vorgeschlagene Aktion mindestens teilweise auf Basis des Benutzerbeteiligungsgrades 126 und/oder des Aktivitätstyps 128 ermitteln. Die Computergerät(e) 106 können die Daten 124, die den Benutzerbeteiligungsgrad 126 und/oder den Aktivitätstyp 128 angeben, von dem Benutzergerät 104 (welches z. B. möglicherweise solche Informationen ermittelt) und/oder einem oder mehreren anderen Computergeräte(n) erhalten.
-
Der Benutzerbeteiligungsgrad 126 kann die Menge an Interaktion (oder deren Fehlen) angeben, die der Benutzer 110 während der Durchführung der zeitlich begrenzten Aktivität 114 benötigt. Der Aktivitätstyp 128 kann die Art der Aktivität angeben, die der Benutzer möglicherweise während der zeitlich begrenzten Aktivität 114 durchführt. Zum Beispiel kann der Benutzerbeteiligungsgrad 126 für die Navigations-Aktivität angesichts des Aktivitätstyps 128 (z. B. Fahren entlang einer navigierbaren Route) hoch sein. Der Benutzerbeteiligungsgrad 126 für eine Beförderungsanforderungs-Aktivität kann angesichts des Aktivitätstyps 128 (z. B. Warten auf ein Fahrzeug) niedrig sein. Somit können in dem Fall, dass der Benutzerbeteiligungsgrad 126 hoch ist und/oder der Aktivitätstyp 128 (z. B. Fahren) angibt, dass der Benutzer 110 aktiver beschäftigt sein wird, die Computergerät(e) 106 eine vorgeschlagene Aktion ermitteln, die weniger aktive Interaktion durch den Benutzer 110 erfordert (z. B. einen Podcast hören). In dem Fall, dass der Benutzerbeteiligungsgrad 126 niedrig ist und/oder der Aktivitätstyp 128 (z. B. Warten auf eine Fahrt) angibt, dass der Benutzer 110 weniger aktiv beschäftigt sein wird, können die Computergerät(e) 106 jedoch eine vorgeschlagene Aktion ermitteln, die aktivere Interaktion durch den Benutzer 110 erfordern kann (z. B. Verwenden eines Benutzergeräts 104 zum Einchecken zu dem Flug des Benutzers, Ausfüllen einer Reisepass-Aktualisierungsanwendung). Auf diese Weise können die Computergerät(e) 106 vorgeschlagene Aktionen ermitteln, die sowohl kontextbezogen als auch aktivitätsbezogen sind.
-
Zusätzlich und/oder alternativ kann die vorgeschlagene Aktion mindestens teilweise auf dem Grund, weshalb der Benutzer die zeitlich begrenzte Aktivität 114 angefordert hat, und/oder einem der zeitlich begrenzten Aktivität 114 zugeordneten Zielort basieren. Zum Beispiel, wenn die vom Benutzer angeforderte Navigation zu einem Baseballstadion führt, können die Computergerät(e) 106 vorschlagen, dass der Benutzer einen Podcast hört, der sich auf die Heim-Mannschaft des Baseballstadions bezieht. In einem anderen Beispiel kann die zeitlich begrenzte Aktivität 114 einer Beförderungsanforderung zu einem Zielort (z. B. Santa Fe, New Mexico) zugeordnet sein. Die vorgeschlagene Aktion kann dem Zielort zugeordnet sein, wie z. B. Lesen eines aktuellen Nachrichtenartikels, der sich auf Santa Fe bezieht.
-
Die Computergerät(e) 106 können eine Ausgabe 130 erzeugen, die die vorgeschlagene Aktion angibt. Die Computergerät(e) 106 können die Ausgabe 130, die die vorgeschlagene Aktion angibt, dem Benutzergerät 104 bereitstellen. Die Ausgabe 130 kann mindestens eines von einer Audio-Ausgabe, die die vorgeschlagene Aktion angibt, und einer visuellen Ausgabe, die die vorgeschlagene Aktion angibt und über eine Benutzeroberfläche auf dem Benutzergerät 104 darstellbar ist, umfassen. Die Ausgabe 130 kann zum Beispiel durch Syntaxanalysieren der ein oder mehreren Parameter und in manchen Implementierungen durch identifizieren einer der vorgeschlagenen Aktion zugeordneten Softwareanwendung erzeugt werden. Auf diese Weise können die Computergerät(e) 106 dem Benutzer 110 proaktiv die vorgeschlagenen Aktionen bereitstellen, ohne dass der Benutzer anfordert, dass die Computergerät(e) 106 die vorgeschlagenen Aktionen ermitteln und/oder bereitstellen.
-
In manchen Implementierungen kann die Ausgabe 130 eine Benutzeroberfläche umfassen, die eine vorgeschlagene Aktion angibt, wobei die Benutzeroberfläche auf dem Benutzergerät 104 darstellbar ist. In manchen Implementierungen kann die Ausgabe 130 eine Nachricht umfassen, die über ein Anzeigegerät (z. B. des Benutzergeräts 104) auf einer Benutzeroberfläche anzuzeigen ist. Zum Beispiel zeigt 2 eine Beispiel-Benutzeroberfläche 200 gemäß Ausführungsbeispielen der vorliegenden Offenbarung. Die Benutzeroberfläche 200 kann über ein Anzeigegerät 202 des Benutzergeräts 104 angezeigt werden. Die visuelle Ausgabe 204 kann eine oder mehrere vorgeschlagene Aktion(en) 205A-C angeben und kann über die Benutzeroberfläche 200 angezeigt werden. Zusätzlich oder alternativ kann die Audio-Ausgabe 206 die vorgeschlagene Aktion angeben (z. B. ”Die Fahrt von Ihrem Standort zum Ziel dauert fünfundvierzig Minuten. Sie haben eine Episode von Podcast A, die zweiundvierzig Minuten dauert. Möchten Sie den Podcast hören?”). Das Benutzergerät 104 kann konfiguriert sein, die Audio-Ausgabe 206 über eine Audio-Ausgabekomponente (z. B. Lautsprecher) an den Benutzer 110 zu übermitteln.
-
Der Benutzer 110 kann bestätigen, eine vorgeschlagene Aktion durchzuführen, oder die vorgeschlagene Aktion ablehnen, um sie zu verwerfen. Der Benutzer 110 kann eine Benutzereingabe 208 bereitstellen, die eine oder mehrere der vorgeschlagenen Aktion(en) 205A-C bestätigt oder ablehnt. Zum Beispiel können die vorgeschlagenen Aktionen 205A-C interaktiven Elementen (z. B. Widget, Softbutton, Hyperlink) zugeordnet sein, so dass ein Benutzer die vorgeschlagene Aktion 205A-C durchführen, starten, beginnen usw. kann, indem er mit dem interaktiven Element interagiert. Zum Beispiel kann der Benutzer 110 die vorgeschlagene Aktion 205A auswählen, so dass das Benutzergerät 104 beginnt, den Podcast für den Benutzer 110 abzuspielen. In manchen Implementierungen kann der Benutzer 110 eine oder mehrere der vorgeschlagenen Aktionen 205A-C über eine Benutzereingabe (z. B. Spracheingabe) bestätigen, die eine Bestätigung einer oder mehrerer der vorgeschlagenen Aktion(en) 205A-C angibt (z. B. ”Ja”, ”Podcast abspielen”). Der Benutzer 110 kann eine oder mehrere der vorgeschlagenen Aktion(en) 205A-C ablehnen, indem er eine Benutzereingabe bereitstellt (z. B. eine Wischberührungs-Interaktion, Auswahl eines Verwerfungselements), die eine Ablehnung eines oder mehrerer der vorgeschlagenen Aktion(en) 205A–C angibt. In manchen Implementierungen kann der Benutzer 110 eine vorgeschlagene Aktion 205A–C ablehnen, indem er eine bestimmte Zeitspanne lang davon absieht, irgendeine Eingabe in Bezug auf die vorgeschlagene Aktion 205A–C bereitzustellen, wodurch der Vorschlag ignoriert wird. Nach einer solchen Zeitspanne kann das Benutzergerät 104 die visuelle Ausgabe 204 von der Benutzeroberfläche 200 entfernen und/oder dem Benutzer 110 eine Erinnerung bereitstellen (z. B. visuell, Audio).
-
Das Computersystem 102 kann diese Bestätigungen und/oder Ablehnungen verwenden, um sein Modell zur Ermittlung von vorgeschlagenen Aktionen zu trainieren und/oder zu erstellen. 3 zeigt das Training/Erstellen eines maschinell erlernten Modells gemäß Ausführungsbeispielen der vorliegenden Offenbarung. Das Computersystem 102 kann ein Trainings-Computersystem 300 enthalten und/oder ihm anderweitig zugeordnet sein, welches lokal und/oder entfernt von den Computergerät(en) 106 implementiert sein kann. Das Trainingssystem 300 kann einen Modelltrainer 302 umfassen, der trainiert und/oder hilft, zum Beispiel ein Vorschlagsmodell 304 (z. B. gespeichert in und/oder verwendet von dem Computersystem 102) unter Verwendung verschiedener Trainings- oder Lerntechniken zu erstellen. Das Modell 304 kann ein maschinell erlerntes Modell sein, das dem Ermitteln der vorgeschlagenen Aktion zugeordnet ist. Das Modell 304 kann aus verschiedenen maschinell erlernten Modellen bestehen oder diese anderweitig umfassen, wie z. B. neuronale Netze (z. B. tiefe neuronale Netze) oder andere mehrschichtige nichtlineare Modelle.
-
Der Modelltrainer 302 kann das Modell 304 mindestens teilweise auf Basis eines Satzes von Trainingsdaten 306 trainieren. In manchen Implementierungen können die Trainingsdaten 306 von dem Computersystem 102 bereitgestellt oder anderweitig ausgewählt werden (z. B. aus einer Datenbank). Zum Beispiel kann der Modelltrainer 302 das Modell 304 unter Verwendung von Trainingsdaten 306 trainieren, die eine Bestätigung eines Benutzers und/oder Ablehnungen von früheren Aktionsvorschlägen angeben. Die Computergerät(e) 106 können Daten 132 (z. B. in 1 gezeigt) empfangen, die eine Bestätigung oder eine Ablehnung der vorgeschlagenen Aktion 205A–C durch den Benutzer 110 angeben. Die Computergerät(e) 106 können das maschinell erlernte Modell 304, das dem Ermitteln der vorgeschlagenen Aktion (z. B. 205A–C) zugeordnet ist, mindestens teilweise auf Basis der Daten 132, die die Bestätigung oder die Ablehnung angeben, trainieren und/oder erstellen. Zum Beispiel kann ein Modell 304 unter Verwendung von Trainingsdaten 304, die bekannte vorgeschlagene Aktionen angeben, die vom Benutzer 110 bestätigt und/oder abgelehnt worden sind, trainiert und/oder erstellt werden. Zusätzlich und/oder alternativ könnten die Trainingsdaten 304 Daten sein, die Informationen, die dem Benutzer 110 zugeordnet sind, und/oder die angeforderte zeitlich begrenzte Aktivität 114, die der vorgeschlagenen Aktion zugeordnet war, als der Benutzer 110 die vorgeschlagene Aktion bestätigt oder abgelehnt hat, enthalten. Ein solches Training kann dazu beitragen, das Modell 304 zu erstellen und/oder zu verfeinern, um die Vorliebe des spezifischen Benutzers für bestimmte vorgeschlagene Aktionen während bestimmter zeitlich begrenzter Aktivitäten (und/oder anderer Umstände) genauer widerzuspiegeln. Auf diese Weise kann das Computersystem 102 die Vorlieben des Benutzers besser verstehen und sie verwenden (z. B. als Parameter), um vorgeschlagene Aktionen (z. B. 205A–C) zu ermitteln. Dies kann dazu beitragen, die Wahrscheinlichkeit zu erhöhen, dass die Computergerät(e) 106 eine vorgeschlagene Aktion 205A-C ermitteln werden, die vom Benutzer 110 durchgeführt werden wird, wodurch die Nutzung von Verarbeitungsressourcen bei unerwünscht vorgeschlagenen Aktionen vermieden wird.
-
4 zeigt ein Flussdiagramm eines Beispiel-Verfahrens zum Bereitstellen von Vorschlägen für zeitlich begrenzte Aktionen gemäß Ausführungsbeispielen der vorliegenden Offenbarung. Ein oder mehrere Teil(e) des Verfahrens 400 können durch ein oder mehrere Computergerät(e) implementiert werden, wie zum Beispiel jene, die in 1 und 2 gezeigt sind. Außerdem können ein oder mehrere Teil(e) des Verfahrens 400 als ein Algorithmus auf den Hardwarekomponenten der hierin beschriebenen Gerät(e) (z. B. wie in 5) implementiert werden, um zum Beispiel einem Benutzer proaktiv zeitlich begrenzte Aktionsvorschläge bereitzustellen. 4 zeigt Schritte, die zwecks Veranschaulichung und Erörterung in einer bestimmten Reihenfolge durchgeführt werden. Anhand der hierin bereitgestellten Offenbarungen wird der Fachmann erkennen, dass die Schritte von jedem der hierin erörterten Verfahren angepasst, neu angeordnet, erweitert, weggelassen oder auf verschiedene Arten modifiziert werden können, ohne den Schutzbereich der vorliegenden Offenbarung zu verlassen.
-
Bei (402) kann das Verfahren 400 umfassen, eine Anforderung nach einer zeitlich begrenzten Aktivität zu empfangen. Zum Beispiel kann das Benutzergerät 104 eine Benutzereingabe 112 empfangen, die die Durchführung einer zeitlich begrenzten Aktivität 114 anfordert. Die zeitlich begrenzte Aktivität 114 kann einer Zeitspanne 116 zugeordnet sein. Zum Beispiel, wie hierin beschrieben, kann die zeitlich begrenzte Aktivität 114 eine Navigation eines Benutzers 110 zu einem Zielort umfassen, und die Zeitspanne 114 kann eine Reisezeit zum Zielort umfassen. Bei (404) kann das Benutzergerät 104 Daten 118, die die zeitlich begrenzte Aktivität 114 angeben, den Computergerät(en) 106 des Computersystems 102 bereitstellen. Die Computergerät(e) 106 können bei (406) von dem Benutzergerät 104 Daten empfangen, die eine vom Benutzer angeforderte zeitlich begrenzte Aktivität 116 angeben.
-
Die der zeitlich begrenzten Aktivität 114 zugeordnete Zeitspanne 116 kann auf verschiedene Arten ermittelt werden. In manchen Implementierungen kann das Benutzergerät 104 die der zeitlich begrenzten Aktivität 114 zugeordnete Zeitspanne 116 ermitteln, indem es Informationen verarbeitet, die der angeforderten zeitlich begrenzten Aktivität 114 zugeordnet sind, und/oder indem ihm von einem anderen Computergerät Daten bereitgestellt werden, die die Zeitspanne 116 angeben. Das Benutzergerät 104 kann Daten, die die Zeitspanne 116 angeben (z. B. in Daten 118 und/oder anderen Daten enthalten), den Computergerät(en) 106 bereitstellen. In manchen Implementierungen können die Computergerät(e) 106 die Zeitspanne 116 ermitteln, die der zeitlich begrenzten Aktivität 114 zugeordnet ist. Dazu können die Computergerät(e) 106 Informationen verarbeiten, die der zeitlich begrenzten Aktivität 114 zugeordnet sind (z. B. die Zeit, bis das angeforderte Fahrzeug den Benutzer abholt, die Entfernung zwischen dem angeforderten Fahrzeug und dem Benutzer) und/oder Daten, die die Zeitspanne 116 angeben, von einem anderen Computersystem (das z. B. einem Beförderungsdienst-Anbietersystem zugeordnet ist) empfangen.
-
Bei (408) kann das Verfahren 400 umfassen, die Zeitspanne mit einem Anfangs-Zeitschwellenwert zu vergleichen. Zum Beispiel können die Computergerät(e) 106 die Zeitspanne 116, die der zeitlich begrenzten Aktivität 114 zugeordnet ist, mit einem Anfangs-Zeitschwellenwert 120 vergleichen, der eine minimale Zeit angibt, die für die vorgeschlagene Aktion (z. B. 205A-C) erforderlich ist. Wie oben beschrieben, kann dies den Computergerät(en) 106 ermöglichen, zu ermitteln, ob es sich lohnt, die Computerressourcen aufzuwenden, die notwendig sind, um eine oder mehrere vorgeschlagene Aktion(en) 205A-C zu ermitteln. In manchen Implementierungen können die Computergerät(e) 106 bei (410) Daten 121 bereitstellen, die angeben, ob die Zeitspanne 116 den Anfangs-Zeitschwellenwert 120 überschreitet oder nicht. Bei (412) kann das Benutzergerät 104 solche Daten empfangen. Dies kann es zum Beispiel dem Benutzergerät 104 ermöglichen, zu ermitteln, ob dem Benutzer 110 zugeordnete Parameter den Computergerät(en) 106 bereitzustellen sind oder nicht. Zum Beispiel in dem Fall, dass die Zeitspanne 116 den Anfangs-Zeitschwellenwert 120 nicht überschreitet, kann das Benutzergerät 104 davon absehen, Parameter (z. B. 122A), die dem Benutzer 110 zugeordnet sind, den Computergerät(en) 106 bereitzustellen. In manchen Implementierungen kann in dem Fall, dass die Zeitspanne 116 den Anfangs-Zeitschwellenwert 120 überschreitet, das Benutzergerät 104 Parameter (z. B. 122A), die dem Benutzer 110 zugeordnet sind, den Computergerät(en) 106 bereitstellen.
-
Bei (414) kann das Verfahren 400 umfassen, einen oder mehrere dem Benutzer 110 zugeordnete Parameter zu identifizieren. Zum Beispiel können die Computergerät(e) 106 einen oder mehrere Parameter 122A–B identifizieren, die einem Benutzer 110 zugeordnet sind, der die zeitlich begrenzte Aktivität 114 angefordert hat. Wie hierin beschrieben, können die ein oder mehreren dem Benutzer 110 zugeordneten Parameter einen ersten Satz von Parametern 122A (z. B. Kontaktlisten, To-Do-Listen), die von dem Benutzergerät 104 erhalten werden, und/oder einen zweiten Satz von Parametern 122B (z. B. Kalender des Benutzers, heruntergeladene Softwareanwendungen, heruntergeladener Medieninhalt), die von einem von dem Benutzergerät 104 entfernten Computergerät erhalten werden, umfassen. Zusätzlich und/oder alternativ kann das Verfahren 400 bei (416) umfassen, Daten zu empfangen, die einen Benutzerbeteiligungsgrad und/oder einen Aktivitätstyp angeben. Zum Beispiel können die Computergerät(e) 106 Daten empfangen, die einen Aktivitätstyp 128 (z. B. Fahren) angeben, der der zeitlich begrenzten Aktivität 114 (z. B. Navigation eines Autos) zugeordnet ist, und/oder Daten empfangen, die einen Benutzerbeteiligungsgrad 126 (z. B. hoch) angeben, der der zeitlich begrenzten Aktivität 114 (z. B. Navigation eines Autos) zugeordnet ist. Der Beteiligungsgrad 126 und der Aktivitätstyp 128 können in demselben und/oder unterschiedlichen Datensätzen von den Computergerät(en) 106 empfangen werden.
-
Bei (418) kann das Verfahren 400 umfassen, eine vorgeschlagene Aktion zu ermitteln. Zum Beispiel können die Computergerät(e) 106 (proaktiv) eine vorgeschlagene Aktion 205A–C mindestens teilweise auf Basis der ein oder mehreren Parameter 122A–B, die dem Benutzer 110 zugeordnet sind, und der Zeitspanne 116, die der zeitlich begrenzten Aktivität 114 zugeordnet ist, ermitteln. Es können verschiedene Typen von Parametern 122A–B verwendet werden, um verschiedene Arten von vorgeschlagenen Aktionen zu ermitteln. Die vorgeschlagene Aktion 122A–B kann innerhalb der Zeitspanne 116 absolvierbar sein, die der zeitlich begrenzten Aktivität 114 zugeordnet ist. Wie hierin beschrieben, kann die vorgeschlagene Aktion 205A–C eine aufgabenspezifische Aktion sein, die nicht einem Ort zum Abschließen der Aktion zugeordnet ist. Zum Beispiel können die Computergerät(e) 106 Daten 118 empfangen, die eine Beförderungsanforderung von dem aktuellen Standort des Benutzers zu einem Restaurant angeben. Die Zeitspanne 116, die einer solchen zeitlich begrenzten Aktivität zugeordnet ist, kann zehn Minuten betragen, da es geschätzte zehn Minuten dauern wird, bis das angeforderte Fahrzeug am Ort des Benutzers eintrifft, um den Benutzer 110 abzuholen. Die Computergerät(e) 106 können einen oder mehrere Parameter identifizieren, die der To-Do-Liste des Benutzers zugeordnet und angeben, dass der Benutzer 110 irgendwann ”die chemische Reinigung anrufen” möchte. Die Computergerät(e) 106 können vorschlagen, dass der Benutzer ”die chemische Reinigung anruft”, während er auf das Eintreffen des Fahrzeugs wartet. In manchen Implementierungen können die Computergerät(e) 106 (proaktiv) die vorgeschlagene Aktion (z. B. die chemische Reinigung anrufen) mindestens teilweise auf Basis des Benutzerbeteiligungsgrades 126 ermitteln, welcher niedrig sein kann, während der Benutzer 110 auf die gewünschte Beförderung wartet. Zusätzlich und/oder alternativ können die Computergerät(e) 106 die vorgeschlagene Aktion (z. B. einen Anruf tätigen) mindestens teilweise auf Basis des Aktivitätstyps 128 (z. B. Warten) ermitteln, so dass die Sicherheit und/oder erforderliche Aufmerksamkeit des Benutzers nicht durch die Durchführung der vorgeschlagenen Aktion beeinträchtigt wird. In manchen Implementierungen können die vorgeschlagenen Aktion(en) mindestens teilweise auf einer Benutzerhistorie (z. B. des Bestätigens/Ablehnens von vorgeschlagenen Aktionen) oder auf anderen Personen (z. B. anderen Benutzern/Fahrern) basieren und/oder können vorgespeicherte Vorschläge sein.
-
Bei (420) und (422) kann das Verfahren 400 umfassen, eine Ausgabe zu erzeugen, die die vorgeschlagene Aktion angibt, und die Ausgabe bereitzustellen. Zum Beispiel können die Computergerät(e) 106 eine Ausgabe 130 erzeugen, die eine oder mehrere vorgeschlagene Aktion(en) 205A-B angibt. Die Ausgabe 130 kann mindestens eines von einer Audio-Ausgabe 206, die die vorgeschlagenen Aktion(en) 205A-C angibt, und einer visuellen Ausgabe 204 (z. B. Textnachricht, Bildnachricht) umfassen, die die vorgeschlagenen Aktion(en) 205A-C (z. B. ”die chemische Reinigung anrufen”) angibt und über eine Benutzeroberfläche 200 auf dem Benutzergerät 104 darstellbar ist. Die Computergerät(e) 106 können die Ausgabe 130, die die vorgeschlagenen Aktion(en) 205A-C angibt, dem Benutzergerät 104 bereitstellen.
-
Bei (424) kann das Benutzergerät 104 die Ausgabe 130 empfangen, die die vorgeschlagenen Aktion(en) 205A-C angibt. Das Benutzergerät 104 kann konfiguriert sein, die vorgeschlagenen Aktion(en) 205A-C bei (426) (z. B. über ein Anzeigegerät 202) an den Benutzer 110 zu übermitteln. Der Benutzer 110 kann sehen (z. B. die visuelle Ausgabe 204), hören (z. B. die Audio-Ausgabe 206) und/oder einen Indikator für die vorgeschlagene Aktion (z. B. Vibration) fühlen. Der Benutzer 110 kann eine oder mehrere der vorgeschlagenen Aktion(en) 205A-C bestätigen und/oder ablehnen. Zum Beispiel können die Benutzergerät(e) 104 bei (428) eine Benutzereingabe 208 empfangen, die eine oder mehrere der vorgeschlagenen Aktionen 205A-C bestätigt und/oder ablehnt.
-
In dem Fall, dass der Benutzer 110 mehr als eine vorgeschlagene Aktion bestätigt, kann das Benutzergerät 104 die Aktionen in einer bestimmten Reihenfolge und/oder gleichzeitig (falls möglich) durchführen. Zum Beispiel kann das Benutzergerät 104 die vorgeschlagenen Aktionen 205A-C in der Reihenfolge, in der die vorgeschlagenen Aktionen 205A-C an den Benutzer 110 übermittelt wurden, der Reihenfolge, in der die vorgeschlagenen Aktionen 205A-C von dem Benutzer 110 bestätigt wurden, oder auf Basis der Vorlieben des Benutzers (z. B. ermittelt durch das Modell 304) durchführen, wobei die am meisten bevorzugte Aktion zuerst durchgeführt wird.
-
Bei (430) bzw. (432) kann das Verfahren 400 umfassen, Daten, die die Bestätigung oder Ablehnung der vorgeschlagenen Aktion(en) 205A-C durch den Benutzer angeben, bereitzustellen und zu empfangen. Zum Beispiel kann das Benutzergerät 104 Daten 132 bereitstellen, die eine Bestätigung und/oder eine Ablehnung der vorgeschlagenen Aktion(en) 205A-C durch den Benutzer 110 angeben. Die Computergerät(e) 106 können von dem Benutzergerät 104 die Daten 132 empfangen, die eine Bestätigung und/oder eine Ablehnung der vorgeschlagenen Aktion(en) 205A-C durch den Benutzer 110 angeben. Bei (434) können die Computergerät(e) 106 ein Modell 304, das dem Ermitteln der vorgeschlagenen Aktion(en) 205A-C zugeordnet ist, mindestens teilweise auf Basis der Daten 132, die die Bestätigung und/oder die Ablehnung angeben, aktualisieren, erstellen, trainieren usw. Auf diese Weise kann das Computersystem 102 die Vorlieben des Benutzers 110 lernen und/oder verfolgen. Das Computersystem 102 kann das Modell 304 verwenden, um vorgeschlagene Aktionen für den Benutzer 110 zu ermitteln, die eine höhere Wahrscheinlichkeit haben, zu den Vorlieben des Benutzers zu passen und somit bestätigt zu werden.
-
5 zeigt ein Beispiel-System 500 gemäß Ausführungsbeispielen der vorliegenden Offenbarung. Das System 500 kann ein Computersystem 502 und ein oder mehrere Benutzergerät(e) 504 umfassen. Das Computersystem 502 und die Benutzergerät(e) 504 können dem Computersystem 102 und dem mindestens einen Benutzergerät 104, wie hierin beschrieben, entsprechen. Das Computersystem 502 und die Benutzergerät(e) 504 können konfiguriert sein, über ein oder mehrere Netzwerk(e) 505 zu kommunizieren.
-
Das Computersystem 502 kann ein oder mehrere Computergerät(e) 506 umfassen. Die Computergerät(e) 502 können einen oder mehrere Prozessor(en) 508A und ein oder mehrere Speichergerät(e) 508B umfassen. Die ein oder mehreren Prozessor(en) 508A können irgendein geeignetes Verarbeitungsgerät (z. B. ein Prozessorkern, ein Mikroprozessor, ein ASIC, ein FPGA, ein Controller, ein Mikrocontroller usw.) sein und können ein Prozessor oder eine Mehrzahl von Prozessoren, die operativ verbunden sind, sein. Die Speichergerät(e) 508B können ein oder mehrere nichtflüchtige computerlesbare Speichermedien wie z. B. RAM, ROM, EEPROM, EPROM, Flash-Speichergeräte, Magnetplatten usw. und/oder Kombinationen davon umfassen.
-
Die Speichergerät(e) 508B können Informationen speichern, auf die durch die ein oder mehreren Prozessor(en) 508A zugegriffen werden kann, einschließlich computerlesbarer Anweisungen 508C, die von den ein oder mehreren Prozessor(en) 508A ausgeführt werden können. Die Anweisungen 508C können irgendein Satz von Anweisungen sein, die, wenn sie von den ein oder mehreren Prozessor(en) 508A ausgeführt werden, bewirken, dass die ein oder mehreren Prozessor(en) 508A Tätigkeiten durchführen. In manchen Ausführungsformen können die Anweisungen 508C von den ein oder mehreren Prozessor(en) 508A ausgeführt werden, um zu bewirken, dass die ein oder mehreren Prozessor(en) 508A Tätigkeiten wie z. B. irgendwelche der Tätigkeiten und Funktionen der Computergerät(e) 102 oder wofür die die Computergerät(e) 102 konfiguriert sind, wie hierin beschrieben, die Tätigkeiten zum Bereitstellen von Vorschlägen für zeitlich begrenzte Aktionen (z. B. ein oder mehrere Teile des Verfahrens 400) und/oder irgendwelche anderen Tätigkeiten oder Funktionen zum Bereitstellen von Vorschlägen für zeitlich begrenzte Aktionen, wie hierin beschrieben, durchführen. Als Beispiel können die Tätigkeiten umfassen, Daten zu empfangen, die eine vom Benutzer angeforderte zeitlich begrenzte Aktivität angeben, die einer Zeitspanne zugeordnet ist, einen oder mehrere Parameter zu identifizieren, die einem Benutzer zugeordnet sind, der die zeitlich begrenzte Aktivität angefordert hat, eine vorgeschlagene Aktion mindestens teilweise auf Basis der ein oder mehreren Parameter, die dem Benutzer zugeordnet sind, und der Zeitspanne, die der zeitlich begrenzten Aktivität zugeordnet ist, zu ermitteln, wobei die vorgeschlagene Aktion innerhalb der der zeitlich begrenzten Aktivität zugeordneten Zeitspanne absolvierbar ist, und die Ausgabe, die die vorgeschlagene Aktion angibt, dem Benutzergerät bereitzustellen, wobei das Benutzergerät konfiguriert ist, die vorgeschlagene Aktion an den Benutzer zu übermitteln. Die Anweisungen 508C können Software sein, die in irgendeiner geeigneten Programmiersprache geschrieben ist, oder können in Hardware implementiert sein. Zusätzlich und/oder alternativ können die Anweisungen 508C in logisch und/oder virtuell getrennten Arbeitssträngen auf Prozessor(en) 508A ausgeführt werden.
-
Die ein oder mehreren Speichergerät(e) 508B können auch Daten 508D speichern, die von den ein oder mehreren Prozessor(en) 508A wiedergewonnen, gehandhabt, bearbeitet, erzeugt oder gespeichert werden können. Die Daten 508D können zum Beispiel Daten umfassen, die eine zeitlich begrenzte Aktivität, ihre zugeordnete Zeitspanne, einen Anfangs-Zeitschwellenwert, einen oder mehrere Parameter, die einem Benutzer zugeordnet sind, einen Benutzerbeteiligungsgrad, einen Aktivitätstyp, eine vorgeschlagene Aktion, eine Ausgabe, Trainingsdaten, ein Vorschlagsmodell und/oder andere Daten oder Informationen angeben. Die Daten 508D können in einer oder mehreren Datenbank(en) gespeichert werden. Die eine oder mehreren Datenbank(en) können durch ein LAN oder WAN mit hoher Bandbreite mit den Computergerät(en) 506 verbunden sein oder können auch durch Netzwerk(e) 505 mit den Computergerät(en) 506 verbunden sein. Die eine oder mehreren Datenbank(en) können aufgeteilt sein, so dass sie sich an mehreren Orten befinden.
-
Die Computergerät(e) 502 können auch eine Netzwerkschnittstelle 508E enthalten, die verwendet wird, um über die Netzwerk(e) 506 mit einer oder mehreren anderen Komponente(n) des Systems 500 (z. B. Benutzergerät(en) 504) zu kommunizieren. Die Netzwerkschnittstelle 508E kann irgendwelche geeigneten Komponenten zum Verbinden mit einem oder mehreren Netzwerk(en) enthalten, einschließlich zum Beispiel Sendern, Empfängern, Ports, Controllern, Antennen oder anderen geeigneten Komponenten.
-
Die Benutzergerät(e) 504 können irgendeine geeignete Art von Computergerät sein, wie hierin beschrieben. Ein Benutzergerät 504 kann einen oder mehrere Prozessor(en) 510A und ein oder mehrere Speichergerät(e) 510B enthalten. Die ein oder mehreren Prozessor(en) 510A können irgendein geeignetes Verarbeitungsgerät enthalten, wie z. B. einen Mikroprozessor, einen Mikrocontroller, eine integrierte Schaltung, eine anwendungsspezifische integrierte Schaltung (ASIC), einen digitalen Signalprozessor (DSP), ein feldprogrammierbares Gate-Array (FPGA), ein Logikgerät, eine oder mehrere zentrale Verarbeitungseinheiten (CPUs), Grafikverarbeitungseinheiten (GPUs) (z. B. speziell für effiziente Bildsynthese), Verarbeitungseinheiten, die andere spezialisierte Berechnungen durchführen, usw. Die Speichergerät(e) 510B können ein oder mehrere nichtflüchtige computerlesbare Speichermedien wie z. B. RAM, ROM, EEPROM, EPROM, Flash-Speichergeräte, Magnetplatten usw. und/oder Kombinationen davon enthalten.
-
Die Speichergerät(e) 510B können ein oder mehrere computerlesbare Medien enthalten und können Informationen speichern, auf die die ein oder mehreren Prozessor(en) 510A zugreifen können, einschließlich Anweisungen 510C, die von den ein oder mehreren Prozessoren 510A ausgeführt werden können. Zum Beispiel können die Speichergerät(e) 510B Anweisungen 510C zum Ausführen von einer oder mehrerer Softwareanwendungen, Anzeigen einer Benutzeroberfläche, Empfangen von Benutzereingaben, Verarbeiten von Benutzereingaben, Zugreifen auf Parameter usw., wie hierin beschrieben, speichern. In manchen Ausführungsformen können die Anweisungen 510C von den ein oder mehreren Prozessor(en) 510A ausgeführt werden, um die ein oder mehreren Prozessor(en) 510A zu veranlassen, Tätigkeiten wie z. B. irgendwelche der Tätigkeiten und Funktionen, für die die Benutzergerät(e) 504 konfiguriert sind, und/oder irgendwelche anderen Tätigkeiten oder Funktionen der Benutzergerät(e) 504, wie hierin beschrieben, durchzuführen. Die Anweisungen 510C können Software sein, die in irgendeiner geeigneten Programmiersprache geschrieben ist, oder können in Hardware implementiert sein. Zusätzlich und/oder alternativ können die Anweisungen 510C in logisch und/oder virtuell getrennten Arbeitssträngen auf Prozessor(en) 510A ausgeführt werden.
-
Die ein oder mehreren Speichergerät(e) 5108 können auch Daten 510D speichern, die von den ein oder mehreren Prozessor(en) 510A wiedergewonnen, bearbeitet, erzeugt oder gespeichert werden können. Die Daten 510D können zum Beispiel Daten, die eine Benutzereingabe angeben, Daten, die eine zeitlich begrenzte Aktivität angeben, Daten, die eine Zeitspanne angeben, Daten, die dem Benutzer zugeordnete Parameter angeben, usw. umfassen. In manchen Implementierungen können die Daten 510D von einem anderen Gerät empfangen werden.
-
Das Benutzergerät 504 kann auch eine Netzwerkschnittstelle 510E enthalten, die verwendet wird, um über die Netzwerk(e) 506 mit einer oder mehreren anderen Komponente(n) des Systems 500 (z. B. Computergerät(en) 506) zu kommunizieren. Die Netzwerkschnittstelle 510E kann irgendwelche geeigneten Komponenten zum Verbinden mit einem oder mehreren Netzwerk(en) enthalten, einschließlich zum Beispiel Sendern, Empfängern, Ports, Controllern, Antennen oder anderen geeigneten Komponenten.
-
Die Benutzergerät(e) 504 können eine oder mehrere Eingabekomponente(n) 510F und/oder eine oder mehrere Ausgabekomponente(n) 510G enthalten. Die Eingabekomponente(n) 510F können zum Beispiel Hardware und/oder Software zum Empfangen von Informationen von einem Benutzer enthalten, wie zum Beispiel einen Berührungsbildschirm, ein Berührungsfeld, Dateneingabetasten, Lautsprecher, ein Mikrofon, das für Spracherkennung geeignet ist, usw. Die Ausgabekomponente(n) 510G können Hardware und/oder Software zum hörbaren Erzeugen von Audioinhalt (z. B. einen Podcast) für einen Benutzer enthalten. Zum Beispiel kann die Audio-Ausgabekomponente 510G einen oder mehrere Lautsprecher, Ohrhörer, Kopfsprechhörer, Handapparat(e) usw. enthalten. Die Ausgabekomponente(n) 510G können ein Anzeigegerät enthalten, das Hardware zum Anzeigen einer Benutzeroberfläche und/oder von Nachrichten für einen Benutzer enthalten kann. Zum Beispiel kann die Ausgabekomponente 510G einen Anzeigebildschirm, eine CRT, ein LCD, einen Plasmabildschirm, einen Berührungsbildschirm, einen Fernseher, einen Projektor und/oder andere geeignete Anzeigekomponenten enthalten. In manchen Implementierungen enthält das Benutzergerät 504 möglicherweise kein Anzeigegerät.
-
Die Netzwerk(e) 506 können irgendeine Art von Kommunikationsnetzwerk sein, zum Beispiel ein lokales Netzwerk (z. B. Intranet), ein Weitverkehrsnetzwerk (z. B. Internet), ein zellulares Netzwerk oder irgendeine Kombination davon, und sie können eine beliebige Zahl von drahtgebundenen oder drahtlosen Verbindungen umfassen. Die Netzwerk(e) 506 können auch eine direkte Verbindung zwischen einer oder mehreren Komponente(n) des Systems 500 umfassen. Im Allgemeinen kann Kommunikation über die Netzwerk(e) 506 mittels irgendeiner Art von drahtgebundener und/oder drahtloser Verbindung unter Verwendung von mannigfachen Kommunikationsprotokollen (z. B. TCP/IP, HTTP, SMTP, FTP), Codierungen oder Formaten (z. B. HTML, XML) und/oder Schutzschemata (z. B. VPN, sicheres HTTP, SSL) durchgeführt werden.
-
Die hierin erörterte Technik bezieht sich auf Server, Datenbanken, Softwareanwendungen und andere computerbasierte Systeme sowie auf Aktionen und Informationen, die zu und von solchen Systemen gesendet werden. Ein Fachmann wird erkennen, dass die inhärente Flexibilität von computerbasierten Systemen eine große Vielfalt von möglichen Konfigurationen, Kombinationen und Unterteilungen von Aufgaben und Funktionalität zwischen und unter Komponenten ermöglicht. Zum Beispiel können hierin erörterte Serverprozesse unter Verwendung eines einzelnen Servers oder mehrerer Server, die in Kombination arbeiten, implementiert werden. Datenbanken und Anwendungen können auf einem einzelnen System oder auf mehrere Systeme verteilt implementiert werden. Verteilte Komponenten können sequentiell oder parallel arbeiten.
-
Außerdem können Computeraufgaben, die hierin als an einem Server durchgeführt erörtert werden, stattdessen an einem Benutzergerät durchgeführt werden. Desgleichen können Computeraufgaben, die hierin als an dem Benutzergerät durchgeführt erörtert werden, stattdessen an dem Server durchgeführt werden.
-
Der vorliegende Gegenstand ist zwar in Bezug auf spezielle Ausführungsbeispiele und Verfahren dafür detailliert beschrieben worden, doch erkennt der Fachmann, der ein Verständnis des Vorhergehenden gewinnt, dass er leicht Änderungen an, Variationen von und Äquivalente zu solchen Ausführungsformen herstellen kann. Dementsprechend ergibt sich der Schutzbereich der vorliegenden Offenbarung durch Beispiele und nicht durch Einschränkung, und die Gegenstandsoffenbarung schließt nicht den Einschluss von solchen Modifikationen an, Variationen von und/oder Hinzufügungen zu dem vorliegenden Gegenstand aus, wie der Fachmann leicht erkennt.