用于检测行为模式的方法及设备的制作方法

文档序号:6593625阅读:186来源:国知局
专利名称:用于检测行为模式的方法及设备的制作方法
技术领域
本发明涉及用于行为数据挖掘的软件及方法。
技术背景
人类是具有习性的动物。因此,许多现代电子设备及其他设备设计成可以由它们 的所有者适应及定制化,以便通过适应来简化所述设备的使用,从而适应这些习性。例如, 许多移动电话及家庭电话允许一用户将快速拔号号码编程到这些电话内,这允许所述用户 仅需通过按一个按键或一个按钮便可以拨打某些电话号码,而不需要拨打整个电话号码。 同样地,许多计算机编程允许用户根据他们的个人喜好来定制化一个或多个图形用户界 面。例如,在许多编程中(比如在Microsoft Word中),一用户可以定制化工具栏,以使可 以更容易在所述工具栏上存取这些常用工具或功能,而较少使用的工具或功能则转移到下 拉菜单或其他不那么便利的存取通路。
有些现代电子设备甚至试图自动地预测用户喜好,并根据这些预测来定制化用户 经历。例如,某些现今可用到的数字视频记录装置(DVRs)适合监控由它们的用户选择来进 行记录的编程,以及根据使用该信息的预测性算法来预测该数字视频记录装置(DVR)的用 户可能感兴趣的其他编程。因此,视该特定实施例而定,其可以自动地在该数字视频记录装 置(DVR)上记录这样的编程及/或发送一信息到所述数字视频记录装置(DVR),以便就关于 所述用户可能感兴趣的即将来临的节目广播,对所述用户进行通知,并询问所述用户其是 否要记录这些节目。
另一类似经历的范例可以在不同商业网站找到。明确地说,如果一用户通过一电 子商务网站购买一特定产品(或甚至仅仅是通过在所述网站上观看一特定产品来表达对 该产品的兴趣),许多网站将搜索它们本身的数据库来确定该产品与其他产品的相互关系, 并在相同的网页呈现那些其他产品,供消费者观看。在本技术的一个特别普遍的实施例中, 一网站可以对其数据库进行询问以确定曾经购买正在被当前用户观看的产品的先前顾客 曾经经常购买哪些其他产品,然后向当前用户推荐说他们可能对那些其他产品感兴趣。发明内容
本发明公开一种用于预测性地适应设备的特性的系统、设备、技术及方法,作为一 用户的历史行为(例如习性)以及表现这些行为的特定语境的一功能。这样的语境实质上 可以是任何事物,比如一周中的周几、一日中的时间、季节、潮汐、温度、天气、用户情绪、前 一天的一特定运动竞赛的得分情况、月相、用户位置等等。根据软件的观察,观察用户的习 性及这些习性发生的语境,以及根据用户的行为模式及其语境定制化设备。


