CN106104510A - 确定用户设备的活跃角色 - Google Patents

确定用户设备的活跃角色 Download PDF

Info

Publication number
CN106104510A
CN106104510A CN201480076392.8A CN201480076392A CN106104510A CN 106104510 A CN106104510 A CN 106104510A CN 201480076392 A CN201480076392 A CN 201480076392A CN 106104510 A CN106104510 A CN 106104510A
Authority
CN
China
Prior art keywords
user equipment
user
equipment
active
item
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
CN201480076392.8A
Other languages
English (en)
Inventor
埃里克·J·格洛弗
萨米尔·帕蒂尔
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.)
Samsung Electronics Co Ltd
Original Assignee
Quixey Inc
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 Quixey Inc filed Critical Quixey Inc
Publication of CN106104510A publication Critical patent/CN106104510A/zh
Pending legal-status Critical Current

Links

Classifications

    • 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
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/04817Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance using icons
    • 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/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2477Temporal data queries
    • 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/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases
    • G06F16/285Clustering or classification
    • 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/31Indexing; Data structures therefor; Storage structures
    • G06F16/316Indexing structures
    • G06F16/319Inverted lists
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/0482Interaction with lists of selectable items, e.g. menus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04842Selection of displayed objects or displayed text elements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0241Advertisements
    • G06Q30/0251Targeted advertisements

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Human Computer Interaction (AREA)
  • Software Systems (AREA)
  • Computational Linguistics (AREA)
  • Fuzzy Systems (AREA)
  • Business, Economics & Management (AREA)
  • Mathematical Physics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Accounting & Taxation (AREA)
  • Strategic Management (AREA)
  • Finance (AREA)
  • Development Economics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • General Business, Economics & Management (AREA)
  • Marketing (AREA)
  • Economics (AREA)
  • Game Theory and Decision Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

一种方法(500)用于确定用户设备(300)的活跃角色(100),所述方法包括确定用户设备的第一用户设备状态(420a、420b)。所述活跃角色指示用户设备的用户的已预测的目标。第一状态定义用户设备上所正在执行的行动和与用户设备对应的一组观测。所述方法包括向模型(400)输入第一用户设备状态并且基于模型的输出确定用户设备的活跃角色。所述模型用于接收用户设备状态(420a、420b)和与一个或多个簇(238、410)关联的输出概率值,每个簇指示与用户设备对应的一个或多个兴趣项。所述方法进一步包括使用用户设备的活跃角色执行流程。

Description

