首页> 中国专利> 用于确定情境的系统和方法

用于确定情境的系统和方法

摘要

本发明涉及一种确定系统的情境,从而可以控制系统或者在系统中使用情境信息。用例如表征系统的状态、系统的周围环境和用户的状态的标签或者字词描述系统的情境。在多个时间实例确定这些标签。在第一时间跨度和第二时间跨度之上收集标签,并且使用两个(或者更多)标签集合来确定系统的情境。如果使用两个集合的确定给出不同结果,也就是说,有在两个推导的情境之间的大距离,则确定情境改变已经出现。检测到情境改变可以用来例如通过改变在用户接口上向呈现的应用或者通过改变应用的状态和/或优先级来控制系统。

著录项

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-02-09

    授权

    授权

  • 2016-02-24

    专利申请权的转移 IPC(主分类):G06F17/15 登记生效日:20160202 变更前: 变更后: 申请日:20120222

    专利申请权、专利权的转移

  • 2015-01-14

    实质审查的生效 IPC(主分类):G06F17/15 申请日:20120222

    实质审查的生效

  • 2014-12-24

    公开

    公开

说明书

背景技术

当前电子用户设备、比如智能电话和计算机带有多个功能、例 如用于不同需要的各种程序以及用于定位、通信和娱乐目的的不同 模块。可以用这些设备执行的任务的多样性庞大,并且个别任务可 能性质复杂。例如在如今的世界中执行的许多任务借助计算机来完 成。类似地,电子设备也已经变成在自由时间内的日常生活的部分。

现代电子设备、比如计算机或者智能电话的用户可能被系统提 供的功能的多样性淹没。出于这一目的,设备可以提供定制设备中 的功能的外观和布置的方式,从而设备的为用户所需要的功能唾手 可得。然而系统的状态及其它的使用情形可能对用户的偏好和需要 具有影响。

因此,需要用于确定用户系统的情形和/或状态的解决方案。

发明内容

现在已经发明一种改进的方法和实施该方法的技术设备,通过 该方法和设备缓解上述问题。本发明的各种方面包括其特征在于在 独立权利要求中陈述的特征的方法、装置、服务器、客户端、数据 结构和计算机可读介质,该计算机可读介质包括在其中存储的计算 机程序。在从属权利要求中公开本发明的各种实施例。

本发明涉及确定系统的情境,从而可以控制系统或者在系统中 使用情境信息。用例如表征系统的状态、系统的周围环境和用户的 状态的标签或者字词描述系统的情境。在多个时间实例确定这些标 签。在第一时间跨度和第二时间跨度之上收集标签,并且两个(或 者更多)标签集合用来确定系统的情境。如果使用两个集合的确定 给出不同结果,也就是说,有在两个推导的情境之间的大距离,则 确定情境改变已经出现。检测到情境改变可以用来例如通过改变在 用户接口上向呈现的应用或者通过改变应用的状态和/或优先级来控 制系统。

根据第一方面,提供一种方法,该方法包括形成情境标签的第 一集合和情境标签的第二集合,所述第一集合和所述第二集合对应 于系统的情境,其中所述第一集合和所述第二集合对应于所述系统 的所述情境的不同时间跨度,从所述第一集合推导第一推导的情境 数据和从所述第二集合推导第二推导的情境数据,确定在所述第一 推导的情境数据与所述第二推导的情境数据之间的差异,基于所述 差异确定情境改变已经出现,并且响应于所述确定的情境改变来控 制所述系统。

根据一个实施例,所述第一集合包括与比在所述第二集合中的 情境标签更早的时间实例对应的至少一个情境标签,从而所述第一 推导的情境数据至少部分地对应于比所述第二推导的情境数据更早 的时间实例。根据一个实施例,所述第一集合包括与比在所述第二 集合中的情境标签更长的时间跨度对应的情境标签,从而所述第一 推导的情境数据对应于比所述第二推导的情境数据更长的时间跨 度。根据一个实施例,该方法包括形成稀疏矢量的代码簿,所述稀 疏矢量对应于所述情境标签,并且所述稀疏矢量具有相对于在所述 稀疏矢量中的非零元素数目的高维,使用所述代码簿以从所述情境 标签的第一集合形成第一稀疏情境矢量和从所述情境标签的第二集 合形成第二稀疏情境矢量,并且使用所述第一和第二稀疏情境矢量 以确定所述差异。根据一个实施例,形成所述代码簿包括形成用于 文档的随机稀疏矢量,所述文档包括标签,从用于其中存在标签的 文档的那些所述稀疏矢量添加对所述标签的代码簿矢量的贡献,并 且对于多个标签重复所述添加贡献。根据一个实施例,该方法包括 计算在所述第一与第二稀疏情境矢量之间的距离以确定所述差异。 根据一个实施例,该方法包括使用所述代码簿从所述第一稀疏情境 矢量确定第一情境。根据一个实施例,该方法包括使用所述代码簿 从所述第二稀疏情境矢量确定第二情境,并且计算在所述确定的第 一情境与所述确定的第二情境之间的距离以确定所述差异。根据一 个实施例,所述距离使用从欧几里得距离、出租车距离、点积和豪 斯多夫距离的组中选择的至少一个距离测量来计算。根据一个实施 例,所述标签包括来自公共字词、品牌名称、在因特网地址中的字 词和被形成为字词的来自传感器或者应用的状态的组中的字词。根 据一个实施例,至少一个标签集合通过对对应情境信息进行加权来 形成或者使用。根据一个实施例,所述加权是基于时间、在时间实 例与所述标签关联的情境类型和与在时间实例与所述标签关联的情 境有关的预期值的组中的至少一项。根据一个实施例,所述控制包 括基于所述情境改变来设置应用状态。根据一个实施例,所述控制 包括确定社交媒体活动情境并且根据所述社交媒体活动情境向用户 呈现相关信息。

