预测性服务访问的制作方法

文档序号:6498524阅读:184来源:国知局
预测性服务访问的制作方法
【专利摘要】本发明涉及预测性浏览。形成了用于与经验矩阵一起使用的词语的集合,其中该词语描述系统的情境比如当前网页,并且其中所述经验矩阵包括与词语关联的稀疏矢量。对所述经验矩阵的至少一个稀疏矢量的至少一部分进行访问以形成预测输出,并且响应于所述预测输出而向用户提供对网页的建议。
【专利说明】预测性服务访问

【背景技术】
[0001] 当前电子用户设备如智能电话和计算机承载多个功能,例如用于不同需要的各种 程序以及用于定位、通信和娱乐的不同模块。可以用这些设备来执行的任务的种类很多,并 且各个任务可能实际上很复杂。例如,当今世界执行的任务中的很多任务是在计算机的帮 助下进行的。同样地,电子设备也已经成为空闲时间的日常生活的一部分。此外,通过用于 不同目的的互联网可获得大量网络服务和应用。
[0002] 现代电子设备如计算机或智能电话的用户可能被由系统提供的各种功能以及他/ 她触及的各种服务和应用所淹没。出于这个目的,这些设备可以在设备中提供定制功能的 外观和布置的方法,使得用户所需要的设备的功能很容易可获得。然而,系统的状态以及系 统于其中被使用的情况可能对性能和用户的需求产生影响。
[0003] 因此,需要用于向系统的用户提供对互联网中的相关服务的较容易的访问的解决 方案。


【发明内容】

[0004] 现在,已经发明了一种改进的方法以及一种实现该方法的技术装备,通过该方法 以及该技术装备可以缓解以上问题。本发明的多个方面包括一种方法、装置、服务器、客户 端、数据结构和包括存储在其中的计算机程序的计算机可读介质,其特征在于在独立权利 要求中所指出的内容。在从属权利要求中公开了本发明的多种实施例。
[0005] 示例实施例涉及预测性浏览。形成了用于与经验矩阵一起使用的词语的集合,其 中该词语描述系统的情境比如当前网页,并且其中所述经验矩阵包括与词语关联的稀疏矢 量。访问所述经验矩阵的至少一个稀疏矩阵的至少一部分以形成预测输出,以及响应于所 述预测输出而向用户提供对网页的建议。可以使用抽取元数据来形成预测,使得该预测基 于描述站点而非内容的词语(有时是偶然的,例如广告)。
[0006] 根据第一方面,提供了一种方法,包括:形成用于与经验矩阵一起使用的词语的集 合,其中该词语描述系统的情境比如当前网页,并且其中所述经验矩阵包括与词语关联的 稀疏矢量;访问所述经验矩阵的至少一个稀疏矢量的至少一部分以形成预测输出;以及响 应于所述预测输出而向用户提供对网页的建议。
[0007] 根据实施例,该方法包括形成用于采集词语的输入缓冲器以用于更新所述经验矩 阵。根据实施例,该方法包括基于网络浏览器活动来形成所述预测输出。根据实施例,该方 法包括基于页面加载完成来形成所述预测输出。根据实施例,该方法包括在后台中来形成 所述预测输出。根据实施例,该方法包括基于网络浏览器活动来更新所述经验矩阵。根据实 施例,该方法包括形成包括网页的图像或文本的预测列表,以及基于网络浏览器活动来更 新所述预测列表。根据实施例,该方法包括:作为所述预测输出的结果,提供对其他有关数 据而非网页的建议。根据实施例,该方法包括在形成所述经验矩阵时使用抽取元数据。根 据实施例,该方法包括在形成所述预测时使用抽取元数据。根据实施例,所述抽取元数据是 国别化的。根据实施例,所述抽取元数据为经验矩阵的形式。根据实施例,该方法包括在形 成所述预测时以加权方式使用站点内容和所述抽取元数据。
[0008] 根据第二方面,提供了包括一个或多个指令的一个或多个序列的一种计算机程序 产品,所述一个或多个指令的一个或多个序列在由一个或多个处理器执行时使系统执行根 据以上权利要求中的任一项所述的方法。
[0009] 根据第三方面,提供了一种包括如下一个或多个指令的一个或多个序列的计算机 程序产品,该一个或多个指令的一个或多个序列在由一个或多个处理器执行时使系统:形 成用于与经验矩阵一起使用的词语的集合,其中词语描述系统的情境比如当前网页,并且 其中所述经验矩阵包括与词语关联的稀疏矢量;访问所述经验矩阵的至少一个稀疏矢量的 至少一部分以形成预测输出;以及响应于所述预测输出而向用户提供对网页的建议。
[0010] 根据实施例,计算机程序产品包括使系统形成包括网页的图像或文本的预测列表 并且基于网络浏览器活动来更新所述预测列表的一个或多个指令的一个或多个序列。根据 实施例,计算机程序产品包括使系统在形成所述经验矩阵时使用抽取元数据的一个或多个 指令的一个或多个序列。根据实施例,计算机程序产品包括使系统在形成所述预测时使用 抽取元数据的一个或多个指令的一个或多个序列。
[0011] 根据第四方面,提供了一种用于控制计算机系统的操作的数据结构,所述数据结 构包括具有稀疏高维矢量的经验矩阵,所述矢量包括关于词语在至少一个系统或装置中 的同时出现的信息,并且所述经验矩阵已经至少部分地通过使用网站的抽取元数据而被形 成。根据实施例,所述抽取元数据为国别化的。
[0012] 根据第五方面,提供了一种包括至少一个处理器、至少一个存储器的装置,该至少 一个存储器包括如下用于一个或多个程序单元的计算机程序代码,该至少一个存储器和计 算机程序代码被配置成与处理器一起使该装置形成用于与经验矩阵一起使用的词语的集 合,其中词语描述系统的情境比如当前网页,并且其中所述经验矩阵包括与词语关联的稀 疏矢量;访问所述经验矩阵的至少一个稀疏矢量的至少一部分以形成预测输出;以及响应 于所述预测输出而向用户提供对网页的建议。
[0013] 根据实施例,该装置包括被配置成使该装置形成用户收集词语的输入缓冲器以用 于更新所述经验矩阵的计算机程序代码。根据实施例,该装置包括被配置成使该装置基于 网络浏览器活动来形成所述预测输出的计算机程序代码。根据实施例,该装置包括被配置 成使该装置基于页面加载完成来形成所述预测输出的计算机程序代码。根据实施例,该装 置包括被配置成使该装置在后台中形成所述预测输出的计算机程序代码。根据实施例,该 装置包括被配置成使该装置基于网络浏览器活动来更新所述经验矩阵的计算机程序代码。 根据实施例,该装置包括如下计算机程序代码,该计算机程序代码被配置成使该装置:形成 包括网页的图像或文本的预测列表;并且基于网络浏览器活动来更新所述预测列表。根据 实施例,该装置包括被配置成使该装置作为所述预测输出的结果来提供对其他有关数据而 非网页的建议的计算机程序代码。根据实施例,该装置包括被配置成使该装置在形成所述 经验矩阵时使用抽取元数据的计算机程序代码。根据实施例,该装置包括被配置成使该装 置在形成所述预测时使用抽取元数据的计算机程序代码。根据实施例,所述抽取元数据是 国别化的。根据实施例,所述抽取元数据为经验矩阵的形式。根据实施例,该装置包括被配 置成使该装置在形成所述预测时以加权方式使用站点内容和所述抽取元数据的计算机程 序代码。
[0014] 根据第六方面,提供了一种装置,该装置包括:用于形成用于与经验矩阵一起使用 的词语的集合的装置,其中词语描述系统的情境比如当前网页,并且其中所述经验矩阵包 括与词语关联的稀疏矢量;用于访问所述经验矩阵的至少一个稀疏矢量的至少一部分以形 成预测输出的装置;以及用于响应于所述预测输出而向用户提供对网页的建议的装置。
[0015] 根据实施例,该装置包括用于形成用于收集词语的输入缓冲器以用于更新所述经 验矩阵的装置。根据实施例,该装置包括用于基于网络浏览器活动来形成所述预测输出的 装置。根据实施例,该装置包括用于基于页面加载完成来形成所述预测输出的装置。根据 实施例,该装置包括用于在后台中形成所述预测输出的装置。根据实施例,该装置包括用于 基于网络浏览器活动来更新所述经验矩阵的装置。根据实施例,该装置包括用于形成包括 网页的图像或文本的预测列表的装置、以及用于基于网络浏览器活动来更新所述预测列表 的装置。根据实施例,该装置包括用于作为所述预测输出的结果提供对其他有关数据而非 网页的建议的装置。根据实施例,该装置包括用于在形成所述经验矩阵时使用抽取元数据 的装置。根据实施例,该装置包括用于在形成所述预测时使用抽取元数据的装置。根据一 种实施例,所述抽取元数据是国别化的。根据实施例,所述抽取元数据为经验矩阵的形式。 根据实施例,该装置包括用于在形成所述预测时以加权方式使用站点内容和所述抽取元数 据的装置。
[0016] 根据第七方面,提供了一种系统,包括至少一个处理器、至少一个存储器,至少一 个存储器包括用于一个或多个程序段安逸的计算机程序代码,至少一个存储器和计算机程 序代码被配置成与处理器一起使系统:形成用于与经验矩阵一起使用的词语的集合,其中, 词语描述系统的情境比如当前网页,并且其中所述经验矩阵包括与词语关联的稀疏矢量; 访问所述经验矩阵的至少一个稀疏矢量的至少一部分以形成预测输出;以及响应于所述预 测输出而向用户提供对网页的访问。
[0017] 根据实施例,该系统包括被配置成使该系统形成用于收集词语的输入缓冲器以用 于更新所述经验矩阵的计算机程序代码。根据实施例,该系统包括被配置成使该系统基于 网络浏览器活动来形成所述预测输出的计算机程序代码。根据实施例,该系统包括被配置 成使该系统基于页面加载完成来形成所述预测输出的计算机程序代码。根据实施例,该系 统包括被配置成使该系统在后台中形成所述预测输出的计算机程序代码。根据实施例,该 系统包括被配置成使该系统基于网络浏览器活动来更新所述经验矩阵的计算机程序代码。 根据实施例,该系统包括如下计算机程序代码,该计算机程序代码被配置成使该系统:形成 包括网页的图像或文本的预测列表;以及基于网络浏览器活动来更新所述预测列表。根据 实施例,该系统包括被配置成使该系统作为所述预测输出的结果提供对其他有关数据而非 网页的建议的计算机程序代码。根据实施例,该系统包括被配置成使该系统在形成所述经 验矩阵时使用抽取元数据的计算机程序代码。根据实施例,该系统包括被配置成使该系统 在形成所述预测时使用抽取元数据的计算机程序代码。根据实施例,该系统包括被配置成 使该系统在形成所述预测时以加权方式使用站点内容和所述抽取元数据的计算机程序代 码。

【专利附图】

【附图说明】
[0018] 下面,将参考示例实施例的附图更详细地描述本发明的多种实施例,在附图中:
[0019] 图la、图Ib和图Ic示出将词语表示为基本稀疏矢量、词语口袋,以及在与词语口 袋一起更新之后的经验矩阵,
[0020] 图2示出使用词语口袋和基本稀疏矢量来更新经验矩阵,
[0021] 图3a、图3b和图3c示出使用经验矩阵提供预测;确定情境空间中的矢量的差异, 以及使用经验矩阵提供预测,
[0022] 图4a、图4b和图4c示出将词语口袋表示为基本稀疏矢量;使用词语口袋和基本 稀疏矢量来更新经验矩阵,以及更新之后的经验矩阵,
[0023] 图5a和图5b示出将词语收集至口袋,以及其中词语表示不同时刻的情况,
[0024] 图6图示在包括经验矩阵的系统中采集和处理数据,
[0025] 图7a示出被配置成使用经验矩阵来采集和处理数据的系统,
[0026] 图7b示出被布置成提供词语作为输出的传感器,
[0027] 图7c示出包括词语哈希表和基本稀疏矢量组的稀疏矢量供应,
[0028] 图7d示出包括基本稀疏矢量组的稀疏矢量供应,
[0029] 图7e示出包括被配置成生成基本稀疏矢量的随机数发生器的稀疏矢量供应,
[0030] 图7f示出基于使用经验矩阵进行的预测而被控制的系统,
[0031] 图8a、图8b、图8c和图8d示出词语口袋,基于预测而被控制的用户界面,以及用 于针对日历事件而对系统进行准备的方法步骤。
[0032] 图9a、图9b和图9c示出将经验矩阵表示为哈希表组,更新经验矩阵,以及使用经 验矩阵用于进行预测,
[0033] 图IOa和图IOb示出使用日历和/或词典生成辅助词语,以及使用词典用第二词 语代替词语,
[0034] 图11示出包括经验矩阵的系统,
[0035] 图12a和图12b示出不同的数据处理设备,
[0036] 图13a示出根据实施例的预测性浏览器的用户界面序列的示例,
[0037] 图13b示出根据实施例的具有用于相关内容的建议的预测式浏览器的用户界面 的示例,
[0038] 图14示出根据实施例的用于预测性浏览的抽取索引,
[0039] 图15示出根据实施例的预测性浏览的流程图,以及
[0040] 图16示出根据实施例的预测性浏览的流程图。