图1为一框图,其显示一个特定的基于网络的实施例中的系统的不同组件。
图2为一图形表示,其显示用于所述系统的一些数据实体及它们的相互关系。
图3为一图形表示,其显示与所述系统连同使用的一些其他概念及它们的相互关系。
图4为一流程图,其图解根据一个实施例的客户端软件连续采集语境信息的操 作。
图5为一流程图,其图解根据一个实施例的客户端软件响应一触发行为而采集行 为及语境信息的操作。
图6为一流程图,其图解根据一个实施例的服务器端软件处理来自客户端软件的 行为及语境信息的操作。
图7为一流程图,其图解根据一个实施例的客户端软件的与触发行为无关的采集 语境信息的操作。
图8为一流程图,其图解根据一个实施例的服务器端软件处理由客户端软件提供 的语境信息的操作。
图9为一流程图,其图解根据一个实施例的服务器端软件创建行为模型的操作。
图10为一流程图,其图解根据一个实施例的客户端软件为服务器端软件产生推 理询问的操作。
图11为一流程图,其图解根据一个实施例的服务器端软件处理来自客户端软件 的推理询问的操作。
具体实施方式
本发明公开用于预测性地适应设备的特性的多种系统、设备、技术及方法,作为一 用户的历史行为(例如习性)以及表现这些行为的特定语境的一功能。这样的语境实质上 可以是任何事物,比如一周中的周几、一日中的时间、温度、天气、用户情绪、用户位置、一年 中的时间、前一天的一特定运动竞赛的得分情况、潮汐、月相等等。
实质上可以根据本发明讨论的原理来适应任何类别的设备。这包括软件系统、网 络软件、机械系统及生物系统。
许多移动电话允许所有者定制化其用户界面,比如通过编程快速拔号号码或“热 键”。然而,用户必须人工地定制化所述界面。此外,就所述界面将保持不变(除非及直到 用户随后再次改变它)而言,任何这样的定制化是长久性的。
在此公开的技术、软件、系统、方法及设备提供对目前技术发展水平的巨大改进。 明确地说,根据在此公开的技术、软件、系统、方法及设备,一消费设备(比如一移动电话) 的用户界面及/或其他运行参数根据对所述设备的历史使用记录及这些使用的语境的观 察自动地定制化。换句话说,根据由在此描述的软件的观察,记录用户的习性及这些习性在 被观察时所处的语境,以及根据用户的行为模式及其语境自动地定制化所述设备。
为了阐明及清晰目的,在对在此描述的原理、设备、技术、方法及系统进行详细描 述之前,让我们考虑一个非常具体的涉及它们的应用的范例。明确地说,让我们考虑一组合 移动电话/个人数字助手(此后简称“无线个人数字助手(PDA)”)。许多人在使用他们的 “无线个人数字助手(PDAs)”时有非常特别的模式,其模式视一日中的时间而定。例如,一 例示性的白领男性可能很少在周日的午夜12时与上午6时之间使用其电话(例如由于他 正在睡眠中)。此外,他可能相对较少在上午6时至上午9时之间使用其电话,但当他在这个时间段使用其电话时,一般是为了核对先前夜晚的专业运动竞赛的得分情况、查看其日 历以知晓当天的约会及/或呼叫其妻子的移动电话。另一方面,在上午9时与下午5时之 间,其电话很少使用(例如由于他正在上班),但当其电话在这个时间段使用时,一般是当 作财务计算器来使用(例如由于他是一位会计师)。最后,在下午5时与午夜之间,其电话 频繁地使用来拨打或接收许多不同人员的电话。
移动电话及无线个人数字助手(PDAs)有一闲置屏幕,即当所述电话从睡眠模式 苏醒时呈现的屏幕。仅仅作为一个范例,在此描述的技术、系统、设备及方法可以根据语境, 为所述无线个人数字助手(PDA)呈现一定制化闲置屏幕。因此,在周日的午夜至上午6时 的时间段,所述移动电话的闲置屏幕可以未从工厂默认设置改变。然而,在周日的上午6时 至9时的时间段,所述闲置屏幕可以重新编程为显示用户的日历(尤其是一单一日的视图) 占据屏幕的大部分,但也显示一用于拨打其妻子的移动电话的快速拔号按钮以及一提供单 键访问一报道前一天的运动竞赛得分情况的体育网站的热键。
接着,在周日的上午9时与下午5时之间,所述闲置屏幕可以编程为显示一不同 的、反映所述用户在周日的日间的这些时间段的典型行为的视图。因此,在周日的上午9时 至下午5时之间,所述闲置屏幕可以编程为显示所述无线个人数字助手(PDA)的财务计算 器功能。
然后,从下午5时至午夜,所述闲置屏幕可以重新编程为呈现一不同的用户界面, 作为所观察的用户习性的、按所述设备在日间的这些时间段的使用的一功能。在以上的范 例中,这可以是一传统的电话界面。
如先前所述,以上描述的单独根据在日间的每个时间段观察的习性来定制化一移 动电话/无线个人数字助手(PDA)的闲置屏幕的例示实施例只是例示性的。所述技术的意 图在于使其软件能够轻易地插入以及适合与实质上任何其他软件连同使用而不论平台或 协议。
在特别适合与网络化设备连同使用的一个实施例中,所述软件的一些部分存储在 个别的网络化客户设备,而所述软件的其他部分则存储在所述网络上的一个分别的服务器 节点,所述服务器节点可由所述网络化设备的全部设备存取。这样的一个实施例最小化所 述网络化设备中的处理负荷以保持电池寿命,而且也允许所述软件的基于网络的部分由所 述网络上的许多设备使用。因此,例如在上述无线个人数字助手(PDA)的范例中,所述基于 网络的软件可以用于协助数以千计的不同网络用户的无线个人数字助手(PDAs)的闲置屏 幕的定制化。此外,通过从数以千计的用户采集数据,可以为每人改进定制化例程。犹有进 者,预想在此描述的系统将经常能够比用户亲自定制化所述设备更好地定制化所述设备。 明确地说,人们经常未意识到他们本身的设备的全部能力。此外,人们甚至经常不完全意识 到他们本身的习性。
现在将连同一可以用于定制化以述无线个人数字助手(PDA)的闲置屏幕的、基于 网络的实施例,更详细地描述相关的系统、技术、设备及方法。
在此讨论的装置可以由一批互操作软件数据类别、子系统、界面及服务来实施,这 些互操作软件数据类别、子系统、界面及服务共同采集、分析及披露它们所累积的数据集中 的模式。其可以作为一网络服务建议用于一网络,并配置成从多个数据源(设备、操作系 统、软件应用程序、地理定位场点、网络服务等等)采集及累积涉及一网络用户的(1)“表现行为”及O) “周围语境”的数据。换句话说,(1) 一用户做了什么事及(2)所述用户是在 什么情况下做该事。
所述装置将实际实施为软件,该软件优选(但并非必需)至少部分地在行为需修 改或控制的设备上运行。所述系统是一软件引擎(此后有时简称为“引擎”),该软件引擎 确定用户喜好,作为跟踪用户行为的及观察该行为时的语境的一功能,并帮助控制所述设 备,作为所述设备的一功能。所述软件引擎采集关于一设备的使用以及这些使用的语境的 数据,以创建与特定语境相关的用户行为的一数学模型。接着可以就行为模式分析该模型, 而该分析的结果可以通过几个软件界面询问。所述软件引擎中的其他软件界面可以向另一 软件编程提供这些询问的结果,而所述另一软件编程可以使用这样的信息来定制化所述设 备,作为这些行为模式的一功能。
所述软件引擎向一设备或多个设备(例如一移动电话或无线个人数字助手 (PDA))提供关于所述一设备或多个设备的一用户的预测性行为信息。所述设备中的所述 软件接着被授权以这些信息来改变其本身,以使所述设备“更有智能”或对所述用户更为有 用。在一移动电话的情况,该电话的操作系统可以选择在当月的第三周的星期二、在所述电 话是在从纽约(New York)开往“费城”(Philadelphia)的列车上时自动发动一电话呼叫 (或许只是直到所述用户必须按“发送”键真正发动呼叫之时),以响应⑴所述电话被接 听的检测;及(2)被所述软件引擎通知关于一用户总是在每月的第三周的星期二其在从纽 约(New York)开往“费城”(Wiiladelphia)的列车上关闭了其膝上型计算机之后呼叫该相 同号码。这类的设备称为“预期设备”,这是由于它们预期人类行为。本配置中的所述系统 的应用可以扩展至桌面操作系统、单机软件应用程序、社会网络等等。
除了以上所述之外,所述发明软件可以以一“标准”规则引擎及/或软件代理界面 增大,而且由于用户行为的一模式出现而可以在一指定语境内用于发动一系列的“网络行 动”(如检索一网页、支付一账单、或改变高清晰电视(HDTV)上的频道)。
对于本文件的其余部分,我们将把所述软件引擎以外的但受其影响的任何设备、 操作系统、软件应用程序、社会网络等等称为“宿主系统”。此外,我们将正式地定义
“表现行为”为由一用户演示的、能够依据一个或多个行为因素被电子俘获的一行 为或活动。例如,可以通过将网络交通的适当部分存储为一行为因素,以电子手段俘获一用 户使用一移动电话来检查电子邮件的行为。一用户做这些事的意图或想法不能被俘获,至 少不能以目前的技术手段俘获;以及
“周围语境”为一用户可能表现一行为的周围情况。语境可以包含地理空间、时间、 情绪及其他域,只要所述域本身适合于依据语境因素进行的电子检测及数据俘获。
这里应该说明,本讨论的中心假设是,人类是具有习性的动物。他们的行为虽然经 常看来是随机的,但其实是完成的带有以多个变量为条件的“规律性”的一系列行动,而这 些行动可以俘获及分析。该分析的一个方法以使用“机器学习”算法的知识管理(KM)系统 中完成的一些工作为基础。这个方法可以在这里使用。因此,在此讨论的所述系统、技术、 设备及方法后面的一些数学部分将可以由这些领域的熟练技术人员充分了解。然而,在此 讨论的所述系统、技术、设备及方法在预测人类行为的问题的应用方面并非这样。
像将一用户的“表现行为”及其“周围语境”当成关于他们的生活的一本“书籍”的 文本那样考虑所述系统的组件可能有所助益。像知识管理(KM)系统可以使用“机器学习”技术(或甚至以较新的算法(如Google的I^age Rank))来对“战争与和平”的文本进行主 题模式分析一样,这些“生活文本”也可以被分析。此外,像网站Amazon, com曾经使用对不 同书本进行的文本挖掘分析结果来创建关于这些书籍的可搜索的“标签云”那样,由所述系 统产生的分析结果也可以很好地利用。
本文件的其余部分描述在此公开的技术的例示性组成部分及它们的互操作。
现在将参考图1的一个基于网络的实施例对所述系统进行描述。
I.客户及服务器
图1图解一网络100(比如互联网或一移动电话网络),所述网络100支持任何数 目的客户设备IOla-IOld及服务器节点10加-102(1。在所述客户设备之中,有根据本发明配 置的客户设备,比如客户设备101d。此外,所述服务器节点的至少其中之一(例如服务器 102d)也根据本发明配置,而且包含设计成与所述客户端软件协力工作的软件,以实施本文 件中讨论的功能。
一般上,考虑基于网络的实施例的一种方式是实施为一客户-服务器组合,其中 客户端编码104嵌入所述用户的客户设备101d,而所述服务器端编码存在于所述网络上某 处的一服务器节点102d ;服务器节点102d可以由客户设备IOld以某种方式通过网络100 存取。所述系统的这个区分纯粹是为了方便,这是由于并不存在规定所述服务器及客户必 须分开的要求。然而,事实是本配置准许一单一服务器102d管理多个客户101,而由于网 络效应(向所述网络添加一附加客户或服务器有利于该网络上的所有客户及服务器的现 象),这有助于所述用户获得更好的整体经验。更直接地,根据本发明配置的一单一服务器 将能够在算法上对来自多个客户的行为及语境数据起杠杆作用,以便为每个单一客户进行 更准确的预测。实质上,通过添加一个附加客户及其合成行为及语境数据,每个客户将变得 “更有智能”。
客户端软件104负责检测一用户的表现行为及周围语境、俘获它、然后将它传输 到服务器102d。此外,客户端软件104是由用户的宿主系统112使用的代理,用于询问由服 务器端编码创建的数学模型,以指示一用户的可能行为。
与客户端软件形成对照,所述服务器端软件负责采集所俘获的行为及语境、将它 们处理成具有数学意义的形式(即一模型)、起动对所述已处理数据的分析、接受来自所述 客户的询问以及回答结果。我们现在转到由所述客户及服务器组成的子系统的较彻底的讨 论。
A.客户
客户端软件104分解为六个主要组件,即
1.行为收听器106 ;
2.语境收听器107 ;
3.控制杆 108 ;
4.行为服务109 ;
5.语境服务110;以及
6.推论服务111。
虽然我们的讨论将假设所有这些组件是一单一批的编码104的部分,而且常驻于 一客户设备IOld中,它们并不一定是,只要需要可相互存取的所有组件可以这样存取。15
1.收听器及控制杆
行为收听器106、语境收听器107以及控制杆108组件是用户的宿主系统112的最 有入侵性的编码件,因此,它们每个都遭受实施例与实施例间的许多变化的影响。语境收听 器的详细讨论将在稍后提供,但其他组件应在这里讨论。
a.行为收听器
行为收听器106的工作在于检测用户的行为以及以一个或多个行为因素来确定 编纂该行为的手段。(行为因素稍后将作为行为服务的讨论的部分进行讨论)。所述行为 收听器的活动需在与行为收听器106接触的宿主系统112的部分一致的一框架内完成。
在一个实施例中,行为收听器106可以设计为在大多时候保持闲置或睡眠的一宿 主系统中的一线程。当被所述用户执行的一活动唤醒时(即一触发事件)(而且通常这是通 过放置某种单线触发器在所述宿主的源代码中),所述行为收听器线程迅速地获得涉及所 述活动(即一行为实例)以及所有可用的语境(由语境服务110提供)的适当行为信息, 然后将包含这些数据的一对象(称为一“原行为-语境双对象”)放入行为服务109中的一 队列。一般上,行为收听器106设计成在所述宿主系统中尽量少占据资源以及尽量迅速及 有效地运行。
例如,让我们考虑根据本发明在一网络博文或“博文”上执行的一简单活动。如果 一博客需为博文创建一贴或信息,当HTTP-POST达到博文服务器时,嵌入该博文服务器的 一行为收听器106将苏醒。行为收听器106接着将俘获所述博文贴中的文本作为一行为因 素以及一起俘获相关的元数据,然后获取周围语境。有了这些数据,所述行为收听器将创建 一包含这些数据的新原行为-语境双对象,然后将它放置到所述行为服务内。所述行为收 听器将与通常在一博文在一博文服务器出现时开始的活动平行地执行这些功能。
b.控制杆
明确定义控制杆108稍微困难,这是由于其代码将有大改变,视服务器端组件送 回的数据的预期使用而定。在一客户设备中可能有任何数目的控制杆。概括地说,控制杆 是应用程序、代理或软件,它们允许所述客户设备从所述服务器端组件获取关于一用户未 来的可能行为,同时忽略这些信息怎样确定的程序。照这样,所述宿主系统的设计者不需要 知道所述软件怎样操作来利用其好处。几个范例应能说明以上所述的意义范围。
在以上所述的动态闲置屏幕的实施中,控制杆108是一块软件,其控制用于一移 动电话的第一屏幕或“闲置屏幕”(移动电话用法)的代码的屏幕刷新部分。这个屏幕控制 杆与客户端推论服务111协力工作,以使客户设备IOld能够创建一称为推论询问的对象, 并将所述推论询问发送到服务器102d中的服务器端组件。所述推论询问的特殊本性将在 以下连同推论服务111进行讨论。然而,对本讨论而言,将所述推论询问描述为一包含明确 的关于一用户未来的可能行为的信息的对象应已足够。
对该推论询问的反应在被所述引擎的所述服务器端组件送回时将包含合乎该用 户目前的语境(例如日期、时间、位置等等)的所有行为的一清单(例如可能呼叫的电话号 码、将发送的短信服务信息以及将调用的应用程序)。在所述闲置屏幕中的控制杆108将接 着配置所述闲置屏幕,使所述闲置屏幕显示这些数据,准予一用户单击访问在该语境中对 其最重要的人员、信息及应用程序。因此,闲置屏幕控制杆108最小化或防止一用户需要搜 索遍一地址簿来查找一共同联系人,或打开一通讯应用程序来收取一信息。闲置屏幕控制杆108通过使所述闲置屏幕成为“动态”及隐藏该动态情况怎样实现的细节来完成上述工作。
在一第二个例示性的控制杆实施例中,一 RSS馈给被控制来供应一用户在一已知 瞬间最可能希望利用的统一资源定位符(URLs)的一语境敏感清单。在这个范例中,所述控 制杆是在一互联网服务器上写入及执行的一网落服务。当一浏览器达到所述RSS馈给统一 资源定位符时,这个网络服务控制杆创建一推论询问,并将其发送到所述服务器端组件。当 反应送回时,所述控制杆将其转置为一适当的XML格式,然后将结果送回到所述浏览器。
在前述两个范例中,宿主系统112(所述移动操作系统及所述浏览器)不需要知道 关于所述引擎软件的格式或操作细节来利用其数据。以比喻而言,所述客户设备使用控制 杆108来问这个问题“我的用户现在担心的是什么?,,并获得一答案。
2.行为服各(客户端)
行为服务109由于其需要在一客户设备中存在及与一宿主系统112连接而可以有 许多相差颇大的实施。然而,一般上,行为服务109是一单独代码块(一应用程序、服务、线 程或过程),其被设计来监督俘获来自宿主系统112的行为及语境数据,以及将这些行为及 语境数据引至服务器102d中的服务器端组件。因此,行为服务109分别存在于所述宿主系 统的通常过程之外,而且可访问所述软件的服务端组件所在的同一网络。
在启动时,行为服务109发动一个或多个行为收听器106,所述一个或多个行为收 听器106与行动需在其中俘获的宿主系统112的每个部分互动。行为服务109也发动一计 时器,所述计时器将设置行为服务109将向所述引擎的服务器端组件递送或“公布”其所采 集的行为的频率。所述行为服务接着闲置,直到被一个或多个行为收听器106或所述计时 器唤醒为止。当被一行为收听器106唤醒时(行为收听器106—般将指出所书行为收听器 已经在一“原行为-语境双对象”中俘获一用户行为),行为服务109将接受所述双对象, 然后将其添加到一内部队列。当被所述计时器唤醒时,所述行为服务将包裹排队的“原行 为-语境双对象”,然后向所述引擎的服务器端组件公布它们。
到此为止,已经讨论所述“原行为-语境双对象”已经由所述行为收听器创建。然 而,并非总是这样。在所述引擎的客户端代码的一些实施中,所述行为收听器只是创建一原 行为以供发送到所述行为服务,然后所述行为服务接着负责从所述语境服务搜集适当的语 境以及创建所述双对象。这个活动发生的时间及地点将尽量接近所述原行为的创建,以便 保持所俘获的数据的准确性。同样地,行为服务109的一些实施可以只将行为收听器106 当作一触发器使用来执行所有创建及队列一 “原行为-语境双对象”的任务。以下将在讨 论所述行为服务的公布机制之后,对所述原行为、语境及原行为-语境双对象进行更详细 的讨论。
由于所述引擎可能应用于不同种类的宿主系统及网络,所述行为服务的公布界面 以高度灵活性设计。这些界面预计支持与所述引擎的服务器端组件的互动的“推”(PUSH) 及“拉”(PULL)模式。在一“推”(PUSH)模式的实施例中,客户发动互动,而数据是由类似 HTTP-POST的一机制发送。在这种情况下,客户将数据推到服务器。在一“拉”(PULL)模式 的实施例中,客户端行为服务109是以类似一网络服务(该网络服务准许所述引擎的服务 器端组件发动所述互动)的一机制实施。
3.语境服各(客户端)
由于与所述行为服务一样的原因,所述客户端语境服务可以有多个不同的实施。 所述客户端语境服务也趋向于一单独代码块(一应用程序、服务、线程或过程),其分别存 在于所述宿主系统的通常过程之外。所述客户端语境服务并不一定需要存取所述引擎的服 务器端组件所在的同一网络,这是由于两者之间没有通信。然而,像所述引擎中的每个其他 方面一样,灵活性是必要的。
语境服务110的主要功能在于建立周围语境的一电子表达以及将所述表达俘获 到一软件对象内(即表达一语境信息实例的一语境对象内)。如同行为服务109,语境服 务110大多时候处于闲置或睡眠状态,而且公布其对象供其他服务使用。在这种情况下, 所述使用是由行为收听器106、控制杆108、客户端行为服务109、推论服务111以及宿主 系统112中可能需要使用一语境对象中包含的信息的任何其他服务进行。此外,公布包含 “推”(PUSH)及“拉”(PULL)模式。
a.语境收听器及语境服各(客户端)
在启动时,语境服务110创建一主要语境对象及一个或多个语境收听器107,而需 检测的每个语境因素使用一个语境收听器107。以下将更详细地讨论语境因素。语境收听 器107的设计与行为收听器106的设计非常相似,其相似处在于语境收听器使用较少宿主 系统起源、在大多时候处于闲置或睡眠状态、而且负责唤醒闲置的语境服务110。然而,语 境收听器107不创建原行为;反之,其向语境服务110提供被观察的语境因素的一当时现行 值。
例如,一无线个人数字助手(PDA) IOlc上的一语境收听器107可以设计成在该无 线个人数字助手(PDA)跃过基地塔时唤醒语境服务110。在这种情况下,被考虑的语境因素 将会是“基地位置区域代码”(Cell Location Area Code)及“基地塔标识符”(Cell Tower ID)。只要这两个因素的任何其中之一改变,语境收听器107将唤醒语境服务110,然后向语 境服务110提供这些因素的最近的值。
在接收任何语境因素改变时,语境服务110更新所述主要语境对象,然后回到睡 眠状态。然而,当另一服务警戒所述语境服务需要所述主要语境对象内的语境数据时,所 述语境服务制造该主要语境对象的一拷贝,然后向提出要求的服务提供所述拷贝。这是 “拉” (PULL)模式。所述语境服务也可能在未被要求的情况下定期地向其他服务提供更新。 这是“推”(PUSH)模式。
4.原行为、语境及原行为-语境双对象
现在让我们在继续讨论推论服务111之前对用于上述系统的不同数据类别进行 讨论。
a.原行为
在一个例示实施例中,所述原行为是一超级类别(用面向对象编程的语言),其被 子类以产生对正在由行为收听器106俘获的行为因素适当的特殊原行为对象。所述子类原 行为可以进一步子类,视所述宿主系统的要求而定。一般上,每个行为收听器106只在一个 类别的原行为对象上操作,虽然设计中的限制并未这样要求。对于任何已知宿主系统及集 合的行为因素而言,可能需要许多不同类别的原行为对象。目前及计划的原行为类别的一 不完整清单如下
用于俘获移动台发起(MO)移动台终接(MT)语音及数据呼叫;
用于俘获移动台发起(MO)移动台终接(MT)文本及二进制信息(SMS及匪S);
用于俘获电子邮件(流入及流出);
用于俘获短信、催函、任务清单;
用于俘获网络博文贴;
用于俘获张贴到一统一资源定位符(URL)的突出文本;
用于俘获点选流向(以一网络浏览器访问统一资源定位符(URL));
用于俘获即時信息及交谈;
用于俘获交谈记录;
用于俘获通过音乐软件(包括基于网络的音乐播放器)享用的音乐;
用于俘获“独立组播协议”(PIM)功能(日历、地址簿、警报等等);
用于俘获文件系统访问(开启及关闭一文件等等);
用于俘获媒体捕获及耗用(视频、静止图像、上载及下载);
用于俘获赌博活动;
用于俘获地图服务使用;
用于俘获系统维护活动(备份、同步、密码改变);
用于俘获查找字符串。
每个原行为将包含一个或多个域的信息(所述行为因素)及元数据。有些作为一 用户行为的部分被俘获的域可能包括
1.用户标识符
2.用户发起或用户终接活动
3.表现行为的经过时间
4.宿主系统名称(Pandora、iTunes、&ifari、Firefox、电子邮件、文件)
5.所述表现行为中的活动的内部状态
a.对于语音呼叫,这可能是振铃、挂起、未接呼叫等等
b.对于信息,这可能是已创建、已读、已删除、已接收、已保存
6.对于文件或歌曲追踪
a.标题及作者或艺术家
b.长度及大小
c.种类或流派
d.集合名称(书籍标题或集邮本)
e.统一资源标识符(URI)-在适当时
7.与行为相关的人(不是用户)(自、至、好友名单成员等等)
8.相关人员(不是用户)的电话号码或用户标识符
9.对于一信息、贴、短信、网络博文贴等等
a.集合名称(博文标题等等)
b.主题或标题
c.用户定义的种类或标签
d.信息主体的文本
e.信息的参考或突出部分
f.统一资源标识符(URI)-在适当时
10.与行为相关的文件名称及类别(“多功能互联网邮件扩充服务”(MIME)类别) (视频文件、歌曲等等)
一原行为的存在向所述引擎指出所述用户的行为已经表现。然而,负面行为(在 所述引擎预测时未出现的那些行为)也可以电子化地创建及俘获。
此外,由所述行为收听器进行的行为信息俘获没有时间限制。换句话说,设计中 并未要求所述用户展示的行为已经真正发生才能使所述相应的行为因素被所述引擎俘获 及使用。例如,考虑一用户已经将接下来的一天的会议的一日历活动输入其无线个人数字 助手(PDA)的情况。在本发明的一个实施例中,所述日历活动的输入将创建两个行为触发 器其中一个行为触发器用于创建所述日历输入的行为,而第二个触发器用于所述尚未采 取的、在接下来的一天出席所述会议的行为。
上述两个行为将有与它们相关的行为因素,而且将从与所述无线个人数字助手 (PDA)上的日历应用程序相关的行为收听器产生“行为语境双对象”。作为题外话,这样的 一个实施例将不限于使用当时的现行周围语境来通知两个“行为-语境双对象”。在这样的 情况下,所述第一“行为语境双对象”(包含代表所述日历输入的发生的所述行为者)可能 包含当前语境,而第二“行为语境双对象”(包含尚未执行的所述行为者)则可能包含更准 确地代表所述尚未执行的行为将会被执行的时间、日期及位置的一语境(如可能从所述日 历输入本身或其他来源确定那样)。
b.语境对象
像所述原行为一样,所述语境对象趋向于一超级类别,其按提供所述语境因素的 所述宿主系统的要求规定而被子类。这具有重大意义,这是由于不是所有宿主系统将能够 向所述引擎提供一广泛集合的语境因素。例如,带有一全球定位系统(GPQ无线电接收装 置的一移动电话或无线个人数字助手(PDA)将能够提供地理定位信息,而不带一无线电接 收装置的一桌面计算机操作系统将不能够提供地理定位信息。
在大多数的实施例中,所述语境服务将定义为带有一主要语境对象单件(所述主 要语境对象单件包括一个或多个语境因素域)以及多个只读语境对象(所述多个只读语境 对象将按所述引擎的其余服务的需要或所述宿主系统的需要来创建及配置)。在每个语境 收听器为其观察的语境因素确定一值时,所述主要语境对象中相应的域被更新。以下清单 代表一不完整集合的由所述语境服务使用的语境因素
1.位置(地理空间、政治、网络位置[互联网协议地址、虚拟位置、移动电话网络中 的位置])
2.网络特性(信号强度、漫游状态、服务质量、带宽等等)
3. 一日内的时间(实时、网络时间、虚拟时间)
4.用户情绪(情感反馈)
5.在使用中的设备的序号(“国际移动设备身份码” [IMEI]、“国际移动用户识别 码” [IMSI]、“媒体访问控制” [MAC]地址等等)
6.在使用中的设备的特性(无讯息模式对振铃模式、有线网络使用对无线网络使 用等等)
7.主观位置(住处、办事处、汽车)
8.周围设备(可发现移动电话、打印机、射频识别(RFID)标签等等)
9.周围网络(蓝牙、ZigBee、射频识别(RFID)、近距离无线通信(NFC))
10.天气或温度
11.用户的电话号码及/或用户标识符
这里值得注意的是,有些语境因素只能由对所述宿主系统的充分改变来提供(如 以上第4项-用户情绪),而有些必须由用户主观定义(如以上第7项-主观位置)。
例如,在用户情绪的情况,一移动设备的一个实施例可能是扩展电话拨号器应用 程序“结束通话”按钮,以包括两个软键,使得可以通过按压三个键中的任何一个来挂断一 电话通话。每个键将接着被赋予一数学值来表示情绪。左边软键可以用于表示“高兴”;右 边软键可以用语表示“生气”;以及所述“结束通话”按钮可以表示无情绪变化。每个按键上 的图标可以向用户指出哪个按钮表示什么情绪。
当一用户挂断一通话时,该用户将选择三个按钮的其中之一,视该用户在所述通 话结束时的感觉而定。这将使所述引擎能够照自然状态地俘获用户的情绪。
c.原行为-语境双对象
最简易地说,“原行为-语境双对象”只是在未伸展的情况下结合原行为及语境对 象的一对象。作此说明的原因是,在所述引擎的客户端代码104的大多数实施例中,所述 “原行为-语境双对象”并不是单独地发送到所述引擎的服务器端组件。一包裹器(通常以 一阵列或清单的形式)被使用,使得所述多个“原行为-语境双对象”可以即刻向所述服务 器端软件公布。
5.推论服各(客户端)
如同行为服务109及语境服务110 —样(以及因为相同原因),推论服务111可 以有多个不同的实施。同样地,推论服务111也是最经常地涉及成一单独代码块(一应用 程序、服务、线程或过程),其能够分别存在于所述宿主系统的通常过程之外。推论服务111 应能够访问所述引擎的服务器端组件102所在的网络,这是由于推论服务111的主要功能 是充当宿主系统112与所述引擎的服务器端组件通信的管道。该通信的交通工具是在下一 节讨论的一称为推论询问的对象。
在操作中,推论服务111在大多时候处于闲置或睡眠状态,并为接收来自一控制 杆108的要求或为直接接收来自宿主系统112的要求而苏醒。当一要求被接收时,所述要 求一般将包含所述控制杆或所述宿主系统寻求的行为数据类别、所述要求的答复需转置成 的格式以及所述宿主系统的安全凭证。
这些信息将被传递及重新格式化以便对一推论询问适当,而且将有一附加的最近 语境对象(由语境服务110提供)。
在有些实施中,控制杆108或宿主系统112供应其本身的语境细节,作为向推论服 务111提出要求的一部分。当这发生时,由所述服务器端组件送回的行为数据涉及这些语 境细节,而不是涉及所述用户的实际周围语境(如所述语境服务所提供者)。这个过程经常 在所述控制杆或宿主系统寻求一特殊或历史集合的用户行为时起动。参考一先前范例,如 果一用户意欲在其动态闲置屏幕上查看其在上周的星期二(或两小时后)的可能行为,或 如果所述用户处于一不同位置,所述用户可以指示所述闲置屏幕控制杆将向所述推论服务 提出的要求中使用的语境设置为与上星期二(或两小时后)一致或与所述其他位置一致。21所述推论服务送回的数据将接着反映与这些语境参数相关的行为,而不是反映与所述用户 的实际、当前周围语境相关的行为(如所述语境服务本将指定者)。
在一个实施例中,所述推论服务包括一高速缓冲存储器,所述高速缓冲存储器存 储先前的推论询问及接收自所述引擎的服务器端部分的答复。这个高速缓冲存储器设计成 最小化由所述引擎的服务器端部分在一指定时期内提出的严密地匹配的推论询问的数目。 项目在所述高速缓冲存储器中保留的持续时间可以紧密地控制,使得给予推论询问的太旧 而不可靠的答复不被依赖。
所述最近创建的推论询问将接着被测试是否与所述内部高速缓冲存储器中包含 的任何先前推论询问及相应的答复匹配。如果所述推论询问不与所述高速缓冲存储器中 的任何一个推论询问匹配,所述推论询问将由推论服务111输送到所述引擎的服务器端部 分,而推论服务111将等待答复。
在收到所述答复时,所述结果将被置入所述高速缓冲存储器以供随后匹配,然后 被重新格式化而与所述控制杆108或宿主系统112提出的初始要求一致。所述重新格式化 的结果接着被传送到所述呼叫服务或系统。
a.推论询问、行为原子、数据点及知识实体
在可以继续对所述推论询问进行更有意义的讨论之前,必须首先描述所述引擎的 最基本数据类别(知识实体)及其具备数学意义的近亲(行为原子及数据点)以及一行为 模式的概念。在这项讨论期间,可以参看图2及3中这些不同实体的相互关系的视觉表达。
一知识实体201是所述系统能够俘获及存储的最小量的知识。一般上,一知识实 体被定义为包含这些常用部件的一对象
1.所述实体的唯一标识符;
2.所述用户的唯一标识符;以及
3.所述实体的描述(或名称)。
附加的部件可以添加,但每个知识实体201将包含以上所述诸项。进行了上述说 明之后。知识实体照字面意义几乎可以是能电子化地表达的任何事物。一些范例包括
1.短语“钟声为谁而鸣”
2.应用程序 iTunes
3.电话号码+1012)555-1234
4.概念“和平”
5.十六进制号码 0x53CF0D778E
6.日期1997年9月24日
7.统一资源定位符(URL) http://www. google, com
8.歌曲标题“历史常常重演”
9.地理空间坐标“37° 24' 53. 64N, 122° 5' 33. 6E”
10.情绪“高兴”
11.事件“与母亲共进晚餐”
12.确定弗兰克(Frank)是用户的父亲的关系操作数
13.确定2007年9月24日为星期一的的事件操作数
14.说天空为蓝色的常识
一般上,一知识实体201将属于这些种类的其中之一(然而,这个清单不完整,而 且所述种类名称可受更改)
1.人员
2.地点(地点可指示客观位置(例如哥伦比亚特区华盛顿市宾夕法尼亚大道 1700号)或主观位置(例如住处),即使是那些可以从非位置明确语境数据(例如现在是 上午3时,而电话在三小时内尚未移动)推断的位置)
3.应用
4.概念
5.事物
6.统一资源标识符(点击流)
7.媒体文件(歌曲、视频、书籍[音乐])
8.事件
9.情绪
10.关系
11.操作数
12.常识
参看图2,一知识实体201在与一语境对象203结合时称为一行为原子205。当该 行为原子由一数学算法209转换使得其有数学意义时,所述行为原子称为一数据点207,现 在参看图3,在使用一适合的建模算法303以一具有数学意义的方式(比如NaiVeBayes) 排列及与一软件引擎结合以便对该排列执行一数学分析时,多个数据点207统称为一行为 模式301。模式一般由用户通过一配置过程给予主观名称。
在有些实施例中,行为原子205设计成包含多个知识实体201及/或语境对象 203。在一例示实施例中,一附加因素(代表一随机性程度的一参数)可以添加到这样的一 个行为原子,使得关于知识实体及语境对象的该行为原子的值是非确定性的。换句话说,这 些值将以非预测性的方式、随着时间的过去而改变。这样的例示实施例的值是向所述行为 模式导入一定程度的“偶然性”或向所述引擎导入一定程度的“健忘性”。
这些数据类别的正式讨论在以下有关所述引擎的服务器端组件的讨论中提供。然 而,以上描述足以提供了解推论询问的基础。
因此,综上所述,推论询问305是一包含下列部件的对象
1. 一唯一用户标识符
2. 一安全性令牌
3.推论询问305至所述服务器的语境一般由语境服务110提供。所述语境将由一 个或多个下列语境因素组成
a.位置(地理空间、政治、网络位置[互联网协议地址、虚拟位置、移动电话网络中 的位置])
b.网络特性(信号强度、漫游状态等等)
C. 一日内的时间(实时、网络时间、虚拟时间)
d.用户情绪(情感反馈)
e.在使用中的设备的序号(“国际移动设备身份码” [IMEI]、“国际移动用户识别码” [IMSI]、“媒体访问控制” [MAC]地址等等)
f.在使用中的设备的特性(无讯息模式对振铃模式、有线网络使用对无线网络使 用等等)
g.主观位置(住处、办事处、汽车)
h.周围设备
i.周围网络(蓝牙、ZigBee、射频识别(RFID)、近距离无线通信(NFC))
j.天气或温度
k.用户的电话号码及/或用户标识符
4.将用于产生一答复予所述推论询问的行为模式的名称
5.所述询问被引导的关于知识实体的种类。例如,下列的其中之一
a.人员
b.地点(地点可指示客观位置,即使是那些可以从非位置明确语境数据推断的位 置)
c.应用
d. _既念
e.事物
f.统一资源标识符(点击流)
g.媒体文件(歌曲、视频、书籍[音乐])
h.事件
i.情绪
j.关系
k.操作数
1.常识
6.对所述询问的答复中需包括的知识实体的数目。
这包括所述引擎的客户端组件的一描述。
II.服务器
所述引擎的服务器端代码可以当成分解为六个部分
1.行为服务117;
2.建模器服务118;
3.行为建模器119;
4.行为模式120 ;
5.推论服务121;以及
6.语境服务122。
虽然以下讨论假设所有这些组件是一单一集合的服务器代码的部分,但只要所有 需要相互对话的组件可以相互存取(即它们共享相同网络),这些组件不需要是一单一集 合的服务器代码的部分。在有些实施例中,为了可量测性,可以明确地从所述其他服务取出 建模器服务118(既然其处理趋向于计算密集而因此在处于活动状态时对其他服务的执行有害)。
以下讨论依次详细阐述这些组件中的每种组件。
A.行为服各(服各器端)
所述引擎中的服务器端行为服务117通常实施为一单独服务器过程,所述单独服 务器过程设计成管理来自多种客户端服务的多个同时连接。在一个实施例中,行为服务117 占据一单一“传输控制协议/互联网协议”(TCP/IP)端口,虽然在所述结构中没有这样的限 制。所述服务器端行为服务的主要功能是将所述客户端行为服务提供的“原行为-语境双 对象”转换成行为原子,以供存储在一数据库中。为了将所述客户端行为服务提供的“原行 为-语境双对象”转换成行为原子,行为服务117必须将所述双对象中的每个原行为解剖成 其多种行为因素,然后将这些因素分解为知识实体。接着通过所述双对象的语境对象的应 用,将所述知识实体转换为行为原子。为了执行这些任务,行为服务117可以依赖(而且经 常依赖)外部系统,而有些外部系统将在这里提及。
由于将所述“原行为-语境双对象”转换为行为因素、然后转换为知识实体的过程 可能计算密集及存储器资源密集,这个转换优选不在客户设备IOId或提供所述双对象(客 户端代码)的服务上进行。此外,如先前所述。有些转换将依赖由外部支持系统向服务器 端行为服务117提供的信息,而且因此将不一定可由客户设备IOld或提供所述双对象的服 务使用。说明了以上这些,如果一客户设备或服务能够支持所述转换的计算及存储器资源 要求,这样的转换可以在提供所述双对象的设备上完成,因而完全消除对所述“原行为-语 境双对象”的需要。
行为服务117可以分解为几个组件
1. 一网络服务131,用于接收来自客户端的一清单或阵列的“原行为-语境双对 象”,或用于向客户端要求一清单或阵列的“原行为-语境双对象”;
2. 一队列133,用于暂时接收所述双对象;
3.至少一个行为-语境处理器135,行为-语境处理器135检查每个双对象,然后 将之分解为一个或多个行为原子。所述行为原子接着由所述处理器转换为知识实体;
4. 一队列管理器137,队列管理器137在被告知所述队列中存在双对象时检查所 述清单或阵列的双对象,并确定应发动哪个行为-语境处理器来处理每个双对象;以及
5.三个关系数据库
“原行为-语境双对象数据库”(RB⑶DB) 139,“原行为-语境双对象数据 库”(RB⑶DB) 139存储“原行为-语境双对象”;
知识实体数据库(KE DB) 141,知识实体数据库(KE DB) 141存储处理了的知识实 体;以及
行为原子数据库(BA DB) 143,行为原子数据库(BA DB) 143在处理完成时存储行 为原子。
在操作中,在被告知网络服务131已经成功地接收一清单或阵列的双对象并将该 对象放置入队列133时,队列管理器137将即刻检查所述清单或阵列的内容。对于每个“原 行为-语境双对象”,队列管理器137将确定适当的行为-语境处理器,并启动该处理器135 的活动。
所述处理器将接着从所述阵列或清单摘录每个双对象、检查该双对象、然后在该 双对象中摘录个别的行为因素。在大多数情况下,一单一双对象将被转换为许多行为因素。 这些因素接着被分解为一个或多个知识实体。以下将即刻对有关这个过程怎样完成的详情25以及有关在将所述知识实体存储在知识实体数据库141之前对所述知识实体执行的附加 处理的详情进行讨论。
一旦所述知识实体已经产生,所述处理器将这些知识实体与来自接受检查的双对 象的语境对象进行比较。这两个对象的结合使所述知识实体成为行为原子。如果存在附加 的元数据(通常来自所述双对象及所述行为服务之外的来源),附加的元数据将在这个阶 段被添加到所述行为原子;例如,来自一自然语言处理(NLP)引擎的茎干关系元数据。
在有些实例中,这些外部服务在与行为-语境处理器135互动时将导致产生所述 行为-语境双对象中的那些知识实体之外的新知识实体。在类似一良性循环的循环中,来 自有些行为-语境处理器的知识实体将由外部服务处理,而合成数据将送回到行为-语境 处理器135,以进行附加的处理。这个反馈环路的最终结果是附加行为原子的产生。
—旦这个过程完成,所完成的行为原子被存储到行为原子数据库143。同样地,所 述“原行为-语境双对象”被存储到“原行为-语境双对象数据库” 139,而所述知识实体(在 附加处理之后)被存储在知识实体数据库141。对于所述“原行为-语境双对象”,这个存储 允许由其他系统进行最后的处理,而这些其他系统中的大多数将在本说明书的范围之外。
例如,考虑所述“原行为-语境双对象”是从一用户在根据本发明的原则配置的一 电子书阅读器上高兴地“突出”或选择一些文本的一活动创建的案例。所述突出文本可能是 “钟声为谁而鸣”,而且这个行动可能是在7月1日星期三下午3时在用户的家里执行。以 下行为原子可能因由行为-语境处理器135处理而创建
·以“钟声为谁而鸣”为元数据的一媒体文件原子,所述媒体文件原子用于指出所 述行为是从一电子文件表达;
一位置原子,所述位置原子指出所述用户的住处(可能带有该位置的“全球定 位系统”(GPQ坐标);
一情感原子,所述情感原子用于“高兴”(用户的情绪);
一应用程序原子,所述应用程序原子用于电子书(即一电子书为所述宿主系 统);以及
几个单独概念原子,所述单独概念原子用于所述突出文本的每个词(在大多数 情况减去如“那”的停用词)。
用于这些最近的概念原子的元数据一般将不是全部由所述行为-语境处理器 本身创建,而一般是全部由一外部自然语言处理(NLP)引擎创建,所述外部自然语言 处理(NLP)引擎将应用传统文本挖掘技术(如干处理)以及“检索词频率-逆文献频 率”(TF-IDF)来产生所述元数据。在上述良性循环的一范例中,这个自然语言处理(NLP) 引擎将接着将这些元数据反馈到行为-语境处理器135中,而行为-语境处理器135将接 着将该元数据转换成知识实体,然后转换成行为原子。下一节将解释为什么这样。
1.行为-语境处理器
行为-语境处理器135的工作趋向于一与查阅表一致的简单的、行为因素到知识 实体的一对一或一对多转换。这么做是故意的,以便使所述两个域的映射明确地人类可读 (当所述数据的人类检查)以及,推动迅速的过程完成。当需要一更为复杂的转换机制时, 通常引入一附加的域特定处理器来承担,如同导入可能是一行为因素的一部分的一自然语 言处理器来处理一些原始、非结构化文本一样。
在一个实施例中,这个一对一或一对多转换可能“硬连接”到所述代码中。换句话 说,任何一个行为因素将总是映射到一个或多个预定知识实体,其分别只是可能与该知识 实体相关的元数据。然而,这个过程可以成为动态,或可以受一数学算法的影响。甚至可以 使这个过程受限于所述引擎本身的输出,使得行为因素到知识实体的转换完全地语境敏感 及/或行为敏感。
只要新行为因素被导入所述系统,通常需要对行为-语境处理器135进行改变,不 论所述新因素是否为一现有原行为的部分。这些改变通常限于将行为因素的一对一或一对 多映射改变为知识实体。
2.知识实体后处理
如先前所述,一知识实体是所述系统将俘获的最小量的知识。每个知识实体是独 特的,而且由下列这些常见部件构成
1.所述实体的唯一标识符;
2.所述用户的唯一标识符;以及
3.所述实体的描述(或名称)。
此外,知识实体可能将包含与所述“原行为-语境双对象”相关但不一定是从所述 “原行为-语境双对象”摘录的元数据。例如(根据我们先前的范例建立),包含“钟声为谁 而鸣”的描述的一知识实体也可能有由外部方法提供的附加属性,这些附加属性可能包括
1.作者;
2.长度(摘录所述文本的作品的长度);
3.流派;
4.国际标准书号(ISBN);以及
5.统一资源标识符(URI)(在适当的情况下)。
只要发现所述引擎中目前不存在匹配的实体,行为-语境处理器135将动态地创 建新的知识实体。这里所执行的匹配是由所述行为-语境处理器对上述知识-实体数据库 141执行。当新的知识实体创建时,它们被授予一初始加权或“活动性”属性。这个属性担 当一种过滤器,指出最后将由所述引擎的其余部分创建的行为模式中应包括或不应包括包 含这个知识实体的行为原子的程度。
这个“活动性”属性可以由所述用户控制或由一数学算法动态地控制,就像概念原 子的知识实体的情况一样(其可以由一改进“检索词频率-逆文献频率”(TF-IDF)算法控 制)。在一个实施例中,所有知识实体(除了那些涉及概念原子的知识实体之外)被设置以 一最大的“活动性”程度。在另一个实施例中,“活动性”可能受所述知识实体在所述用户的 原行为中出现的频率的影响。
B.建模器服务
像服务器端行为服务117 —样,建模器服务118 —般实施为一单独服务器过程。 建模器服务118负责从行为原子的数据库准备数据集,以便最后产生一成为行为模式的数 据结构。所述行为模式是一用户在由一特定范围的语境描述的界限中的历史行为的数学表 达,所述特定范围的语境将在以下详细讨论。
建模器服务118分解为四个部分
1.模式配置155 ;27
2.模式配置数据库153 ;
3.任务对象157;以及
4.排程器 151。
模式配置155是一集合的参数,其说明下列诸项
1.所述数据集的语境界限最后将用于创建所述行为模式(这通常指定为一系列 的语境属性);
2.需用于从所述数据集过滤掉不需要的行为原子的知识实体“活动性”程度”;
3.为创建所述行为模式而需用于所述数据集的算法或行为建模器(所述行为建 模器的细节接着将在我们就所述行为模式进行的讨论中替提及);
4. 一转换模板(待稍后描述),所述转换模板详细提供对所述行为建模型器有用 的信息;以及
5.创建所述行为模式应使用的频率。注意这个频率完全与所述配置中指定的语 境范围无关。
建模器服务118将为一个或多个用户存储多个模式配置在(建模器服务118的第 二部分)模式配置数据库153中。
所述建模器服务的第三部分是任务对象157。任务对象157 —般实施为一线程,其 负责执行创建一行为模式的必需程序。当被创建时,所述任务对象被授予一模式配置,而所 述行为原子数据库被授予一统一资源标识符(URI);所述任务对象将从所述行为原子数据 库导出其数据集。在被执行时,任务对象157获得必需的数据集,并将所述数据集传递到其 模式配置155中指定的算法或行为建模器119。一旦所述行为建模器已经完成所述行为模 式的创建,任务对象157将所述行为模式存储在一分别的数据存储器中。在一个实施例中 的这个存储器是一高速缓冲存储器,该高速缓冲存储器由一关系数据库或文件系统维持。
在一个实施例中,模式配置155实施为使其参数抑制任务对象157对一单一行为 建模器119应用其数据集。在另一个实施例中,任务对象157可以更灵活,而且其模式配置 巧5可能增大,以允许所述任务对象将其数据集传递到多个行为建模器110中。在这样的背 景下创建的行为模式将接着用于允许服务器端推论服务121(服务器端推论服务121尚待 讨论)运行对这集合的行为模式的一系列询问。这些询问将动态地及同时地执行,以确定 用来产生“最满意”结果的“最佳”模式。所述“最佳”模式及“最满意”结果在很大程度上 视所述询问的结果的预期目的而定。
建模器服务118的第四暨最后部分为排程器151。这是一线程,所述线程负责定期 地授权任务对象157执行其操作。由于排程器151的设计相当常见,这里将不作深入的讨 论-除了说明排程器151的设计使得多个任务对象能够同时运行,以及排程器151在每个 任务对象157中使用模式配置155来管理其排程。
1.行为建模器及行为模式
行为建模器119是在上述任务对象157的语境中执行的一对象。行为建模器119 负责将由任务对象157获取的数据集从其作为来自行为原子数据库143的数据的一子集的 初始状态转换为一行为模式,而我们现在将把所述行为模式定义为可以由一数学算法控制 的“数据点云”。“云”的意义以及所述数据点的结构将在稍后描述。这个数据转换可以视 为一三步过程,所述三步过程可以描述如下
1.将语境预处理为语境值;
2.创建所述数据点“云”;以及
3.选择所述行为建模器算法。
当行为建模器110的工作完成时,所述用户的历史行为及周围语境的一“有数学 意义”的模式将已经创建。这个模式其实是一复杂数据结构,其代表数据点与一算法(所述 算法包含一个或多个数学算法或机器学习算法)结合的一多维语境坐标系统。
2.行为津樽器算法
建模器服务118包含多个行为建模器,所述行为建模器算法中的每个行为建模器 算法使用其支持的一个行为建模器。为所述引擎的预测功能选择支持多个算法是刻意的, 这是由于没有任何单一算法在所有情况下达臻理想是合乎逻辑的。
合适的行为建模器算法包括机器学习算法,但其他类别的算法也可以被支持。行 为建模器算法预想由所述行为建模器设计支持的行为建模器算法包括但不限于
1.朴素贝叶斯(NaiveBayes);
2.分级朴素贝叶斯(HierarchicalNaiveBayes);
3.隐马尔可夫(Hidden Markov);
4. MM^XW, (Expectation Maximization);
5.最近邻(Nearest Neighbor);
6.质心分类器(Centroid Classifier);以及
7.分形维数(Fractal Dimension)。
尽管有多种机器学习算法,而且每种机器学习算法的数据集要求都有分歧,但所 述行为建模器设计向每个行为建模器算法以及向行为建模器119的基础结构揭露一通用 集合的应用程序编程接口(APIs)。采用这个方式允许多个行为建模器算法的创建,同时允 许所有行为建模器对建模器服务118显得相同,以及允许每个行为建模器产生带有一致结 构的一行为模式。我们相信这个方式有很多独特性。此外,可以使这个方式足够通用,以应 用于所述引擎之外的应用。
3.数据点及“云”
将行为原子的所述数据集转换为一“数据点云”的过程复杂。首先,所述数据集中 的每个行为原子转换为一单一数据点,而所述单一数据点的结构由所述任务对象的模式配 置中的一转换模板定义。在一般常识上,一数据点可以描述为所述行为原子的知识实体部 分与已经摘录自该同一行为原子的一阵列的语境值结合。所述语境值的摘录将稍后讨论, 但它们的存在的背后目的是将在所述行为原子中俘获的周围语境解构为相一多维语境坐 标系统的一坐标的等同物,即一“度量空间”(如在数学上定义那样)。这样的空间在所述 行为建模器算法中有特别意义;在所述行为模式用于预测一用户的行为时,所述行为建模 器算法将依赖这个坐标系统。
在我们讨论所述语境值的创建的细节之前退后一步,我们可以考虑所述数据点 (如以上描述者)为一“属性”,所述“属性”置于由所述语境坐标系统的一多维“云”中的 语境值指示的“坐标”。这个比喻对于接下来的有关所述服务器端推论服务的讨论将特别有 益,因此值得在此详尽说明。
使用一简化范例,考虑一颜色可能作为一属性而与一三维(X-Y-Z)坐标系统中的一数据点有关。这个系统中的每个数据点将有一 X值、一 Y值及一 Z值、以及一颜色Q,这描 述一些真实世界特性(X1Y1Z1Q)。如果任何人有数以千计的这些有色数据点并选择绘制每个 数据点,此人将发现其可能已经创建了色彩缤纷的数据点“云”。
扩展所述比喻,这个“云”的X、Y及Z值中的每个值将对应于所述数据点的语境值, 而所述知识实体将对应于所述颜色。由此推进到行为建模器119的设计细节-所述数据点 “云”是一多维数据结构,其中所述数据点沿着由所述语境值定义的轴排列。这些语境值与 曾由任务对象模式配置155指示为行为原子的初始数据集的界限的语境属性直接有关。
照这样定义所述语境值造成对行为建模器119的限制,因为所属“云”的坐标系统 将只是包含曾是所述有界限数据集的一部分的语境属性。例如,在建模器服务118中,一语 境属性可能对预测一用户的行为具有统计学意义,而且可能不包括在最后的行为模式中, 这是由于该用户漏了在模式培植155中包括该语境属性。
例如,如果碰巧一用户只是在户外气温为-5摄氏度时访问“theweathercharmel. com”(天气频道)网站(例如由于该用户喜欢滑雪而且对在寒冷时哪里下雪感兴趣),但温 度不曾作为语境属性的界限的其中之一而被包括在所述模式配置中,所述行为建模器的算 法将不能确定所述温度是该用户的未来行为的一个有意义的因素。
4.预处理及创津语境倌
所述摘录语境值的多步骤过程以所述行为建模器119检查所述行为原子的语境 部分中的每个语境属性为开始。作为一第一步骤,所述语境属性转换为其“数字”或“名义” 表达。
这个数字或名义值接着重新投入一对象,所述对象在其结构中俘获正在描述的属 性的特性以及所述属性的“数学意义”。在字面意义上,这意味着所述数字或名义值被置入 一新语境值对象,该新语境值对象仅限于正在描述的语境属性的种类或类别。例如,-5摄 氏度的一温度的语境属性将转换为一数值为-5的摄氏温度语境值。
这个转换的原因是所述新语境值压缩软件方法,这些软件方法定义同将与所述 “云”相关的行为建模器算法一致的标量值的“数学意义”。“数学意义”实际指所述语境值 属于一明确定义的度量空间(即指所述度量空间有一相应的、满足自反性、对称性及三角 不等式公理的距离函数)。
一旦所述行为原子的所有语境值已经创建,它们被置入一特定顺序,而所述特定 顺序实际上成为一阵列。这个阵列确定所述行为建模器算法的多维坐标系统中的语境属性 的坐标位置。这个坐标接着结合到所述行为原子的知识实体,以成为一数据点。
这个过程继续至每个行为原子已经转换。所述合成“云”被传送到一新行为模式 中,在所述新行为模式,所述合成“云”由已在任务模式配置155中定义的行为建模器算法纟口口。
C.推论服各(服各器端)
推论服务121包括四个部分
1.一网络服务界面167,通过网络服务界面167,客户被允许进行所述引擎的推论 询问;
2.一队列或集合体165,以允许同时处理多个推论询问;
3.一询问线程165,询问线程165执行询问本身的程序;以及
4. 一推论询问高速缓存器167,所述推论询问高速缓存器167与每个询问核对,以 确保完全一样的询问在一时间段内不在相同的模式上执行。
网络服务161可以效法网络界面软件的任何合理实施,以便在所述网络上接收推 论询问。
在操作中,网络服务161首先接收来自所述客户代码的一推论询问。如先前所述, 所述推论询问包括
1.唯一用户标识符
2.安全性令牌
3.用于所述询问的语境。所述语境将由下列的一个或多个属性组成
a.位置(地理空间、政治、网络位置[互联网协议地址、虚拟位置、移动电话网络中 的位置])
b.网络特性(信号强度、漫游状态等等)
c. 一日内的时间(实时、网络时间、虚拟时间)
d.用户情绪(情感反馈)
e.在使用中的设备的序号(“国际移动设备身份码” [IMEI]、“国际移动用户识别 码” [IMSI]、“媒体访问控制” [MAC]地址等等)
f.在使用中的设备的特性(无讯息模式对振铃模式、有线网络使用对无线网络使 用等等)
g.主观位置(住处、办事处、汽车)
(i)总是用户定义
h.周围设备或网络(蓝牙、ZigBee、射频识别(RFID)、近距离无线通信(NFC))
i.天气或温度
j.用户的电话号码或用户标识符
4.用于所述询问的模式的名称
a.名称由所述用户在创建模式配置时随意选择。所述模式配置名称为所述模式本 身的名称
5.定向所述询问涉及的行为实体类别。这将是以下的其中之一
a.人员
b.地点(不是根据语境数据创建,但可以根据语境数据推论)
C.应用
d. _既念
e.事物
f.统一资源标识符(点击流)
g.媒体文件(歌曲、视频、书籍[音乐])
h.事件
i.情绪
6.对所述询问的答复中需包括的行为实体的数目。
推论服务121俘获所述推论询问,并使用所述询问中的所述模式的名称来查找适 当的模式配置155,以用于创建一数据点。一旦其查找到所述模式配置,推论服务121使用所述模式配置为一指南,以便有效地以一空白的行为实体创建一新数据点。这个数据点将 适合应用于所述模式。这个新数据点的语境坐标根据摘录自所述推论询问的语境属性创 建。因为不是所有语境属性都适合于已经创建的每个模式,可能需执行一些语境属性的过 滤。一旦带有所述空白行为实体的所述数据点已经创建,推论服务121使用所述数据点来 在推论询问高速缓存器167中查找,以确定所述系统新近是否曾运行将会产生与即将运行 的分析的结果相同的结果的分析。所述查找的匹配标准为
1.所述数据点的语境坐标;
2.所述模式的名称;以及
3.正在寻找的行为类别。
这些标准中的每个标准应有一精确的匹配,以便使用高速缓存器167的结果。否 则,推论服务121使用所述模式名称及行为实体名称来获取所述模式,然后对所述模式的 询问界面应用所述数据点。应注意的是,所述模式在被创建及命名时是为了应用一单一行 为建模器算法来产生只是一个行为实体类别的一集合的结果。这么做是为了效率。先前讨 论的行为建模器算法产生数据点-双对象的一分级清单,该分级清单满足已被应用到所述 模式的数据点的语境坐标。这些双对象在字面意义上是来自所述模式的数据点,附加有介 于0与1之间的指示所述数据点与所述语境坐标匹配的程度的一“信心得分”。这个得分是 由所述行为建模器算法执行的计算的副产品。所述推论服务接着分析所述分级清单,以提 取在所述初始推论询问中要求的所述数目的行为实体。一旦已经获取该数目的行为实体, 一对象通过所述网络服务界面,被送回到所述呼叫客户。
在以上描述的服务器端推论服务的使用中,一数据点的知识实体部分保持不填 写,使得所述知识实体部分可以通过将该数据点应用到所述行为模式的询问界面来填写。 可选择地,所述数据点的语境值部分可以保持不填写,而该相同的数据点的知识实体部分 被填写。以这个方式,一旦应用于所述行为模式的询问界面,所述数据点将由一分级清单的 语境值及一“信心得分”填写。以这种方式使用,所述引擎不再在已知一语境的情况下预测 人类行为,而是在已知所述用户的一人类行为的情况下预测语境。所述引擎答复这个问题 “我应该在什么集合的情况下预期用户执行这个行为或这个集合的行为?”
这个替代方法带来许多应用,特别是在监视领域。在一法律执行范例中,这样的方 案将是预测一犯罪嫌疑人的位置的一个有用方法,条件是存储在所述引擎中的数据可供使 用,而且跟踪行为的一清单在手。例如,以这样的方法,法律执行人员可以只知道一已知严 重犯罪者在其母亲的生日拨电话联系其母亲的情况下辨明所述已知严重犯罪者的去向。在 这一呼叫进行时,可以根据可送回关于该已知严重犯罪者出现的完整集合的位置的数据, 形成一推论询问。
在另一范例中,一广告代理可能在知道所述用户在拨电话予其经纪人之后最易受 市场营销信息影响的情况下,希望确定向一用户显示一金融服务商业广告的最有效时间。 通过以所描述的行为创建一推论询问,所述广告代理可以接收到关于所述商业广告可能最 有效的时间的一分级清单。
P.语境服各(服各器端)
语境服务122为一单独过程,它在客户端以非常相似于其同伴过程的方式发挥功 能。语境服务122有一显著分别,其分别在于语境服务122不管理一主要语境对象。相反地,语境服务122维护一语境数据库179。这个语境数据库179由一称为“记录语境因素” 的新语境相关对象填写,所述记录语境因素随后将进行描述。服务器端语境服务122的主 要功能在于充当一查阅表,以填写将在从服务器端推论服务121及行为服务117的各种语 境对象中不时出现的间隙。
语境服务可分解为五个部分
1.所述语境服务的网络服务171 ;
2.语境队列173 ;
3.语境队列管理器175 ;
4.记录语境因素界面177 ;以及
5.记录语境因素数据库179。
实际上,所述语境服务的网络服务171例行地接收来自不同的客户端语境服务 110的语境对象。这些语境对象中的每个语境对象将包含许多语境因素,包括一时间戳。在 收到这些语境对象时,网络服务171将把这些语境对象置入语境队列173,然后通知语境队 列管理器175。在接收这一通知时,语境队列管理器175将从队列173获取所述语境对象, 然后“展开”所述语境对象,从而摘取独立语境因素。语境队列管理器175将接着使用所述 语境对象中的时间戳作为一键,为每个语境因素创建一分别的记录语境因素对象。所述新 的记录语境因素将接着包含所述初始语境因素及这个键。
所述记录语境因素存储在记录语境因素数据库179 ;在有些实施中,记录语境因 素数据库179更准确地描述为一持久性数据存储器(而不是一关系数据库),该持久性数据 存储器包含一高速缓存器,并可能包含一文件系统。
当服务器端行为服务117或推论服务121确定一原行为或推论询问中的语境对象 缺失一个或多个语境因素时,其使用所述记录语境因素界面来执行对记录语境因素数据库 179的查找。如果所述缺失因素已经由一不同客户提供,则这些因素被送回行为服务117或 推论服务121,以填写所述语境对象的间隙。
例如,让我们考虑一用户例行地在其根据本发明的原则配置的桌面机器上浏览网 络。该机器将例行地向所述引擎的服务器端行为服务117提供原行为。然而,由于大多数桌 面机器并不是位置感知,由所述客户在这些机器上供应的语境对象将错过位置语境因素。 然而,如果所述用户也携带根据本发明的原则配置的包括位置感知的移动电话,由该移动 电话例行供应的语境对象将包括位置语境因素,而且这些因素可以用于填写所述间隙。由 于这个原因,服务器端语境服务122被创建。
III.在数学意义上
如先前所述,所述行为建模器算法为一个或多个数学算法或机器学习算法的实施 例,这些实施例根据所述“云”及所述特定推论阵列中的数据点预测所述用户的喜好。更明 确地说,它们与代表一特定语境中一用户的采集行为的一“数据点云” 一起构成所述引擎的 模式的部分。在应用中,这些算法被提供以一数据点,该数据点带有来自所述引擎的推论服 务的一空白行为实体,并产生一集合的行为实体及一信心得分。
描述了所述客户端及服务器端软件组件之后,对所述行为建模器算法进行描述是 合乎程序的。有许多广为人知的常用统计建模算法根据一集合的数据点来预测事物,而实 际上这些常用统计建模算法中的任何统计建模算法可以作为一行为建模器算法用于本发明。如先前所述,不同的统计建模算法可以更好地为不同的推论询问服务(即一个统计建 模算法可以在一已知情况下比另一统计建模算法提供更为准确的关于所述用户的喜好的 预测)。任何这样的算法可以由这些领域的熟练人员轻易地适应,作为所述行为建模器算法 的其中之一来使用。
IV.流稈图
在对本发明的多种组件及操作进行描述之后,接着以图4-10呈现的许多简图来 帮助说明根据本发明的多方面的操作流程。
A.语境信息(客户端)的连续采集
图4图解所述客户端软件的持续的语境信息采集过程,所述过程定期地以由语境 收听器107检测到的最近语境信息来更新语境服务110。在步骤401,一触发语境事件发生。 这可能仅仅是一设置为每两分钟消失的计时器。接着,在步骤403,所述语境事件由语境收 听器107检测。语境收听器107将接着采集以语境因素为形式的语境信息,所述语境信息 将接着在步骤405被汇报到语境服务110。在最后的步骤407,所述语境服务将把所述新语 境因素添加到所述主要语境对象(如果不存在适用于该语境因素的值),或以所述新汇报 的数据来更新所述主要语境对象中的一现有语境因素。所述过程在步骤409结束。
B.行为及语境信息(客户端)的采集
图5图解与创建所述模式所需的行为及语境对象的采集有关的、所述客户端软件 的一例示性流程。所述过程为响应一触发行为而开始,例如,所述用户在一无线个人数字助 理(PDA)上进行一电话呼叫。
因此,在步骤501,触发原行为发生。接着,在步骤503,行为收听器106检测所述触 发行为,并采集描述该行为的行为因素。在步骤505,行为收听器106调用语境服务110来 搜集在所检测的行为周围的最新近的语境信息(如通过图4的流程图中图解的过程采集那 样)。在步骤509,语境服务110创建一语境对象,所述语境对象包含关于所述行为发生所 在的语境的原数据。语境服务110将所述语境对象送回行为收听器108,接着在步骤511, 所述行为收听器创建一行为-语境双对象,然后将之发送到行为服务117。
接着,在某个时候,一个或多个所存储的行为-语境双对象被发送到所述服务器 端软件。例如,在步骤513,行为服务109创建及向本发明的所述服务器端部分发送一包含 一个或多个行为-语境双对象的信息(称为一行为-语境双对象清单)。所述过程在步骤 515结束ο
C. “行为-语境双对象”(服务器端)的处理
图6图解与处理接收来自所述客户端软件的这些行为-语境双对象清单(以便将 它们转换成行为原子,供存储在行为原子数据库14 有关的流程。当来自所述客户端软件 的一行为-语境双对象清单被接收时(见图5中的步骤51 ,这个流程被调用(步骤601)。 在接收到一行为语境双对象清单时,流程进入步骤603 ;在步骤603,行为网络服务131苏 醒。在步骤605,所述行为服务网络将所接收的清单中的原行为-语境双对象写入队列133。 接着,在步骤607,行为队列管理器137检查所述清单的内容、摘录每个双对象,然后发动适 当的、处理所述双对象需使用的行为-语境处理器135。
在步骤609,所述特定处理起135摘录该双对象中的个别行为因素。在大多数情况 下,一单一双对象将转换为许多行为因素。
接着,在步骤611,这些行为因素中的每个行为因素被分解为一个或多个知识实 体。在步骤613,行为语境处理器135对这些知识实体与来自在检查中的所述双对象的语 境对象进行比较,以创建行为原子。在步骤615,所述行为原子被写入行为原子数据库143。 此外,行为语境处理器135也将在步骤601中接收的初始原行为-语境双对象存储到原行 为语境双对象数据库139中。在步骤619,行为语境处理器135也将所摘录的知识实体(见 步骤611)存储到知识实体数据库141中。所述过程在步骤621结束。
D.语境信息(客户端)的附加采集
如先前所述,可能有必要采集独立于图5的流程图中图解的过程无关的语境信 息;在图5的流程图中图解的过程中,采集是由一原行为的发生而触发的。与一触发行为无 关的语境信息的采集将允许为某种语境中一行为的不存在进行建模;对于定制化用户设备 的目的而言,这可以像所述行为信息一样有用。因此,图7图解所述客户端软件的一第二过 程,该第二过程用于采集图5的流程图中所示的过程(其涉及为响应一原行为的检测而采 集语境信息)无关的语境信息。
在步骤701,语境服务110调用语境收听器107来采集语境信息。在步骤703,语 境收听器107辨别语境因素,以确定其应采集什么语境数据,然后采集之。在步骤705,所述 语境收听器将所采集的数据向所述语境服务报告,所述语境服务接着创建一语境对象。在 步骤707,所述语境服务将所述语境对象发送到所述服务器端软件。所述过程在步骤709结束ο
E.语境对象(服各器端)的处理
图8图解响应接收来自所述客户端软件的一语境对象(如在图4图解的流程的步 骤413中发送者)的服务器端操作。在步骤801,从所述客户端软件接收所述语境对象。在 步骤803,语境服务122中的网络服务171被调用来处理所述语境对象。在步骤805,所述 语境服务的网络服务171将所述语境对象写入语境队列173。在步骤807,语境队列管理器 175从队列173获取所述语境对象,然后“展开”所述语境对象,从而摘取所述独立语境因 素。在步骤809,队列管理器175使用所述语境对象中的时间戳作为一键,为每个语境因素 创建一分别的记录语境因素对象。
在步骤811,语境队列管理器175将所述记录语境因素对象写入集录语境因素数 据库179。所述过程在步骤813结束。
F.创津一行为樽式(服各器端)
图9图解与建模器服务118创建一行为模式有关的流程。这是根据所采集的行 为及语境信息创建一行为模式的过程,而且可以通过这个过程运行一推论询问以获得一答 复,例如基于语境的一集合的一个或多个用户喜好(作为所述特定控制杆的一功能)。在 步骤901,模式服务118的排程器151调用一任务157,任务157接着咨询模式配置数据库 153,以便检索特定模式配置155,用于创建一行为模式。接着,在步骤903,任务157从行为 原子数据库143检索适当的数据集,然后将所述数据集传送到行为建模器119。在步骤905, 行为建模器119创建一行为模式。在步骤907,任务157促使以上创建的行为模式存储在行 为模式数据存储器120中。所述过程在步骤909结束。
G.推论询问(客户端)的形成
图10图解根据一个例示实施例的客户端软件的流程,所述流程用于创建及传输一推论询问到所述服务器端软件。在步骤1001,一事件自动地发生或通过所述用户的某种 行动发生,该事件调用相关的控制杆108。例如,如果所述控制杆是一无线个人数字助理 (PDA),所述控制杆可以由所述用户按一按钮来将所述无线个人数字助理(PDA)从睡眠模 式唤醒,使得无需以一闲置屏幕图像来描绘所述设备的显示屏幕。在步骤1003,控制杆108 呼叫推论服务111。在步骤1005,推论服务111调用语境服务110。在步骤1007,语境服务 110创建一语境对象(如先前连同图4进行描述者)。在步骤1009,语境服务110将所述语 境对象送回推论服务111。在步骤1011,推论服务111将所述语境对象与所述控制杆信息 结合,以创建一推论询问。在步骤1013,推论服务111将所述推论询问发送到所述服务器端 软件。所述过程在步骤1015结束。
H.推论询问答复(服各器端)的产牛
图11图解所述服务器端上响应接收自所述客户端软件的一推论询问(图10的步 骤1013)的流程。在步骤1101,所述服务器端软件接收来自客户端软件的一推论询问。在 步骤1103,推论服务121的网络服务161被唤醒。在步骤1105,网络服务161将所述推论 询问写入推论服务队列163。
接着,在步骤1107,询问线程165被呼叫,而且询问线程165使用所述推论询问中 的模式的名称来查找适当的模式配置。在步骤1109,推论服务121使用所述配置为引导来 创建带有一空白行为实体的一新数据点。在步骤1111,询问线程165首先检查推论服务队 列163,以确定其新近是否曾服务来自相同设备的相同推论询问。如果其新近曾服务来自相 同设备的相同推论询问,流程进入步骤1113 ;在步骤1113,相应的推论询问答复检索自推 论询问高速缓存器167。流程接着进入步骤1115,其中一推论询问答复被送回提出要求的 客户端软件。所述过程在步骤1117结束。
另一方面,如果未在推论询问高速缓存器167中找到所述推论询问,流程相反地 从步骤1111进入步骤1119。在步骤1119,所述推论服务到行为模式数据存储器120,并使 用上述模式名称及行为实体名称为这个特定推论询问检索适当模式。接着,在步骤1121,推 论服务121调用所述模式,并通过所述模式运行带有所述空白行为实体的数据点,以获得 对所述推论询问的答复。接着,在步骤1123,推论服务121创建一推论询问答复。
流程接着进入步骤1115,将所述推论询问答复送回提出要求的客户端软件。所述 过程在步骤1117结束。
对本发明的一些特定实施例进行描述之后,本发明的各种改变、修改及改进将能 轻易地由本领域中的熟练人员所知晓。虽然未明确在此成熟,但由本公开使得显而易见的 这些改变、修改及改进属于本说明书的部分,而且属于本发明的精神及范围。因此,以上描 述是在例示本发明,而不是限制其包括范围。本发明仅限于以下权利要求及其等效物所定义者。
权利要求
1.一种根据对一设备的至少一用户的行为的观察(作为语境的一功能)来改变所述设 备的行为(作为所述设备的语境的一功能)的方法,所述方法包括跟踪与所述设备有关的语境信息; 跟踪与所述设备有关的、所述设备的一用户的行为信息;使所述行为信息与所述语境信息互相关,以确定与所述设备有关的用户行为在被展示 时所处的语境;根据所跟踪的语境信息及所跟踪的行为信息,产生所述设备的一用户的将来行为的一 预测模式,作为与所述设备有关的语境的一功能;以及根据所述预测模式,调整所述设备的操作,作为与所述设备有关的一集合的语境信息 的一功能。
2.如权利要求1所述的方法,其中所述“调整”的步骤是与所述设备有关的一当前集合 的语境信息的一功能。
3.如权利要求1所述的方法,其中所述跟踪语境信息的步骤包括在预定触发事件发生时采集语境信息的实例; 所述跟踪行为信息的步骤包括采集关于用户与所述设备互动的实例;以及 所述使行为信息与语境信息互相关的步骤包括(以行为信息为一实例)在采集行为信 息的实例之前检索语境信息的最新近实例。
4.如权利要求3所述的方法,其中所述触发事件包括一预定时间期的消逝。
5.如权利要求1所述的方法,其中所述跟踪行为信息的步骤包括检测用户与所述设备互动的实例及存储关于所述用户 互动的行为信息的一实例;以及所述跟踪语境信息的步骤包括采集语境信息的实例,以响应用户与所述设备互动的实 例的检测。
6.如权利要求3所述的方法,其中所述方法是在一网络环境中执行及其中所述设备是 一网络上的一节点,以及其中所述跟踪语境信息的步骤及所述跟踪行为信息的步骤是在所 述设备上执行,而所述“产生”的步骤是在所述网络的一单独的服务器节点执行。
7.如权利要求6所述的方法,进一步包括通过所述网络,将所述语境信息及所述行为信息传送到所述服务器节点。
8.如权利要求7所述的方法,其中所述“调整”的步骤包括将包括关于所述设备的语境信息的一实例的一集合的数据应用于所述预测模式; 根据所述预测模式,确定所述用户的一预测行为,作为包括语境信息的一实例的所述 集合的数据的一功能;以及根据所述预测行为,调整所述设备的一操作参数。
9.如权利要求8所述的方法,其中包括关于所述设备的语境信息的一实例的所述集合 的数据包括关于所述设备的一当前语境的语境信息。
10.如权利要求8所述的方法,其中所述设备的所述操作参数包括所述设备的一闲置 屏幕的一显示的一配置。
11.如权利要求10所述的方法,其中所述预测模式产生,作为所述网络上的其他设备 的其他用户的行为信息及相应语境信息的一功能。
12.如权利要求11所述的方法,其中所跟踪的行为信息进一步包括一特定语境中一行 为的不存在。
13.如权利要求6所述的方法,其中所述设备包括多个设备及其中所述“调整”的步骤 可以包括根据所采集的有关一第二设备的信息来调整一第一设备的操作。
14.如权利要求13所述的方法,其中所采集的有关所述第二设备的信息包括与所述第 二设备有关的语境信息的一实例、与所述第二设备有关的行为信息的一实例以及与所述第 二设备有关的行为信息及互相关语境信息的至少其中之一。
15.如权利要求8所述的方法,进一步包括 提供多个建模算法,以产生所述预测模式;以及选择所述建模算法的其中之一,作为包括关于所述设备的语境信息的一实例的所述集 合的数据的一功能。
16.如权利要求8所述的方法,进一步包括 提供多个建模算法,以产生所述预测模式;以及 其中所述“调整”的步骤包括将包括关于所述设备的语境信息的一实例的一集合的数据应用于所述多个预测模式 中的至少两个预测模式;根据所述至少两个预测模式中的每个预测模式,确定所述用户的一预测行为,作为包 括语境信息的一实例的所述集合的数据的一功能;在所述至少两个模式中选择提供了一更佳预测行为的其中一个模式;以及 根据所选择的预测行为,调整所述设备的一操作参数。
17.一种根据对一设备的至少一用户的行为的观察(作为语境的一功能)来改变所述 设备的行为(作为所述设备的语境的一功能)的方法,所述方法包括跟踪与所述设备有关的语境信息; 跟踪与所述设备有关的、所述设备的一用户的行为信息;产生及存储行为原子,所述行为原子包括一知识实体,该知识实体与其相应的语境信 息的所述实例结合;通过将一建模算法应用于所述行为原子以创建包括一有组织的集合的数据点,从而产 生所述设备的一用户的将来行为的一预测模式,作为与所述设备有关的语境的一功能; 产生一空白数据点,所述空白数据点包括一集合的语境信息而没有行为信息; 通过将所述空白数据点应用于所述模式,产生所述设备的一用户的一预测行为;以及 调整所述设备的操作,作为所述预测行为的一功能。
18.如权利要求17所述的方法,其中所述空白数据点包括关于所述设备的当前语境的语^ife息。
19.如权利要求17所述的方法,其中所述“产生一预测行为”的步骤被执行来响应一触发事件。
20.如权利要求19所述的方法,其中所述触发事件是与所述设备有关的一用户行为。
21.如权利要求19所述的方法,进一步包括 检测所述触发事件,以及产生一推论询问以响应所述触发事件,所述推论询问包括语境信息的一实例以及至少一个需预测的行为类别;其中在所述推论询问中识别的所述行为类别的所述预测行为的产生步骤被执行来响 应所述推论询问。
22.如权利要求21所述的方法,进一步包括 维护推论询问及对它们的答复的一存储器;在产生所述预测行为以响应一推论询问之前,检查推论询问及对它们的答复的所述存 储器,以确定先前是否曾经向一相似的推论询问提供服务;以及如果先前曾经向一相似的推论询问提供服务,使用所述相应的推论询问答复。
23.如权利要求21所述的方法,其中所述推论询问进一步包括需使用的一预测模式的 一标识,以产生一答复予所述推论询问,及其中在所述推论询问中识别的所述预测模式用 于产生所述推论询问答复。
24.一种根据对一设备的至少一用户的行为的观察(作为语境的一功能)来改变所述 设备的行为(作为所述设备的语境的一功能)的方法,所述方法包括在一设备处,采集包括所述设备的使用的多个实例的行为信息; 在所述设备处,采集包括所述设备的语境的多个实例的语境信息,语境的每个实例相 应于所述设备的使用的所述实例的其中之一,而且语境的每个实例此后称为一语境对象;通过一网络,将带有所述相应语境对象(此后称为行为-语境双对象)的所述设备的 使用的所述实例传送到一服务器;在所述服务器处接收所述行为-语境双对象; 在所述服务器处,从每个行为-语境双对象摘录一行为因素; 在所述服务器处,将每个行为因素转换为至少一个知识实体; 在所述服务器处,将每个知识实体与所述行为-语境双对象(所述知识实体源自所述 行为-语境双对象)的所述语境对象结合,所述结合此后称为一行为原子;在所述服务器处,根据所述行为原子,创建关于所述设备的用户行为的一预测模式,所 述预测模式包括源自所述行为原子的多个数据点;在所述设备处,产生包括一语境对象的一推论询问; 通过所述网络,将所述推论询问传送到所述服务器; 在所述服务器处,接收所述推论询问;在所述服务器处,产生包括来自所述推论询问的所述语境对象的一空白数据点; 将所述空白数据点应用于所述预测模式,以产生包括所述设备的一用户的一预测行为 的一推论询问答复,作为所述语境对象的一功能;通过所述网络,将所述推论询问答复传送到所述设备;以及 改变所述设备的一操作,作为所述推论询问答复的一功能。
25.如权利要求M所述的方法,进一步包括在所述服务器处,存储所述推论询问及相应的推论询问答复; 在所述服务器处,为响应一推论询问的接收,确定先前是否曾经存储对一相似推论询 问的一推论询问答复;以及如果先前曾经存储一相似推论询问,使用相应于所述先前存储的推论询问的推论询问 答复,产生对所述即时推论询问的一推论询问答复。
26.如权利要求M所述的方法,进一步包括在所述服务器处,将所述行为原子存储于一行为原子数据库;在所述服务器处,将所述行为-语境双对象存储于一行为-语境双对象数据库;以及在所述服务器处,将所述知识实体存储于一知识实体数据库。
27.如权利要求M所述的方法,其中所述传送行为-语境双对象的步骤包括 存储多个行为-语境双对象于所述设备;以及向所述服务器传送多个行为-语境双对象的一清单。
28.如权利要求M所述的方法,进一步包括采集语境对象(不考虑所述设备的伴随使用),以跟踪关于所述设备的行为的不存在, 作为语境的一功能(此后称为空白语境对象);以及以相似于处理所述行为-语境双对象那样处理所述空白语境对象,以便为所述模式创 建附加数据点。
29.如权利要求M所述的方法,进一步包括 在所述服务器处提供多个预测模式;以及选择所述预测模式的其中之一,作为所述相应推论询问的一功能。
30.如权利要求四所述的方法,其中所述推论询问进一步包括与该推论询问连同使用 的所述预测模式的其中之一的一标识。
31.如权利要求M所述的方法,其中所述预测模式产生,作为所述网络上的其他设备 的其他用户的行为原子的一功能。
32.如权利要求M所述的方法,其中所述设备包括多个设备及其中所述改变的步骤包 括根据所采集的关于一第二设备的信息来改变一第一设备的操作。
33.如权利要求32所述的方法,其中所采集的关于所述第二设备的所述信息包括在所 述第二设备产生的一语境对象、根据来自所述第二设备的信息产生的一行为原子以及与所 述第二设备有关的一行为-语境双对象的至少其中之一。
34.一种根据对一设备的至少一用户的行为的观察(作为语境的一功能)来改变所述 设备的行为(作为所述设备的语境的一功能)的方法,所述方法包括采集包括所述设备的使用的多个实例的行为信息;采集包括所述设备的语境的多个实例的语境信息,语境的每个实例相应于所述设备的 使用的所述实例的其中之一,而且语境的每个实例此后称为一语境对象;产生包括带有所述相应语境对象的所述设备的使用的所述实例的行为-语境双对象; 从每个行为-语境双对象摘录一行为因素; 将每个行为因素转换为至少一个知识实体;将每个知识实体与所述行为-语境双对象(所述知识实体源自所述行为-语境双对 象)的所述语境对象结合,所述结合此后称为一行为原子;根据所述行为原子,创建关于所述设备的用户行为的一预测模式,所述预测模式包括 源自所述行为原子的多个数据点;产生包括一语境对象的一推论询问;产生包括来自所述推论询问的所述语境对象的一空白数据点; 将所述空白数据点应用于所述预测模式,以产生包括所述设备的一用户的一预测行为的一推论询问答复,作为所述语境对象的一功能;以及改变所述设备的一操作,作为所述推论询问答复的一功能。
35.如权利要求34所述的方法,进一步包括 存储所述推论询问及相应的推论询问答复;为响应一推论询问的产生,确定先前是否曾经存储对一相似推论询问的一推论询问答 复;以及如果先前曾经存储一相似推论询问,使用相应于所述先前存储的推论询问的推论询问 答复,产生对所述即时推论询问的一推论询问答复。
36.如权利要求34所述的方法,进一步包括 将所述行为原子存储于一行为原子数据库;将所述行为-语境双对象存储于一行为-语境双对象数据库;以及 将所述知识实体存储于一知识实体数据库。
37.如权利要求34所述的方法,进一步包括采集语境对象(不考虑所述设备的伴随使用),以跟踪关于所述设备的行为的不存在, 作为语境的一功能(此后称为空白语境对象);以及以相似于处理所述行为-语境双对象那样处理所述空白语境对象,以便为所述模式创 建附加数据点。
38.如权利要求34所述的方法,其中所述推论询问 在所述服务器处提供多个预测模式;以及选择所述预测模式的其中之一,作为所述相应推论询问的一功能。
39.如权利要求38所述的方法,其中所述推论询问进一步包括与该推论询问连同使用 的所述预测模式的其中之一的一标识。
40.如权利要求34所述的方法,其中所述预测模式产生,作为所述网络上的其他设备 的其他用户的行为原子的一功能。
41.如权利要求34所述的方法,其中所述设备包括多个设备及其中所述改变的步骤包 括根据所采集的关于一第二设备的信息来改变一第一设备的操作。
42.如权利要求41所述的方法,其中所采集的关于所述第二设备的所述信息包括在所 述第二设备产生的一语境对象、根据来自所述第二设备的信息产生的一行为原子以及与所 述第二设备有关的一行为-语境双对象的至少其中之一。
43.一种包括计算机可执行指令的计算机编程产品,在由一计算设备执行时,所述计算 机可执行指令根据对一设备的至少一用户的行为的观察(作为语境的一功能),改变所述 设备的行为(作为所述设备的语境的一功能),所述计算机编程产品包括计算机可执行指令,以采集包括所述设备的使用的多个实例的行为信息; 计算机可执行指令,以采集包括所述设备的语境的多个实例的语境信息,语境的每个 实例相应于所述设备的使用的所述实例的其中之一,而且语境的每个实例此后称为一语境 对象;计算机可执行指令,以接收所述设备的一用户的一预测行为,作为所述设备的语境的 一功能;以及计算机可执行指令,以根据所述预测模式,调整所述设备的操作,作为与所述设备有关的一当前集合的语境信息的一功能。
44.如权利要求43所述的计算机编程产品,其中所述设备的所述操作参数包括所述设 备的一闲置屏幕的一显示的一配置。
45.如权利要求43所述的计算机编程产品,进一步包括 计算机可执行指令,以产生包括一语境对象的一推论询问;以及 计算机可执行指令,以通过一网络,将所述推论询问传送到一服务器;其中用于接收所述设备的一用户的一预测行为(作为所述设备的语境的一功能)的所 述计算机可执行指令包括用于通过所述网络接收一推论询问答复的计算机可执行指令。
46.如权利要求45所述的计算机编程产品,其中所述推论询问进一步包括与该推论询 问连同使用的所述预测模式的其中之一的一标识。
47.如权利要求43所述的计算机编程产品,进一步包括计算机可执行指令,以通过一网络,将带有所述相应语境对象(此后称为行为-语境双 对象)的所述设备的使用的所述实例传送到一服务器。
48.如权利要求47所述的计算机编程产品,其中用于传送所述行为-语境双对象的所 述计算机可执行指令包括计算机可执行指令,以存储多个行为-语境双对象及向所述服务器传送多个行为-语 境双对象的一清单。
49.一种包括计算机可执行指令的计算机编程产品,在由一计算设备执行时,所述计算 机可执行指令根据对一设备的至少一用户的行为的观察(作为语境的一功能),产生所述 设备的一用户的一行为的一预测(作为所述设备的语境的一功能),所述计算机编程产品 包括计算机可执行指令,以接收包括所述设备的使用的多个实例的行为信息及包括所述设 备的语境的多个实例的语境信息,语境的每个实例相应于所述设备的使用的所述实例的其 中之一,而且语境的每个实例此后称为一语境对象;计算机可执行指令,以使所述行为信息与所述语境信息互相关,以确定与所述设备有 关的用户行为在被展示时所处的语境;计算机可执行指令,以根据所跟踪的语境信息及所跟踪的行为信息,产生所述设备的 一用户的将来行为的一预测模式,作为与所述设备有关的语境的一功能;计算机可执行指令,以将包括关于所述设备的语境信息的一实例的一集合的数据应用 于所述预测模式;以及计算机可执行指令,以根据所述预测模式,确定所述用户的一预测行为,作为包括语境 信息的一实例的所述集合的数据的一功能。
50.如权利要求49所述的计算机编程产品,进一步包括计算机可执行指令,以传送所 述预测行为到所述设备。
51.如权利要求49所述的计算机编程产品,进一步包括计算机可执行指令,以接收其他设备的其他用户的行为信息及语境信息; 其中用于产生所述预测模式的所述计算机可执行指令产生所述预测模式,作为所述网 络上的其他设备的其他用户的行为信息及相应语境信息的一进一步功能。
52.如权利要求49所述的计算机编程产品,其中所述设备包括多个设备及其中用于产生所述预测模式的所述计算机可执行指令包括根据所述预测模式来确定关于一第一设备 的一用户的一预测行为(作为关于一第二设备的行为及语境信息的一功能)的计算机可执 行指令。
53.如权利要求49所述的计算机编程产品,进一步包括计算机可执行代码,以提供多个预测模式;以及计算机可执行代码,以选择所述预测模式的其中之一,作为包括关于所述设备的语境 信息的一实例的所述集合的数据的一功能。
54.如权利要求49所述的计算机编程产品,其中用于接收行为信息及语境信息的所述计算机可执行代码包括用于接收包括一知识实 体(该知识实体与其相应的语境信息的所述实例结合)的行为原子的计算机可执行代码;用于产生一预测模式的所述计算机可执行指令包括计算机可执行代码,以将一建模算法应用于所述行为原子以创建包括一有组织的集合 的数据点;计算机可执行代码,以产生一空白数据点,所述空白数据点包括一集合的语境信息而 没有行为信息;以及计算机可执行代码,以通过将所述空白数据点应用于所述模式,产生所述设备的一用 户的一预测行为。
55.如权利要求49所述的计算机编程产品,进一步包括计算机可执行指令,以接收一推论询问,所述推论询问包括语境信息的一实例以及至 少一个需预测的行为类别;其中将包括关于所述设备的语境信息的一实例的一集合的数据应用于所述预测模式 的计算机可执行指令被执行来响应所述推论询问;以及其中根据所述预测模式确定所述用户的一预测行为的所述计算机可执行指令产生一 答复予所述推论询问。
56.如权利要求55所述的计算机编程产品,进一步包括计算机可执行指令,以维护推论询问及对它们的答复的一存储器;计算机可执行指令,以在将包括关于所述设备的语境信息的一实例的一集合的数据应 用于所述预测模式的步骤被执行以响应所述推论询问之前,检查推论询问及对它们的答复 的所述存储器,以确定先前是否曾经向一相似的推论询问提供服务;以及如果先前曾经向一相似的推论询问提供服务,使用所述相应的推论询问答复,而不将 包括关于所述设备的语境信息的一实例的一集合的数据应用于所述预测模式。
57.如权利要求56所述的计算机编程产品,其中所述推论询问进一步包括需使用的一 预测模式的一标识,及其中将包括关于所述设备的语境信息的一实例的一集合的数据应用 于所述预测模式的步骤被执行以响应所述推论询问的所述计算机可执行指令使用在所述 推论询问中识别的所述算法来产生所述预测模式。
58.一种包括计算机可执行指令的计算机编程产品,在由一计算设备执行时,所述计算 机可执行指令根据对一设备的至少一用户的行为的观察(作为语境的一功能),产生所述 设备的一用户的一行为的一预测(作为所述设备的语境的一功能),所述计算机编程产品 包括计算机可执行指令,以接收来自一设备的行为-语境双对象,每个所述行为-语境双对 象包括带有一相应语境对象的所述设备的一使用的一实例,所述相应语境对象包括所述设 备的所述使用的所述实例周围的、所述设备的语境信息;计算机可执行指令,以从每个行为-语境双对象摘录一行为因素; 计算机可执行指令,以将每个行为因素转换为至少一个知识实体; 计算机可执行指令,以将每个知识实体与所述行为-语境双对象(所述知识实体源自 所述行为-语境双对象)的所述语境对象结合,所述结合此后称为一行为原子;计算机可执行指令,以根据所述行为原子,创建关于所述设备的用户行为的一预测模 式,所述预测模式包括源自所述行为原子的多个数据点;计算机可执行指令,以接收包括一语境对象的所述推论询问; 计算机可执行指令,以产生包括来自所述推论询问的所述语境对象的一空白数据点; 计算机可执行指令,以将所述空白数据点应用于所述预测模式,以产生包括所述设备 的一用户的一预测行为的一推论询问答复,作为所述语境对象的一功能;以及 计算机可执行指令,以将所述推论询问答复传送到所述设备。
59.如权利要求58所述的计算机编程产品,进一步包括 计算机可执行指令,以存储所述推论询问及相应的推论询问答复;计算机可执行指令,以响应一推论询问的接收,确定先前是否曾经存储对一相似推论 询问的一推论询问答复;以及计算机可执行指令,以便如果先前曾经存储一相似推论询问,使用相应于所述先前存 储的推论询问的推论询问答复,产生对所述即时推论询问的一推论询问答复。
60.如权利要求59所述的计算机编程产品,进一步包括 计算机可执行指令,以将所述行为原子存储于一行为原子数据库;计算机可执行指令,以将所述行为-语境双对象存储于一行为-语境双对象数据库;以及计算机可执行指令,以将所述知识实体存储于一知识实体数据库。
61.如权利要求58所述的计算机编程产品,进一步包括计算机可执行指令,以提供多个预测模式,以用于产生所述预测模式;以及 计算机可执行指令,以选择所述预测模式的其中之一,以产生一推论询问答复,作为所 述相应推论询问的一功能。
62.一种根据对一设备的至少一用户的行为的观察(作为语境的一功能)来预测一自 愿行为将被展示时所处的一语境的方法,所述方法包括跟踪与所述设备有关的语境信息; 跟踪与所述设备有关的、所述设备的一用户的行为信息;使所述行为信息与所述语境信息互相关,以确定与所述设备有关的用户行为在被展示 时所处的语境;根据所跟踪的语境信息及所跟踪的行为信息,产生所述设备的一用户的将来行为的一 预测模式,作为与所述设备有关的语境的一功能;以及根据所述预测模式,预测所述设备的一用户的一语境,作为与所述设备有关的一行为 的一功能。
63.如权利要求62所述的方法,其中所述跟踪语境信息的步骤包括采集语境信息的实例; 所述跟踪行为信息的步骤包括采集关于用户与所述设备互动的实例;以及 所述使行为信息与语境信息互相关的步骤包括(以行为信息为一实例)检索语境信息 的当时相应实例。
64.如权利要求63所述的方法,其中所述“预测”的步骤包括将包括与所述设备有关的行为信息的一实例的一集合的数据应用于所述预测模式;以及根据所述预测模式,确定所述设备的一预测集合的语境信息,作为包括语境信息的一 实例的所述集合的数据的一功能。
65.如权利要求64所述的方法,其中包括关于所述设备的行为信息的一实例的所述集 合的数据包括当前行为信息。
66.如权利要求63所述的方法,其中所跟踪的行为信息进一步包括一特定语境中一行 为的不存在。
67.如权利要求64所述的方法,进一步包括 提供多个建模算法,以用于产生所述预测模式;以及选择所述建模算法的其中之一,作为包括与所述设备有关的行为信息的一实例的所述 集合的数据的一功能。
全文摘要
用于预测性地适应设备的特性的系统、设备、技术及方法,作为一用户的历史行为(例如习性)以及表现这些行为的特定语境的一功能。这样的语境实质上可以是任何事物,比如一周中的周几、一日中的时间、季节、潮汐、温度、天气、用户情绪、前一天的一特定运动竞赛的得分情况、月相、用户位置等等。根据软件的观察,观察用户的习性及这些习性发生的语境,以及根据用户的行为模式及其语境定制化设备。
文档编号G06N5/00GK102037481SQ200980118360
公开日2011年4月27日 申请日期2009年3月19日 优先权日2008年3月19日
发明者奥马尔·格林, 德西蕾·戈斯比 申请人:苹果核网络股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1