基于活动模型的活动检测的制作方法

文档序号:14034052阅读:195来源:国知局
基于活动模型的活动检测的制作方法



背景技术:

计算机化的个人助理应用和服务可以基于用户经常访问的位置来提供对用户个性化的用户体验。这些体验可以经由诸如智能电话等移动设备来获得,因为这些设备能够为用户提供准确的位置信息。例如,如果用户的智能电话的gps传感器检测到用户处于与用户的家相关联的位置,则个人助理应用可以阻止来自用户计算设备的与工作有关的通知,直到gps传感器检测到用户处于与用户的工作地点相对应的位置。

当向用户提供足够个性化的服务时,其计算资源的消耗减少。个性化不足的服务会对资源消耗产生相反的影响。但是,个性化服务往往缺少为用户可靠地提供足够个性化的服务所需要的数据点。在这些情况下,作为提供个性化不足的服务的备选方案,系统可能不提供个性化服务。在以上任一情况下,用户可能消耗其设备和内容提供商的大量计算资源(例如,网络带宽、电池寿命、功率、存储带宽等)来搜索、下载和/或评估内容,以尝试执行被足够个性化的服务所淘汰的任务。



技术实现要素:

提供本“发明内容”是为了以简化的形式介绍将在以下“具体实施方式”中进一步描述的一些概念。本发明内容不旨在确定所要求保护的主题的关键特征或必要特征,也不旨在用于帮助确定所要求保护的主题的范围。

本公开的各方面涉及基于活动模型来检测用户的活动。在一些实施方式中,事件跟踪器检测用户事件的实例,并且活动分析器至少部分地基于传感器数据来检测用户活动的实例。活动分析器标识针对事件每个实例的候选活动,并且从事件的实例中检测与候选活动中的指定活动相对应的用户的一个或多个用户行为模式。活动分析器还从一个或多个用户行为模式来预测指定活动的语义特性的值。此外,活动分析器使用在表示指定活动的活动模型中指定活动的实例的语义特性的预测值和语义特性的实际值,来将指定活动的实例标识为实践活动。可以基于所标识的实践活动来向用户提供个性化内容。

在另外的方面,指定活动的实例可以对应于事件的相应实例,或者可以是从多个历史事件中提取的多事件活动。在某些情况下,指定活动的实例是当前活动,并且语义特性的实际值是语义特性的实时值。在其他情况下,语义特性的实际值可以是语义特性的非实时值,并且指定活动的实例可以对应于事件的特定历史实例。这些和其他概念被认为在本公开的范围内。

附图说明

以下参考附图详细描述本发明,在附图中:

图1是示出根据本公开的实施方式的示例性操作环境的框图;

图2是示出根据本公开的实施方式的示例性系统的框图;

图3描绘了示出活动分析器的功能的示例性图;

图4是示出根据本公开的实现的用于检测用户活动的方法的流程图;

图5是示出根据本公开的实现的用于检测用户活动的方法的流程图;

图6是示出根据本公开的实现的用于检测用户活动的方法的流程图;以及

图7是适于在本公开的实施方式中使用的示例性计算环境的框图。

具体实施方式

本发明的主题在本文中描述为具有特异性以符合法定要求。然而,描述本身并不意在限制本专利的范围。相反,发明人已经预期,结合其他当前或未来的技术,所要求保护的主题也可以以其他方式来实施,以包括与本文中描述的步骤不同的步骤或类似的步骤的组合。此外,虽然术语“步骤”和/或“框”在本文中可以用于暗示所采用的方法的不同元素,但是这些术语不应当被解释为表示本文中公开的各个步骤之中或之间的任何特定顺序,除非和当明确地描述了各个步骤的顺序。

本公开的各方面涉及基于活动模型来检测用户的活动。在一些实施方式中,事件跟踪器检测用户的事件实例,并且活动分析器至少部分地基于传感器数据来检测用户的活动实例。活动分析器标识针对事件每个实例的候选活动,并且从事件的实例中检测与候选活动中的指定活动相对应的用户的一个或多个用户行为模式。活动分析器还从一个或多个用户行为模式来预测指定活动的语义特性的值。此外,活动分析器使用在表示指定活动的活动模型中指定活动的实例的语义特性的语义特性的预测值和实际值来将指定活动的实例标识为实践活动。可以基于所标识的实践活动来向用户提供个性化内容。

在另外的方面,指定活动的实例可以对应于事件的相应实例,或者可以是从多个历史事件中提取的多事件活动。在某些情况下,指定活动的实例是当前活动,并且语义特性的实际值是语义特性的实时值。在其他情况下,语义特性的实际值可以是语义特性的非实时值,并且指定活动的实例可以对应于事件的特定历史实例。这些和其他概念被认为在本公开的范围内。

现在转到图1,提供了示出其中可以采用本公开的一些实施方式的示例操作环境100的框图。应当理解,本文中描述的这种和其他布置仅作为示例被阐述。可以使用其他布置和元素(例如,机器、接口、功能、顺序和功能分组等)以作为所示的那些的附加或备选,并且为了清楚起见,可以一起省略一些元件。此外,本文中描述的很多元件是功能实体,其可以被实现为离散或分布式部件或结合其他部件来实现,并且以任何合适的组合和位置来实施。本文中描述为由一个或多个实体执行的各种功能可以由硬件、固件和/或软件来执行。例如,一些功能可以由执行存储在存储器中的指令的处理器来执行。

在未示出的其他部件中,示例操作环境100包括多个用户设备,诸如用户设备102a和102b到102n;多个数据源,诸如数据源104a和104b到104n;服务器106;和网络110。应当理解,图1所示的操作环境100是一个合适的操作环境的示例。例如,图1所示的每个部件可以经由诸如结合图7描述的计算设备700等任何类型的计算设备来实施。例如。这些部件可以经由网络110彼此通信,网络110可以包括但不限于一个或多个局域网(lan)和/或广域网(wan)。在示例性实施方式中,网络110包括因特网和/或蜂窝网络、以及多种可能的公共和/或专用网络中的任何一种。

应当理解,在本公开的范围内,可以在操作环境100内采用任何数目的用户设备、服务器和数据源。每个可以包括单个设备或在分布式环境中协作的多个设备。例如,服务器106可以经由被布置在分布式环境中的、共同提供本文中描述的功能的多个设备来提供。另外,分布式环境内还可以包括未示出的其他部件。

用户设备102a到102n可以是操作环境100的客户端侧的客户端设备,而服务器106可以在操作环境100的服务器侧。服务器106可以包括被设计为结合用户设备102a到102n上的客户端侧软件来工作以实施本公开中讨论的特征和功能的任何组合。提供操作环境100的这种划分以说明合适的环境的一个示例,并且不要求每个实施方式使得服务器106和用户设备102a到102n的任何组合保持为单独实体。

用户设备102a到102n可以包括能够由用户操作的任何类型的计算设备。例如,在一个实施方式中,用户设备102a到102n可以是本文中关于图7描述的类型的计算设备。作为示例而非限制,用户设备可以实施为个人计算机(pc)、膝上型计算机、移动设备、智能手机、平板电脑、智能手表、可穿戴计算机、个人数字助理(pda)、mp3播放器、全球定位系统(gps)或设备、视频播放器、手持通信设备、游戏设备或系统、娱乐系统、车辆计算机系统、嵌入式系统控制器、遥控器、家电、消费电子设备、工作站或这些描绘的设备的任何组合、或者任何其他合适的设备。