根据第二方面,提供一种包括至少一个处理器、至少一个存储 器的装置,至少一个存储器包括用于一个或者多个程序单元的计算 机程序代码,至少一个存储器和计算机程序代码被配置为与处理器 使该装置形成情境标签的第一集合和情境标签的第二集合,所述第 一集合和所述第二集合对应于所述装置的情境,其中所述第一集合 和所述第二集合对应于所述装置的情境的不同时间跨度,从所述第 一集合推导第一推导的情境数据和从所述第二集合推导第二推导的 情境数据,确定在所述第一推导的情境数据与所述第二推导的情境 数据之间的差异,基于所述差异确定情境改变已经出现,并且响应 于所述确定的情境改变来控制所述装置。

根据一个实施例,所述第一集合包括与比在所述第二集合中的 情境标签更早的时间实例对应的至少一个情境标签,从而所述第一 推导的情境数据至少部分地对应于比所述第二推导的情境数据更早 的时间实例。根据一个实施例,所述第一集合包括与比在所述第二 集合中的情境标签更长的时间跨度对应的情境标签,从而所述第一 推导的情境数据对应于比所述第二推导的情境数据更长的时间跨 度。根据一个实施例,该装置包括配置为与至少一个处理器使该装 置执行以下操作的计算机程序代码:形成稀疏矢量的代码簿,所述 稀疏矢量对应于所述情境标签,并且所述稀疏矢量具有相对于在所 述稀疏矢量中的非零元素数目的高维,使用所述代码簿以从所述情 境标签的第一集合形成第一稀疏情境矢量和从所述情境标签的第二 集合形成第二稀疏情境矢量,并且使用所述第一和第二稀疏情境矢 量以确定所述差异。根据一个实施例,该装置包括用于形成所述代 码簿的计算机程序代码,所述代码被配置为与至少一个处理器使该 装置形成用于文档的随机稀疏矢量,所述文档包括标签,从用于其 中存在标签的文档的那些所述稀疏矢量添加对所述标签的代码簿矢 量的贡献,并且对于多个标签重复所述添加贡献。根据一个实施例, 该装置包括配置为与至少一个处理器使该装置执行以下操作的计算 机程序代码:计算在所述第一与第二稀疏情境矢量之间的距离以确 定所述差异。根据一个实施例,该装置包括配置为与至少一个处理 器使该装置执行以下操作的计算机程序代码:使用所述代码簿从所 述第一稀疏情境矢量确定第一情境,使用所述代码簿从所述第二稀 疏情境矢量确定第二情境,并且计算在所述确定的第一情境与所述 确定的第二情境之间的距离以确定所述差异。根据一个实施例,所 述距离使用从欧几里得距离、出租车距离、点积和豪斯多夫距离的 组中选择的至少一个距离测量来计算。根据一个实施例,所述标签 包括来自公共字词、品牌名称、在因特网地址中的字词和被形成为 字词的来自传感器或者应用的状态的组中的字词。根据一个实施例, 至少一个标签集合通过对对应情境信息进行加权来形成或者使用。 根据一个实施例,所述加权是基于时间、在时间实例与所述标签关 联的情境类型和与在时间实例与所述标签关联的情境有关的预期值 的组中的至少一项。根据一个实施例,该装置包括配置为与至少一 个处理器使该装置执行以下操作的计算机程序代码:基于所述情境 改变来设置应用状态。根据一个实施例,该装置包括配置为与至少 一个处理器使该装置执行以下操作的计算机程序代码:确定社交媒 体活动情境并且基于所述社交媒体活动情境向用户呈现相关信息。

根据第三方面,提供一种包括至少一个处理器、至少一个存储 器的系统,至少一个存储器包括用于一个或者多个程序单元的计算 机程序代码,至少一个存储器和计算机程序代码被配置为与处理器 使该系统形成情境标签的第一集合和情境标签的第二集合,所述第 一集合和所述第二集合对应于所述系统的情境,其中所述第一集合 和所述第二集合对应于所述系统的情境的不同时间跨度,从所述第 一集合推导第一推导的情境数据和从所述第二集合推导第二推导的 情境数据,确定在所述第一推导的情境数据与所述第二推导的情境 数据之间的差异,基于所述差异确定情境改变已经出现,并且响应 于所述确定的情境改变来控制所述系统。

根据一个实施例,所述第一集合包括与比在所述第二集合中的 情境标签更早的时间实例对应的至少一个情境标签,从而所述第一 推导的情境数据至少部分地对应于比所述第二推导的情境数据更早 的时间实例。根据一个实施例,所述第一集合包括与比在所述第二 集合中的情境标签更长的时间跨度对应的情境标签,从而所述第一 推导的情境数据对应于比所述第二推导的情境数据更长的时间跨 度。根据一个实施例,该系统包括配置为与至少一个处理器使该系 统执行以下操作的计算机程序代码:形成稀疏矢量的代码簿,所述 稀疏矢量对应于所述情境标签,并且所述稀疏矢量具有相对于在所 述稀疏矢量中的非零元素数目的高维,使用所述代码簿以从所述情 境标签的第一集合形成第一稀疏情境矢量和从所述情境标签的第二 集合形成第二稀疏情境矢量,并且使用所述第一和第二稀疏情境矢 量以确定所述差异。根据一个实施例,该系统包括用于形成所述代 码簿的计算机程序代码,所述代码被配置为与至少一个处理器使该 系统形成用于文档的随机稀疏矢量,所述文档包括标签,从用于其 中存在标签的文档的那些所述稀疏矢量添加对所述标签的代码簿矢 量的贡献,并且对于多个标签重复所述添加贡献。根据一个实施例, 该系统包括配置为与至少一个处理器使该系统执行以下操作的计算 机程序代码:计算在所述第一与第二稀疏情境矢量之间的距离以确 定所述差异。根据一个实施例,该系统包括配置为与至少一个处理 器使该系统执行以下操作的计算机程序代码:使用所述代码簿从所 述第一稀疏情境矢量确定第一情境,使用所述代码簿从所述第二稀 疏情境矢量确定第二情境,并且计算在所述确定的第一情境与所述 确定的第二情境之间的距离以确定所述差异。根据一个实施例,所 述距离使用从欧几里得距离、出租车距离、点积和豪斯多夫距离的 组中选择的至少一个距离测量来计算。根据一个实施例,所述标签 包括来自公共字词、品牌名称、在因特网地址中的字词和被形成为 字词的来自传感器或者应用的状态的组中的字词。根据一个实施例, 至少一个标签集合通过对对应情境信息进行加权来形成或者使用。 根据一个实施例,所述加权是基于时间、在时间实例与所述标签关 联的情境类型和与在时间实例与所述标签关联的情境有关的预期值 的组中的至少一项。根据一个实施例,该系统包括配置为与至少一 个处理器使该系统执行以下操作的计算机程序代码:基于所述情境 改变来设置应用状态。根据一个实施例,该系统包括配置为与至少 一个处理器使该系统执行以下操作的计算机程序代码:确定社交媒 体活动情境并且基于所述社交媒体活动情境向用户呈现相关信息。