【具体实施方式】
[0041] 下面,将参考系统的情境以及随机索引的框架来描述本发明的若干示例实施例。 然而,应当注意,本发明不限于这些用途或备选。实际上,不同的实施例可应用于其中需要 系统的语义处理和适应性的任何环境。
[0042] 可以基于词语在在先情况下的同时出现而采集同时出现的数据。经验矩阵可以包 含关于词语在不同情况下的同时出现的历史数据。经验矩阵EXl可以实际上包含多个稀 疏矢量,稀疏矢量又包含关于与系统有关的词语的历史共同出现的信息。矩阵EXl可以理 解为记忆由一个或多个系统采集的经验。经验矩阵可以包含由一个或多个系统采集的"经 验"。经验矩阵可以用来例如"预测"合适的动作或操作模式,这些模式在与给定情况有关 的一个或多个(其他)词语已知的情况下可以适用于该情况。因此,通过使用系统的经验 矩阵中所存储的在先经验,系统可以基于所观察到的事实来改变其操作。
[0043] 通过使用经验矩阵中所存储的数据,可以从查询词语中确定一个或多个预测词 语。随后可以基于预测词语来控制系统。查询词语可以是描述当前情况的词语。预测词语 是很可能描述当前情况的词语。可以将同时出现的数据存储为经验矩阵EXl的矢量。同时 出现的数据随后可以用于进行预测。将同时出现的数据存储在经验矩阵EXl中以及利用经 验矩阵EXl中所存储的同时出现的数据都可能需要词汇表V0C1。在实施例中,词汇表VOCl 也可以结合被称为基本矩阵
[0044] RMl的另一矩阵来使用。
[0045] 参考图la,词汇表VOCl可以包括不同词语......、Wn的组。词汇表VOCl可 以是哈希表,其包含指向基本矩阵RMl的稀疏矢量的指针。稀疏矢量也可以称为随机索引 矢量(RI矢量)。因此,可以使词汇表VOCl的每个词语Wl、w2、……、wn与基本稀疏矢量&1、 a2、......、an关联。例如,可以使词语wk(例如,"meeting")与基本稀疏矢量ak关联。可以 将基本稀疏矢量ai、a2、……、ak、……、an存储例如作为基本矩阵RMl的行。
[0046] 词汇表VOCl可以是哈希表,其通过使用词语(例如,wk)作为密钥来指示稀疏矢量 在基本稀疏矩阵RMl中的位置(例如,行k)。
[0047] 矩阵RMl的每个基本稀疏矢量可以代表词语。例如,基本矢量ak可以理解为代表 稀疏矢量格式中的词语wk。每个基本稀疏矢量ak包括元素R1^R2Y......、Ri,k、......、Rm,k。 在实施例中,矩阵RMl的基本稀疏矢量a^a2、……、ak、……、an可以唯一并且不同。基本 矩阵RMl的每行可以是与不同词语关联的唯一的基本稀疏矢量。每个基本稀疏矢量ak可 以具有大量零元素和仅几个非零元素。例如,基本稀疏矢量ak可以具有例如10000个元素 R,其中二十个元素可以是非零并且9980个元素可以是零。
[0048] 在实施例中,基本稀疏矢量ak的所有元素之和可以等于零。这可以使存储器消耗 最小化,可以简化数学操作和/或可以增加数据处理速度。具体地,非零元素中的50%可以 等于-1 (负一),非零元素中的50%可以等于1 ( 一)。换言之,元素的值可以是_1、0或1, 基本稀疏矢量ak可以是二兀矢量。
[0049] 每个矢量ai、a2、……、ak、……、an可以用多维空间中的点来代表。更精确地,当 每个矢量的起点位于相同点(例如原点)时,每个矢量apa2、......、ak、......、an可以用同 一多维空间中的不同的终点来代表。基本稀疏矢量ak的元素R的数目m可以例如在100至IO6的范围内。基本稀疏矢量ak的非零元素R的数目mnz可以在数目m的0. 1 %至10%的 范围内,所述非零元素的数目mnz也在4至IO3的范围内。增加总数目m和/或非零元素的 数目mnz可以使得能够使用较大的词汇表VOCl和/或可以提供更可靠的预测。然而,增加 数目m和/或mnz也可能需要更多的存储器空间和更强的数据处理能力。
[0050] Ri;k表示基本矩阵RMl的属于第i列和第k行的元素。在实施例中,矢量可以是 三元的,各个元素ei,k的值可以是以下中的一种:-1、〇或1。负的非零元素R的数目可以等 于正的非零元素R的数目,非零元素R的值为整数。这很可能使数据处理速度最大化,并且 使存储器的使用最小化。然而,这不是必须的。例如,基本稀疏矢量ak可以具有十六个值 为-0. 5的元素R和四个值为2的元素R。
[0051] 在将矩阵RMl的矢量a2、……、ak、……、an彼此比较时,非零元素在基本稀 疏矢量ak中的位置和基本稀疏矢量ak的非零元素的值可以随机分布。基本稀疏矢量也可 以称为随机索引矢量。这个随机性可以以高可能性确保代表多维空间中的基本稀疏矢量 的指针彼此不太靠近。如果表示两个不同词语的两个指针可能彼此太靠近,这可能导致随 后的处理期间的错误预测。当位置和值随机分布时,这也可以以高可靠性确保词汇表VOCl 的每个词语与唯一并且不同的基本稀疏矢量关联。在索引为随机时,很可能的是与两个不 同的词语关联的元素稀疏矢量正交或接近正交。因此,所述元素稀疏矢量的点乘以高可能 性等于零。词语的伪正交性可以保护每个词语或事件的唯一标识或矩阵中所存储的唯一出 现,即使在它们用稀疏矢量代表的情况下。在词语、事件和/或出现被表示为经验矩阵EXl 中的稀疏矢量的组合时,词语的这个伪正交性可以保护每个词语的唯一标识、经验矩阵EXl 中所存储的事件或唯一出现。该词汇表的词语可以按照例如字母表顺序来布置。
[0052] 图Ib示出若干可以被称为例如" 口袋"的词语的集合。口袋包括彼此相关的两个 或多个不同的词语。口袋中的词语的数目可以例如在2至1000的范围内。每个口袋也可 以被称为"文档"。
[0053] 口袋代表词语的同时出现。口袋可以用于训练系统。可以将关于词语的同时出现 的信息存储在矩阵EXl(图lc、图4b)中。
[0054] 口袋中的词语可以例如描述情况和/或在所述情况下使用的系统。具体地,词语 可以表示所观察到的事实。
[0055] 例如,第一口袋BAGl可以包括词语"工作"、"上午"和"邮件"。词语"工作"可以 例如基于例如系统的日历中的标记来确定。词语"上午"可以例如通过该系统的时钟来提 供。词语"邮件"可以与词语例如"工作"和"上午"相关,因为该系统已经检测到用户已经 在由词语"工作"和"上午"所描述的情况下接收到和/或发送书面消息。
[0056] 第二口袋BAG2可以包括词语"家"、"进餐"和"音乐"。词语"家"可以例如当由用 户携带的导航单元指示所检测的位置与被称为"家"的位置匹配时来提供。词语"进餐"可 以被提供因为例如食物(例如,披萨)刚刚经由递送服务被预定给位置"家"。系统可以被 布置成提供词语"音乐"因为例如用户已经指示系统播放音乐。
[0057] 词语"家"、"进餐"和"音乐"可以表示例如在第一瞬时tl当时的情况。词语"家"、 "进餐"和"音乐"可以是内部相关的。如果这个词语组合在过去已经出现了若干次,则其可 以例如用来评估(预测)用户当在家吃饭时希望听音乐的可能性。例如,当确定用户正在 家吃饭时,便携式设备可以被布置成将其自己设置成音乐播放模式。
[0058] 第三口袋BAG3可以包括词语"工作"、"会议"和"静音"。词语"工作"和"会议"可 以例如基于例如系统的日历中的标记来确定。系统可以被布置成基于例如用户的日历中所 包含的信息来提供状况描述符"工作"。系统也可以在用户的便携式设备的位置与工作地点 的位置匹配的情况下确定词语"工作"。词语"静音"可以被取得因为例如参加会议的用户 已经将系统设置为静音模式。具体地,用户可能已经将移动电话设置成工作模式,其中电话 在有来电呼叫的情况下不生成声音警报。
[0059] 现在,词语"工作"、"会议"和"静音"可以代表在第二时间t2当时的情况。如果 这个词语组合在过去已经出现了若干次,则其可以例如用来评估(预测)用户在工作中参 加会议时希望将其便携式设备设置成静音模式的可能性。例如,在确定用户正在参加会议 时,用户的便携式设备现在可以被布置成自动建议设置成静音模式。
[0060] 参考图lc,从所观察到的词语的同时出现取得的数据可以存储为矩阵EXl的矢 量Vi、v2、……、vk、……、vn,其可以被称为例如"经验矩阵"。词汇表VOCl的每个词语Wl、 w2、……、wn(也)可以与经验矩阵EXl的稀疏矢量关联。稀疏矢量Vl、v2、……、vk、……、 Vn可以存储为例如经验矩阵EXl的行。
[0061] 词汇表VOCl可以与图Ia中的(哈希表)相同。
[0062] 经验矩阵EXl的每个矢量可以是稀疏矢量与初始矢量的线性组合。
[0063] 具体地,经验矩阵EXl的每个矢量可以是基本稀疏矩阵RMl(图la)的基本稀疏矢 量的线性组合。
[0064] 单个矢量Vk的元素ei;k的数目η可以等于图Ia所示各个基本稀疏矢量的元素R 的数目η。稀疏矢量的组合可以根据口袋的内容(图Ib)来执行。
[0065] 经验矩阵EXl可以包含从多个口袋BAGUBAG2获得的同时出现数据。当从口袋获 得的同时出现数据存储在经验矩阵EXl中作为稀疏矢量的线性组合时,这可以代表用压缩 格式存储同时出现数据。
[0066] 在实施例中,单个矢量矢量Vk的元素ei;k的数目η可以基本上小于从其中获得存 储在矩阵EXl中的同时出现数据的口袋的数目。
[0067] 在从新的口袋添加新的数据时,不必改变元素ei,k的数目η。这意味着可以通过 使用从另外的口袋获得的同时出现数据来快速且容易地更新矩阵ΕΧ1。这也表示即使通过 使用从另外的口袋获得的同时出现数据来更新矩阵ΕΧ1,矩阵EXl的大小(及,行和列的数 目)仍然可以保持不变。
[0068] 然而,在实施例中,不能够明白地(通过使用仅词汇表VOCl和矩阵RMUEX1)确定 口袋中的用于更新的哪些口袋包含给定词语。在这个意义上,将口袋的同时出现词语存储 在矩阵EXl中可以代表一种有损的存储同时出现数据的方式。
[0069] 经验矩阵EXl初始可以是零矩阵(空矩阵),但这不是必须的。经验矩阵EXl的若 干矢量的初始值可以展示平滑的空间变化。
[0070] 图2图示可以如何通过使用词语口袋来更新经验矩阵ΕΧ1。词语口袋可以是例如 图Ib中所示的口袋BAGl。
[0071](具有大写字母的)符号VWyW3表示口袋BAGl的词语。(具有小写字母的)Wl、 w2> ......、wn表示词汇表VOCl的词语。通常,口袋的第一词语W1与词汇表的第一词语W1不 同,但是有时词语W1可能与词语W1相同。
[0072] 可以基于口袋中所包含的词语来更新经验矩阵EXl的矢量。在更新期间,经验矩 阵EXl的矢量可以被称为例如目标矢量。
[0073] 更新可以包括修改与口袋BAGl的词语(例如,"邮件")关联的目标矢量(例如, vP)。口袋包含两个或多个词语^為為、......。当词语VW2J3属于同一口袋BAGl时,这 表不词语W1和W2属于词语W3的情境。
[0074] 连同第一词语属于口袋的一个或多个其他词语可以被认为属于第一词语的情境。 词语可以代表例如系统和/或外部情况的状态。
[0075] 可以通过使用词汇表VOCl来识别与口袋BAGl的词语W3关联的经验矩阵EXl的 目标矢量vP。更精确地,可以通过使用词汇表VOCl来确定与词语W3的值(=wP,"邮件") 关联的经验矩阵EXl的矢量Vp(行)的位置。
[0076] 也可以通过使用词汇表VOCl来查找代表口袋BAGl的其他词语W1、W2的基本稀疏 矢量(例如,ak+1和a^)。
[0077] 向经验矩阵EXl添加口袋BAGl的同时出现数据可以包括用如下已修改矢量代替 与口袋BAGl的词语W3关联的(第一)目标矢量vP,其中,该已修改矢量是(第一)目标矢 量Vp与代表口袋BAGl的其他词语%、W2的基本稀疏矢量ak+1、an_i的线性组合。
[0078] 在实施例中,可以简单地将基本稀疏矢量求和成目标矢量vP。换言之,线 性组合中所使用的每个基本稀疏矢量的加权系数可以等于1。然而,基本稀疏矢量 的加权系数也可以偏离1,以强调或降低用所述基本矢量代表的词语的贡献。加权系数可以 例如在0. 1到10的范围内。
[0079] 图2示出基本矢量aP上绘制的交叉。在通过使用基本矩阵RMl的代表性矢量来 更新经验矩阵EXl时,可以对矢量进行组合使得代表词语W3的基本矢量aP对于所述词语W3 关联的已修改目标矢量Vp没有贡献。词语通常与其自身同时出现。添加词语自己的基本 矢量的贡献不太可能向经验矩阵添加新的有意义的数据。
[0080] 可以通过用如下已修改矢量代替代表口袋BAGl的第二词语(工作,W2)的第二目 标矢量(例如,图Ic所示的Vlri)来修改第二目标矢量Vlri,其中该已修改矢量是第二目标 矢量Vp与代表口袋BAGl的其他词语W1 (上午)、W3 (邮件)的基本稀疏矢量ak+1、aP的线性 组合。如果口袋包含第三词语,则可以通过用如下已修改矢量代替代表口袋BAGl的第三词 语(上午、Wi)的第三目标矢量(例如,图Ic所示的vk+1)来修改第三目标矢量vk+1,其中该 已修改矢量是第三目标矢量vk+1与代表口袋BAGl的其他词语W2 (工作)、W3 (邮件)的基本 稀疏矢量a^、aP的线性组合。
[0081] 如果口袋包含多于三个词语,则可以通过分别添加口袋的其他词语的贡献来更新 与每个附加词语关联的目标矢量。
[0082] 可以分别通过使用第二口袋的词语以及通过使用任何随后口袋的词语来更新矩 阵。
[0083] 可以由系统(系统词语)和/或由客户端(客户端词语)来提供口袋BAGl的两 个或多个词语A、W2、W3、……。系统词语可以是例如描述时间和/或位置的词语。"客户 端"可以是例如个人用户、应用或网络服务。客户端词语可以是例如从个人用户和/或从正 在运行的软件应用获得的词语。词语可以例如描述系统的状态。
[0084] 图3a示出通过使用经验矩阵EXl进行预测。经验矩阵EXl可以是例如图Ic或图 4b所示的矩阵。
[0085] 可以通过使用经验矩阵EXl来预测表示系统的状态的一个或多个词语。预测方法 可以包括接收一个或多个查询词语%、Q2、……(图3c示出通过使用两个查询词语进行预 测)。查询词语仏為可以例如由系统和/或由客户端来提供。在实施例中,客户端可以通 过发送一个或多个查询词语Q1A2来开始预测处理。可以通过使用词汇表VOCl来查找与查 询词语Q1 (例如,上午)关联的经验矩阵EXl的矢量vk。在单个查询词语Q1的情况下,可以 使用关联矢量vk作为代表查询的查询矢量QVl。
[0086] 现在可以将查询矢量QVl与经验矩阵EXl的矢量Vl、v2、......vn比较,以识别经验 矩阵EXl的基本上类似于查询矢量QVl的一个或多个矢量Vl、v2、……Vn。在比较期间,经 验矩阵EXl的矢量Vl、v2、……vn可以被称为候选矢量。可以确定和与查询矢量QVl具有 最小差异的矢量关联的词语并且将其提供作为预测输出0UT1。预测方法可以包括确定查询 矢量QVl与经验矩阵EXl的每个矢量V1、V2、......Vn之间的差异。
[0087] 图3b图示在矢量的起点一致的情况下(例如,在原点ORIGl处)多维空间中的查 询矢量QVl和经验矩阵EXl的若干矢量。DM和DM'表示多维空间的两个维度(如以上所 讨论的,空间的维度的数目可以是例如10000或更高)。如果两个矢量在多维空间中具有至 少近似相同的长度和至少近似相同的方向,则这可以被理解为指示所述两个矢量与在基本 上类似的情境中出现的两个词语关联。如果所述词语中的一个为用于系统的状态的有效描 述符,则很可能其他词语也是用于系统的状态的有效描述符。
[0088] DV(QVl,v)表示查询矢量QVl与经验矩阵EXl的矢量V之间的差异矢量。可以基 于查询矢量QVl和经验矩阵EXl的矢量V来确定指示查询矢量QVl与经验矩阵EXl的矢 量V之间的差异的值。可以例如用查询矢量QVl与经验矩阵EXl的矢量V之间的角度Θ 来表达"差异"。可以例如用查询矢量QVl与经验矩阵EXl的矢量V之间的角度Θ的余弦 C0S(e)来表达"差异"。可以通过使用等式|v||QVl|C〇S(0) =VQVl而根据点乘来计 算查询矢量QVl与经验矩阵EXl的矢量V之间的角度Θ的余弦(cos(0))。差异可以用例 如差异矢量DV的欧几里德长度|dv|来表达。差异可以用例如矢量的点乘QVi·ν来表达。 差异可以用例如差异矢量DV的欧几里德长度IdvI的平方IdvI2来表达。差异可以表达为 例如差异矢量DV的出租车(taxicab)长度(曼哈顿长度)。在定义差异矢量DV的长度时 也可以使用其他度量。在评估矢量之间的差异时也可以使用其他度量。
[0089] 现在可以基于查询矢量QVl与经验矩阵EXl的矢量之间的差异从词汇表VOCl选 择一个或多个预测输出词语。如果查询矢量QVl与候选矢量之间的差异满足选择准则,则 可以提供与所述候选矢量关联的词语作为预测词语。
[0090] 可以将差异DV相互比较以寻找从查询矢量QVl偏离最小距离DV的稀疏矢量。具 体地,可以对差异DV分类。可以提供与具有最小距离DV的稀疏矢量关联的词语作为预测 方法的输出0UT1。输出可以被称为预测。也可以提供与具有最小距离DV的稀疏矢量关联 的若干词语作为输出0UT1。例如,可以提供与具有最小距离DV的候选矢量关联的Np个词 语作为输出0UT1,其中整数Np可以在例如2至10的范围内。在图3a的示例中,最小差异 值(|DV|2 = 6)与矢量vp、Vk和vn_2关联。如果数目Np被设置成等于三,则可以提供词语 "邮件"、"会议"和"静音"作为预测词语。
[0091] 查询词语QpQ2已经公知用于描述情形。查询词语QpQ2可以从预测词语OUTl中 排除。在将查询矢量QVl与经验矩阵EXl的其他矢量比较时,可以根据比较将与查询矢量 QVl关联的矢量排除。
[0092] 预测词语可以理解为对如下状况问题的回答:"哪些预测词语OUTl很可能描述情 形,如果该情形已经用一个或多个(已知)查询词语%、Q2描述"。在图3a的示例中,预测 词语为"邮件"、"会议"和"静音",如从单个查询词语Q1 "上午"所确定的。
[0093] 可以使用这些预测词语中的一个或多个词语用于控制系统。例如,系统在一种情 形下可以自动激活用于接收和发送电子邮件的应用,其可以用词语"上午"来描述。例如, 系统在一种情形下可以自动将其自己设置成静音操作模式,其可以用词语"上午"来描述。
[0094] 可以将一个或多个预测词语传回客户端从而进行查询。可以将一个或多个预测词 语传给不同的客户端。可以将系统布置成使用所有预测词语用于控制,或者可以将系统布 置成使用预测词语的较小子集用于控制,其中可以忽略一个或多个预测词语。
[0095] 图3c示出通过使用两个或多个查询词语QpQ2来进行查询。增加单个查询的查询 词语%、Q2的数目可以改善预测词语可以是用于这个情形的有效描述符的可能性。在这个 示例中,查询包括两个词语%、Q2。可以通过使用词汇表VOCl来寻找经验矩阵EXl的与查 询词语Q1 (例如,上午)关联的第一矢量vk。可以通过使用词汇表VOCl来寻找与查询词语 Q2 (例如,工作)关联的第二矢量Vlri。现在可以将查询矢量QVl确定为与查询词语%、〇2关 联的矢量vk、Vlri的组合。具体地,可以将查询矢量QVl确定为矢量vk、Vlri之和。备选地, 可以通过例如从矢量Q1和Q2中选择具有最大绝对值的元素形成查询矢量QVl或者通过另 一组合方法来形成查询矢量QVl。随后可以通过比较查询矢量QVl与经验矩阵EXl的矢量 V1^v2,……Vn来确定预测词语,如以上针对图3a的情况所描述的。
[0096] 随后可以用包括以下步骤的方法来形成预测词语:
[0097] -确定查询矢量QVl与经验矩阵EXl的第一矢量之间的第一差异,
[0098] -确定查询矢量QVl与经验矩阵EXl的第二矢量之间的第二差异,以及 [0099]-比较第一差异与第二差异。
[0100] 可以根据比较排除经验矩阵EXl的与查询词语Qi、Q2关联的矢量vk+1、Vn_i。
[0101] 在这种情况下,经验矩阵EXI的矢量Vp看起来提供具有最小长度(IdvI2 = 2)的 差异矢量DV。在这种情况下,与矢量Vp对应的预测词语为"邮件"。也可以提供与具有至 查询矢量的最小距离矢量DV的Np个矢量关联的若干词语作为预测。数目Np可以是例如三 个。在这种情况下,可以提供词语"邮件"、"会议"和"静音"作为预测词语。
[0102] 图Ia至图2所示的更新方法基于用不同的基本稀疏矢量ai、a2、……an来代表各 个词语Wpw2、......Wn。图4a和图4b图示将同时出现数据存储在经验矩阵EXl中的另一 方式。图4a和图4c所示的更新方法基于用基本稀疏矢量代表口袋。
[0103] 图4a示出词语的三个口袋BAG1、BAG2、BAG3。这些口袋可以与图Ib的口袋相同。 每个口袋BAGl、BAG2、BAG3可以与基本稀疏矢量Id1、b2、b3关联。每个口袋BAGl、BAG2、BAG3 可以与不同的基本稀疏矢量bi、b2、b3关联,使得单个口袋(例如,BAGl)的所有词语与同一 基本稀疏矢量(例如,Id1)关联。基本稀疏矢量IDpbyb3可以与图Ia所不的基本稀疏矢量 满足相同的准则。
[0104] 图4b示出通过使用从口袋BAGl取得的同时出现数据来更新经验矩阵EX1。口袋 包含两个或多个词语Wi、W2、W3(例如,词语"上午"、"工作"和"邮件")。现在可以用同一基 本稀疏矢量(例如,bi)来代表口袋BAGl的每个词语WpWyW3。口袋BAGl的词语WpWyW3 与词汇表VOCl的词语wP、相同。这使得能够寻找经验矩阵EXl的与口袋BAGl的 词语关联的矢量Vp、vk+1、VlriO这些矢量可以称为目标矢量。
[0105] 经验矩阵EXl初始可以为零矩阵(空矩阵),但这不是必须的。经验矩阵EXl的若 干矢量的初始值可以展示平滑的空间变化。矩阵EX可以已经包含被获得作为矩阵EXl的 先前矢量和稀疏矢量的线性组合的矢量。经验矩阵在在后的情形下可以是使得其不饱和, 即添加至矩阵的新的数据仍然可以可靠地被取回。具有不饱和属性的经验矩阵可以被理解 为在本实施例的意义上而言是稀疏的,即使其大多数元素偏离零。
[0106] 现在可以向与口袋BAGl的词语关联的每个目标矢量vP、vk+1、Vlri添加表达口袋 BAGl的基本稀疏矢量、。现在同一基本即使矢量1^对于口袋BAGl的所有词语而言是公共 的。可以向与口袋BAGl的词语关联的所有目标矢量VpJk^Vlri添加同一基本稀疏矢量Iv总之,可以将与口袋BAGl的词语关联的已修改目标矢量形成为与所述词语关联的目标矢 量和基本稀疏矢量h的线性组合。第二口袋BAG2可以用不同的基本稀疏矢量(例如,b2) 来代表。现在可以向与口袋BAG2的词语关联的每个目标矢量添加代表第二口袋BAG2的基 本稀疏矢量b2。第三口袋BAG3可以用不同的基本稀疏矢量(例如,b3)来代表。现在可以 向与口袋BAG3的词语关联的每个目标矢量添加代表第三口袋BAG3的基本稀疏矢量b3。
[0107] 因此,可以通过使用多个口袋BAG1、BAG2、BAG3的内容来更新经验矩阵EX1。经验 矩阵EXl的若干矢量实际上可以是不同的稀疏矢量bpb2、b3的线性组合。
[0108] 图4c示出在已经将口袋BAG1、BAG2、BAG3的同时出现数据存储在经验矩阵EXl中 之后通过使用代表口袋的不同的基本稀疏矢量匕获得的经验矩阵EX1。矩阵EXl的所有元 素ei,k之和等于零。ei,k表示经验矩阵EXl的属于第i列和第k行的元素。元素ei,k的值 可以是整数,以使数据处理速度最大化。元素ei,k的值不限于从-1至1的范围。
[0109] 通过使用图4b所示的方法确定的经验矩阵EXl可以用于通过使用图3a至图3c 所示的方法来确定预测词语。经验矩阵EXl可以与参考图Ic讨论的经验矩阵具有相同的 列数目(m)和行数目(m)。经验矩阵EXl的各个元素ei,k可以具有整数值。整数值也可以 大于1 (例如,2)或小于-1 (例如,-2)。
[0110] 图5a至图5c示出从缓冲器向单个口袋收集词语。词语可以从一个或多个客户端 和/或从系统接收。所接收的词语可以(暂时)存储在一个或多个缓冲器中。可以从缓冲 器至口袋收集词语。可以通过使用口袋的内容来更新经验矩阵。随后可以通过使用第二 (不同)口袋的内容来更新经验矩阵。
[0111] 在图5a中,口袋的词语可以代表相同的时刻&。口袋可以包含代 表单个瞬时的词语。然而,可以通过使用口袋来向经验矩阵添加时间关系,其中该口袋包含 代表系统在两个或多个不同时刻h、t2的状态的词语。通过这种时间组合(时间"配对") 聚合的口袋也可以用于例如评估如果系统先前处于第一状态则对于连续的第二状态的可 能性。
[0112] 在图5b中,口袋的词语WupWm2AWv2可以代表两个或更多个时 刻1〖2。单个口袋可以包含代表两个或多个不同时刻Vt2的词语。在图5b的情况下,单 个口袋中的词语的数目可以大于代表单个时刻h、t2的词语的数目。时刻h与t2之间的 时间段可以称为时间跨度。
[0113] 在图5c中,口袋的词语可以代表两个或多个时刻 Vt2。口袋可以包含代表两个或多个不同时刻Vt2的词语。图5b和图5c所示的词语的 收集可以在例如旨在聚合关于词语之间的时间关系的信息的情况下使用。图5b和图5c所 示的词语的收集可以在例如旨在聚合关于系统的状态之间的时间关系的信息的情况下使 用。
[0114] 图5b的方法可以在例如不存在关于词语的相关性的较早的知识和/或不存在关 于词语的时间关系的较早的知识的情况下使用。图5c的方法可以在例如关于词语的原因 和时间关系的一些先前的知识可用的情况下使用。例如,如果已知词语^, 2的值取决于词 语\tl的值,则可以将词语\tl、W2, t2收集在同一 口袋中,其中时刻t2稍后于时刻h。
[0115] 词语\tl可以描述例如时间h的天气情况(例如,在时间14:00 "下雨"),词语 w2,t2可以描述例如用户的日历中的标记(例如,18:00"运动")。可以例如从互联网服务来 接收当时天气情况。在这种情况下,在14:00当时的天气情况可能对用户可能在18:00在 户外真实地进行运动有因果效应。在这个意义上,将较早的词语"下雨"和在后的词语"运 动"收集到同一口袋中可能是有用的。
[0116] 图6示出用于将同时出现数据存储至经验矩阵的系统。可以从例如时钟来接收 描述时间的系统词语。可以从例如GPS导航单元(GPS表示全球定位卫星系统)接收描述 (便携式设备的)位置的系统词语。可以从加速计接收描述加速度设备(便携式设备的加 速度)的系统词语。也可以从其他物理传感器接收词语。可以从一个或多个客户端接收客 户端词语。
[0117] 术语"拉取"可以意味着从传感器至缓冲器传送数据可以发生使得传送未由传感 器发起。在实施例中,传感器可以在任何需要的时候提供系统词语。在实施例中,从传感器 传送数据未开始更新经验矩阵。
[0118] 术语"推送"可以意味着从客户端至缓冲器传输数据可以由客户端来发起。在实 施例中,从客户端传送数据也可以发起更新经验矩阵。
[0119] 术语"刷新"可以意味着通过使用词语的一个或多个口袋来更新经验矩阵。口袋 可以从缓冲器的内容来收集。
[0120] 经验矩阵也可以在提供预测时使用,如上所述(参见与图3a至图3c有关的讨 论)。
[0121] 图7a不出用于处理同时存在数据的子系统400。子系统400可以被布置成将同时 出现数据存储在经验矩阵EXl中。子系统400可以被布置成基于经验矩阵EXl中所存储的 同时出现数据提供预测。
[0122] 子系统400可以包括用于接收和存储词语的缓冲器BFU1、用于将词语收集至口袋 的收集单元WRU、用于存储口袋的词语的存储器MEM1、用于提供基本稀疏矢量的稀疏矢量 供应SUP1、用于存储词汇表VOCl的存储器MEM3 (词汇表存储在存储器MEM3中)、用于修 改经验矩阵EXl的矢量和/或用于形成查询矢量QVl的组合单元LCU1、用于存储经验矩阵 EXl的存储器MEM2 (经验矩阵EXl存储在存储器EME2中)、用于存储查询矢量QVl的存储器 MEM4、和/或用于比较查询矢量QVl与经验矩阵EXl的矢量的差异分析单元DAU1。子系统 400可以可选地包括用于存储查询Ql和/或预测OUTl的缓冲器BUF2和/或缓冲器BUF3。
[0123] 词语可以从一个或多个传感器NAVUG1、从时钟CLKl和/或从一个或多个客户端 Cl接收。词语可以通过采集单元WRUl采集至各个口袋。口袋的词语可以采集(即,暂时 存储)在存储器MEMl中。每个口袋的内容可以从存储器MEMl传送至稀疏矢量供应SUP1。 稀疏矢量供应SUPl可以被配置成提供用于更新经验矩阵EXl的基本稀疏矢量。
[0124] 每个口袋的内容和基本稀疏矢量可以被传送至组合单元IXUl,其可以被配置成修 改经验矩阵EXl的矢量(例如,通过形成线性组合)。具体地,组合单元IXUl可以被配置成 向由每个口袋的词语指定的目标矢量添加基本稀疏矢量。组合单元LCUl可以被布置成在 硬件级执行矢量求和。组合单元LCUl的电学和/或光学电路装置可以被布置成同时修改 与单个口袋的词语关联的若干目标矢量。这可以允许高数据处理速率。
[0125] 经验矩阵EXl可以存储在存储器EME2中。词语可以通过使用存储器EME3中所存 储的词汇表VOCl而与经验矩阵EXl的矢量关联。矢量供应SUPl也可以被配置成使用词汇 表VOCl(或者不同的词汇表)例如以提供与口袋的词语关联的基本稀疏矢量。
[0126] 子系统400可以包括组合单元IXUl或被配置成基于查询Ql的词语形成查询矢量 QVl的另外的组合单元。查询矢量QVl可以被形成为经验矩阵EXl的矢量的线性组合。经 验矩阵EXl的相关矢量的位置可以通过使用词汇表VOCl来寻找。查询矢量QVl可以存储 在存储器MEM4中。
[0127] 差异分析单元DAUl可以被配置成比较查询矢量QVl与经验矩阵EXl的矢量。差 异分析单元DAUl可以被布置成确定经验矩阵EXl的矢量与查询矢量QVl之间的差异。差 异分析单元DAUl可以被布置成对针对若干矢量确定的差异进行分类。差异分析单元DAUl 可以被配置成基于所述比较提供预测0UT1。查询词语Ql、Q2本身可以从预测词语中被排 除。
[0128] 差异分析单元DAUl可以被布置成在硬件级比较矢量。组合单元IXUl的电学和/ 或光学电路装置可以被布置成同时确定用于经验矩阵EXl的若干矢量的数量不同的描述 符(DV)。这可以允许高数据处理速率。
[0129] 子系统400可以包括用于控制子系统400的操作和/或用于控制系统500的操作 的控制单元CNT(参见图11)。控制单元CNT可以包括一个或多个数据处理器。子系统400 可以包括用于存储程序代码PROGl的存储器MEM5。程序代码PROGl在由一个或多个数据处 理器执行时可以用于执行本发明的方法。
[0130] 词语可以例如从一个或多个客户端C1、从一个或多个传感器G1、从位置传感器 NAV1、和/或从时钟CLKl接收。预测词语OUTl可以传送至客户端Cl或至不同的客户端。 客户端Cl也可以例如从缓冲器BUFl取回系统词语以形成查询Q1。
[0131] 图7b通过示例的方式示出可以如何基于传感器与其环境之间的物理交互来提供 词语。传感器Gl可以通过监视其物理环境来提供一个或多个电或光传感器信号。监视包 括与物理环境的无源或有源交互。例如,在无源交互的情况下,光传感器的麦克风可以接收 声波或光波(其未被系统发起)。信号Stl可以是例如代表麦克风所接收的声波的幅度和频 率的模拟信号。信号Stl可以是例如代表加速度传感器检测的振动的幅度和频率的模拟信 号。
[0132] 在有源交互的情况下,传感器Gl可以发送例如超声光或红外光,其可以从环境的 表面被反射。例如,可以基于例如光传感器的麦克风所接收的被反射的声波或光波来估计 距表面的距离。
[0133] 可选地,数字传感器信号S1可以通过处理传感器界面GINl中的(模拟)信号Stl 来提供。数字传感器信号S1可以包括例如麦克风所接收的声音的谱分析。数字传感器信 号S1可以包括图像传感器所捕获的数字图像。
[0134] 一些传感器可以直接提供量子化的数字信号,其可以被直接用作系统词语。例如, 微型开关邻近传感器可以或操纵杆的数字编码器可以直接提供代表系统的状态的数字词 语。例如,微型开关可以提供指出有东西在按压开关的词语"1"或没有东西在按压开关的 词语"0"。
[0135] 可选地,量化器QUl可以被布置成基于数字传感器信号S1提供量化后的传感器信 号S2。如果需要,则量化可以通过使用映射功能来执行,其可以是在后的修改器。例如,可 以将在0至127的范围内的音量值映射成较小数值(例如,0、1、2)。
[0136] 可选地,量化器QUl可以包括分析器,其被布置成将信号S1分类成两个或多个不 同的种类。量化器QUl可以是分类器。量化器QUl可以提供规定信号S1的种类的值。例 如,量化器QUl可以被布置成提供值,这些值基于谱分析规定声音的类(例如,"0" =电机, "1"音乐、"2"人声)。
[0137] 可以使用量化器QUl提供的值作为用于子系统400的输入词语。可选地,可以将 值转换成(不同的)词语,例如以使其对于个人用户而言更容易理解。
[0138] 可以可选地将量化后的传感器信号S2转换成用自然语言(例如,用英语或用芬兰 语)描述传感器的物理环境的词语。可以通过使用词典将信号S2转换成词语。词典的内 容可以是固定的或其可以在稍后的阶段被更新。可以通过使用以下词典将描述声音的属性 的大量词语(〇、1、2)转换成自然语言的词语:"监视"、" 1"- "音乐"、"2"- "语音"。 可以通过使用以下词典将描述音量的数字词语(〇、1、2)转换成自然语言的词语:"静 音"、"1"- "标准"、"2"- "响亮"。
[0139] 可选地,标记单元MRKl可以被布置成通过添加标识符来修改词语,标识符使得词 语唯一并且不同于其他词语。标识符例如可以指定传感器Sl的标识或所属词语指定的质 量的类型。例如,当词语为描述音量的数字词语(例如,和"2")时,可以将前缀 "音量"附接至词语以形成例如词语"音量0"。
[0140] 因此,传感器Sl可以被布置成提供使用上述一个或多个方法步骤来提供传感器 词语(系统词语)。
[0141] 在实施例中,从加速度传感器接收信号的分析单元可以被布置成确定例如便携式 设备是固定的、是由走动的人携带的、是由跑动的人携带的还是在移动的车辆中携带的。分 析单元可以提供描述这些不同状态的词语例如"静止的"、"走动的"、"跑动的"、"行进的"。 加速度传感器可以是例如电容式或压电式加速度传感器。
[0142] 然而,从传感器Gl获得的信号不必转换成具有清楚的语义含义的传感器词语,即 不必使用词典THESA1。在实施例中,从加速度传感器接收信号的分析单元可以被布置成提 供描述不同的加速度情况例如"加速度A"、"加速度B"和"加速度C"的传感器词语。包括 子系统400和传感器Gl的系统500可以被操作成使得即使不知道传感器词语的语义含义 系统500也能够进行成功的预测。
[0143] 传感器Gl提供的词语可以呈现为例如包含方案和方案特定的部分的统一资源标 识符(URI)。例如,通过使用加速度传感器而提供的词语可以是例如"运动://移动的"或 "运动://静止的",其中第一部分"运动"为方案,第二部分"移动的"或"静止的"为方案特 定的部分。这些部分可以用符号"://"来分开。通过使用加速度传感器提供的词语也可以 是例如"取向://坚直"或"取向://水平"。
[0144] 参考图7a至图7c,稀疏矢量供应SUPl可以例如通过从存储器(表)取回先前生 成的稀疏矢量和/或通过实时地生成稀疏矢量来提供稀疏矢量。
[0145] 参考图7c,稀疏矢量供应SUPl可以包括用于存储与词汇表VOCl的词语关联的基 本稀疏矢量apa2、……、an(参见图la)的存储器。基本稀疏矢量ai、a2、……、an可以形 成基本稀疏矩阵RM1。基本稀疏矢量ai、a2、……、an可以先前存储在稀疏矢量供应SUPl的 存储器中。备选地或者附加地,可以在词语在口袋中首次使用时实时地生成与所述词语关 联的单个基本稀疏矢量。基本稀疏矢量例如可以通过随机数发生器来生成。图7c的配置 可以在例如执行图Ia至图2所示的更新方法时使用。
[0146] 参考图7d,稀疏矢量供应SUPl可以包括用于存储多个先前确定的基本稀疏矢量 bi、b2、……的存储器。当新的口袋到来时,可以生成触发信号,并且可以改变计数器的计数 值。因此,可以从存储器的由计数器指示的位置处取回下一基本稀疏矢量。因此,每个口袋 可以被分配不同的基本稀疏矢量。相同的基本稀疏矢量可以代表所述口袋的每个词语,如 在图4a和图4b的更新方法中所描述的。
[0147] 参考图7e,每当新的口袋到来时,可以通过随机数发生器RVGUl生成新的基本稀 疏矢量bk。因此,每个口袋可以被分配不同的基本稀疏矢量(生成两个一致的稀疏矢量的 可能性可以是可忽略的)。相同的基本稀疏矢量可以代表所述口袋的每个词语,如图4a和 图4b的更新方法中所描述的。
[0148] 参考图7f,系统500可以包括用于存储同时出现数据和/或用于提供预测的子系 统400。系统可以被配置成:
[0149]-提供与情形关联的一个或多个查询词语,
[0150]-通过使用经验矩阵和所述一个或多个查询词语进行预测,以及
[0151]-基于所述预测控制所述系统的操作。
[0152] 系统500可以可选地包括用于提供描述例如系统的状态或系统的环境的属性的 系统词语的一个或多个传感器G1。系统500可以可选地包括用于提供时间数据的时钟 CLK1。系统500可以可选地包括用于提供位置数据的位置检测器NAV1。位置检测器可以是 例如GPS导航单元。
[0153] 同时出现数据如上所述可以存储在经验矩阵EXl中。
[0154] 客户端Cl可以向子系统400发送查询Q1。查询Ql可以包括例如个人用户经由用 户界面501从应用APPl和/或从系统500的传感器Gl提供的词语。查询Ql可以包括例 如从互联网服务接收的词语(例如,天气信息)。子系统400可以基于查询Ql提供一个或 多个预测词语0UT1,如上所述。系统500可以被配置成基于预测OUTl开始和/或停止应用 APPl、APP2。可以基于预测OUTl来控制系统500的操作。预测OUTl可以用作例如用于网 络浏览器的输入。系统500可以被配置成基于预测OUTl在用户界面501的显示器上显示 信息(用户界面管理)。系统500可以被配置成基于预测OUTl来设置操作模式。系统500 可以被配置成基于预测OUTl而向不同的应用和/或单位分配数据处理能力。系统500可 以被配置成基于预测OUTl开始和/或停止系统的功能(物理)单元(例如,GPS导航单元 或音频放大器)的操作。
[0155] 可以基于从系统500的第二设备获得的词语来控制系统500的第一设备的操作。 例如,第一设备可以由用户(第一人)携带,而第二设备可以由第二人携带。第二人可以是 例如第一人的家庭成员、朋友或同事。查询Ql可以包括与第二设备的状态有关的和/或与 第二人的日历有关的一个或多个词语。系统现在可以基于查询Ql来提供预测0UT1。系统 可以基于预测OUTl来提议功能的激活。
[0156] 例如,如果第二设备已经被设置成静音模式,则系统500可以基于预测建议联系 第二人的优选方式是例如SMS消息或电子邮件消息,而非进行电话呼叫。经验矩阵EXl可 以存储同时出现数据,其指示在第二设备已经被设置成静音模式时进行电话呼叫的尝试几 乎从来没有成功过。经验矩阵EXl可以存储同时出现数据,其指示第二设备的用户有时立 刻对电子邮件消息作出响应,即使第二设备已经被设置成静音模式。因此,当第一设备的用 户尝试与第二人进行电话呼叫时,系统500可以提议激活用于向第二设备发送消息(例如, SMS消息或电子邮件)的应用。
[0157] 图8a至图8c示出用于通过使用预测来控制通信系统的操作的示例。
[0158] 系统500的经验矩阵EX可以通过使用图8a所示的口袋BAG4至BAG9来更新。在 这个示例中,口袋BAG4和BAG7包含词语"会议"、"人物A"和"静音模式"。口袋BAG5和 BAG8包含词语"会议"、"人物B"和"与人物C的电话会议"。口袋BAG6和BAG9包含词语 "会议"、"人物C"和"标准模式'口袋BAG4至BAG9也包含规定一周的时间和日期的词语。
[0159] 参考图8b,系统500可以基于日历中的标记确定例如与人物A的会议预定在9:00 开始。
[0160] 基于经验,词语"会议"和"人物A"通常与词语"静音模式"一起出现。这一同时 出现词语已经被存储在经验矩阵EXl中。系统500的客户可以形成包含词语"9:00"、"会 议"、"人物A"的查询Q1。子系统400可以基于查询Ql通过使用包括图8a的同时出现数据 的经验矩阵EXl来提供预测。在这一示例中,由子系统400提供的预测可以包括例如词语 "静音模式"。查询Ql的词语指定的时间和/或数据也对预测结果有影响。例如,在特定时 间和/或日期举行的会议可以看起来与例如"播放视频"关联。然而,在这一示例中,口袋 的日期和时间被分布成使得不可能检测关联的种类。
[0161] 当会议要开始时(例如,在时间8:59),系统500可以提议将操作模式 ("profile"(设置))改为静音模式例如以避免来电呼叫中断会议。可以向用户显示一个 或多个信息字段Fl至F4。字段Fl可以提议改为静音模式。用户可以例如通过触摸(虚 拟)键Bl或B2来尝试或拒绝提议。在实施例中,可以省略键B2。如果用户在预定时间段 内没有触摸键B2,则系统可以自动改为静音模式。在实施例中,可以省略键B1。如果用户 没有触摸键B1,则系统可以继续在标准模式下操作。在实施例中,可以省略两个键Bl、B2。 用户先前已经授权系统自动地基于预测来设置操作模式。
[0162] 字段F2至F4可以显示辅助信息。字段F3可以可选地显示例如实际时间。字段 F2可以可选地显示例如下一相关事件(例如,与人物A进行会议)。字段F4可以可选地显 示例如日历视图。除了设置操作模式,系统500还可以基于预测来控制显示字段Fl至F4 和/或显示键B1、B2。
[0163] 由于基于预测控制操作,所以用户现在可以通过仅触摸一个键来将系统设置成静 音模式。在实施例中,用户不需要做任何事情就能够将系统设置成静音模式。
[0164] 在没有预测的情况下,用户可能需要从系统的菜单结构中寻找合适的菜单以将系 统设置成静音模式。通常,这一操作可能需要在用户界面501的菜单结构的菜单中进行和 确认若干选择。
[0165] 参考图8c,系统500可以基于日历中的标记来确定例如与人物B的会议预定在 13:00开始。基于经验,词语"会议"和"人物B"通常与词语"与人物C的电话会议"一起出 现。这一同时出现数据已经存储在经验矩阵EXl中。
[0166] 系统500的客户可以形成包含词语"9:00"、"会议"、"人物B"的查询Q1。子系统 400可以基于查询Ql通过使用包括图8a的同时出现数据的经验矩阵EXl来提供预测。在 这一示例中,子系统400提供的预测可以包括例如词语"与人物C的电话会议"。在会议要 开始时(例如,在时间12:59),系统500可以提议开始与人物C的电话会议。可以向用户显 示一个或多个信息字段Fl至F4。字段Fl可以提议开始与人物C的电话会议。用户可以例 如通过触摸(虚拟)键Bl或B2来尝试或拒绝提议。
[0167] 如果用户接受提议,则系统可以自动开始电话会议。这可以包括自动激活照相模 块用于捕捉用户的视频图像。这可以包括(自动)打开与远程位置处的人物C的界面的视 频通信链路和/或音频通信链路。
[0168] 在实施例中,可以省略键B2。如果用户在预定时间段内没有触摸键B2,则系统可 以自动打开电信链路。在实施例中,可以省略B1。如果用户没有触摸键B1,则系统不打开 电信链路。在实施例中,可以省略两个键B1、B2。用户先前已经授权系统自动地打开电信 链路。
[0169] 由于基于预测控制操作,所以用户现在可以通过仅触摸一个键来打开通信链路。 在实施例中,用户不需要做任何事情就能够打开通信链路。
[0170] 在没有预测的情况下,用户可能需要从系统的菜单结构中寻找合适的菜单以打开 电信链路。通常,这一操作可能需要在用户界面501的菜单结构的菜单中进行若干选择并 且确认这些选择。
[0171] 图8d示出用于更新经验矩阵EX以及用于基于预测来控制系统的方法步骤。在步 骤705,可以将已安排事件或实际事件存储在系统的存储器中。具体地,可以由用户或另一 人经由例如界面501向存储器添加日历事件。在步骤710,用户或另一人可以设置系统的与 步骤705中提及的事件关联的操作模式。在步骤715,用户或另一人可以开始和/或停止与 步骤705中提及的事件关联的一个或多个应用。在步骤720,可以将描述事件、操作模式和 /或应用的词语收集到口袋中。可以通过使用口袋来更新系统500的经验矩阵EX1。代表 先前事件的同时出现数据在这一步骤之前已经存储为矩阵EXl的(稀疏)矢量,S卩,矩阵在 步骤720之前不必为空。可以将步骤705至720重复若干次以收集与若干不同事件有关的 同时出现数据。
[0172] 在步骤750,系统可以形成包括描述事件的词语的查询Ql。查询Ql还可以包括指 定与事件关联的附加信息例如与事件关联的人员的身份的词语。在步骤755,子系统400 可以通过使用查询Ql和先前存储在经验矩阵EXl中的矢量来提供预测。在步骤760,系统 500可以提议开始和/或停止一个或多个应用,和/或其可以提议基于预测来设置操作模 式。在步骤765,系统可以向用户请求执行在步骤760中提议的动作。在实施例中,用户可 能已经预先给予允许。在步骤770,用户给出的响应可以被记录在存储器中并且用于更新经 验矩阵EX1。具体地,可以将描述响应的词语连同与查询Ql有关的一个或多个其他词语收 集在同一口袋中。口袋的词语可以用于更新经验矩阵EX1。在步骤755,可以根据预测设置 操作模式,如果这在步骤765被用户接受。在步骤780,可以根据预测开始和/或停止一个 或多个应用,如果这在步骤765被用户接受。
[0173] 步骤705至780可以重复若干次。步骤705至780在属于系统500的便携式设 备的寿命期间每天重复例如若干次。寿命可以是若干年,例如,多于三年。因此,经验矩阵 EXl实际上可以包含代表例如多于1000个事件的同时出现数据(代表多于1000个口袋的 数据)。
[0174] 包含经验矩阵EXl的存储器MEM2可以包括在用户所携带的第一便携式设备中。第 一便携式设备可以被称为例如智能电话和/或便携式计算机(其可以具有无线通信功能)。 第一便携式设备可以是例如图11所示的设备1260、1251、1250中的一个。
[0175] 迟早,第一便携式设备可能变得过时。其可能被丢掉,或者其可能坏掉。可以将经 验矩阵EXl的拷贝(备份)存储在系统500中的与存储器MEM2的位置远离和/或分离的 位置处。如果需要,可以很容易地将包含先前数据的经验矩阵EXl拷贝至一个或多个便携 式设备。
[0176] 可以将经验矩阵EXl从第一人的设备拷贝至第二人的设备。可以将经验矩阵EXl 从第一设备传送或拷贝至另一设备,例如经由互联网、经由电缆、经由光缆、经由射频链路、 经由移动电话网络、或通过使用存储经验矩阵EXl的物理存储器(S卩,计算机存储器产品)。 拷贝可以与支付关联,即,经验矩阵EXl也可以作为单个产品与用于将数据收集到矩阵EXl 中的原始系统500分离地出售。经验矩阵EXl可以整体或部分从一个设备传送至另一设备, 并且可以而非必须部分或整体代替目的矩阵。例如,用户可以接收与度假旅行有关的经验 矩阵的更新,如与ItalianAlps有关的信息。
[0177] 经验矩阵EXl中所存储的数据在查询Ql包含用于更新经验矩阵EXl的相同的或 相似的词语时很可能很有用。经验矩阵EXl中所存储的先前数据仅在如下某些类型的系统 中可能是可用的,其中数据在第二类型的系统中可能基本上无用,第二类型的系统在根本 不同的环境下使用不同的查询词语和/或操作。例如,仅包括与专业会议有关的数据的经 验矩阵EXl对于预测用户希望在其闲暇时间观看哪些视频剪辑而言不可能很有用。
[0178] 图9a示出如何通过使用哈希表来表达经验矩阵EX。经验矩阵EXl的大部分元素 eiik为零元素。经验矩阵EXl的若干矢量可以是零矢量。在这种情况下,存储零值不需要 使用存储空间。词汇表VOCl可以是哈希表,其中词汇表VOCl中的每个词语可以用作密钥。 词汇表VOCl中的实体指向值阵列INDH,其包含经验矩阵EXl的非零元素的实际值。例如, 单个词语wk可以指向包含经验矩阵EX的矢量Vk的非零元素的值的值阵列INDHk,所述矢量 Vk与词语wk关联。值阵列INDHk的所有元素可以都为非零。
[0179] 可以使用第二哈希表CAHl来保持对经验矩阵的包含非零元素的这些列的跟踪。 第二哈希表CAHl可以被称为例如"列激活的哈希表"。第二哈希表CAHl可以使用列编号 (i)作为键。第二哈希表中的实体指向出现阵列0CCL,其又可以包含对经验矩阵EXl的每 个列做出贡献的一系列行编号(k)个词语(Wk)。例如,同时出现阵列OCCLi可以包含用于 指示在列i并且在行h、k2、k3的元素e为非零的行号h、k2、k3。
[0180] 哈希表V0C1、CAH1、值阵列INDH的组以及出现阵列OCCL的组可以一起全部指定 经验矩阵EXl的非零元素的值和位置。
[0181] 值阵列INDH可以仅包含经验矩阵EXl的单个矢量的非零元素的值。不需要指定 经验矩阵EXl的包含所述非零值的列的索引,因为这一信息可以从指向与所述值阵列INDH 关联的词语的出现阵列取得。然而,除了非零元素的值,值阵列INDH可以包含附加信息,例 如,经验矩阵EXl的包含非零值的列的索引。值阵列INDH可以一起形成值矩阵。出现阵列 OCCL可以一起形成出现矩阵。
[0182] 图9b示出用于更新用哈希表所代表的经验矩阵EXl的方法步骤。在这种情况下, 可以使用词汇表VOCl中所包含的预定的词语组以避免改变经验矩阵EXl的行编号。可以 忽略不属于所述预定词汇表VOCl的词语。在步骤810,可以接收词语口袋。在步骤830,可 以检查词汇表VOCl中是否包含口袋的词语。可以在步骤820忽略没有包含在词汇表VOCl中的词语,以避免改变经验矩阵EXl的行编号。在步骤840,可以通过使用词汇表VOCl和基 本稀疏矢量RMl来确定代表口袋的每个词语的基本稀疏矢量(参见图la)。备选地,可以给 单个口袋的每个词语分配共同(g卩,相同的)稀疏矢量(参见图4a)。可以通过使用基本稀 疏矢量来更新值阵列INDHk中所存储的与口袋的词语Wk关联的元素值。可以使用图Ia至 图2所描述的更新方法或者图4a至图4b所描述的更新方法。单个元素值可以被增加、减 小,或者具有其先前值。在更新操作之后,元素的值可以变为零。在这种情况下,可以将元 素从矩阵代表移除以节约存储器,或者其可以留在零值。
[0183]还需要在更新期间增加经验矩阵EXl的矢量的非零元素的数目。因此,可以增加 值阵列INDHk的长度以存储附加值。值阵列INDHk中所存储的值的位置的顺序可以与所述 值阵列所代表的经验矩阵EXl的矢量的顺序相同。这表示也可以向值阵列INDHk的中间和 /或向值阵列INDHk的端部添加元素。
[0184] 在步骤860,可以根据新的元素更新哈希表CAHl和出现阵列0CCL,其可能被添加 至值阵列INDH。如果非零值被存储在先前为零列的列(i)中的元素ei;k中,则可以更新哈 希表CAHl以包含指向出现阵列OCCL的指针,其又包含指向使用列⑴的词语的一个或多 个指针。哈希表V0CUCAH1以及阵列INDH和OCCL包含经验矩阵EXl的同时出现数据。可 以通过使用哈希表VOCl、CAHl以及阵列INDH和OCCL用哈希表格式来代表经验矩阵EXl。
[0185] 图9c示出用于通过使用经验矩阵EXl来进行预测的方法步骤。根据图9a可以用 哈希表格式代表经验矩阵EXl。在步骤910,可以接收包含一个或多个查询词语Ql、Q2的查 询。在步骤920,可以通过使用词汇表VOCl来识别经验矩阵EXl的与每个查询词语Ql、Q2 关联的矢量v。当用哈希表格式代表经验矩阵EXl时,可以用阵列INDH来指定矢量的非零 值。
[0186]在步骤930,可以形成查询矢量QV1。在单个查询词语Ql的情况下,可以使用经验 矩阵EXl的关联矢量作为查询矢量QV1。在查询包括两个或多个查询词语Q1、Q2的情况下, 可以将查询矢量QVl形成为在步骤930识别的矢量的线性组合。具体地,可以将查询矢量 QVl形成为在步骤930识别的矢量之和。
[0187] 在步骤940,可以将在步骤930确定的查询矢量QVl与经验矩阵EXl的矢量比较。 比较可以包括计算查询矢量QVl与经验矩阵EXl的每个矢量之间的差异。在用哈希表格式 代表经验矩阵EXl的情况下,可以用阵列INDH指定矢量的非零值。在步骤950,可以选择与 和查询矢量QVl的差异最小的一个或多个矢量关联的一个或多个词语,并且将其提供为预 测词语。如上所述,预测词语可以用于控制系统500的操作。
[0188] 图IOa示出基于一个或多个原始词语Tl生成一个或多个辅助词语T2至T6。在更 新经验矩阵EXl时和/或在进行预测时,使用辅助词语而非原始词语或者使用辅助词语以 及原始词语有时可能更有用。
[0189] 原始词语可以是例如串"2012年1月2日09:03"。原则上,可以将另一基本相同 的串"2012年1月2日09:04"理解为完全不同的词语。这可能降低更新和使用经验矩阵 EXl的效率。更新操作的目的可能是例如收集同时出现数据,其使得能够进行预测动作,这 些预测动作很可能在一周的某天执行。出于这一目的,可以用辅助词语T5代替原始词语 "2012年1月2日09:03",其指定与日期2012年1月2日对应的一周的一天(星期一)。 可以通过使用例如日历根据原始词语确定辅助词语T5。
[0190] 原始词语"2012年1月2日09:03"中所包含的时间表达出于某些目的可以具有 过高的时间分辨率。例如,如果旨在预测何时将是开始例如病毒扫描应用的合适时间(这 可能消耗电池电力和数据处理资源),可以确定辅助词语Τ6,使得辅助词语Τ6根据原始词 语"2012年1月2日09:03"而用较低分辨率代表时钟时间(例如,"上午")。辅助词语可 以例如通过使用词典和/或通过使用量化器(分类器)来提供。
[0191] 例如,以下词语可以用来代表时间:
[0192] 时间://深夜(用来代表从00:16到04:00的时间)
[0193] 时间://黎明(用来代表从04:01到06:00的时间)
[0194] 时间://上午(用来代表从06:01到11:45的时间)
[0195] 时间://中午(用来代表从11:46到12:15的时间)
[0196] 时间://下午(用来代表从12:16到17:00的时间)
[0197] 时间://傍晚(用来代表从17:01到19:00的时间)
[0198] 时间://晚上(用来代表从19:01到23:45的时间)
[0199] 时间://午夜(用来代表从23:46到00:15的时间)
[0200] 原始词语可以指定例如位置。位置可以例如通过使用GPS坐标和/或通过提供位 置的名称来指定。可以例如通过使用电子地图根据原始词语来确定指定位置的一个或多个 辅助词语。地图可以例如从互联网下载。一个或多个辅助词语可以由远程(互联网)服务 来提供。
[0201] 例如,系统500的第一设备可以位于被称为"Vantaa"(芬兰语)的地方,系统500 的第二设备可以位于被称为"Espoo"(芬兰语)的地方。例如,可以例如通过使用电子地 图或位置词典而根据词语"Vantaa"来确定辅助词语"芬兰南部"或"芬兰的首都地区"。例 如,可以例如通过使用电子地图或位置词典而根据词语"Espoo"来确定辅助词语"芬兰南 部"或"芬兰的首都地区"。由于公共辅助词语,因此可以将第一设备收集的同时出现词语 用于提供与第二设备的用户有关的预测。
[0202] 系统500的用户也使位置与名称关联。例如,用户携带的便携式设备可以例如通 过GPS导航单元确定其位置,并且设备也可以请求用户给出所检测的位置的名称。随后可 以将用户给出的名称用作与所述(GPS)位置关联的词语。名称可以是例如"家"、"学校"、 "大学"、或"工作地点"。可以通过令牌和/或解析而根据原始词语形成一个或多个辅助词 语T2、T3、T4。辅助词语T2至T6可以用在口袋中,代替使用原始词语Tl或与原始词语Tl 一起使用。也可以基于较窄统一资源定位符(URL)来确定较宽URL。具体地,可以基于互联 网的较窄URL确定互联网的较宽URL。
[0203] 参考图10b,可以基于具有较窄语义含义的原始词语SPECl( "种")来确定具有较 宽语义含义的辅助词语GEN1( "属")。可以通过使用(语义)词典DCl而根据原始词语 SPECl确定具有较宽语义含义的辅助词语GEN1( "属")。例如,可以基于原始词语"披萨" 确定词语"餐食"或"食物"。词典DCl可以从例如(互联网)服务下载。可以由远程服务 基于被传送给服务的原始Ciudad来提供辅助词语GENl。系统可以被配置成确定原始词语 的语义祖先GEN1。随后可以将语义祖先GENl用作口袋中的词语或者查询的部分。
[0204] 也可以基于具有较宽语义含义的原始词语("属(通过使用词典)来确定具有 较窄语义含义的辅助词语("种")。系统可以被配置成确定原始词语的语义后代。这一操 作可以用于存储同时出现数据,例如在词汇表VOCl中不包含原始词语但是词汇表VOCl中 包含具有较窄语义含义的术语的情况下。例如,可以基于原始词语"晚上"生成词语"接近 9PM"。然而,这一操作有时可能涉及部分添加错误信息的风险。
[0205] 图11、图12a和图12b示出用于使用经验矩阵来确定情境(或进行预测)的系统 和设备。可以通过一个或多个服务器以及一个或多个用户设备在单个设备中、在彼此连接 的多个设备中、或者例如在网络服务框架中确定情境。
[0206] 图11通过示例的方式示出用于将同时出现数据收集、存储在经验矩阵中以及使 用经验矩阵中的同时出现数据的系统500。可以基于通过使用被存储为经验矩阵EXl中的 矢量的同时出现数据而确定的预测来控制系统500的操作。系统500可以包括用于更新经 验矩阵EXl和用于提供预测的一个或多个子系统400。图7a和图7f示出了子系统400的 示例。系统500可以包括单个设备,或者系统500可以包括被布置成彼此通信的多个设备。 子系统400可以用单个设备或者被布置成彼此通信的多个设备来实现。系统500可以包括 具有一个或多个服务器以及一个或多个用户设备的网络服务框架。子系统400可以用具有 一个或多个服务器以及一个或多个用户设备的网络服务框架来实现。
[0207] 图11示出包括经验矩阵的系统。在图11中,可以经由固定网络1210如互联网或 局域网、或者移动通信网络1220如全球移动通信系统(GSM)网络、第三代(3G)网络、第3. 5 代(3. 5G)网络、第四代(4G)网络、无线局域网(WLAN)、Bluetooth?或其他同时代的和未 来的网络来连接不同的设备。不同的网络借助于通信接口 1280彼此连接。网络包括用于 处理数据的网络元件如路由器和交换机(未示出)、以及通信接口如基站1230和1231,以 向网络提供对于不同设备的访问,并且基站1230U231本身经由固定连接1276或无线连接 1277连接至移动网络。
[0208] 可以存在大量连接至网络的服务器,并且在图11的示例中,示出了服务器1240,、 服务器1241和服务器1242,服务器1240用于提供网络服务如社交媒体服务、新闻站点、音 乐存储或照片存储/共享服务并且连接至固定网络1210,服务器1241用于提供其他服务如 数据存储和备份服务或者用于存储和共享经验矩阵的服务并且连接至固定网络1210,服务 器1242用于提供与上述不同的或者相同的服务并且连接至移动网络1220。以上设备中的 一些例如服务器1240、1241、1242可以是这样,它们与固定网络1210中驻留的通信元件构 成互联网。可以将经验矩阵存储在服务器1240、1241、1242中的一个或多个服务器中或者 分布在这些服务器之间,例如使得经验矩阵的一些矢量可以存储在一个服务器中而一些矢 量可以存储在另一服务器中。可以有大量经验矩阵存储在这些服务器中的任何服务器中, 例如,来自不同用户和/或用于不同目的。服务器1240、1241、1242中的一个或多个服务器 可以提供服务或者具有修改经验矩阵的能力,例如通过用另一种方式教导、修改、重新定尺 寸或组合。服务器1240、1241、1242中的一个或多个服务器可以提供服务或者具有使用经 验矩阵(例如,通过确定情境)进行预测的能力。
[0209] 也存在大量端用户设备如移动电话和智能电话1251、互联网访问设备(互联网平 板)1250、各种大小和版本个人计算机1260、电视机和其他观看设备1261、视频解码器和播 放器1262以及摄像机1263和其他编码器如用于音频捕获的数字麦克风。这些设备1250、 1251、1260、1261、1262和1263也可以由多个部分构成。各种设备可以经由通信连接如与 互联网的固定连接1270、1271、1272和1280、与互联网1210的无线连接1273、与移动网络 1220的固定连接1275、以及与移动网络1220的无线连接1278U279和1282连接至网络 1210和1220。连接1271至1282可以借助于通信连接的各个端部处的通信接口来实现。各 种端用户设备可以在其存储器中具有一个或多个经验矩阵或者经验矩阵的部分。各种端用 户设备可以具有修改经验矩阵和/或使用经验矩阵进行预测的能力。
[0210] 需要理解的是,不同的实施例允许不同的部分在不同的元件中来实现。例如,软 件应用的执行可以完全在一个用户设备如1250U251或1260中、或者在一个服务器设备 1240、1241或1242中来执行,或者在多个用户设备1250、1251、1260之间来执行,或者在多 个网络设备1240、1241或1242之间来执行,或者在用户设备1250、1251、1260以及网络设 备1240、1241或1242二者之间来进行。例如,通过用户界面捕获用户输入可以在一个设备 中发生,数据处理和向用户提供信息可以在另一设备中发生,情境处理的控制和管理可以 在第三设备中进行。作为另一示例,形成经验矩阵可以在一个设备(或多个设备)中发生, 处理经验矩阵可以在一个设备处发生,进行预测可以在另一设备处发生。不同的应用元素 和库可以实现为驻留于一个设备上或者分布在若干设备之间的软件部件,如上所述,例如, 使得设备形成所谓的云。用户设备1250、1251或1260也可以用作网络服务服务器,正如各 种网络设备1240、1241、和1242。这个网络服务服务器的功能也可以分布在多个设备之间。
[0211] 不同的实施例可以实现为在移动设备上运行的以及可选地在提供基于网络的服 务的设备上运行的软件。移动设备可以至少配备有存储器或者多个存储器、一个或多个处 理器、显示器、小键盘、运动检测硬件和通信装置如2G、3G、WLAN或其他。不同的设备可以具 有硬件如触摸屏(单触摸或多触摸)和用于定位的装置如网络定位或全球定位系统(GPS) 模块。它们可以是设备上的各种应用,如日历应用、联系人应用、地图应用、消息应用、浏览 器应用、图库应用、视频播放应用和用于办公室和/或私人用途的各种其他应用。不同的设 备可以具有例如用于确定物理属性或者环境或设备的状态如温度、时间、湿度、发光、音量、 气压、位置和运动的各种传感器。
[0212] 用户设备1251可以包括用户界面501。用户可以经由界面501接收信息。用户可 以通过经由用户界面501给出命令来控制设备1251和/或系统500的操作。用户界面可 以包括硬件例如显示器、小键盘和/或触摸屏。用户界面可以包括用于观看屏幕上所显示 的图形元素的显示屏。用户界面还可以包括例如用于在触摸屏上显示各种不同的虚拟键的 软件应用。
[0213] 用户界面501可以在例如固定或可移动设备中实现,其可以包含被布置成基于手 势识别来接收来自用户的命令的相机。设备可以包括被布置成基于语音识别接收来自用户 的命令的麦克风。用户不需要(机械)接触用户界面501的部分。
[0214] 用户界面501还可以在如下设备中实现,其可以例如被缠绕在用户的手腕周围 (即,腕表型设备)。用户界面501可以在例如护目镜(眼镜)中来实现,其可以包括例如 用于显示信息的虚拟显示器和/或用于通过遵循其凝视方向来接收来自用户的命令的凝 视方向检测器。
[0215] 系统500可以被配置成执行多种任务。可以在系统中运行程序代码以执行这些任 务。这些任务可以包括例如创建文本、接收和发送消息、播放音乐、捕获视频、接收新闻、接 收天气信息、更新和观看日历、浏览互联网和/或在城市的街道中导航等等。系统还可以包 括用于执行这些任务的一个或多个功能(物理)单元。作为功能单元,系统可以包括例如 摄像机、麦克风、音频重现单元、显示屏幕、图像投影装置、射频通信单元(WLAN、Bluet〇〇th、 NFC)、能够与移动通信网络通信的单元、GPS导航单元等。
[0216] 用于口袋的词语可以例如从一个或多个传感器Gl获得。传感器可以包括例如加 速度传感器、位置传感器、麦克风、无线电接收器、照度传感器、相机、红外辐射传感器、温度 传感器、气压传感器、磁罗盘。
[0217] 用户设备可以用可充电电池来供电。例如,用户设备可以由旅行的用户携带,使得 用户设备的电池仅偶尔被充电(即,不是任何时间)。所收集的同时出现数据可以例如揭示 用户通常在任何情况下激活能耗功能。所收集的同时出现数据可以例如揭示对电池重新充 电的可能性通常何时可用。
[0218] 在实施例中,可以偶尔例如从不可靠的主供电网络、从本地发电机、从太阳能电池 盒/或从风力涡轮机对电池操作的系统充电。同时出现数据可以揭示例如通常在哪种情况 下激活能耗功能。同时出现数据可以揭示能量的可用性通常如何取决于例如时间(例如, 白天或者晚上)、季节(冬季或夏季)、天气情况(刮风、无缝、晴天、非晴天)。同时出现数 据可以揭示主电力网络的故障通常什么时候出现。
[0219] 系统500可以包括不可中断电源(UPS)。在电力故障的情况下,可以基于子系统 400提供的预测将不需要的功能切断。
[0220] 词语可以是串。词语可以是数字。词语可以包括如下序列,该序列包括字母和/或 数字。词语可以包括用二进制、十进制或十六进制格式代表的ASCII代码的序列。词语可 以具有语义含义,但是并非必须如此。词语可以是统一资源标识符(URI)如统一资源名称 (URN)或统一资源定位符(URL)。词语可以是缩写或首字母缩写。"词语"还可以称为"标 记"。
[0221] 通过使用被称为口袋的词语组将同时出现词语收集至经验矩阵EX。词语口袋也可 以称为词语组或词语集合。
[0222] 可以通过使用经验矩阵EXl中所存储的同时出现数据来进行预测。"预测"也可以 包括确定代表当前事件或过去事件的词语,即并非必须指代未来的事件。预测可以表示估 计描述情形的最困难的词语。
[0223] 即使从大量的口袋收集数据,也不需要增加经验矩阵EXl的矢量的长度。在实施 例中,经验矩阵EXl可以包括从Nbc个口袋收集的同时出现数据,使得口袋(即,"文档")的 数目NBe基本上大于经验矩阵EXl的列的数目m。
[0224]词语的"情境"可以表示所述词语的语言环境,使得所述词语(本身)从所述环境 被排除。在这个意义上,词语不属于其自己的情境。
[0225]经验矩阵EXl的矢量和查询矢量QVl可以包括关于一个或多个词语的语言环境的 信息。经验矩阵EXl的矢量也可以被称为情境矢量。查询矢量QVl也可以被称为情境矢量。
[0226] 总之,词汇表VOCl的实体可以是包含一个或多个符号的串。
[0227] 在实施例中,词汇表VOCl的实体可以是数字而非自然语言词语。辅助表格的实体 可以是自然语言词语,并且辅助表格可以包含指向词汇表VOCl的数字的指针。可以通过使 用辅助表格将自然语言的词语映射至数字。可以通过使用辅助表格将数字映射至自然语言 的词语。辅助表格可以被称为例如自然语言词典。具体地,辅助表格可以是包含若干不同 自然语言的词语的多语言词典。通过使用多语言词典可以使第一自然元以内的第一词语 和第二自然语言的第二词语与词汇表VOCl的同相同的实体关联。通过使用多语言词典可 以使第一自然元以内的第一词语和第二自然语言的第二词语与词汇表VOCl的相同的数字 关联。多语言词典可以包括例如英语至数字词典、芬兰语至数字词典和/或德语至数字词 典。因此,可以与应用、芬兰语和/或德语词语一起使用相同的词汇表VOCl、相同的基本矩 阵RMl和/或相同的经验矩阵EXl。
[0228]表格1:用于使一个或多个自然语言的词语与数字关联的词典的示例

【权利要求】
1. 一种方法,包括: -形成用于与经验矩阵一起使用的词语的集合,其中所述词语描述系统的情境比如当 前网页,并且其中所述经验矩阵包括与词语关联的稀疏矢量, -访问所述经验矩阵的至少一个稀疏矢量的至少一部分以形成预测输出,以及 响应于所述预测输出而向用户提供对网页的建议。
2. 根据权利要求1所述的方法,包括: -形成用于收集词语的输入缓冲器以用于更新所述经验矩阵。
3. 根据权利要求1或2所述的方法,包括: -基于网络浏览器活动来形成所述预测输出。
4. 根据权利要求3所述的方法,包括: -基于页面加载完成来形成所述预测输出。
5. 根据权利要求1至4中任一项所述的方法,包括: -在后台中形成所述预测输出。
6. 根据权利要求1至5中任一项所述的方法,包括: -基于网络浏览器活动来更新所述经验矩阵。
7. 根据权利要求1至6中任一项所述的方法,包括: -形成预测列表,所述预测列表包括网页的图像或文本,以及 -基于网络浏览器活动来更新所述预测列表。
8. 根据权利要求1至7中任一项所述的方法,包括: -作为所述预测输出的结果,提供对其他有关数据而非网页的建议。
9. 根据权利要求1至8中任一项所述的方法,包括: -在形成所述经验矩阵时使用抽取元数据。
10. 根据权利要求1至9中任一项所述的方法,包括: -在形成所述预测时使用抽取元数据。
11. 根据权利要求1至10中任一项所述的方法,其中所述抽取元数据是国别化的。
12. 根据权利要求1至11中任一项所述的方法,其中所述抽取元数据为经验矩阵的形 式。
13. 根据权利要求1至12中任一项所述的方法,包括: -在形成所述预测时以加权方式使用站点内容和所述抽取元数据。
14. 一种计算机程序产品,包括一个或多个指令的一个或多个序列,所述一个或多个指 令的一个或多个序列在由一个或多个处理器执行时使系统执行根据以上权利要求中的任 一项所述的方法。
15. -种计算机程序产品,包括一个或多个指令的一个或多个序列,所述一个或多个指 令的一个或多个序列在由一个或多个处理器执行时使系统执行至少以下操作: -形成用于与经验矩阵一起使用的词语的集合,其中所述词语描述系统的情境比如当 前网页,并且其中所述经验矩阵包括与词语关联的稀疏矢量, -访问所述经验矩阵的至少一个稀疏矢量的至少一部分以形成预测输出,以及 -响应于所述预测输出而向用户提供对网页的建议。
16. 根据权利要求15所述的计算机程序产品,包括在由一个或多个处理器执行时使系 统执行至少以下操作的一个或多个指令的一个或多个序列: -形成预测列表,所述预测列表包括网页的图像或文本,以及 -基于网络浏览器活动来更新所述预测列表。
17. 根据权利要求15或16所述的计算机程序产品,包括在由一个或多个处理器执行时 使系统执行至少以下操作的一个或多个指令的一个或多个序列: -在形成所述经验矩阵时使用抽取元数据。
18. 根据权利要求15、16或17所述的计算机程序产品,包括在由一个或多个处理器执 行时使系统执行至少以下操作的一个或多个指令的一个或多个序列: -在形成所述预测时使用抽取元数据。
19. 一种用于控制计算机系统的操作的数据结构,所述数据结构包括具有稀疏高维矢 量的经验矩阵,所述矢量包括关于词语在至少一个系统或装置中的同时出现的信息,并且 所述经验矩阵已经至少部分地通过使用网站的抽取元数据而被形成。
20. 根据权利要求19所述的数据结构,其中所述抽取元数据是国别化的。
21. -种装置,包括至少一个处理器、至少一个存储器,所述至少一个存储器包括用于 一个或多个程序单元的计算机程序代码,所述至少一个存储器和所述计算机程序代码被配 置成与所述处理器一起使所述装置执行至少以下操作: -形成用于与经验矩阵一起使用的词语的集合,其中所述词语描述系统的情境比如当 前网页,并且其中所述经验矩阵包括与词语关联的稀疏矢量, -访问所述经验矩阵的至少一个稀疏矢量的至少一部分以形成预测输出,以及 -响应于所述预测输出而向用户提供对网页的建议。
22. 根据权利要求21所述的装置,还包括被配置成与所述至少一个处理器一起使所述 装置执行至少以下操作的计算机程序代码: -形成用于收集词语的输入缓冲器以用于更新所述经验矩阵。
23. 根据权利要求21或22所述的装置,还包括被配置成与所述至少一个处理器一起使 所述装置执行至少以下操作的计算机程序代码: -基于网络浏览器活动来形成所述预测输出。
24. 根据权利要求23所述的装置,还包括被配置成与所述至少一个处理器一起使所述 装置执行至少以下操作的计算机程序代码: -基于页面加载完成来形成所述预测输出。
25. 根据权利要求21至24中任一项所述的装置,还包括被配置成与所述至少一个处理 器一起使所述装置执行至少以下操作的计算机程序代码: -在后台中形成所述预测输出。
26. 根据权利要求21至25中任一项所述的装置,还包括被配置成与所述至少一个处理 器一起使所述装置执行至少以下操作的计算机程序代码: -基于网络浏览器活动来更新所述经验矩阵。
27. 根据权利要求21至26中任一项所述的装置,还包括被配置成与所述至少一个处理 器一起使所述装置执行至少以下操作的计算机程序代码: -形成预测列表,所述预测列表包括网页的图像或文本,以及 -基于网络浏览器活动来更新所述预测列表。
28. 根据权利要求21至27中任一项所述的装置,还包括被配置成与所述至少一个处理 器一起使所述装置执行至少以下操作的计算机程序代码: -作为所述预测输出的结果,提供对其他有关数据而非网页的建议。
29. 根据权利要求21至28中任一项所述的装置,还包括被配置成与所述至少一个处理 器一起使所述装置执行至少以下操作的计算机程序代码: -在形成所述经验矩阵时使用抽取元数据。
30. 根据权利要求21至29中任一项所述的装置,还包括被配置成与所述至少一个处理 器一起使所述装置执行至少以下操作的计算机程序代码: -在形成所述预测时使用抽取元数据。
31. 根据权利要求21至30中任一项所述的装置,其中所述抽取元数据是国别化的。
32. 根据权利要求21至31中任一项所述的装置,其中所述抽取元数据为经验矩阵的形 式。
33. 根据权利要求21至32中任一项所述的装置,还包括被配置成与所述至少一个处理 器一起使所述装置执行至少以下操作的计算机程序代码: -在形成所述预测时以加权方式使用站点内容和所述抽取元数据。
34. -种装置,包括: -用于形成用于与经验矩阵一起使用的词语的集合的装置,其中所述词语描述系统的 情境比如当前网页,并且其中所述经验矩阵包括与词语关联的稀疏矢量, -用于访问所述经验矩阵的至少一个稀疏矢量的至少一部分以形成预测输出的装置, 以及 -用于响应于所述预测输出而向用户提供对网页的建议的装置。
35. 根据权利要求34所述的装置,包括: -用于形成用于收集词语的输入缓冲器以用于更新所述经验矩阵的装置。
36. 根据权利要求34或35所述的装置,包括: -用于基于网络浏览器活动来形成所述预测输出的装置。
37. 根据权利要求36所述的设备,包括: -用于基于页面加载完成来形成所述预测输出的装置。
38. 根据权利要求34至37中任一项所述的装置,包括: -用于在后台中形成所述预测输出的装置。
39. 根据权利要求34至38中任一项所述的装置,包括: -用于基于网络浏览器活动来更新所述经验矩阵的装置。
40. 根据权利要求34至39中任一项所述的装置,包括: -用于形成预测列表的装置,所述预测列表包括网页的图像或文本,以及 -用于基于网络浏览器活动来更新所述预测列表的装置。
41. 根据权利要求34至40中任一项所述的装置,包括: -用于作为所述预测输出的结果提供对其他有关数据而非网页的建议的装置。
42. 根据权利要求34至41中任一项所述的装置,包括: -用于在形成所述经验矩阵时使用抽取元数据的装置。
43. 根据权利要求34至42中任一项所述的装置,包括: -用于在形成所述预测时使用抽取元数据的装置。
44. 根据权利要求34至43中任一项所述的装置,其中所述抽取元数据是国别化的。
45. 根据权利要求34至44中任一项所述的装置,其中所述抽取元数据为经验矩阵的形 式。
46. 根据权利要求34至45中任一项所述的装置,包括: 用于在形成所述预测时以加权方式使用站点内容和所述抽取元数据的装置。
47. -种系统,包括至少一个处理器、至少一个存储器,所述至少一个存储器包括用于 一个或多个程序单元的计算机程序代码,所述至少一个存储器和所述计算机程序代码被配 置成与所述处理器一起使所述系统执行至少以下操作: -形成用于与经验矩阵一起使用的词语的集合,其中所述词语描述系统的情境比如当 前网页,并且其中所述经验矩阵包括与词语关联的稀疏矢量, -访问所述经验矩阵的至少一个稀疏矢量的至少一部分以形成预测输出,以及 -响应于所述预测输出而向用户提供对网页的建议。
48. 根据权利要求47所述的系统,还包括被配置成与所述至少一个处理器一起使所述 系统执行至少以下操作的计算机程序代码: -形成用于收集词语的输入缓冲器以用于更新所述经验矩阵。
49. 根据权利要求47或48所述的系统,还包括被配置成与所述至少一个处理器一起使 所述系统执行至少以下操作的计算机程序代码: -基于网络浏览器活动来形成所述预测输出。
50. 根据权利要求49所述的系统,还包括被配置成与所述至少一个处理器一起使所述 系统执行至少以下操作的计算机程序代码: -基于页面加载完成来形成所述预测输出。
51. 根据权利要求47至50中任一项所述的系统,还包括被配置成与所述至少一个处理 器一起使所述系统执行至少以下操作的计算机程序代码: -在后台中形成所述预测输出。
52. 根据权利要求47至51中任一项所述的系统,还包括被配置成与所述至少一个处理 器一起使所述系统执行至少以下操作的计算机程序代码: -基于网络浏览器活动来更新所述经验矩阵。
53. 根据权利要求47至52中任一项所述的系统,还包括被配置成与所述至少一个处理 器一起使所述系统执行至少以下操作的计算机程序代码: -形成预测列表,所述预测列表包括网页的图像或文本,以及 -基于网络浏览器活动来更新所述预测列表。
54. 根据权利要求47至53中任一项所述的系统,还包括被配置成与所述至少一个处理 器一起使所述系统执行至少以下操作的计算机程序代码: -作为所述预测输出的结果,提供对其他有关数据而非网页的建议。
55. 根据权利要求47至54中任一项所述的系统,还包括被配置成与所述至少一个处理 器一起使所述系统执行至少以下操作的计算机程序代码: -在形成所述经验矩阵时使用抽取元数据。
56. 根据权利要求47至55中任一项所述的系统,还包括被配置成与所述至少一个处理 器一起使所述系统执行至少以下操作的计算机程序代码: -在形成所述预测时使用抽取元数据。
57. 根据权利要求47至56中任一项所述的系统,其中所述抽取元数据是国别化的。
58. 根据权利要求47至57中任一项所述的系统,其中所述抽取元数据为经验矩阵的形 式。
59. 根据权利要求47至58中任一项所述的系统,还包括被配置成与所述至少一个处理 器一起使所述系统执行至少以下操作的计算机程序代码: -在形成所述预测时以加权方式使用站点内容和所述抽取元数据。
【文档编号】G06F17/30GK104246757SQ201280072557
【公开日】2014年12月24日 申请日期:2012年2月22日 优先权日:2012年2月22日
【发明者】M·埃尔斯通, M·朗福尔斯, E·莫尼, I·贝茨特里, M·特尔霍 申请人:诺基亚公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1