数据源104a和104b到104n可以包括数据源和/或数据系统,其被配置为使得数据可用于操作环境100或结合图2描述的系统200的各种组成部分中的任何一个。(例如,在一个实施方式中,一个或多个数据源104a到104n向图2的数据收集部件215提供(或使得可以访问)用户数据。数据源104a和104b到104n可以与用户设备102a到102n和服务器106分离,或者可以被并入和/或集成到这些部件中的至少一个中。在一个实施方式中,数据源104a到104n中的一个或多个包括一个或多个传感器,其可以被集成到用户设备102a到102n或服务器106中的一个或多个中或者与其相关联。数据源104a到104n可用的感测到的用户数据的示例进一步结合图2的数据收集部件215来描述。

操作环境100可以结合图2中描绘的示例性计算系统架构的部件来使用,该示例性计算系统架构适合于实现本发明的实施例并且通常被指定为系统200。系统200仅表示适合于实施本发明的各方面的一个示例性计算系统架构。可以使用其他布置和元件以作为所示出的那些的附加或备选,并且为了清楚起见,可以一起省略一些元件。此外,与操作环境100一样,本文中描述的很多元件是功能实体,这些功能实体可以被实施为分立或分布式部件或者结合其他部件来实施,并且以任何合适的组合和位置来实施。在未示出的其他部件中,系统200通常包括用于基于事件的事件记录(例如,事件记录282)来推断活动的部件。系统200包括诸如数据收集部件215、存储装置220、事件跟踪器216、活动分析器260和呈现部件298等部件,所有这些部件经由网络110通信地耦合。

在一些实施方式中,由系统200的部件执行的功能与一个或多个个人助理应用、服务或例程相关联。特别地,这样的应用、服务或例程可以在一个或多个用户设备(诸如,用户设备102a)上运行,服务器(诸如,服务器106)可以分布在一个或多个用户设备和服务器上,或者在云中实施。另外,在一些实施方式中,系统200的这些部件可以分布在云中的整个网络上,包括一个或多个服务器(诸如,服务器106)和客户端设备(诸如,用户设备102a),或者可以驻留在用户设备(诸如,用户设备102a)上。与操作环境100一样,本文中描述的一些部件可以实施为一组编译的计算机指令、计算机函数、程序模块、计算机软件服务、或在一个或多个计算机系统(诸如,结合图7描述的计算设备700)上执行的处理的布置。

这些部件、由这些部件执行的功能或者由这些部件执行的服务可以在计算系统的适当的抽象层(诸如,操作系统层、应用层、硬件层等)处实施。特定地或另外地,本文中描述的这些部件的功能和/或本发明的实施方式可以至少部分由一个或多个硬件逻辑部件来执行。可以使用的示例性类型的硬件逻辑部件包括现场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、片上系统(soc)、复杂可编程逻辑器件(cpld)等。另外,尽管本文中关于示例性系统200中示出的特定部件来描述功能,但是可以设想,在一些实施方式中,这些部件的功能可以跨其他部件共享或分布。

通常,存储装置220被配置为存储在本文中描述的实施例的实施方式中使用的计算机指令(例如,软件程序指令、例程或服务)、数据和/或模型。在一些实施方式中,存储装置220存储经由系统200的各种部件接收的信息或数据,并且向系统200的各种部件提供对该信息或数据的访问。例如,存储装置220可以存储诸如以下数据和信息:关于数据收集部件215描述的用户、事件、场所和解释性数据、交互数据、推断数据、语义信息、语义特性、交互数据集、众包数据集、个体来源的数据集、用户例程模型、例程相关推断、例程相关简档、用户简档(例如,用户简档222)、场所简档(例如,场所简档224)、事件模型(例如,261)、活动模型(例如,活动模型269)和事件记录(例如,事件记录282)等。在实施方式中,存储装置220包括数据存储器(或计算机数据存储器)。尽管被描绘为单个部件,但是存储装置220可以实施为一个或多个数据存储器或者可以在云中。此外,存储装置220中的信息可以以任何合适的方式跨用于存储的数据存储器分布。

数据收集部件215通常负责从一个或多个数据源(诸如,图1的数据源104a到104n)获取、访问或接收(并且在一些情况下还标识)用户数据、场所数据和解释性数据。用户数据对应于关联于一个或多个用户所获取的数据。如本文中使用的,用户可以对应于用户简档(诸如用户简档222之一),用户简档可选地可以与用户账户相关联,用户账户包括用户名、密码、用户设备(例如,媒体访问控制地址)、因特网协议(ip)地址、通用唯一标识符(uuid)和/或其他用户标识符中的一个或多个。在一些情况下,用户数据可以不直接与用户账户相关联,而是可以与已知或指定为对应于同一用户的另一用户账户相关联。例如,用户简档222之一可以链接到可以在另一系统或其他系统中的一个或多个其他用户账户。作为示例,同一用户可以具有账户、账户、账户、账户、账户、账户、银行账户、账户和xbox账户,每个账户可以与用户的用户数据相关联,并且可以从每个账户中提取语义信息。

场所数据对应于关联于一个或多个场所收集的数据。“场所”可以指代人们可以亲自进行某些活动的物理位置。场所的示例包括但不限于特定的:商店、餐馆、剧院、运动场、工厂和办公楼。如本文中使用的,场所可以对应于场所简档(诸如场所简档224之一),场所简档可以与场所的相应标识符(id)以及可选的各种语义特性(例程(routine)特性和/或偶发(sporadic)特性)相关联,包括场所的名称、场所的类别、场所的位置或区域等。

可以用来推断事件和/或活动实例的语义特性的示例包括用户和/或位置(例如,地理区域或地点)的例程特性。例程特性对应于对于位置或用户而言是例行的、常见的地点或常规的语义特性。例程特性可以可选地使用事件跟踪器216和/或活动分析器260来推断(例如,这个用户经常吃快餐,或者在这个位置的用户经常吃快餐,或者在这个位置经常下雨)。偶发特性可以对应于对于位置或用户而言是不规律的、偶然的或孤立的位置或用户的特性。

特性是例程特性还是偶发特性可以取决于系统的观点、理解和知识。例如,例程特性和偶发特性都可以是由系统发现的推断特性类型。例程特性可以是由系统确定为是由系统检测和跟踪的例程模型(例如,场所访问、访问模式、活动模式和/或行为模式、或例程)的部分的特性。偶发特性可以是由系统确定的特性,而不是由系统检测和跟踪的位置或用户实践的已知例程的部分(例如,不是已知实践例程的部分的事件与可以是或不是已知实践例程的部分的事件)。在某些情况下,偶发或例程特性可以从多个特性中推断,多个特性可以包括至少一个例程特性或偶发特性。

用户的例程特性的一些示例包括用户偏好,诸如美食偏好、品牌偏好、电影偏好、音乐偏好、父母身份(即,用户是否为父母)、人口统计信息(例如,年龄、性别、婚姻状况、订婚用户、结婚用户、单身用户、识字/教育、就业状况、职业、居住地点)、例行访问的场所(例如,用户中心)、用户对一周的特定数据重复执行活动或事件、或在一天的特定时间等。用户的偶发特性的示例包括用户生病、用户渴望快餐、用户工作迟到、用户与预期的跟踪例程分歧或矛盾、用户正在休假、用户的特定个人事件(诸如婚礼)等。

位置(例如,场所)的例程特性的示例包括类型、效用(utility)或商家类别(例如,餐馆、零售店、咖啡店、健身房、电影院、娱乐、工作、办公室等)、特定场所连锁类别(诸如,)、在该位置提供的美食、与该位置相对应的场所的营业时间、对该位置的峰值访问次数、特定位置的访客的总计收入总数、特定位置的定期销售或其他事件(例如,年度销售)、总计访客人口统计、总计访客特性等。偶发特性的示例包括在特定日子或在特定时间在特定位置发生的特定音乐会、对特定位置的访客和/或在特定位置附近的访客或交通(例如,人或车辆)的非预期的高峰、特定位置的当前天气情况、在特定位置发生不寻常的事件或活动等。

解释性数据对应于用于补充系统200中信息的解释的数据。在这一点上,系统200中的各种部件中的任一个可以使用解释性数据来支持基于系统200可用的信息(诸如语义特性和交互数据)的推断。解释性数据可以被系统200的各种部件中的任何部件使用来向信息提供上下文,以支持在系统200中做出的推断。作为示例,交互数据(例如,用户数据)可以指示用户在特定位置,而解释性数据可以包括用来推断用户由于暴风雪而不在该位置的棒球场的天气信息。推理的类型在整个本申请中都适用。

由数据收集部件215获取的数据(包括用户数据、场所数据和解释性数据)可以由数据收集部件215从各种来源来收集,在各种来源中数据可以以各种格式可用。用户或场所数据的示例包括从一个或多个传感器导出的数据,该一个或多个传感器可以对应于图1的数据源104a到104n中的任何一个数据源。如本文中使用的,传感器可以包括用于感测、检测或以其他方式从数据获取信息(诸如用户数据或场所等)的功能、例程、部件或其组合,并且可以实施为硬件、软件或两者。作为示例而非限制,用户或场所数据可以包括从一个或多个传感器(在本文中称为“传感器数据”)感测或确定的数据,诸如移动设备的位置信息、智能手机数据(诸如,电话状态、收费数据、日期/时间、或从智能手机导出的其他信息)、用户活动信息(例如:应用使用;在线活动;搜索;诸如自动语音识别等语音数据;活动日志;通信数据,包括来电、文本、即时消息和电子邮件;网站帖子;与通信事件相关联的其他用户数据;等等)(包括在多于一个用户设备上发生的用户活动)、用户历史、会话日志、应用数据、联系人数据、日历和时间表数据、通知数据、社交网络数据、新闻(包括搜索引擎或社交网络上的流行或趋势项目)、在线游戏数据、电子商务活动(包括来自诸如microsoft账户、amazon.com、ebay、paypal或xboxlive等在线账户的数据)、用户账户数据(其可以包括来自用户偏好的数据或与个人助理应用或服务相关联的设置)、家庭传感器数据、设备数据、全球定位系统(gps)数据、车辆信号数据、交通数据、天气数据(包括天气预报)、可穿戴设备数据、其他用户设备数据(其可以包括设备设置、概况,诸如wi-fi网络数据或配置数据等网络连接、关于型号、固件或设备、设备配对的数据,诸如用户具有与蓝牙耳机配对的移动电话的位置)、陀螺仪数据、加速度计数据、支付或信用卡使用数据(其可以包括来自用户的paypal账户的信息)、购买历史数据(诸如,来自用户的amazon.com或ebay账户的信息),可以由传感器(或其他检测器)部件感测或以其他方式检测的其他传感器数据(包括从与用户相关联的传感器部件导出的数据(包括位置(location)、运动、取向、地点(position)、用户访问、用户活动、网络访问、用户设备收费或者能够由一个或多个传感器部件提供的其他数据))、基于其他数据导出的数据(例如,可以从wi-fi、蜂窝网络或ip地址数据导出的位置数据)、以及可以如本文所述地感测或确定的几乎任何其他数据源。

在一些方面,可以将数据中的至少一些作为输入信号提供给系统200的各种部件。输入信号可以对应于来自相应的源或传感器(诸如上述各种源或传感器中的任一种)的数据的馈送。用户信号可以指代包括来自相应数据源的用户或场所数据的馈送的输入信号。例如,用户信号可以来自智能手机、家庭传感器设备、gps设备(例如,用于位置坐标)、车辆传感器设备、可穿戴设备、用户设备、陀螺仪传感器、加速计传感器、日历服务、电子邮件帐户、信用卡帐户或其他数据源。类似地,场所信号可以指代来自相应数据源的场所数据的馈送。例如,场所信号可以来自温度计、富站点摘要(rss)文档、twitter用户、气压计、场所网站或其他数据源。

在本公开的一些方面,用户数据包括交互数据,交互数据可以从与用户相关联或者在一些情况下与多个用户相关联的多个用户设备(诸如,图1的用户设备102a到102n)处接收。以这种方式,可以接收来自用户使用的多个用户设备(例如,用户的移动电话、膝上型计算机、平板电脑等)的特定用户的用户活动作为交互数据。交互数据可以被数据收集部件215接收、获取或访问并且可选地累积、重新格式化和/或组合,并且被存储在一个或多个数据存储装置(诸如存储装置220)中。例如,至少一些交互数据可以存储在用户简档222之一中或与用户简档222之一相关联,如本文所述。一个或多个数据存储器因此可以可用于活动分析器260、事件跟踪器216和呈现部件298。

在一些实施方式中,数据收集部件215被配置为对反映由一个或多个传感器针对个体用户所检测到的用户活动的交互数据(“个体来源的交互数据”)进行累计。在一些实施方式中,数据收集部件215被配置为对与多个用户的用户源交互相关联的交互数据(“众包交互数据”)进行累计。任何个人标识数据(即,具体标识特定用户的交互数据)可以不从具有交互数据的一个或多个数据源上载、可以不被永久存储、和/或可以不可用于活动分析器260、事件跟踪器216和/或呈现部件298。可以处理至少一些交互数据以生成事件记录282,这将在下文进一步详细描述。

交互数据可以从各种来源处接收,在各种来源中数据可以以各种格式可用。例如,在一些实施方式中,由数据收集部件215累积的用户数据经由与用户设备(诸如,用户设备102a和/或与用户相关联的其他设备)、服务器(诸如,服务器106)和/或其他计算设备相关联的一个或多个传感器来接收。

用户数据、场所数据和解释性数据可以由多种可能的数据源和/或数据系统随时间连续地收集。所期望的是:用户数据和场所数据的收集和积累为个人、企业和公共部门组织提供强大的隐私和数据保护。在这方面,用户以及在适当情况下的场所被赋予对涉及相关数据的很多方面的控制,包括选择加入或选择退出数据收集和/或本文中描述的各种跟踪或分析特性中的任何特性的能力。此外,在未经用户或帐户管理员明确同意的情况下,应当实施保护措施,以保护敏感数据不被其他各方(包括其他用户)访问。此外,收集的任何数据旨在将尽可能是匿名的。

除了从数据源获取数据之外,数据收集部件215还可以从用户数据、场所数据或可以包括在所获取的数据中的其他数据的任何组合中提取诸如用户、地理图块和/或场所的明确和/或推断的语义特性等语义信息。用户所提取的语义特性可以与一个或多个用户简档(诸如,用户简档222)相关联地存储。另外,所提取的场所的语义特性可以与一个或多个场所简档(诸如,场所简档224)相关联地存储。所提取的活动和/或事件的语义特性可以与活动模型269的一个或多个活动简档(诸如在事件记录中或其他地方)相关联地存储。

明确语义特性对应于明确信息,其可以是来自用户的明确信息,或者来自数据源(例如,网页、文档、文件、黄页、地图、索引等)的明确信息,信息从该数据源被提取。作为示例,明确信息可以从用户所输入的喜欢和不喜欢的数据记录中被提取到与用户简档222之一相关联的用户简档中。作为另一示例,数据可以从社交媒体网站上的“喜欢按钮”记录喜欢,其被提供给系统200。作为另一示例,明确信息可以包括从黄页中提取的场所名称和/或类别。

通过提取推断的语义特性,对用户、场所和活动的深入理解可用于系统200。推断的语义特性可以由系统通过从可用于系统200的任何信息进行推断来被发现。这包括用户和场所数据的任何组合、以及一个或多个用户、场所和/或地理图块(例如,用户)的先前提取的明确和/或推断的语义特性。在一些实施方式中,随着附加信息可用于推断,推断的语义特性可以随时间更新。例如,附加信息可以用来确定一个或多个推断的语义特性不再适用于一个或多个用户、场所和/或活动。例如,这可以是用户、场所和/或活动的性质的变化的结果、和/或基于附加信息对用户、场所和/或活动或世界有更好理解的系统200的结果。在一些情况下,推断的语义特性基于可用于系统200的信息变得陈旧或者不可靠,而随着时间附加地或替代地更新。在推断的语义特性改变的情况下,可以更新基于语义特性的任何信息。

在一些情况下,可以利用事件跟踪器216来帮助由系统200中的各种部件中的任何部件生成推断。事件跟踪器216被配置为从交互数据(诸如,用户和场所数据)中标识和跟踪一个或多个用户、场所和/或活动的事件以及可选的例程或模式。“例程”或例程模式可以按照构成例程的一个或多个循环事件或活动来定义。“事件”或事件模型可以对应于与用户、场所或活动相对应的一个或多个定义的动作、行为和/或活动,并且可以从用户和/或场所数据中检测到并且由系统200跟踪。事件可以是在定义的条件下,诸如一天中的时间、一周中的某一天、位置或者与用户相关联的其他模式或其他可检测的行为,诸如与地理位置相关的动作、位置的语义、用户与谁在一起、天气情况等。可以由事件跟踪器216分析各种跟踪特征,以确定这些定义的条件是否已经满足,如将在下面进一步详细讨论的。

通常,系统200包括一个或多个事件模型(例如,概率模型),诸如事件模型261。可以由相应事件模型可检测的用户行为的示例包括:用户驾驶汽车、搜索互联网、启动流媒体电影应用或服务、进行预订、撰写评论、预约出租车、启动特定应用、骑自行车、在特定餐馆吃东西、在地理区域、在地理位置、参加会议、引起传感器从移动设备读取、去健身房、和在工作、启动服务内容项目、与服务内容项目交互、收听歌曲或视频、下载服务内容项目、处于地理位置位置、参加会议、和/或其任何组合、以及更多的可能性。一些事件可以是位置模糊的,而另一些可能是位置依赖的。换言之,一些事件可能要求检测到用户的一个或多个位置已经发生,而其他事件可能不需要检测到的位置。在一些情况下,事件包括:用户访问可以由事件跟踪器216标识和选择的场所(诸如,特定场所)。注意,到所有事件场所可以与例程模型(例如,概率模型)。但是,在很多情况下,事件可以不与例程模型相关联。

事件跟踪器216可以存储在跟踪用户、场所和/或活动的例程和/或事件时所采用的各种数据中的任何数据,以分别作为用户跟踪数据、场所跟踪数据和活动跟踪数据。随着数据被周期性地分析,并且新的事件、例程和活动被发现、修改、或者与用户、场所和/或地理图块分离,事件跟踪器216可以随着时间更新跟踪数据。可以从跟踪的数据推断用户、场所和活动的一个或多个语义特性。因此,应当理解,也可以基于数据来为用户更新和发现诸如美食偏好、电影观看模式等语义特性。而且,这些语义特性可以被馈送到诸如事件跟踪器216等各种部件中,以支持新的推断或更新旧的推断。

由数据收集部件215获取并且由事件跟踪器216处理的数据聚集在一起,形成涉及用户和场所的事件实例的模式的详细记录。这些模式可以向系统200提供理解和知识,并且可以由系统200的各种部件(包括事件跟踪器216和呈现部件298)标识和检测。例如,呈现部件298可以采用事件实例的这些模式中的至少一些(例如,使用事件记录)向(例如,与用户简档222相关联的)用户推荐服务内容项目。

然而,由事件模拟的用户行为可能不足以真正理解行为背后的语义。例如,用户通常出于特定目的来执行事件,作为特定活动的部分。

事件模型261适合于检测特定类型的行为,诸如场所访问、网页浏览活动和特定行为模式的其他事件。然而,事件模型261可能不适合从事件来直接检测用户的特定活动。例如,将每个活动表示为针对大量活动的事件模型可能需要大量具有高度特定的跟踪特征和条件的事件模型。这些事件模型通常会在跟踪事件与事件条件之间具有大量的冗余和交叠。例如,在事件模型表示访问场所的个人的情况下,事件可以是同时进行的多个活动(例如,购物、家庭出游、购物、购买杂货、跑腿等)的一部分。直接从事件模型捕获这些活动中的每个活动需要单独的事件以及针对每个活动的所有相关联的处理和存储。

此外,将每个活动表示为事件内在地将活动绑定到由事件表示的特定行为和语义。然而,某些类型的活动可以不被绑定到特定的行为和语义(例如,基于场所访问的事件和基于网页浏览的事件都可以被认为是购物活动)。检测这些类型的活动可能是可取的。因此,在不同上下文中检测相同活动所需要的事件模型以及相关联的数据和处理的数目将会增加。

因此,基于事件和事件的模式所提供给用户的个性化服务虽然有帮助,但是可能不像所期望的那样与用户的活动是上下文的和相关的。根据本公开的各种实施方式,除了事件模型之外还提供活动模型(例如,活动模型269)。每个活动模型(例如,概率模型)定义活动的用户行为(包括跟踪特征和条件),或者检测和/或标识活动。

在一些方面,活动分析器260被配置为为事件的每个实例分析和/或检测用户的一个或多个活动。因此,可以利用事件模型的相同实例来检测和标识用户的多个活动。此外,可以利用相同的事件模型来在事件的不同实例中检测和标识用户的不同活动集合。因此,事件模型及其相关联的存储和处理的基础行为可以被极大地利用,以减少资源消耗。

每个事件模型和活动模型可以在由模型定义的跟踪特征和/或条件方面来区分。应当注意,跟踪特征可以从本文中描述的各种类型的数据中的任一种导出,包括感测的用户数据、场所数据、以及用户、场所、事件和/或活动的语义特性,包括例程特性、偶发特性、推断的特性和/或明确特性。事件跟踪器216分析和处理由事件模型定义的这个信息。此外,活动分析器260分析和处理由活动模型定义的这个信息。

活动模型可以表示多个定义的用户动作的类或用户动作的分组(例如,事件模型),其可以是在定义的条件下,诸如一天中的时间、一周中的某一天、位置或者与用户相关联的其他模式或其他可检测的行为,诸如与地理位置相关联的动作、位置的语义、用户与谁在一起、天气情况等。

因此,应当认识到,在各种实施方式中,活动实例对应于一类一个或多个事件实例。例如,基于用户网页浏览的事件模型的实例可以对应于多个活动,诸如购物、购买电影票、阅读新闻、和/或进行餐馆预订。作为另外的示例,基于用户访问场所的事件模型的实例可以对应于多个活动,诸如购物、观看电影、搭载家庭成员、吃晚饭等。

从上述示例中应当清楚,在一些情况下,活动实例可以独立于特定事件模型而存在。例如,在每个上述事件中,用户正在进行购物活动,但是以非常不同的方式进行购物。通过从可以来自不同事件模型和/或实例的事件中抽象出活动,可以发现和利用其以其他方式潜在地位于交互数据中的活动中的模式。例如,可以基于从多个事件检测到的活动以及可选的由这些检测到的活动形成的模式来向用户提供个性化服务。

在另外的方面,活动模型可以具有相应的活动简档245,其标识与用户相关联的活动。活动简档可以包括针对用户对活动进行个性化的信息,诸如与针对用户所检测和/或标识的活动的实例相关联地提取的活动的语义特性。活动简档提供对由活动模型的活动实例为用户形成的各种模式的附加洞察。例如,可以由活动分析器260和事件跟踪器216利用该信息来帮助对事件的活动进行标识和/或排序(例如,当它们正在发生时或在它们发生之后)和/或修改事件的活动的先前的标识和/或排序。

在各种实施方式中,可以利用活动的活动简档来标识独立于特定事件的活动的实例。例如,可以至少部分地基于一个或多个推断来标识活动,该一个或多个推断通过关于活动简档的一个或多个跟踪特征来对从当前感测的交互数据导出的一个或多个跟踪特征进行评估(或分析)而确定。

因此,可以利用从用户的活动的多个实例中所提取的活动的历史语义特性来标识活动的新的实例。用于生成活动的语义特性的用户例程模型使用与先前感测的交互数据相关联的数据来训练,以便标识新的活动实例。这样做,活动分析器260可以对当前感测的交互数据与从将活动与事件相关联而检测到的历史模式之间的一致性水平进行量化。因此,这些信息可以用来提供活动发生的强烈的迹象或信号。例程信号或特性可以同与特定实例相对应的偶发信号或特性(例如,用于在线或实时检测和标识的当前感测的交互数据、或者用于离线或非实时检测和标识的先前感测的交互数据)一起被包括在用于检测活动的特性中。

如上所述,活动和/或事件的一个或多个跟踪特征可以由其相应模型定义。一个或多个跟踪特征的值可以可选地与用户相关联地存储,例如关于用户简档222中相对应的用户建档以用于稍后使用。跟踪特征可以对应于多种用户数据中的任何一种,其示例已经在上面进行了描述,并且包括可以由一个或多个传感器感测的交互数据或传感器数据或读数(诸如,关于位置(location)、地点(position)、运动/取向、用户访问/触摸、连接/断开充电器、应用交互、用户设备上的用户活动的与用户设备相关联的信息、或者可以由一个或多个传感器(诸如在移动设备中找到的传感器)感测的其他信息)、gps坐标样本等。

应当理解,跟踪特征的值可以与一个或多个事件和/或活动相关联,并且不需要是事件或活动特定的。图2示出了可以与事件或活动相关联的跟踪特征的各种示例。在一些情况下,跟踪数据包括可以存储或以其他方式指示与例程、活动和/或事件相关联的各种数据中的任何数据的记录,诸如例程的事件、事件的活动和/或与这些事件或活动的跟踪特征相关联的值。一个这样的示例包括事件记录282,这将在下面进一步详细描述。然而,各种单独的记录可以用于活动和例程。

如图所示,事件记录282存储在存储装置220中。事件记录278对应于事件的相应实例,并且可以表示可以针对特定事件模型、活动模型和/或例程模型所存储的跟踪特征的值的类型。跟踪特征是由事件跟踪器216和/或活动分析器260关于事件和/或活动的相应检测到的实例所分配和/或记录的变量。跟踪特征可以对应于各种用户数据或场所数据中的任何一种,其示例已经在上面进行了描述并且包括可以由一个或多个传感器感测的传感器数据或读数(诸如,关于位置(location)、地点(position)、运动/取向、用户访问/触摸、连接/断开充电器、用户设备上的用户活动的与用户设备相关联的信息、或者可以由一个或多个传感器(诸如在移动设备中找到的传感器)感测的其他信息)、gps坐标样本等。

如关于事件记录278所示,每个记录可以包括位置(例如,位置284)、语义特性(例如,语义特性286)和时间戳(例如,时间戳288)的任何组合、和一个或多个活动得分(例如,活动得分289)。

实例的时间戳(例如,时间戳288)对应于事件模型、活动模型和/或例程模型的实例,并且可以指示实例关于模型的其他实例和可选的在系统200内所跟踪的一个或多个其他模型的实例的相对次序或顺序。

实例的位置(例如,位置284)对应于事件模型、活动模型和/或例程模型的实例,并且标识与模型的实例相关联的地理位置(例如,检测到模型的用户交互和/或行为所发生的地方)。位置可以包括适合于系统200将模型的实例与指定的地理区域或点相关联的任何信息。

位置的示例是系统200可以在地理区域内所确定的地理点(例如,地理坐标)。另一示例是地理区域或图块的标识符。另外的示例是系统200可以在地理区域或图块内或者在地理点处标识的场所id(例如,与场所档案224之一相关联)。在一些实施方式中,事件跟踪器216可选地推断用户与事件相关联地访问的场所,并且基于所标识的场所(或潜在地标识的候选场所)来生成位置。

用于记录的位置可以可选地至少部分地基于一个或多个空间样本,诸如空间时间样本。空间时间样本可以对应于对在特定时间在特定位置的特定事件、活动、例程、用户和/或设备进行标识的数据。例如,空间时间样本可以包括地理位置和与地理位置相对应的时间戳。事件跟踪器216可以使用时间戳作为记录的时间戳,或者可以使用它来生成该时间戳(例如,多个时间戳的平均值或中值)。地理位置可以包括诸如纬度和经度等位置坐标、以及可能的指示地理位置准确性的测量不确定性信息。

在空间时间样本由诸如gps接收器等传感器提供的情况下,时间戳与其gps坐标一起可以由传感器生成,例如在由传感器确定和/或测量位置的时间或者与该时间相关联。在一些情况下,可以从一个或多个用户信号中提取位置数据,以提供被聚合到事件、活动或例程的位置中的位置数据流。这可以包括使用空间时间样本的聚类分析,并且可以考虑其他形式的位置数据和算法以到达针对事件实例记录的位置。

虽然描述了gps接收器,但是用于确定针对记录的位置的位置数据可以至少部分地由数据收集部件215使用以下方法中的任意方法来提取:用于确定事件、活动和/或例程的用户的位置以及可选的对应于该位置的时间的各种方法。在一些实施方式中,例如,位置数据可以使用wi-fi接入点迹线和/或蜂窝跟踪来生成。用户可以在用户设备102a上,用户设备102a能够与来自一个或多个wi-fi接入点和/或蜂窝网络的信号交互。数据收集部件215可以至少部分地基于这些交互信号来定位用户并且相应地生成位置数据,使得事件跟踪器216可以使用位置数据来定位用户。作为示例,位置数据可以基于检测这些网络中的一个或多个,并且可以包括对应于网络的一个或多个网络名称和/或网络标识符。事件跟踪器216可以使用位置数据来将网络映射到对应于用户的位置,或者可以以其他方式利用从交互信号得到的信息(例如,可选地与空间时间样本结合)。

记录的语义特性(例如,特性286)通常表示模型的实例的语义特性,而不是图2中明确示出的那些语义特性(例如,时间和位置)。如上所述,语义特性可以采取各种形式(例如,偶发的、例行的、推断的显示的),并且可以用作跟踪特征的输入,或者可以是作为其值。

在一些实施方式中,活动的每个实例与事件的相应实例相关联。因此,可以利用实例的各种语义特性,诸如时间戳、位置和语义特性中的一个或多个。例如,时间戳可以用作活动的实例的时间戳,并且位置可以用作活动的位置。附加地或备选地,可以基于来自多个实例事件的语义特性来生成活动的至少一些语义特性。例如,可以通过聚合与该活动相对应的事件实例的时间戳和/或位置来生成活动的实例的时间戳和位置。

如图所示,活动分析器260包括历史分析部件260a和当前分析部件260b。参考图3,图3示出了对图的活动分析器260的功能性进行图示的示例性图。图3示出了分别对应于图2中的历史分析部件260a和当前分析部件260b的历史分析部件360a和当前分析部件360b。历史分析部件360a被配置为关于历史事件实例(诸如历史事件310a、310b、310c和310d)来分析活动模型。

在各种实施方式中,历史分析部件360a被配置为检测和/或标识关于历史事件的活动的实例。例如,可以将语义特性286应用于每个活动模型269,以确定哪个活动模型(如果有的话)对应于事件的实例。稍后将更详细地描述应用于活动模型的示例性特性。在一些实施方式中,历史分析部件360a向正在关于事件的实例被分析的每个活动模型分配活动得分。例如,图3示出了活动得分312a、312b、312c和312d。每个活动得分对特定活动模型对应于事件实例的置信度水平进行量化。活动得分由其相应的活动模型输出,并且可以通过将各种机器学习算法中的任何一种应用于跟踪特征来生成。

事件的实例的活动得分可以可选地用作针对该事件的活动的排序。因此,来自多个活动模型的活动得分可以针对相对排序进行被跨模型地标准化。得分的活动模型可以表示事件实例的候选活动。如本文中使用的,活动实例可以是候选活动或标识的活动(在本文中也被称为“实践活动”)。标识的活动对应于活动分析器260确定为可能已经发生的活动模型。标识的活动可以从候选活动中选择。类似的术语用于事件的实例。在一些实施方式中,活动分析器260基于活动得分来将一个或多个候选活动指定为针对事件实例的标识的活动。例如,基于其活动得分超过阈值数值,可以将候选活动指定为标识的活动。每个活动模型可以具有用于被标识的相对应的阈值数值,其可以是针对该活动模型而机器学习的。在其他情况下,单个阈值数值可以应用于事件实例的所有活动得分。

在已经标识了事件的一个或多个活动时,呈现部件298可以基于特定活动或标识的活动、并且可选地基于事件的特定实例来向用户提供个性化服务。个性化服务可以例如基于事件和/或活动的语义特性。

在另外的方面,活动分析器260可以从多个历史事件中提取和标识活动实例,诸如图3所示的活动308(即,多事件活动)。这样做,活动分析器260可以将各种形式的模式匹配算法应用于事件的历史实例(包括跟踪特征、活动得分等)。作为一个具体示例,对于给定的活动模型,活动分析器260可以选择具有与活动模型相对应的标识的活动事件的每个实例。可以使用其他选择标准,诸如事件的时间戳的新近度(recency)和/或其他语义特性。在一些情况下,基于所选择的历史事件,活动可以可选地被标识为由用户实践或者针对用户是例程的。作为一个具体示例,在所选择的历史事件的数目超过阈值数目的情况下,活动可以被标识为实践活动。

在另外的方面,可以关于用户针对活动模型提取语义特性。例如,活动分析器260可以分析所选择的历史事件的语义特性的模式。作为示例,对于可以存在或不存在于所有历史事件中的给定语义特性,活动分析器260可以使用针对活动的例程模型来标识模式或例程。活动的这些基于模式的特性(即,例程特性)可以与用户的活动模型相关联地存储。在特定实施方式中,实践活动和/或其语义特性(例如,语义特性315)可以存储在用户的相应活动简档245中。

已经标识了用户实践的一个或多个活动,呈现部件298可以基于特定活动并且可选地基于所选择的历史事件,来为用户提供个性化服务。个性化服务可以例如基于历史事件和/或活动的语义特性(例如,例程特性)。

根据上文中应当理解,用户、事件、活动和/或场所的例程特性可以基于由用户数据和/或从其中提取的数据(诸如语义特性)形成的模式。可以采用用户的检测和/或标识的事件和/或活动的模式来标识用户的例程特性和/或检测与例程特性的分歧。此外,可以利用这些模式来标识事件和/或活动的新的或同时发生的实例,并且加强或重新评估历史事件和/或其标识的活动。作为示例,图3中的当前分析部件360b可以利用活动308的语义特性315作为跟踪特征,以用于检测和标识事件和/或活动的新的实例或者细化先前标识的活动和/或先前确定的活动得分。

图3示出了部分地基于与活动模型相关联的用户的语义特性(诸如,语义特性315)检测到的当前事件320。在一些实施方式中,语义特性315可以表示用户的语义特性的预测。以下关于计算后验预测分布来描述示例性预测方法。在一些实施方式中,语义特性被用作活动模型的一个或多个特性的输入。活动模型的语义特性可以补充用于确定用户在事件和/或活动的实例中目前是活跃的语义特性(即,当前实例的实际语义特性)的同时感测值的或实时值。可以通过应用dirchlet多项模型并且使用同时感测的语义特性和预测的语义特性(例如,比较两者)来计算每个时间段直方图的后验预测分布,从而计算特性的置信度得分。

与用于推断和标识历史事件的活动的离线模式相比,用于标识同时事件(例如,当前事件320)和/或活动的这些推断可以被称为在线模式。然而,应当理解,与用于从历史事件中标识活动的语义特性的非实时值(即,历史实例的实际语义特性)相比,对应于语义特性315的这些预测可以更离线地进行。此外,这些预测可以在系统对用户的典型行为进行量化的任何时间使用。

活动得分330可以基于各种活动模型而在在线模式期间生成。可以从活动得分330中标识一个或多个活动,类似于上面关于历史事件描述的。但是,应当注意,活动模型可以使用针对在线模式而不是离线模式的不同功能集合。

已经标识了用户的一个或多个当前活动,呈现部件298可以基于特定活动并且可选地基于当前的事件实例来向用户提供个性化服务。个性化服务可以例如基于当前活动、事件和/或历史事件和/或活动的语义特性(例如,例程特性)。通过在在线模式下标识活动,可以在活动发生时向用户提供个性化服务,以帮助用户执行活动或以其他方式向用户提供时间敏感的信息。

应当注意,在一些实施方式中,当前事件320不对应于特定的标识的事件模型或事件(例如,事件模型261之一)。具体地,活动的实例可以从活动模型本身和与实践活动相关的语义特性中来推断。如图所示(例如,针对离线模式),当前事件可以可选地并入历史事件中并且由历史分析部件360a使用。因此,某些历史事件可以不基于相对应的事件模型,或者事件模型可以随后与当前事件相关联。

如图3中进一步指示的,从历史事件聚集的活动模型的语义特性(例如,语义特性315)可以可选地向历史分析部件360a提供反馈,以调节活动得分和针对事件的标识的活动实例。因此,事件的特定实例的活动得分可以基于针对跨在语义特性中所传达的多个事件的该活动的模式。作为示例,通常在周五购物的用户在周五发生的事件期间更有可能购物。这种模式可以从多个历史事件中可检测,但是从单独一个历史事件中不可检测。

以下描述由例程模型利用的用于生成例程特性的模式检测的示例性方法,其中事件或活动的每个实例具有形成模式的跟踪特征的相应历史值。事件跟踪器216和活动分析器260可以针对模式评估跟踪特征值的分布。在以下示例中,事件和/或活动的跟踪特征是与建模的活动或事件的实例相对应的时间戳。然而,应当理解,在概念上,以下可以应用于不同类型的历史值。此外,可以应用某些选择标准来过滤从其提供用于模式检测的值的事件和/或活动。

一袋时间戳(即给定跟踪特征的值)可以被表示为并且映射到一周中的小时和天的二维直方图。二维直方图可以包括事件实例的总和,诸如:

该直方图可以用于确定导数直方图。例如,星期直方图中的一天可以对应于:

hj=σihij。

一天直方图中的一小时可以对应于:

hi-∑jhij。

作为另外的示例,可以以下列形式为特定语义时间分辨率确定一个或多个直方图:

hic=∑j∈chij。

可以采用各种语义时间分辨率中的任何一种,诸如工作日和周末、或者上午、下午和晚上。后者的示例是其中c∈{早晨,下午,晚上},早晨={9,10,11},下午={12,13,14,15,16},晚上={21,22,23,24}。

用于表示事件的附加数据结构可以包括具有至少一个时间戳的每个日历周中的不同时间戳的数目,其可以被表示为:

处于第i到第j周时间段内}。