确定用户设备的活跃角色
技术领域
本公开文本涉及确定用户设备的活跃角色的方法和装置。
背景技术
用户设备,例如智能手机、平板计算机、蜂窝电话以及便携式数码助理,在消费者的日常生活中已变得广泛而且必不可少。而且,用户通过将应用下载到他们的设备或者经由网络浏览器访问应用的方式来个性化他们的用户设备。每个用户设备能够具有多个用户,而每个用户能够由于许多不同的原因使用该设备。例如,用户能够将用户设备用于玩游戏、看电影、听音乐、查看金融信息、编辑文档以及与朋友发消息。
发明内容
本发明的一方面提供了一种确定用户设备的活跃角色的方法。活跃角色指示用户设备的用户的已预测的目标。该方法包括确定用户设备的第一用户设备状态。第一状态定义用户设备上所正在执行的行动和与用户设备对应的一组观测。该方法还包括将第一用户设备状态包括在模型中并且基于模型的输出确定用户设备的活跃角色。模型用于接收用户设备状态和与一个或多个簇关联的输出概率值,每个簇指示与用户设备对应的一个或多个兴趣项。该方法进一步包括使用用户设备的活跃角色执行流程。该方法能够通过处理设备来执行。
本公开文本的实施方式能够包括一个或多个下面的可选特征。在一些实施方式中,该方法包括捕获用户设备的第二用户设备状态并且基于第一用户设备状态和第二用户设备状态更新模型。第二用户设备状态在第一用户设备状态之后,并且定义用户设备上执行的随后的行动以及一个或多个随后的观测。在一些示例中,模型是隐马尔可夫模型。
第一用户设备状态能够基于用户设备的活跃过程。在一些实施方式中,活跃过程是用户设备所正在执行的活跃的应用以及用户设备所正在播放的媒体内容,或用户设备所正在提供的活跃的搜索查询中的一个。确定第一用户设备状态能够包括使用倒序索引来确定活跃过程所对应的活跃簇。簇指示与用户设备对应的活跃的兴趣项。
在一些示例中,该方法进一步包括确定用户设备的多个兴趣项、向角色服务器提供多个兴趣项以及接收。
确定第一用户设备状态能够包括获得用户设备的一个或多个外围设备的输出值。使用活跃角色执行流程能够包括向搜索引擎提供活跃角色作为搜索查询的一部分、向与用户设备通信的应用服务器提供活跃角色或基于活跃角色安排用户设备的主屏幕。
活跃角色能够是模型输出的指示多个概率的向量。向量的每个要素能够指示用户设备会从当前兴趣项转变到与概率值关联的包含第二兴趣项的簇的概率,其中的概率值提供从第一状态向第二状态转变的概率。在这些实施方式中,向量的每个要素对应不同的状态。获得活跃角色包括从模型获得指示多个概率的向量,并且基于一个或多个规则将向量映射到类别。
本公开文本的另一个方面提供了确定其活跃角色的用户设备。用户设备包括存储设备,存储设备包括一个或多个计算机可读介质,其中存储着接收用户设备状态和与一个或多个簇关联的输出概率值的模型。每个簇指示与用户设备对应的一个或多个兴趣项。当通过处理设备执行时,计算机可读指令使得用户设备确定用户设备的第一用户设备状态、将第一用户设备状态供给模型、基于模型的输出获得用户设备的活跃角色,以及使用活跃角色执行流程。第一用户设备状态定义用户设备当前所正在执行的行动和与用户设备对应的一组观测。活跃角色指示用户设备的用户已预测的目标。该方面可包括一个或多个以下可选特征。
根据本公开文本的一些实施例,计算机可读指令进一步使得处理设备在确定用户设备的活跃角色之后捕获第二用户设备状态,并且基于第一用户设备状态和第二用户设备状态更新模型。第二用户设备状态在第一用户设备状态之后,并且定义用户设备上执行的随后的行动以及一个或多个随后的观测。在一些示例中,模型是隐马尔可夫模型。
根据一些实施方式,用户设备所正在执行的行动基于用户设备的活跃过程。活跃过程是用户设备所正在执行的活跃的应用、用户设备所正在播放的媒体内容,或用户设备所正在提供的活跃的搜索查询中的一个。
在一些实施方式中,确定第一用户设备状态包括使用倒序索引确定活跃过程所对应的活跃簇。活跃簇指示与用户设备对应的活跃的兴趣项。在一些实施方式中,计算机可读指令进一步使得处理设备确定用户设备的多个兴趣项、向角色服务器提供多个兴趣项,以及
确定第一用户设备状态可包括获得用户设备的一个或多个外围设备的输出值。使用活跃角色执行流程可包括向搜索引擎提供活跃角色作为搜索查询的一部分、向与用户设备通信的应用服务器提供活跃角色、或基于活跃角色安排用户设备的主屏幕。
活跃角色可以是模型输出的指示多个概率的向量。向量的每个要素能够指示用户设备会从当前兴趣项转变到与概率值关联的包含第二兴趣项的簇的概率。在这些实施方式中,向量的每个要素对应不同的状态。获得活跃角色可包括从模型获得指示多个概率的向量,并且基于一个或多个规则将向量映射到类别。
在下面的附图和描述中阐述本发明的一个或多个实施方式的细节。其他方面、特征以及优点将通过具体实施方式、附图和权利要求变得更加清楚。
附图说明
图1是表示用于确定和使用用户设备的活跃角色的设备的示例性系统的示意图。
图2是表示角色服务器的示例性组件的示意图。
图3是表示用户设备的示例性组件的示意图。
图4是表示隐马尔可夫模型(Hidden Markov Model)的示例的示意图。
图5是表示用于确定用户设备的活跃角色的方法的一组示例性操作的流程图。
各图中的相同的附图标记表示相同的元件。
具体实施方式
图1-图3表示用于预测用户设备300的活跃角色100的示例性系统10及其组件。系统10能够包括与网络110通信的角色服务器200(图2)和一个或多个用户设备300(图3)。在一些实施方式中,角色服务器200用于提供允许用户设备300确定它的活跃角色100的数据。当用户正在使用设备300时,用户设备300的活跃角色100能够指示设备300的用户的目的。用户设备300能够有一个或多个用户,而每个用户在使用设备300时能够有一个或多个目的。例如,有妈妈、爸爸和孩子的一个家庭都使用同一个平板计算机300a。父亲将平板计算机300a用于在早上阅读新闻(例如“新闻目的”)、在傍晚观看体育节目(例如“体育迷目的”)、在夜晚玩暴力视频游戏(例如“成人视频游戏目的”)。妈妈将平板计算机300a用于在早上安排工作(例如“计划目的”)以及在傍晚查看股市(例如“金融目的”)。最后,孩子将平板计算机300a用于在下午观看儿童适当的电影(例如“儿童电影观看目的”)以及在傍晚玩有教育意义的游戏(例如“教育游戏目的”)。以上所提供的明确目的仅供作示例。而且,上述示例趋向于而未必总依附于用户。用户设备300利用用户设备300的用户设备状态和数据来预测用户设备300的活跃角色100。用户设备状态能够包括用户设备300上当前所正在执行的行动(例如用户设备300上当前所正在使用的活跃应用、用户设备300所正在播放的活跃媒体内容326或用户设备300所正在提供的活跃搜索查询324)以及与用户设备300对应的一系列观测(例如用户设备300的位置、用户设备300的速度、一周中的周几、一天中的时间)。用户设备300能够使用活跃角色来执行流程,例如使活跃角色100与服务供应商通信或基于活跃角色100重排用户主屏幕。
通过了解(或大体了解)设备300的活跃角色100,服务供应商,例如搜索引擎120、应用服务器/供应商130以及广告商,能够向用户提供更相关的内容。搜索引擎120能够利用用户的活跃角色100来提高搜索结果的相关性。例如,如果用户设备300提供“安排”的搜索查询324,搜索引擎120如果知道用户设备300的活跃角色100,就能够向用户设备300提供更好的结果。尤其当输入项目“安排”时,搜索引擎120无法破译用户的意思。通过对于用户的活跃角色100进行预测,当用户输入项目“计划”时,搜索引擎120能够更好地理解他或她的意图。从上面示例得出,当活跃角色100与体育迷的角色对应时,搜索引擎120能够返回提供主要体育联盟(例如NFL、MLB、NHL和NBA)的安排的应用列表。相似地,当设备300的活跃角色100与“计划者”的角色对应时,搜索引擎120能够返回定向至安排任务和约会的应用列表。设备300的活跃角色100也能够有助于服务商确定发送到设备300的广告。例如,如果活跃角色100是“暴力视频游戏角色”,视频流服务能够为新的第一人称射击游戏嵌入广告。相似地,如果活跃角色100是“儿童游戏角色”,应用服务器130能够发送针对新的卖座卡通电影的广告。上述示例并非意在限制设备300的活跃角色100的使用。
在一些实施方式中,角色服务器200和用户设备300相配合工作来确定设备300的活跃角色100。角色服务器200能够识别簇(cluster)238,其中簇238用于识别设备300的潜在活跃角色100。簇238能够指具有一个或多个相似属性的数据记录组。在一些实施方式中,每个簇238包含同一类型的数据记录。数据记录的示例能够包括,但不限于应用数据记录、查询数据记录以及媒体数据记录。
在一些实施方式中,角色服务器200识别相似的应用322、搜索查询324或媒体内容326的簇238。簇238是基于所聚类的数据记录的属性聚类而成。例如,角色服务器200能够根据应用发布者、应用类型、应用子类型、应用排名以及应用的流行程度,将应用记录进行聚类。相似地,角色服务器200能够根据实际的查询、查询的位置以及响应于查询结果所采取的行动,将应用数据进行聚类。
当角色服务器200识别簇238时,角色服务器200也能够向识别出的簇238分配簇标识(“簇ID”)。每个簇ID与单个簇238对应,并且每个簇238只有一个簇ID。当将更多数据记录添加到簇238时,簇238的组成会发生改变,但是簇238的簇ID应当保持不变。
在一些实施方式中,角色服务器200进一步用于与簇238对应的索引240。在一些实施方式中,索引240是将数据记录与数据记录所属的簇238的簇ID相关联的倒序索引。在一些实施方式中,特定项的倒序索引表现为如下形式:<ITEM_ID->[cluster_ID1,cluster_ID2,..cluster_ID_n],其中存在n个与特定项相关联的簇。例如,如果某个应用(例如路威游戏发布的应用“愤怒的小鸟”,)属于两个不同的簇238(“由路威发布”和“流行游戏”),这两个不同的簇238能够被索引为某些应用的数据记录。在一些实施方式中,倒序索引中的每个簇能够具有与之关联的权重。例如,特定项的示例性倒序索引表现为如下形式:<ITEM_ID->[(cluster_ID1,weight1),(cluster_ID2,weight2),…(cluster_ID_n,weight_n)],其中存在n个与该项关联的簇。每个权重能够是指示簇对于指定项的相对重要性的值(例如相对于所有其他可能的项聚类元组)。
在一些实施方法中,角色服务器200向用户设备300提供一些或所有的索引240。在一些这样的实施方式中,角色服务器200基于每个用户设备300的兴趣项选择向用户设备300提供的索引240。兴趣项的示例能够包括用户设备300的应用、用户设备300的查询/日志以及用户设备300上所播放的媒体内容326的历史。用户设备300向角色服务器200提供兴趣项列表(或指示兴趣项的数据),而角色服务器200发送与兴趣项相关的索引240。
用户设备300能够利用索引240、用户设备300的用户设备状态以及一个或多个机器学习模型400来预测用户的活跃角色100。在一些实施方式中,每个用户设备300监控自身并创建/更新模型400,该模型400基于用户设备所正在执行的行动以及在指定时间用户设备300的观测,对设备300的活跃角色100进行预测。在一些实施方式中,机器学习模型400是隐马尔可夫模型(“HMM”)。其他类型的机器学习模型400也能够被实施。例如,用户设备300能够创建/更新贝叶斯(Bayesian)模型来预测每个状态的概率。
机器学习模型400接收作为输入的用户设备状态(例如用户设备300所正在进行的行动、当前时间、一周中的周几、加速度计读数、当前活跃的应用以及用户设备300最近发出的搜索查询324),并且输出一个或多个已预测的簇238。在一些实施方式中,每个已预测的簇238包括表示用户设备300处于已预测的簇238中的可能性的得分(例如概率)。因此,在一些实施方式中,活跃角色100能够表示为概率的向量。例如,活跃角色能够定义为以下向量,AP(Cj)=[S0C0,S1C1,S2C2,...,SnCn],其中AP是活跃角色100,Si是用户设备会从第j个簇Cj的兴趣项向第i个簇Cj中包含的兴趣项转变的概率。此外或可选地,活动用户100能够表示为概率的向量映射或匹配的类别。
当用户设备300确定活跃角色100时,用户设备300能够使得活跃角色100与角色服务器200或另一个服务器(例如搜索引擎120或者应用服务器130)进行通信。而且,用户设备300能够基于已预测的活跃角色100采取行动。例如,如果用户设备300预测活跃角色100可能是游戏相关的(例如,最可能的转变是到游戏对应的簇),用户设备300能够重新配置用户设备300的主屏幕以便显示游戏应用的图标和小工具。相似地,如果用户设备300预测活跃角色100可能是商务相关的,用户设备300能够重新配置主屏幕以便显示与商务对应的应用的图标和小工具。
在角色服务器200用于确定活跃角色100的期间,用户设备300能够用于确定活跃角色100,以便用户设备300维护模型400。这样,诸如位置和习惯的用户的信息不需要从用户设备300中输出,因此维护了用户的隐私。而且,当向远端设备(例如第三方服务器)发送用户的活跃角色100时,用户设备300能够在发送活跃角色100之前隐藏用户和/或者用户设备300的身份。
图2表示角色服务器200的示例。在一些实施方式中,角色服务器200是一个或多个计算机设备的系统。角色服务器200能够进一步整合为更大的计算机系统,例如搜索引擎120、应用服务器130或广告服务器。在示例性实施方式中,角色服务器200包括处理设备210、网络接口设备220以及存储设备230。处理设备210能够执行作为计算机可读取指令实施的聚类模块212、索引器214以及索引选择器216。
处理设备210包括与存储计算机可读指令的存储设备(例如RAM和/或ROM)进行通信、执行计算机可读指令(例如可执行计算机代码)的一个或多个物理处理器。在处理设备210包括两个或多个处理器的实施方式中,两个或多个处理器能够以单独的或分布的方式进行操作。在一些实施方式中,一些被执行的组件在不同的物理设备或位置被实施。例如,聚类模块212能够在第一个位置/设备执行,而索引器214和索引选择器216能够在第二位置/设备执行。
网络接口设备220包括能够执行有线或者无线(例如Wi-Fi或者蜂窝)通信的一个或多个设备。网络接口设备220的示例包括,但不限于用于使用IEEE802.11无线标准执行通信的无线电收发机、Ethernet(以太)网端口、无线发射机以及通用串行总线(USB)端口。
存储设备230能够包括一个或多个计算机可读存储介质(例如硬盘驱动器和/或闪速存储器驱动)。存储介质能够位于同一物理地址或设备或者位于不同的物理地址或设备。存储设备230能够存储应用记录232、查询记录236、媒体内容记录234、簇238以及索引240。
应用数据记录232与已知的(例如之前已发现)应用对应。应用能够参考使得计算设备执行任务的计算机可读指令。在一些示例中,应用能够称为“app.”。示例性应用包括,但不限于文字处理应用、电子表格应用、消息应用、媒体流应用、社交网络应用以及游戏。
每个应用数据记录232能够包括定义应用属性的应用的元数据。应用属性的示例能够包括,但不限于应用的名称、应用所编程为的操作系统、应用的下载次数、应用的流行程度、应用的类型、应用的子类型、应用的排名、应用的发布者、应用的预期使用量以及应用的卸载次数。
查询数据记录236与之前所接收的搜索查询324对应。搜索查询324能够通过与角色服务器200相关联的搜索引擎120或从第三方资源被接收。每个查询数据记录236能够包括定义搜索查询324的属性的查询元数据。搜索查询324的属性的示例包括,但不限于查询本身、提供该查询的用户设备300的地理位置以及响应于该查询所采取的行动(例如用户选择了什么)。
媒体内容记录234与已知媒体内容(例如电影、歌曲、相册、电视节目)对应。每个媒体内容记录234能够包括定义媒体内容的属性的媒体元数据。媒体内容的属性的示例能够包括、但不限于媒体内容的名称、媒体内容的类型、媒体内容的流派、媒体内容的格式、媒体内容的作者、媒体内容的发布者、媒体内容的流行程度、媒体内容的排名以及媒体内容的长度。
聚类模块212对数据记录进行聚类。聚类模块212接收作为输入的一组待聚类的数据记录,并进一步接收聚类这些数据记录所通过的一个或多个属性的列表。聚类模块212的输出是一个或多个簇238。所输出的簇238能够识别簇238的成员(例如数据记录)。聚类模块212能够执行任意聚类算法,例如k最近邻(k-nearest neighbors)、k均值聚类(k-meanclustering)、双聚类(bi-clustering)或者基于文本聚类(text-based cluster)。聚类模块212能够对每组应用记录232、查询记录236以及媒体记录234进行单独地聚类。也就是说,聚类模块212将应用记录232与其他的应用记录232进行聚类,将查询记录236与其他的查询记录236进行聚类,以及将媒体记录234与其他的媒体记录234进行聚类。聚类模块212所使用的将数据记录进行聚类的属性能够通过人进行手动选择或者能够使用例如主成分分析(PCA)的统计过程进行学习。
聚类模块212能够以任意适当的方式将数据记录聚类。在一些实施方式中,聚类模块212能够首先将数据记录聚类成一般的“分类簇”。在该类型的聚类期间,聚类模块212能够基于所有可用的信息产生一些高级的簇238。聚类模块212所通过的将数据记录进行聚类的信息能够包括数据记录232、236和238中所包含的元数据(例如从第三方资源收集到的或手动添加到记录中的属性)。在一些实施方式中,该类型的聚类能够以指导的方式完成,其中用户手动选择将数据记录聚类所通过的属性或代表性的数据记录。而且,聚类模块212能够将每个簇238聚类成为子簇238。当聚类模块212完成一般的簇238的聚类时,聚类模块212能够继续对每一个簇238进行聚类,从而根据期望识别尽可能多级的聚类。而且,簇238不需要制造“人类感觉”。换言之,在子簇238中的数据记录之间的关系不需要对人类观测者容易理解。
在一些实施方式中,聚类模块212能够通过利用用户的活动来识别可能的簇238。例如,聚类模块212能够针对指定的地理区域集中兴趣项。这样的聚类能够按级进行,其中聚类模块212基于国家开始聚类,然后基于州/省,然后市区,然后是特定的邮政编码(如果有用)。除了地理区域,聚类模块212能够基于一般的协同过滤器识别对于一组用户熟悉的数据记录的簇238。在这些情况下,能够使用匿名数据(例如不属于某一特定用户的数据)来识别簇238。
在一些实施方式中,聚类模块212能够识别特定应用簇238。在这些实施方式中,聚类模块212能够用常见的发布者、开发者或特许经营权对应用数据记录232进行分组(例如系列的所有应用)。而且,聚类模块212能够将与常见的特许经营权相关的应用数据记录232进行分组(例如包括具有的作弊码或者壁纸主题的应用)。
在一些实施方式中,上述的簇238能够基于其他属性进一步细分。能够根据,例如当前流行程度、长期流行程度或价格将簇238进行划分。聚类模块212能够产生许多组重叠的簇238。例如,与“路威应用”有关的簇238和与 特许经营相关的簇238有大量的重叠。
类模块212进一步向每个新的已识别簇238提供簇ID。聚类模块212能够用于确定簇238是新形成的还是只是利用新数据记录更新的。如果簇238是新形成的,聚类模块212生成新的簇ID。簇ID能够是任意唯一标识符,例如字母数字并用的字符串。如果簇238是已存在并且只是被更新的,聚类模块212不生成新的簇ID。簇ID能够具有或不具有与其关联的特征。例如,“发布者=路威”特征或“流行游戏”特征能够与簇ID相关联。而且,聚类模块212能够向每个簇238指定版本。这样,当更新簇238时,聚类模块212能够增加簇238的版本数字。如果簇238随时间变化(例如当前流行的游戏),版本能够用于区分从现在已过时的簇238中所产生的角色。此外或可选地,聚类模块212能够以很高的重叠度(例如多于80%或85%的重叠度)将簇238进行融合,从而减小索引大小。
索引器214基于已识别的簇238生成索引240。在一些实施方式中,索引240是倒序索引。对每个数据记录,索引器214识别数据记录所属的簇238,并且基于所识别的簇238的簇ID以及数据记录的识别符(例如记录ID)生成索引条目242。例如,如果数据记录“XYZ”是“cluster_A”和“cluster_B”的成员,数据记录XYZ的倒序索引条目242是“XYZ:{cluster_A,cluster_B}”。
在一些实施方式中,索引选择器216确定向设备300所发送的索引条目242。索引选择器216能够以任意合适的方式选择要发送的索引条目242。在一些实施方式中,索引选择器216能够从用户设备300接收用户设备300的兴趣项的指示。兴趣项能够包括设备所执行/访问的应用322列表(指“应用列表”)、用户设备300所提供的搜索查询324列表(指“搜索查询列表”)和/或用户设备300所播放的媒体内容326列表(指“媒体内容326的列表”)。索引选择器216能够检索与每个兴趣项对应的索引条目242。而且,在一些实施方式中,索引选择器216能够基于许多因素挑选索引条目242,从而减少索引240中被发送到用户设备300的索引条目242的数量。例如,索引选择器216保留包含与至少最少数量的用户设备300相匹配的簇238的索引条目242。例如,如果特定的应用、搜索查询或媒体内容极为稀有,那么索引选择器216不会将与稀有应用、搜索查询或媒体内容相关的索引条目242包括在索引选择器216发送到用户设备300的索引240中。
在一些实施方式中,索引选择器216接收来自设备300的值,其中的值指示两个或多个应用322、两个或多个搜索查询324和/或两个或更多个媒体内容326。在这些实施方式中,处于发送状态的设备300的实际内容(即设备300上实际安装的应用或设备300最近发送的搜索查询324)对于角色服务器200是隐藏的。处于发送状态的设备300能够使用,例如哈希列表或比特掩码,来确定所使用的值。在这种情况下,服务器200能够保留倒序查找表,该查找表确定与所接收值对应的可能的应用322、搜索查询324和/或媒体内容326。然后服务器200能够检索可能的应用322、搜索查询324和/或媒体内容326的索引条目242。在一些实施方式中,索引选择器216能够挑选发送到用户设备300的索引条目242。
图3表示用于预测活跃角色100的用户设备300的示例。示例性用户设备300包括处理设备310和与其通信的存储设备320、网络接口330、用户界面340以及一个或多个外围设备350。用户设备300在不背离本发明的范围的情况下能够包括未示出的其他组件。
处理设备310能够包括执行计算机可执行的指令的一个或多个处理器以及存储计算机可执行的指令的相关联存储器(例如,RAM和/或ROM)。在处理设备310不只包括一个处理器的实施方式中,处理器能够以分布的或单独的方式执行。处理设备310能够执行作为计算机可读取的指令实施的索引请求器312、模型生成器314、行为监控器316以及角色预测器318。
存储设备320能够包括一个或多个计算机可读取介质(例如硬盘驱动器或闪速存储驱动器)。存储设备320能够与处理设备310通信,以便处理设备310能够从中检索所需数据。存储设备320存储用户设备300从角色服务器200接收的索引240和一个或多个模型400。存储设备320能够进一步存储应用322、之前的搜索查询324以及媒体内容326。
网络接口330包括用于与网络110通信的一个或多个设备。网络接口330能够包括执行有线或无线通信的一个或多个无线电收发机。网络接口330的示例能够包括,但不限于用于使用IEEE 802.11无线标准执行通信的无线电收发机、以太网端口、无线发射器以及通用串行总线(USB)端口。
用户界面340包括从用户接收输入和/或向用户提供输出的一个或多个设备。用户界面340能够包括,但不限于触摸屏、显示器、QWERTY键盘、数字键盘、触控板、话筒和/或扬声器。
外围设备350是用户设备300中所包含的用于执行特定功能的硬件组件。用户设备300能够具有任意数量的外围设备350,包括加速度计、陀螺仪、全球定位系统(GPS)模块、相机、摄像机和/或温度计。
索引请求器312请求来自角色服务器200的索引240。在某些实施方式中,索引请求器312针对兴趣项扫描用户设备300。兴趣项能够包括用户设备300上已安装的应用332(本地app)或已访问的应用332(网络app)、设备300发送到搜索引擎120的搜索查询324以及存储在用户设备300处或用户设备300立即可访问的媒体内容。在一些实施方式中,索引请求器312使得每个兴趣项部分隐藏,从而保护用户或用户设备300的用户的隐私。例如,索引请求器312能够将有损哈希函数应用到兴趣项的指示。此外或可选地,索引请求器312能够将比特掩码应用到指示的一个比特或多个比特。索引请求器312将兴趣项的指示发送到角色服务器200。在一些实施方式中,索引请求器312能够将一个或多个时间戳包括在每个指示中。例如,对于兴趣项,时间戳能够指示兴趣项加载到设备300上的时间(例如,安装应用322或下载媒体内容326的时间)、兴趣项起源于设备300的时间(例如,从设备300发送搜索查询324的时间)和/或最后使用兴趣项的时间(例如,启动应用322的最后时间、播放媒体内容326的最后时间、或者将搜索查询324发送到搜索引擎120的最后时间)。作为响应,角色服务器200返回与兴趣项对应的索引240。换言之,角色服务器200能够返回包含以用户设备300的兴趣项作为键码的索引项目242的索引240。索引请求器312能够接收索引240并且在存储设备320上存储所接收的索引240。
模型生成器314生成并且更新用于预测设备300的活跃角色100的一个或多个机器学习模型400。在一些实施方式中,机器学习模型400是隐马尔可夫模型(HMM)或贝叶斯模型。模型生成器314最初基于用户设备300的可能用户设备状态来创建模型400,并且当一个或多个用户使用用户设备300时更新模型400。用户设备状态能够与用户的行为涉及的各种簇238对应。例如,用户设备300启动的应用322、用户设备300播放的媒体内容326以及用户设备300输出的搜索查询324能够涉及索引240中所识别的簇238的各种簇ID。所涉及的簇238能够指示用户设备300的活跃角色100。
模型400基于设备300的当前用户设备状态,预测从用户设备300的用户设备状态所涉及的当前簇的转变。模型400能够考虑到当前的观测以及用户设备300过去是如何被使用的(即模型400的学习要素)。例如,如果用户设备300的用户常常在工作日上午打开邮件应用,然后之后立即打开报纸应用,则模型400学习这一行为。这样,当模型400接收到指示此时是工作日上午并且用户已经打开邮件应用的一组观测时,模型400能够预测用户设备300之后不久可能启动报纸应用322(或相同簇238中的作为报纸应用的另一个应用),或者至少相比游戏应用322,用户更可能启动报纸应用322。模型400能够输出与用户设备300可能转变到的(包括当前簇)不同簇对应的一个或多个概率值。在一些实施方式中,模型400的输出由向量构成,其中向量的每个要素代表不同的簇,而每个要素的值是用户设备300会转变到该簇的概率。
图4表示机器学习模型400的示例。在所示示例中,机器学习模型400是HMM。模型400能够包括n个状态410,S={1,…,n}(例如簇)和m个观测组420,O=[o1,…,ot_max](例如用户设备状态)。在所示示例中,存在三个簇410a,420b、430c和用户设备状态420a、420b。在所示示例中,不同簇410之间的箭头440代表状态转变概率,而簇410与观测420之间的线450代表输出概率。状态转变概率指示用户设备300从当前簇410变到下一个簇410的可能性。输出概率代表指定用户设备状态420与指定的簇410对应的可能性。当前簇410能够参考用户设备300的当前簇(例如用户设备300当前正在执行/播放的应用或媒体内容的簇)。用户设备状态420能够包括任意数量的特征,包括用户设备300启动的最后一个应用、加速度仪的状态、用户设备300的位置、当前天气状况、设备300的电量状态、用户设备一小时前的状况、用户设备30分钟前的状况或其他适当的观测。模型400预测可能的下一个簇410或者预测已指定当前用户设备状态420的用户设备300在指定时间的簇410。例如,当t=0时,电话的屏幕处于关闭(off),之前预测的簇410是“暴力视频游戏”,并且现在是周六9AM。模型400已经学习过在周六上午,角色100可能与“观看儿童电影”相关联。电话屏幕一被打开,基于之前的簇410、一天中的时间以及可能的角色100,模型400就会预测下一个簇410可能与“观看儿童电影”相关联。但是,这一次不是孩子而是父亲正在玩暴力游戏,他所做的第一件事情是启动“暴力视频游戏簇”中的具体游戏。在这种情况下,模型400更新当前簇410并且预测下一个簇410与“暴力视频游戏”对应。
模型生成器314将索引条目242中所识别的簇ID用作模型400的状态410,生成机器学习模型400(例如HMM或贝叶斯模型)。特别地,模型生成器314为每一个将被包括在模型400中的簇238创建状态410。在一些实施方式中,模型生成器314能够分析所接收的索引240,从而为用户设备300识别所有可能的簇238的集合,并且为每个所识别的簇238创建状态410。在其他实施方式中,模型生成器314识别所有可能的簇238的集合420,并且选择簇238的子集,以便所选择的簇238总体上包括所有的或大体上所有的用户设备300的兴趣项。在这些实施方式中,模型生成器314能够用于最小化所选簇238之间的交叉兴趣项的数量。最初,模型生成器314没有使用任何数据训练模型400。相应地,初建模型400时,模型生成器314将等概率与从特定簇410向每个其他可能的簇410的每个转变相关联。而且,因为设备300能够同时存在于多个簇410中(例如,针对流行应用的簇238和针对第一人称射击游戏的簇238),所以从特定簇410的所有可能的转变的概率之和能够大于一。在一些实施方式中,模型生成器314合计用户的行为或其他活动数据。在这些实施方式中,不同于所有簇238的等可能性,模型生成器314利用所聚合的用户行为作为模型400的初始概率的种子。
模型生成器314利用与设备300对应的观测和用户命令用户设备300的行动来训练模型400。观测的示例能够包括,但不限于当前的时间、一周中的周几、活跃的应用(即用户当前使用的应用)、活跃的媒体内容、活跃的搜索查询、加速度仪的输出、来自照相机的视频信号、用户设备300当前使用的网络连接的类型,以及设备300的当前位置。用于训练模型400的观测的类型能够基于用户设备300的类型变化。除了一天中的时间、一周中的周几、活跃的应用以外,模型400的设计者(例如开发者)还能够选择训练数据中所包含的观测类型。例如,如果用户设备300是智能手机,用户设备300的外围设备350能够包括照相机、陀螺仪、加速度仪以及全球定位系统(GPS)接收器。在这种情况下,模型生成器314能够用于记录这些外围设备350的输出。陀螺仪、加速度仪和/或GPS设备的输出能够用于推断用户设备300是否处于运输中,如果是,推断运输的类型(例如跑步、步行、驾车)。相似地,照相机的输出能够用于推断设备300的用户的身份(例如妈妈、爸爸或孩子)。
用户命令用户设备300的行动的示例能够包括打开设备300的命令、启动应用322的命令,播放媒体内容326的命令和/或向远端服务器提供搜索查询324的命令。而且缺少来自用户的命令能够被解析为继续执行相同功能或活动的指令。模型生成器314将每个命令视为簇410之间的转变(例如从主屏幕到应用、从应用到另一个应用以及播放来自媒体播放器应用的媒体文件)。每当用户设备300的当前簇410发生转变(例如用户设备300启动新应用或发送搜索查询324)时,模型生成器314利用观测、用户设备300所转变到的簇410和用户设备300从其发生转变的簇410来更新模型400。当模型生成器向HMM400增加新数据(例如所观测的状况和状态转变)时,模型生成器314能够计算从用户设备300的先前的簇410发生的所有或一些潜在状态转变的新概率。
行为监控器316监控用户设备300和用户发布的命令。行为监控器316能够像同后台过程一样执行。行为监控器316能够用于监控网络接口330、用户界面340、外围设备350和/或处理设备310执行的任意应用。行为监控器316能够基于监控保存一组当前的观测。例如,行为监控器316能够监控用户设备300是否正在通过Wi-Fi或蜂窝网络进行通信、用户设备300在近期一段时间内的加速度仪输出、用户设备300最近的GPS坐标、和/或用户设备300的照相机所捕获的图像。
行为监视器316进一步监控设备300当前的簇410。用户设备300的当前状态410能够定义用户设备300当前所正在执行的行动。设备300的当前簇410能够使用与用户设备300当前所涉及的簇238对应的簇ID来代表。在一些情况下,当前动作可能涉及不只一个簇(例如应用属于“暴力游戏”簇和“流行游戏”簇)。行为监控器316能够通过确定活跃的应用322、活跃的媒体内容326或者活跃的搜索查询324,并且参考倒序索引240的对应索引条目242,识别当前簇410。倒序索引240输出簇ID或簇238的ID或活跃的应用322、活跃的媒体内容326或者活跃的搜索查询324所属的簇238。行为监控器316能够向模型生成器314和角色预测器318提供观测组。
角色预测器318基于用户设备300的当前用户设备状态来预测用户设备300的活跃角色100。角色预测器318能够向机器学习模型400输入用户设备300的当前用户设备状态,而模型400输出一组概率。每一个概率与不同的簇238相关联。在示例性实施方式中,模型400能够以<P(CJ->C0),P1(CJ->C1),P1(CJ->C2),...PN(CJ->CN-1))>的形式输出向量AP,向量中存在用户设备300从设备300的当前簇CJ能够转变到的N个可能的簇,其中包括仍然处于当前簇(即CJ->CJ)的情况。在一些实施方式中,将活跃角色100设为等于输出向量。换言之,活跃角色100能够由从当前簇向每个可能的簇转变的概率的组合所代表。在一些情况下,由于用户设备300能够同时存在于多个簇中,概率的总和可以超过一。例如,如果用户正在观看一部流行的新恐怖电影,流行的恐怖电影可涉及与新发行的电影对应的簇238和与恐怖电影对应的簇238。
此外或者可选地,角色预测器318能够将模型400输出的向量与角色类别相匹配。角色类别能够是预定的类别。预定类别的示例能够包括:“生产力型应用”、“电子阅读器应用”、“僵尸射击游戏”、“流行游戏”、“媒体播放器应用”、“购物”、“组织应用”、“播放儿童音乐”、“播放流行的电视节目”以及“搜索电影”。上述的类别列表仅供示例,且能够使用任意类别。角色预测器318能够以任意合适的方式将向量与类别相匹配。在一些实施方式中,角色预测器318能够参考一组规则来使得向量与类别匹配。例如,规则能够规定如果用户设备将转变至第一簇238的兴趣项的概率大于.8,那么输出向量与类别A匹配。而且,在一些实施方式中,类别不需要是“人类能理解的”。用于将向量与类别匹配的规则能够通过机器学习器随时间学习得到或者是硬编码的。
表格1表示模型400(例如HMM)的示例性使用。模型400接收当前用户设备状态(即用户的当前簇和与用户设备300对应的特征)并且基于此确定活跃角色100。
表1
表1续
表1续
表1续
表1续
表1续
在表格1的示例中,用户设备能够在四个或多个簇410(例如类别1=“新闻和天气”、类别2=“游戏模式”、类别3=“娱乐”、类别4=“生产力型应用”)中进行操作。每个簇410能够对应不同组的兴趣项(例如应用、媒体内容和/或查询)。而且,表格1提供关于N或更多个不同时间(t=0,t=1,t=2,t=3…t=N)的信息。模型400接收作为输入的用户设备300的当前簇(例如用户正在使用的当前类别)。模型400进一步接收观测组420(即与用户和/或用户设备300对应的特征)。在表格1的示例中,模型400接收用户设备300的先前的簇(例如,用户设备五分钟以前和三十分钟以前的簇)、设备300的当前位置(例如之前三十分钟所处的位置)、设备300在当前的位置是否正在快速移动(例如加速度仪信号显示速度是否大于阈值速度)、屏幕的状态、加速度仪的状态、以及设备300的状态(例如空闲/使用中)。
在所示示例中,在t=0(例如周一上午在午夜到6:00AM之间)时,设备300处于空闲且未加速。用户是“安静的”并且没有关于设备300的类别的强烈预测。因此,活跃角色100能够用<.1,.1,.1,.1...>代表。在t=1(即周一上午6AM)时,用户是空闲的,但模型400最有可能在类别1(例如“新闻和天气”)中,但也有可能在类别2(例如“游戏”)中。因此,活跃角色100能够用<.8,.15,0,.05...>代表。如果用户常常醒来就查看新闻和/或天气,但有时玩游戏,上述活跃角色100能够通过模型400学习到。在t=0(即周一上午7:00AM)时,用户处于活动并且正在玩游戏。模型400的输出转变为预测用户处于类别2(例如“游戏”)。在该例中,在t=1时的预测是不正确的。模型生成器314能够相应地更新模型400,以便下次用户设备300遇到相同或类似的观测组420时,用户正处于游戏模式下的操作的概率会增加。在t=3(周一上午8:00AM)时,用户设备300处于位置1(例如用户的家)中并处于移动中,但是不是快速移动(即加速度仪开启但是未超出阈值)。在t=3时,模型400输出用户设备可能处于类别2(例如游戏)中的预测。活跃角色100可以是<0,.95,0,0,...>。在t=N(即周五5:00PM),用户设备300处于空闲,但用户正在快速移动。在这种情况下,用户可能正在从工作地点(位置2)驾车回家。在t=5时,用户已经在之前的三小时中使用生产力应用(例如邮件应用)。模型400预测用户可能转换到类别3(例如“娱乐”),不太可能玩游戏或使用生产力应用(每个有10%的概率)。在t=5时,活跃角色100可以是<0,.1,.8,.1...>。表格1的示例不是意在限制本公开文本的范围。类别列表和特征供为示例,而在模型400中能够实施附加的可选类别和特征。
用户设备300的活跃角色100能够用于许多不同功能。在一些实施方式中,当搜索应用被启动或其他方式被激活时,搜索应用能够从角色预测器318请求活跃角色100。角色预测器318向搜索应用提供用户设备300的活跃角色100,反过来搜索应用使活跃角色100包含搜索查询324的元数据。如此,当搜索引擎120使用搜索查询324执行搜索时,活跃角色100能够向搜索查询324提供附加的内容。例如,如果搜索查询324是(“观看狮子”),而活跃角色100表示与儿童教育内容(.05)相比,用户更可能(例如.8的概率)搜索体育相关的内容,搜索引擎120能够返回指示允许用户观看直播体育赛事(例如观看底特律雄狮队打橄榄球)的应用在具有动物相关视频(例如观看狮子的视频)的应用之上的搜索结果。在该情况下,角色预测器318能够随着活跃角色100的改变继续更新用户设备300的活跃角色100。
在另一个示例中,用户能够使用从向用户显示广告中获得收益的免费应用(例如音乐流式应用)。在该示例中,免费应用的应用服务器130能够从角色预测器318请求用户的活跃角色100。角色预测器318能够向应用服务器130提供活跃角色100。响应于活跃角色100,应用服务器130能够基于活跃角色100选择向用户提供的广告。例如,如果活跃角色100显示用户在听音乐之后可能观看流行的电视节目,免费应用就能够显示或流式化新的流行电视节目的广告。可选地,如果活跃角色100指示用户在听音乐之后可能玩暴力视频游戏,那么应用服务器130能够提供针对新的第一人称射击游戏的广告。
还是在另一个示例中,用户设备300的操作系统能够请求用户设备300的活跃角色100。角色预测器318能够向操作系统提供活跃角色100,操作系统能够使用活跃角色100重新配置用户接口340所显示的主屏幕。例如,如果活跃角色100指示用户可能观看电影,操作系统能够重新配置主屏幕从而突出显示媒体播放器应用图标。可选地,如果活跃角色100指示用户可能打开邮件或使用文件查看器,操作系统能够重新配置主屏幕从而突出显示商务相关的应用图标。
活跃角色100能够用于任意数量的功能。如此,活跃角色100的使用能够提升用户设备300的用户体验。而且,在一些实施方式中用户能够手动选择他或她的活跃角色100。在这些实施方式中,用户能够经由用户设备300的图形化用户界面输入他或她的活跃角色。然后用户设备300能够以上面所述的任意方式使用手动输入的活跃角色100。
现在参考图5,表示了用于预测用户设备300的活跃角色100的示例性方法500。参考用户设备300的组件对方法500进行解释。应理解为任何其他适当的组件都能够执行方法500。
在操作510,行为监控器316捕获用户设备300的当前用户设备状态。为了确定用户设备300的当前用户设备状态,行为监控器316确定用户设备300的活跃的过程是捕获当前状态410。也就是说,行为监控器316能够识别活跃的应用322、活跃的媒体内容326或活跃的搜索查询324。然后行为监控器316参考活跃的过程的倒序索引条目242,从而识别活跃的过程所涉及的簇ID或簇238的ID。簇ID代表当前用户设备状态410或者用户设备300的状态410。如所讨论的,角色服务器200能够选择索引条目242从而最小化冲突,但是一个或多个簇238之间仍然可能存在重叠。
除了活跃的过程之外,行为监控器316还捕获用户设备300的当前观测。行为监控器316能够捕获网络接口设备330、用户界面340和/或外围设备350的状态。例如,行为监控器316能够确定用户设备300是否正在通过Wi-Fi网路或蜂窝网络操作、之前一段时间(例如五分钟)内的加速度仪的输出、GPS系统的输出、一天中的时间以及一周中的周几。依靠设备300的能力和其他因素,行为监控器316也能够捕获其他当前观测,包括当前的温度、摄像机的输出以及背景光量。行为监控器316能够保存定义行为监控器316所捕获的观测组的当前观测数据结构。每次行为监控器316捕获新的观测,行为监控器316能够用新的观测更新数据结构。
在操作512,角色预测器318将当前用户设备状态输入到模型400。在操作514,角色预测器318从模型400获得活跃角色100。在一些实施方式中,模型400输出一个或多个概率向量。如前所示,每个概率与不同的簇相关联而且表示用户设备300会转变至簇对应的兴趣项的可能性。在一些实施方式中,活跃角色100或角色100被设定为等于输出矢量或矢量。在其他实施方式中,角色预测器318将向量与活跃角色类别相匹配,从而获得活跃角色100或用户设备300的角色100。
在操作516,角色预测器318使用活跃角色100执行流程。在一些实施方式中,角色预测器318能够向在用户设备300上执行的过程(例如用户设备的操作系统)或者向远端设备(例如应用服务器130或广告服务器)提供活跃角色100。在一些实施方式中,角色预测器318能够向搜索应用提供活跃角色100,反过来搜索应用将活跃角色100包括在提供给搜索引擎120的搜索查询324中。在一些实施方式中,用户设备300的操作系统能够依照活跃角色100重新配置用户设备300的主屏幕。例如,如果活跃角色100指示用户可能玩暴力视频游戏,操作系统能够重新配置主屏幕从而在主屏幕上显示暴力视频游戏的图标。如此,活跃角色100能够用于提高用户设备300的总体体验。
在操作518,行为监控器316捕获用户设备300的新的用户设备状态。行为监控器316能够在角色预测器318预测活跃角色100之后监控用户设备300的用户的行动。在一些实施方式中,行为监控器316等待直至用户设备300改变当前活跃的过程(例如用户转变到不同的应用或媒体内容326),捕获新的用户设备状态。如果用户在超时时限期间(例如五分钟)不改变活动过程,行为监控器316确定用户设备300保持同一用户设备状态。在其他实施方式中,行为监控器316以预定长度的时间间隔(例如每两分钟)捕获用户设备300的新的用户设备状态。在这些实施方式中,如果用户设备300在预定间隔期间不改变活动过程,新的用户设备状态能够与当前用户设备状态相同。行为监控器316除捕获新的活跃过程之外,还能够捕获其他观测。
在操作520中,模型生成器314更新模型400。在一些实施方式中,模型生成器314利用行为监控器316所捕获的当前用户设备状态(在操作510所确定的)和新的用户设备状态(在操作520所确定的)更新模型400的训练数据。如此,模型生成器314定义给定当前用户状态和随后的新的用户设备状态的已知转变。
能够在接收针对活跃角色100的请求或在预定间隔(例如用户设备300处于使用时的每五分钟)接收请求的基础之上,以该方式执行方法500。方法500仅供为示例并且考虑方法500的变形。而且,能够不按顺序或同时执行一些操作。
所述系统和技术的各种实施方式能够在数字电子电路和/或光电路、集成电路、尤其是设计的ASIC(应用专用集成电路)、计算机硬件、固件、软件和/或其中的组合上实现。这些各种实施方式能够将实施方式包括在可编程系统上可执行和/或可解析的一个或多个计算机程序中,其中可编程系统包括至少一个可编程的处理器、存储系统、至少一个输入设备以及至少一个输出设备,可以出于一般或特殊目的将其中的可编程的处理器耦接,以便从存储系统收发数据和指令。
这些计算机程序(也称为程序、软件、软件应用或代码)包括针对可编程处理器的机器指令,并且能够在高级程序化的和/或面向对象的编程语言和/或汇编/机器语言中实施。如文中所用,术语“机器可读介质”和“计算机可读介质”指的是包括接收作为机器可读信号的机器指令的机器可读介质在内的、用于向可编程处理器提供机器指令和/或数据的任意计算机程序产品、非暂时性计算机可读介质、装置和/或设备(例如磁盘、光盘、存储器以及可编程逻辑设备(PLDs))。术语“机器可读信号”指的是任何用于向可编程处理器提供机器指令和/或数据的信号。
本说明书中所述的主题和功能操作能够在数字电路或计算机软件或固件或硬件,包括本说明书中所公开的结构以及它们的结构等同物,或它们中的一个或多个的组合来实施。而且,本说明书所述主题能够作为一个或多个计算机程序产品实施,即计算机可读介质上所编码的一个或多个计算机程序指令模块,其中模块由数据处理装置执行或控制数据处理装置的操作。计算机可读介质能够是机器可读存储设备、机器可读存储基板、存储器设备、影响机器可读的传播信号的事物的组成、或一个或多个它们的组合。术语“数据处理装置”、“计算设备”以及“计算处理器”包含所有处理数据的装置、设备和机器,包括作为示例的可编程处理器、计算机或多个处理器或计算机。装置能够包括除硬件以外的针对关注的计算机程序创建执行环境的代码,例如构成处理器固件、协议堆栈、数据库管理系统、操作系统或它们中的一个或多个的组合的代码。传播的信号是人工生成的信号,例如机器形成的电、光或电磁信号,产生该信号是为了向适当的接收装置传送信息而编码信息。
计算机程序(也称为应用、程序、软件、软件应用、脚本或代码)能够以包括汇编和编译语言的任何编程语言的形式编写,并且能够部署成任意形式,包括作为独立的程序或作为模块、组件、子例程或适用于计算环境的其他单元。计算机程序不必与文件系统中的文件对应。能够将程序存储于保存其他程序或数据的文件的一部分中(例如将一个或多个脚本存储在标识语言文件中),在针对所关注的程序专用的单个文件中,或多个协调文件中(例如存储一个或多个模块、子程序或部分代码的文件)。计算机能够被部署成为在一个计算机上执行,或在位于一个站点的多个计算机上执行,或在分布于多个站点并通过网络通信互联的多个计算机上执行。
本说明书所述过程和逻辑流能够通过一个或多个可编程处理器执行一个或多个计算机程序的方式进行执行,从而通过对所输入的数据进行操作并且生成输出的方式执行功能。过程和逻辑流也能够通过特殊用途的逻辑电路来执行,例如FPGA(现场可编程逻辑电路阵列)或ASIC(应用专用集成电路),而装置也能够作为特殊用途的逻辑电路进行实施。
适于计算机程序的执行的处理器包括,作为示例的一般和特殊用途的微处理器以及任何种类的数字计算机的任何一个或多个处理器。一般地,处理器会从只读存储器或随机存取存储器或两者中接收指令和数据。计算机的必要元件是用于执行指令的处理器和用于存储指令和数据的一个或多个存储器设备。一般地,计算机也能够包括用于存储数据的一个或多个大容量存储设备,例如磁盘、磁光盘或光盘,或者通过操作将计算机耦接以便从存储设备中接收数据或向存储设备发送数据或两者均有。但是计算机不必要具有这样的设备。而且,计算机能够嵌入到另一种设备中,例如移动电话、个人数码助理(PDA)、移动音频播放器、全球定位系统(GPS)接收器,仅举几例。适于存储计算机程序指令和数据的计算机可读媒体包括所有形式的非易失性存储器、介质和存储器设备,包括作为示例的半导体存储器设备,例如EPROM、EEPROM以及闪速存储器设备;磁盘,例如内部的硬盘或可移动磁盘;磁光盘;以及CD ROM和DVD-ROM盘。处理器和存储器能够通过特殊用途的逻辑电路进行补充或并入其中。
为了提供与用户之间的交互,本公开文本的一个或多个方面能够在以下设备的计算机上实施:具有显示设备,例如CRT(阴极射线管)、LCD(液晶显示)监控器,或向用户显示信息的触摸屏,以及可选地用户能够借以向计算机提供输入的键盘和指针设备,例如鼠标或轨迹球。其他种类的设备也能够用于提供与用户的交互;例如,向用户提供的反馈能够是任何形式的感官反馈,例如视觉反馈、听觉反馈或触觉反馈;并且能够以任何形式从用户接收输入,包括声音的、话语或触觉输入。另外,计算机能够通过与用户所使用的设备之间发送和接收文档来实现与用户交互;例如,通过响应于从网页浏览器接收到的请求向用户的客户设备上的网页浏览器发送网页。
本发明的一个或多个方面能够在如下的计算系统中实施:包含后端组件,例如数据服务器,或包含中间件组件,例如应用服务器,或包括前端组件,例如具有用户能够与本说明书所述的主题的实施方式进行交互所通过的图形用户界面或网络浏览器,或一个或多个这样的后端、中间件以及前端组件的任意组合。系统的组件能够通过任何形式或任何例如通信网络的数字数据通信的介质进行互联。通信网络的示例包括局域网络(“LAN”)、广域网(“WAN”)、互联网络(例如因特网)以及点对点网络(例如自组织的点对点网络)。通信网络能够包括蜂窝网络和/或电话网络。
计算系统能够包括客户机和服务器。客户机和服务器之间一般相距很远,并且通常通过通信网络进行交互。客户机和服务器的关系因各自计算机上运行计算机程序而产生并具有之间的客户机-服务器关系。在一些实施方式中,服务器将数据(例如HTML页面)发送到客户设备(例如出于向与客户设备进行交互的用户显示数据并且接收来自该用户的用户输入的目的)。客户设备上所生成的数据(例如用户交互的结果)能够从服务器上的客户设备接收。
虽然本说明书包含一些细节,但是这些不应解释为对本发明的范围或所主张内容的限制,也不应解释为专门用于本发明的特别实施方式的特征的描述。本说明书中在分开的实施方式的内容中所述的某些特征也能够在单个实施方式中以结合的形式进行实施。相反地,在单个实施方式的内容中所述的各种特征也能够在分开的多个实施方式中或在任何适合的子组合中进行实施。而且,虽然特征在上面能够描述为在某一组合中的行动,并且甚至最初如此主张,但是所主张组合的一个或多个特征在某些情况能够从组合中删除,并且所主张组合能够针对子组合或子组合的变形。
相似地,虽然图中以特定的顺序对操作进行描述,但是不应理解为要求这些操作以所示的特定顺序或按顺序执行,或者要求执行所有所述操作以便实现期望的结果。在某些情况下,多任务和并行处理是有优势的。而且,上述实施例中的各种系统组件的分离不应理解为要求在所有实施方式中进行这样的分离,而应该理解所述程序组件和系统通常能够被整合在单个软件产品中或包装成多个软件产品。
已描述多个实施方式。然而,应理解在不背离本发明的精神和范围的情况下能够做出各种修改。相应地,其他的实施方式在下列权利要求的范围内。例如,权利要求中所述行动能够以不同顺序执行并且仍然能够获得期望的结果。

