DE112016004859T5 - Personalisiertes Entitäten-Repository - Google Patents

Personalisiertes Entitäten-Repository Download PDF

Info

Publication number
DE112016004859T5
DE112016004859T5 DE112016004859.9T DE112016004859T DE112016004859T5 DE 112016004859 T5 DE112016004859 T5 DE 112016004859T5 DE 112016004859 T DE112016004859 T DE 112016004859T DE 112016004859 T5 DE112016004859 T5 DE 112016004859T5
Authority
DE
Germany
Prior art keywords
groups
group
entities
fixed
entity repository
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE112016004859.9T
Other languages
English (en)
Inventor
Matthew Sharifi
Jorge Pereira
Dominik Roblek
Julian Odell
Cong Li
David Petrou
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Google LLC
Original Assignee
Google LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Google LLC filed Critical Google LLC
Publication of DE112016004859T5 publication Critical patent/DE112016004859T5/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/36Creation of semantic tools, e.g. ontology or thesauri
    • G06F16/367Ontology
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/52Network services specially adapted for the location of the user terminal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/60Subscription-based services using application servers or record carriers, e.g. SIM application toolkits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/235Update request formulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2358Change logging, detection, and notification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2457Query processing with adaptation to user needs
    • G06F16/24578Query processing with adaptation to user needs using ranking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/248Presentation of query results
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/58Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/587Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using geographical or spatial information, e.g. location
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/907Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/60Type of objects
    • G06V20/62Text, e.g. of license plates, overlay texts or captions on TV images
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/535Tracking the activity of the user
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/55Push-based network services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • H04W4/029Location-based management or tracking services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/18Information format or content conversion, e.g. adaptation by the network of the transmitted or received information for the purpose of wireless delivery to users or terminals

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computational Linguistics (AREA)
  • Computer Hardware Design (AREA)
  • Library & Information Science (AREA)
  • Mathematical Physics (AREA)
  • Multimedia (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Animal Behavior & Ethology (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Stored Programmes (AREA)

Abstract

Es sind Systeme und Verfahren für ein personalisiertes Entitäten-Repository zur Verfügung gestellt. Beispielsweise umfasst eine Computervorrichtung ein personalisiertes Entitäten-Repository mit festen Gruppen von Entitäten aus einem Entitäten-Repository, das bei einem Server gespeichert ist, einen Prozessor und einen Speicher, der Anweisungen speichert, die veranlassen, dass die Computervorrichtung feste Gruppen von Entitäten identifiziert, die für einen Anwender relevant sind, basierend auf Kontext, der mit der Computervorrichtung assoziiert ist, einen Rang für die festen Gruppen durch Relevanz bildet und das personalisierte Entitäten-Repository unter Verwendung ausgewählter Gruppen updated, die basierend auf dem Rang und auf Gruppennutzungsparametern bestimmt sind, die auf den Anwender anwendbar sind. Bei einem weiteren Beispiel enthält ein Verfahren ein Erzeugen fester Gruppen von Entitäten aus einem Entitäten-Repository, einschließlich standortbasierter Gruppen und themenbasierter Gruppen, und ein Liefern einer Untergruppe der festen Gruppen zu einem Client, wobei der Client die Untergruppe basierend auf dem Standort des Clients und auf Elementen, die im Inhalt identifiziert sind, der zur Anzeige auf dem Client erzeugt ist, anfordert.

Description

  • ZUGEHÖRIGE ANMELDUNGEN
  • Diese Anmeldung beansprucht die Priorität und ist eine Weiterführung der nicht provisorischen US-Patentanmeldung Nr. 14/962,415 , eingereicht am 8. Dezember 2015, mit dem Titel „PERSONALIZED ENTITY REPOSITORY“, welche wiederum die Priorität der provisorischen US-Patentanmeldung Nr. 62/245,241 , eingereicht am 22. Oktober 2015, mit dem Titel „PERSONALIZED ENTITY REPOSITORY“ beansprucht, von welchen beide hierin in ihrer Gesamtheit durch Bezugnahme enthalten sind.
  • HINTERGRUND
  • Die Verwendung von mobilen Vorrichtungen, wie beispielsweise Smartphones, tragbaren Vorrichtungen, Tablets, Laptops, etc., ist anwachsend gewesen. Durch Verstehen des durch einen Anwender angeschauten Inhalts und der durch ihn vorgenommen Aktionen kann eine mobile Vorrichtung eine viel bessere Anwendererfahrung bilden, wie beispielsweise durch Anbieten von personalisierten Vorhersagen und Unterstützung zum Anwender. Ein Teil eines Verstehens des Inhalts und der Aktionen enthält ein Identifizieren und Klassifizieren von im Inhalt des Vorrichtungsbildschirms erkannten Entitäten. Die Entitäten können in einem Entitäten-Repository bzw. -Repositorium, wie beispielsweise einer Wissensbank oder einem Visionsmodell, existieren, das Fakten und Information über Entitäten speichert. Große, öffentliche Entitäten-Repositorys können Millionen von solchen Entitäten enthalten. Die meisten Computervorrichtungen, insbesondere mobile Computervorrichtungen, wie beispielsweise Smartphones und Tablets, haben einen beschränkten Speicher und verwenden das Entitäten-Repository über eine Verbindung mit einem Server.
  • ZUSAMMENFASSUNG
  • Implementierungen teilen ein Entitäten-Repository in mehrere feste Gruppen oder Stücke auf. Eine Gruppe kann standortbasiert, themenbasiert, aktionsbasiert oder funktionsgemäß sein. Das System kann die Gruppen bei einem Server bestimmen und nur diejenigen Gruppen zu einer Client-Vorrichtung bereitstellen bzw. liefern, die für diesen bestimmten Client relevant sind. Die zum Client heruntergeladenen Gruppen sind ein personalisiertes Entitäten-Repository, auf das ohne Verbindung mit dem Server zugegriffen werden kann. Die Clientvorrichtung kann eine Gruppenidentifikationsmaschine enthalten. Die Gruppenidentifikationsmaschine kann ein Vorhersagemodell enthalten, das angesichts von etwas Text, Bildern oder anderen Merkmalen eine oder mehrere Gruppen vorhersagt. Das Vorhersagemodell kann dazu verwendet werden, zu bestimmen, welche Gruppen für den Anwender am nützlichsten sind. Die Gruppenidentifikationsmaschine kann auch einen Standort des Anwenders verfolgen, um zu bestimmen, welche Standortgruppen am relevantesten sind.
  • Gruppen können für den Anwender der Client-Vorrichtung in einen Rang eingereiht werden, wie z.B. basierend auf dem Standort des Anwenders, einer Suchvorgeschichte des Anwenders, einem Inhalt, den der Anwender auf der Vorrichtung angeschaut hat, einer Tageszeit, Signalen von anderen Vorrichtungen, etc. Somit kann beispielsweise dann, wenn ein Anwender ein erneutes Suchen einer Reise nach Hawaii beginnt, das System bestimmen, dass eine Gruppe mit Entitäten in Bezug auf Hawaii besonders relevant für den Anwender ist. Wenn ein Anwender von New York nach Los Angeles fliegt, kann das System bestimmen, dass Standortgruppen für Los Angeles relevant sind. Die Client-Vorrichtung kann die Rangbildungen dazu verwenden, zu bestimmen, welche Gruppen wieder aufzufinden und welche aus einem Speicher zu löschen sind. Wenn beispielsweise eine zuvor heruntergeladene Gruppe nicht mehr relevant ist, kann das System diese Gruppe entfernen, um Platz für eine andere Gruppe zu schaffen. Das System kann Gruppennutzungsparameter verwenden, um zu bestimmen, welche Gruppen im personalisierten Entitäten-Repository zu irgendeiner Zeit enthalten sein sollen. Bei einigen Implementierungen kann der Anwender die Gruppennutzungsparameter erstellen und steuern. Ein Updaten einer Gruppe kann ein Bestimmen eines Deltas für die Gruppe enthalten, um die zur Client-Vorrichtung transferierten Daten zu reduzieren. Bei einigen Implementierungen kann den Gruppen eine Version zugeteilt werden, z.B. so, dass eine Schemaänderung die Anwendungen nicht abschaltet, die das Modell verwenden.
  • Gemäß bestimmter Aspekte der Offenbarung umfasst eine mobile Vorrichtung eine Anzeigevorrichtung, ein in einem Speicher gespeichertes personalisiertes Entitäten-Repository, wobei das personalisierte Entitäten-Repository eine Vielzahl von festen Gruppen von Entitäten von einem bei einem Server gespeicherten Entitäten-Repository enthält, wobei jede feste Gruppe einen jeweiligen Identifizierer hat und Information über die Entitäten in der Gruppe enthält, wenigstens einen Prozessor und einen Speicher, der Anweisungen speichert, die dann, wenn sie durch den wenigstens einen Prozessor ausgeführt werden, veranlassen, dass die mobile Vorrichtung Operationen durchführt. Die Operationen enthalten ein Identifizieren fester Gruppen des Entitäten-Repositorys, die für einen Anwender der mobilen Vorrichtung relevant sind, basierend auf einem Kontext, der mit der mobilen Vorrichtung assoziiert ist, eine Rangbildung der festen Gruppen durch eine Relevanz, ein Bestimmen ausgewählter Gruppen aus den identifizierten festen Gruppen unter Verwendung des Rangs und von Gruppennutzungsparametern, die auf den Anwender anwendbar sind, und ein Updaten des personalisierten Entitäten-Repositorys unter Verwendung der ausgewählten Gruppen.
  • Gemäß bestimmten Aspekten der Offenbarung enthält ein Verfahren ein Empfangen eines auf einem Bildschirm erfassten Bilds, das konfiguriert ist, um Inhalt auf einer Anzeige einer mobilen Vorrichtung anzuzeigen, ein Bestimmen von Text im Bild durch Durchführen von Texterkennung auf dem Bild, ein Bereitstellen des Textes für ein Gruppenvorhersagemodell, wobei das Gruppenvorhersagemodell trainiert wird, um eine oder mehrere feste Gruppen von Entitäten vorherzusagen, und ein Speichern wenigstens einer festen Gruppe von Entitäten der vorhergesagten festen Gruppen von Entitäten in einem personalisierten Entitäten-Repository in einem Speicher auf der mobilen Vorrichtung.
  • Gemäß bestimmten Aspekten der Offenbarung kann ein Verfahren ein Erzeugen einer Vielzahl von festen Gruppen von Entitäten aus einem Entitäten-Repository enthalten. Die festen Gruppen enthalten standortbasierte Gruppen, wobei jede standortbasierte Gruppe Entitäten auf dem Entitäten-Repository enthält, die einen Standort innerhalb einer Zelle haben, wobei die Zelle mit der Gruppe assoziiert ist, und themenbasierte Gruppen, wobei wenigstens einige der themenbasierten Gruppen Entitäten aus dem Entitäten-Repository enthalten, die über eine Einbettungsähnlichkeit aufeinander bezogen sind. Das Verfahren kann auch ein Bereitstellen einer Untergruppe der festen Gruppen von Entitäten zu einer Client-Vorrichtung enthalten, wobei die Client-Vorrichtung die Untergruppe basierend auf einem Standort der Client-Vorrichtung und auf erkannten Elementen, die in Inhalt identifiziert sind, der zur Anzeige auf der Client-Vorrichtung erzeugt ist, anfordert.
  • Bei einem allgemeinen Aspekt enthält ein Computerprogrammprodukt, das auf einer computerlesbaren Speichervorrichtung verkörpert ist, Anweisungen, die dann, wenn sie durch wenigstens einen Prozessor ausgeführt werden, der in einem Substrat ausgebildet ist, veranlassen, dass eine Computervorrichtung irgendetwas von den offenbarten Verfahren, Operationen oder Prozessen durchführt. Ein weiterer allgemeiner Aspekt enthält ein System und/oder ein Verfahren zum Erzeugen fester Gruppen von Entitäten in einem Entitäten-Repository und zum Bereitstellen einiger der festen Gruppen zu einer Personalcomputervorrichtung als ein persönliches Entitäten-Repository, wie es im Wesentlichen gezeigt und/oder beschrieben ist in Verbindung mit wenigstens einer der Figuren und wie es vollständiger in den Ansprüchen dargelegt ist.
  • Eine oder mehrere der Implementierungen des hierin beschriebenen Gegenstands können implementiert werden, um einen oder mehrere der folgenden Vorteile zu realisieren. Als ein Beispiel ermöglicht ein Erzeugen fester Gruppen von Entitäten, dass das System persönliche oder kundenspezifische Entitäten-Repositorys auf eine skalierbare Weise bereitstellt. Das kundenspezifische Entitäten-Repository kann bei einer Textanalyse und Bildanalyse auf der Vorrichtung helfen, um Anwenderunterstützungsfähigkeiten sogar ohne Verbindung mit einem Netzwerk zu unterstützen. Der Anwender kann die Menge von Ressourcen steuern, die zugehörig zum persönlichen Entitäten-Repository sind, und das System kann automatisch bestimmen, welche Gruppen die zugeteilten Ressourcen am besten nutzen. Als ein weiteres Beispiel kann das System vorhersagen, welche Gruppen für einen Anwender am relevantesten sind. Die Vorhersage kann auf einer Anzahl von Faktoren basieren, die spezifisch für den Anwender und/oder die persönliche Computervorrichtung sind, wie beispielsweise einem Standort, einer Tageszeit, Signalen von mit dem Anwender assoziierten oder der Vorrichtung bekannten anderen Computervorrichtungen, einer letzten Aktivität auf der Computervorrichtung, etc. Als weiteres Beispiel können Implementierungen ein Bilden von Versionen der Gruppen unterstützen, so dass eine Änderung, die die Information in der Gruppe neu strukturiert, Anwendungen, die die Gruppe verwenden, nicht abschaltet.
  • Die Details einer oder mehrerer Implementierungen sind in den beigefügten Zeichnungen und der nachstehenden Beschreibung dargelegt. Andere Merkmale werden aus der Beschreibung und den Zeichnungen und aus den Ansprüchen offensichtlich werden.
  • Figurenliste
    • 1 ist ein Blockdiagramm, das ein beispielhaftes System gemäß dem offenbarten Gegenstand darstellt.
    • 2 stellt eine beispielhafte Anzeige einer Anwenderschnittstelle zum Spezifizieren von Gruppennutzungsparametern für ein personalisiertes Entitäten-Repository gemäß dem offenbarten Gegenstand dar.
    • 3 stellt eine beispielhafte Anzeige von Inhalt, der einen Kontext zum Bestimmen bereitstellt, welche Gruppen für einen Anwender der Computervorrichtung am relevantesten sind, gemäß den offenbarten Implementierungen dar.
    • 4 stellt eine beispielhafte Anzeige einer Anwenderschnittstelle zum Vorschlagen zusätzlicher Gruppen zur Aufnahme in einem personalisierten Entitäten-Repository gemäß offenbarten Implementierungen dar.
    • 5 stellt eine weitere beispielhafte Anzeige einer Anwenderschnittstelle zum Vorschlagen zusätzlicher Gruppen zur Aufnahme in einem personalisierten Entitäten-Repository gemäß offenbarten Implementierungen dar.
    • 6 stellt ein Ablaufdiagramm eines beispielhaften Prozesses zum Erzeugen und Updaten fester Gruppen von Entitäten gemäß offenbarten Implementierungen dar.
    • 7 stellt ein Ablaufdiagramm eines beispielhaften Prozesses zum Bilden eines persönlichen Entitäten-Repositorys unter Verwendung fester Gruppen von Entitäten gemäß offenbarten Implementierungen dar.
    • 8 stellt ein Ablaufdiagramm eines beispielhaften Prozesses zum Identifizieren fester Gruppen von Entitäten, die für einen Anwender einer Client-Vorrichtung relevant sind, gemäß offenbarten Implementierungen dar.
    • 9 stellt ein Ablaufdiagramm eines beispielhaften Prozesses zum Auswählen fester Gruppen von Entitäten aus festen Gruppen von Entitäten, die für einen Anwender einer Client-Vorrichtung relevant sind, basierend auf Gruppennutzungsparametern gemäß offenbarten Implementierungen dar.
    • 10 zeigt ein Beispiel einer Computervorrichtung, die verwendet werden kann, um die beschriebenen Techniken zu implementieren.
    • 11 zeigt ein Beispiel einer verteilen Computervorrichtung, die verwendet werden kann, um die beschriebenen Techniken zu implementieren.
  • Gleiche Bezugszeichen in den verschiedenen Zeichnungen zeigen gleiche Elemente an.
  • DETAILLIERTE BESCHREIBUNG
  • 1 ist ein Blockdiagramm eines Systems für ein persönliches Entitäten-Repository gemäß einer beispielhaften Implementierung. Das System 100 kann verwendet werden, um ein personalisiertes Entitäten-Repository aus Auswahlen von vorberechneten oder festen Gruppen von Entitäten zu bilden. Die Gruppen sind in dem Sinn fest, dass sie vor irgendeiner bestimmten Anforderung für eine Gruppe berechnet sind oder, anders ausgedrückt, nicht in Reaktion auf eine Anforderung für eine Gruppe erzeugt sind. Das System 100 kann bestimmen, welche Gruppen zu einem bestimmten Zeitpunkt am nützlichsten sind, und kann das personalisierte Entitäten-Repository updaten, um Entitäten im personalisierten Repository zu sichern, die für den Anwender relevant sind. Ein Updaten des personalisierten Entitäten-Repositorys enthält ein Löschen von Gruppen, die nun weniger relevant für den Anwender als zuvor sind, und ein Hinzufügen neuer Gruppen, die relevant geworden sind. Das personalisierte Entitäten-Repository kann verwendet werden, um Entitäten in einem Inhalt zu bestimmen, der zur Anzeige auf einer Computervorrichtung erzeugt ist, um eine Anwendererfahrung auf der Computervorrichtung zu personalisieren. Ein Personalisieren der Anwendererfahrung kann Vorhersageaktionen, Themen, Wörter oder Phrasen, etc. enthalten. Das System 100 in 1 ist dargestellt als ein Client-Server-System mit etwas Datenverarbeitung oder Datenspeicherung, die bei einem Server 110 auftritt, und anderer Datenverarbeitung, die bei der Client-Vorrichtung 150 auftritt. Jedoch können andere Konfigurationen und Anwendungen verwendet werden und Implementierungen sind nicht auf die genauen dargestellten Konfigurationen beschränkt.
  • Das System 100 für ein personalisiertes Entitäten-Repository kann einen Server 110 enthalten, der eine Computervorrichtung oder -vorrichtungen sein kann, der oder die die Form einer Anzahl von unterschiedlichen Vorrichtungen annimmt oder annehmen, wie beispielsweise ein Standard-Server, eine Gruppe von solchen Servern oder ein Rack-Serversystem. Beispielsweise kann der Server 110 auf verteilte Weise über mehrere Computervorrichtungen implementiert sein. Zusätzlich kann der Server 110 in einem Personalcomputer, wie beispielsweise einem Laptop-Computer, implementiert sein. Der Server 110 kann ein Beispiel einer Computervorrichtung 900 sein, wie sie in 9 gezeigt ist, oder einer Computervorrichtung 1100, wie sie in 11 gezeigt ist. Der Server 110 kann einen oder mehrere Prozessoren enthalten, der oder die in einem Substrat ausgebildet ist oder sind, konfiguriert, um eine oder mehrere maschinenausführbare Anweisungen oder Teilstücke von Software, Firmware oder einer Kombination davon auszuführen. Die Prozessoren können halbleiterbasiert sein - das heißt, dass die Prozessoren Halbleitermaterial enthalten können, das eine digitale Logik durchführen kann.
  • Der Server 110 kann zu einem Entitäten-Repository 130 speichern oder einen Zugriff darauf haben. Das Entitäten-Repository 130 kann Information über Entitäten speichern. Eine Entität kann eine Person, ein Ort, ein Element, eine Idee, ein Thema, ein Wort, eine Phrase, ein abstraktes Konzept, ein konkretes Element, ein anderes geeignetes Ding oder irgendeine Kombination von diesen sein. Bei einigen Implementierungen kann das Entitäten-Repository 130 eine Wissensbank sein, die Information über Entitäten speichert. Bei einigen Implementierungen speichert eine Wissensbank Information über Entitäten in der Form von Beziehungen zwischen Entitäten. Beispielsweise können Entitäten in einer Wissensbank durch etikettierte Kanten aufeinander bezogen sein, die Beziehungen darstellen. Die Wissensbank kann auch Attribute einer Entität speichern. Einige Wissensbanken sind groß und enthalten manchmal Millionen von Entitäten. Eine Wissensbank mit einer großen Anzahl von Entitäten und sogar einer beschränkten Anzahl von Beziehungen kann Milliarden von Verbindungen haben.
  • Das Entitäten-Repository 130 kann auch Bilderkennungsentitäten enthalten, die verwendet werden können, um eine Entität in einem Bild zu identifizieren. Beispielsweise kann das Entitäten-Repository 130 Entitäten enthalten, die bekannte Bilder der Entität und/oder Charakteristiken des Bilds darstellen und bei Bilderkennungsprozessen (z.B. unter Verwendung von Bildähnlichkeitstechniken) verwendet werden, um Entitäten in Bildern zu identifizieren. Beispielsweise können die Charakteristiken Merkmale sein, die einem Bilderkennungsmodell bereitgestellt sind (z.B. Maschinenlernalgorithmus). Das Entitäten-Repository 130 kann eine einzelne Wissensbank, eine Kombination von unterschiedlichen Wissensbanken, Bilderkennungsentitäten und/oder eine Kombination einer Wissensbank und von Bildinformation darstellen. Bei einigen Implementierungen kann das Entitäten-Repository 130 in einer externen Speichervorrichtung gespeichert sein, die für den Server 110 zugreifbar ist. Bei einigen Implementierungen kann das Entitäten-Repository 130 verteilt über mehrere Speichervorrichtungen und/oder mehrere Computervorrichtungen sein, wie beispielsweise mehrere Server. Die Entitäten und Beziehungen in einer Wissensbank können durchsuchbar sein, wie z.B. über einen Index. Beispielsweise kann der Index Text enthalten, durch welchen auf eine Entität Bezug genommen worden ist. Somit kann eine Referenz bzw. Bezugnahme auf die Wissensbank derart verstanden werden, dass sie einen Index enthält, der ein Finden einer Entität unter Verwendung einer Textäquivalenz ermöglicht.
  • Der Server 110 kann auch einen oder mehrere Computerspeicher enthalten. Die Speicher, wie beispielsweise ein Hauptspeicher, können konfiguriert sein, um ein oder mehrere Teilstücke von Daten, entweder temporär, permanent, semipermanent oder einer Kombination davon, zu speichern. Die Speicher können irgendeinen Typ von Speichervorrichtung enthalten, die Information in einem Format speichert, das durch den einen oder die mehreren Prozessoren gelesen und/oder ausgeführt werden kann. Die Speicher können einen flüchtigen Speicher, einen nichtflüchtigen Speicher oder eine Kombination davon enthalten und Module oder Maschinen speichern, die dann, wenn sie durch den einen oder die mehreren Prozessoren ausgeführt werden, bestimmte Operationen durchführen. Bei einigen Implementierungen können die Module in einer externen Speichervorrichtung gespeichert sein und in den Speicher des Servers 110 geladen werden. Bei einigen Implementierungen können die Module eine Entitätengruppen-Erzeugungsmaschine 120 enthalten. Die Entitätengruppen-Erzeugungsmaschine 120 kann Entitäten in einem Entitäten-Repository 130 in feste Entitätengruppen 132 aufteilen. Jede Gruppe in den festen Entitätengruppen 132 kann als ein Stück des Entitäten-Repositorys 130 gedacht sein, das Entitäten in Bezug auf einige Kriterien enthält. Bei einigen Implementierungen kann ein Stück Metadaten über eine Entität enthalten (z.B. einen Namen, eine Beschreibung, ein kanonisches Bild), Beziehungen zu anderen Entitäten und/oder Information, die dazu verwendet wird, die Entität in Text zu erfassen, wie beispielsweise allgemeine Namen, Aliasnamen bzw. Pseudonyme, Abkürzungen, Spitznamen und andere Signale. Jede feste Gruppe von Entitäten in den festen Entitätengruppen 132 kann einen Identifizierer haben, so dass eine bestimmte Gruppe durch Anwendungen oder Client-Vorrichtungen verfolgt, identifiziert und angefordert werden kann.
  • Bei einigen Implementierungen kann die Entitätengruppen-Erzeugungsmaschine 120 verschiedenen Typen von Gruppen erzeugen, wie beispielsweise standortbasierte Gruppen, themenbasierte Gruppen oder funktionsgemäße Gruppen. Eine standortbasierte Gruppe kann Entitäten enthalten, die mit einer bestimmten geographischen Zelle assoziiert sind. Eine geographische Zelle ist ein durch Grenzen, wie beispielsweise zwei Linien eines Breitengrads und zwei Linien eines Längengrads, definiertes Gebiet der Oberfläche der Erde. Solche Zellen sind allgemein für Kartenanwendungen, wie beispielsweise GOOGLE MAPS. Eine standortbasierte feste Gruppe von Entitäten kann irgendwelche Entitäten enthalten, für die bekannt ist, dass sie innerhalb der Zelle lokalisiert sind. Das Entitäten-Repository 130 kann ein Attribut enthalten, das einen Standort für eine Entität spezifiziert, oder kann Metadaten enthalten, die den Standort identifizieren. Beispielsweise kann eine Restaurant-Entität im Entitäten-Repository 130 ein Standortattribut haben, das eine bestimmte Geo-Zelle oder -Zellen oder Breitengrad/Längengrad-Koordinaten spezifiziert. Während Geo-Zellen, z.B. Zellen, die in einer Kartenanwendung verwendet sind, typischerweise von gleicher Größe sind, müssen standortbasierte Entitätengruppen nicht einer Geo-Zelle entsprechen, sondern können stattdessen auf einem Gebiet basieren, das eine spezifizierte Anzahl von Entitäten hat, die innerhalb des Gebiets lokalisiert sind. Somit kann beispielsweise eine Zelle für eine standortbasierte Gruppe von Entitäten in New York City sehr klein sein (z.B. zehn Quadratmeilen), weil sie dicht bevölkert ist, während eine Zelle für eine standortbasierte Gruppe von Entitäten im westlichen Wyoming hunderte von Quadratmeilen sein kann, aber dieselbe Anzahl von Entitäten wie die Zelle in New York City haben kann. Somit kann beispielsweise die Entitätengruppen-Erzeugungsmaschine 120 benachbarte Geo-Zellen verknüpfen, bis die Menge von Entitäten, die mit der verknüpften Zelle assoziiert sind, eine maximale Menge erreicht und eine standortbasierte Zelle für eine feste Gruppe von Entitäten ausbildet.
  • Die Entitätengruppen-Erzeugungsmaschine 120 kann auch themenbasierte feste Gruppen von Entitäten erzeugen. Bei einigen Implementierungen kann die Entitätengruppen-Erzeugungsmaschine 120 themenbasierte Gruppe durch Clustern der Entitäten unter Verwendung herkömmlicher Cluster-Techniken basierend darauf erzeugen, wie Entitäten aufeinander bezogen sind. Beispielsweise kann das Clustern auf Charakteristiken der Entitäten basieren, wie z.B. Einbettungen, trainiert auf Suchaufzeichnungen oder auf Text, wie beispielsweise Text aus Dokumenten, indexiert für eine Suchmaschine. Bei einigen Implementierungen kann oder können eine oder mehrere themenbasierte Gruppen auf Sammlungen basieren, die im Entitäten-Repository identifiziert sind. Beispielsweise können Entitäten im Entitäten-Repository 130 eine Anzeige von einer oder mehreren Sammlungen enthalten, zu denen die Entität gehört, oder kann das Entitäten-Repository 130 eine Sammlungsdefinition oder, anders ausgedrückt, Erfordernisse zur Aufnahme in die Sammlung enthalten und können Entitäten gegenüber den Erfordernissen bewertet werden, um eine Mitgliedschaft in der Sammlung zu bestimmen. Die Entitätengruppen-Erzeugungsmaschine 120 kann eine Entitätenmitgliedschaft in der Sammlung verwenden, um eine oder mehrere der themenbasierten Gruppen zu erzeugen. Bei einigen Implementierungen kann die Entitätengruppen-Erzeugungsmaschine 120 eine Einbettung für jedes themenbezogene Stück berechnen. Die Einbettung kann verwendet werden, um eine Ähnlichkeit mit einer Anfrageeinbettung zu berechnen, z.B. erzeugt durch eine Gruppenidentifikationsmaschine, um zu bestimmen, welche Gruppen der Anfrageeinbettung am ähnlichsten sind. Beispielsweise kann die Einbettung ein Cluster-Zentrum darstellen.
  • Die Entitätengruppen-Erzeugungsmaschine 120 kann auch funktionsgemäße bzw. funktionelle Gruppen von Entitäten erzeugen. Eine funktionelle Gruppe kann Entitäten enthalten, für die bestimmt ist, dass sie am populärsten sind, z.B. Entitäten, die am häufigsten gesucht oder auf die am häufigsten zugegriffen wird, wie beispielsweise basierend auf einem Erscheinen in Suchanfragen. Eine funktionelle Gruppe kann auch auf einer Fähigkeit basieren, wie beispielsweise der Fähigkeit, von einer Sprache zu einer anderen zu übersetzen. Als ein weiteres Beispiel kann eine funktionelle Gruppe Entitäten enthalten, für die es wahrscheinlich ist, dass ihnen begegnet wird, wenn sie durch eine bestimmte Anwendung verwendet oder angefordert werden. Natürlich sind diese funktionellen Gruppen nur als Beispiele zur Verfügung gestellt und können funktionelle Entitätengruppen irgendeine Sammlung von Entitäten enthalten, die üblich für einen bestimmten Zweck, eine bestimmte Charakteristik oder eine bestimmte Funktion sind. Bei einigen Implementierungen kann die Entitätengruppen-Erzeugungsmaschine 120 feste Gruppen von Entitäten erzeugen, die Kombinationen aus dem obigen sind. Beispielsweise kann die Entitätengruppen-Erzeugungsmaschine 120 eine feste Gruppe von Entitäten für Restaurants in San Jose, Kalifornien, erzeugen, oder eine andere Gruppe für eine Kunstwerkerkennung in Paris, Frankreich. Bei einigen Implementierungen kann die Entitätengruppen-Erzeugungsmaschine 120 eine Anwenderschnittstelle enthalten, die ermöglicht, dass ein Anwender eine oder mehrere feste Gruppen von Entitäten kuratiert.
  • Die Entitätengruppen-Erzeugungsmaschine 120 kann die festen Gruppen von Entitäten 132 auch periodisch updaten. Beispielsweise kann die Entitätengruppen-Erzeugungsmaschine 120, wenn Entitäten im Entitäten-Repository 130 hinzugefügt, gelöscht oder upgedated werden, Änderungen an den festen Gruppen bestimmen. Bei einigen Implementierungen kann die Entitätengruppen-Erzeugungsmaschine 120 Deltas für jede Gruppe bestimmen, wie beispielsweise eine Liste von Entitäten, um von der festen Gruppe gelöscht zu werden, und eine Liste von Entitäten, um zu der festen Gruppe hinzugefügt zu werden. Die Entitätengruppen-Erzeugungsmaschine 120 kann die Deltas der Client-Vorrichtung 150 entweder als Push oder als Pull bereitstellen. Die Deltas reduzieren die Menge an Daten, die zwischen dem Server 110 und der Client-Vorrichtung 150 übertragen werden, während noch ermöglicht wird, dass die Client-Vorrichtung 150 die aktuellsten Entitätengruppen hat. Dies ist besonders nützlich, wenn sich eine bestimmte feste Entitätengruppe oft ändert, wie beispielsweise eine Gruppe von Entitäten, die Filme darstellt. Bei einigen Implementierungen kann die Entitätengruppen-Erzeugungsmaschine 120 auch Versionen von jeder festen Gruppe bilden, auf die auch als Stücke Bezug genommen wird. Beispielsweise kann die Entitätengruppen-Erzeugungsmaschine 120 das Datenformat der Stücke ändern oder kann die Stücke auf andere Weise ändern, die das Schema abschaltet. Wenn das Schema abgeschaltet wird, können die Anwendungen, die die Stücke verwenden, ein entsprechendes Update haben müssen, um die neuen Stücke zu verwenden. Demgemäß kann die Entitätengruppen-Erzeugungsmaschine 120 Versionen für die festen Gruppen bilden, so dass Anwendungen, die nicht upgedatet worden sind, ohne Fehlfunktion damit fortfahren können, ältere Versionen zu verwenden. In einigen Fällen kann die Client-Vorrichtung 150 zwei Versionen desselben festen Stücks enthalten (z.B. ein Stück, das einen bestimmten Standort darstellt), bis Anwendungen, die das alte Schema verwenden, upgedatet sind.
  • Bei einigen Implementierungen kann die Entitätengruppen-Erzeugungsmaschine 120 auch ein Gruppenvorhersagemodell 122 trainieren und warten. Ein Gruppenvorhersagemodell, wie beispielsweise das Gruppenvorhersagemodell 122, kann irgendein Typ von Maschinenlernalgorithmus sein, wie beispielsweise ein neuronales Netz mit langem Kurzzeitgedächtnis (LSTM = Long Short-Term Memory), ein vorwärts gerichtetes (Feed-Forward) neuronales Netz, ein Unterstützungsvektormaschinen-(SVM-)Klassifizierer, etc., der angesichts einer Gruppe von Merkmalen oder Signalen eine feste Gruppe von Entitäten vorhersagen kann. Die Merkmale können einen Vorrichtungsstandort, Text oder Bilder in einem Inhalt enthalten (z.B. Dokumente, Suchaufzeichnungen, etc.), Anwendungen, die typischerweise für verschiedene Aufgaben verwendet werden, etc. Als ein Maschinenlernalgorithmus hat das Gruppenvorhersagemodell zwei Moden, nämlich einen Trainingsmode und einen Inferenzmode bzw. Ableitungsmode. Beispielsweise kann das Gruppenvorhersagemodell 122 im Trainingsmode etikettierte Suchaufzeichnungen 134 und etikettiere bearbeitete Dokumente 136 verwenden, um angesichts einer Gruppe von Signalen eine oder mehrere feste Gruppe von Entitäten aus festen Entitätengruppen 132 vorherzusagen. Die Etiketten können automatisch oder durch menschliche Experten erzeugt werden. Die Signale können aus einem Inhalt genommen werden, der auf einer Client-Vorrichtung erzeugt ist, wie beispielsweise der Vorrichtung 150, oder aus Suchaufzeichnungen, wie beispielsweise Suchaufzeichnungen 134, oder anwenderspezifischen Aufzeichnungen, wie beispielsweise einem Bildschirmerfassungsindex 172. In einem Trainingsmode kann das Gruppenvorhersagemodell 122 auch einen Standort als ein Signal hereinnehmen (z.B. einen aktuellen Geo-Zellenstandort, Koordinaten, etc.), um eine Gruppe von Entitäten für den gegebenen Standort vorherzusagen. Während eines Trainings werden die Parameter des Modells upgedated, um die Etiketten besser wiederzugeben, die einem Text in den Trainingsdokumenten zugeordnet sind. In einem Inferenzmode wird das Gruppenvorhersagemodell 122 eine oder mehrere feste Entitätengruppen aus festen Entitätengruppen 132 in Reaktion auf eine Gruppe von Merkmalen vorhersagen, die die Signale darstellt. Jede vorhergesagte Gruppe kann einen assoziierten Vertrauenswert oder Wahrscheinlichkeitswert haben, der ein Ausmaß an Sicherheit anzeigt, dass die bereitgestellten Merkmale die bestimmte feste Gruppe von Entitäten vorhersagen. Bei einigen Implementierungen kann der Vertrauenswert auf einem Ähnlichkeitsmaß basieren, das in Abhängigkeit vom Typ einer Gruppe unterschiedlich sein kann. Beispielsweise kann der Vertrauenswert für standortbasierte Gruppen auf einer physikalischen Entfernung von einem spezifizierten Standort basieren, z.B. dem aktuellen Standort einer Computervorrichtung. Der Vertrauenswert für eine themenbasierte Gruppe kann auf einem Einbettungsabstand bei einer Anfrage basieren, wie beispielsweise einer basierend auf Signalen von einer Client-Vorrichtung erzeugten Einbettung. Solche Signale können kürzlich auf dem Bildschirm eingesehenen Text enthalten, den Zustand oder die Nähe von externen Vorrichtungen, einen Inhalt von letzten Suchen, angegebene Anwenderinteressen, eine auf der Client-Vorrichtung installierte oder ausgeführte Anwendung, einen Zeitstempel, etc.
  • Wenn sie einmal trainiert ist, und dann auf einer periodischen Basis, um Updates zu berücksichtigen, kann die Entitätengruppen-Erzeugungsmaschine 120 das Gruppenvorhersagemodell 122 der Client-Vorrichtung 150 bereitstellen. Die Client-Vorrichtung 150 kann das Modell als Gruppenvorhersagemodell 164 speichern. Bei einigen Implementierungen kann die Client-Vorrichtung 150 das Gruppenvorhersagemodell 164 durch Durchführen eines weiteren Trainings personalisieren. Das Training kann Information von Suchaufzeichnungen verwenden, die mit dem Anwender assoziiert sind, wie beispielsweise von Suchaufzeichnungen, die bei der Client-Vorrichtung 150 oder dem Bildschirmerfassungsindex 172 gespeichert sind. Somit kann das Gruppenvorhersagemodell 164 eine Kopie des Gruppenvorhersagemodells 122 oder eine personalisierte Kopie des Gruppenvorhersagemodells 122 sein.
  • Der Server 110 kann Suchaufzeichnungen 134 und bearbeitete Dokumente 136 enthalten. Die Suchaufzeichnungen 134 können Suchprotokolle, angehäufte Daten, die von Anfragen gesammelt sind, oder irgendwelche anderen auf Anfragen basierende Daten enthalten. Bei einigen Implementierungen können die Suchaufzeichnungen 134 durch eine Suchmaschine im normalen Prozess eines Erzeugens von Suchergebnissen erzeugt werden. Bei einigen Implementierungen können die Suchaufzeichnungen 134 auf einer anderen Computervorrichtung gespeichert werden, die für den Server 110 zugreifbar ist. Bei einigen Implementierungen können die Suchaufzeichnungen über eine Vielzahl von Computervorrichtungen verteilt sein. Die bearbeiteten Dokumente 136 können unter Verwendung von beispielsweise bekannten oder später entwickelten Web-Durchsuchungstechniken erhaltene Dokumente sein. Bei einigen Implementierungen stellen die bearbeiteten Dokumente 136 Dokumente dar, die über das Internet verfügbar sind, und können eine indexierte Form der Dokumente sein.
  • Das System 100 für ein personalisiertes Entitäten-Repository kann eine Computervorrichtung 150 enthalten. Die Computervorrichtung 150 kann irgendeine mobile Computervorrichtung sein, wie beispielsweise ein Smartphone oder eine andere in der Hand gehaltene Computervorrichtung, ein Tablet, eine tragbare Computervorrichtung, etc., die eher in einer geschlossenen mobilen Umgebung als einer herkömmlichen offenen webbasierten Umgebung arbeitet. Die Computervorrichtung 150 kann auch andere Typen von persönlichen elektronischen Computervorrichtungen sein, wie beispielsweise ein Laptop oder ein netzbasierter Computer, ein Desktop-Computer, ein Fernsehgerät mit einem Prozessor, etc. Die Computervorrichtung 150 kann ein Beispiel einer Computervorrichtung 1000 oder 1050 sein, wie es in 10 gezeigt ist. Die Computervorrichtung 150 kann eine Computervorrichtung sein, die durch einen einzigen Anwender verwendet wird, oder kann eine Computervorrichtung sein, die durch mehrere Anwender gemeinsam genutzt wird.
  • Die Computervorrichtung 150 kann einen oder mehrere Prozessoren enthalten, der oder die in einem Substrat ausgebildet ist oder sind, konfiguriert, um eine oder mehrere maschinenausführbare Anweisungen oder Teilstücke von Software, Firmware oder einer Kombination davon auszuführen. Die Prozessoren können halbleiterbasiert sein - das heißt, dass die Prozessoren Halbleitermaterial enthalten können, das digitale Logik durchführen kann. Die Computervorrichtung 150 kann somit einen oder mehrere Computerspeicher enthalten, der oder die konfiguriert ist oder sind, um ein oder mehrere Teilstücke von Daten entweder temporär, permanent, semipermanent oder aus einer Kombination davon zu speichern. Die Computervorrichtung 150 kann somit Anwendungen 155 enthalten, die maschinenausführbare Anweisungen in der Form von Software, Firmware oder einer Kombination davon darstellen. Die in den Anwendungen 155 identifizierten Komponenten können Teil des Betriebssystems sein oder können Anwendungen sein, die entwickelt sind, um unter Verwendung des Betriebssystems zu laufen. Bei einigen Implementierungen können die Anwendungen 155 mobile Anwendungen sein. Herkömmlich arbeiten mobile Anwendungen in einer geschlossenen Umgebung, was bedeutet, dass der Anwender separate Anwendungen verwendet, um Aktivitäten durchzuführen, die herkömmlich in einer webbasierten Browserumgebung durchgeführt werden. Beispielsweise kann ein Anwender der Computervorrichtung 150 eher als dass er zu bookit.com geht, um ein Hotel zu buchen, eine mobile Anwendung in Anwendungen 155 verwenden, die durch bookit.com zur Verfügung gestellt ist. Anwendungen 155 können auch Web-Anwendungen enthalten, die die mobile Anwendung wiedergeben können, z.B. Bereitstellen desselben oder eines ähnlichen Inhalts wie die mobile Anwendung. Bei einigen Implementierungen können die Anwendungen 155 Funktionen enthalten, die durch ein Betriebssystem der Computervorrichtung 150 durchgeführt werden.
  • Die Anwendungen 155 können einen Bildschirminhaltsagenten 160 und eine Gruppenidentifikationsmaschine 162 enthalten. Bei einigen Implementierungen können eine oder mehrere von diesen Anwendungen durch das Betriebssystem (nicht gezeigt) der Computervorrichtung 150 bereitgestellt werden. Bei einigen Implementierungen können eine oder mehrere dieser Anwendungen durch den Anwender heruntergeladen und installiert werden.
  • Der Bildschirminhaltsagent 160 kann verschiedene Funktionalitäten enthalten. Bei einigen Implementierungen kann der Bildschirminhaltsagent 160 konfiguriert sein, um auf dem Bildschirm der Computervorrichtung dargestellte Textinformation von einer Anwendungsprogrammschnittstelle (API) zu bekommen. Bei einigen Implementierungen kann der Bildschirminhaltsagent 160 in das Betriebssystem eingebaut sein, der den Inhalt von Textfeldern bestimmen kann, die auf dem Bildschirm angezeigt werden. Die Textinformation kann als auf dem Bildschirm erfasster Inhalt angesehen werden, und jeder Aufruf zur API oder jedes Mal, wenn der Inhalt von Textfeldern bestimmt wird, kann als eine Bildschirmerfassung angesehen werden. Bei einigen Implementierungen kann der Bildschirminhaltsagent 160 konfiguriert sein, um das auf dem Bildschirm angezeigte Bild durch Kopieren oder Lesen der Inhalte des Framepuffers der Vorrichtung zu erfassen. Somit kann der erfasste Bildschirm ein Bild sein und auf ihn kann als ein erfasstes Bild Bezug genommen werden. Der Bildschirminhaltsagent 160 kann den Bildschirm in Intervallen erfassen. Das Intervall kann klein sein, wie beispielsweise jede halbe Sekunde oder jede Sekunde. Bei einigen Implementierungen kann der Bildschirminhaltsagent 160 konfiguriert sein, um den Bildschirm jedes Mal zu erfassen, wenn ein Berührungsereignis (z.B. jedes Mal, wenn der Anwender den Bildschirm berührt, um zu scrollen, zu zoomen, auf einen Link zu klicken, etc.) in Reaktion auf eine explizite Anwenderanfrage oder einen Befehl auftritt oder wenn die Vorrichtung von einer mobilen Anwendung zu einer anderen mobilen Anwendung übergeht. Bei einigen Implementierungen kann der Bildschirminhaltsagent 160 das Intervall erhöhen, bei welchem eine Bildschirmerfassung auftritt, wenn sich der Bildschirm nicht ändert. Anders ausgedrückt kann dann, wenn der Bildschirm statisch ist, der Bildschirminhaltsagent 160 Bilder weniger oft erfassen.
  • Der Bildschirminhaltsagent 160 kann den erfassten Inhalt oder Bildschirmbilder und Metadaten zu einer Erkennungsmaschine liefern, die Teil des Bildschirminhaltsagenten 160 sein kann und auf der Computervorrichtung 150 angeordnet ist. Bei einigen Implementierungen kann die Erkennungsmaschine bei einem Server, wie beispielsweise dem Server 110, angeordnet sein. Wenn ein Bildschirmerfassungsbild zur Erkennungsmaschine geliefert wird, kann die Erkennungsmaschine eine Bild- und Text-Erkennung auf dem Bild durchführen, um Wörter, Entitäten, Logos, etc. im Inhalt des Bildschirmerfassungsbildes zu identifizieren. Die Erkennungsmaschine kann konfiguriert sein, um verschiedene Typen einer Erkennung, wie beispielsweise eine Zeichenerkennung, eine Bilderkennung, eine Logo-Erkennung, etc., unter Verwendung von herkömmlichen oder später entwickelten Techniken durchzuführen. Somit kann die Erkennungsmaschine erkannten Inhalt erzeugen, der aus Wörtern sowie aus Bildern sein kann.
  • Der Bildschirminhaltsagent 160 kann auch Metadaten über das Bildschirmerfassungsbild bestimmen und verwenden. Die Metadaten können den Zeitstempel, den Typ einer mobilen Vorrichtung, einen Identifizierer einer mobilen Vorrichtung, die mobile Anwendung, die läuft, wenn der Inhalt erfasst wurde, z.B. die Anwendung, die den Inhalt erbrachte, der auf dem Bildschirm angezeigt wird, etc. enthalten. Bei einigen Implementierungen können die Metadaten auch enthalten, welche Anwendungen aktiv sind, den Standort der Vorrichtung, Umgebungslicht, eine Bewegung der Vorrichtung, etc. Bei einigen Implementierungen können die Metadaten Signale von anderen Computervorrichtungen enthalten. Beispielsweise kann dem Bildschirminhaltsagenten 160 Information von externen Vorrichtungen geliefert werden oder er kann sie erhalten, wie beispielsweise von Geräten, Fernsehgeräten, persönlichen Assistenten, Musik(-abspiel-)-Vorrichtungen, Alarmsystemen, etc., die konfiguriert sind, um mit der Client-Vorrichtung 150 zu kommunizieren. Beispielsweise kann eine sprachaktivierte elektronische listenerstellende Vorrichtung eine Liste von zu kaufenden Lebensmittelelementen speichern. Die Liste kann zur Client-Vorrichtung 150 entweder direkt von der elektronischen listenerstellenden Vorrichtung oder über eine Anwenderkonteninformation übertragen werden. Als ein weiteres Beispiel kann ein Anwender ein Tablet und ein Smartphone haben, die Information gemeinsam nutzen, oder ein Ehemann und eine Ehefrau können Smartphones haben, die Information gemeinsam nutzen. Somit kann bei einigen Implementierungen die der Client-Vorrichtung 150 zur Verfügung stehende Information Information enthalten, die durch andere Vorrichtungen geliefert wird. Einiges oder alles von dieser Information kann in Metadaten enthalten sein, die mit einem Bildschirmerfassungsbild assoziiert sind.
  • Das System kann die Metadaten und Information verwenden, die über das Bildschirmerfassungsbild erhalten sind, um bei einer Intelligenz auf der Vorrichtung zu helfen, die die Information analysiert, um dem Anwender bei Aufgaben zu helfen, die auf der mobilen Vorrichtung durchgeführt werden. Beispielsweise kann ein Anwender, der ein Gespräch mit einem Freund führt, den Vorschlag enthalten, einen Film zu sehen. Intelligenz auf der Vorrichtung kann den Vorschlag identifizieren und eine Aktion zum Anschauen einer Filmkritik oder zum Kaufen von Karten anbieten. Der Bildschirminhaltsagent 160 kann ein Entitäten-Repository verwenden, um zu bestimmen, ob erkannter Inhalt bekannte Entitäten enthält. Während der Bildschirminhaltsagent 160 ein öffentliches Entitäten-Repository verwenden kann, wie beispielsweise das Entitäten-Repository 130, erfordert dies eine Verbindung mit dem Server 110 und kann den Erkennungs- und Aktionsvorschlagsprozess verlangsamen. Demgemäß kann die Client-Vorrichtung 150 ein personalisiertes Entitäten-Repository 176 haben, das auf der Client-Vorrichtung 150 gespeichert ist. Das personalisierte Entitäten-Repository 176 kann eine Sammlung von festen Gruppen von Entitäten sein, die vom Server 110 erhalten sind, wie beispielsweise von festen Entitätengruppen 132. Das personalisierte Entitäten-Repository 176 kann durch die Gruppenidentifikationsmaschine 162 erzeugt und gewartet werden.
  • Bei einigen Implementierungen kann der Bildschirminhaltsagent 160 eine Indexiermaschine enthalten, die konfiguriert ist, um den erfassten Inhalt zu indexieren. Der Index kann auch ein Bildschirmerfassungsbild mit Text, Entitäten, Bildern, Logos, etc. assoziieren, welches im Bild identifiziert ist. Somit kann die Indexiermaschine beispielsweise Indexeinträge (die z.B. im Bildschirmerfassungsindex 172 gespeichert sind) für ein erfasstes Bild und erfassten Inhalt erzeugen. Bei einigen Implementierungen kann die Indexiermaschine auf einem Server, wie beispielsweise dem Server 110, sein und kann der Bildschirminhaltsagent 160 das erfasste Bild und erfassten Inhalt zum Server liefern. Der Index kann ein invertierter Index sein, wo ein Schlüsselwert (z.B. ein Wort, eine Phrase, eine Entität, ein Bild, ein Logo, etc.) mit einer Liste von Bildern (z.B. Kopien der erfassten Bildschirmbilder), die den Schlüsselwert enthalten, assoziiert ist. Der Index kann Metadaten enthalten (z.B. wo auf dem erfassten Bild der Schlüsselwert auftritt, einen Rang für den Schlüsselwert für das Bild, etc.), die mit jedem erfassten Bild in der Liste assoziiert sind. Bei einigen Implementierungen kann der Index auch eine Liste von erfassten Bildern enthalten, die durch einen Zeitstempel indexiert sind. Die Indexiermaschine kann den Index im Speicher speichern, wie beispielsweise im Bildschirmerfassungsindex 172. Natürlich kann das System bei einigen Implementierungen den Index in einem Anwenderkonto auf einem Server zusätzlich zu oder anstelle von auf der Computervorrichtung 150 speichern. Der Anwender der Computervorrichtung 150 kann steuern, wenn der Bildschirminhaltsagent 160 aktiv ist. Beispielsweise kann der Anwender spezifizieren, dass der Bildschirminhaltsagent 160 nur dann aktiv ist, wenn andere spezifizierte Anwendungen 155 laufen (z.B. nur dann, wenn er in einer mobilen Anwendung sozialer Medien ist). Der Anwender kann auch den Bildschirminhaltsagenten 160 manuell ein- und ausschalten, und zwar beispielsweise über eine Einstellungsanwendung. Bei einigen Implementierungen kann der Anwender den Bildschirminhaltsagenten 160 mit einer Geste oder einer Aktion aufrufen. Ein Sperren des Bildschirminhaltsagenten 160 kann auch die Vorhersage und Wartung des hierin beschriebenen personalisierten Entitäten-Repositorys sperren.
  • Die Computervorrichtung 150 kann auch eine Gruppenidentifikationsmaschine 162 enthalten. Die Gruppenidentifikationsmaschine 162 kann konfiguriert sein, um zu bestimmen, welche Gruppen von Entitäten in den festen Entitätengruppen 132 im personalisierten Entitäten-Repository 176 enthalten sein sollten. Die Gruppenidentifikationsmaschine 162 kann durch den Bildschirminhaltsagenten 160 gesammelte oder erzeugte Information sowie ein Gruppenvorhersagemodell 164 und Gruppennutzungsparameter verwenden, um zu bestimmen, welche Gruppen potentiell relevant für den Anwender sind, und um diese Gruppen vom Server 110 zu erhalten. Beispielsweise kann die Gruppenidentifikationsmaschine 162 Signale als Eingabe für das Gruppenvorhersagemodell 164 sammeln. Die Signale können Information und Metadaten, wie beispielsweise einen Vorrichtungsstandort, eine Tageszeit, den Zustand von verschiedenen externen Vorrichtungen in Kommunikation mit der Client-Vorrichtung 150, eine Nähe zu anderen Vorrichtungen, Information vom Inhalt in einem Bildschirmerfassungsbild oder einer Serie von Bildschirmerfassungsbildern, Information vom Bildschirmerfassungsindex 172 oder Suchaufzeichnungen für den Anwender, Information in einem Anwenderprofil, etc. enthalten. Wie es oben erklärt ist, können externe Vorrichtungen, wie beispielsweise Geräte, Fernsehgeräte, persönliche Assistenten, Musikvorrichtungen, Alarmsysteme, etc., konfiguriert sein, um mit der Client-Vorrichtung 150 zu kommunizieren und Statusinformation zu dieser zu liefern, und die Statusinformation kann in den Signalen enthalten sein, die durch die Identifikationsmaschine 162 erzeugt sind. Die Information, die dazu verwendet wird, Signale zu erzeugen, kann als Metadaten im Bildschirmerfassungsindex 172 gespeichert werden oder zu der Zeit erzeugt/gesammelt werden, zu welcher die Gruppenidentifikationsmaschine 162 die festen Gruppen von Entitäten bestimmt, die für das personalisierte Entitäten-Repository 176 geeignet sind.
  • Wie es früher diskutiert ist, kann das Gruppenvorhersagemodell 164 eine Kopie eines Gruppenvorhersagemodells 122 sein oder kann eine personalisierte Version des Gruppenvorhersagemodells 122 sein. Wenn das Vorhersagemodell 164 eine personalisierte Version ist, kann die Gruppenidentifikationsmaschine 162 Trainingsbeispiele von Daten liefern, die auf der Client-Vorrichtung 150 gespeichert sind, oder von einem Anwenderprofil, das mit dem Anwender der Client-Vorrichtung 150 assoziiert ist. Beispielsweise können die Trainingsbeispiele unter Verwendung des Bildschirmerfassungsindex 172 oder von Suchaufzeichnungen für den Anwender 180 erzeugt werden. Bei einigen Implementierungen kann die Client-Vorrichtung mit einer Erlaubnis eines Anwenders Updates zum Gruppenvorhersagemodell 122 auf dem Server 110 liefern, so dass das Gruppenvorhersagemodell aus Vorhersagen lernen kann, die über viele Client-Vorrichtungen durchgeführt sind.
  • Die Gruppenidentifikationsmaschine 162 kann in einem Inferenzmode Signale, wie beispielsweise als eine Gruppe von Merkmalen, zum Gruppenvorhersagemodell 164 liefern. In Reaktion darauf kann das Gruppenvorhersagemodell 164 dann die Identifizierer von einer oder mehreren vorhergesagten festen Gruppen von Entitäten zur Gruppenidentifikationsmaschine 162 liefern. Die Gruppenidentifikationsmaschine 162 kann dann eine Rangbildung für die vorhergesagten festen Gruppen von Entitäten vornehmen. Die Client-Vorrichtung 150 kann eine Vorrichtung mit einem kleinen Formfaktor sein, welche einen Speicherplatz auf der Vorrichtung beschränkt. Demgemäß kann die Gruppenidentifikationsmaschine 162 eine Rangbildung für die vorhergesagten festen Gruppen von Entitäten vornehmen, um zu bestimmen, welche festen Gruppen im personalisierten Entitäten-Repository 176 enthalten sein sollen. Bei einigen Implementierungen kann die Gruppenidentifikationsmaschine 162 innerhalb von Gruppennutzungsparametern arbeiten, die durch den Anwender der Client-Vorrichtung ausgewählt sind. Die Gruppennutzungsparameter können eine maximale Menge von festen Gruppen, um auf der Client-Vorrichtung gespeichert zu werden, eine maximale Menge von Speicher, der durch das personalisierte Entitäten-Repository 176 verwendet wird, einen minimalen Rang oder eine Kombination von diesen enthalten. Wenn die Menge von vorhergesagten Gruppen nicht auf der Client-Vorrichtung 150 untergebracht werden kann, kann die Gruppenidentifikationsmaschine 162 so viele von den Gruppen mit höchstem Rang auswählen, wie die Gruppennutzungsparameter unterbringen.
  • Bei einigen Implementierungen kann die Rangbildung durch das Gruppenvorhersagemodell 164 bestimmt werden. Bei einigen Implementierungen kann die Gruppenidentifikationsmaschine 162 Rangbildungen einstellen, die durch das Gruppenvorhersagemodell 164 zur Verfügung gestellt sind. Wenn beispielsweise eine bestimmte feste Gruppe durch eine Web-Anwendung benötigt wird, auf die der Anwender oft zugreift oder die er gerade installiert hat, kann die Gruppenidentifikationsmaschine 162 die Rangbildung von dieser bestimmten festen Gruppe erhöhen. Die Gruppenidentifikationsmaschine 162 kann auch Metadaten verwenden, um einen Rang einzustellen. Wenn beispielsweise Alice und Ted reisen und übereingekommen sind, Daten gemeinsam zu nutzen, kann die Client-Vorrichtung für Alice bestimmen, dass die Client-Vorrichtung von Ted bereits eine bestimmte feste Gruppe hat, die im personalisierten Entitäten-Repository auf seiner Vorrichtung enthalten ist. Demgemäß kann dann, wenn die Client-Vorrichtung von Alice die Vorrichtung von Ted in enger Nähe erfasst, die Gruppenidentifikationsmaschine 162 auf der Vorrichtung von Alice die Rangbildung von dieser bestimmten festen Gruppe auf ihrer Vorrichtung zurücksetzen.
  • Bei einigen Implementierungen kann die Gruppenidentifikationsmaschine 162 die Rangbildung von vorhergesagten festen Gruppen auf einer periodischen Basis oder nach irgendeinem Ereignis erzeugen, wie beispielsweise der Installation einer neuen Anwendung, der Aktivierung einer Anwendung, die noch nicht für eine vorbestimmte Zeitperiode verwendet worden ist, wenn sich der verfügbare Platz ändert, z.B. die Vorrichtung bezüglich eines Diskettenplatzes niedrig wird (z.B. unter einen spezifizierten Prozentsatz abfällt), oder irgendeine Aktion, die einen spezifizierten Prozentsatz von Platz freigibt, wenn der Anwender einen Standort ändert, etc. Die Gruppenidentifikationsmaschine 162 kann auch das personalisierte Entitäten-Repository 176 in Reaktion auf die Rangbildung updaten. Beispielsweise kann die Gruppenidentifikationsmaschine 162 das personalisierte Entitäten-Repository 176 periodisch updaten, wenn eine Anwendung, die eine bestimmte feste Gruppe von Entitäten verwendet, installiert wird oder wenn ein Rang für eine feste Gruppe von Entitäten bezüglich eines Rangs höher eingereiht wird als eine der Gruppen, die aktuell im personalisierten Entitäten-Repository 176 sind. Wenn beispielsweise Alice ein erneutes Suchen einer Reise nach Hawaii beginnt, wird das Gruppenvorhersagemodell 164 möglicherweise ein festes Stück in Bezug auf Hawaii basierend auf Inhalt (z.B. von dem Bildschirmerfassungsindex 172 oder Suchaufzeichnungen) vorhersagen, den Alice angeschaut hat. Weil diese Gruppe zuvor niemals hoch genug eingereiht worden ist, um im personalisierten Entitäten-Repository 176 enthalten zu sein, kann dann, wenn der Rang einmal den Rang einer Gruppe übersteigt, die aktuell im personalisierten Entitäten-Repository 176 ist, oder dann, wenn eine Änderung bezüglich eines Rangs irgendeine vorbestimmte Schwelle übersteigt, die Gruppenidentifikationsmaschine 162 das personalisierte Entitäten-Repository 176 automatisch updaten oder kann eine Bestätigung von Alice erhalten, bevor sie diese bestimmte Gruppe enthält. Wenn Alice einmal von Hawaii zurückkehrt oder wenn sie nicht dorthin geht und für eine Zeitperiode nicht auf Inhalt über Hawaii zugreift, kann der Rang des bestimmten Stücks abfallen, z.B. unter ein anderes Stück abfallen, das nicht im personalisierten Entitäten-Respository 176 ist, oder um einen vorbestimmten Prozentsatz abfallen. Dies kann eine Ausführung der Gruppenidentifikationsmaschine 162 auslösen, so dass ein anderes Stück (z.B. eine andere feste Gruppe von Entitäten) ihren Platz im personalisierten Entitäten-Repository 176 einnehmen kann.
  • Ein Updaten des personalisierten Entitäten-Respositorys 176 kann auf eine Vielfalt von Arten erreicht werden. Bei einigen Implementierungen wird das gesamte Repository gelöscht und durch feste Gruppen ersetzt, die basierend auf einem Rang und den Gruppennutzungsparametern ausgewählt sind. Bei einigen Implementierungen können die Gruppennutzungsparameter durch den Anwender eingestellt und gesteuert werden. Bei einigen Implementierungen kann die Gruppenidentifikationsmaschine 162 bestimmen, ob eine bestimmte feste Gruppe, die im personalisierten Entitäten-Repository 176 sein sollte, bereits im personalisierten Entitäten-Repository 176 existiert. Wenn es so ist, kann die Gruppenidentifikationsmaschine 162 entweder nichts tun oder bestimmen, ob sich die Gruppe geändert hat, z.B. beim Server 110 upgedated worden ist. Wenn ein Update aufgetreten ist, kann die Gruppenidentifikationsmaschine 162 die gesamte Gruppe herunterladen oder kann ein Delta herunterladen, um es auf die Gruppe anzuwenden. Die Gruppenidentifikationsmaschine 162 kann Gruppen vom personalisierten Entitäten-Repository 176 löschen, um Raum bzw. Platz für Gruppen mit einem höheren Rang zu schaffen.
  • Die Computervorrichtung 150 kann über das Netzwerk 140 in Kommunikation mit dem Server 110 und mit anderen mobilen Vorrichtungen sein. Das Netzwerk 140 kann beispielsweise das Internet sein oder das Netzwerk 160 kann ein verdrahtetes oder drahtloses lokales Netz (LAN), ein Weitverkehrsnetz (WAN), etc. sein, das unter Verwendung von beispielsweise Gateway-Vorrichtungen, Brücken bzw. Bridges, Schaltern bzw. Switches und/oder so weiter implementiert ist. Das Netzwerk 140 kann auch ein zellulares Kommunikationsnetzwerk darstellen. Über das Netzwerk 140 kann der Server 110 mit der Computervorrichtung 140 kommunizieren und Daten zu/von dieser übertragen, und die Computervorrichtung 140 kann mit anderen mobilen Vorrichtungen (nicht gezeigt) kommunizieren.
  • Das System 100 für ein personalisiertes Entitäten-Repository stellt eine beispielhafte Konfiguration dar und Implementierungen können andere Konfigurationen enthalten. Beispielsweise können einige Implementierungen eine oder mehrere der Komponenten des Bildschirminhaltsagenten 160, der Gruppenidentifikationsmaschine 162 oder des Gruppenvorhersagemodells 164 in ein einziges Modul oder eine Maschine kombinieren. Gleichermaßen können einige Implementierungen eines oder mehreres von der Entitätengruppen-Erzeugungsmaschine 120 oder des Gruppenvorhersagemodells 122 in ein einziges Modul oder eine Anwendung kombinieren. Als ein weiteres Beispiel kann eines oder mehreres von den Datenspeichern, wie beispielsweise dem Bildschirmerfassungsindex 172, dem personalisierten Entitäten-Repository 176 oder Anwenderprofilen auf der Client-Vorrichtung 150 oder dem Entitäten-Repository 130, festen Entitätengruppen 132, Suchaufzeichnungen 134 oder bearbeiteten Dokumenten 136 in einen einzigen Datenspeicher kombiniert werden oder kann über mehrere Computervorrichtungen verteilt werden oder kann bei einem anderen Standort gespeichert werden.
  • Insoweit das System 100 für ein personalisiertes Entitäten-Repository anwenderspezifische Daten sammelt und speichert oder persönliche Information verwenden kann, können die Anwender mit einer Gelegenheit versehen werden, eine Sammlung der Anwenderinformation zu kontrollieren (z.B. Information über ein soziales Netzwerk eines Anwenders, soziale Aktionen oder Aktivitäten, Präferenzen eines Anwenders oder einen aktuellen Standort eines Anwenders), oder zu kontrollieren, ob und/oder wie Bildschirmerfassungsbilder und Inhalt zu speichern ist. Beispielsweise kann das System von einem Erfassen von Inhalt für bestimmte Anwendungen absehen, wie beispielsweise Bankgeschäfteanwendungen, Gesundheitsanwendungen oder andere ähnliche Anwendungen oder wo ein Erfassen von solchem Inhalt Nutzungsbedingungen verletzt. Zusätzlich kann der Anwender mit der Gelegenheit versehen werden, ein Erfassen von Bildschirminhalt für spezifische Anwendungen oder Kategorien von Anwendungen zu sperren. Zusätzlich können bestimmte Daten auf eine oder mehrere Arten behandelt werden, bevor sie gespeichert oder verwendet werden, so dass persönlich identifizierbare Information entfernt wird. Beispielsweise kann eine Identität eines Anwenders so behandelt werden, dass keine persönlich identifizierbare Information für den Anwender bestimmt werden kann, oder kann ein geographischer Standort eines Anwenders verallgemeinert werden, wo Standortinformation erhalten wird (wie beispielsweise eine Stadt, eine Postleitzahl oder eine Staatenebene), so dass ein bestimmter Standort eines Anwenders nicht bestimmt werden kann. Somit kann der Anwender eine Kontrolle darüber haben, wie Information über den Anwender gesammelt wird und durch ein System für ein personalisiertes Entitäten-Repository verwendet wird.
  • 2 stellt eine beispielhafte Anzeige einer Anwenderschnittstelle 200 zum Spezifizieren von Gruppennutzungsparametern für ein personalisiertes Entitäten-Repository gemäß dem offenbarten Gegenstand dar. Die Anzeige kann eine Anzeige einer mobilen Vorrichtung oder einer anderen persönlichen Computervorrichtung sein, wie beispielsweise der Client-Vorrichtung 150 der 1. Bei einigen Implementierungen kann die Anwenderschnittstelle durch das Betriebssystem der Client-Vorrichtung zur Verfügung gestellt sein oder kann durch eine bestimmte Anwendung zur Verfügung gestellt sein, wie z.B. von Anwendungen 155 der 1. Die Anwenderschnittstelle 200 enthält Steuerungen 205 für einen Inhaltsagenten, wie beispielsweise den Inhaltsagenten 160 der 1. Die Steuerungen 205 können regeln, ob und wie der Inhaltsagent ausführt und welche Aktionen der Inhaltsagent durchführt. Die Anwenderschnittstelle 200 kann auch Gruppennutzungsparameter für ein personalisiertes Entitäten-Repository enthalten. Die Gruppennutzungsparameter können eines oder mehreres von einem maximalen Speicher 210, einer maximalen Anzahl von Gruppen 215 oder einem Prozentsatz eines Speichers 220 enthalten. Der maximale Speicher 210 kann eine Grenze für das Ausmaß von Speicher einstellen, der durch ein personalisiertes Entitäten-Repository, wie beispielsweise das personalisierte Entitäten-Repository 176 der 1, verwendet wird. Die Client-Vorrichtung kann feste Gruppen von Entitäten (Stücke) herunterladen und speichern, aber nicht bis zu einem Übersteigen des maximalen Speichers 210.
  • Die Gruppennutzungsparameter können auch maximale Gruppen 250 enthalten. Die maximalen Gruppen 215 beschränken die Anzahl von festen Gruppen von Entitäten, die die Client-Vorrichtung im personalisierten Entitäten-Repository enthalten wird. Anders ausgedrückt kann die Client-Vorrichtung nur eine spezifizierte Anzahl von Gruppen herunterladen und speichern. Der Prozentsatz an Speicher 220 kann eine flexible Grenze für die Größe des personalisierten Entitäten-Repositorys anbieten. Beispielsweise kann dann, wenn die Client-Vorrichtung mehr Speicher hat, der Parameter für einen Prozentsatz an Speicher 220 ein größeres personalisiertes Entitäten-Repository zulassen, wenn aber Platz auf der Client-Vorrichtung weniger wird, kann der Parameter die Gruppen begrenzen, die im personalisierten Entitäten-Repository gespeichert sind. Die Anwenderschnittstelle 220 kann auch ermöglichen, dass der Anwender eine Kombination von Gruppennutzungsparametern auswählt, z.B. über Prüfkästen, um Gruppennutzungsparameter ein- oder auszuschalten. Somit kann der Anwender die Größe des personalisierten Entitäten-Repositorys auf seiner Vorrichtung steuern, was wiederum steuert, welche Stücke im Repository enthalten sind. Die Anwenderschnittstelle 200 kann auch eine Steuerung 225 enthalten, die ermöglicht, dass der Anwender eine oder mehrere Gruppen von Entitäten zur Aufnahme im personalisierten Entitätenmodell spezifisch auswählt. Wenn der Anwender die Steuerung 225 spezifisch verwendet, um ein Stück des Entitäten-Repositorys auszuwählen, kann das System die Relevanz von diesem Stück rangmäßig hoch einreihen, so dass es immer im personalisierten Entitätenmodell enthalten ist.
  • 3 stellt eine beispielhafte Anzeige 300 von Inhalt, der Kontext zum Bestimmen liefert, welche Gruppen für einen Anwender der Computervorrichtung am relevantesten sind, gemäß offenbarten Implementierungen dar. Die Anzeige 300 kann eine Anzeige einer mobilen Vorrichtung oder einer anderen Computervorrichtung, wie beispielsweise der Client-Vorrichtung 150 der 1, sein. Beim Beispiel der 3 wird der Text „Alien Invaders“ ausgewählt. Die Auswahl kann durch einen Anwender durchgeführt werden oder kann durch die Client-Vorrichtung automatisch durchgeführt worden sein (z.B. einen Inhaltsagenten oder eine Betriebsvorschlagsanwendung, die auf der Client-Vorrichtung läuft). Das System hat vier vorgeschlagene Operationen für die Auswahl 304 geliefert, nämlich eine Operation 340, die für eine mobile Anwendung sein kann, die lokale Filmzeiten zur Verfügung stellt, eine Filmkritikoperation 325 und eine Filmdatenbankoperation 320. Die Anwenderschnittstelle kann die Operation 340, 325 und 320 basierend auf einer Identifikation der Auswahl 305 als eine Entität ausgewählt haben, die im personalisierten Entitäten-Repository existiert. Somit kann das System die Anzeige 300 sogar ohne eine Verbindung mit einem Server und mit einem serverbasierten Entitäts-Repository zur Verfügung stellen.
  • 4 stellt eine beispielhafte Anzeige einer Anwenderschnittstelle 400 zum Vorschlagen zusätzlicher Stücke zur Aufnahme in einem personalisierten Entitäten-Repository gemäß offenbarten Implementierungen dar. Die Anwenderschnittstelle 400 kann auf einer mobilen Vorrichtung oder einer anderen Vorrichtung, wie beispielsweise der Client-Vorrichtung 150 der 1, erzeugt werden. Beim Beispiel der 4 hat ein Anwender Text in eine Suchschnittstelle 405 eingegeben. Die Suchschnittstelle 405 kann für einen Browser oder eine browserähnliche mobile Anwendung sein, könnte aber von irgendeiner Suchleiste in irgendeiner Anwendung sein. Das System kann im zur Suchschnittstelle 405 gelieferten Text analysieren und bestimmen, z.B. über eine Gruppenidentifikationsmaschine unter Verwendung eines Gruppenvorhersagemodells, dass der Text äußerst relevant für eine themenbasierte feste Gruppe von Entitäten ist. Die hohe Relevanz kann basierend auf einem hohen Vertrauenswert oder einer hohen Wahrscheinlichkeit vom Gruppenvorhersagemodell bestimmt werden. Die hohe Relevanz kann nicht nur auf dem Inhalt der Anwenderschnittstelle 400 basieren, sondern auch auf zuvor präsentiertem Inhalt. Beispielsweise kann der Anwender auf Hotels in Hawaii bei einer Buchungsanwendung geschaut haben oder kann über Dinge gelesen haben, die in Hawaii zu sehen sind. Während die Client-Vorrichtung keine Entität für Hawaii im aktuellen personalisierten Entitäten-Repository haben kann, kann das Gruppenvorhersagemodell mehrere Wörter oder Bilder erkennen, die die Gruppe vorhersagen. Bei einigen Implementierungen kann die Gruppenidentifikationsmaschine Text für relevante Modelle kontinuierlich analysierend sein. Bei einigen Implementierungen kann die Gruppenidentifikationsmaschine während einer Verwendung einer Suchschnittstelle aufgerufen werden.
  • Wenn die Wahrscheinlichkeit der festen Gruppe von Entitäten eine hohe Relevanz anzeigt, kann das System die feste Gruppe von Entitäten für Hawaii automatisch herunterladen und speichern, auf was auch als das Hawaii-Stück Bezug genommen wird. Bei einigen Implementierungen kann dies eine standortbasierte Gruppe für alle in Hawaii angeordneten Entitäten sein, oder eine themenbasierte Gruppe oder eine Kombination von diesen. Bei einigen Implementierungen kann die Anwenderschnittstelle ein Bestätigungsfenster 410 enthalten. Das Bestätigungsfenster 410 kann ermöglichen, dass der Anwender den Vorschlag annimmt oder zurückweist. Wenn der Anwender den Vorschlag zurückweist, kann das System das Hawaii-Stück nicht herunterladen. Wenn der Anwender den Vorschlag annimmt, kann das System das Hawaii-Stück herunterladen und kann ein oder mehrere Stücke entfernen, die aktuell im personalisierten Entitäten-Repository sind, um Platz für das neue Stück zu schaffen, wie es in Bezug auf 7 detaillierter erklärt ist.
  • 5 stellt eine weitere beispielhafte Anzeige einer Anwenderschnittstelle 500 zum Vorschlagen zusätzlicher Gruppen zur Aufnahme in einem persönlichen Entitäten-Repository gemäß offenbarten Implementierungen dar. Die Anwenderschnittstelle 500 kann auf einer mobilen Vorrichtung oder einer anderen Computervorrichtung, wie beispielsweise der Client-Vorrichtung 150 der 1, erzeugt werden. Beim Beispiel der 5 hat der Anwender gerade eine Essensreservierungsanwendung 505 installiert. In Reaktion auf den Installationsprozess kann die Gruppenidentifikationsmaschine bestimmen, dass die Anwendung 505 ausdrücklich eine bestimmte feste Gruppe von Entitäten angefragt hat oder sich, z.B. unter Verwendung einer Gruppenvorhersagemaschine, wahrscheinlich auf die bestimmte feste Gruppe bezieht. Demgemäß kann dem Anwender ein Bestätigungsfenster 510 präsentiert werden. Gleich dem Bestätigungsfenster 410 kann das Bestätigungsfenster 510 die Gelegenheit für den Anwender bieten, das bestimmte Stück auszuwählen oder herunterzuladen oder das Herunterladen zurückzuweisen. Bei einigen Implementierungen kann die Anwendung 505 das Fenster 510 erzeugen. Bei einigen Implementierungen (nicht gezeigt) kann der Anwendungsinstallationsprozess oder die Gruppenidentifikationsmaschine die bestimmte feste Gruppe von Entitäten automatisch herunterladen.
  • 6 stellt ein Ablaufdiagramm eines beispielhaften Prozesses 600 zum Erzeugen und Updaten fester Gruppen von Entitäten gemäß offenbarten Implementierungen dar. Der Prozess 600 kann durch ein System für ein personalisiertes Entitäten-Repository durchgeführt werden, wie beispielsweise das System 100 der 1. Der Prozess 600 kann verwendet werden, um verschiedene Stücke eines Entitäten-Repositorys zu erzeugen und zu warten, z.B. feste Gruppen von Entitäten. Das Entitäten-Repository kann irgendein großes Entitäten-Repository sein, wie beispielsweise das Entitäten-Repository 130 der 1. Der Prozess 600 kann durch Erzeugen von standortbasierten Gruppen von Entitäten beginnen (605). Eine standortbasierte Gruppe von Entitäten kann irgendwelche Entitäten in einem Entitäten-Repository sein, die in einer bestimmten Zelle angeordnet sind. Die Zelle kann durch Grenzen definiert werden, wie beispielsweise durch Linien, die drei oder mehr geographische Koordinaten verbinden. Die Zelle kann einer oder mehreren Geo-Zellen entsprechen (z.B. Zellen, die durch eine Kartenanwendung definiert sind). Das System kann auch themenbasierte feste Gruppen von Entitäten erzeugen (610). Themenbasierte Gruppen können durch Clustern, durch eine Ähnlichkeit mit oder eine Verbindung mit einer Anfangsentität durch eine Mitgliedschaft in einer Sammlung, etc. ausgebildet werden. Das System kann auch funktionelle Gruppen von Entitäten erzeugen (615). Die funktionellen Gruppen können Kombinationen von standortbasierten Gruppen und Themengruppen sein, können auf einer Verwendung durch eine bestimmte Anwendung basieren, können auf einer Popularität basieren (d.h. den am häufigsten für Entitäten gesuchten und/oder denjenigen, die in den meisten bearbeiteten Dokumenten erscheinen), kann auf einer Aufgabe oder einer Aktion basieren, etc. Die Schritte 605 bis 615 können zu einer Anfangszeit und bis zu einem Updaten von Gruppen durchgeführt werden. Beispielsweise kann das System zu einer Anfangszeit die Schritte 605 bis 615 durchführen, um Anfangsgruppen von Entitäten zu erzeugen. Darauffolgend kann das System die Schritte 605 bis 615 durchführen, um die Anfangsgruppen upzudaten, neue Gruppe hinzuzufügen, etc.
  • Das System kann eine Version für die festen Gruppen von Entitäten bilden. Beispielsweise dann, wenn Formatänderungen an der Gruppe veranlassen würden, dass eine Anwendung, die die Gruppen verwendet, fehlschlägt, kann das System ältere Versionen halten und eine neue Version nach der Schemaänderung erzeugen. Auf diese Weise kann das System Schemaänderungen auf eine Art behandeln, die keine Fehler auf Client-Vorrichtungen verursacht. Demgemäß kann das System bestimmen, ob die neu erzeugten Gruppen eine Schemaänderung enthalten (620). Wenn es so ist, können die neu erzeugten Gruppen (z.B. von den Schritten 605 bis 615) einem neuen Versionsidentifizierer zugeordnet werden (625). Der Versionsidentifizierer wird ermöglichen, dass Anwendungen, die die Gruppen verwenden, richtig herunterladen und geeignete Versionen verwenden. Keine Delta-Gruppe wird benötigt, wenn die Updates eine Schemaänderung enthalten. Wenn es keine Schemaänderung gibt (620, Nein), kann das System ein Delta für jede Gruppe erzeugen (630). Die Deltas werden dann verwendet, wenn die Client-Vorrichtungen eher nur Änderungen an festen Gruppen von Entitäten herunterladen, als dass sie eine Löschung von allen festen Gruppen im personalisierten Entitätenmodell durchführen, gefolgt durch ein Speichern der letzten Gruppen von festen Entitätengruppen mit höchstem Rang für diese Vorrichtung. Ein Delta kann eine Liste von Entitäten sein, um entfernt zu werden, und eine Liste von Entitäten, um hinzugefügt zu werden. Somit kann ein Update an einer Entität, z.B. eine Namensänderung, Metadaten- oder Attributenänderung, etc., ein Löschen der Entität sein, gefolgt durch Lesen der Entität. Deltas ermöglichen, dass das System weniger Daten zwischen dem Server, wo die Gruppen gehalten sind, und den Client-Vorrichtungen, wo die Gruppen verwendet werden, überträgt. Jedoch ist ein Schritt 630 optional und kann nicht für alle Gruppen oder selbst für irgendwelche Gruppen durchgeführt werden. Beispielsweise kann die Client-Vorrichtung, wenn sie das personalisierte Entitäten-Repository updated, alle aktuell gespeicherten Stücke löschen und die erwünschten Stücke holen (z.B. die vorhergesagten Stücke, die in Gruppennutzungsparameter fallen) und diese als das personalisierte Entitätenmodell speichern. Jede feste Gruppe von Entitäten kann einen eindeutigen Identifizierer haben. Bei einigen Implementierungen kann der eindeutige Identifizierer ein Hash der Inhalte der festen Gruppe sein. Der Prozess 600 endet dann. Der Prozess 600 kann periodisch wiederholt werden, um sicherzustellen, dass die festen Gruppen von Entitäten aktuell sind.
  • 7 stellt ein Ablaufdiagramm eines beispielhaften Prozesses 700 zum Bilden eines persönlichen Entitäten-Repositorys unter Verwendung vorberechneter Gruppen von Entitäten gemäß offenbarten Implementierungen dar. Der Prozess 700 kann durch ein System für ein personalisiertes Entitäten-Repository, wie beispielsweise das System 100 der 1, durchgeführt werden. Der Prozess 700 kann auf einer Client-Vorrichtung durchgeführt werden, um zu bestimmen, welche feste Gruppe von Entitäten oder Stücken in einem personalisierten Entitäten-Repository enthalten sind, das auf der Client-Vorrichtung gespeichert ist. Die Client-Vorrichtung kann den Prozess 700 kontinuierlich auf einer periodischen Basis auf eine Netzwerkkonnektivitätsänderung hin, auf ein Triggerereignis hin, wie beispielsweise eine Installation einer neuen Anwendung, eines ankommenden Telefonanrufs, eines Hinzufügens eines neuen Kontakts, etc., oder eine Anwenderanfrage einer Synchronisierung, durchgeführt werden. Der Prozess 700 kann durch eine Gruppenidentifikationsmaschine durchgeführt werden, wie beispielsweise die Gruppenidentifikationsmaschine 162.
  • Der Prozess 700 kann durch Identifizieren fester Gruppen von Entitäten beginnen, die für einen Anwender einer Client-Vorrichtung relevant sind (705). Die Gruppen können in dem Sinn fest sein, dass die Gruppen vor einer Durchführung eines Schritts 705 und nicht als Teil des Schritts 705 bestimmt werden. Anders ausgedrückt werden die Gruppen unabhängig von irgendeinem bestimmten Anwender oder einer Anfrage an das Entitäten-Repository bestimmt. Die Gruppen, die als Teil des Schritts 705 identifiziert sind, sind eine viel kleinere Untergruppe als die gesamte Anzahl von festen Gruppen. Die Identifizierung der festen Gruppen kann beispielsweise auf Kontext basieren, der mit der Client-Vorrichtung assoziiert ist. Beispielsweise kann ein Gruppenvorhersagemodell für eine Gruppe von Merkmalen zur Verfügung gestellt werden, die aus einer Vielfalt von Signalen (d.h. Kontext) erzeugt sind, die Metadaten und Information enthalten können, was aus einem Inhalt gesammelt ist, der auf der Client-Vorrichtung erzeugt ist, wie beispielsweise über einen Inhaltsagenten, eine Suchvorgeschichte, Anwenderprofile, etc. Bei einigen Implementierungen kann die als Signal verwendete Information Information von Vorrichtungen in einer Nähe zur Client-Vorrichtung enthalten, z.B. von Geräten oder anderen Computervorrichtungen in einem Internet von Dingen daheim, von anderen Personalcomputervorrichtungen, die mit dem Anwender oder dem Haushalt des Anwenders assoziiert sind, etc. Obwohl solche Signale von einer anderen Vorrichtung entstehen, ist die Nähe kontextassoziiert mit der Client-Vorrichtung. Bei einigen Implementierungen kann die Information den Standort der Computervorrichtung enthalten, einen Zeitstempel, Inhalt in einer Suchvorgeschichte für den Anwender, Inhalt in einem Bildschirmerfassungsindex, Inhalt, der mit einem Anwenderprofil assoziiert ist, die Anwendungen, die auf der Client-Vorrichtung installiert sind, eine durch den Anwender durchgeführte Aktivität (z.B. ein Ändern von Vorrichtungseinstellungen, ein Installieren einer Anwendung), etc. Die Signale können zum Gruppenvorhersagemodell, wie beispielsweise dem Gruppenvorhersagemodell 122 oder dem Gruppenvorhersagemodell 164, geliefert werden, das wiederum eine oder mehrere vorhergesagte feste Gruppen von Entitäten liefern kann. Die festen Gruppen von Entitäten, die im Schritt 705 identifiziert sind, können auch auf einem Standort der Vorrichtung basieren, Anwendungen, die auf der Vorrichtung installiert sind, Aufgaben oder Aktivitäten, die allgemein auf der Vorrichtung durchgeführt werden, etc.
  • Das System kann dann die identifizierten festen Gruppen von Entitäten durch eine Relevanz in eine Rangfolge bringen (710). Die Relevanz kann auf dem Wahrscheinlichkeitswert basieren, der durch das Gruppenvorhersagemodell geliefert ist. Bei einigen Implementierungen kann das System diese Wahrscheinlichkeit basierend auf anderer Information einstellen, wie beispielsweise einen Standort der Vorrichtung, eine Tageszeit, andere Vorrichtungen in der Nähe, etc. Beispielsweise kann, wenn zwei Reisegefährten ihre Vorrichtungen verbunden bzw. verlinkt haben, die Vorrichtung des ersten Gefährtens z.B. über eine Signalisierung von Vorrichtung zu Vorrichtung bestimmen, dass die Vorrichtung des zweiten Gefährten ein bestimmtes Stück von Entitäten-Repository gespeichert hat und die Vorrichtung des ersten Gefährten kann die Relevanz von diesem Stück zurückstufen, z.B. weil eine der zwei Vorrichtungen bereits dieses Stück von Entitäten-Repository im personalisierten Entitäten-Repository gespeichert hat. Als ein weiteres Beispiel kann die Vorrichtung eines Anwenders eine bestimmte Anwendung haben, die ein bestimmtes Stück des Entitäten-Repositorys erfordert, und das System kann die Relevanz von diesem bestimmten Stück erhöhen. Als ein weiteres Beispiel kann das System die Relevanz eines Stücks erhöhen, das durch den Anwender spezifiziert ist, z.B. über die Steuerung 225 der 2. Für standortbasierte feste Gruppen von Entitäten kann das System einen Relevanzwert für die Gruppe basierend auf der Entfernung der Client-Vorrichtung von der Zelle einstellen, die durch die Gruppe dargestellt bzw. repräsentiert ist. Beispielsweise kann, wenn eine Client-Vorrichtung innerhalb der Zelle angeordnet ist, die Relevanz sehr hoch sein. Die Relevanz von anderen Zellen kann auf der Entfernung zwischen dem Zentrum der Zelle und dem aktuellen Standort der Client-Vorrichtung basieren, so dass weitere Entfernungen eine niedrigere Relevanz erzeugen.
  • Das System kann ausgewählte Gruppen für das personalisierte Entitäten-Repository basierend auf den Gruppennutzungsparametern und den Rängen bestimmen (715). Bei einigen Implementierungen kann das System eine Relevanzschwelle basierend auf den Gruppennutzungsparametern und den Rängen der festen Entitätengruppen bestimmen, die als relevant für den Anwender identifiziert sind. Irgendwelche Gruppen mit einem Relevanzwert, der die Schwelle erfüllt, können in den Gruppen enthalten sein, die für das personalisierte Entitäten-Repository ausgewählt sind. 9 ist ein weiteres Beispiel der Auswahl der Gruppen basierend auf den Gruppennutzungsparametern und einem Rang. Das System kann dann bestimmen, ob das personalisierte Entitäten-Repository upgedatet werden muss (720). Wenn beispielsweise die ausgewählten festen Gruppen von Entitäten dieselben wie die Gruppen sind, die aktuell im personalisierten Entitäten-Repository enthalten sind, aber das System in letzter Zeit nicht auf Updates geprüft hat, kann das System dann das Repository updaten (720, Ja). Als ein weiteres Beispiel kann, wenn das System über ein Update zu einer der festen Gruppen in den ausgewählten Gruppen benachrichtigt hat, das System das Repository updaten (720, Ja). Wenn eine feste Gruppe von Entitäten in den ausgewählten Gruppen ist, aber nicht aktuell im personalisierten Entitäten-Repository, kann das System das Repository updaten (720, Ja). Wenn das System das Repository nicht updaten muss (720, Nein), endet der Prozess 700.
  • Wenn das System das Repository updatet (720, Ja), kann das System eine Gruppe mit höchstem Rang der ausgewählten Gruppen auswählen (725). Der Einfachheit einer Erklärung halber kann auf diese Gruppe mit höchstem Rang als die erste Gruppe Bezug genommen werden. Das System kann bestimmen, ob diese erste Gruppe bereits im personalisierten Entitäten-Repository ist (730). Wenn sie im Repository ist (730, Ja), kann das System die erste Gruppe auf der Client-Vorrichtung updaten, wenn ein Update benötigt wird (735). Das System kann entweder durch Ziehen der ersten Gruppe vom Server oder durch eine Benachrichtigung vom Server, dass ein Update existiert, bestimmen, ob ein Update nötig ist. Das Update kann in der Form eines Deltas sein, z.B. einer Liste von Entitäten zum Löschen und einer Liste von Entitäten zum Hinzufügen zur festen Gruppe. Wenn die erste Gruppe nicht im personalisierten Entitäten-Repository ist (730, Nein), kann das System bestimmen, ob das persönliche Entitäten-Repository Platz für die erste Gruppe hat (740). Beispielsweise kann das persönliche Entitäten-Repository eine Begrenzung für die Anzahl von Gruppen im Repository oder Speicher haben, der durch das Repository verwendet wird, oder beides. Wenn das Hinzufügen der ersten Gruppe die Grenzen übersteigen würde (740, Nein), kann das System bestimmen, ob es aktuell eine feste Gruppe im personalisierten Entitäten-Repository gibt, die gelöscht werden kann (745). Eine Gruppe, die aktuell im personalisierten Entitäten-Repository ist, kann gelöscht werden, wenn sie nicht in den ausgewählten festen Gruppen von Entitäten ist, d.h. denjenigen, die im Schritt 715 identifiziert sind. Eine Gruppe kann auch gelöscht werden, wenn sie einen niedrigeren Rang als die erste Gruppe hat. Wenn es eine Gruppe zum Löschen gibt (745, Ja), kann das System die Gruppe aus dem personalisierten Entitäten-Repository löschen (750) und zum Schritt 740 zurückkehren. Wenn keine Gruppen gelöscht werden können (745, Nein), kann der Prozess 700 enden.
  • Wenn es Platz für die erste Gruppe im personalisierten Entitäten-Repository gibt (740, Ja), kann das System die erste Gruppe zum personalisierten Entitäten-Repository auf der mobilen Vorrichtung hinzufügen (755). Das System kann dann bestimmen, ob es eine Gruppe mit einem nächsthöchsten Rang in den ausgewählten Gruppen gibt (760). Wenn es eine Gruppe mit einem nächsthöchsten Rang gibt (760, Ja), kann das System die Schritte 725 bis 760 für die nächste Gruppe durchführen. Diese nächste Gruppe wird dann der Einfachheit einer Erklärung halber die erste Gruppe. Somit kann das System beispielsweise bestimmen, ob die nächste Gruppe, d.h. nun die erste Gruppe, bereits im personalisierten Entitäten-Repository ist (730), etc. Wenn alle Gruppen in den ausgewählten Gruppen über die Schritte 730 bis 760 verarbeitet worden sind (760, Nein), hat das System das personalisierte Entitäten-Repository upgedatet und endet der Prozess 700.
  • 8 stellt ein Ablaufdiagramm eines beispielhaften Prozesses 800 zum Identifizieren fester Gruppen von Entitäten, die für einen Anwender einer Client-Vorrichtung relevant sind, gemäß offenbarten Implementierungen dar. Der Prozess 800 kann durch ein System für ein personalisiertes Entitäten-Repository, wie beispielsweise das System 100 der 1, durchgeführt werden. Der Prozess 800 kann auf einer Client-Vorrichtung als Teil des Schritts 705 der 7 durchgeführt werden, um zu bestimmen, welche feste Gruppe von Entitäten oder Stücke für einen Anwender relevant ist bzw. sind. Der Prozess 800 beginnt durch Bestimmen eines Standorts der Client-Vorrichtung (805). Der Standort kann als Koordinaten ausgedrückt werden, z.B. Koordinaten eines Globalen Positioniersystems (GPS), oder als der Identifizierer einer Geo-Zelle, oder irgendwelcher anderen Verfahren zum Ausdrücken eines Standorts auf der Erde. Das System kann die Relevanz einer standortbasierten festen Gruppe von Entitäten basierend auf der Entfernung von der Client-Vorrichtung zu der Zelle, die durch die standortbasierte feste Gruppe dargestellt ist, zuordnen (810). Die Entfernung kann vom Standort der Client-Vorrichtung zu einem Zentrum der Zelle gemessen werden. Die Relevanz kann auch eine umgekehrte Beziehung zu der Entfernung haben, so dass eine kürzere Entfernung eine höhere Relevanz hat. Wenn die Client-Vorrichtung in einer Zelle für eine bestimmte feste Gruppe von Entitäten angeordnet bzw. lokalisiert ist, kann die bestimmte feste Gruppe von Entitäten einen höchsten Relevanzwert empfangen.
  • Das System kann auch themenbasierte feste Gruppen von Entitäten bestimmen, die relevant für den Anwender sind (815). Die themenbasierten Gruppen können mit einem Gruppenvorhersagemodell bestimmt werden, wie beispielsweise dem Gruppenvorhersagemodell 164 oder dem Gruppenvorhersagemodell 122, das einen oder mehrere Identifizierer für feste Gruppen von Entitäten liefert, die basierend auf Merkmalen vorhergesagt sind. Die Merkmale können auf einer Anzahl von Informationselementen basieren, wie beispielsweise dem Standort der Vorrichtung, Inhalt in Suchaufzeichnungen, einem Anwenderprofil oder einem Bildschirmerfassungsinhalt, Daten von Vorrichtungen in einer Nähe zur Client-Vorrichtung, z.B., Austauschdaten mit der Client-Vorrichtung, einem Zeitstempel, Anwendungen, die installiert sind oder die zu dem Zeitpunkt ausführen, etc. Das System kann den Relevanzwert von jeder themenbasierten festen Gruppe von Entitäten auf eine Ähnlichkeit mit einer Einbettung für den Anwender der Client-Vorrichtung einstellen (820). Bei einigen Implementierungen kann die Ähnlichkeit die Wahrscheinlichkeit sein, die mit der festen Gruppe assoziiert ist, die durch das Gruppenvorhersagemodell geliefert ist. Das System kann auch funktionelle feste Gruppen von Entitäten bestimmen (825). Die funktionellen Gruppen können Entitäten sein, die als die populärsten angesehen werden, z.B. die am häufigsten für Entitäten gesucht werden, Entitäten, auf die am häufigsten zugegriffen wird, Entitäten, die am häufigsten in bearbeiteten Dokumenten gefunden werden, etc. Die funktionellen Gruppen können auch Entitäten enthalten, die für eine bestimmte Aufgabe, Aktion oder Anwendung verwendet werden. Beispielsweise kann eine funktionelle Gruppe Entitäten enthalten, die ermöglichen, dass die Vorrichtung OCR in einer bestimmten Sprache durchführt oder die durch eine Kunstschätzungsanwendung verwendet werden, etc. Funktionelle Gruppen können auch Kombinationen von standortbasierten und themenbasierten Gruppen enthalten, wie beispielsweise Filmtheater in Portland Oregon oder nationale Denkmäler in Washington D.C. Bei einigen Implementierungen kann das System eine Entitätenpopularität als einen Relevanzwert für eine funktionelle feste Gruppe von Entitäten verwenden. Bei einigen Implementierungen kann eine feste Gruppe basierend auf einer Anwendung von hohem Rang sein, die der Anwender installiert hat. Der Prozess 800 endet dann und hat feste Gruppen von Entitäten identifiziert, die relevant für den Anwender der Computervorrichtung sind, und ordnet jeder Gruppe einen Relevanzwert zu.
  • 9 stellt ein Ablaufdiagramm eines beispielhaften Prozesses 900 zum Auswählen fester Gruppen von Entitäten aus festen Gruppen von Entitäten, die relevant für einen Anwender einer Client-Vorrichtung sind, basierend auf Gruppennutzungsparametern gemäß offenbarten Implementierungen dar. Der Prozess 900 kann durch ein System für ein personalisiertes Entitäten-Repository, wie beispielsweise das System 100 der 1, durchgeführt werden. Der Prozess 900 kann auf einer Client-Vorrichtung als Teil des Schritts 715 der 7 durchgeführt werden, um zu bestimmen, welche feste Gruppe von Entitäten oder Stücken, die relevant für den Anwender ist oder sind, zur Aufnahme in einem persönlichen Entitäten-Repository basierend auf Gruppennutzungsparametern und einem Rang ausgewählt werden. Der Prozess 900 beginnt durch Initialisieren von Gruppenzahl- und Modellgrößen-Variablen. Die Gruppenzahl kann auf Null eingestellt werden und die Repository-Größe kann auch auf Null eingestellt werden. Das System kann dann aus den festen Gruppen, die als relevant identifiziert sind, die feste Gruppe mit dem höchsten Rang auswählen (910). Das System kann bestimmen, ob die Gruppennutzungsparameter einen Mengenparameter enthalten (915). Der Mengen- bzw. Größenparameter ist für die maximalen Gruppen 215 der 2 und stellt eine Begrenzung bezüglich der Anzahl von festen Gruppen dar, die im personalisierten Entitäten-Repository sein können. Wenn es einen Mengenparameter gibt (915, Ja), kann das System die Gruppenzahl um eins erhöhen (920). Das System kann dann bestimmen, ob die Gruppenzahl größer als der Mengen- bzw. Größenparameter ist (925). Wenn sie es ist, kann der Prozess 900 enden, weil die feste Gruppe über die Grenzen hinausgehen würde, die durch die Gruppennutzungsparameter dargestellt sind. Jedoch ist für die Gruppe mit höchstem Rang die Gruppenzahl nicht größer als der Größenparameter (925, Nein), so dass das System mit Schritt 930 fortfährt.
  • Das System bestimmt, ob die Gruppennutzungsparameter einen Platzparameter enthalten (930). Der Platzparameter kann als eine spezifizierte Menge an Speicher ausgedrückt werden (z.B. maximaler Speicher 210 der 2), oder als ein Prozentsatz von verfügbarem Speicher (z.B. Prozentsatz von Speicher 220 der 2), oder als eine Kombination von diesen. Wenn die Gruppennutzungsparameter einen Platzparameter enthalten (930, Ja), kann das System die Größe der festen Gruppe, die untersucht wurde, zur Repository-Größe hinzufügen (953). Die Größe kann bekannt sein oder kann geschätzt werden, wie beispielsweise basierend auf einer Durchschnittsgröße von festen Gruppen von Entitäten. Das System kann bestimmen, ob die Repository-Größe größer als der Platzparameter ist (940). Wenn sie es ist (940, Ja), endet der Prozess 900, weil die feste Gruppe eine Begrenzung verletzen würde, die durch die Gruppennutzungsparameter eingerichtet ist. Sonst (940, Nein) fügt das System die Gruppe zu den ausgewählten Gruppen hinzu (945). Die ausgewählten Gruppen sind die festen Gruppen mit höchstem Rang, die als relevant für den Anwender identifiziert sind, die auch Begrenzungen erfüllen, die durch die Gruppennutzungsparameter eingerichtet sind. Wenn es eine weitere Gruppe in den identifizierten Gruppen gibt (z.B. den festen Gruppen, die als relevant für den Anwender identifiziert sind), 950, Ja, kann das System die Gruppe mit dem nächsthöchsten Rang auswählen (955) und mit den Schritten 915 bis 950 fortfahren, wie es oben beschrieben ist. Wenn keine anderen Gruppen in den identifizierten Gruppen existieren (950, Nein), endet der Prozess 900 damit, dass er basierend auf den Gruppennutzungsparametern Gruppen identifiziert hat, um im Repository enthalten zu sein.
  • 10 zeigt ein Beispiel einer allgemeinen Computervorrichtung 1000, die als Server 110 betrieben werden kann, und/oder als Client-Vorrichtung 150 der 1, die mit den hier beschriebenen Techniken verwendet werden kann. Es ist beabsichtigt, dass die Computervorrichtung 1000 verschiedene beispielhafte Formen von Computervorrichtungen darstellt, wie beispielsweise Laptops, Desktops, Workstations, persönliche digitale Assistenten, zellulare Telefone, Smartphones, Tablets, Server und andere Computervorrichtungen, einschließlich tragbarer Vorrichtungen. Es wird gemeint, dass die hier gezeigten Komponenten, ihre Verbindungen und Beziehungen und ihre Funktionen nur Beispiele sind, und es wird nicht gemeint, dass sie Implementierungen der in diesem Dokument beschriebenen und/oder beanspruchten Erfindungen beschränken.
  • Die Computervorrichtung enthält einen Prozessor 1002, einen Speicher 1004, eine Speichervorrichtung 1006 und Erweiterungsports 1010, die über eine Schnittstelle 1008 verbunden sind. Bei einigen Implementierungen kann die Computervorrichtung 1000 einen Transceiver 1046, eine Kommunikationsschnittstelle 1044 und ein GPS-(Globales Positioniersystem-)Empfängermodul 1048 unter anderen Komponenten enthalten, die über eine Schnittstelle 1008 verbunden sind. Die Vorrichtung 1000 kann drahtlos durch die Kommunikationsschnittstelle 1044 kommunizieren, die eine digitale Signalverarbeitungsschaltung enthalten kann, wo es nötig ist. Jede der Komponenten 1002, 1004, 1006, 1008, 1010, 1040, 1044, 1046 und 1048 kann auf einer üblichen Hauptplatine oder auf andere Weise, wie es geeignet ist, angebracht sein.
  • Der Prozess 1002 kann Anweisungen zur Ausführung innerhalb der Computervorrichtung 1000 verarbeiten, einschließlich Anweisungen, die im Speicher 1004 oder auf der Speichervorrichtung 1006 gespeichert sind, um graphische Information für eine GUI auf einer externen Eingabe/Ausgabe-Vorrichtung, wie beispielsweise einer Anzeige 1016, anzuzeigen. Die Anzeige 1016 kann ein Monitor oder eine flache Berührungsbildschirmanzeige sein. Bei einigen Implementierungen können mehrere Prozessoren und/oder mehrere Busse verwendet werden, wie es geeignet ist, zusammen mit mehreren Speichern und Typen eines Speichers. Ebenso können mehrere Computervorrichtungen 1000 verbunden sein, wobei jede Vorrichtung Teilbereiche der nötigen Operationen zur Verfügung stellt (z.B. als Serverbank, eine Gruppe von Blade-Servern oder ein Mehrfachprozessorsystem).
  • Der Speicher 1004 speichert Information innerhalb der Computervorrichtung 1000. Bei einer Implementierung umfasst der Speicher 1004 eine flüchtige Speichereinheit oder -einheiten. Bei einer weiteren Implementierung umfasst der Speicher 1004 eine nichtflüchtige Speichereinheit oder -einheiten. Der Speicher 1004 kann auch eine weitere Form von computerlesbarem Medium sein, wie beispielsweise eine magnetische oder optische Platte. Bei einigen Implementierungen kann das Speicher 1004 einen Erweiterungsspeicher enthalten, der über eine Erweiterungsschnittstelle zur Verfügung gestellt ist.
  • Die Speichervorrichtung 1006 kann einen Massenspeicher für die Computervorrichtung 1000 zur Verfügung stellen. Bei einer Implementierung kann die Speichervorrichtung 1006 ein computerlesbares Medium sein oder enthalten, wie beispielsweise eine Floppydiskvorrichtung, eine Festplattenvorrichtung, eine optische Plattenvorrichtung oder eine Bandvorrichtung, ein Flash-Speicher oder eine andere ähnliche Festkörperspeichervorrichtung oder ein Feld von Vorrichtungen, einschließlich Vorrichtungen in einem Speichemetz oder anderen Konfigurationen. Ein Computerprogrammprodukt kann materiell in einem solchen computerlesbaren Medium verkörpert sein. Das Computerprogrammprodukt kann auch Anweisungen enthalten, die dann, wenn sie ausgeführt werden, ein oder mehrere Verfahren durchführen, wie beispielsweise diejenigen, die oben beschrieben sind. Das computer- oder maschinenlesbare Medium ist eine Speichervorrichtung, wie beispielsweise der Speicher 1004, die Speichervorrichtung 1006 oder ein Speicher auf einem Prozessor 1002.
  • Die Schnittstelle 1008 kann eine Hochgeschwindigkeitssteuerung sein, die bandbreitenintensive Operationen für die Computervorrichtung 1000 managt, oder eine Niedergeschwindigkeitssteuerung, die Operationen managt, die weniger bandbreitenintensiv sind, oder eine Kombination von solchen Steuerungen. Eine externe Schnittstelle 1040 kann vorgesehen sein, um eine Nahfeldkommunikation der Vorrichtung 1000 mit anderen Vorrichtungen zu ermöglichen. Bei einigen Implementierungen kann die Steuerung 1008 mit der Speichervorrichtung 1006 und dem Erweiterungsport 1014 gekoppelt sein. Das Erweiterungsport, das verschiedene Kommunikationsports (z.B. USB, Bluetooth, Ethernet, wireless Ethernet bzw. drahtloses Ethernet) enthalten kann, kann mit einer oder mehreren Eingabe/Ausgabe-Vorrichtungen, wie beispielsweise einer Tastatur, einer Zeigevorrichtung, einem Scanner oder einer Netzwerkvorrichtung, wie beispielsweise einem Switch bzw. Schalter oder Router, z.B. durch einen Netzwerkadapter gekoppelt sein.
  • Die Computervorrichtung 1000 kann auf eine Anzahl von unterschiedlichen Formen implementiert sein, wie es in der Figur gezeigt ist. Beispielsweise kann sie als ein Standardserver 1030 implementiert sein, oder als mehrere Male in einer Gruppe von solchen Servern. Sie kann auch als Teil eines Rackserversystems implementiert sein. Zusätzlich kann sie in einer Computervorrichtung implementiert sein, wie beispielsweise einem Laptop-Computer 1032, einem Personalcomputer 1034 oder einem Tablet/Smartphone 1036. Ein gesamtes System kann aus mehreren Computervorrichtungen 1000 hergestellt bzw. aufgebaut sein, die miteinander kommunizieren. Andere Konfigurationen sind möglich.
  • 11 zeigt ein Beispiel einer allgemeinen Computervorrichtung 1100, die ein Server 110 der 1 sein kann und die mit den hier beschriebenen Techniken verwendet werden kann. Die Computervorrichtung 1100 soll verschiedene beispielhafte Formen von großräumigen Datenverarbeitungsvorrichtungen darstellen, wie beispielsweise Server, Blade-Server, Datenzentren, Hauptrechnem und anderen großräumigen Computervorrichtungen. Die Computervorrichtung 1100 kann ein verteiltes System mit mehreren Prozessoren sein, die möglicherweise an einem Netzwerk angebrachte Speicherknoten enthalten, die durch ein oder mehrere Kommunikationsnetzwerke miteinander verbunden sind. Die hier gezeigten Komponenten, ihre Verbindungen und Beziehungen und ihre Funktionen haben die Bedeutung, dass sie nur Beispiele sind, und haben nicht die Bedeutung, Implementierungen der in diesem Dokument beschriebenen und/oder beanspruchten Erfindungen zu beschränken.
  • Ein verteiltes Computersystem 1100 kann irgendeine Anzahl von Computervorrichtungen 1180 enthalten. Die Computervorrichtungen 1180 können einen Server oder Rackserver, Hauptrechner, etc. enthalten, die über ein lokales Netz oder ein Weitverkehrsnetz, bestimmte optische Verbindungen, Modems, Brücken bzw. Bridges, Router, Schalter bzw. Switches, verdrahtete oder drahtlose Netzwerke, etc. kommunizieren.
  • Bei einigen Implementierungen kann jede Computervorrichtung mehrere Racks enthalten. Beispielsweise enthält die Computervorrichtung 1180a mehrere Racks 1058a-1058n. Jedes Rack kann einen oder mehrere Prozessoren enthalten, wie beispielsweise Prozessoren 1052a-1052n und 1062a-1062n. Die Prozessoren können Datenprozessoren, an einem Netzwerk angebrachte Speichervorrichtungen und andere computergesteuerte Vorrichtungen enthalten. Bei einigen Implementierungen kann ein Prozessor als ein Master-Prozessor arbeiten und die Zeitplanung und Datenverteilungsaufgaben steuern. Die Prozessoren können durch einen oder mehrere Rack-Switches 1158 miteinander verbunden sein, und ein oder mehrere Racks können durch einen Switch 1178 verbunden sein. Der Switch bzw. Schalter 1178 kann Kommunikationen zwischen mehreren verbundenen Computervorrichtungen 1100 handhaben.
  • Jedes Rack kann einen Speicher enthalten, wie beispielsweise einen Speicher 1154 und einen Speicher 1164, und einen Speicher, wie beispielsweise 1156 und 1166. Der Speicher 1156 und 1166 kann einen Massenspeicher zur Verfügung stellen und kann einen flüchtigen oder nichtflüchtigen Speicher enthalten, wie beispielsweise am Netzwerk angebrachte Platten, Floppydisks, Festplatten, optische Platten, Bänder, einen Flashspeicher oder andere ähnliche Festkörperspeichervorrichtungen oder ein Feld von Vorrichtungen, einschließlich Vorrichtungen in einem Speichernetz oder anderen Konfigurationen. Der Speicher 1156 oder 1166 kann zwischen mehreren Prozessoren, mehreren Racks oder mehreren Computervorrichtungen gemeinsam genutzt werden und kann ein computerlesbares Medium enthalten, das Anweisungen speichert, die durch einen oder mehrere der Prozessoren ausführbar sind. Der Speicher 1154 und 1164 kann z.B. eine flüchtige Speichereinheit oder -einheiten, eine nichtflüchtige Speichereinheit oder - einheiten und/oder andere Formen von computerlesbaren Medien, wie beispielsweise eine magnetische oder optische Platten, einen Flash-Speicher, einen Cache, einen Direktzugriffsspeicher (RAM), einen Nurlesespeicher (ROM) und Kombinationen davon enthalten. Der Speicher, wie beispielsweise der Speicher 1154, kann auch zwischen Prozessoren 1152a-1152n gemeinsam genutzt werden. Datenstrukturen, wie beispielsweise ein Index, kann beispielsweise über den Speicher 1156 und den Speicher 1154 gespeichert werden. Die Computervorrichtung 1100 kann andere Komponenten enthalten, die nicht gezeigt sind, wie beispielsweise Steuerungen, Busse, Eingabe/Ausgabe-Vorrichtungen, Kommunikationsmodule, etc.
  • Ein gesamtes System, wie beispielsweise der Server 110, kann aus mehreren Computervorrichtungen 1100 gebildet sein, die miteinander kommunizieren. Beispielsweise kann die Vorrichtung 1180a mit den Vorrichtungen 1180b, 1180c und 1180d kommunizieren, und diese können gemeinsam als ein Server 110 bekannt sein. Als ein weiteres Beispiel kann das System 100 der 1 eine oder mehrere Computervorrichtungen 1100 enthalten. Einige der Computervorrichtungen können geographisch nahe zueinander angeordnet sein, und andere können geographisch entfernt voneinander angeordnet sein. Das Layout des Systems 1100 ist nur ein Beispiel und das System kann andere Layouts oder Konfigurationen annehmen.
  • Gemäß bestimmten Aspekten der Offenbarung umfasst eine mobile Vorrichtung eine Anzeigevorrichtung, ein im Speicher gespeichertes personalisiertes Entitäten-Repository, wobei das personalisierte Entitäten-Repository eine Vielzahl von festen Gruppen von Entitäten von einem Entitäten-Repository enthält, das bei einem Server gespeichert ist, wobei jede feste Gruppe einen jeweiligen Identifizierer hat und Information über die Entitäten in der Gruppe enthält, wenigstens einen Prozessor und einen Speicher, der Anweisungen speichert, die dann, wenn sie durch den wenigstens einen Prozessor ausgeführt werden, veranlassen, dass die mobile Vorrichtung Operationen durchführt. Die Operationen enthalten ein Identifizieren fester Gruppen des Entitäten-Repositorys, die relevant für einen Anwender der mobilen Vorrichtung sind, basierend auf einem Kontext, der mit der mobilen Vorrichtung assoziiert ist, eine Rangbildung der festen Gruppen durch eine Relevanz, ein Bestimmen ausgewählter Gruppen aus den identifizierten festen Gruppen unter Verwendung des Rangs und von Gruppennutzungsparametern, die für den Anwender anwendbar sind, und ein Updaten des personalisierten Entitäten-Repositorys unter Verwendung der ausgewählten Gruppen.
  • Dieser und andere Aspekte können eines oder mehrere der folgenden Merkmale enthalten. Beispielsweise kann ein Updaten des personalisierten Entitäten-Repositorys in Reaktion auf ein Bestimmen auftreten, das eine erste feste Gruppe der identifizierten festen Gruppen nicht im personalisierten Entitäten-Repository existiert. Als ein weiteres Beispiel kann ein Updaten des personalisierten Entitäten-Repositorys ein Entfernen einer Gruppe im personalisierten Entitäten-Repository enthalten, die nicht eine ausgewählte Gruppe ist. Als ein weiteres Beispiel können die Gruppennutzungsparameter eine Menge von festen Gruppen und/oder eine Menge eines Speichers, der dem personalisierten Entitäten-Repository zugeteilt ist, enthalten, wobei die Menge durch den Anwender eingestellt wird. Als ein weiteres Beispiel kann die Vielzahl fester Gruppen, die im personalisierten Entitäten-Repository gespeichert sind, Standortgruppen enthalten, wobei Entitäten bei einem Standort in einer selben Zelle angeordnet sind. Als ein weiteres Beispiel enthält die Vielzahl fester Gruppen, die im personalisierten Entitäten-Repository gespeichert sind, Themengruppen, wobei Entitäten in einer Themengruppe Entitäten sind, die basierend auf Entitäten-Charakteristiken zusammen gruppiert bzw. geclustert sind. Bei einigen Implementierungen ist der Rang einer ersten Themengruppe ein Rang, der durch ein Vorhersagemodell basierend auf Elementen, die im Inhalt erkannt sind, der zur Anzeige auf der Anzeigevorrichtung erzeugt ist, zugeordnet ist. Als ein weiteres Beispiel kann ein Updaten des personalisierten Entitäten-Repositorys ein Hinzufügen einer festen Gruppe enthalten, die aktuell nicht im personalisierten Entitäten-Repository existiert, und ein Verwenden eines Deltas einer festen Gruppe, die im personalisierten Entitäten-Repository existiert.
  • Als ein weiteres Beispiel können die Operationen auch ein Identifizieren einer Entität im Inhalt enthalten, der zur Anzeige auf der Anzeigevorrichtung erzeugt ist, unter Verwendung des personalisierten Entitäten-Repositorys. Als ein weiteres Beispiel hat jede der Vielzahl von Gruppen einen Versionsidentifizierer, wobei sich der Versionsidentifizierer ändert, wenn ein Update an einer bestimmten Gruppe ein Schema des personalisierten Entitäten-Repositorys abschaltet. Als ein weiteres Beispiel können die Operationen auch ein Initiieren einer Anzeige von Information enthalten, die eine erste feste Gruppe aus den ausgewählten Gruppen identifiziert, und eine Steuerung, die konfiguriert ist, um zu ermöglichen, dass der Anwender eine Installation der ersten festen Gruppe annimmt und die erste feste Gruppe herunterlädt und sie zum personalisierten Entitäten-Repository hinzufügt, wenn der Anwender eine Installation annimmt. Als ein weiteres Beispiel kann ein Identifizieren fester Gruppen des Entitäten-Repositorys, die relevant für den Anwender sind, basierend auf dem Kontext ein Bestimmen eines Standorts der mobilen Vorrichtung und ein Verwenden des Standorts zum Bestimmen von standortbasierten festen Gruppen, die relevant für den Anwender sind, unter Verwendung eines Gruppenvorhersagemodells, um themenbasierte Gruppen zu identifizieren, die relevant für den Anwender sind, und ein Bestimmen von Gruppen, die durch wenigstens eine Anwendung identifiziert sind, die auf der mobilen Vorrichtung installiert ist, enthalten. Als ein weiteres Beispiel kann ein Identifizieren fester Gruppen des Entitäten-Repositorys, die relevant für den Anwender sind, basierend auf dem Kontext ein Bestimmen von Inhalt enthalten, der zuvor auf der mobilen Vorrichtung angeschaut ist, und ein Bereitstellen bzw. Liefern des Inhalts, der zuvor angeschaut ist, zu einem Gruppenvorhersagemodell, das konfiguriert ist, um wenigstens eine themenbasierte Gruppe von dem Inhalt vorherzusagen, der zuvor angeschaut ist, und/oder ein Bestimmen von letzten Suchen, die auf der mobilen Vorrichtung durchgeführt sind, und ein Liefern des Inhalts von den letzten Suchen zu einem Gruppenvorhersagemodell, das konfiguriert ist, um wenigstens eine themenbasierte Gruppe von dem Inhalt vorherzusagen. Als ein weiteres Beispiel kann ein Identifizieren fester Gruppen des Entitäten-Repositorys, die relevant für den Anwender sind, basierend auf dem Kontext ein Bestimmen einer Aktivität enthalten, die durch den Anwender der mobilen Vorrichtung durchgeführt ist, und ein Vorhersagen einer festen Gruppe von Entitäten basierend auf der Aktivität.
  • Gemäß bestimmten Aspekten der Offenbarung enthält ein Verfahren ein Empfangen eines bildschirmerfassten Bildes, das konfiguriert ist, um Inhalt auf einer Anzeige einer mobilen Vorrichtung anzuzeigen, ein Bestimmen von Text im Bild durch Durchführen einer Texterkennung auf dem Bild, ein Liefern des Textes zu einem Gruppenvorhersagemodell, wobei das Gruppenvorhersagemodell trainiert wird, um eine oder mehrere feste Gruppen von Entitäten vorherzusagen, und ein Speichern wenigstens einer festen Gruppe von Entitäten der vorhergesagten festen Gruppen von Entitäten in einem personalisierten Entitäten-Repository im Speicher auf der mobilen Vorrichtung.
  • Diese und andere Aspekte können eines oder mehrere der folgenden Merkmale enthalten. Beispielsweise kann das Verfahren auch ein Identifizieren von Entitäten in Bildschirmerfassungsbildern unter Verwendung des personalisierten Entitäten-Repositorys enthalten. Das Verfahren kann auch ein Bestimmen eines Standorts enthalten, der mit Inhalt assoziiert ist, der in einem Bildschirmerfassungsbild erkannt ist, ein Liefern des Standorts zum Gruppenvorhersagemodell, wobei das Gruppenvorhersagemodell wenigstens eine standortbasierte feste Gruppe von Entitäten basierend auf dem Standort vorhersagt, und ein Speichern der standortbasierten festen Gruppe von Entitäten im personalisierten Entitäten-Repository. Als ein weiteres Beispiel kann das Vorhersagemodell eine Vielzahl von vorhergesagten festen Gruppen von Entitäten vorhersagen und enthält das Verfahren auch eine Rangbildung von jeder der vorhergesagten festen Gruppen von Entitäten unter Verwendung von Gruppennutzungsparametern und den Rangbildungen, um ausgewählte feste Gruppen von Entitäten aus den vorhergesagten festen Gruppen von Entitäten zu bestimmen, und ein Speichern der ausgewählten festen Gruppen von Entitäten im personalisierten Entitäten-Repository.
  • Gemäß bestimmten Aspekten der Offenbarung kann ein Verfahren ein Erzeugen einer Vielzahl fester Gruppen von Entitäten aus einem Entitäten-Repository enthalten. Die festen Gruppen enthalten standortbasierte Gruppen, wobei jede standortbasierte Gruppe Entitäten aus dem Entitäten-Repository enthält, die einen Standort innerhalb einer Zelle haben, wobei die Zelle mit der Gruppe assoziiert ist, und themenbasierte Gruppen, wobei wenigstens einige der themenbasierten Gruppen Entitäten aus dem Entitäten-Repository enthalten, die über eine Einbettungsähnlichkeit aufeinander bezogen sind. Das Verfahren kann auch ein Liefern einer Untergruppe der festen Gruppen von Entitäten zu einer Client-Vorrichtung enthalten, wobei die Client-Vorrichtung die Untergruppe basierend auf einem Standort der Client-Vorrichtung und auf erkannten Elementen, die im Inhalt identifiziert sind, der zur Anzeige auf der Client-Vorrichtung erzeugt ist, anfragt.
  • Diese und andere Aspekte können eines oder mehrere der folgenden Merkmale enthalten. Beispielsweise kann das Verfahren auch ein Identifizieren von wenigstens einer Entität enthalten, die zu den Entitäten-Repository hinzugefügt ist, ein Bestimmen von wenigstens einer festen Gruppe, zu der die hinzugefügte Entität gehört, und ein Erzeugen eines Deltas für die wenigstens eine feste Gruppe, die die hinzugefügte Entität enthält. Als ein weiteres Beispiel kann das Verfahren auch ein Identifizieren von wenigstens einer Entität enthalten, die zu den Entitäten-Repository hinzugefügt ist, ein Bestimmen von wenigstens einer festen Gruppe, zu der die hinzugefügte Entität gehört, ein Bestimmen, dass sich ein Schema der festen Gruppen geändert hat und ein Erzeugen einer neuen Version der wenigstens einen festen Gruppe, wobei die neue Version die hinzugefügte Entität enthält und einen neuen Versionsidentifizierer hat. Als ein weiteres Beispiel können wenigstens einige der themenbasierten Gruppen Entitäten gleich einer Keimentität enthalten, und/oder die festen Gruppen können auch funktionelle Gruppen enthalten, wobei wenigstens eine der funktionellen Gruppenentitäten Entitäten enthält, die als am populärsten angesehen werden.
  • Verschiedene Implementierungen können eine Implementierung in einem oder mehreren Computerprogrammen enthalten, die auf einem programmierbaren System ausführbar und/oder interpretierbar sind, einschließlich wenigstens eines programmierbaren Prozessors, der speziell oder allgemein sein kann, gekoppelt, um Daten und Anweisungen von einem Speichersystem zu empfangen und Daten und Anweisungen zu diesem zu senden, wenigstens einer Eingabevorrichtung und wenigstens einer Ausgabevorrichtung.
  • Diese Computerprogramme (die auch als Programme, Software, Softwareanwendungen oder Code bekannt sind) enthalten Maschinenanweisungen für einen programmierbaren Prozessor und können in einer höheren verfahrensorientierten und/oder objektorientierten Programmiersprache implementiert sein, und/oder in Assembler/Maschinen-Sprache. Wie sie hierin verwendet sind, beziehen sich die Ausdrücke „maschinenlesbares Medium“, „computerlesbares Medium“ auf irgendein nichtflüchtiges Computerprogrammprodukt, ein Gerät und/oder eine Vorrichtung (z.B. magnetische Platten, optische Platten, einen Speicher (einschließlich eines Direktzugriffsspeichers), programmierbare Logikvorrichtungen (PLDs)), die dazu verwendet werden, Maschinenanweisungen und/oder Daten zu einem programmierbaren Prozessor zu liefern.
  • Die hier beschriebenen Systeme und Techniken können in einem Computersystem implementiert werden, das eine Backend-Komponente (z.B. als einen Datenserver) enthält oder das eine Middleware-Komponente (z.B. einen Anwendungsserver) enthält oder das eine Frontend-Komponente (z.B. einen Client-Computer mit einer graphischen Anwenderschnittstelle oder einen Web-Browser, wodurch ein Anwender mit einer Implementierung der hier beschriebenen Systeme und Techniken interagieren kann) enthält oder irgendeine Kombination von solchen Backend-, Middleware- oder Frontend-Komponenten. Die Komponenten des Systems können durch irgendeine Form oder ein Medium von digitaler Datenkommunikation (z.B. ein Kommunikationsnetzwerk) miteinander verbunden sein. Beispiele von Kommunikationsnetzwerken enthalten ein lokales Netz („LAN“), ein Weitverkehrsnetz („WAN“) und das Internet.
  • Das Computersystem kann Clients und Server enthalten. Ein Client und ein Server sind allgemein entfernt voneinander und interagieren typischerweise durch ein Kommunikationsnetzwerk. Die Beziehung von Client und Server entsteht mittels Computerprogrammen, die auf den jeweiligen Computern laufen und eine Client-Server-Beziehung zueinander haben.
  • Eine Anzahl von Implementierungen ist beschrieben worden. Nichtsdestoweniger können verschiedene Modifikationen durchgeführt werden, ohne vom Schutzumfang der Erfindung abzuweichen, der durch die folgenden Ansprüche definiert ist. Zusätzlich erfordern die logischen Abläufe, die in den Figuren gezeigt sind, nicht die gezeigte bestimmte Reihenfolge oder eine sequentielle Reihenfolge, um erwünschte Ergebnisse zu erreichen. Zusätzlich können andere Schritte vorgesehen sein, oder können Schritte von den beschriebenen Abläufen eliminiert werden und können andere Komponenten zu den beschriebenen Systemen hinzugefügt oder von diesen entfernt werden. Demgemäß sind andere Implementierungen innerhalb des Schutzumfangs der folgenden Ansprüche.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • US 14962415 [0001]
    • US 62245241 [0001]

Claims (26)

  1. Verfahren, umfassend: Identifizieren fester Gruppen eines Entitäten-Repositorys, das bei einem Server gespeichert ist, die relevant für einen Anwender einer mobilen Vorrichtung sind, basierend auf Kontext, der mit der mobilen Vorrichtung assoziiert ist, Bilden eines Rangs für die festen Gruppen durch Relevanz; Bestimmen ausgewählter Gruppen aus den identifizierten festen Gruppen unter Verwendung des Rangs und von Gruppennutzungsparametern, die auf den Anwender anwendbar sind; und Updaten eines personalisierten Entitäten-Repositorys, das in einem Speicher der mobilen Vorrichtung gespeichert ist, unter Verwendung der ausgewählten Gruppen, wobei das personalisierte Entitäten-Repository eine Vielzahl von festen Gruppen von Entitäten aus dem Entitäten-Repository enthält, das bei dem Server gespeichert ist, wobei jede feste Gruppe einen jeweiligen Identifizierer hat und Information über die Entitäten in der Gruppe enthält.
  2. Verfahren nach Anspruch 1, wobei ein Updaten des personalisierten Entitäten-Repositorys in Reaktion auf ein Bestimmen auftritt, dass eine erste feste Gruppe der identifizierten festen Gruppen nicht im personalisierten Entitäten-Repository existiert.
  3. Verfahren nach Anspruch 1 oder 2, wobei ein Updaten des personalisierten Entitäten-Repositorys ein Entfernen einer Gruppe im personalisierten Entitäten-Repository enthält, die nicht eine ausgewählte Gruppe ist.
  4. Verfahren nach Anspruch 1, 2 oder 3, wobei die Gruppennutzungsparameter eine Quantität bzw. Anzahl von festen Gruppen enthält.
  5. Verfahren nach einem der vorangehenden Ansprüche, wobei die Gruppennutzungsparameter eine Menge an dem personalisierten Entitäten-Repository zugeteiltem Speicher enthalten, wobei die Menge durch den Anwender eingestellt wird.
  6. Verfahren nach einem der vorangehenden Ansprüche, wobei die Vielzahl der im personalisierten Entitäten-Repository gespeicherten festen Gruppen Standortgruppen enthält, wobei Entitäten in einer Standortgruppe in einer selben Zelle angeordnet sind.
  7. Verfahren nach einem der vorangehenden Ansprüche, wobei die Vielzahl von im personalisierten Entitäten-Repository gespeicherten festen Gruppen Themengruppen enthält, wobei Entitäten in einer Themengruppe Entitäten sind, die basierend auf Entitäten-Charakteristiken miteinander gruppiert bzw. geclustert sind.
  8. Verfahren nach Anspruch 7, wobei der Rang einer ersten Themengruppe ein Rang ist, der durch ein Vorhersagemodell basierend auf Elementen, die im Inhalt erkannt sind, der zur Anzeige auf einer Anzeigevorrichtung erzeugt ist, zugeordnet ist.
  9. Verfahren nach einem der vorangehenden Ansprüche, wobei ein Updaten des personalisierten Entitäten-Repositorys ein Hinzufügen einer festen Gruppe enthält, die aktuell nicht im personalisierten Entitäten-Repository existiert, und ein Verwenden eines Deltas einer festen Gruppe, die im personalisierten Entitäten-Repository existiert.
  10. Verfahren nach einem der vorangehenden Ansprüche, weiterhin umfassend ein Identifizieren einer Entität in Inhalt, der zur Anzeige auf einer Anzeigevorrichtung erzeugt ist, unter Verwendung des personalisierten Entitäten-Repositorys.
  11. Verfahren nach einem der vorangehenden Ansprüche, wobei jede der Vielzahl von Gruppen einen Versionsidentifizierer hat, wobei sich der Versionsidentifizierer ändert, wenn ein Update an einer bestimmten Gruppe ein Schema des personalisierten Entitäten-Repositorys abschaltet.
  12. Verfahren nach einem der vorangehenden Ansprüche, weiterhin umfassend: Initiieren einer Anzeige von Information, die eine erste feste Gruppe aus den ausgewählten Gruppen identifiziert, und einer Steuerung, die konfiguriert ist, um zu ermöglichen, dass der Anwender eine Installation der ersten festen Gruppe annimmt; und Herunterladen der ersten festen Gruppe und Hinzufügen von ihr zum personalisierten Entitäten-Repository, wenn der Anwender eine Installation annimmt.
  13. Verfahren nach einem der vorangehenden Ansprüche, wobei ein Identifizieren fester Gruppen des Entitäten-Repositorys, die relevant für den Anwender sind, basierend auf dem Kontext folgendes enthält: Bestimmen eines Standorts der mobilen Vorrichtung und Verwenden des Standorts, um standortbasierte feste Gruppen zu bestimmen, die relevant für den Anwender sind; Verwenden eines Gruppenvorhersagemodells, um themenbasierte Gruppen zu identifizieren, die relevant für den Anwender sind; und Bestimmen von Gruppen, die durch wenigstens eine Anwendung identifiziert sind, die auf der mobilen Vorrichtung installiert ist.
  14. Verfahren nach einem der vorangehenden Ansprüche, wobei ein Identifizieren fester Gruppen des Entitäten-Repositorys, die relevant für den Anwender sind, basierend auf dem Kontext folgendes enthält: Bestimmen von Inhalt, der zuvor auf der mobilen Vorrichtung angeschaut ist; und Liefern des Inhalts, der zuvor angeschaut ist, zu einem Gruppenvorhersagemodell, das konfiguriert ist, um wenigstens eine themenbasierte Gruppe aus dem Inhalt vorherzusagen, der zuvor angeschaut ist.
  15. Verfahren nach einem der vorangehenden Ansprüche, wobei ein Identifizieren fester Gruppen des Entitäten-Repositorys, die relevant für den Anwender sind, basierend auf dem Kontext folgendes enthält: Bestimmen letzter Suchen, die auf der mobilen Vorrichtung durchgeführt sind; und Liefern des Inhalts von den letzten Suchen zu einem Gruppenvorhersagemodell, das konfiguriert ist, um wenigstens eine themenbasierte Gruppe aus dem Inhalt vorherzusagen.
  16. Verfahren nach einem der vorangehenden Ansprüche, wobei ein Identifizieren fester Gruppen des Entitäten-Repositorys, die relevant für den Anwender sind, basierend auf dem Kontext folgendes enthält: Bestimmen einer Aktivität, die durch den Anwender der mobilen Vorrichtung durchgeführt ist; und Vorhersagen einer festen Gruppe von Entitäten basierend auf der Aktivität.
  17. Verfahren, umfassend: Empfangen eines bildschirmerfassten Bilds, das konfiguriert ist, um Inhalt auf einer Anzeige einer mobilen Vorrichtung anzuzeigen, Bestimmen von Text im Bild durch Durchführen von Texterkennung auf dem Bild, Liefern des Textes zu einem Gruppenvorhersagemodell, wobei das Gruppenvorhersagemodell trainiert wird, um eine oder mehrere feste Gruppen von Entitäten vorherzusagen; und Speichern wenigstens einer festen Gruppe von Entitäten der vorhergesagten festen Gruppen von Entitäten in einem personalisierten Entitäten-Repository in einem Speicher auf der mobilen Vorrichtung.
  18. Verfahren nach Anspruch 17, weiterhin umfassend: Identifizieren von Entitäten in Bildschirmerfassungsbildern unter Verwendung des personalisierten Entitäten Repositorys.
  19. Verfahren nach Anspruch 17 oder 18, weiterhin umfassend: Bestimmen eines Standorts, der mit Inhalt assoziiert ist, der in einem Bildschirmerfassungsbild erkannt ist; Liefern des Standorts zum Gruppenvorhersagemodell, wobei das Gruppenvorhersagemodell wenigstens eine standortbasierte feste Gruppe von Entitäten basierend auf dem Standort vorhersagt; und Speichern der standortbasierten festen Gruppe von Entitäten im personalisierten Entitäten-Repository.
  20. Verfahren nach Anspruch 17, 18 oder 19, wobei das Vorhersagemodell eine Vielzahl von vorhergesagten festen Gruppen von Entitäten vorhersagt und das Verfahren weiterhin umfasst: Bilden eines Rangs für jede der vorhergesagten festen Gruppen von Entitäten; Verwenden von Gruppennutzungsparametern und der Rangbildungen, um ausgewählte feste Gruppen von Entitäten aus den vorhergesagten festen Gruppen von Entitäten zu bestimmen; und Speichern der ausgewählten festen Gruppen von Entitäten im personalisierten Entitäten-Repository.
  21. Verfahren, umfassend: Erzeugen einer Vielzahl fester Gruppen von Entitäten aus einem Entitäten-Repository, wobei die festen Gruppen enthalten: standortbasierte Gruppen, wobei jede standortbasierte Gruppe Entitäten aus dem Entitäten-Repository enthält, die einen Standort innerhalb einer Zelle haben, wobei die Zelle mit der Gruppe assoziiert ist, und themenbasierte Gruppen, wobei wenigstens einige der themenbasierten Gruppen Entitäten aus dem Entitäten-Repository enthalten, die über eine Einbettungsähnlichkeit aufeinander bezogen sind; und Liefern einer Untergruppe der festen Gruppen von Entitäten zu einer Client-Vorrichtung, wobei die Client-Vorrichtung die Untergruppe basierend auf einem Standort der Client-Vorrichtung und aus erkannten Elementen, die im Inhalt identifiziert sind, der zur Anzeige auf der Client-Vorrichtung erzeugt ist, anfragt.
  22. Verfahren nach Anspruch 21, weiterhin umfassend: Identifizieren wenigstens einer Entität, die zum Entitäten-Repository hinzugefügt ist; Bestimmen wenigstens einer festen Gruppe, zu der die hinzugefügte Entität gehört; und Erzeugen eines Deltas für die wenigstens eine feste Gruppe, die die hinzugefügte Entität enthält.
  23. Verfahren nach Anspruch 21 oder 22, weiterhin umfassend: Identifizieren wenigstens einer Entität, die zum Entitäten-Repository hinzugefügt ist; Bestimmen wenigstens einer festen Gruppe, zu der die hinzugefügte Entität gehört; Bestimmen, dass sich ein Schema der festen Gruppen geändert hat; und Erzeugen einer neuen Version der wenigstens einen festen Gruppe, wobei die neue Version die hinzugefügte Entität enthält und einen neuen Versionsidentifizierer hat.
  24. Verfahren nach Anspruch 21, 22 oder 23, wobei wenigstens einige der themenbasierten Gruppen Entitäten gleich einer Keimentität enthalten.
  25. Verfahren nach einem der Ansprüche 21 bis 24, wobei die festen Gruppen auch funktionelle Gruppen enthalten, wobei wenigstens eine der funktionellen Gruppen Entitäten enthält, die als am populärsten angesehen werden.
  26. Mobile Vorrichtung, umfassend: eine Anzeigevorrichtung; wenigstens einen Prozessor; und einen Speicher, der Anweisungen speichert, die dann, wenn sie durch den wenigstens einen Prozessor ausgeführt werden, veranlassen, dass die mobile Vorrichtung das Verfahren von irgendeinem der Ansprüche 1 bis 16 durchführt.
DE112016004859.9T 2015-10-22 2016-10-18 Personalisiertes Entitäten-Repository Pending DE112016004859T5 (de)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201562245241P 2015-10-22 2015-10-22
US62/245,241 2015-10-22
US14/962,415 2015-12-08
US14/962,415 US10178527B2 (en) 2015-10-22 2015-12-08 Personalized entity repository
PCT/US2016/057473 WO2017070079A1 (en) 2015-10-22 2016-10-18 Personalized entity repository

Publications (1)

Publication Number Publication Date
DE112016004859T5 true DE112016004859T5 (de) 2018-07-19

Family

ID=58557676

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112016004859.9T Pending DE112016004859T5 (de) 2015-10-22 2016-10-18 Personalisiertes Entitäten-Repository

Country Status (9)

Country Link
US (4) US10178527B2 (de)
EP (1) EP3347835B1 (de)
JP (1) JP6655180B2 (de)
KR (1) KR102077289B1 (de)
CN (2) CN114780737A (de)
DE (1) DE112016004859T5 (de)
GB (1) GB2558472A (de)
RU (1) RU2696225C1 (de)
WO (1) WO2017070079A1 (de)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9824079B1 (en) 2014-07-11 2017-11-21 Google Llc Providing actions for mobile onscreen content
US9965559B2 (en) 2014-08-21 2018-05-08 Google Llc Providing automatic actions for mobile onscreen content
US10970646B2 (en) 2015-10-01 2021-04-06 Google Llc Action suggestions for user-selected content
US10055390B2 (en) 2015-11-18 2018-08-21 Google Llc Simulated hyperlinks on a mobile device based on user intent and a centered selection of text
US10007867B2 (en) * 2016-04-04 2018-06-26 Google Llc Systems and methods for identifying entities directly from imagery
US10535005B1 (en) 2016-10-26 2020-01-14 Google Llc Providing contextual actions for mobile onscreen content
US11237696B2 (en) 2016-12-19 2022-02-01 Google Llc Smart assist for repeated actions
US10902444B2 (en) * 2017-01-12 2021-01-26 Microsoft Technology Licensing, Llc Computer application market clusters for application searching
US11429833B2 (en) * 2017-06-19 2022-08-30 Kyndryl, Inc. Cognitive communication assistant services
US20190026473A1 (en) * 2017-07-21 2019-01-24 Pearson Education, Inc. System and method for automated feature-based alert triggering
US10867128B2 (en) 2017-09-12 2020-12-15 Microsoft Technology Licensing, Llc Intelligently updating a collaboration site or template
US10742500B2 (en) * 2017-09-20 2020-08-11 Microsoft Technology Licensing, Llc Iteratively updating a collaboration site or template
US10691734B2 (en) 2017-11-21 2020-06-23 International Business Machines Corporation Searching multilingual documents based on document structure extraction
US10817313B2 (en) * 2018-02-23 2020-10-27 Adobe Inc. Machine learning techniques for adaptation of initial workspace
US10635979B2 (en) * 2018-07-20 2020-04-28 Google Llc Category learning neural networks
KR102055920B1 (ko) * 2018-12-19 2019-12-13 (주)린치핀 온라인 파츠북 서비스 제공 방법 및 시스템
TWI712977B (zh) * 2019-03-28 2020-12-11 第一商業銀行股份有限公司 主動勸募系統
CN111431968B (zh) * 2020-02-26 2021-09-21 华为技术有限公司 服务元素的跨设备分配方法、终端设备及存储介质
CN113204967B (zh) * 2021-05-25 2022-06-21 山东师范大学 简历命名实体识别方法及系统
US11709691B2 (en) * 2021-09-01 2023-07-25 Sap Se Software user assistance through image processing
US11928161B2 (en) * 2022-03-04 2024-03-12 Humane, Inc. Structuring and presenting event data for use with wearable multimedia devices
US20230325818A1 (en) * 2022-04-08 2023-10-12 Capital One Services, Llc Methods and systems for binding entity-restricted access tokens

Family Cites Families (152)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100348915B1 (ko) 1994-05-12 2002-12-26 마이크로소프트 코포레이션 텔레비젼프로그램선택방법및그시스템
US5946647A (en) 1996-02-01 1999-08-31 Apple Computer, Inc. System and method for performing an action on a structure in computer-generated data
US6662226B1 (en) 2000-01-27 2003-12-09 Inbit, Inc. Method and system for activating and capturing screen displays associated with predetermined user interface events
US8224776B1 (en) 2000-07-26 2012-07-17 Kdl Scan Designs Llc Method and system for hosting entity-specific photo-sharing websites for entity-specific digital cameras
AU2002210300A1 (en) 2000-10-18 2002-04-29 Chipworks Design analysis workstation for analyzing integrated circuits
US7596591B2 (en) * 2000-11-20 2009-09-29 British Telecommunications Public Limited Company Method of managing resources
US7421153B1 (en) 2002-04-05 2008-09-02 Bank Of America Corporation Image and data processing system
CA2481080C (en) 2002-04-05 2010-10-12 At&T Corp. Method and system for detecting and extracting named entities from spontaneous communications
US7054917B1 (en) 2002-08-07 2006-05-30 Propel Software Corporation Method for accelerating delivery of content in a computer network
US7376696B2 (en) 2002-08-27 2008-05-20 Intel Corporation User interface to facilitate exchanging files among processor-based devices
US20050083413A1 (en) 2003-10-20 2005-04-21 Logicalis Method, system, apparatus, and machine-readable medium for use in connection with a server that uses images or audio for initiating remote function calls
US8151280B2 (en) * 2003-10-27 2012-04-03 Microsoft Corporation Simple and dynamic configuration of network devices
TW200601082A (en) 2004-01-20 2006-01-01 Koninkl Philips Electronics Nv Method and system for determining the topic of a conversation and obtaining and presenting related content
US7707039B2 (en) 2004-02-15 2010-04-27 Exbiblio B.V. Automatic modification of web pages
US7536382B2 (en) 2004-03-31 2009-05-19 Google Inc. Query rewriting with entity detection
US7639387B2 (en) 2005-08-23 2009-12-29 Ricoh Co., Ltd. Authoring tools using a mixed media environment
US8745483B2 (en) 2004-10-07 2014-06-03 International Business Machines Corporation Methods, systems and computer program products for facilitating visualization of interrelationships in a spreadsheet
US8812551B2 (en) 2004-11-18 2014-08-19 International Business Machines Corporation Client-side manipulation of tables
US7702611B2 (en) 2005-01-07 2010-04-20 Xerox Corporation Method for automatically performing conceptual highlighting in electronic text
US20090036215A1 (en) * 2005-02-28 2009-02-05 Pandanet Inc. Go playing system
US7702128B2 (en) 2005-03-03 2010-04-20 Cssn Inc. Card Scanning Solutions System and method for scanning a business card from within a contacts address book and directly inserting into the address book database
US7809722B2 (en) 2005-05-09 2010-10-05 Like.Com System and method for enabling search and retrieval from image files based on recognized information
US20070008321A1 (en) 2005-07-11 2007-01-11 Eastman Kodak Company Identifying collection images with special events
US7548915B2 (en) 2005-09-14 2009-06-16 Jorey Ramer Contextual mobile content placement on a mobile communication facility
US7752209B2 (en) 2005-09-14 2010-07-06 Jumptap, Inc. Presenting sponsored content on a mobile communication facility
US7933897B2 (en) 2005-10-12 2011-04-26 Google Inc. Entity display priority in a distributed geographic information system
US7822759B2 (en) 2005-12-13 2010-10-26 Microsoft Corporation Query-driven sharing and syndication
US20070168379A1 (en) 2006-01-17 2007-07-19 Patel Sushma B Method and apparatus for cataloging screen shots of a program
US8015183B2 (en) * 2006-06-12 2011-09-06 Nokia Corporation System and methods for providing statstically interesting geographical information based on queries to a geographic search engine
CN101075236A (zh) 2006-06-12 2007-11-21 腾讯科技(深圳)有限公司 一种加快浏览器网页显示的装置和方法
US8347237B2 (en) 2006-06-27 2013-01-01 Palo Alto Research Center Incorporated Method, apparatus, and program product for efficiently detecting relationships in a comprehension state of a collection of information
US7917514B2 (en) 2006-06-28 2011-03-29 Microsoft Corporation Visual and multi-dimensional search
US8489987B2 (en) 2006-07-31 2013-07-16 Ricoh Co., Ltd. Monitoring and analyzing creation and usage of visual content using image and hotspot interaction
US20080046175A1 (en) * 2006-07-31 2008-02-21 Nissan Technical Center North America, Inc. Vehicle navigation system
CN101201827B (zh) 2006-12-14 2013-02-20 阿里巴巴集团控股有限公司 一种网页显示的方法和系统
US8671341B1 (en) 2007-01-05 2014-03-11 Linguastat, Inc. Systems and methods for identifying claims associated with electronic text
KR101370895B1 (ko) 2007-01-19 2014-03-10 엘지전자 주식회사 콘텐츠 표시 방법 및 이를 이용한 단말기
US8869191B2 (en) 2007-01-23 2014-10-21 Cox Communications, Inc. Providing a media guide including parental information
US8214367B2 (en) 2007-02-27 2012-07-03 The Trustees Of Columbia University In The City Of New York Systems, methods, means, and media for recording, searching, and outputting display information
US20080275701A1 (en) 2007-04-25 2008-11-06 Xiaotao Wu System and method for retrieving data based on topics of conversation
EP2156280A4 (de) 2007-05-07 2014-09-10 Fourthwall Media Inc Kontextabhängige vorhersage- und lernoperation mit einer universellen software-komponente zur eingabe wiederkehrender texte
US8688089B2 (en) * 2007-06-26 2014-04-01 Gosub 60, Inc. Methods and systems for providing in-game hot spots
US7921069B2 (en) 2007-06-28 2011-04-05 Yahoo! Inc. Granular data for behavioral targeting using predictive models
GB2462399A (en) 2007-06-28 2010-02-10 Taptu Ltd Search result ranking
US8594996B2 (en) 2007-10-17 2013-11-26 Evri Inc. NLP-based entity recognition and disambiguation
WO2009052308A1 (en) 2007-10-17 2009-04-23 Roseman Neil S Nlp-based content recommender
WO2009054619A2 (en) 2007-10-22 2009-04-30 Moon Key Lee Augmented reality computer device
US9159034B2 (en) 2007-11-02 2015-10-13 Ebay Inc. Geographically localized recommendations in a computing advice facility
US20110246471A1 (en) 2010-04-06 2011-10-06 Selim Shlomo Rakib Retrieving video annotation metadata using a p2p network
US8255386B1 (en) 2008-01-30 2012-08-28 Google Inc. Selection of documents to place in search index
JP5336748B2 (ja) 2008-03-06 2013-11-06 インターナショナル・ビジネス・マシーンズ・コーポレーション コンテンツ中のアクセシビリティに関する問題箇所を他人へ効果的に伝達するためのコンピュータ、方法、プログラム
US7970808B2 (en) 2008-05-05 2011-06-28 Microsoft Corporation Leveraging cross-document context to label entity
US8630972B2 (en) 2008-06-21 2014-01-14 Microsoft Corporation Providing context for web articles
US20100010912A1 (en) * 2008-07-10 2010-01-14 Chacha Search, Inc. Method and system of facilitating a purchase
CN101667185B (zh) 2008-09-05 2012-10-17 深圳富泰宏精密工业有限公司 行动装置及其图片快速显示方法
CN101763357B (zh) 2008-11-13 2016-09-14 北京搜狗科技发展有限公司 一种用于浏览器加载互联网资源的方法及系统
WO2010070490A1 (en) 2008-12-18 2010-06-24 Koninklijke Philips Electronics, N.V. Software bug and performance deficiency reporting system
US20100228767A1 (en) * 2009-02-06 2010-09-09 Slinker Scott W Determining relationships between individuals in a database
WO2010096192A1 (en) 2009-02-18 2010-08-26 Exbiblio B.V. Interacting with rendered documents using a multi-function mobile device, such as a mobile phone
US8229883B2 (en) 2009-03-30 2012-07-24 Sap Ag Graph based re-composition of document fragments for name entity recognition under exploitation of enterprise databases
WO2010114543A1 (en) 2009-04-01 2010-10-07 Hewlett-Packard Development Company, L.P. Screen capture
US8370762B2 (en) 2009-04-10 2013-02-05 Cellco Partnership Mobile functional icon use in operational area in touch panel devices
US8533223B2 (en) 2009-05-12 2013-09-10 Comcast Interactive Media, LLC. Disambiguation and tagging of entities
US20100325127A1 (en) * 2009-06-18 2010-12-23 Nokia Corporation Method and apparatus for automatic geo-location and social group indexing
CN101587495A (zh) 2009-07-08 2009-11-25 伍帝州 通过浏览器下载部署应用并提供应用入口的方法及系统
US8571319B2 (en) 2009-07-28 2013-10-29 International Business Machines Corporation Enhanced screen capture for form manipulation
US9135277B2 (en) 2009-08-07 2015-09-15 Google Inc. Architecture for responding to a visual query
KR101651128B1 (ko) 2009-10-05 2016-08-25 엘지전자 주식회사 이동 단말기 이것의 애플리케이션 실행 제어 방법
JP2011096173A (ja) * 2009-11-02 2011-05-12 Nec Corp 情報提供システム、情報提供端末、情報提供サーバ、情報提供方法および情報提供プログラム
US8515185B2 (en) * 2009-11-25 2013-08-20 Google Inc. On-screen guideline-based selective text recognition
US20110128288A1 (en) 2009-12-02 2011-06-02 David Petrou Region of Interest Selector for Visual Queries
US9405772B2 (en) 2009-12-02 2016-08-02 Google Inc. Actionable search results for street view visual queries
US8977639B2 (en) 2009-12-02 2015-03-10 Google Inc. Actionable search results for visual queries
US20110145692A1 (en) 2009-12-16 2011-06-16 Peter Noyes Method for Tracking Annotations with Associated Actions
US20110225152A1 (en) 2010-03-15 2011-09-15 Microsoft Corporation Constructing a search-result caption
EP2393056A1 (de) * 2010-06-02 2011-12-07 Layar B.V. Erfassung, Klassifizierung und Anzeige von Interessenpunkten zur Verwendung in einem Dienstleistungsbereitstellungssystem für erhöhte Realität und grafische Benutzeroberfläche zur Anzeige solcher klassifizierten Interessenpunkte
US9158846B2 (en) 2010-06-10 2015-10-13 Microsoft Technology Licensing, Llc Entity detection and extraction for entity cards
US8468110B1 (en) 2010-07-22 2013-06-18 Intuit Inc. Real-time user behavior prediction
US20120083294A1 (en) 2010-09-30 2012-04-05 Apple Inc. Integrated image detection and contextual commands
US9189549B2 (en) 2010-11-08 2015-11-17 Microsoft Technology Licensing, Llc Presenting actions and providers associated with entities
CN103493069A (zh) 2010-12-01 2014-01-01 谷歌公司 响应于视觉查询识别匹配的规范文档
US8880555B2 (en) 2010-12-17 2014-11-04 Facebook, Inc. Ranking of address book contacts based on social proximity
KR101741551B1 (ko) 2010-12-20 2017-06-15 엘지전자 주식회사 이동 단말기 및 이것의 애플리케이션 제어 방법
WO2012101585A1 (en) 2011-01-28 2012-08-02 Strangeloop Networks, Inc. Prioritized image rendering based on position within a web page
US8849931B2 (en) * 2011-03-15 2014-09-30 Idt Messaging, Llc Linking context-based information to text messages
US8341156B1 (en) * 2011-04-04 2012-12-25 Google Inc. System and method for identifying erroneous business listings
US8977629B2 (en) 2011-05-24 2015-03-10 Ebay Inc. Image-based popularity prediction
JP2012252742A (ja) 2011-06-02 2012-12-20 Elpida Memory Inc 半導体装置
US9377867B2 (en) 2011-08-11 2016-06-28 Eyesight Mobile Technologies Ltd. Gesture based interface system and method
US8713004B1 (en) * 2011-08-26 2014-04-29 Google Inc. Method and system for prioritizing points of interest for display in a map using category score
US8204966B1 (en) 2011-09-26 2012-06-19 Google Inc. Map tile data pre-fetching based on user activity analysis
US8280414B1 (en) 2011-09-26 2012-10-02 Google Inc. Map tile data pre-fetching based on mobile device generated event analysis
US9305108B2 (en) 2011-10-05 2016-04-05 Google Inc. Semantic selection and purpose facilitation
US20150212695A1 (en) 2011-10-05 2015-07-30 Google Inc. Suggested action feedback
US20130097507A1 (en) 2011-10-18 2013-04-18 Utc Fire And Security Corporation Filmstrip interface for searching video
EP2587745A1 (de) 2011-10-26 2013-05-01 Swisscom AG Verfahren und System zum Erhalt von Kontaktinformationen für eine Person oder eine Entität
WO2013067000A1 (en) 2011-11-01 2013-05-10 Google Inc. Launching applications from webpages
US20130117252A1 (en) 2011-11-09 2013-05-09 Google Inc. Large-scale real-time fetch service
US9665643B2 (en) 2011-12-30 2017-05-30 Microsoft Technology Licensing, Llc Knowledge-based entity detection and disambiguation
US8832116B1 (en) * 2012-01-11 2014-09-09 Google Inc. Using mobile application logs to measure and maintain accuracy of business information
JP6215236B2 (ja) 2012-01-31 2017-10-18 ギブン イメージング リミテッドGiven Imaging Ltd. 生体内画像ストリーム中の運動性事象を表示するためのシステムおよび方法
US9230212B2 (en) * 2012-02-02 2016-01-05 Peel Technologies, Inc. Content based recommendation system
US9171068B2 (en) 2012-03-07 2015-10-27 Ut-Battelle, Llc Recommending personally interested contents by text mining, filtering, and interfaces
US20130263098A1 (en) 2012-03-29 2013-10-03 Pawel Piotr Duda Method and system for testing of mobile web sites
US9836545B2 (en) * 2012-04-27 2017-12-05 Yahoo Holdings, Inc. Systems and methods for personalized generalized content recommendations
WO2013172958A1 (en) * 2012-05-16 2013-11-21 Spydrsafe Mobile Security, Inc. Systems and methods for providing and managing distributed enclaves
WO2013173626A2 (en) * 2012-05-18 2013-11-21 Clipfile Corporation Using content
WO2013173940A1 (en) 2012-05-22 2013-11-28 Beijing Baina Info - Tech,Co., Ltd A method and system for providing application data
US9582146B2 (en) 2012-05-29 2017-02-28 Nokia Technologies Oy Causing display of search results
US8849567B2 (en) * 2012-05-31 2014-09-30 Google Inc. Geographic data update based on user input
US9075974B2 (en) 2012-07-25 2015-07-07 Google Inc. Securing information using entity detection
US10091552B2 (en) * 2012-09-19 2018-10-02 Rovi Guides, Inc. Methods and systems for selecting optimized viewing portions
US9165406B1 (en) 2012-09-21 2015-10-20 A9.Com, Inc. Providing overlays based on text in a live camera view
US9274839B2 (en) * 2012-09-27 2016-03-01 Intel Corporation Techniques for dynamic physical memory partitioning
US9726510B2 (en) * 2012-10-25 2017-08-08 Intel Corporation Route optimization including points of interest
US9407824B2 (en) 2012-11-01 2016-08-02 Google Inc. Multi-directional content capture on mobile devices
US8990194B2 (en) * 2012-11-02 2015-03-24 Google Inc. Adjusting content delivery based on user submissions of photographs
EP2728481A1 (de) 2012-11-04 2014-05-07 Rightware Oy Bewertung der Seitenlastleistung eines Webbrowsers
US20140146200A1 (en) 2012-11-28 2014-05-29 Research In Motion Limited Entries to an electronic calendar
US9245372B2 (en) 2012-12-04 2016-01-26 Nintendo Co., Ltd. Map systems and methods for displaying panoramic images
WO2014096510A1 (en) * 2012-12-17 2014-06-26 Nokia Corporation Method and apparatus for providing passphrase enabled point of interest
US20150178786A1 (en) 2012-12-25 2015-06-25 Catharina A.J. Claessens Pictollage: Image-Based Contextual Advertising Through Programmatically Composed Collages
US20140188956A1 (en) 2012-12-28 2014-07-03 Microsoft Corporation Personalized real-time recommendation system
US20140188889A1 (en) 2012-12-31 2014-07-03 Motorola Mobility Llc Predictive Selection and Parallel Execution of Applications and Services
US20150169701A1 (en) 2013-01-25 2015-06-18 Google Inc. Providing customized content in knowledge panels
CN105074700A (zh) 2013-03-01 2015-11-18 奎克西公司 产生含有到应用程序的状态链接的搜索结果
US20140279013A1 (en) 2013-03-13 2014-09-18 Ebay Inc. Online and offline ecommerce connections
US9247309B2 (en) 2013-03-14 2016-01-26 Google Inc. Methods, systems, and media for presenting mobile content corresponding to media content
WO2014146265A1 (en) 2013-03-20 2014-09-25 Nokia Corporation Method and apparatus for personalized resource recommendations
US9690831B2 (en) * 2013-04-19 2017-06-27 Palo Alto Research Center Incorporated Computer-implemented system and method for visual search construction, document triage, and coverage tracking
US20140316890A1 (en) 2013-04-23 2014-10-23 Quixey, Inc. Entity Bidding
US9721107B2 (en) 2013-06-08 2017-08-01 Apple Inc. Using biometric verification to grant access to redacted content
KR102136602B1 (ko) 2013-07-10 2020-07-22 삼성전자 주식회사 휴대단말기의 컨텐츠 처리 장치 및 방법
US9329692B2 (en) 2013-09-27 2016-05-03 Microsoft Technology Licensing, Llc Actionable content displayed on a touch screen
US9465800B2 (en) * 2013-10-01 2016-10-11 Trunomi Ltd. Systems and methods for sharing verified identity documents
US9436918B2 (en) 2013-10-07 2016-09-06 Microsoft Technology Licensing, Llc Smart selection of text spans
US9354778B2 (en) 2013-12-06 2016-05-31 Digimarc Corporation Smartphone-based methods and systems
CN103888455B (zh) * 2014-03-13 2018-01-23 北京搜狗科技发展有限公司 图片的智能推荐方法、装置和系统
CN104036002A (zh) * 2014-06-16 2014-09-10 深圳市英威诺科技有限公司 一种智能推荐数据的技术方法
US9824079B1 (en) 2014-07-11 2017-11-21 Google Llc Providing actions for mobile onscreen content
WO2016018039A1 (en) * 2014-07-31 2016-02-04 Samsung Electronics Co., Ltd. Apparatus and method for providing information
US8954836B1 (en) 2014-08-19 2015-02-10 Adlast, Inc. Systems and methods for directing access to products and services
US9965559B2 (en) 2014-08-21 2018-05-08 Google Llc Providing automatic actions for mobile onscreen content
US10044775B2 (en) * 2014-08-29 2018-08-07 Microsoft Technology Licensing, Llc Calculating an entity'S location size via social graph
US9348336B2 (en) * 2014-09-12 2016-05-24 Toyota Jidosha Kabushiki Kaisha Robot assistance for detecting, managing, and mitigating risk
US9606716B2 (en) 2014-10-24 2017-03-28 Google Inc. Drag-and-drop on a mobile device
US20160140671A1 (en) * 2014-11-17 2016-05-19 Jin Hong System and Method for Dynamically Generating A Content Correlated Service Based Mobile Social Network
CN104486350B (zh) * 2014-12-24 2017-11-10 电子科技大学 一种基于用户行为的网络内容加速方法
WO2016113602A1 (en) * 2015-01-12 2016-07-21 Yogesh Chunilal Rathod Real-time presenting on-demand service providers and users or customers and facilitating them
US9703541B2 (en) 2015-04-28 2017-07-11 Google Inc. Entity action suggestion on a mobile device
US10970646B2 (en) 2015-10-01 2021-04-06 Google Llc Action suggestions for user-selected content
US10055390B2 (en) 2015-11-18 2018-08-21 Google Llc Simulated hyperlinks on a mobile device based on user intent and a centered selection of text

Also Published As

Publication number Publication date
JP6655180B2 (ja) 2020-02-26
US20210368313A1 (en) 2021-11-25
KR102077289B1 (ko) 2020-04-07
US10178527B2 (en) 2019-01-08
EP3347835A4 (de) 2019-05-01
US11089457B2 (en) 2021-08-10
US20230379678A1 (en) 2023-11-23
US20200226187A1 (en) 2020-07-16
US11716600B2 (en) 2023-08-01
US20170118576A1 (en) 2017-04-27
RU2696225C1 (ru) 2019-07-31
KR20180070683A (ko) 2018-06-26
GB2558472A (en) 2018-07-11
EP3347835B1 (de) 2021-12-08
CN108463817B (zh) 2022-04-08
JP2018534690A (ja) 2018-11-22
WO2017070079A1 (en) 2017-04-27
GB201806100D0 (en) 2018-05-30
CN108463817A (zh) 2018-08-28
CN114780737A (zh) 2022-07-22
EP3347835A1 (de) 2018-07-18

Similar Documents

Publication Publication Date Title
DE112016004859T5 (de) Personalisiertes Entitäten-Repository
EP3819792A2 (de) Methode, apparat, gerät und lagermittel zur absicht empfehlung
US10140384B2 (en) Dynamically modifying elements of user interface based on knowledge graph
DE112015003826T5 (de) Bereitstellen von automatischen Aktionen für mobile Bildschirminhalte
DE102017125001A1 (de) Streaming-Dialogmanagement in Echtzeit
DE112016005286T5 (de) Simulierte Hyperlinks auf einer Mobilvorrichtung
DE102012218966B4 (de) Verfahren und System zum Kennzeichnen von durch Dinge im Internet der Dinge erzeugten Originaldaten
DE102018130631A1 (de) Hierarchische Spracherkennungsauflösung
US20150262069A1 (en) Automatic topic and interest based content recommendation system for mobile devices
Ding et al. IoT‐SVKSearch: a real‐time multimodal search engine mechanism for the internet of things
DE112016002366T5 (de) Vorhersagen von benutzerbedürfnissen für einen hintergrund mit bestimmtem kontext
JP2022519208A (ja) ソーシャル・データ・ストリーム上におけるリアルタイム・イベント検出
CN107786355A (zh) 一种智慧城市信息共享的方法和装置
DE112018002955T5 (de) Kognitive datei- und objektverwaltung für verteilte speicherumgebungen
CN102214227B (zh) 基于互联网层次结构存储的自动舆情监控方法
DE202014010939U1 (de) Systeme für das Assoziieren von Microposts mit geografischen Standorten
DE112016002940T5 (de) Standortbezogene Lieferung von strukturiertem Inhalt
DE202017100386U1 (de) Latenzreduzierung bei der feedbackbasierten Ermittlung einer Systemperformance
CN113609374A (zh) 基于内容推送的数据处理方法、装置、设备及存储介质
DE112021003943T5 (de) Sprachantwortsysteme auf Grundlage eines personalisierten Wortschatzes und einer Benutzerprofilerstellung - Personalisierte linguistische KI-Engines
DE112016005358T5 (de) Informations-Ranking basierend auf Eigenschaften einer Berechnungsvorrichtung
Cambazoglu et al. Quantifying performance and quality gains in distributed web search engines
CN106844538A (zh) 一种应用于物联网搜索的多属性排序方法与装置
CN109739885A (zh) 基于本地缓存的数据查询方法、装置、设备及存储介质
DE112015005293T5 (de) Präsentation von Informationskarten für Ereignisse, die mit Entitäten verbunden sind

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: G06F0017300000

Ipc: G06F0016000000

R082 Change of representative

Representative=s name: VENNER SHIPLEY GERMANY LLP, DE

Representative=s name: VENNER SHIPLEY LLP, DE

R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: G06F0016000000

Ipc: G06F0016953500