作为示例,可以表示在可用时间戳的第二个3周时间段期间的不同时间戳的数目。n(j)可以用来表示跟踪数据中可用的j周时间戳的数目,例如,n(3)表示时间戳中可用的三周时间段的数目。

可以生成置信度得分,其对由跟踪特征中的历史值形成特定模式的确定性或置信度水平进行量化。在下面的示例中,利用贝叶斯统计来应用上述原理。

在一些实施方式中,可以针对由变化的分辨率的时间间隔索引的相应跟踪特征来生成置信度得分。对于时间戳,示例包括星期二上午9点、工作日上午和星期三下午。置信度得分可以通过应用dirchlet多项式模型、并且计算每个时间段直方图的后验预测分布来计算。这样做,特定直方图中的每个仓(bin)的预测可以由下式给出:

其中k表示仓的数目,α0是对现有知识的强度进行编码的参数,并且t*=argmaxixi。然后,模式预测是对应于i*的直方图的柄,并且其置信度由i*给出。作为示例,考虑其中早晨=3,下午=4,并且晚上=3的直方图。使用α0=10,模式预测是下午,并且置信度得分是根据各种实施方式,更多的观察得到更高的置信度得分,指示对预测的置信度增加。作为示例,考虑其中早晨=3000,下午=4000,并且晚上=3000的直方图。使用类似的计算,置信度得分为