根据第四方面,提供提供一种包括一个或者多个指令的一个或 者多个序列的计算机程序产品,一个或者多个指令的一个或者多个 序列在由一个或者多个处理器执行时使系统执行根据第一方面的实 施例中的任一实施例的方法。

根据第五方面,提供一种包括一个或者多个指令的一个或者多 个序列的计算机程序产品,一个或者多个指令的一个或者多个序列 在由一个或者多个处理器执行时使系统形成情境标签的第一集合和 情境标签的第二集合,所述第一集合和所述第二集合对应于所述系 统的情境,其中所述第一集合和所述第二集合对应于所述系统的情 境的不同时间跨度,从所述第一集合推导第一推导的情境数据和从 所述第二集合推导第二推导的情境数据,确定在所述第一推导的情 境数据与所述第二推导的情境数据之间的差异,基于所述差异确定 情境改变已经出现,并且响应于所述确定的情境改变来控制所述系 统。

根据第六方面,提供一种设备装置,该设备包括:用于形成情 境标签的第一集合和情境标签的第二集合的装置,所述第一集合和 所述第二集合对应于所述设备的情境,其中所述第一集合和所述第 二集合对应于所述设备的情境的不同时间跨度,用于从所述第一集 合推导第一推导的情境数据和从所述第二集合推导第二推导的情境 数据的装置,用于确定在所述第一推导的情境数据与所述第二推导 的情境数据之间的差异的装置,用于基于所述差异确定情境改变已 经出现的装置,以及用于响应于所述确定的情境改变来控制所述设 备的装置。

根据一个实施例,该设备包括:用于形成稀疏矢量的代码簿的 装置,所述稀疏矢量对应于所述情境标签,并且所述稀疏矢量具有 相对于在所述稀疏矢量中的非零元素数目的高维,用于使用所述代 码簿以从所述情境标签的第一集合形成第一稀疏情境矢量和从所述 情境标签的第二集合形成第二稀疏情境矢量的装置,以及用于使用 所述第一和第二稀疏情境矢量以确定所述差异的装置。根据一个实 施例,该设备包括:用于形成用于文档的随机稀疏矢量的装置,所 述文档包括标签,用于从用于其中存在标签的文档的那些所述稀疏 矢量添加对所述标签的代码簿矢量的贡献的装置,以及对于多个标 签重复所述添加贡献的装置。根据一个实施例,该设备包括用于计 算在所述第一与第二稀疏情境矢量之间的距离以确定所述差异的装 置。根据一个实施例,该设备包括:用于使用所述代码簿从所述第 一稀疏情境矢量确定第一情境的装置,用于使用所述代码簿从所述 第二稀疏情境矢量确定第二情境的装置,以及用于计算在所述确定 的第一情境与所述确定的第二情境之间的距离以确定所述差异的装 置。根据一个实施例,该设备包括用于基于所述情境改变来设置应 用状态的装置。根据一个实施例,该设备包括:用于确定社交媒体 活动情境的装置,以及基于所述社交媒体活动情境向用户呈现相关 信息的装置。

根据第七方面,提供一种用于控制计算机系统的操作的数据结 构,所述数据结构包括与词汇表字词关联的稀疏高维矢量,所述词 汇表字词包括来自公共字词、因特网地址字词、品牌名称、用户电 话簿姓名和传感器值字词的组的至少三个类型的字词。

根据第八方面,提供一种在用于确定情境改变的系统中使用人 类语言字词以指示硬件传感器状态的用途。

附图说明

在下文中,将参照附图更具体描述本发明的各种实施例,在附 图中:

图1示出根据一个实施例的用于确定情境的方法的流程图;

图2a和图2b示出根据一个实施例的用于确定情境的系统和设 备;

图3示出根据一个实施例的用于从较早情境信息确定将来情境 的系统;

图4a图示根据一个实施例的用于形成用于确定情境的随机索引 代码簿的系统和方法;

图4b图示根据一个实施例的用于形成用于确定情境的随机索引 代码簿的另一系统和方法;

图5示出数据结构以及用于使用该数据结构用于使用随机编索 引来确定将来情境的系统和方法;并且

图6示出根据一个实施例的用于使用随机编索引来确定将来情 境的方法的流程图。

具体实施方式

在下文中,将参照系统的情境以及随机编索引的框架描述本发 明的若干实施例。然而将注意本发明不限于这些用途或者备选方式。 事实上,不同实施例在其中需要予以处理的任何环境中皆有应用。

作为示例,情境处理系统可以被映射到“字词”和“文档”的词法系 统。文档可以包含字词集合,这些字词定义情境例如在某个时间实 例(time instance)的单个实现。

分布语义方法可以被广义地分类为概率或者几何。

概率模型将文档视为话题的混合从而允许词项根据在特定话题 的讨论期间遇到它们的概率来表示。例如潜在语义分析(LSA)通 过生成词项-文档矩阵来使用整个文档作为情境,在该词项-文档矩阵 中,每个单元对应于词项在文档中出现的次数。在另一方面,超空 间模拟到语言(HAL)模型通过生成词项-词项矩阵以指出给定的词 项在每个其它词项的邻域中出现的次数来使用包围目标词项的字词 作为情境。对照而言,Schütze's Wordspace定义大约1000个频繁出 现的四元语法(four-gram)的滑动窗作为情境从而产生词项×四元语 法矩阵。通常,词项矢量的量值依赖于词项在词库中的出现频率而 方向依赖于词项与选择的基矢量关系。