Claims (26)

1.一种方法(500),包括:
通过处理设备(210、310)确定用户设备(300)的第一用户设备状态(420、420a、420b),所述第一用户设备状态(420a、420b)定义用户设备(300)上当前所执行的行动以及与用户设备(300)对应的一个或多个观测(420);
通过处理设备(210、310)向模型(400)输入第一用户设备状态(420a、420b),所述模型(400)接收用户设备状态(420a、420b)并且输出与一个或多个簇(238、410、410a、410b、410c)关联的概率值,每个簇(238、410、410a、410b、410c)指示与用户设备(300)对应的一个或多个兴趣项;
基于模型(400)的输出,通过处理设备(210、310)确定用户设备(300)的活跃角色(100),所述活跃角色(100)指示用户设备(300)的用户的被预测的目标;以及
通过处理设备(210、310)使用用户设备(300)的活跃角色(100)执行流程。
2.根据权利要求1所述的方法(500),进一步包括:
在确定用户设备(300)的活跃角色(100)之后,通过处理设备(210、310)捕获第二用户设备状态(420a、420b),所述第二用户设备状态(420a、420b)处于第一用户设备状态(420a、420b)之后并且定义用户设备(300)上随后所执行的行动和一个或多个随后的观测(420);以及
基于第二用户设备状态(420a、420b)和第一用户设备状态(420a、420b),通过处理设备(210、310)更新模型(400)。
3.根据权利要求1所述的方法(500),其中所述模型(400)是隐马尔可夫模型。
4.根据权利要求1所述的方法(500),其中用户设备(300)所执行的行动基于用户设备(300)的活跃的过程。
5.根据权利要求4所述的方法(500),其中活跃的过程是用户设备(300)所执行的活跃的应用(322)、用户设备(300)所播放的活跃媒体内容(326)或者用户设备(300)所提供的活跃的搜索查询(324)中的一个。
6.根据权利要求4所述的方法(500),其中确定第一用户设备状态(420a、420b)包括使用倒序索引(240)确定活跃的过程所对应的活跃的簇(238、410、410a、410b、410c),所述活跃的簇(238、410、410a、410b、410c)指示与用户设备(300)对应的活跃的兴趣项。
7.根据权利要求6所述的方法(500),进一步包括:
通过处理设备(210、310)确定用户设备(300)的多个兴趣项,每个兴趣项指示用户设备(300)上所安装的应用(322)、用户设备(300)上之前所播放的媒体内容(326)或者用户设备(300)之前所提供的搜索查询(324)中的一个;
通过处理设备(210、310)向角色服务器(200)提供多个兴趣项;以及
通过处理设备(210、310)从角色服务器(200)接收倒序索引(240),所述倒序索引(240)包括多个倒序索引条目(242),每个倒序索引条目(242)与兴趣项中的一个兴趣项对应并且识别兴趣项所属的一个或多个簇(238、410、410a、410b、410c)。
8.根据权利要求1所述的方法(500),其中确定第一用户设备状态(420a、420b)包括获得用户设备(300)的一个或多个外围设备(350)的输出值。
9.根据权利要求1所述的方法(500),其中使用活跃角色(100)执行流程包括作为搜索查询(324)的一部分,使活跃角色(100)和搜索引擎(120)进行通信。
10.根据权利要求1所述的方法(500),其中使用活跃角色(100)执行流程包括使活跃角色(100)和与用户设备(300)通信的应用服务器(130)进行通信。
11.根据权利要求1所述的方法(500),其中使用活跃角色(100)执行流程包括基于活跃角色(100)重排用户设备(300)的主屏幕。
12.根据权利要求1所述的方法(500),其中活跃角色(100)是指示模型(400)所输出的概率的向量,其中向量的每个要素表示用户设备(300)会从当前兴趣项转变到与概率值关联的包含第二兴趣项的簇(238、410、410a、410b、410c)的概率。
13.根据权利要求1所述的方法(500),其中获得活跃角色(100)包括:
获得指示模型(400)所输出的概率的向量,其中向量的每个要素指示用户设备(300)会从当前兴趣项转变到与概率值关联的包含第二兴趣项的簇(238、410、410a、410b、410c)的概率;以及
基于一个或多个规则将向量映射到类别。
14.一种用户设备(300),包括:
存储设备(230、320),所述存储设备(230、320)包括存储模型(400)的一个或多个计算机可读介质,所述模型(400)接收用户设备(300)的用户设备状态(420a,420b)并且输出与一个或多个簇(238、410、410a、410b、410c)关联的概率值,每个簇(238、410、410a、410b、410c)指示与用户设备(300)对应的一个或多个兴趣项;以及
处理设备(210、310),当所述处理设备(210、310)所执行的计算机可读指令使得用户设备(300)进行如下操作时,所述处理设备(210、310)执行计算机可读指令:
确定用户设备(300)的第一用户设备状态(420a、420b),所述第一用户设备状态(420a、420b)定义用户设备(300)上当前所执行的行动以及与用户设备(300)对应的一个或多个观测(420);
向模型(400)输入第一用户设备状态(420a、420b);
基于模型(400)的输出确定用户设备(300)的活跃角色(100),所述活跃角色(100)指示用户设备(300)的用户的被预测的目标;以及
使用用户设备(300)的活跃角色(100)执行流程。
15.根据权利要求14所述的用户设备(300),其中计算机可读指令进一步使得处理设备(210、310):
在确定用户设备(300)的活跃角色(100)之后,捕获第二用户设备状态(420a、420b),所述第二用户设备状态(420a、420b)处于第一用户设备状态(420a、420b)之后并且定义用户设备(300)上随后所执行的行动和一个或多个随后的观测(420);以及
基于第一用户设备状态(420a、420b)和第二用户设备状态(420a、420b)更新模型(400)。
16.根据权利要求14所述的用户设备(300),其中模型(400)是隐马尔可夫模型。
17.根据权利要求14所述的用户设备(300),其中用户设备(300)所执行的行动基于用户设备(300)的活跃的过程。
18.根据权利要求17所述的用户设备(300),其中活跃的过程是用户设备(300)所执行的活跃的应用(322)、用户设备(300)所播放的活跃的媒体内容(326)或者用户设备(300)所提供的活跃的搜索查询(324)中的一个。
19.根据权利要求18所述的用户设备(300),其中确定第一用户设备状态(420a、420b)包括使用倒序索引(240)确定活跃的过程所对应的活跃的簇(238、410、410a、410b、410c),所述活跃的簇(238、410、410a、410b、410c)指示与用户设备(300)对应的活跃的兴趣项。
20.根据权利要求19所述的用户设备(300),其中计算机可读指令进一步使得处理设备(210、310):
确定用户设备(300)的多个兴趣项,每个兴趣项指示用户设备(300)上所安装的应用(322)、用户设备(300)之前所播放的媒体内容(326)或者用户设备(300)之前所提供的搜索查询(324)中的一个;
向角色服务器(200)提供多个兴趣项;以及
接收来自角色服务器(200)的倒序索引(240),所述倒序索引(240)包含多个倒序索引条目(242),每个倒序索引条目(242)与兴趣项中的一个兴趣项对应并且识别兴趣项所属的一个或多个簇(238、410、410a、410b、410c)。
21.根据权利要求14所述的用户设备(300),其中确定第一用户设备状态(420a、420b)包括获得用户设备(300)的一个或多个外围设备(350)的输出值。
22.根据权利要求14所述的用户设备(300),其中使用活跃角色(100)执行流程包括作为搜索查询(324)的一部分,使活跃角色(100)和搜索引擎(120)进行通信。
23.根据权利要求14所述的用户设备(300),其中使用活跃角色(100)执行流程包括使活跃角色(100)和与用户设备(300)通信的应用服务器(130)进行通信。
24.根据权利要求14所述的用户设备(300),其中使用活跃角色(100)执行流程包括基于活跃角色(100)安排用户设备(300)的主屏幕。
25.根据权利要求14所述的用户设备(300),其中活跃角色(100)是指示模型(400)所输出的概率的向量,其中所述向量的每个要素表示用户设备(300)会从当前兴趣项转变到与概率值关联的簇(238、410、410a、410b、410c)所表示的第二兴趣项的概率。
26.根据权利要求14所述的用户设备(300),其中获得活跃角色(100)包括:
获得指示模型(400)所输出的概率的向量,其中向量的每个要素指示用户设备(300)会从当前兴趣项转变到与概率值关联的簇(238、410、410a、410b、410c)所表示的第二兴趣项的概率;以及
基于一个或多个规则将向量映射到类别。
CN201480076392.8A 2013-12-27 2014-11-12 确定用户设备的活跃角色 Pending CN106104510A (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201361921245P 2013-12-27 2013-12-27
US61/921,245 2013-12-27
US14/446,991 US9405838B2 (en) 2013-12-27 2014-07-30 Determining an active persona of a user device
US14/446,991 2014-07-30
PCT/US2014/065184 WO2015099893A1 (en) 2013-12-27 2014-11-12 Determining an active persona of a user device

Publications (1)

Publication Number Publication Date
CN106104510A true CN106104510A (zh) 2016-11-09

Family

ID=53479489

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201480076392.8A Pending CN106104510A (zh) 2013-12-27 2014-11-12 确定用户设备的活跃角色

Country Status (5)

Country Link
US (2) US9405838B2 (zh)
EP (1) EP3087501A4 (zh)
KR (1) KR101959368B1 (zh)
CN (1) CN106104510A (zh)
WO (1) WO2015099893A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108140149A (zh) * 2015-10-06 2018-06-08 微软技术许可有限责任公司 角色特定设备行为

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10300393B2 (en) * 2014-10-21 2019-05-28 Activision Publishing, Inc. Music based video game with components
US11363460B1 (en) * 2015-03-03 2022-06-14 Amazon Technologies, Inc. Device-based identification for automated user detection
US10198498B2 (en) * 2015-05-13 2019-02-05 Rovi Guides, Inc. Methods and systems for updating database tags for media content
US10726438B2 (en) * 2015-09-03 2020-07-28 Microsoft Technology Licensing, Llc Personalized contextual coupon engine
US20190026273A1 (en) * 2015-09-09 2019-01-24 Cell Buddy Network Ltd. Alias communication
US10601953B2 (en) * 2016-09-22 2020-03-24 Adobe Inc. Decomposing media content accounts for persona-based experience individualization
US10757110B2 (en) 2016-12-21 2020-08-25 Microsoft Technology Licensing, Llc Generation of application allowed lists for machines
US10512846B2 (en) 2017-03-07 2019-12-24 Sony Interactive Entertainment LLC Emulating player behavior after player departure
US10946280B2 (en) 2017-03-08 2021-03-16 Sony Interactive Entertainment LLC In-game reactions to interruptions
CN107463660B (zh) * 2017-07-31 2020-10-16 广州虎牙信息科技有限公司 产品活跃用户数据测算方法及计算机设备
KR102138761B1 (ko) * 2017-09-29 2020-07-28 이다커뮤니케이션즈(주) 고객 맞춤형 페르소나 디자인 가이드라인 시스템 및 방법
KR102119238B1 (ko) * 2018-09-28 2020-06-26 이다커뮤니케이션즈(주) 맞춤형 페르소나 관리서버 및 그 관리 방법
US11222061B2 (en) * 2019-03-28 2022-01-11 Facebook, Inc. Generating digital media clusters corresponding to predicted distribution classes from a repository of digital media based on network distribution history
GB2583718A (en) * 2019-05-01 2020-11-11 Samsung Electronics Co Ltd Method, apparatus and computer program for updating a cluster probability model
US11321406B2 (en) 2019-07-31 2022-05-03 Walmart Apollo, Llc Personalized ranking using deep attribute extraction and attentive user interest embeddings
US20210034945A1 (en) * 2019-07-31 2021-02-04 Walmart Apollo, Llc Personalized complimentary item recommendations using sequential and triplet neural architecture
US11443112B2 (en) * 2019-09-06 2022-09-13 International Business Machines Corporation Outcome of a natural language interaction
US11861463B2 (en) * 2019-09-06 2024-01-02 International Business Machines Corporation Identifying related messages in a natural language interaction
US10803065B1 (en) * 2019-09-12 2020-10-13 Business Objects Software Ltd Microcubes
CN113449471B (zh) * 2021-06-25 2022-08-30 东北电力大学 利用ap聚类-跳转持续改进mc的风电出力模拟生成方法
US20230161890A1 (en) * 2021-11-24 2023-05-25 X Development Llc Persona prediction for access to resources
KR20230120383A (ko) * 2022-02-09 2023-08-17 삼성전자주식회사 기기 설정 동기화 방법 및 장치

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101826114A (zh) * 2010-05-26 2010-09-08 南京大学 一种基于多马尔可夫链的内容推荐方法
US20120109956A1 (en) * 2010-10-29 2012-05-03 Yahoo! Inc. Profile prediction for shared computers
CN102667839A (zh) * 2009-12-15 2012-09-12 英特尔公司 在用户行为的趋势分析和简档建立以及基于模板的预测中使用概率技术以便提供推荐的系统、装置和方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030191753A1 (en) * 2002-04-08 2003-10-09 Michael Hoch Filtering contents using a learning mechanism
US7594121B2 (en) * 2004-01-22 2009-09-22 Sony Corporation Methods and apparatus for determining an identity of a user
US20060074883A1 (en) 2004-10-05 2006-04-06 Microsoft Corporation Systems, methods, and interfaces for providing personalized search and information access
US10074094B2 (en) 2010-03-09 2018-09-11 Excalibur Ip, Llc Generating a user profile based on self disclosed public status information
WO2014028070A1 (en) * 2012-08-17 2014-02-20 Flextronics Ap, Llc Channel changer for intelligent television

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102667839A (zh) * 2009-12-15 2012-09-12 英特尔公司 在用户行为的趋势分析和简档建立以及基于模板的预测中使用概率技术以便提供推荐的系统、装置和方法
CN101826114A (zh) * 2010-05-26 2010-09-08 南京大学 一种基于多马尔可夫链的内容推荐方法
US20120109956A1 (en) * 2010-10-29 2012-05-03 Yahoo! Inc. Profile prediction for shared computers

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108140149A (zh) * 2015-10-06 2018-06-08 微软技术许可有限责任公司 角色特定设备行为

Also Published As

Publication number Publication date
US9405838B2 (en) 2016-08-02
EP3087501A4 (en) 2017-08-30
EP3087501A1 (en) 2016-11-02
KR101959368B1 (ko) 2019-03-18
KR20160124087A (ko) 2016-10-26
US20150186535A1 (en) 2015-07-02
US20160291840A1 (en) 2016-10-06
WO2015099893A1 (en) 2015-07-02

Similar Documents

Publication Publication Date Title
CN106104510A (zh) 确定用户设备的活跃角色
US11853354B2 (en) Override of automatically shared meta-data of media
US20230048846A1 (en) Methods, systems, and media for modifying the presentation of contextually relevant documents in browser windows of a browsing application
US9900358B1 (en) Organizing a stream of content
US9754288B2 (en) Recommendation of media content items based on geolocation and venue
CN101960795B (zh) 用于递送扩充消息的系统和方法
US20140282493A1 (en) System for replicating apps from an existing device to a new device
CN107533677A (zh) 用于产生与有关信息相关的传感器输出的方法、系统和介质
US20100082427A1 (en) System and Method for Context Enhanced Ad Creation
CN103207675A (zh) 制作媒体节目集锦或扩充媒体节目
CN101960447A (zh) 内容聚集、聚合、共享以及更新的社会方面
CN104412265A (zh) 更新用于促进应用搜索的搜索索引
CN104508739A (zh) 动态语言模型
CN102402625A (zh) 一种音乐推荐的方法及系统
US8903850B2 (en) Metadata ingestion to stream customization
CN102985922A (zh) 在计算空间中管理分布计算的方法和装置
CN105009024A (zh) 节省电池和数据使用
US20150254692A1 (en) Method and apparatus for social networking service strategy based on spread simulation
CN106062806A (zh) 使用交互信号来生成关系并且推广内容
US20130110930A1 (en) Social data management system and method for operating the same
CN107545018A (zh) 在基于反馈的系统效能确定中的时延降低
US20170249325A1 (en) Proactive favorite leisure interest identification for personalized experiences
US11609930B2 (en) Method for content synchronization and replacement
KR102046411B1 (ko) 멀티미디어 컨텐츠에 대한 사용자의 재생 로그를 이용하여 개인화 된 플레이리스트를 구성하는 방법 및 시스템
US20210149951A1 (en) Audio and Visual Asset Matching Platform

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20180110

Address after: Gyeonggi Do, South Korea

Applicant after: Samsung Electronics Co., Ltd.

Address before: American California

Applicant before: QUIXEY INC.

WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20161109