另外,在一些实施方式中,可以为由时间段和时间戳数目索引的相应跟踪特征生成置信度得分。示例包括每周访问1次和每2周访问3次。使用高斯后验,可以针对每个时间段分辨率的模式生成置信度得分,表示为j。这可以通过采用以下公式来完成:

其中

在前文中,σ2是样本方差,和μ0是公式的参数。可以通过如下在时间戳预测的数目周围采取固定间隔、并且计算累积密度来计算置信度得分:

其中

作为示例,考虑以下观察:n(1)=4和n(2)=2。使用μ0=1和μ(1)=4.075和conf1=0.25。此外,μ(2)=10.31和conf2=0.99。在前面的示例中,虽然在两周的时间段内有较少的时间戳可用,但是用户信号的方差减小导致模式存在的置信度增加。

已经确定了模式存在或模式的置信度得分足够高(例如,超过阈值数值),系统可以使用这些值中的一个或多个值来标识例程对应于用户和/或例程的一个或多个实例或预测实例偏离还是符合例程。

作为示例,系统可以确定例程的跟踪特征的值与模式之间的一致性水平。例如,这种方法可以由当前分析部件360b用于生成活动得分330,以及由关于图3所描述的其他部件使用。在一些情况下,可以检测一致性,只要该值不大于或等于模式的时间戳大约一个标准偏差。在一些情况下,可以采用两个标准偏差或其分式(fraction)。作为示例,可以通过将函数映射到模式的时间戳(诸如,高斯函数或钟形曲线)来建立标准偏差。