以随机编索引为例的几何模型可以将词项表示为多维空间中的 矢量,该多维空间的维度根据词项跨越定义的情境的分布来推导, 这些定义的情境可以包括整个文档、在文档内的区域或者文法关系。

矢量空间模型的性质可以是以无监督方式从无结构数据自动地 提取语义信息。模型可以需要很少或者无需数据预处理,并且它们 可以涉及到很少或者无人交互。术语“基于矢量的语义分析”可以用 来表示使用数据中的统计规律——例如同现信息——以自动地构造 矢量和矢量空间这样的实践。作为示例,不假设数据的先验知识从 而使模型易于应用于具有不同话题和结构性质的数据。

因而,矢量空间模型在应用于新领域时固有地自适应,因为语 义空间的动态性将反映训练数据的语义。这意味着不同领域将产生 不同语义空间而在不同字词之间有不同语义关系。例如,如果在动 物学数据库上训练模型,则“mouse”将最确信地与例如指代小型有毛 动物或者啮齿动物相关,而如果在具有与计算机的主题的文档上训 练模型,则“mouse”将可假设地与例如指代计算机硬件的其它字词相 关。作为经验验证事项,这一特征也可以使模型容易适用于不同语 言。

可以描述随机索引(RI)技术为如下的两步骤操作。首先,向 数据中的每个情境(例如每个文档或者每个字词)分配唯一和随机 地生成的表示,该表示称为索引矢量。这些索引矢量是稀疏、高维 和三进制,这意味着它们的维度(d)在数百或者数千或者更多的级 别上并且它们例如由少量随机地分布的+1和-1或者其它小的数构成 而矢量的元素中的其余元素被设置成零。然后,通过扫描遍历文本 来产生情境矢量,并且每当字词在下文中(例如在文档中或者在滑 动情境窗内)出现时,该情境的d维索引矢量被添加到用于讨论的 字词的情境矢量。字词因此由d维情境矢量表示,这些d维情境矢 量实际上是字词的情境之和。

作为示例,考虑句子‘A friend in need is a friend indeed’。令索引 矢量的维度为10,并且定义情境为一个在前和一个在后的字词。令 ‘friend’被分配随机索引矢量:[00010000-10],并且‘need’被分 配随机索引矢量:[0100-100000]。然后为了计算‘in’的情境矢量, RI对它的情境的索引矢量求和。由于定义情境为一个在前和一个在 后字词,所以‘in’的情境矢量是‘friend’和‘need’的索引矢量之和并且 等于[0101-1000-10]。

图1示出根据一个实施例的用于确定情境的方法的流程图。在 阶段110中,形成情境标签的第一集合和情境标签的第二集合。第 一集合和第二集合对应于系统的情境,从而第一集合包括在第一时 间跨度中描述情境的标签,并且第二集合包括在第二时间跨度中描 述情境的标签。第一和第二时间跨度不同和/或已经选择标签,从而 它们描述系统的情境的不同时间跨度。这可以被做到使得在不 同——规律或者不规律——时间实例处确定系统的情境,并且情境 在每个时间时刻由字词描述。然后收集这些字词,并且可以去除重 复。通过例如收集在更长时间跨度、例如10个时间实例之上描述情 境的字词来形成第一标签(字词)集合。通过例如收集在例如2个 时间实例的短时间跨度之上描述情境的字词来形成第二标签集合。 时间实例可以或者可以不部分地或者完全地重叠。需要理解也可以 有以这一方式形成的更高数目(比如3、4、5或者更多)标签集合。

在阶段120中,形成来自第一集合的第一推导的情境数据和来 自所述第二集合的第二推导的情境数据。也就是说,每个标签集合 用来推导出推导的情境或者预测的情境或者代表该情境的信息。例 如可以例如通过求和来从标签(字词)的随机索引矢量为标签集合 计算随机索引矢量。

在阶段130中,可以确定在第一推导的情境数据与第二推导的 情境数据之间的差异。这可以例如通过使用标签集合的随机索引矢 量计算距离来发生。计算距离可以包括首先通过使用每个标签集合 的随机索引矢量来确定代表性的情境、然后计算在代表性的情境(或 者它们的随机索引矢量)之间的距离(例如欧几里得距离或者点积)。

在阶段140中,可以基于差异确定情境改变已经出现。这可以 发生使得第一标签集合代表在更长时间跨度之上、例如从本时刻在 时间上往回更远的情境,并且第二标签集合代表在与本时刻接近的 短时间跨度之上代表情境。以这一方式,基于第二标签集合的推导 的情境可以比基于第一标签集合的推导的情境更快地反映情境改 变。

在阶段150中,可以响应于确定的情境改变来控制系统。例如 可以变更应用及其状态或者可以按照确定的情境改变来控制信息处 理。作为示例,如果确定情境从个人在室内工作的情形改变成个人 正在室外朝着公共汽车站步行以赶上公共汽车的情形,则可以更改 系统的应用,从而在工作地显示电邮应用,并且在情境已经改变时, 调出浏览器以显示公共汽车时间表和/或导航应用示出具有去往公共 汽车站的距离和指导的城市地图。

使用随机索引方法用于确定情境改变可以赋予优点例如如下。

可以用递增方式使用随机索引方法,这意味着情境矢量即使在 已经遇到仅少数示例之后仍然可以用于相似性计算。矢量的维度d 是该方法中的参数,这意味着d一旦已经设置它就无需改变;新数 据增加情境矢量的元素的值、但是未增加它们的维度。避免增加维 度可以避免经常在其它字词空间方法中出现的可伸缩性问题。也就 是说,可以避免例如用过大矩阵工作。随机索引方法可以赋予隐式 维度减少,因为固定维度d可以比系统中的可能情境数目c低得多。 这可以造成与运用计算成本高的维度减少算法的字词空间方法相比 的处理时间增益和更低存储器消耗。随机索引方法可以与不同情境 类型使用。其它字词空间模型通常使用文档或者字词作为情境。RI 不限于这些初级选择、但是可以与不同情境类型使用。

