用于提供多个支持服务的个人长期代理的制作方法

文档序号:6495794阅读:145来源:国知局
用于提供多个支持服务的个人长期代理的制作方法
【专利摘要】本文公开一种用于标识机会并代表一个或多个用户作出推荐的能够作为网络服务来执行和/或在一个或多个用户计算设备上执行的长期个人代理程序以及相关方法。在一个示例中,该个人代理程序包括监视引擎,该监视引擎被配置为根据用户授权用多种感测和记录方法来随时间监视并解析用户活动,使用统计方法来从数据学习理解用户的目标和行为模式,并且使用用于计算信息的预期值的过程来指导不同上下文下的感测和记录。该个人代理程序还可包括推荐方法,该推荐方法被配置为:基于关于用户目标以及世界上的机会的推断,在此刻以及在未来作出推荐并代表该用户作出动作。
【专利说明】用于提供多个支持服务的个人长期代理
[0001]背景
[0002]在无线导航设备出现之前,高速公路上的司机通常依赖标志,这些标志通知他们在下一高速公路出口处可以访问的服务。这种情形可能导致不充分的规划,包括在标志的通知以及高效离开高速公路之间的短时间间隔期间,在车辆中的关于乘客是否期望离开高速公路来访问服务的多个激烈对话。随着无线导航设备的出现,车辆乘客现在可以在在汽车中沿路行进的同时输入期望的服务(例如,加油站、饭馆),并观看这些服务地点的列表以及沿路到每个地点的距离。
[0003]这些无线导航设备可能如此有用,以致车辆乘客的任务是从这些设备请求服务列表,然后接收结果列表。为了完成这一任务,乘客必须提前意识到使用服务的需求,并且必须花时间来将服务请求输入到导航设备中。这可能导致丢失许多使用服务的机会,而本来用户是期望使用这些服务的。例如,这种意识可能在驶经高速公路出口、并且听到后座的小孩哀伤地宣布“我要上厕所”之后才出现,而此时却只看到指示“下一出口在43英里处”的标志。这仅仅是使用户有必要意识到他们自己的需要以请求关于附近服务的信息的系统没有为该用户递送令人满意的结果的许多示例中的一个。
[0004]概述
[0005]本文公开了一种用于代表用户检索推荐的能够在用户计算设备上执行的个人代理程序以及相关方法。在一个示例中,个人代理程序包括设置模块,该设置模块被配置为接收跨用户计算设备和/或一个或多个其他用户计算设备上的由用户所使用的多个计算机程序来监视用户活动的用户授权。该设置模块还被配置为接收一个或多个用户推荐偏好,所述一个或多个用户推荐偏好指示用户想要该个人代理程序从推荐服务器检索的产品或服务推荐。
[0006]该个人代理程序还包括监视引擎,该监视引擎被配置为根据该用户授权用该多个计算机程序来监视用户活动。该用户活动包括所检测的用户的当前位置,并且该监视引擎被配置为从该用户活动学习行为模式。该个人代理程序还包括推荐引擎,该推荐引擎被配置为基于所检测的该用户的当前位置、该用户的行为模式、以及一个或多个上下文因子来作出以下推断:该用户推荐偏好中的一个或多个用户推荐偏好的触发条件将出现。该推荐引擎被配置为根据该一个或多个用户推荐偏好来向该推荐服务器发送对于对目标产品或服务的推荐的请求。该推荐引擎还被配置为从该推荐服务器接收该推荐,并且在与该用户计算设备相关联的显示器上现实该推荐。
[0007]提供本概述是为了以简化的形式介绍将在以下详细描述中进一步描述的选择的概念。本概述并不旨在标识所要求保护主题的关键特征或必要特征,也不旨在用于限制所要求保护主题的范围。此外,所要求保护的主题不限于解决在本公开的任一部分中所提及的任何或所有缺点的实现。
[0008]附图简述
[0009]图1示出一计算机系统的一个实施例的示意图,该计算机系统包括能在用户计算设备上执行以便代表用户检索推荐的个人代理程序。[0010]图2是图1的个人代理程序的部分详细示意图,示出了作出推断以及生成推荐请求的方式。
[0011]图3是图1中示出的推荐图形用户界面的第一示例屏幕的示意图。
[0012]图4是图1中示出的推荐图形用户界面的第二示例屏幕的示意图。
[0013]图5是示出包括图1的个人代理程序的计算机系统的示例用例的示意图。
[0014]图6是示出用于代表用户检索推荐的方法的一个实施例的图示。
[0015]图7是图6的图示的延续。
[0016]详细描述
[0017]图1概括示出计算系统5的一个实施例的示意图,该计算系统包括能在用户计算设备12上执行以便代表用户14检索推荐的个人代理程序10。如下面更详细地描述的,个人代理程序10包括设置模块20、监视引擎22、以及推荐引擎24。
[0018]在一个示例中,用户计算设备12包括大容量存储28、存储器30、显示器32、处理器34、以及地点感知技术,诸如GPS接收机36。GPS接收机36基于卫星信号的接收来确定用户计算设备12的位置。大容量存储28可包括个人代理程序10和各种其他应用程序,诸如电子邮件程序40、日历程序42、电话/消息收发程序44、移动设备跟踪程序46、以及浏览器48。这些程序可以由处理器34使用存储器30来执行,并将输出显示在显示器32上,以实现本文描述的各种功能。在其他示例中,用户计算设备12可包括图1中未示出的其他组件,诸如用户输入设备,包括例如触摸屏、键盘、鼠标、游戏控制器、相机和/或话筒。而且,尽管未在图1中示出,然而应当理解,其他用户计算设备52和54具有按照与上面针对用户计算设备12描述的类似的方式工作的类似组件。
[0019]应当理解,如下面更详细地描述的,可检索推荐,可监视用户活动,并且可代表用户14按照设备无关的方式跨多个用户计算设备执行动作,诸如设备12、52和54。还应当理解,这一功能以及下面参考个人代理程序10描述的其他功能可以由与该多个计算设备通信的可网络访问的服务来执行和/或协调。例如,这种服务可提供标准的感测和交互接口,所述接口允许与多个用户计算设备链接和/或通信。替代地或附加地,这些设备可执行代理软件,所述代理软件提供通信协议以便监视用户活动、作出推荐以及代表用户采取动作。
[0020]现在将描述个人代理程序10代表用户检索推荐的过程。在一个示例中,设置模块20被配置为经由推荐图形用户界面(例如GUI) 82从用户14接收用户授权56,该推荐图形用户界面被显示在用户计算设备12的显示器32上。用户授权56授权个人代理程序10跨用户计算设备12和/或一个或多个其他用户计算设备(诸如用户计算设备52以及用户计算设备54)上由该用户所使用的多个程序监视用户活动。在用户计算设备52上使用的计算机程序的示例可以是地图程序58。在计算设备54上使用的计算机程序的示例可以是社交联网程序60。应当理解,这些程序在用户计算设备52、54上的使用仅仅是示例,并且这些程序58、60可转而或附加地用在用户计算设备12上。而且,上面标识的各种计算机程序可被用户在计算设备12、和/或其他用户计算设备52、54上使用,所述计算机程序包括但不限于:电子邮件程序40、日历程序42、电话/消息收发程序44、移动设备跟踪程序46、以及浏览器48。
[0021]监视引擎22被配置为根据用户授权56来用该多个计算机程序监视用户活动。在图1中,电子邮件程序40中的用户活动由虚线40’指示,日历程序42中的用户活动由虚线42’指示,跨电话/消息收发程序44的用户活动由虚线44’指示,移动设备地点跟踪程序46中的用户活动由虚线46’指示,浏览器48中的用户活动由虚线48’指示,地图程序58中的用户活动由虚线58’指示,并且社交联网程序60中的用户活动由虚线60’指示。用户活动可包括所检测的用户14的当前位置,该位置可由移动设备位置跟踪程序46使用GPS或其他适当的跟踪技术来检测。
[0022]在接收到适当授权后,监视引擎22还可被配置为监视在用户14的朋友15所使用的朋友计算设备55上执行的各种程序中的朋友活动57。尽管未在图1中示出,然而应当理解,朋友计算设备55可具有按照与上面针对用户计算设备12、52和54描述的类似的方式工作的类似组件和程序。例如,监视引擎22可监视在朋友计算设备55上执行的日历程序、移动设备位置跟踪程序以及社交联网程序中的朋友活动57。
[0023]在下面更详细地描述的一个示例中,监视引擎22可监视用户计算设备12的移动设备位置跟踪程序46中的朋友活动46’以及朋友设备55中的移动设备跟踪程序中的朋友活动57以确定用户14和朋友15正在按有方向的轨迹移动,所述轨迹将在相交位置处相交。监视引擎22还可监视用户计算设备12的日历程序42中的用户活动42’以及朋友设备55中的日历程序中的朋友活动57以检查用户14和朋友15在一时间段内是否有空,其中所述时间段包括用户14和朋友15可到达相交位置的大致时间。
[0024]如果用户14和朋友15在该时间段期间有空,则推荐引擎24被配置为从推荐服务器66请求并接收对目标服务的请求,其中该目标服务是在该相交位置的一阈值距离内提供的。随后推荐70可被显示在用户计算设备12的显示器32上。下面提供对推荐引擎32的操作的更多描述。还要理解,在接收到适当的授权后,监视引擎22还可监视与用户14的其他朋友、亲戚、同事和/或熟人相关联的计算设备上的活动。
[0025]监视引擎22还可被配置为基于计算可从用户活动收集到的信息的预期值来通过有选择地激活或访问该多个计算机程序中的至少一个来动态监视该用户活动。以此方式,个人代理程序10可获得对与用户活动有关的附加数据,并由此提高该程序的实时决策能力和/或长期数据收集以便学习预测模型,如下面更详细地描述的。
[0026]在一个示例中,来自所述计算机程序中的一个或多个计算机程序的用户活动可能由于用户隐私偏好而在正常情况下不能访问。在个人代理程序10已接收到必要的用户选中许可时,监视引擎22可有选择地访问这些电脑程序并监视原本将不可用的用户活动。在另一示例中,在数据监视原本将有用的情况下或时刻,出于资源考虑,这些计算机程序中的一个或多个可能是不活动的,诸如为了减少功率消耗而被停用的GPS接收机36。再说一次,在接收到必要的许可的情况下,监视引擎22可有选择地激活不活动的程序并监视与该程序有关的用户活动。
[0027]监视引擎22可在特定时刻和/或位置有选择地激活或访问该多个计算机程序中的将有可能产生有用的用户活动信息的一个计算机程序。监视引擎22还可确定通过计算可从与该计算机程序相关联的用户活动收集的信息的预期值来确定何时有选择地激活或访问该多个计算机程序中的一个。在一个示例中,计算该信息的预期值可包括使用试探过程或其他基于经验的估算。如果所得到的预期值超出一阈值值,则监视引擎22可有选择地激活或访问原本不能访问或不活动的计算机程序。
[0028]监视引擎22还可被配置为从各用户计算设备上的各计算机程序中的用户活动学习行为模式74。在一个示例中,监视引擎22可监视GPS接收机36来推断用户对提供给该用户的推荐的响应或没有响应。在一种情况下,监视引擎22可确定由于例如用户进入了车库或者关掉了计算设备而导致GPS信号在特定位置丢失。如果用户刚刚接收到了对在此位置提供的产品或服务的推荐,则可推断:该用户对该推荐作出了正面响应。
[0029]此外,在GPS接收机后来在一段时间之后在同一位置被激活的情况下,还可推断该用户已出现在该位置一段时间了。还可使用此信息来推断用户满足。在一个示例中,GPS位置指示该用户已在餐馆停留了一定量的时间(诸如1.5小时),这指示很可能已用餐。使用该数据,推荐引擎24可推断该用户可能在多久以后需要另一顿饭。
[0030]尽管这些行为模式是通过随时间观察特定用户的活动而学习的,然而任何特定用户的模式可基于从随时间观察整个用户群体而生成的聚集行为模式并与其进行比较。从而,监视引擎22可在一个模式中通过从推荐服务器66接收聚集行为模式、并且检查各计算机程序中的用户活动以寻找与该聚集行为模式在一阈值度内匹配的用户活动来学习用户行为模式。
[0031]个人代理程序10利用用户动作历史和推荐偏好来确定用户可能想要接收哪类推荐。这些用户推荐偏好可以是隐式的,诸如由该个人代理程序自己所推断的偏好,如在62指示的,也可以是显式的,诸如由该用户所输入的偏好,如在64所指示的。为该目的,监视引擎22可被配置为基于行为模式74来创建推断的用户推荐偏好62,其中该用户推荐偏好62指示该用户想要个人代理程序10从推荐服务器66检索的产品或服务推荐,如由监视引擎22所推断的。设置模块20也可被配置为经由输入到推荐⑶182中的用户输入接收来自用户14的一个或多个输入的用户推荐偏好64。
[0032]在与推断的用户推荐偏好62相关的一个用例示例中,监视引擎22可观察行为模式74,该行为模式包括跨社交联网程序(诸如用户计算设备54上的社交联网程序60)的用户活动。通过观察用户参与的社交交互,监视引擎22可以推断该用户的社交图的一个或多个成员影响某些用户购买决策。例如,监视引擎22可以观察到:用户在从该用户的社交图中的朋友A接收到关于三个餐馆中的每个餐馆的正面评价之后已在这三个餐馆就餐。使用这一信息,监视引擎22可以针对用户的朋友A偏爱或者频繁就餐的餐馆创建推断的用户推荐偏好62。关于朋友A偏爱或频繁就餐的餐馆的信息也可以通过例如观察跨社交联网程序(包括涉及朋友A的通信)的用户活动来收集。
[0033]此外,设置模块20可被配置为从用户14接收用户隐私设置68,该用户隐私设置指示用户授权个人代理程序检查的数据的类别。该隐私设置还可指示是否允许与外部服务器(诸如推荐服务器66)分享该数据。具体而言,用户隐私设置68可指示“仅作检查”类别的用户活动和/或“授权共享”类别的用户活动,对于“仅作检查”的用户活动用户授权个人代理程序10从多个计算机程序检查但是不对外分享,而对于“授权共享”类别的用户活动用户授权个人代理程序将其与对推荐70的请求72 —起发送到推荐服务器66。
[0034]推荐引擎24被配置为基于所检测的该用户14的当前位置、该用户的行为模式74、以及与所观察到的当前用户活动相关联的一个或多个上下文因子78来推断76针对一个或多个用户推荐偏好62、64的触发条件将发生。该触发条件可以是一个或一组所定义的条件,所述条件由用户直接指定或者由监视引擎来确定。作为一些示例,该触发条件可包括用户14的所预测的未来位置或其他所预测的条件。[0035]在另一示例中,推荐引擎24可被配置为使用机器学习程序来为该用户的未来位置以及这些位置与该用户的关联(家、办公室等)构造预测模型,并且从该数据学习偏好并且标识出未来出现的该用户可能感兴趣的机会。以此方式,与用户和用户的行为和关系(包括社交图中将用户与不同偏好、属性和行为相链接的图形关系)的各方面的数据可被收集并被用来训练并测试用于构造各种类型的预测模型的数据。用于构造这种模型的工具包括机器学习过程,诸如例如贝叶斯结构搜索、支持向量机、高斯过程、逻辑回归、以及对考虑了各实体和/或属性之间的关系的约束或模式的对关系变型的扩展。这样的预测模型可以允许的预测的示例包括用户的偏好或用户组的偏好、用户的未来位置(或当前位置,如果不是直接观察的话)、用户可能感兴趣的未来机会以及在这个世界上的用户行动。
[0036]在一个示例中,预测模型可被用来生成给用户的对未来事件的建议,所述未来事件是用于计划日程的机会、并且可与商业和广告优惠相关联。在一个示例中,预测模型可从日历程序42标识下周六晚上该用户有空。该预测模型随后可为该用户及他或她的配偶生成下周六晚上的完美的多步骤计划。该计划可包括例如驾车到某地,参与一个或多个活动,诸如晚餐或娱乐。该预测模型和推荐引擎24还可结合与所述活动和目的地有关的一个或多个推荐、优惠和/或特价。推荐引擎24从推荐服务器66接收的一个或多个推荐、优惠和/或特价可根据该用户的一个或多个用户推荐偏好和/或行为模式来生成。以此方式,还要理解,在从用户接收到适当授权的情况下,个人代理程序10所收集的用户活动、行为模式和其他信息可被用于针对性的营销和/或广告目的。
[0037]除了提供推荐,并且如上所述以外,推荐引擎24还可代表用户针对未来出现的机会采取一个或多个动作。例如,在上面讨论的周六晚上的多步计划中,推荐引擎24可主动地为该用户及其配偶在他们推荐的目的地之一附近的餐馆作出晚餐预订。可在用户计算设备12上给用户显示包括餐馆的推荐以及与该预订有关的信息的消息,和/或可存储该消息以供稍后通过另一计算机程序(诸如日历程序42)访问。在另一示例中,个人代理程序10可主动与期望向用户递送广告以换取激励的第三方服务通信。在此情况下,个人代理程序10可接收并存储广告和激励,并可通知用户该个人代理程序已与该第三方服务通信并已下载了广告/激励,并且准备好在用户需要的时候播放广告。
[0038]与所观察到的用户当前活动相关联的一个或多个上下文因子78描述了用户活动中的用户动作发生的上下文。上下文因子可包括但不限于:日期、周几、时刻、或用户计算设备12已被定位在所检测到的当前位置的时间段。这些和其他概念将在后面的用例示例中更完整地说明。
[0039]现在转到图2,现在将描述推荐引擎24作出推断以及生成推荐请求的方式。要理解,从各计算程序84(诸如联系图1描述的程序40-48、58以及60)输出的用户活动85被保存在个人代理程序10的数据库83中。用户活动85包括所观察到的当前用户活动流86,其被周期性地添加到用户活动历史87。如上所述,用户活动历史87被监视引擎22审阅。监视引擎22学习该用户的用户行为模式74,该用户行为模式也存储在数据库83中。基于整个用户群体的用户活动的聚集行为模式88可从推荐服务器下载,并且也存储在数据库83中,并被用来标识所学习的用户行为模式74,如同上面描述的。数据库83还存储用户推荐偏好62、64及其相关联的触发条件65,这些已经经由设置模块20直接作为用户输入被接收,或者已由监视引擎22从用户活动85推断。[0040]推断引擎24接收用户活动85的至少一部分,通常是所观察到的当前用户活动86,包括所检测到的用户的当前位置90以及与所观察到的当前用户活动相关联的上下文因子,诸如日期和时间。推荐引擎24将这些数据与行为模式74、88进行比较以确定是否可能满足用户推荐偏好62、64的触发条件65,例如,在一概率阈值内。如果如此,则推荐引擎作出推断76..用户推荐偏好62、64的触发条件将发生。
[0041]进一步回头参考图1,在生成推断76后,推荐引擎24被配置为根据一个或多个用户推荐偏好62、64向推荐服务器66发送对目标产品或服务的推荐的请求72,因为每一用户推荐偏好62、64通常具有与其相关联的至少一个目标产品或服务。推荐引擎24被进一步配置为从推荐服务器66接收与目标产品或服务有关的推荐70,并在用户计算设备12的显示器32上的推荐⑶182中显示推荐70。
[0042]第一用例示例
[0043]在一个示例用例中,用户计算设备12是移动通信设备并且经由来自移动设备位置跟踪程序46的用户活动46’检测到用户14目前位于华盛顿州雷蒙德市。用户14已通知个人代理程序10该用户想要接收雷蒙德市附近提供加泰罗尼亚美食的高打分餐馆的推荐,以及西班牙巴塞罗那的提供加泰罗尼亚美食的高打分餐馆。现在参考图3,用户先前已经由推荐GUI82内的用户输入界面202将这些用户推荐偏好输入到了用户的移动计算设备12中。
[0044]在推荐⑶182的另一屏上,用户还向个人代理程序提供了监视日历程序42中的该用户的日历活动42’、经由移动设备位置跟踪程序46中的位置活动46’的位置、浏览器48中的浏览活动48’、以及可能位于另一用户计算设备54上的社交联网程序60中的社交联网活动60’的授权。用户还输入了用户隐私设置,指示该用户的日历活动42’落入了不对外共享的“仅作检查”类别,而用户的位置活动46’、浏览器活动48’以及社交联网活动60’落入了可与对推荐的请求一起发送到推荐服务器的“授权共享”类别。
[0045]通过监视来自用户的启用GPS的移动通信设备和移动设备位置跟踪程序46的位置,以及来自日历程序42的用户活动42’(包括被称为“家庭日历”的用户共享日历),个人代理程序10已学习了如下行为模式:用户在过去三年中每年的8月均休一个为期2周的家庭假期。现在是7月,而用户有一个来自“家庭日历”的共享日历项,其中8月2号到8月16号简单写着“巴塞罗那”。此外,通过监视来自浏览器48的用户活动48’,个人代理程序10学习到,该用户最近从在线书商购买了 “学习西班牙语”音频书。基于这些上下文因子,个人代理程序10作出以下推断:用户又在计划8月份的家庭旅行了,这次要在8月2号-8月16号去西班牙巴塞罗那。个人代理程序10中的推荐引擎24还可基于此行为模式来创建附加的用户推荐偏好62,诸如对国际住家交换服务的推荐的偏好。
[0046]通过检查用户的社交联网活动60’和该用户的相关联的社交图,个人代理程序10注意到来自朋友A的一个帖子:“等不及8月的巴塞罗那之旅了 ”,朋友A是用户的一个朋友,他在该用户在华盛顿州雷蒙德市的家附近具有住处。给定这个帖子、用户在雷蒙德市的当前位置、当前日期以及用户预想的去巴塞罗那的假期,个人代理程序10作出以下推断:雷蒙德市附近的高打分加泰罗尼亚餐馆的用户推荐偏好的触发条件可能发生;即,用户可能想要在8月2号之前在雷蒙德市附近的加泰罗尼亚餐馆与朋友A聚餐来讨论他们即将去巴塞罗那的旅行。个人代理程序10还可作出另一推断:如果他们刚好在同一时间在巴塞罗那的话,该用户可能想要与朋友A在巴塞罗那的加泰罗尼亚餐馆聚餐。
[0047]个人代理程序10向推荐服务器66发送对雷蒙德市附近的提供加泰罗尼亚美食的高打分餐馆以及对巴塞罗那的提供加泰罗尼亚美食的高打分餐馆的推荐的请求。从推荐服务器66接收的推荐被显示在推荐⑶182的推荐区域204中。
[0048]第二用例示例
[0049]在另一示例用例中,用户计算设备12是移动通信设备并且经由来自移动设备位置跟踪程序46的用户活动46’检测到用户14目前位于40号州际公路沿线的田纳西州诺克斯维尔附近的卡车站餐馆对应的位置。用户14已通知个人代理程序10该用户想要接收对在北卡罗来纳州威尔明顿市和加利福尼亚州巴斯托市之间的40号州际公路沿线的提供中上品质咖啡的咖啡店的推荐。现在参考图4,用户先前已经由推荐GUI82内的用户输入界面302将这一用户推荐偏好输入到了用户的移动通信设备中。
[0050]在推荐⑶182的另一屏上,用户还向个人代理程序提供了监视日历程序42中的该用户的日历活动42’、经由移动设备位置跟踪程序46中的位置活动46’的位置、浏览器48中的浏览活动48’、电子邮件程序40中的电子邮件活动40’、电话/消息收发程序44中的电话呼叫活动44’、以及位于另一用户计算设备52 (诸如导航系统)上的地图程序58中的地图活动58’的授权。用户还输入了用户隐私设置,指示该用户的电子邮件活动40’和电话呼叫活动44’落入了不对外共享的“仅作检查”类别,而用户的日历活动42’、位置活动46’、浏览器活动48’以及地图活动58’落入了可与对推荐的请求一起发送到推荐服务器的“授权共享”类别。
[0051]通过监视来自该用户的启用GPS的移动通信设备和移动设备位置跟踪程序46的位置,个人代理程序10学习到用户在8小时前开始从用户在被卡来罗纳州默特尔克里克市的住所驾车出发并且一直在40号州际公路上向西行进。个人代理程序10还注意到用户的日历上日期为今天的共享日历项,上面写着“洛杉矶旅行”。此外,8小时前用户从导航系统上的地图程序58请求从北卡来罗纳州默特尔克里克市到加利福尼亚州洛杉矶市的路线。基于这些上下文因子,个人代理程序10作出以下推断:用户正沿40号州际公路驱车从北卡来罗纳州默特尔克里克市前往洛杉矶市。
[0052]个人代理程序注意到:当前时间是下午12:52,用户已开始在40号州际公路上驱车向西,且用户的位置在前47分钟一直在卡车站餐馆。给定该用户在午饭时间在该餐馆出现了 47分钟,暗示该用户刚刚吃完午饭,并且推断该用户将继续在40号州际公路上驱车向西,个人代理程序10作出另一推断:对沿40号州际公路的优质咖啡的用户的推荐偏好的出发条件可能发生;即,该用户可能想要在大约I小时15分钟内停下来喝咖啡,基于该用户在此旅行期间在40号州际公路上的平均驾驶速度,这对应于距用户的当前位置约83英里的一所预测的未来位置。在作出该用户可能想要在该位置附近停下来喝咖啡的推断时,个人代理程序10可能还利用整个用户群体在各种条件下的用户行为的相关机器学习。这些机器学习暗示,沿高速公路前进的用户在吃完午饭后平均I个小时20分钟会停下来喝咖啡或休息。
[0053]个人代理程序10向推荐服务器66发送对于沿40号州际公路并且优选地在距用户的当前位置大约83英里处的提供中上品质咖啡的咖啡店的推荐。推荐服务器返回对在田纳西州蒙特里的咖啡店A的推荐。田纳西州蒙特里距该用户的当前位置约88英里。从推荐服务器66接收的推荐被显示在推荐⑶182的推荐区域304中。
[0054]个人代理程序10还可应用如下规则:当用户一直在高速公路上开车2个小时而没有停下来时,向用户提供用户停下来休息或喝咖啡的建议。在本示例中,如果用户没有在咖啡店A停下而是在午饭休息之后仍驱车2小时,则个人代理程序10可向推荐服务器66发送对该用户的当前位置附近或者40号州际公路上该用户的预期路线附近的提供中上品质咖啡的咖啡店的推荐。这一规则可预设在个人代理程序10中,或可由该用户输入。
[0055]第三用例示例
[0056]在另一示例用例中,并且参考图5,用户计算设备12是移动通信设备且用户14正处于按有向轨迹352前进的汽车350中。用户14已通知个人代理程序10该用户想要接收对咖啡店的推荐。该用户还向个人代理程序10提供了监视日历程序42中的该用户的日历活动42’、经由移动设备位置跟踪程序46中的位置活动46’的位置、以及可能位于另一用户计算设备54上的社交联网程序60中的社交联网活动60’的授权。通过检查用户的社交联网活动60’,个人代理程序确定用户14有一个朋友15,该用户频繁与该朋友15见面喝饮料或吃饭。
[0057]用户的朋友15正位于按有向轨迹356前进的汽车354中。朋友15正携带者她的朋友计算设备55,该设备也是移动通信设备。朋友15也已授权个人代理程序10监视她在日历程序、移动设备位置跟踪程序以及她的朋友计算设备55上的社交联网程序中的朋友活动57。
[0058]通过监视来自该用户的移动通信设备的位置,个人代理程序10确定该用户正按有向轨迹352前进。类似地,通过监视来自该朋友的移动通信设备的位置,个人代理程序10确定该朋友正按有向轨迹354前进。个人代理程序10从有向轨迹352、354作出推断并确定这两条有向轨迹将在相交位置360相交。该个人代理程序还估算汽车350中的用户14将在约下午12:42到达相交位置360,而汽车354中的朋友15将在约下午12:44到达该相交位置。
[0059]该个人代理程序检查用户14的日历程序42和朋友15的日历程序以查看该用户和朋友在一时间段是否有空,其中该时间段包括该用户和朋友将到达相交位置360的大致时间。在本示例中,该时间段为15分钟。要理解,可使用其他时间段,诸如5分钟、30分钟、I小时或任何其他适当时间段。
[0060]基于上面确定的信息,个人代理程序10向推荐服务器66发送对相交位置360的一阈值距离(诸如一个街区)内的咖啡店的推荐的请求。也可使用其他阈值距离,诸如3个街区、10个街区或其他适当距离。推荐服务器向用户14返回以下推荐:该用户和朋友15在位于距相交位置360半个街区的咖啡店B362见面。该推荐可通知用户14预计朋友15将在约下午12:44,即预计该用户到达该相交位置2分钟后,在相交位置360。该推荐还可包括优惠券,诸如团队折扣优惠券,该优惠券对用户14和朋友15提供了在咖啡店B见面的激励。如果朋友15已提供了适当权限,则该个人代理程序10或推荐服务器66还可向朋友计算设备55发送该推荐。
[0061]现在参考图6,图6示出了根据本发明的一个实施例用于代表用户检索推荐的方法400。该方法可使用上面描述并在图1中示出的个人代理程序10和用户计算设备12的软件和硬件组件来执行,或者使用其他适当组件来执行。[0062]在402,该方法包括接收跨该用户在一用户计算设备和一个或多个其他用户计算设备上使用的多个计算机程序监视用户活动的用户授权。如同上面指出的,多个计算机程序可包括但不限于:电子邮件程序、日历程序、电话/消息收发程序、移动设备地点跟踪程序、浏览器程序、地图程序或社交联网程序。该用户计算设备还可以是启用GPS的移动计算设备。
[0063]在404,该方法包括接收一个或多个用户推荐偏好,该用户推荐偏好指示该用户想要从推荐服务器接收的产品或服务推荐。在406,该方法可包括接收用户隐私设置,该用户隐私设置指示该用户授权该个人代理程序从该多个计算机程序检查但是不对外共享的“只作检查”类别的用户活动。该用户隐私设置还可指示该用户授权该个人代理程序将其与对该推荐的请求一起发送到推荐服务器的“授权共享”类别的用户活动。
[0064]在408,该方法包括根据用户授权用该多个计算机程序监视用户活动。在一个示例中,该用户活动可包括所检测的该用户的当前位置。在另一示例中,监视该用户活动可包括基于计算可从该用户活动收集的信息的预期值来有选择地激活或访问该多个计算机程序中的至少一个计算机程序。在410,该方法包括从用户活动学习行为模式。在412,该方法还可包括基于来自用户活动的行为模式来创建附加用户偏好。
[0065]现在转向图7,在414,该方法可包括基于所检测到的该用户的当前位置、该用户的行为模式以及一个或多个上下文因子来作出以下推断:一个或多个用户推荐偏好的触发条件将发生。上下文因子可包括但不限于:日期、周几、时刻、或用户计算设备已位于在所检测到的当前位置的时间段。
[0066]在416,该方法包括根据该一个或多个用户推荐偏好来向推荐服务器发送对目标产品或服务的推荐的请求。在418,该方法包括从该推荐服务器接收该推荐。在420,该方法包括在与该用户计算设备相关联的显示器上显示该推荐。
[0067]使用上面描述的系统和方法,一个或多个计算机设备上的各种计算机程序中的用户活动可被被动地监视(在该用户明确授权的范围内),并且可从中学习用户行为模式。基于这些行为模式,可以方便地检索用户对其表达了偏好或者已推断出这种偏好的产品和服务的推荐。以此方式,用户的需求和期望可由本文描述的系统和方法来主动预计。
[0068]关于本文描述的软件和硬件操作环境,要理解,术语“模块”、“程序”以及“引擎”被用来描述由本文描述的各计算硬件设备的处理器来实现的软件组件,以执行一个或多个特定功能。术语“模块”、“程序”和“引擎”意在涵盖单个或成组的可执行文件、数据文件、库、驱动程序、脚本、数据库纪录等。
[0069]还要理解,术语“用户计算设备”可包括个人计算机、膝上型设备、移动通信设备、平板计算机、家庭娱乐计算机、游戏设备、智能电话或各种其他计算设备。而且,在一些实施例中,处理器和存储器可作为所谓的“片上系统”而被集成在共同的集成电路中,并且大容量存储可以是各种非易失性存储设备,诸如硬盘驱动器、固件、只读存储器(ROM)、电可擦除可编程只读存储器(EEPR0M)、闪存、光驱等。可为这些计算设备提供介质,所述介质包含所存储的指令,所述指令在被这些计算设备执行时致使这些设备实现本文描述的方法。这些介质可包括CD-ROM、DVD-ROM及其他介质。
[0070]应该理解,此处所述的示例实施例、配置和/或方法在本质上是示例性的,并且这些具体实施例或示例不应被认为是局限性的,因为多个变体是可能的。此处所述的具体例程或方法可表示任何数量的处理策略中的一个或多个。由此,所示出的各个动作可以按所示顺序执行、按其他顺序执行、并行地执行、或者在某些情况下被省略。同样,可以改变上述过程的次序。
[0071]本公开的主题包括各种过程、系统和配置、此处所公开的其他特征、功能、动作、和/或特性、以及其任何和全部等效物的所有新颖和非显而易见的组合和子组合。
【权利要求】
1.一种能够在用户计算设备上执行的用于代表用户检索推荐的个人代理程序,所述个人代理程序包括: 设置模块,被配置为接收对跨所述用户在所述用户计算设备和/或一个或多个其他用户计算设备上使用的多个计算机程序监视用户活动的用户授权,并且接收一个或多个用户推荐偏好,所述一个或多个用户推荐偏好指示所述用户想要所述个人代理程序从推荐服务器检索的产品或服务推荐; 监视引擎,被配置为根据所述用户授权来用所述多个计算机程序监视所述用户活动,所述用户活动包括所检测的所述用户的当前位置,所述监视引擎被配置为从所述用户活动学习行为模式;以及 推荐引擎,被配置为: 基于所检测的所述用户的当前位置、所述用户的所述行为模式、以及一个或多个上下文因子来作出以下推断:所述一个或多个用户推荐偏好的触发条件将发生; 根据所述一个或多个用户推荐偏好来向所述推荐服务器发送对目标产品或服务的推荐的请求; 从所述推荐服务器接收所述推荐;以及 在与所述用户计算设备相关联的显示器上显示所述推荐。
2.如权利要求1所述的个人代理程序,其特征在于,所述设置模块还被配置为接收用户隐私设置,所述用户隐私设置指示所述用户授权所述个人代理程序检查的数据类别。
3.如权利要求2所述的个人代理程序,其特征在于,所述用户隐私设置指定所述用户授权所述个人代理程序从所述多个计算机程序检查但是不对外共享的只作检查类别的用户活动。
4.如权利要求2所述的个人代理程序,其特征在于,所述用户隐私设置指定所述用户授权所述个人代理程序将其与对所述推荐的所述请求一起发送到所述推荐服务器的授权共享类别的用户活动。
5.如权利要求1所述的个人代理程序,其特征在于: 所述监视引擎被配置为: 确定所述用户和朋友正按将在相交位置相交的有向轨迹前进;以及 确定所述用户和所述朋友是否有空;以及 所述目标服务位于所述相交位置的阈值距离内。
6.如权利要求1所述的个人代理程序,其特征在于,所述多个程序包括电子邮件程序、日历程序、电话/消息收发程序、移动设备位置跟踪程序、浏览器程序、地图程序或社交联网程序,而所述一个或多个上下文因子包括日期、周几、日内时间、或该用户计算设备已处于所检测的当前位置的时间段。
7.如权利要求1所述的个人代理程序,其特征在于,所述监视引擎还被配置为通过基于计算可从所述用户活动收集的信息的预期值来有选择地激活或访问所述多个计算机程序中的至少一个计算机程序来动态监视所述用户活动。
8.如权利要求1所述的个人代理程序,其特征在于,所述监视引擎被配置为通过从所述推荐服务器接收聚集行为模式,并且检查所述计算机程序中的所述用户活动以获得同所述聚集行为模式在一阈值度内匹配的用户活动。
9.如权利要求1所述的个人代理程序,其特征在于,所述监视引擎被配置为基于来自所述用户活动的所述行为模式来创建附加用户推荐偏好,且其中所述触发条件包括所述用户的未来位置。
10.一种用于代表用户检索推荐的方法,包括: 接收跨所述用户在一用户计算设备和一个或多个其他用户计算设备上使用的多个计算机程序监视用户活动的用户授权; 收一个或多个用户推荐偏好,所述一个或多个用户推荐偏好指示所述用户想要从推荐服务器接收的产品或服务推荐; 根据所述用户授权来用所述多个计算机程序监视所述用户活动,所述用户活动包括所检测的所述用户的当前位置; 从所述用户活动学习行为模式; 基于所检测的所述用户的当前位置、所述用户的所述行为模式、以及一个或多个上下文因子来作出以下推断:所述一个或多个用户推荐偏好的触发条件将发生; 根据所述一个或多个用户推荐偏好来向所述推荐服务器发送对目标产品或服务的推荐的请求; 从所述推荐服务器接收所述推荐;以及 在与所述用户计算 设备相关联的显示器上显示所述推荐。
【文档编号】G06Q50/10GK103635895SQ201280032655
【公开日】2014年3月12日 申请日期:2012年6月15日 优先权日:2011年6月30日
【发明者】E·霍维茨, S·帕帕里佐斯, R·巴伽, D·伯格, V·古普塔 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1