作为另一示例,系统可以确定用户正在实践例程(例如,以确定用户实践活动或其例程特性),其中一个或多个跟踪特征的一个或多个置信度得分超过阈值数值。在这一点上,基于系统标识一个或多个跟踪特征的历史值中的一个或多个模式,例程可以被确定为正在被实践。

因此,系统不仅可以推断用户实践活动,而且可以推断当用户实践活动时发生的各种模式。作为一些示例,系统可以确定某个用户通常在购物时购买鞋子、用户在去购物时通常与他们的家人在一起、用户通常在星期三购物、用户通常在星期三在服装店购物并且在周日在杂货店购物。这种类型的信息既可以用于检测活动的实例,也可以用于为用户对服务内容进行个性化。

活动模型的一些示例性组成部分关于活动模型269被示出,活动模型269还可以包括上面已经描述的活动模型。如图所示,每个活动可以具有唯一地标识活动的活动标识符(例如,活动id270)。

还示出了子活动id(例如,子活动id275)。子活动id包括针对作为活动的子活动的活动的活动id。特别地,活动模型可以包括一个或多个子活动模型。子活动比活动更细化,并且提供对用户行为的更深入的理解。在一些情况下,子活动可以包括可以用来标识子活动的附加特征或信号。例如,假设活动模型表示用户去餐馆。子活动可以是用户仅去同一家餐馆、和家人一起去餐馆、去餐馆约会、去意大利餐馆、去餐馆工作、去餐馆庆祝、或去餐馆吃午饭。应当理解,针对活动的单个实例可以检测到子活动的多个实例。

可能需要附加的特征和/或条件来检测这些活动。例如,上述意大利餐馆示例的特征可以对应于:标识出与具有意大利餐馆类别的场所相关联的场所访问、检测到由用户做出的意大利餐馆的预订、在与活动相关联的餐馆账单上标识出意大利美食、接近与意大利美食有关的活动的搜索,等等。

进一步示出了补充活动或事件(例如,补充活动274)。检测和/或标识的补充活动可以被用作活动模型的跟踪特征。补充活动可以具有相应的活动模型和活动id。用于活动模型的补充活动表示与活动模型紧密相关的活动,使得检测到补充活动强烈地指示主活动的实例。一个或多个补充活动可以针对每个活动和/或其子活动而被预定义,并且可以用来消除活动的歧义。在一些实施方式中,与主活动模型相关联的补充活动集合对于该活动模型是唯一的。

补充活动的示例是与特定应用或应用类别的用户交互。例如,对于与用户去餐馆相对应的活动模型,补充活动可以对应于用户启动餐馆评论应用或餐馆预订应用。作为另一示例,补充活动可以表示用户在网络上搜索特定主题或类别、查看特定网站或类型的网站、或其他已建模的浏览活动。继续以餐馆为例,补充活动可以对应于用户搜索意大利食物或餐馆。另外的示例包括用户发短信、发电子邮件或以其他方式向联系人传达与餐馆和/或特定类型的餐馆、晚餐、食欲、食物相对应的内容。

可选地,可以基于将补充活动的时间戳与被评估的活动模型的实例的时间戳进行比较来选择活动模型的补充活动用于分析。例如,距主要实例更远程的活动实例可能不太可能作为主要实例的补充。然而,在一些情况下,补充活动的实例的语义特性可以指示基于时间的关联。例如,用户可以发送本文:“星期五晚餐?”或“我不能等到第五大街上的新餐馆在一月份开业”。

一些补充活动可以是在主活动之前发生的先前活动(例如,先前活动274a)。作为示例,先前活动可以模拟用户进行与活动模型相对应的预定。作为示例,用户可以在访问餐馆之前预订餐桌,或者可以在观看电影之前购买电影票。在购物活动之前,用户可以查看交易列表,搜索优惠券或者检查购物清单。

其他类型的补充活动包括在主活动之后发生的后续活动(例如,后续活动274b)。作为示例,后续活动可以模拟用户撰写与活动模型相对应的评论。作为示例,用户可以在那里吃饭之后在facebook或yelp上讨论餐馆。作为另一示例用户可以在观看电影之后发布电影评论,或者向提及电影的联系人发送文本。

还示出了参与者特性(例如,参与者特性272)。参与者特性表示与一个或多个其他用户的检测到的模式或例程相对应的例程特性,该一个或多个其他用户通常与活动模式的实例的用户相关联。应当理解,参与者特性可以例如关于特定的日子和/或一个月的周来分析。例如,用户通常可以在星期五与她的孩子一起购物,并且可以在星期一单独购物。

参与者特性是基于用户的亲密度(affinity)模式的一类亲密度特性。通过利用亲密度特性,活动分析器266可以关于活动的典型参与者/出席者的一致性来评估活动模型。作为示例,可以贡献一致性的亲密度特性可以部分地基于用户和与联系人简档或用户相对应的活动的一个或多个出席者之间的亲密度,其作为用户的一个或多个基于亲密度例程模型的一部分而被跟踪(例如,用户与由例程模型建模的联系人简档的交互模式)。

在一些实施方式中,活动分析器266访问与活动的实例相关联的日历事件的出席者的列表、或者以其他方式已知与这些实例相关联的用户的列表。活动分析器266可以关于活动模型生成关于出席者列表的亲密度得分。可以由活动分析器266使用一个或多个亲密度得分来生成亲密度特性的特征得分。作为示例,一个或多个亲密度得分可以是针对出席者列表的聚合亲密度得分,或者可以针对每个参加者提供亲密度得分。亲密度得分对应于用户与一个或多个其他用户或联系人之间所关于活动的经量化的关联水平。特别地,出席者可以被映射到由事件跟踪器216关于用户正在跟踪的一个或多个联系人条目。在一些情况下,联系人条目对应于用户的通讯录中的条目,诸如用户的移动联系人和/或电子邮件联系人。每个联系人条目可以包括相应的名称、以及一个或多个街道地址、电子邮件地址、电话号码等。在一些情况下,出席者列表可以包括出席者的联系人条目和/或其指示符,例如,在活动的出席者是从与活动分析器266共享的通讯录中生成的情况下。在其他情况下,活动分析器266可以根据在出席者列表中提供的信息(诸如,姓名、电子邮件地址等)来推断联系人。

用户与出席者之间的亲密度可以是基于用户与对应于出席者的联系人之间的各种经跟踪的交互。可以增加亲密度的交互的示例包括去往和来自联系人的电子邮件、去往和/或来自联系人的文本消息、去往和/或来自联系人的电话呼叫、将用户与联系人相关联的其他传感器数据、以及多个任何前述项目。特定出席者的置信度得分可以基于在活动针对用户例行地发生的时间段期间所检测交互的集群。例如,事件模型可以跟踪这些交互,并且具有用于将交互模式与特定活动的实例的模式的出席者相匹配的时间戳。