RI方法可以学习用户的个人行为特征和引用。个人信息不能被 其他用户打开、及用户在“秘密”格式中。RI方法可以处理时间多模 数据并且实时产生数据的语义描述。预测RI方法可以处理时序类型 的数据并且实时产生数据的语义描述。不同情境描述的切换可以是 快速的。

图2a和2b示出根据一个实施例的用于确定情境的系统和设备。 可以在单个设备中、在相互连接的多个设备中或者例如在具有一个 或者多个服务器和一个或者多个用户设备的网络服务框架中确定情 境。

在图2a中,可以经由固定网络210、比如因特网或者局域网; 或者移动通信网络220、比如全球移动通信系统(GSM)网络、第3 代(3G)网络、第3.5代(3.5G)网络、第4代(4G)网络、无线 局域网(WLAN)、或者其它现代和将来网络连接不同设 备。不同网络借助通信接口280相互连接。网络包括用于处置数据 的网元、比如路由器和交换机(未示出)以及通信接口、比如基站 230和231以便为不同设备提供向网络的接入,并且基站230、231 本身经由固定连接276或者无线连接277连接到移动网络220。

可以有连接到网络的多个服务器,并且在图2a的示例中示出用 于提供网络服务、比如社交媒体服务并且连接到固定网络210的服 务器240、用于提供网络服务并且连接到固定网络210的服务器241 以及用于提供网络服务并且连接到移动网络220的服务器242。以上 设备、例如服务器240、241、242中的一些设备可以使得它们与在 固定网络210中驻留的通信单元组成因特网。各种服务器和用户设 备可以例如存储包括与字词对应的稀疏矢量的代码簿矩阵。

也有多个终端用户设备、比如移动电话和智能电话251、因特网 接入设备(因特网平板)250、各种尺寸和格式的个人计算机260、 电视和其它查看设备261、视频解码器和播放器262以及视频相机 263和其它编码器、比如用于音频捕获的数字麦克风。这些设备250、 251、260、261、262和263也可以由多个部分组成。各种设备可以 经由通信连接、比如与因特网的固定连接270、271、272和280、与 因特网210的无线连接273、与移动网络220的固定连接275以及与 移动网络220的无线连接278、279和282连接到网络210和220。 借助在通信连接的相应端的通信接口实施连接271-282。

图2b示出根据一个示例实施例的其中可以执行确定情境的设 备。如图2b中所示,服务器240包含存储器245、一个或者多个处 理器246、247和在主存储器245中驻留的用于例如实施软件应用、 比如社交媒体服务的功能的计算机程序代码248。不同服务器240、 241、242可以至少包含用于运用与每个服务器相关的功能的这些相 同单元。相似地,终端用户设备251包含存储器252、至少一个处理 器253和256以及在存储器252中驻留的用于例如实施软件应用、 比如操作系统的浏览器或者用户接口的功能的计算机程序代码254。 终端用户设备也可以具有用于捕获图像数据、例如视频的一个或者 多个相机255和259。终端用户设备也可以包含用于捕获声音的一 个、两个或者更多麦克风257和258。终端用户设备也可以具有附接 到它们的一个或者多个无线或者有线麦克风。不同终端用户设备 250、260可以至少包含用于运用与每个设备相关的功能的这些相同 单元。终端用户设备也可以包括用于查看图形用户接口的屏幕。

需要理解不同实施例允许在不同单元中执行不同部分。例如可 以完全在一个用户设备、比如250、251或者260中或者在一个服务 器设备240、241或者242中或者跨多个用户设备250、251、260或 者跨多个网络设备240、241、242或者跨用户设备250、251、260 和网络设备240、241、242二者做出软件应用的执行。例如通过用 户接口捕获用户输入可以在一个设备中发生,数据处理和向用户提 供信息可以在另一设备中发生,并且可以在第三设备中执行情境处 理的控制和管理。可以如以上提到的那样实施不同应用单元和库为 在一个设备上驻留或者跨若干设备分布的软件部件,例如从而设备 形成所谓云。用户设备250、251或者260也可以充当web服务服务 器、恰如各种网络设备240、241和242。也可以跨多个设备分布这 一web服务服务器的功能。

可以实施不同实施例为在移动设备上并且可选地在赋予基于网 络的服务的设备上运行的软件。移动设备可以至少被配备一个存储 器或者多个存储器、一个或者多个处理器、显示器、键区、运动检 测器硬件和通信装置、比如2G、3G、WLAN或者其它。不同设备可 以具有硬件、比如触屏(单触摸或者多触摸)和用于定位的装置、 比如网络定位或者全球定位系统(GPS)模块。可以有在设备上的各 种应用、比如日历应用、联系人应用、地图应用、消息应用、浏览 器应用、相册应用、视频播放器应用和用于办公和/或私人使用的各 种其它应用。

图3示出根据一个实施例的用于从较早情境信息确定将来情境 的系统。示出事件310、312、314、…、316、318的序列,其中每 个事件由情境代表。情境由字词、比如用于事件310的morning(上 午)、work(工作)、Tampere、meeting(会议)、Mikko、Nokia、 warm(温暖)、light(明亮)和still(静止)代表。随时间流逝, 情境可以改变一点,例如“meeting”可以在时间t1的事件310与在时 间t2的事件312之间改变成“free(闲)”,或者情境可以改变许多或 者完全地改变、例如比较事件318在时间t10的情境与事件310的情 境。描述情境的字词可以来自不同来源、比如系统的时间(时钟) (morning)、位置信息(Tampere)、可用通信网络(Nokia)、日 历内容(meeting)、在系统及其所有者(Mikko)周围的其它设备、 传感器读数、比如温度计、环境光传感器和加速度传感器(warm、 light、still)。在从一个活动移向另一活动时,情境可以改变,并且 对应地,描述情境的字词可以改变。一些信息可以在某个时间可用 而在其它时间不可用。也就是说,可用情境信息可以变化。