亲密度可以基于其中用户和联系人都被检测为参与者的事件、会议和/或活动的其他实例。此外,与用户和/或活动的实例相关联的文本消息、电话呼叫、电子邮件等可以增加亲密度。例如,如果联系人通常在活动期间打电话、发短信或以其他方式与用户通信,则活动模型的亲密度可以增加。作为其他示例,亲密度可以基于出席者的位置(例如,作为其他用户的事件的跟踪特征的位置)。与本文中描述的每个语义特性一样,可以基于检测到的交互的新近度对亲密度特性的得分进行折比,或者过时的交互可以被丢弃或保持不使用。因此,更接近的交互比更不太相邻的交互更可能增加亲密度。

参与者或亲密度特性还可以是关于参与者或出席者的关系类别或标签。示例包括母亲、父亲、姐妹、兄弟、表弟、朋友、同事、家人、妻子、丈夫、重要的其他人等。例如,活动(例如,子活动)可能需要至少一个家庭成员或特定家庭成员的存在(例如,“家庭时间”活动)。这种基于关系的特性经常在用户的通讯录中找到,并且通常可以由系统明确或推断。

基于亲密度的特性的特征得分可以基于一个或多个亲密度得分来生成。应当理解,可以采用各种方法。通常,较高的亲密度得分指示出席者或参与者在活动中对于用户来说较为常见。其他因素可以包括具有超过对用户具有低亲密度的阈值数值的亲密度得分的出席者或参与者的数目。然而,在一些情况下,亲密度得分可以被聚合以生成特征得分,例如,作为亲密度得分的平均值。

在图2中进一步示出的是本地类别(例如,本地类别273)。每个活动模型可以被分配至少一个本地类别。例如,可以为每个活动模型预配置本地类别作为模型的属性。本地类别可以用来将事件实例的位置映射到活动。例如,位置284可以被映射到与一个或多个活动模型相关联的本地类别。在一些实施方式中,本地类别被用作对活动模型的活动得分作出贡献的特征或指示符。在其他情况下,事件实例的活动模型从与本地类别相匹配的活动模型中选择。

本地类别的示例是电影院。可以映射到电影院类别的活动模型包括工作、看电影、家庭时间、约会、搭载某人或放下某人。另一本地类别的示例是游泳池。可以被映射到游泳池类别的活动模型包括游泳、闲逛、搭载某人和放下某人。

在一些情况下,事件实例的位置可以被映射到多于一个的本地类别。此外,在一些实施方式中,本地类别与对应于位置的场所相关联。例如,位置可以是场所id,或者可以被映射到与本地类别相关联的一个或多个场所id(例如,附近的场所)。该信息可以被包括在场所简档224中。本地类别的另外的示例是场所链(例如,特定的场所连锁商店)、场所类别或者效用类别,诸如咖啡店或公园。在一些情况下,这些本地类别中的至少一些是从黄页中提取的。

在一些实施方式中,确定本地类别包括标识访问场所并且利用分配给访问场所的本地类别。然后可以分析与本地类别相匹配的活动模型。作为具体示例,事件模型可以表示访问场所的用户。事件跟踪器216可以使用系统200中可用信息的任何组合,以利用事件模型来推断用户对一个或多个场所的场所访问。特别地,事件跟踪器216可以应用语义信息的任何组合来推断哪个特定场所被用户访问。这样的语义信息包括本文中描述的用户和场所的各种特性中的任何特性,诸如特性286。

在各种实施方式中,事件跟踪器216采用与用户(例如,对应于用户账户222的任何用户)相关联的位置数据(诸如空间时间数据),以便推断用户的场所访问。事件跟踪器216可以使用位置数据来确定用户的位置284(例如,地理位置),如上所述。

事件跟踪器216可以基于用户的确定位置(例如,地理位置)与候选场所之间的接近度来生成候选场所集合。候选场所可以基于接近度从对应于场所简档224的场所中选择。在一些实施方式中,事件跟踪器216选择位于用户位置的给定半径或区域内的每个场所作为候选场所。所使用的半径可以基于位置数据的准确性来确定,使得事件跟踪器216使用较大的半径或区域来获得较不准确的位置数据。位置数据的准确性可以例如基于数据的来源或从位置数据本身(例如,基于其值)来确定。例如,与基于缺少来自gps接收器的数据的网络跟踪的位置数据相比,事件跟踪器216可以针对从gps接收器中提取或使用gps接收器提取的位置数据而采用更小的半径。

另外,通过使用用以候选场所标识的一个或多个其他方法,一个或多个场所可以被包括在该候选场所中集合。例如,这样的候选场所可以不一定在与特定位置相关联的场所简档224中具有场所简档,而是可以是更一般的或分类的。示例包括私人住宅、海滩、公园或办公室,但是也可以采用其他类型的场所类别。这些场所在本文中可以被称为类别场所,并且与特定场所不同。作为一个或多个特定场所的附加或替代而包括一个或多个类别场所提供了若干潜在优点。

事件跟踪器216可以随后使用语义信息来推断哪个候选场所被用户访问。例如,推断可以基于一个或多个用户或场所(诸如用户和候选场所)的特性(例如,特性286)的任何组合。

在一些实施方式中,事件跟踪器216确定用户是否已经访问过任何场所(例如,不管被访问的特定场所)。这种确定可以在选择候选场所之前或之后进行。在一些情况下,事件跟踪器216首先搜索至少一个候选场所,作为确定用户是否已经访问任何场所的一部分。在没有选择候选场所的情况下(例如,该候选场所集合为空),事件跟踪器216可以确定没有发生场所访问。然而,如果至少一个候选场所被选择,则事件跟踪器216可以继续进行进一步的分析。例如,事件跟踪器216可以执行能够区分场所是否已经被访问还是仅仅被通过或者经过的分析。

该确定可以基于在位置数据中所指示的用户的一个或多个位置(例如,地理位置)以及用户在位置处或在位置附近的持续时间。这可以包括使用空间时间样本(例如,位置样本和相关联的时间戳)的聚类分析。这还可以包括考虑由系统针对用户而跟踪的一个或多个先前的场所访问。作为示例,系统可以考虑针对用户而被跟踪的先前的场所访问。确定用户具有至少一个随后的场所访问之后,在系统确定是否有当前的场所访问的情况下,系统可以附加地或备选地考虑针对用户而跟踪的随后的场所访问。作为示例,系统可以考虑针对用户而跟踪的随后的场所访问。

例如,可以由事件跟踪器216使用先前和/或随后的场所访问来尝试将正在分析的场所访问映射到用户的例程。在事件跟踪器216能够将场所访问映射到例程的情况下,场所访问更有可能已经发生。作为示例,用户可以具有每个工作日都从家到工作的例程。如用户跟踪数据中指示的,离开家可以是例程的一个事件,到达工作可以是例程的另一事件,并且在去上班的路上在咖啡店停留可以是例程的另一事件。事件跟踪器216可以基于跟踪先前的场所访问的地理位置与用户的家相对应、并且可选地基于跟踪的随后的场所访问与用户的工作相对应,来将场所访问映射到咖啡馆的停留。事件跟踪器216还可以利用其他信息,诸如比较地理位置的时间戳与用户通常执行访问的次数(即,用户的例程特性)和/或用户的已知活动。

通过将场所访问映射到用户的例程,事件跟踪器216可以增加对于推断场所访问已经发生的置信度。例如,可以在由于位置数据的各种限制而单独使用位置数据不可能推断场所访问的情况下推断场所访问。例如,位置数据可以具有有限数目的位置样本(诸如用于地理区域的单个位置样本)、可以具有低准确度水平、或者可以在分析时导致不一致或不确定的结果。因此,聚类分析可能不能确定地标识场所访问,但是通过分析语义信息(例如,用户的历史活动),事件跟踪器216仍然可以准确地推断可能发生的访问。

事件跟踪器216还可以通过用户已经访问特定候选场所的可能性来对候选场所进行排序。应当理解,如本文中使用的,诸如置信度和可能性等术语可以被量化为得分,并且基于置信度或可能性做出的任何确定或推断可以基于得分是否超过阈值数值。因此,例如,可以使用相应的置信度得分来对关于每个候选场所的可能性进行量化。在其中事件跟踪器216确定用户是否已经访问任何场所的实施方式中,潜在地可以仅在事件跟踪器216首先确定场所访问已经发生或正在发生的情况下执行排序,由此节省处理能力。作为另一示例,排序可以发生,但是只有在确定用户已经访问了任何场所的情况下才可以选择所访问的场所。

因此应当理解,取决于所采用的方法,确定是否发生了任何场所访问可以是独立的或取决于排序和/或置信度得分。其中确定取决于排序和/或置信度得分或基于排序和/或置信度得分的示例是没有一个场所访问足够有可能已经发生(例如,没有一个置信度得分超过阈值数值),从而推断出没有场所被访问的情况。上面已经描述了独立于排序和/或置信度得分的示例,尽管可以在生成排序之前或之后进行该确定。

事件跟踪器216可以使得候选场所的排序基于语义信息(诸如,特性286)。例如,可以使用从用户和/或由系统收集的场所数据中所提取的一个或多个语义信号。语义信号可以包括场所、用户和/或一个或多个其他用户的一个或多个特性。这可以包括活动是否通常在用户的访问地点处执行。特性可以是场所和/或用户的明确和/或推断特性的任何组合。此外,特性可以是偶发和/或例程特性的任何组合。语义信号可以被馈送到概率模型,概率模型从语义信号生成置信度得分。

在各种实施方式中,事件跟踪器216基于候选场所的排序来选择针对访问的访问场所。例如,可以选择排序最高的场所(例如,具有最高置信度得分)作为访问场所。可以在任何合适的时间选择访问场所,诸如在候选场所最初排序之后,和/或在排序被修改至少一次之后。此外,应当注意,可以可选地(例如在对场所访问随后重新排序、分析和/或优化之后)修改或重新选择所选择的访问场所。

从上文中应当理解,在一些情况下,活动分析器260可以可选地基于事件跟踪器216确定事件可能发生,来分析针对事件实例的活动。此外,活动分析器260可以基于对用于场所访问的场所的选择来分析针对事件实例的活动。在一些情况下,事件实例可以绑定到位置,但是通过从事件中提取活动,活动的实例不受位置的约束。

基于用户的活动检测和/或标识以及由活动的实例所形成的模式,可以使用呈现部件298将内容(例如,内容399)呈现给用户。例如,可以在用户设备102a和102b到102n的任何组合上呈现内容。以这种能力,呈现部件298可以使用从数据收集部件215所收集的各种数据中的任何一种,诸如与跟踪数据中的用户简档222(例如,针对用户的活动简档245)相关联的数据、以及其他数据。呈现部件298可以基于该信息来确定何时和/或如何向用户呈现内容。呈现部件298还可以基于该信息来确定向用户提供什么内容。在一些实施例中,呈现部件298包括在计算设备(诸如,包括诸如移动计算设备等用户设备的图7中描述的设备700)上或在云中运行的一个或多个应用或服务。

由呈现部件298作出的针对要基于用户的活动简档要被呈现的内容而做出的确定可以可选地基于对应于活动实例的上下文信息。在一些实施方式中,活动分析器260可以生成可以被提供给呈现部件298的上下文信息。上下文信息通常对应于向活动的实例提供上下文的信息。

活动分析器260可以利用解释性数据来生成上下文信息,以至少部分地根据与用户相关联的用户数据来推断或以其他方式确定上下文信息。例如,上下文信息可以对应于指示用户关于活动模型的跟踪特征的值的忠诚的忠诚度度量。忠诚度度量可以通过分析历史事件中的跟踪特征的值(例如,通过图3中的历史分析部件360a)来确定。在一些情况下,忠诚度度量可以对活动模型的跟踪特征的值的方差水平进行量化。作为示例,基于历史事件的位置,历史分析部件360a可以计算位置的忠诚度得分。忠诚度得分的低的变化表示用户通常在有限数目的位置参与活动。忠诚度得分的高的变化指示用户通常在很多可能的位置参与活动。

可以计算各种跟踪特征中的任何一个和/或其组合的忠诚度得分。此外,可以计算子活动以及活动的忠诚度得分。呈现部件298可以基于忠诚度得分来向用户呈现内容。例如,在基于位置的忠诚度得分超过阈值数值的情况下,呈现部件298可以推荐对应于有限的位置(例如,场所)集合的内容。例如,在活动模型表示购物的情况下,可以向用户呈现来自用户常去的前五个商店的优惠券。作为另一示例,在活动模型表示在餐馆吃饭的情况下,系统可以推荐向从用户经常光顾的前五个餐馆中所选择的餐馆预订预留。

忠诚度得分针对用户的行为而被个性化。例如,一个用户喜欢尝试新食物并且在每周五晚上在不同的餐馆吃饭,而另一用户通常可以去相同的五个餐馆之一。通过确定用户对这些跟踪特征的忠诚度,系统可以向用户设备提供相关内容而不浪费系统的资源。作为示例,上述用户可能不会接受五家餐馆之外的推荐餐馆,从而浪费系统资源。然而,针对五个餐馆之一的建议(例如,来自封闭集合的建议)显然更可能与该用户有关。相反,其他用户可能对建议更加开放。然而,应当注意,这个用户可能不忠于特定场所,而是可能对一个或多个场所类别表现出高度的忠诚度。作为示例,用户可能常去中国和意大利餐馆,但是从不在海鲜餐馆吃饭。因此,场所类别可以作为针对内容的选择标准。

从上文中可以看出,忠诚度可以是特征依赖特性的。忠诚度也可以被时间上局部化。例如,上述用户通常可以在星期五去相同的五个餐馆,但是在星期一表现出地点或场所的更高的差异。另外,忠诚度也可以是依赖于活动的和/或依赖于子活动的。作为示例,上述用户通常可以在家庭时间去相同的五家餐馆,但是在用餐选择方面表现出很大的差异。作为另一示例,一个用户可以在很多不同的地点锻炼,而另一用户可以在几个非常特定的地方锻炼。可以从在跟踪特征的值中所标识的少数地方中选择推荐。例如,当下雨或者在公园里散步时,系统可以推荐用户在特定的健身房锻炼。

出于向用户提供内容的目的,可以检测这些忠诚度的任何一个或全部。此外,应当理解,忠诚度可以用作针对活动模型和/或子活动模型检测的跟踪特征。例如,与候选活动的非典型特性相耦合的用户的活动模型的高忠诚度表示活动不太可能已经发生。相比之下,如果活动模型对用户的忠诚度较低,则非典型特性在活动的标识中不那么决定性。

呈现部件298可以向用户呈现包括活动和执行活动的位置的摘要的内容。作为示例,与活动相关的事件的位置可以在指定时间的时间段(诸如,一周)内聚合。在本周结束时,系统可以向用户提供位置和在这些位置执行的活动的摘要。例如,可以向用户呈现用户在一周内进行锻炼的位置的列表,以及用户在一周内进行锻炼的次数。

上下文信息的其他示例是在标识用户的活动中生成的置信度得分、方差得分、活动得分、特征得分和其他信息。在一些情况下,呈现部件298可以基于标识的活动和/或对应于活动的上下文信息来向用户提供内容。例如,如果上下文信息指示用户正在苏格兰(子活动)度假(活动),则提供给用户的内容可以提供关于国家的信息、在该地区可用的休闲活动等。例如,如果上下文信息表明用户在加拿大或在工作,则不会呈现该内容。

使用本发明的实施例,可以确定特定用户每周二晚上打高尔夫球(活动)作为例程活动。在确定用户错过(或正错过,或将错过)她的高尔夫游戏并且因此已经偏离(或将偏离)她的例程时,可以生成内容并且将其呈现给用户,内容包括以下中的一项或多项:(a)用于基于用户的日程安排、用户例程信息、来自与高尔夫球场(诸如,高尔夫球场的网站)相关联的来源的信息、和/或诸如日历信息等其他用户信息来在未来时间安排开球时间的建议;(b)询问用户是否想要弥补所错过的高尔夫游戏(事件的错过的实例)和/或用户是否希望在将来时间自动安排游戏的提示;(c)基于上下文信息的、可能与错过高尔夫游戏或弥补游戏有关的附加信息,诸如潜在的弥补游戏的日期和时间上的场地费用。

附加地或替代地,呈现部件298可以基于标识的活动和/或对应于活动的上下文信息来避免向用户呈现内容。例如,内容有时可以基于活动分析器260确定用户对活动的实践来被呈现,该活动可以基于检测到用户与例程活动之间的分歧而不被呈现。在没有标识分歧的情况下,内容可以以其他方式呈现,但是不再相关,并且因此不被呈现。例如,呈现部件298可以通常基于用户实践活动的指示来向用户呈现内容。

在呈现部件298避免向用户呈现内容的情况下,与内容的呈现相关的处理、电力和其他资源被保存。例如,生成内容可以利用网络带宽、处理能力和电力。

呈现部件298还可以基于与活动(或其子活动)相关联的一个或多个推荐动作(例如,推荐动作271)来向用户呈现内容。作为示例,活动分析器260可以将此信息提供给呈现部件298,以基于标识的活动来呈现内容。在一些实施方式中,每个活动预配置有针对该活动的推荐动作集合。此外,除了其相关联的活动的推荐行动之外,子活动还可以具有特定的推荐行动。作为示例,用户可以被呈现其购物活动的购物清单,并且可以被呈现针对购买杂货子活动的杂货优惠券、或者用以发布用户正在针对用于购买鞋子的子活动的社交媒体网站购买鞋子的提议。在某些情况下,推荐动作从指定活动的封闭集合中选择,该集合可以随时间更新。

在向用户呈现内容时,活动分析器260可以选择用于呈现部件298的一个或多个推荐动作。推荐动作与呈现部件298可以在确定向用户呈现内容的各个方面中所使用的数据相对应。推荐动作可以与用于响应于活动的标识或以其他方式呈现标识的活动的内容的一个或多个动作过程相对应。

推荐动作可以规定或指定一个或多个内容、(例如,在内容卡中的)一个或多个静态和/或动态内容字段、一个或多个内容卡、时间、地点或位置、屏幕或菜单、环境、用户交互的模式或方式、或者可以并入关于动作的条件或指令中的其他因素。呈现部件298可以挑选或选择遵循一个或多个条件和/或指令,其与用于向用户呈现内容的推荐动作相关联或相对应。

作为示例,推荐动作可以向呈现部件298(或另一应用或服务)指示和/或由呈现部件298用来确定以下各项的任何组合:何时向用户呈现内容(例如,使用指定时间或时间范围)、如何向用户呈现内容、向用户呈现什么内容、何时修改、生成或选择呈现给用户的内容、何时不向用户呈现内容、何时寻求用户对内容的反馈,等等。

在一些实施例中,推荐动作可以对应于一个或多个条件,其可以基于与用户相关联的用户设备上的传感器经由用户历史、模式或例程(例如,用户每天上午8:00到8:30之间驱车去工作)和其他用户信息(诸如,用户的在线活动、包括错过的通信在内的用户通信信息、内容的紧急性或陈旧性(例如,内容应当在早上呈现给用户,但是在10点以后不再相关)、与例程事件不同的特定用户例程、和/或与例程事件相对应的上下文信息)来被访问。例如,如果用户可能在上午8:00到8:30之间驾驶汽车,则在这个时间期间推荐向用户呈现的内容可以在用户驾驶时可听地呈现给用户。作为另一示例,关于用户补打错过的电话的建议的内容(诸如用户每个星期天打电话给某人(例如,他的妈妈),但是没有在上个星期天给那个人打电话)可以在用户在他的移动设备上访问他的电话应用时呈现。内容可以被呈现为弹出式通知、突出显示的消息、通知菜单中的图标或符号、文本、电子邮件、其他通信或类似手段。(例如,在选择电话应用打电话时,显示一条消息,以通知用户他星期天没有给他的妈妈打电话,并且询问用户现在是否打电话给他的妈妈。)同样,在另一示例中,在访问电子邮件应用时,提示用户回复用户还没有回复的电子邮件,但是根据用户的历史记录,用户总是快速地回复来自该联系人的电子邮件(例如,来自用户的老板的电子邮件)。或者,在拿起移动设备并且没有访问电子邮件应用时,向用户呈现包括回复电子邮件的提醒的内容。

在推荐动作是关于一个或多个内容模板或内容卡的情况下,推荐动作可以指定一个或多个内容卡。例如,推荐动作可以是向用户呈现一个或多个内容卡、避免将一个或多个内容卡呈现给用户、或者何时向用户呈现一个或多个内容卡。此外,推荐动作可以指定关于与字段的内容相关联的动作的一个或多个动态和/或静态内容字段。

如上所述,在一些实施方式中,呈现部件298可以遵循由事件跟踪器216提供的一个或多个推荐动作。在一些情况下,呈现部件298可以确定是否遵循一个或多个推荐动作。作为示例,推荐动作可以是向用户请求信息。呈现部件298可以基于推荐动作向用户请求信息。呈现部件298或在用户设备上运行的另一应用或服务可以确定或选择遵循一个或多个推荐动作,并且可以确定或选择忽略或不遵循一个或多个其他推荐动作。例如,基于一个或多个标准,可以忽略或不遵循一个或多个推荐动作,诸如,呈现部件已经可以访问信息、确定用户远离设备或者不太可能响应于推荐动作、确定推荐动作不再适用或不再相关、呈现部件298具有基于用户数据(例如,用户设备数据)和/或解释性数据的另一合适的或优选的动作和/或其他确定或推断。

此外,在一些实施方式中,呈现部件298可以选择修改一个或多个推荐动作并且遵循一个或多个经修改的推荐动作。附加地或作为替代,呈现部件298可以选择或生成用于基于分歧向用户呈现内容的一个或多个动作,而不考虑推荐动作。这些动作和推荐动作可以以彼此相似或不同的方式被确定,并且可以考虑类似的信息。

在一些情况下,呈现部件298的实例被并入到一个或多个服务(例如,应用、进程、程序、线程)中,该一个或多个服务可以在用户设备和/或不同于系统200的各种组成部分的任何组合的系统上运行。作为示例,一个或多个服务可以接收由系统200生成和/或存储的信息的任何组合。