这里已经认识为了适应系统的用户接口或者在系统上的应用的 状态,有用的是具有对下一(将来)情境320将是什么或者情境改 变已经出现(在情境314与316之间)的预测。

根据一个实施例,可以通过感测在情境标签的两个或者更多集 合之间的差异来检测情境改变,其中集合代表事件的不同时间跨度。 例如集合1(322)代表时间跨度t1至t9并且包括从事件310、312、 314、…和316收集的情境字词。集合2(324)代表时间跨度t9至 t10,集合3(326)代表时间跨度t1至t2,集合4(328)代表时间 跨度t3至t10,并且集合5(330)代表时间跨度t10、也就是仅一个 时间实例。集合可以重叠、比如集合1和集合2,或者他们可以分离、 比如集合2和集合3。集合可以具有相同结束时间、比如集合2和集 合4和/或相同开始时间、比如集合1和集合3。集合可以是另一集 合的子集,比如集合5是集合4的子集。备选地或者附加地,可以 通过确定给第一集合的具有第一频率f1的与时间实例对应的情境字 词和给第二集合的具有第二频率f2的与时间实例对应的情境字词来 形成不同集合。这样,两个集合即使第一时间实例与最后时间实例 相同,它们的时间跨度也可能不同。

可以通过从每个集合代表的不同事件简单地收集标签来形成集 合322、324、326、328和330。在这一点,可以去除标签的重复。 备选地或者附加地,标签可以被加权,从而一些标签比其它标签更 经常在集合中出现或者从而在使用集合时一些标签接收更高权值。 加权可以发生,例如从而更早事件接收比在更新近时间实例的事件 更小的权值。加权可以基于标签本身,例如从而具有高确定性的标 签——因为它们例如已经由用户输入或者以别的方式已知高概率正 确——接收较高权值并且在集合中多次出现。加权可以基于标签代 表的情境的类型,例如传感器信息、比如温度计可以接收低权值, 而来自用户的日历的信息可以接收高权值。加权也可以在使用字词 集合的时间发生,例如从而系数、比如浮点系数用来与对应稀疏矢 量的元素相乘。

在已经形成集合时,可以确定在两个或者更多集合之间的差异。 例如从图3可见集合1和集合2具有一些公共标签(work、meeting), 而多数标签不同。在相同时间,集合1和集合3公共具有多数标签。 在两个集合具有不同标签并且足够不同时,可以确定集合代表不同 情境。例如在更长集合、比如集合1代表与在办公室工作有关的情 境并且最新近和更短集合2代表与回家有关的情境时,集合包括不 同字词,并且在集合之间的差异指示情境改变已经出现。为了检测 情境改变,例如代表前5或者10个情境的集合可以用作一个集合, 并且代表前2个情境的集合可以用作另一集合。距离测量可以用来 计算在两个集合之间的距离以确定差异。如将参照图4a、4b和5说 明的那样,例如随机编索引方法可以用来确定差异。如可以理解的 那样,可以使用多于2个集合、例如如在该图中为3、4或者5个或 者甚至更多。

图4a图示根据一个实施例的用于形成用于确定情境的随机索引 代码簿的系统和方法。首先取大量、例如数千或者数万或者甚至更 多情境410、412、414作为训练集合。情境可以是比如图3中的事 件或者以任何其它方式形成的一些其它标签或者字词的文档或者汇 集,该任何其它方式有些代表某些标签或者字词具有在事件或者情 境中一起出现的趋势。接着向每个情境分配稀疏情境矢量。这一分 配可以例如通过向矢量的随机元素分配10个值1和10个值-1来随 机地发生。矢量可以具有例如100、500、1000、5000、10000、20000 或者100000个元素的长度。元素中的仅少数元素为非零、例如每100 或者1000个元素之一(作为比率),也就是说,矢量是稀疏的。矢 量可以称为随机索引矢量。

在已经向情境分配情境矢量416、418、420时,形成用于每个 标签或者字词的稀疏矢量(RI矢量)。这可以发生如下。以字词/ 标签DAY、FREE和WARM为例。无论字词何时在情境中出现,向 稀疏标签矢量(422、424或者426)添加情境的随机索引矢量。例 如字词DAY在情境1中和在情境3中出现,因此将RI矢量416和 420相加以形成稀疏标签矢量422。组合或者相加可以简单地通过逐 个元素求和来发生,或者可以应用加权。类似地,标签WARM仅在 情境2中存在,并且它的RI矢量424因此变成与情境2 RI矢量418 相同。相似地,字词WARM在情境2和3中存在,并且它的RI矢 量426变成矢量424和426的组合/加和矢量。这些稀疏标签矢量形 成字词/标签代码簿,其中每个标签具有对应的高维稀疏标签矢量 (422,424,426)。需要理解这些矢量可以包括绝对值大于1的元 素,因为若干情境可以在某个元素位置具有值,并且在它们的矢量 被求和时,求和变成绝对值大于1。

图4b图示根据一个实施例的用于形成用于确定情境的随机索引 代码簿的另一系统和方法。如更早说明的那样,可以通过向高维矢 量分配少数非零元素以随机方式形成情境RI矢量。也可以用相似方 式形成稀疏情境矢量作为图4a中的代码簿矢量。也就是说,首先向 词汇表的字词分配随机索引(RI)矢量440、442、448(具有少数1 或者-1元素的稀疏矢量)。然后,通过组合那些字词的在情境中存 在的RI矢量来获得稀疏情境矢量450、452、454。例如形成情境3 的稀疏情境矢量454为DAY 440和MEETING 442的矢量组合(例 如加和)。然后可以在如用图4a说明的那样形成代码簿时使用获得 的稀疏情境矢量450、452、454。

例如在图4a和4b中,可以基于一个或者多个原有字词生成一个 或者多个辅助字词。使用辅助字词取代原有字词或者除了原有字词 之外还使用辅助字词有时可以在更新代码簿矩阵的稀疏矢量时和/或 在进行预测时更有用。原有字词可以例如是串“2 January 2012 09:03”。在原理上,将解释另一基本上相同串“2 January 201209:04” 为完全不同的字词。这可能减少更新和确定距离/差异的效率。