示例包括一个或多个置信度得分、上下文信息、推荐动作、所跟踪的可变变化得分等。服务可以在用户设备上运行,并且可以从服务器接收这样的信息。作为另一示例,服务可以在与提供这种信息的服务器不同的系统中的服务器上运行。作为另一示例,信息可以从与服务在同一设备(例如,用户设备)上运行的一个或多个其他服务处接收。例如,图2的各个部件中的任何或所有部件可以并入到相同的设备中,这在某些情况下出于安全、隐私和/或其他原因可以是有益的。

在一些情况下,例如基于对信息的订阅,可以将任何或所有的信息从服务器推送到服务。作为另一种选择,可以由服务查询任何到所有的信息。作为示例,信息可以存储在存储装置220中的一个或多个条目中,以供呈现部件298使用。

因此,应当理解,在一些情况下,系统200的活动分析器260和/或其他部件可以作为云服务而被提供给应用或服务。在这一点上,用户设备上的应用可以可选地并入应用编程接口(api)中,以用于与云服务通信并且用于提供呈现部件298的至少一些功能。以这种方式,可以向应用提供用于基于与他们的例程差异来向用户定制内容的通用框架。

现在参考图4,提供了示出用于检测用户的活动的方法400的实施例的流程图。本文中描述的方法400和其他方法的每个框包括可以使用硬件、固件和/或软件的任何组合来执行的计算处理。例如,各种功能可以由执行存储在存储器中的指令的处理器执行。该方法还可以实施为存储在计算机存储介质上的计算机可用指令。仅举几个示例,这些方法可以由独立应用、服务或托管服务(独立或与其他托管服务组合)或者到另一产品的插件来提供。

在框410处,方法400包括标识针对事件实例的候选活动。例如,事件跟踪器216可以至少部分地基于传感器数据来检测用户的事件(例如,历史事件310a、310b、310c和310d)的实例,并且活动分析器260可以标识针对事件的每个实例的候选活动(例如,对应于活动得分312a、312b、312c和312d)。

在框420处,方法400包括从事件的实例中检测指定活动的用户行为模式。作为示例,活动分析器260可以使用与候选活动中的指定活动(例如,对应于活动308的活动模型)相对应的例程模型来从事件的实例中检测用户的用户行为模式。

在框430处,方法400包括从一个或多个模式中来预测指定活动的语义特性的值。例如,活动分析器260可以从一个或多个用户行为模式中来预测指定活动(例如,与活动308相对应的活动模型)的语义特性(例如,语义特性315)的值。

在框440处,方法400包括使用语义特性的预测值来标识指定活动的实例。例如,活动分析器260可以使用在表示指定活动的活动模型中的语义特性的预测值来将指定活动的实例(例如,对应于活动308、历史事件310a、310b、310c和310d、或者当前事件320中的一个)标识为实践活动。

在框440处,方法400包括向用户设备提供个性化内容。例如,呈现部件298可以基于标识的实践活动来向与用户相关联的用户设备(例如,用户设备102a)提供个性化内容

现在参考图5,提供了示出用于检测用户的活动的方法500的一个实施例的流程图。在框510处,方法500包括确定当前事件的语义特性的值。例如,活动分析器260可以从被配置为提供传感器数据的一个或多个传感器来确定与当前事件(例如,当前事件320)相对应的用户的语义特性的实时值。

在框520处,方法500包括预测活动模型的语义特性的值。例如,活动分析器260可以针对多个活动模型(例如,活动模型269)的每个活动模型,基于从事件(例如,历史事件310a、310b、310c和310d)的历史实例中所提取的一个或多个用户行为模式来预测活动模型的语义特性的值。

在框530处,方法500包括基于预测值和当前事件的值来生成活动模型的活动得分。例如,活动分析器260可以基于语义特性的预测值与语义特性的实时值之间的比较来生成多个活动模型的活动得分(例如,活动得分330)。

在框540处,方法500包括基于活动得分来选择一个或多个实践活动。例如,活动分析器260可以基于活动得分从多个活动模型中选择用户的一个或多个实践活动(例如,一个或多个活动模型269)。

在框550处,方法500包括向用户设备提供个性化服务内容。例如,呈现部件298可以基于一个或多个所选择的实践活动中的至少一个事件活动来向与用户相关联的用户设备(例如,用户设备102a)提供个性化内容。

现在参考图6,提供了示出用于检测用户的活动的方法600的一个实施例的流程图。在框610处,方法600包括检测事件的实例。例如,事件跟踪器216可以至少部分地基于来自一个或多个传感器的传感器数据来检测用户的事件(例如,历史事件310a、310b、310c和310d)的实例。

在框620处,方法600包括接收针对事件的每个实例的位置的指示。例如,事件跟踪器216可以接收与用户相关联的位置(例如,位置284)的指示,该位置至少部分地基于事件的每个实例的传感器数据来被确定。

在框630处,方法600包括将位置映射到针对事件的每个实例的活动模型。例如,活动分析器260可以将位置映射到一个或多个活动模型(例如,使用本地类别映射的活动模型269),该一个或多个活动模型是针对事件的每个实例的事件实例的候选活动。

在框640处,方法600包括计算事件的每个实例的活动得分。例如,活动分析器260可以为候选活动中的每个候选活动计算活动得分(例如,活动得分312a、312b、312c和312d),每个活动得分对事件实例对应于事件的每个实例的候选活动的置信度水平进行量化。

在框650处,方法600包括基于活动得分来预测语义特性的值。例如,活动分析器260可以根据基于活动得分从事件的实例中提取的一个或多个用户行为模式,来预测候选活动中的指定活动(例如,对应于活动308的活动模型)的语义特性(例如,语义特性315)的值。

在框660处,方法600包括基于语义特性的值来标识实践活动。例如,活动分析器260可以使用在表示指定活动的活动模型中语义特性的预测值,来将指定活动的实例(例如,对应于活动308、历史事件310a、310b、310c和310d、或者当前事件320中的一个)标识为实践活动。

在框670处,方法600包括向用户设备提供个性化服务内容。例如,呈现部件298可以基于经标识的实践活动来向与用户相关联的用户设备(例如,用户设备102a)提供个性化内容。

已经描述了本公开的实施方式,下面描述其中可以实施本发明的实施例的示例性操作环境,以便为本公开的各个方面提供一般上下文。首先参考图7,特别地,示出了用于实施本发明的实施例的示例性操作环境,并且其一般性地指定为计算设备700。计算设备700仅仅是合适的计算环境的一个示例,并不意图对于本发明的使用范围或功能建议任何限制。计算设备700也不应当被解释为具有与所示部件的任何一个或组合相关的任何依赖性或要求。

本发明可以在计算机代码或机器可用指令的一般上下文中描述,计算机代码或机器可用指令包括由:计算机或其他机器(诸如个人数据助理或其他手持设备)执行的诸如程序模块等计算机可执行指令。通常,包括例程、程序、对象、部件、数据结构等的程序模块是指执行特定任务或实施特定抽象数据类型的代码。本发明可以在各种系统配置(包括手持设备、消费电子产品、通用计算机、更专业的计算设备)中实践。本发明还可以在分布式计算环境中实践,其中任务由通过通信网络链接的远程处理设备来执行。

参考图7,计算设备700包括直接或间接耦合以下设备的总线710:存储器712、一个或多个处理器714、一个或多个呈现部件716、输入/输出(i/o)端口718、输入/输出部件720和说明性电源722。总线710表示可以是一个或多个总线(诸如,地址总线、数据总线或其组合)的东西。尽管图7的各个框图为了清楚起见而用线条示出,但是实际上,描绘各种部件不是那么清楚,并且隐喻地,线条将更准确地是灰色和模糊的。例如,可以将诸如显示设备等呈现部件看作是i/o部件。另外,处理器具有存储器。本发明人认识到,这是本领域的性质,并且重申图7的图仅仅是可以结合本发明的一个或多个实施例使用的示例性计算设备的说明。在诸如“工作站”、“服务器”、“膝上型计算机”、“手持式设备”等类别之间没有进行区分,因为它们都在图7的范围内并且参考“计算设备”。

计算设备700通常包括各种计算机可读介质。计算机可读介质可以是可以由计算设备700访问的任何可用介质,并且包括易失性和非易失性介质、可移除和不可移除介质。作为示例而非限制,计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于ram、rom、eeprom、闪存或其他存储技术、cd-rom、数字多功能盘(dvd)或其他光盘存储、磁带盒、磁带、磁盘存储或其他磁存储设备或可用于存储所需信息并且可以由计算设备700访问的任何其他介质。计算机存储介质不包含信号本身。通信介质通常以调制数据信号(诸如载波或其他传输机制)来实施计算机可读指令、数据结构、程序模块或其他数据,并且包括任何信息传递介质。术语“调制数据信号”是指其一个或多个特征以使得能够在信号中对信息进行编码方式被设置或改变的信号。作为示例而非限制,通信介质包括诸如有线网络或直接有线连接等有线介质、以及诸如声学、rf、红外线和其他无线介质的无线介质。上述的任何组合也应当被包括在计算机可读介质的范围内。

存储器712包括易失性和/或非易失性存储器形式的计算机存储介质。存储器可以是可移除的、不可移除的或其组合。示例性硬件设备包括固态存储器、硬盘驱动器、光盘驱动器等。计算设备700包括从诸如存储器712或i/o部件720等各种实体读取数据的一个或多个处理器。呈现部件716将数据指示呈现给用户或其他设备。示例性呈现部件包括显示设备、扬声器、打印部件、振动部件等。

i/o端口718允许计算设备700在逻辑上耦合到包括i/o部件720的其他设备,其中一些可以内置在其中。示例性部件包括麦克风、操纵杆、游戏手柄、卫星天线、扫描仪、打印机、无线设备等。i/o部件720可以提供处理由用户生成的空中手势、语音或其他生理输入的自然用户界面(nui)。在一些情况下,可以将输入传输到适当的网络元件以进行进一步处理。nui可以实施屏幕上和屏幕附近的语音识别、触摸和触笔识别、面部识别、生物识别、手势识别、空中手势、头和眼睛跟踪以及与计算设备上的显示相关联的触摸识别700的任何组合。计算设备700可以配备有深度相机,诸如立体相机系统、红外相机系统、rgb相机系统以及这些的组合,用于手势检测和识别。另外,计算设备700可以配备有能够检测运动的加速度计或陀螺仪。加速度计或陀螺仪的输出可以被提供给计算设备700的显示器以呈现沉浸式增强现实或虚拟现实。

应当理解,本公开的实现提供了使用活动模型来检测活动。已经关于特定实施例描述了本发明,这些特定实施例在所有方面均旨在是说明性的而不是限制性的。在不脱离本发明范围的情况下,备选实施例对于本发明所属领域的普通技术人员而言将变得显而易见。

在不脱离以下权利要求的范围的情况下,所描绘的各个部件的很多不同的布置以及未示出的部件都是可能的。已经描述了本发明的实施例,目的是说明性的而不是限制性的。备选实施例在阅读本公开之后并且因为阅读它而变得显而易见。在不脱离所附权利要求的范围的情况下,可以完成实施上述的替代方式。某些特征和子组合是有用的,并且可以在不参考其他特征和子组合的情况下使用,并且被认为在权利要求的范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1