更新操作的目的可以例如是收集同现数据,这可以允许预测可 能在一周的某天执行的动作。出于这一目的,原有字词“2 January 201209:03”将被辅助字词T5替换或者补充,该辅助字词指定与日期 2012年1月2日对应的该周这一天(周一)。可以例如通过使用日 历从原有字词确定辅助字词。

在原有字词“2 January 201209:03”中包含的时间表达式可能对 于一些目的具有太高时间分辨率。例如如果目的是预测什么时间将 是例如启动病毒扫描应用(该病毒扫描应用将消耗电池功率和数据 处理资源)的适当时间,则可以确定辅助字词,从而辅助字词代表 来自原有字词“2 January 201209:03”的具有更低分辨率的时钟时间 (例如“morning”)。可以例如通过使用词典和/或通过使用量化器(分 类器)来提供辅助字词。

例如以下字词可以用来表示时间:

时间://深夜(用于表示从00:16到04:00的时间)

时间://清晨(用于表示从04:01到06:00的时间)

时间://上午(用于表示从06:01到11:45的时间)

时间://中午(用于表示从11:46到12:15的时间)

时间://下午(用于表示从12:16到17:00的时间)

时间://傍晚(用于表示从17:01到19:00的时间)

时间://晚间(用于表示从19:01到23:45的时间)

时间://午夜(用于表示从23:46到00:15的时间)

原有字词可以例如指定位置。可以例如通过使用GPS坐标和/或 通过提供位置的名称来指定位置。可以例如通过使用电子地图从原 有字词确定指定位置的一个或者多个辅助字词。例如系统500的第 一设备可以位于称为“Vantaa”(在芬兰)的地点,并且系统500的第 二设备可以位于称为“Espoo”(在芬兰)的地点。例如可以例如通过 使用电子地图或者位置词典从字词“Vantaa”确定辅助字词“Southern  Finland(芬兰南部)”或者“Capital area of Finland(芬兰首都区域)”。 例如可以例如通过使用电子地图或者位置词典从字词“Espoo”确定 辅助字词“Southern Finland”或者“Capital area of Finland”。可以例如 从因特网下载电子地图。一个或者多个辅助字词可以由远程(因特 网)服务提供。

由于公共辅助字词,第一设备收集的同现数据可以用来提供与 第二设备的用户相关的预测。

系统的用户也可以关联位置与名称。例如用户携带的便携设备 可以例如通过GPS导航单元确定它的位置,并且该设备也可以要求 用户给予用于检测到的位置的名称。用户给予的名称可以随后用作 与所述(GPS)位置关联的字词。名称可以例如是“家”、“学校”、“大 学”或者“工作地点”。也可以基于较狭义统一资源定位符(URL)确 定较广义统一资源定位符。特别的,可以基于因特网的较狭义统一 资源定位符确定因特网的较广义统一资源定位符。

可以通过权标化和/或解析从原有字词形成一个或者多个辅助字 词。可以取代使用原有字词来使用一个或者多个辅助字词或者除了 使用原有字词之外还使用一个或者多个辅助字词。

图5示出数据结构以及用于使用该数据结构以用于使用随机编 索引来确定将来情境的系统和方法。如用图4a描述的那样,词汇表 510的每个标签/字词在代码簿520(随机索引矢量)中具有关联稀疏 标签矢量。代码簿的性质可以是尽管不同字词/标签具有不同矢量, 但是语义相互接近的字词具有比语义相差大的字词更多的相似矢量 (在它们之间有更小距离)。可以通过根据图4a训练来实现这一性 质。可以表示代码簿520为可以在控制计算机系统的操做时使用的 数据结构,即在代码簿中的值确定系统如何表现。

如说明的那样,代码簿可以包括通过训练而形成的稀疏标签矢 量。将理解矢量的稀疏性为使得可以通过比较输入的稀疏矢量与代 码簿矢量来从代码簿标识出训练的模式。在代码簿中的大量元素可 以值为零或者接近零。代码簿矢量可以呈现与训练稀疏矢量不同的 模式。在这一意义上,代码簿可以具有代码簿矢量的元素值的高变 化,即使代码簿矢量的大量元素可以从零偏离。

如用图3说明的那样,每个标签集合包括来自它代表的那些情 境的标签。因而,标签集合的标签可以用来形成用于集合的稀疏标 签集合矢量或者RI矢量。例如图3的集合1、2和3具有已经作为 在每个集合中包括的标签的稀疏标签矢量的组合而形成的关联稀疏 标签集合矢量530、532和534。如更早说明的那样,组合可以是求 和,并且可以使用加权。这些稀疏标签集合矢量可以用来如下确定 在标签集合之间的差异。

首先,针对稀疏标签集合矢量530、532和534发现来自代码簿 的多个最接近稀疏矢量。这可以通过使用距离测量、比如欧几里得 距离、点积、出租车(taxicab)距离(L1范数)、豪斯多夫(Hausdorff) 距离或者指示在两个稀疏矢量之间的相似性的任何其它距离度量来 完成。在已经从代码簿发现多个(比如k个、例如k=4)最接近矢量 时,这些最接近矢量可以再次用来通过组合、例如求和来形成RI情 境矢量RI1、RI2、RI3。例如字词w1、w3、w40和w87可以具有与 稀疏标签集合矢量530最接近的代码簿矢量。

可以理解这些RI1、RI2、RI3矢量代表单个情境,该情境最好 地对应于它已经被形成用于的标签集合。接着,情境矢量RI1、RI2、 RI3可以用来确定在两个标签集合之间的距离。这可以如在图5的底 部箭头(矢量)图示中所示被完成。在用于两个集合的两个情境矢 量用某个距离测量(见上文)相互距离接近时,可以确定集合代表 相同或者附近情境并且情境改变尚未出现(例如RI1和RI3)。在两 个情境矢量相互具有大距离(如对于RI1和RI2)时,可以确定对应 集合代表不同情境并且情境改变已经在集合代表的时间跨度(见图 3,对于集合1、2和3的时间跨度)之间出现。

备选地或者附加地,稀疏标签集合矢量530、532和534可以直 接用来确定在两个矢量(例如530和532)之间的距离或者相似性, 从而可以确定在两个集合之间的差异。

备选地或者附加地,字词w可以用来确定在两个矢量(例如530 和532)之间的距离或者相似性,从而可以确定在两个集合之间的差 异。例如可以确定与集合1对应的一组字词w1、w3、w40和w87 为接近与集合3对应的一组字词w1、w6、w40和w87,因为这两组 公共具有四个字词中的三个字词。可以在确定中考虑或者可以不考 虑组中的字词顺序。

使用随机索引方法用于确定情境改变可以具有优点和技术效果 例如如下。快速实时情境计算可以是可能的,因为确定集合的相似 性可以被安排得计算比其它方法更轻度和更简单。该方法也可以通 用于不同应用,因为不同种类的情境和系统可以如图3中那样由字 词/标签代表。出于这些原因,该方法可以被实施到嵌入式系统、比 如移动电话中,其中可以学习用户的个别行为特征和引用。该方法 也可以简单地处理时序(经度)数据。代码簿520可以包括以健壮 方式跨行和列分布的训练的信息,从而即使一些数据丢失或者破坏 仍然可以可靠地取回学习的模式。添加文档——即包括新数据、比 如新事件——可以是简单的,并且这可以对数百万个文档继续而无 需增加在代码簿矩阵中的列数(矢量的维度)。该方法也可以具有 的益处在于代码簿矢量可以捕获含义,因为具有相似含义的字词可 以具有相似代码簿矢量并且无关字词具有不相似矢量。

概括而言,高维随机矢量——也就是大的随机模式——可以用作 认知代码的基础,该认知代码捕获数据中的规律。随机矢量方法的 简单性和灵活性可以超过更确切方法的简单性和灵活性,并且原理 可以使用于广范围的任务。该方法可以具体地适合用于数据保持累 积的情形。

图6示出根据一个实施例的用于使用随机编索引来确定将来情 境的方法的流程图。在阶段610中,可以从公共字词、因特网地址 (或者在其中的字词)、从传感器状态(hot(热)、cold(冷)、 morning、afternoon、home(在家))和其它特殊字词、比如品牌名 称和在用户的电话簿中的姓名形成词汇表。如用图4b说明的那样, 随机索引矢量可以在阶段615中被分配给训练情境,并且这些可以 用于(与图4a一样)在阶620中形成用于标签/字词的RI矢量(稀 疏矢量)的代码簿。

在阶段625中,形成情境标签的第一集合和情境标签的第二集 合。如图3中所示,第一集合和第二集合对应于系统的情境,从而 第一集合包括在第一时间跨度中描述情境的标签,并且第二集合包 括在第二时间跨度中描述情境的标签。第一和第二时间跨度不同和/ 或已经选择标签,从而他们描述系统的情境的不同时间跨度。这可 以被完成使得在不同——规律或者不规律——时间实例确定系统的 情境并且情境在每个时间时刻由单词描述。然后如更早呈现的那样 收集这些字词并且可以去除重复和/或可以执行加权。

在阶段630,以图5中所示方式例如通过加权来形成来自第一集 合的第一推导的随机索引矢量和来自所述第二集合的第二推导的随 机索引矢量。也就是说,每个标签集合用来推导出推导的情境或者 预测的情境或者代表该情境的信息。例如可以例如通过求和来从标 签(字词)的随机索引矢量为每个标签集合计算随机索引矢量(稀 疏标签集合矢量)。在阶段635中,可以如用图5说明的那样确定 第一和第二推导的情境,并且可以形成RI矢量(图5中的RI1、RI2、 RI3)。

在阶段640中,可以确定在第一推导的情境与第二推导的情境 之间的差异。这可以如在图5中说明的那样例如通过使用推导的情 境的随机索引矢量计算距离来发生。换而言之,计算距离可以包括 首先通过使用每个标签集合的随机索引矢量来确定代表性的情境、 然后计算在代表性的情境(或者它们的随机索引矢量)之间的距离 (例如欧几里得距离或者点积)。

在阶段645中,可以基于差异确定情境改变已经出现。这可以 发生使得第一标签集合在更长时间跨度之上、例如从现在瞬间在时 间上往回更远代表情境,并且第二标签集合在与现在瞬间接近的短 时间跨度之上代表情境。以这一方式,基于标签的第二集合的推导 的情境可以比基于标签的第一集合的推导的情境更快地反映情境改 变。在从不同集合形成的情境不同或者有距离时,确定情境改变已 经发生。

在阶段650中,可以响应于确定的情境改变来控制系统。例如 可以变更应用及其状态或者可以按照确定的情境改变来控制信息处 理。可以在阶段655中基于情境改变向用户显示不同相关信息。作 为示例,如果确定情境从个人在室内工作的情形改变成个人正在室 外朝着公共汽车站步行以赶上公共汽车的情形,则可以更改系统的 应用,从而在工作地显示电邮应用,并且在情境已经改变时,调出 浏览器以显示公共汽车时间表和/或导航应用示出具有去往公共汽车 站的距离和指导的城市地图。

可以借助在存储器中驻留并且使相关装置实现本发明的计算机 程序代码实施本发明的各种实施例。例如终端设备可以包括用于处 置、接收和发送数据的电路装置和电子装置、在存储器中的计算机 程序代码以及在运行计算机程序代码时使终端设备实现一个实施例 的特征的处理器。进而另外,网络设备可以包括用于处置、接收和 发送数据的电路装置和电子装置、在存储器中的计算机程序代码以 及在运行计算机程序代码时使网络设备实现一个实施例的特征的处 理器。可以形成数据结构,从而在具有用于控制计算机的计算机程 序的计算机中使用数据结构时,数据结构使计算机程序和计算机根 据数据结构和下层数据操作。

不言而喻,本发明并非仅限于以上呈现的实施例,而是可以在 所附权利要求的范围内进行修改。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号