系统、用于控制系统的数据结构和用于更新数据结构的方法

文档序号:6498508阅读:258来源:国知局
系统、用于控制系统的数据结构和用于更新数据结构的方法
【专利摘要】可以在矩阵中将例如表示在多个情形中观测的偏好和事实的同现数据存储为高维稀疏矢量的组合。矩阵可以例如称为经验矩阵。可以随后利用在经验矩阵中存储的数据例如用于预测用户在新情形中的偏好。可以通过如下方法更新可以在经验矩阵中存储的同现数据,该方法包括:基于系统的状态和/或基于传感器检测到的物理量来确定第一词,形成包括第一词和第二词的第一词组,将第一词和第二词与公共稀疏矢量关联,将第一词与矩阵的第一矢量关联,将第二词与矩阵的第二矢量关联,通过向矩阵的第一矢量添加公共稀疏矢量的贡献来修改矩阵的第一矢量,以及通过向矩阵的第二矢量添加公共稀疏矢量的贡献来修改矩阵的第二矢量。
【专利说明】系统、用于控制系统的数据结构和用于更新数据结构的方 法

【背景技术】
[0001] 电子设备、例如智能电话和计算机可以承载多个功能、例如用于不同需要的程序 以及用于定位、通信和娱乐的模块。可以用这些设备执行的任务的多样性庞大,并且个体任 务可能性质复杂。如今执行的大量工作借助计算机来完成。电子设备也已经变成日常生活 空闲时间的一部分。
[0002] 设备提供的多种功能可能使电子设备的用户不知所措。为此,设备可以提供对在 设备中的功能的外在和布置进行定制的方式,从而用户需要的功能是容易可及的。
[0003] 用户可以例如通过使用用户接口来定制设备。


【发明内容】

[0004] 本发明的一个目的是提供一种用于更新数据结构的方法。本发明的一个目的是提 供一种用于更新数据结构的计算机程序。本发明的一个目的是提供一种用于更新数据结构 的计算机程序产品。本发明的一个目的是提供一种用于更新和存储同现数据的装置。本发 明的一个目的是提供一种用于提供更新和存储同现数据的系统。本发明的一个目的是提供 一种用于存储同现数据的装置。本发明的一个目的是提供一种包含同现数据的数据结构。
[0005] 根据本发明的第一方面,提供一种方法,该方法包括:
[0006] -基于系统(500)的状态和/或基于传感器(Gl)检测到的物理量来确定第一词 (W1),
[0007] -形成包括第一词(W1)和第二词(W2)的第一词组(BAG1),
[0008] -将第一词(W1)与第一稀疏矢量(a)或者与公共稀疏矢量(Id1)关联,
[0009] -将第二词(W2)与第二稀疏矢量(a2)或者与公共稀疏矢量(Id1)关联,
[0010] -将第一词(W1)与矩阵(EXl)的第一矢量(V1)关联,
[0011]-将第二词(W2)与矩阵(EXl)的第二矢量(V2)关联,
[0012] -通过向矩阵(EXl)的第一矢量(V1)添加第二稀疏矢量(a2)的贡献或者公共稀 疏矢量(h)的贡献来修改矩阵(EXl)的第一矢量,以及
[0013] -通过向矩阵(EXl)的第二矢量(V2)添加第一稀疏矢量(?)的贡献或者公共稀 疏矢量(bj的贡献来修改矩阵(EXl)的第二矢量。
[0014] 根据本发明的第二方面,提供一种计算机程序(PROGl),该计算机程序(PROGl)在 由一个或者多个处理器(CNTl)执行时用于执行一种方法,该方法包括:
[0015] -基于系统(500)的状态和/或基于传感器(Gl)检测到的物理量确定第一词 (W1),
[0016] -形成包括第一词(W1)和第二词(W2J的第一词组(BAG1),
[0017]-将第一词(W1)与第一稀疏矢量(?)或者与公共稀疏矢量(Id1)关联,
[0018]-将第二词(W2)与第二稀疏矢量(a2)或者与公共稀疏矢量(Id1)关联,
[0019]-将第一词(W1)与矩阵(EXl)的第一矢量(V1)关联,
[0020] -将第二词(W2)与矩阵(EXl)的第二矢量(V2)关联,
[0021] -通过向矩阵(EXl)的第一矢量(V1)添加第二稀疏矢量(a2)的贡献或者公共稀 疏矢量(h)的贡献来修改矩阵(EXl)的第一矢量,以及
[0022] -通过向矩阵(EXl)的第二矢量(V2)添加第一稀疏矢量(?)的贡献或者公共稀 疏矢量(h)的贡献来修改矩阵(EXl)的第二矢量。
[0023] 根据本发明的第三方面,提供一种存储计算机代码(PROGl)的计算机可读介质 (MEM5),该计算机代码在由一个或者多个处理器(CNTl)执行时用于执行一种方法,该方法 包括:
[0024] -基于系统(500)的状态和/或基于传感器(Gl)检测到的物理量确定第一词 (W1),
[0025] -形成包括第一词(W1)和第二词(W2J的第一词组(BAG1),
[0026] -将第一词(W1)与第一稀疏矢量(a^或者与公共稀疏矢量(Id1)关联,
[0027] -将第二词(W2)与第二稀疏矢量(a2)或者与公共稀疏矢量(Id1)关联,
[0028] -将第一词(W1)与矩阵(EXl)的第一矢量(V1)关联,
[0029] -将第二词(W2)与矩阵(EXl)的第二矢量(V2)关联,
[0030] -通过向矩阵(EXl)的第一矢量(V1)添加第二稀疏矢量(a2)的贡献或者公共稀 疏矢量(h)的贡献来修改矩阵(EXl)的第一矢量,以及
[0031] -通过向矩阵(EXl)的第二矢量(V2)添加第一稀疏矢量(?)的贡献或者公共稀 疏矢量(h)的贡献来修改矩阵(EXl)的第二矢量。
[0032] 根据本发明的第四方面,提供一种装置(400,500,1251),该装置包括:
[0033] -第一存储器(MEMl),用于存储一组(BAGl)词(W1, W2),
[0034] -稀疏矢量供应(SUPl),用于提供稀疏矢量(ap a2, Id1),
[0035] -第二存储器(MEM2),用于存储矩阵(EXl)的矢量,以及
[0036] -组合单元(IXUl),用于通过添加与词(W1, W2)关联的稀疏矢量(&1,a2, bj的贡 献来修改矩阵(EXl)的矢量。
[0037] 根据本发明的第五方面,提供一种系统(400,500),该系统包括:
[0038] -第一存储器(MEMl),用于存储一组(BAGl)词(W1, W2),
[0039] -稀疏矢量供应(SUPl),用于提供稀疏矢量(&1,a2, Id1),
[0040] -第二存储器(MEM2),用于存储矩阵(EXl)的矢量,以及
[0041] -组合单元(IXUl),用于通过添加与词(W1, W2)关联的稀疏矢量(&1,a2, bj的贡 献来修改矩阵(EXl)的矢量。
[0042] 根据本发明的第六方面,提供一种用于存储同现数据的装置(400,500),所述装置 包括:
[0043] -用于存储数据的第一装置(MEMl),被配置为存储一组(BAGl)词(W1, W2),
[0044] -用于供应稀疏矢量的装置(SUPl),被配置为提供稀疏矢量
[0045] -用于存储数据的第二装置(MEM2),被配置为存储矩阵(EXl)的矢量,以及
[0046] -用于组合的装置(IXUl),被配置为通过添加与词(W1, W2)关联的稀疏矢量(叫, a2, bj的贡献来修改矩阵(EXl)的矢量。
[0047] 根据本发明的第七方面,提供一种用于控制计算机系统的操作的数据结构(EXl), 所述数据结构(EXl)包括作为与词表(VOCl)中的词关联的稀疏高维矢量而存储的同现数 据,所述矢量与来自下列组的至少三个类型的词关联:时间描述符词、位置描述符词、因特 网地址词、操作状态描述符词、品牌名称、用户电话簿姓名和传感器值词。
[0048] 根据本发明的第八方面,提供一种在非瞬态计算机可读介质上实现的计算机程序 产品,所述介质包括一个或者多个计算机可执行指令,该指令在由一个或者多个处理器执 行时使系统至少执行以下操作:
[0049] -基于系统的状态和/或基于传感器检测到的物理量来确定第一词,
[0050] -形成包括第一词和第二词的第一词组,
[0051] -将第一词与第一稀疏矢量或者与公共稀疏矢量关联,
[0052] -将第二词与第二稀疏矢量或者与公共稀疏矢量关联,
[0053] -将第一词与矩阵的第一矢量关联,
[0054] -将第二词与矩阵的第二矢量关联,
[0055] -通过向矩阵的第一矢量添加第二稀疏矢量的贡献或者公共稀疏矢量的贡献来修 改矩阵的第一矢量,以及
[0056] -通过向矩阵的第二矢量添加第一稀疏矢量的贡献或者公共稀疏矢量的贡献来修 改矩阵的第二矢量。
[0057] 根据本发明的又一实施例,该装置(400, 500,1251)可以包括:
[0058] -第一存储器(MEMl),用于存储一组(BAGl)词(W1, W2),
[0059] -稀疏矢量供应(SUPl),用于提供稀疏矢量(&1,a2, Id1),
[0060] -第二存储器(MEM2),用于存储矩阵(EXl)的矢量,以及
[0061] -组合单元(IXUl),用于通过添加与词(W1, W2)关联的稀疏矢量(ap a2, bi)的贡 献来修改矩阵(EXl)的矢量。
[0062] 根据本发明的又一实施例,组合单元(IXUl)被布置为通过形成矩阵(EXl)的第一 矢量与一个或者多个稀疏矢量(a 2,bi)的线性组合来修改第一矢量(V1)。
[0063] 根据本发明的又一实施例,第一稀疏矢量的非零元素的数目在4到1000的范围 中,并且其中第一稀疏矢量的非零元素的数目还在第一稀疏矢量的长度的0. 1%到10%的 范围中。
[0064] 根据本发明的又一实施例,该装置可以包括用以接收用于所述集(BAGl)的词(W3) 的接口(501)。
[0065] 根据本发明的又一实施例,该装置可以被配置为进行操作以使得第一词(W1)表示 在第一时间U1)的状态并且第二词(W2)表示在不同的第二时间(t2)的状态。
[0066] 根据本发明的又一实施例,该装置可以包括用于存储词表(VOCl)的存储器 (MEM3),其中稀疏矢量供应(SUPl)和/或组合单元(IXUl)和/或控制单元(CNTl)被配置 为通过使用词表(VOCl)来将词(WnW2)与稀疏矢量(ai,a 2)关联。
[0067] 根据本发明的又一实施例,稀疏矢量供应(SUPl)和/或组合单元(LCUl)和/或 控制单元(CNTl)被配置为忽略未被包含在词表(VOCl)中的词。
[0068] 根据本发明的又一实施例,稀疏矢量供应(SUPl)和/或组合单元(LCUl)和/或 控制单元(CNTl)可以被配置为在另一词是系统词、统一资源定位符(URL)或者被分类为词 表词的词时向词表(VOCl)添加该另一词。
[0069] 根据本发明的又一实施例,组合单元(LCUl)和/或控制单元(CNTl)可以被配置 为通过使用哈希表(V0C1,IND,CAHl,0CCL)来存储矩阵的值,使得矩阵(EXl)的矢量(V 1) 具有矩阵(EXl)的列(i)中的非零元素(eik),并且哈希表(OCCLi)包含标识词表(VOCl)中 的与矢量(V k)关联的词(Wk)的指针。
[0070] 根据本发明的又一实施例,控制单元(CNTl)可以被配置为通过使用日历、词典、 电子地图和/或符号化来从第一词(W 1, Tl)确定辅助词(T6)。
[0071] 根据本发明的又一实施例,该装置可以包括用于从设备(1240)向所述装置的存 储器(MEM2)复制矩阵(EXl)的矢量(V 1,V2)的接口。
[0072] 根据本发明的又一实施例,该装置可以包括被布置为基于检测到的环境条件来提 供一个或者多个词的一个或者多个传感器(NAVI,Gl)
[0073] 系统的状态以及可以使用系统的情形可以对用户的偏好和需要具有影响。
[0074] 根据本发明的一个实施例,可以在矩阵中存储表示在多个情形中观测的偏好和事 实的同现数据作为高维稀疏矢量的组合。矩阵可以例如称为经验矩阵或者上下文矩阵。在 经验矩阵中存储的数据可以随后例如用于预测用户在新情形中的偏好。
[0075] 系统可以能够通过运用一个或者多个应用(即通过执行程序代码)和/或通过激 活一个或者多个功能(物理)单元来执行各种任务。任务可以例如包括接收和发送消息、 播放音乐、更新日历、在因特网中浏览和/或在城市的街道中导航。系统可以例如包括用于 捕获图像的相机和/或用于确定位置的卫星导航单元。
[0076] 系统的用户可以通过使用用户接口来激活一个或者多个应用和/或功能单元。然 而有时可能需要大量连续输入命令以在系统的菜单结构中导航以便激活在给定的情形中 需要的功能。在复杂菜单结构中进行选择可能耗费时间。用户也可能在记忆相关菜单在系 统的菜单结构中驻留于何处时有困难。
[0077] 激活的应用和单元可能消耗系统资源。可以停止不需要的应用和单元以便向在给 定的情形中必需或者至少有用的应用分配更多资源。停止应用或者单元可能需要再次在系 统的菜单结构中导航。
[0078] 在一个实施例中,可以通过自动地呈现具有有限选项集合的菜单来有助于选择将 在情形中激活的应用和单元。可以基于通过利用在经验矩阵中存储的同现数据而确定的预 测向用户呈现系统的菜单。
[0079] 在一个实施例中,可以基于通过使用作经验矩阵EXl中的矢量存储的同现数据而 确定的预测来控制功能的激活和/或停止。系统可以基于从当前条件、以往条件和/或将 来条件导出的一个或者多个查询词自动地激活和/或去激活功能。因此,用户需要对向系 统给予命令投以更少关注。在一个实施例中,用户可以先前已经授权系统自动地激活/或 解激活功能而不特别地要求来自用户的权限。
[0080] 例如可以在处理大量同现数据时使用在经验矩阵中存储的数据,因为人类交互不 是解释数据而必需的。
[0081] 在一个实施例中,可以从无结构数据以无监督方式自动地提取语义信息。可以需 要很少或者无需预处理数据。可以需要很少或者无需人类交互。在一个实施例中,无需假 设有含义词的在先知识,从而使该方法易于应用于具有不同主题和结构性质的数据。
[0082] 在一个实施例中,系统无需存储对词的语义含义进行指定的数据。系统可以存储 该数据并且即使在无关于词的语义含义的知识的情况下也可以由该数据控制。

【专利附图】

【附图说明】
[0083] 在以下示例中,将参照示例实施例的附图更具体描述本发明的各种实施例,在附 图中:
[0084] 图Ia通过示例示出将词表示为基本稀疏矢量,
[0085] 图Ib通过示例示出词集(bag),
[0086] 图Ic通过示例示出用图Ib的集更新之后的经验矩阵,
[0087] 图2通过示例示出通过使用词集和图Ia的基本稀疏矢量来更新经验矩阵,
[0088] 图3a通过示例示出通过使用经验矩阵来提供预测,
[0089] 图3b通过示例图示确定在上下文空间中的矢量差,
[0090] 图3c通过示例示出通过使用经验矩阵来提供预测,
[0091] 图4a通过示例示出将词集表示为基本稀疏矢量,
[0092] 图4b通过示例示出通过使用词集和图4a的基本稀疏矢量来更新经验矩阵,
[0093] 图4c通过示例示出用图4a的集更新之后的经验矩阵,
[0094] 图5a通过示例示出将词收集到一个集,
[0095] 图5b通过示例示出将词收集到一个集,这些词表示不同时刻,
[0096] 图5b通过示例示出将词收集到一个集,这些词表示不同时刻,
[0097] 图6通过示例示出在包括经验矩阵的系统中收集和处理数据,
[0098] 图7a通过示例示出配置为通过使用经验矩阵来收集和处理数据的系统,
[0099] 图7b通过示例示出布置为提供词作为输出的传感器,
[0100] 图7c通过示例示出包括词哈希表和一组基本稀疏矢量的稀疏矢量供应,
[0101] 图7d通过示例示出包括一组基本稀疏矢量的稀疏矢量供应,
[0102] 图7e通过示例示出包括配置为生成基本稀疏矢量的随机数生成器的稀疏矢量供 应,
[0103] 图7f通过示例示出基于通过使用经验矩阵而进行的预测来控制的系统,
[0104] 图8a通过示例示出词集,
[0105] 图8b通过示例示出基于预测而控制的用户接口,
[0106] 图8c通过示例示出基于预测而控制的用户接口,
[0107] 图8d通过示例示出用于预备用于日历事件的系统的方法步骤,
[0108] 图9a通过示例示出将经验矩阵表示为一组哈希表,
[0109] 图9b通过示例示出更新图9a的经验矩阵,
[0110] 图9C通过示例示出使用图9a的经验矩阵用于进行预测,
[0111] 图IOa通过示例示出通过使用日历和/或通过使用词典来生成辅助词,
[0112] 图IOb通过示例示出通过使用词典将词替换为第二词,
[0113] 图11通过示例示出包括经验矩阵的系统,
[0114] 图12a通过示例示出具有用户接口的设备,并且
[0115] 图12b通过示例示出数据处理设备。

【具体实施方式】
[0116] 在下文中,将参照系统的环境以及随机编索引的框架描述本发明的若干示例实施 例。然而将注意本发明不限于这些使用或者备选。事实上,也可以在需要系统的语义处理 和适配的任何环境中使用实施例。
[0117] 可以基于先前情形中的词的同现将同现数据收集到经验矩阵中。经验矩阵可以包 含关于不同情形中的词的同现的历史数据。经验矩阵EXl可以包含多个稀疏矢量,这些稀 疏矢量又包含关于与系统有关的词的历史同现的信息。经验矩阵EXl可以包含一个或者多 个系统收集的"经验"。经验矩阵可以例如用来在与给定的情形有关的一个或者多个(其 它)词已知时"预测"可以在该情形中适用的适当动作或者操作模式。因此,系统可以通过 使用在系统的经验矩阵中存储的先前经验来基于观测的事实改变它的操作。
[0118] 在一个实施例中,可以通过使用在经验矩阵中存储的数据从一个或者多个查询词 确定一个或者多个预测词。可以随后至少部分地基于预测词控制系统。查询词可以是描述 当前情形的词。预测词可以是可能描述当前情形的词。可以存储同现数据作为经验矩阵EXl 的矢量。存储的同现数据可以随后用于进行预测。可能需要词表VOCl以在经验矩阵EXl 中存储同现数据并且利用在经验矩阵EXl中存储的同现数据。在一个实施例中,词表VOCl 也可以与称为基本矩阵RMl的另一矩阵结合使用。
[0119] 参照图la,词表VOCl可以包括一组不同的词W1, w2,... Wn。词表VOCl可以是哈 希表,该哈希表包含指向基本矩阵RMl的稀疏矢量的指针。稀疏矢量也可以称为随机索引 矢量(RI矢量)。因此,词表VOCl的每个词W 1, w2, ... Wn可以与基本稀疏矢量a2, ... an 关联。例如词wk(例如"会议")可以与基本稀疏矢量ak关联。可以存储基本稀疏矢量a。 a2, ... ak, ... an例如作为基本矩阵RMl的行。
[0120] 词表VOCl可以是哈希表,该哈希表通过使用词(例如wk)作为键来指示稀疏矢量 在基本稀疏矩阵RMl中的位置(例如行k)。
[0121] 矩阵RMl的每个基本稀疏矢量可以表示词。例如可以将基本矢量ak解释为以稀 疏矢量格式表示词W k。
[0122] 每个基本稀疏矢量ak由元素 Ruk, R2,k,...,Rik,..· Rm,k构成。在一个实施例中,矩 阵RMl的基本稀疏矢量a2, ... ak,... &11可以唯一和不同。基本矩阵RMl的每行可以是 与不同词关联的唯一基本稀疏矢量。
[0123] 每个基本稀疏矢量ak可以具有大量零元素并且仅有少数非零元素。例如基本稀 疏矢量a k可以具有例如10000个元素 R,其中二十个元素可以非零,并且9980个元素可以 是零。
[0124] 在一个实施例中,基本稀疏矢量ak的所有元素之和可以等于零。这可以最小化存 储器消耗,可以简化数学运算,和/或可以增加数据处理速度。具体而言,非零元素的50% 可以等于_1(负一),并且非零元素的50%可以等于1( 一)。换而言之,元素的值可以是-1、 0或者1,并且基本稀疏矢量ak可以是三元矢量。
[0125] 每个矢量81,&2,...&,,... &11可以由在多维空间中的点表示。更确切而言,每个矢 量a2, ... ak,... 8"可以在每个矢量的起始点位于相同点(例如原点)时由在相同多维 空间中的不同结束点表示。基本稀疏矢量ak的元素 R的数目m可以例如在范围100到IO6 中。基本稀疏矢量ak的非零元素 R的数目mnz可以在数目m的0. 1%到10%的范围中,所 述非零元素数目mnz也在4到IO3的范围中。增加总数m和/或非零元素数目11^可以允许 使用更大词表VOCl和/或可以提供更可靠预测。然而增加数目m和/或mnz也可能需要更 多存储器空间和更多数据处理能力。
[0126] Rik表示基本矩阵RMl的属于第i列和第k行的元素。在一个实施例中,矢量可以 是三元,并且个体元素 eik的值可以是以下_1、〇或者1之一。负的非零元素 R的数目可以 等于正的非零元素 R的数目,非零元素 R的值是整数。这可能最大化数据处理速度并且最 小化存储器使用。然而这不是必需的。例如基本稀疏矢量ak可以具有值为-0.5的十六个 元素 R和值为2的四个元素 R。
[0127] 在对矩阵RMl的矢量a2,. . . ak,. . . an进行相互比较时,可以随机地分布非零兀 素在基本稀疏矢量ak中的位置和基本稀疏矢量ak的非零元素的值。基本稀疏矢量也可以 称为随机索引矢量。这一随机性可以用高概率保证在多维空间中的表示基本稀疏矢量的点 相互不太接近。如果表示两个不同词的两个点相互太接近,则这可能导致在随后处理期间 的错误预测。在随机地分布位置和值时,这也可以用高概率保证词表VOCl的每个词与唯一 和不同基本稀疏矢量关联。在索引为随机时,很可能的是与两个不同词关联的基本稀疏矢 量正交或者接近正交。因此,所述基本稀疏矢量的点积以高概率等于零。词的这一伪正交 性即使在它们由稀疏矢量表示时仍保留每个词的唯一标识。词的这一伪正交性可以在经验 矩阵EXl中存储的每个词、事件或者唯一出现在经验矩阵EXl中被表示为稀疏矢量的组合 时保留词、事件和/或出现的唯一标识。例如可以按照字母表顺序排列词表的词。
[0128] 图Ib示出可以例如称为"集(bag) "的若干词的集合。集包括相互有关的两个或 者更多不同的词。在集中的词的数目可以例如在范围2到1000中。每个集也可以称为"文 档"。
[0129] 集表示词的同现。集可以用来训练系统。关于词的同现的信息可以存储于矩阵 EXl (图 lc、4b)中。
[0130] 集中的词可以例如描述在所述情形中使用的情形和/或系统。具体而言,词可以 表示观测的事实。
[0131] 例如第一个集BAGl可以包括词"工作"、"上午"和"邮件"。可以例如基于在系统 的日历中的标记来确定词"工作"。词"上午"也可以例如由系统的时钟提供。词"邮件"可 以与词"工作"和"上午"有关,例如因为系统已经检测到用户已经在词"工作"和"上午"描 述的情形中接收和/或发送了编写的消息。
[0132] 第二个集BGA2可以包括词"家"、"餐食"和"音乐"。可以例如在用户携带的导航 单元指示检测到的位置与称为"家"的位置匹配时提供词"家"。可以例如因为刚才已经经 由递送服务向位置"家"订购食物(例如披萨饼)而提供词"餐食"。系统可以被布置为例 如因为用户已经指令系统播放音乐而提供词"音乐"。
[0133] 词家、餐食和音乐可以例如表示在第一时刻h占主导的情形。词家、餐食和音乐 可以相互有关。如果这一词组合以往已经出现若干次,则它可以例如用来评估(预测)用 户希望在家里用餐时听音乐的可能性。例如便携设备可以被布置为在它确定用户正在家里 用餐时将它本身设置成音乐播放模式。
[0134] 第三个集BAG3可以包括词"工作"、"会议"和"静默"。可以例如基于在系统的日 历中的标记来确定词"工作"和"会议"。系统可以被布置为例如基于在用户的日历中包含的 信息提供状态描述符"工作"。系统也可以在用户的便携设备的位置与工作地点的位置匹配 时确定词"工作"。可以例如因为参加会议的用户已经将系统设置成静默模式而导出词"静 默"。具体而言,用户可以在电话在传入电话呼叫的情况下未生成可听报警时将移动电话设 置成操作模式。
[0135] 现在词工作、会议和静默可以表示在第二时刻t2占主导的情形。如果这一词组合 以往已经出现若干次,则它可以例如用来评估(预测)用户希望在工作时参加会议时将他 的便携设备设置成静默模式的可能性。例如用户的便携设备现在可以被布置为在它确定用 户正在参加会议时自动地建议设置成静默模式。
[0136] 参照图lc,可以将从观测的词的同现而导出的数据存储为可以例如称为"经验矩 阵"的矩阵EXl的矢量V 1, v2, ...,vk. .. vn。词表VOCl的每个词W1, w2, ... wn(也)可以与 经验矩阵EXl的稀疏矢量关联。可以将稀疏矢量Vl,v2, ...,vk. .. Vn例如存储为经验矩阵 EXl的行。
[0137] 词表VOCl可以与图Ia中相同(哈希表)。
[0138] 经验矩阵EXl的每个矢量可以是稀疏矢量与初始矢量的线性组合。
[0139] 具体而言,经验矩阵EXl的每个矢量可以是基本稀疏矩阵RMl (图la)的基本稀疏 矢量的线性组合。
[0140] 个体矢量Vk的元素 eik的数目η可以等于图Ia中所示个体基本稀疏矢量的元素 R 的数目η。可以根据集(图Ib)的内容执行稀疏矢量的组合。
[0141] 经验矩阵EXl可以包含从多个集BAGUBAG2获得的同现数据。在从集获得的同现 数据作为稀疏矢量的线性组合存储于经验矩阵EXl中时,这可以表示在压缩格式中存储同 现数据。
[0142] 在一个实施例中,个体矢量Vk的元素 eik的数目η可以明显小于获得矩阵EXl中 存储的同现数据的集的数目。
[0143] 不必在从新集添加新数据时改变元素 eik的数目η。这意味着可以通过使用从其 他集获得的同现数据来快速和容易地更新矩阵ΕΧ1。这也意味着矩阵EXl的大小(例如行 和列的数目)即使在通过使用从其他集获得的同现数据来更新矩阵EXl时仍然可以保持恒 定。
[0144] 然而在一个实施例中,可能不可能(仅通过使用词表VOCl和矩阵RMl、ΕΧ1)无歧 义地确定用于更新的集中的哪些集包含给定的词。在这一意义上,在矩阵EXl中存储集的 同现数据可以表示一种存储同现数据的有损方式。
[0145] 经验矩阵EXl可以初始地是零矩阵(空矩阵),但是这不是必需的。经验矩阵EXl 的若干矢量的初始值可以表现平滑空间变化。
[0146] 图2图示如何可以通过使用词集来更新经验矩阵ΕΧ1。词集可以例如是图Ib中所 示集BAGl。
[0147] 符号W1J2U具有大写字母)表示集BAGl的词。Wl,W2,…W n(具有小写字母) 表不词表VOCl的词。通常,集中的第一词%与词表中的第一词…不相同,但是有时词%可 以可能与词W 1相同。
[0148] 可以基于集中包含的词更新经验矩阵EXl的矢量。在更新期间,经验矩阵EXl的 矢量可以例如称为目标矢量。
[0149] 更新可以包括修改与集BAGl中的词(例如"邮件")关联的目标矢量(例如vP)。 集包含两个或者更多词W 1, W2, W3,...。在词W1, W2, W3属于相同集BAGl时,这指示词W1和 W2属于词W3的上下文以及其它方面。
[0150] 与第一词一起属于集的一个或者多个其它词可以视为属于第一词的上下文。词可 以例如表示系统的状态和/或外部条件。
[0151] 可以通过使用词表VOCl来标识经验矩阵EXl的与集BAGl中的词W3关联的目标 矢量v P。更具体而言,可以通过使用词表VOCl来确定经验矩阵EXl的与词W3的值(=wp, "邮件")关联的矢量 Vp(行)的位置。
[0152] 也可以通过使用词表VOCl来发现表示集BAGl中的其它词W1、W2的基本稀疏矢量 (例如a k+1和aj。
[0153] 向经验矩阵EXl添加集BAGl中的同现数据可以包括用修改的矢量替换与集BAGl 中的词W3关联的(第一)目标矢量vP,该修改的矢量是(第一)目标矢量Vp与表示集BAGl 中的其它词A、W2的基本稀疏矢量ak+1、an_i的线性组合。
[0154] 在一个实施例中,基本稀疏矢量ak+1、Blri可以与目标矢量V p简单地求和。换而言 之,在线性组合中使用的每个基本稀疏矢量ak+1、an_i的加权系数可以等于一。然而基本稀 疏矢量的加权稀疏也可以从一偏离以便加强或者减少所述基本矢量表示的词的贡献。加权 系数可以例如在范围〇. 1到10中。
[0155] 图2示出在基本矢量ap之上绘制的交叉。在通过使用基本矩阵RMl的表示矢量 来更新经验矩阵EXl时,可以组合矢量从而表示词W 3的基本矢量ap未对与所述词W3关联 的修改的目标矢量Vp有贡献。词总是与它本身同现。添加词的自有基本矢量的贡献不可 能向经验矩阵添加有意义的新数据。
[0156] 可以通过用修改的矢量替换第二目标矢量Vlri来修改表示集BAGl中的第二词(工 作,W 2)的第二目标矢量(例如图Ic中所示Vlri),该修改的矢量是第二目标矢量Vp与表示 集BAGl中的其它词W 1 (上午)、W3 (邮件)的基本稀疏矢量ak+1、aP的线性组合。
[0157] 如果集包含第三词,则可以通过用修改的矢量替换第三目标矢量vk+1来修改表示 集BAGl中的第三词(上午,W 1)的第三目标矢量(例如图Ic中所示vk+1),该修改的矢量是 第三目标矢量vk+1与表示集BAGl中的其它词W 2 (工作)、W3 (邮件)的基本稀疏矢量an_i、aP 的线性组合。
[0158] 如果集包含多于三个词,则可以通过分别添加集的其它词的贡献来更新与每个附 加词关联的目标矢量。
[0159] 可以分别通过使用第二个集中的词以及通过使用任何后续集中的词来更新矩阵。
[0160] 集BAGl中的两个或者更多词W1, W2, W3,...可以由系统(系统词)和/或客户端 (客户端词)提供。系统词可以例如是描述时间和/或位置的词。"客户端"可以例如是人 类用户、应用或者网络服务。客户端词可以例如是从人类用户和/或从运行软件应用获得 的词。词可以例如描述系统的状态。
[0161] 图3a示出通过使用经验矩阵EXl来进行预测。经验矩阵EXl可以例如是图Ic或 者4b中所示矩阵。
[0162] 可以通过使用经验矩阵EXl来预测表示系统的状态的一个或者多个词。预测方 法可以包括接收一个或者多个查询词Q 1, Q2,...(图3c示出通过使用两个查询词来进行预 测)。查询词Q1, Q2可以例如由系统和/或由客户端提供。在一个实施例中,客户端可以通 过发送一个或者多个查询词Q1, Q2来发起预测过程。可以通过使用词表VOCl来发现经验矩 阵EXl的与查询词Q1 (例如上午)关联的矢量vk。在单个查询词Q1的情况下,可以使用关 联矢量 Vk作为表示查询的查询矢量QVl。
[0163] 现在可以比较查询矢量QVl与经验矩阵EXl的矢量Vl,v2, · ... Vn以便标识经验矩 阵EXl的与查询矢量QVl基本上相似的一个或者多个矢量Vl,v 2, .... Vn。在比较期间,经 验矩阵EXl的矢量Vl,v2,.... Vn可以称为候选矢量。可以确定和提供与查询矢量QVl具有 最小差的矢量关联的一个或者多个词作为预测输出0UT1。预测方法可以包括确定在查询矢 量QVl与经验矩阵EXl的每个矢量V 1, v2,--vn之间的差。
[0164] 图3b图示多维空间中在查询矢量QVl和经验矩阵EXl的少数矢量的起始点(例 如在原点0RIG1)重合时的这些矢量。DM和DM'表示多维空间的两个维度(如以上讨论 的那样,空间的维度数目可以例如是IO 4或者更高)。如果两个矢量在多维空间中具有至少 近似相同的长度和至少近似相同的方向,则这可以被解释为指示所述两个矢量与在基本上 相似上下文中出现的两个词关联。如果所述词之一是用于系统的状态的有效描述符,则可 能的是另一词也是用于系统的状态的有效描述符。
[0165] DV (QVl,v)表示在查询矢量QVl与经验矩阵EXl的矢量V之间的差矢量。可以基 于查询矢量QVl和经验矩阵EXl的矢量V确定指示在查询矢量QVl和经验矩阵EXl的矢 量V之间的差的值。"差"可以例如由在查询矢量QVl和经验矩阵EXl的矢量V之间的角 度Θ表达。"差"可以例如由查询矢量QVl和经验矩阵EXl的矢量V之间的角度Θ的余 弦COS ( Θ )表达。可以通过使用等式I V I I QVl I COS ( Θ )= V · QVl根据点积计算两个矢量 V与QVi之间的角度θ的余弦(cos(0))。差可以例如由差矢量DV的欧几里得长度|dv 表达。差可以例如由矢量的点积QVl · V表达。
[0166] 差可以例如由差矢量Dv的欧几里得长度|dv|的平方|dv|2表达。差可以例如被 表达为差矢量DV的出租车长度(曼哈顿长度)表达。也可以在定义差矢量DV的长度时使 用其它度量。也可以在评估在矢量之间的差时使用其它度量。
[0167] 现在可以基于查询矢量QVl与经验矩阵EXl的矢量之间的差从词表VOCl选择一 个或者多个预测输出词。如果查询矢量QVl与候选矢量之间的差满足选择标准,则可以提 供与所述候选矢量关联的词作为预测词。
[0168] 可以相互比较差DV以便发现与查询矢量QVl偏离最小距离DV的稀疏矢量或者矢 量。具体而言,差DV可以被排序。可以提供与具有最小距离DV的稀疏矢量关联的词作为 预测方法的输出0UT1。该输出可以称为预测。也可以提供与具有最小距离DV的稀疏矢量 关联的若干词作为输出OUTl。例如可以提供与具有最小距离DV的候选矢量关联的N p个词 作为输出OUTl,其中整数Np可以例如在范围2到10中。
[0169] 在图3a的示例中,最小差值(|DV|2 = 6)与矢量VP、Vk和vn_2关联。如果将数目 Np设置为等于三,则可以提供词"邮件"、"会议"和"静默"作为预测词。
[0170] 已经知道查询词QpQ2描述情形。可以将查询词QpQ2从预测词OUTl排除。可以 在比较查询矢量QVl与经验矩阵EXl的其它矢量时将与查询词%、Q 2关联的矢量从比较中 排除。
[0171] 可以将一个或者多个预测词解释为对条件问题"如果已经通过一个或者多个(已 知)查询词%、Q2描述了情形,则哪一个或者哪些预测词OUTl可能描述该情形"的答案。
[0172] 在图3a的示例中,预测词是如从单个查询词Ql "上午"确定的"邮件"、"会议"和 "静默"。这些预测词中的一个或者多个预测词可以用于控制系统。
[0173] 例如系统可以在词"上午"可以描述的情形中自动地激活用于接收和发送电子邮 件的应用。例如系统可以在词"上午"可以描述的情形中自动地将它本身设置为静默操作 模式。
[0174] 可以向进行查询的客户端传达回一个或者多个预测词。可以向不同客户端传达一 个或者多个预测词。系统可以被布置为利用所有预测词以用于控制,或者系统可以被布置 为利用预测词的较小子集以用于控制,其中可以忽略一个或者多个预测词。
[0175] 图3c示出通过使用两个或者更多查询词Ql、Q2来进行查询。增加单个查询的查 询词Q1、Q2的数目可以提高一个或者多个预测词将会是用于情形的有效描述符的概率。在 这一示例中,查询由两个词Q1、Q2构成。可以通过使用词表VOCl来发现经验矩阵EXl的与 查询词Q 1(例如上午)关联的第一矢量vk。可以通过使用词表VOCl来发现与查询词Q2 (例 如工作)关联的第二矢量Vlri。现在可以通过组合与查询词Q1、Q2关联的矢量V1^V lri来确 定查询矢量QVl。例如可以确定查询矢量QVl作为与查询词Ql、Q2关联的矢量vk、V lri的 线性组合。具体而言,可以确定查询矢量QVl作为矢量VpVlri之和。可以通过从矢量v k和 Vlri选择具有最大绝对值的元素为查询矢量QVl或者通过另一种组合矢量的方法来形成查 询矢量QV1。如以上对于图3a的情况描述的那样,可以随后通过比较查询矢量QVl与经验 矩阵EXl的矢量 Vl,v2, ... Vn来确定预测词。
[0176] 可以随后通过如下方法确定预测词,该方法包括:
[0177] -确定查询矢量QVl与经验矩阵EXl的第一矢量之间的第一差,
[0178] -确定查询矢量QVl与经验矩阵EXl的第二矢量之间的第二差,并且
[0179] -比较第一差与第二差。
[0180] 可以将经验矩阵EXl的与查询词Ql、Q2关联的矢量vk+1、Vlri从比较中排除。
[0181] 在这一情况下,经验矩阵EXI的矢量Vp表现为提供具有最短长度(IdvI 2 = 2)的 差矢量DV。在这一情况下,与矢量Vp对应的预测是"邮件"。
[0182] 也可以提供与查询矢量具有最短距离矢量DV的Np个矢量关联的若干词作为预 测。数目N p可以例如是三。在这一情况下,可以提供词"邮件"、"会议"和"静默"作为预测 。
[0183] 图Ia至2中所示更新方法基于通过不同基本稀疏矢量ap a2,--an表示个体词 W1, w2,... Wn。图4a和4b图示另一种在经验矩阵EXl中存储同现数据的方式。图4a和4c 中所示更新方法基于通过基本稀疏矢量表示集。
[0184] 图4a示出三个词集BAG1、BAG2、BAG3。集可以例如与图Ib中相同。
[0185] 每个集BAG1、BAG2、BAG3可以与基本稀疏矢量关联。每个集BAG1、BAG2、 BAG3可以与不同基本稀疏矢量bi,b2,b3关联,从而单个集(例如BAGl)中的所有词与相同 基本稀疏矢量(例如Id 1)关联。
[0186] 基本稀疏矢量Id1, b2, b3可以满足与图Ia中所示基本稀疏矢量相同的标准。
[0187] 图4b示出通过使用从集BAGl导出的同现数据来更新经验矩阵EX1。集包含两个 或者更多词W 1, W2, W3 (例如词"上午"、"工作"和"邮件")。集BAGl中的每个词W1, W2, W3现 在由相同基本稀疏矢量(例如bj表示。集BAGl中的词WpW2, W3与词表VOCl的词wP,wk+1, Wlri相同。这允许发现经验矩阵EXl的与集BAGl中的词关联的矢量Vp^kmVlri。这些矢量 可以称为目标矢量。
[0188] 经验矩阵EXl可以初始地是零矩阵(空矩阵),但是这不是必需的。经验矩阵EXl 的若干矢量的初始值可以表现平滑空间变化。矩阵EX可以已经包含已经作为矩阵EXl的 先前矢量与稀疏矢量的线性组合而获得的矢量。
[0189] 现在可以向与集BAGl中的词关联的每个目标矢量vP,vk+1,V lri添加表示集BAGl 的基本稀疏矢量卜。相同基本稀疏矢量匕现在是集BAG中的所有词公共的。可以向与集 BAGl中的词关联的所有目标矢量添加相同基本稀疏矢量、。一般而言,可以形 成与集BAGl中的词关联的修改的目标矢量作为与所述词关联的目标矢量与基本稀疏矢量 h的线性组合。第二个集BAG2可以由不同基本稀疏矢量(例如b2)表示。现在可以向与 第二个集BAG2中的词关联的每个目标矢量添加表示集BAG2的基本稀疏矢量13 2。第三个集 BAG2可以由不同基本稀疏矢量(例如b3)表示。现在可以向与第三个集BAG3中的词关联 的每个目标矢量添加表示集BAG3的基本稀疏矢量b 3。
[0190] 因此,可以通过使用多个集BAG1、BAG2、BAG3的内容来更新经验矩阵EX1。经验矩 阵EXl的若干矢量可以最终地是不同稀疏矢量bp b2、b3的线性组合。
[0191] 图4c示出在已经通过使用表示集BAG1、BAG2、BAG3的不同基本稀疏矢量b3而在 经验矩阵EXl中存储集的同现数据之后获得的经验矩阵EX1。矩阵EXl的所有元素 eik之 和可以等于零。eik表示经验矩阵EXl的属于第i列和第k行的元素。元素 eik的值可以是 整数以便最大化数据处理速度。元素 eik的值不限于范围-1到1。
[0192] 通过使用图4b中所示方法而确定的经验矩阵EXl可以用于通过使用图3a至3c 中所示方法来确定预测词。
[0193] 经验矩阵EXl可以具有与参照图Ic讨论的相同的列数目(m)和相同的行数目 (m)。
[0194] 经验矩阵EXl的个体元素 eik可以具有整数值。整数值还可以大于1(例如2)或 者小于_1 (例如_2)。
[0195] 在使用图4a和4b中所示更新方法时、即在将集中的所有词与公共稀疏矢量关联 时,与图2中所示更新方法比较,可以用更均匀方式在所得经验矩阵EXl的列之中分布经验 矩阵EXl的非零元素值。这可以例如有助于在经验矩阵EXl中存储值和/或比较查询矢量 与经验矩阵EXl的矢量。
[0196] 在使用图2中所示更新方法时、即在将集中的词与词表定义的稀疏矢量关联时, 每个词与如词表VOCl指定的基本矩阵RMl (图1)的稀疏矢量关联。如果某个词在集中很 频繁地出现,则这有时可以导致高元素值在经验矩阵EXl中出现。
[0197] 图5a至5c示出从缓冲器向单个集收集词。可以从一个或者多个客户端和/或从 系统接收词。接收的词可以(暂时地)存储于一个或者多个缓冲器中。可以从缓冲器向集 收集词。可以通过使用集的内容来更新经验矩阵。随后可以通过使用第二(不同)集的内 容来更新经验矩阵。
[0198] 在图5a中,集中的词WutPW2ItnW 3Itl可以表示相同时刻&。集可以包含表示单个 时刻的词。
[0199] 然而可以通过使用如下集向经验矩阵添加关于时间关系的信息,该集包含表示系 统在两个或者不同时间时刻h、t 2的状态的词。通过这一种时间组合(时间"配对")而收 集的集也可以例如用于评估如果系统先前在第一状态中则针对连续第二状态的概率。
[0200] 在图5b中,集的词Widdt2可以表示两个或者更多时刻V t 2。单个集可以包含表示两个或者更多不同时刻h、t2的词。在图5b的情况下,在单个集 中的词数目可以大于表示单个时刻A或者t 2的词数目。
[0201] 在时刻h与t2之间的时间段可以称为时间跨度。
[0202] 在图5c中,集中的词Wutl, W2, tl,W3, tl Wut2J2, t2, W3, t2可以表示两个或者更多时刻 h、t2。集可以包含表示两个或者更多不同时刻Vt2的词。可以例如在目标是收集关于词 之间的时间关系的信息时使用图5b和5c中所示的词收集。可以例如在目标是收集关于在 系统的状态之间的时间关系的信息时使用图5b和5c中所示词收集。
[0203] 可以例如在无关于词的相关性的较早知识和/或无关于词的时间关系的较早知 识时使用图5b的方法。可以例如在关于词的因果或者时间关系的一些先前知识可用时使 用图5c的方法。例如如果已知词W 2, t2的值依赖于词Wutl的值则可以向相同集收集词W1, ?,^^时刻^晚于时刻心。
[0204] 词Wutl可以例如描述在时间h的天气条件(例如在时间14 :00 "下雨"),并且词 W2,^可以例如描述在用户的日历中的标记(例如在18 :00 "体育运动")。可以例如从内部 服务接收占主导的天气条件。在这一情况下,在14 :00占主导的天气条件可以对用户是否 将真正地在18 :00时在户外进行体育运动具有因果影响。在这一意义上,向相同集中收集 较早词"下雨"和较晚词"体育运动"可以是有用的。
[0205] 图6示出用于向经验矩阵存储同现数据的系统。可以例如从时钟接收描述时间的 系统词。可以例如从GPS导航单元(GPS意味着全球定位卫星系统)接收描述(便携设备 的)位置的系统词。可以从加速度计接收描述(便携)设备的加速度的系统词。也可以从 其它物理传感器接收词。可以从一个或者多个客户端接收客户端词。
[0206] 术语"拉取"可以意味着从传感器向缓冲器的数据通信可以进行以使得通信不是 由传感器发起的。在一个实施例中,无论何时请求,传感器可以提供系统词。在一个实施例 中,来自传感器的数据通信未开始更新经验矩阵。
[0207] 术语"推送"可以意味着从客户端向缓冲器的数据通信可以由客户端发起。在一 个实施例中,来自客户端的数据通信也可以发起更新经验矩阵。
[0208] 术语"刷新"可以意味着通过使用一个或者多个词集来更新经验矩阵。可以从缓 冲器的内容收集集。
[0209] 如以上描述的那样(参见与图3a_图3c有关的讨论),也可以在提供预测时使用 经验矩阵。
[0210] 图7a示出用于处理同现数据的子系统400。子系统400可以被布置为在经验矩阵 EXl中存储同现数据。子系统400可以被布置为基于在经验矩阵EXl中存储的同现数据提 供预测。
[0211] 子系统400可以包括用于接收和存储词的缓冲器BUF1、用于向集收集词的收集单 元WRU、用于存储集的词的存储器MEM1、用于提供基本稀疏矢量的稀疏矢量供应SUP1、用 于存储词表VOCl的存储器MEM3--该词表存储于存储器MEM3中、用于修改经验矩阵EXl 的矢量和/或用于形成查询矢量QVl的组合单元LCU1、用于存储经验矩阵EXl的存储器 MEM2--该经验矩阵EXl存储于存储器MEM2中、用于存储查询矢量QVl的存储器MEM4和 /或用于比较查询矢量QVl与经验矩阵EXl的矢量的差分析单元DAUl。子系统400可以可 选地包括用于存储查询Ql和/或预测OUTl的缓冲器BUF2和/或缓冲器BUF3。
[0212] 可以从一个或者多个传感器NAVUG1、从时钟CLKl和/或从一个或者多个客户端 Cl接收词。可以通过收集器单元WRUl将词收集到个体集。可以在存储器MEMl中收集(即 暂时地存储)集中的词。可以从存储器MEMl向稀疏矢量供应SUPl传达每个集的内容。稀 疏矢量供应SUPl可以被配置为提供用于更新经验矩阵EXl的基本稀疏矢量。
[0213] 可以向可以被配置为(例如通过形成线性组合)修改经验矩阵EXl的矢量的组合 单元LCUl传达每个集和基本稀疏矢量的内容。具体而言,组合单元LCUl可以被配置为向 每个集中的词指定的目标矢量添加基本稀疏矢量。组合单元LCUl可以被布置为通过形成 矩阵(EXl)的第一矢量与一个或者多个稀疏矢量(a 2,bi)的线性组合来修改第一矢量(V1)。
[0214] 组合单元IXUl可以被布置为在硬件级执行矢量求和。组合单元IXUl的电和/或 光电路可以被布置为同时修改与单个集中的词关联的若干目标矢量。这可以允许高数据处 理速率。
[0215] 经验矩阵EXl可以存储于MEM2中。词可以通过使用在存储器MEM3中存储的词表 VOCl来与经验矩阵EXl的矢量关联。矢量供应SUPl也可以被配置为使用词表VOCl (或者 不同词表)以便例如提供与集中的词关联的基本稀疏矢量。
[0216] 子系统400可以包括组合单元IXUl或者被配置为基于查询的词Ql形成查询矢 量QVl的又一组合单元IXU2 (未示出)。可以通过组合经验矩阵EXl的矢量来形成查询矢 量QV1。可以将查询矢量QVl形成为经验矩阵EXl的矢量的线性组合。可以通过使用词表 VOCl来发现经验矩阵EXl的相关矢量的位置。查询矢量QVl可以存储于存储器MEM4中。
[0217] 差分析单元DAUl可以被配置为比较查询矢量QVl与经验矩阵EXl的矢量。差分 析单元DAUl可以被布置为确定在经验矩阵EXl的矢量与查询矢量QVl之间的差。差分析 单元DAUl可以被布置为对针对若干矢量确定的差进行排序。差分析单元DAUl可以被配置 为基于所述比较来提供预测0UT1。
[0218] 可以将查询词Ql、Q2本身从预测词排除。
[0219] 差分析单元DAUl可以被布置为在硬件级比较矢量。组合单元IXUl的电和/或光 电路可以被布置为同时针对经验矩阵EXl的若干矢量确定定量差描述符(DV)。这可以允许 高数据处理速率。
[0220] 子系统400可以包括用于控制子系统400的操作和/或用于控制系统500 (见图 11)的操作的控制单元CNT。控制单元CNTl可以包括一个或者多个数据处理器。子系统 400可以包括用于存储程序代码PROGl的存储器MEM5。程序代码PROGl可以在由一个或者 多个数据处理器执行时用于执行本发明的方法。
[0221] 可以例如从一个或者多个客户端C1、从一个或者多个传感器G1、从位置传感器 NAVl和/或从时钟CLKl接收词。可以向客户端Cl或者向不同客户端传达一个或者多个预 测词OUTl。客户端Cl也可以从缓冲器BUFl取回系统词以便例如形成查询Ql。
[0222] 图7b通过示例示出如何可以基于在传感器及其环境之间的物理交互来提供词。 传感器Gl可以通过监视它的物理环境来提供一个或者多个电或者光传感器信号S tl。该监 视包括与物理环境被动或者主动交互。例如在被动交互的情况下,麦克风或者光传感器可 以接收声或者光波(并非由系统发起)。信号Stl可以例如是表示麦克风接收的声波的量值 和频率的模拟信号。信号S tl可以例如是表示加速度传感器检测到的振动的量值和频率的 模拟信号。
[0223] 在主动交互的情况下,传感器Gl可以例如发送可以从环境的表面反射的超声或 者红外线光。例如可以例如基于麦克风或者光传感器接收的反射的声或者光波估计与表面 的距离。可选地,可以通过在传感器接口 GNIl中处理(模拟)信号Stl来提供数字传感器 信号S1。数字传感器信号S 1可以例如包括麦克风接收的声音的频谱分析。数字传感器信 号S1可以包括图像传感器捕获的数字图像。
[0224] -些传感器可以直接提供可以直接用作系统词的量化的数字信号。例如微开关邻 近传感器可以或者操纵杆的数字编码器可以直接提供表示系统的状态的数字词。例如微开 关可以提供指定某物是否正在按压开关的词" 1"或者词"〇"。
[0225] 可选地,量化器QUl可以被布置为基于数字传感器信号S1提供定量的传感器信 号S 2。如果需要则可以通过使用可以以后修改的映射函数来执行量化。例如范围从0到 127 (128个不同值)的声音音量值可以被映射成较少数目的值(例如0、1、2)。
[0226] 可选地,量化器QUl可以包括被布置为将信号S1分类成两个或者更多不同类的分 析器。量化器QUl可以是分类器。量化器QUl可以提供指定信号类的值。例如量化器 QUl可以被布置为提供值,这些值基于频谱分析来指定声音的类(例如"0"=马达、1 "音 乐"、"2"人声)。
[0227] 量化器QUl提供的值可以用作为用于系统400的输入词。可选地,该值可以被转 换成(不同)词以便例如使它对于人类用户可更容易理解。
[0228] 量化的传感器信号S2可以可选地被转换成不同词,该不同词以自然语言(例如用 英语或者用芬兰语)描述传感器的物理环境。信号S2可以通过使用词典被转换成词。词 典的内容可以固定或者它可以在以后阶段被更新。描述声音的性质的数值词(〇,1,2)可以 例如通过使用以下词典被转换成自然语言的词马达、"1"- "音乐"、"2"_ "语音"。 描述声音的音量的数值词(〇, 1,2)可以例如通过使用以下词典被转换成自然语言的词: "静默"、" 1"- "正常"、"2"- "响亮"。
[0229] 可选地,标记器单元MRKl可以被布置为通过添加使词唯一并且不同于其它词的 标识符来修改词。标识符可以例如指定传感器Sl的标识或者所述词指定的数量的类型。例 如在词是描述声音音量的数值词(例如1"和"2")时,前缀"音量"可以被附着到词 以便形成例如词"音量0"。
[0230] 因此,传感器Sl可以被布置为通过使用以上描述的一个或者多个方法步骤来提 供传感器词(系统词)。
[0231] 在一个实施例中,从加速度传感器接收信号的分析单元可以被布置为确定例如便 携设备是否静止、由步行者携带、由跑步者携带或者在移动车辆中被携带。分析单元可以提 供描述这些不同状态的词、例如"静止"、"步行"、"跑步"、"行进"。加速度传感器可以例如是 电容或者压电加速度传感器。
[0232] 然而从传感器Gl获得的信号无需被转换成具有清楚语义含义的传感器词、即未 必使用词典THESA1。在一个实施例中,从加速度传感器接收信号的分析单元可以被布置为 提供描述不同加速度条件的传感器词、例如"加速度A"、"加速度B"和"加速度C"。可以操 作包括子系统400和传感器Gl的系统500,从而即使传感器词的语义含义未知,系统500仍 然可以进行成功预测。
[0233] 可以呈现传感器Gl提供的词例如作为包含方案和方案特有部分的统一资源标识 符(URI)。例如使用加速度传感器而提供的词可以例如是"运动://移动"或者"运动:// 静止",其中第一部分"运动"是方案,并且第二部分"移动"或者"静止"是方案特有部分。 部分可以被符号"://"分离。通过使用加速度传感器而提供的词也可以例如是"定向:// 坚直"或者"定向://水平"。
[0234] 参照图7a至7c,稀疏矢量供应SUPl可以例如通过从存储器(表)取回先前生成 的稀疏矢量和/或通过实时生成稀疏矢量来提供稀疏矢量。
[0235] 参照图7c,稀疏矢量供应SUPl可以包括用于存储与词表VOCl (例如见图la)的 词关联的基本稀疏矢量a17 a2,. . . an的存储器。基本稀疏矢量a2,. . . an可以形成基本稀 疏矩阵RMl。基本稀疏矢量&1,a2,... an可以存储于稀疏矢量供应SUPl的存储器中。备选 地或者附加地,可以在词在集中第一次被使用时实时生成与所述词关联的个体基本稀疏矢 量。基本稀疏矢量可以例如由随机数生成器生成。
[0236] 可以例如在执行图Ia至2中所示更新方法时使用图7c的配置。
[0237] 参照图7d,稀疏矢量供应SUPl可以包括用于存储多个先前确定的基本稀疏矢量 I^b2,...的存储器。在新集到来时,可以生成触发信号,并且可以改变计数器COUNl的计 数值。因此,可以从存储器的被计数器指示的位置取回下一基本稀疏矢量。因此,每个集将 被指派不同基本稀疏矢量。相同基本稀疏矢量可以如在图4a和4b的更新方法中描述的那 样表示所述集的每个词。
[0238] 参照图7e,新基本稀疏矢量bk可以每当新集到来时由随机数生成器RVGUl生成。 因此,每个集将被指派不同基本稀疏矢量(生成两个相同基本稀疏矢量的概率将可忽略不 计)。相同基本稀疏矢量可以如在图4a和4b的更新方法中描述的那样表示所述集的每个 。
[0239] 参照图7f,系统500可以包括用于存储同现数据和/或用于提供预测的子系统 400。
[0240] 系统可以被配置为:
[0241] -提供与情形关联的一个或者多个查询词,
[0242] -通过使用经验矩阵和所述一个或者多个查询词来进行预测,并且
[0243] -基于所述预测来控制所述系统的操作。
[0244] 系统500可以可选地包括用于提供系统词的一个或者多个传感器Gl,这些系统词 例如描述系统的状态或者系统的环境的性质。系统500可以可选地包括用于提供时间数据 的时钟CLK1。系统500可以可选地包括用于提供位置数据的位置检测器NAV1。位置检测 器可以例如是GPS导航单元。
[0245] 同现数据可以如以上描述的那样存储于经验矩阵EXl中。
[0246] 客户端Cl可以向子系统400发送查询Q1。查询Ql可以例如包括人类用户经由用 户接口 501从应用APPl和/或从系统500的传感器Gl提供的词。查询Ql可以例如包括 通过互联网服务取回的词(例如天气信息)。子系统400可以如以上描述的那样基于查询 Ql提供一个或者多个预测词0UT1。系统500可以被配置为基于预测OUTl启动和/或停止 应用APPl、APP2。可以基于预测OUTl控制系统500的操作。预测OUTl可以例如用作为用 于web浏览器的输入。系统500可以被配置为基于预测OUTl在用户接口 501的显示器上 显示信息(用户接口管理)。系统500可以被配置为基于预测OUTl设置操作模式。系统 500可以被配置为基于预测OUTl向不同应用和/或单元分配数据处理能力。系统500可以 被配置为基于预测OUTl启动和/或停止系统的功能(物理)单元(例如GPS导航单元或 者音频放大器)的操作。
[0247] 可以基于从系统500的第二设备获得的词控制系统500的第一设备的操作。例如 第一设备可以由用户(第一个人)携带,并且第二设备可以由第二个人携带。第二个人可 以例如是第一个人的家庭成员、好友或者同事。查询Ql可以包括与第二设备的状态有关和 /或与第二个人的日历有关的一个或者多个词。系统现在可以基于查询Ql提供预测OUTl。 系统可以基于预测OUTl提议激活功能。
[0248] 例如如果第二设备已经被设置成静默模式,则系统500可以基于预测来建议联系 第二个人的优选方式可以例如是SMS消息或者电子邮件消息而不是进行电话呼叫。经验矩 阵EXl可以存储同现数据,该同现数据指示用于进行电话呼叫的尝试在第二设备已经被设 置成静默模式时几乎从未成功。经验矩阵EXl可以存储同现数据,该同现数据指示第二设 备的用户即使在第二设备已经被设置成静默模式时有时也已经对电子邮件消息立即做出 响应。因此,在第一设备的用户尝试向第二个人进行电话呼叫时,系统500可以提议激活用 于向第二设备发送消息(例如SMS消息或者电子邮件)的应用。
[0249] 图8a至8c示出用于通过使用预测来控制通信系统的操作的示例。
[0250] 可以通过使用图8a中所示集BAG4至BAG9来更新系统500的经验矩阵EX。在这 一示例中,集BAG4和BAG7包含词"会议"、"个人A "和"静默模式"。集BAG5和BAG8包含 词"会议"、"个人B "和"与个人C的电话会议"。集BAG6和BAG9包含词"会议"、"个人C" 和"正常模式"。集BAG4-BAG9也包含指定时间和当周的日子的词。
[0251] 参照图8b,系统500可以例如基于在日历中的标记来确定与个人A的会议被安排 在9:00开始。基于经验,词"会议"和"个人A"经常与词"静默模式"一起出现。这一同现 数据已经存储于经验矩阵EXl中。系统500的客户端可以形成包含词"9 :00"、"会议"、"个 人A"的查询Ql。子系统400可以通过使用图8a的包括同现数据的经验矩阵EXl来基于查 询Q1"提供预测。在这一示例中,子系统400提供的预测可以例如包括词"静默模式"。查 询Ql的词指定的时间和/或日期也可以对预测结果具有影响。例如具体时间和/或日期 召开的会议可以表现为例如与"播放视频"关联。然而在这一示例中,将集的日期和时间分 布为使得仍然不可能检测该种类的关联。
[0252] 在会议将要开始时(例如在时间8 :59),系统500可以提议将操作模式("简档") 变成静默模式以便例如避免传入电话呼叫干扰会议。可以向用户显示一个或者多个信息字 段F1-F4。字段Fl可以提议变成静默模式。用户例如通过触摸(虚拟)键Bl或者B2来 接受或者拒绝提议。在一个实施例中,可以省略键B2。如果用户在预定时间段内未触摸键 B2,则系统可以自动变成静默模式。在一个实施例中,可以省略键B1。如果用户未触摸键 B1,则系统可以继续在正常模式中操作。在一个实施例中,可以省略两个键B1、B2。用户可 以先前已经授权系统基于预测自动地设置操作模式。
[0253] 字段F2-F4可以显示辅助信息。字段F3可以可选地显示例如实际时间。字段F2 可以可选地显示例如下一相关事件(例如与个人A的会议)。字段F4可以可选地显示例 如日历视图。除了设置操作模式之外,系统500也可以基于预测来控制显示字段F1-F4和 /或显示键Bl、B2。
[0254] 归因于基于预测来控制操作,用户现在可以通过仅触摸一个键来将系统设置成静 默模式。在一个实施例中,用户无需为了将系统设置静默模式而进行任何操作。
[0255] 没有预测的情况下,用户可能需要从系统的菜单结构寻找适当菜单以便将系统设 置成静默模式。通常,这一操作将需要在用户接口 501的菜单结构的菜单中进行和确认若 干选择。
[0256] 参照图8c,系统500可以例如基于在日历中的标记来确定与个人B的会议是否被 安排在13 :00开始。
[0257] 基于经验,词"会议"和"个人B"经常与词"与个人C的电话会议"一起出现。这 一同现数据已经存储于经验矩阵EXl中。
[0258] 系统500的客户端可以形成包含词"9 :00"、"会议"、"个人B"的查询Q1。子系统 400可以通过使用图8a的包括同现数据的经验矩阵EXl来基于查询Q1"提供预测。在这一 示例中,子系统400提供的预测可以例如包括词"与个人C的电话会议"。在会议即将开始 时(例如在时间12 :59),系统500可以提议开始与个人C的电话会议。可以向用户显示一 个或者多个信息字段F1-F4。字段Fl可以提议开始与个人C的电话会议。用户例如通过触 摸(虚拟)键Bl或者B2来接受或者拒绝提议。
[0259] 如果用户接受提议,则系统可以自动地开始电话会议。这可以包括自动地激活用 于捕获用户的视频图像的相机模块。这可以包括(自动地)打开与在远程位置的个人C的 接口的视频通信链路和/或音频通信链路。
[0260] 在一个实施例中,可以省略键B2。如果用户在预定时间段内未触摸键B2,则系统 可以自动地打开远程通信链接。在一个实施例中,可以省略键B1。如果用户未触摸键B1, 则系统未打开通信链路。在一个实施例中,可以省略两个键B1、B2。用户可以先前已经授 权系统自动地打开通信链路。
[0261] 归因于基于预测来控制操作,用户可以通过仅触摸一个键来打开通信链路。在一 个实施例中,用户无需为了打开通信链路而进行任何操作。
[0262] 没有预测的情况下,用户可能需要从系统的菜单结构寻求适当菜单以便打开远程 通信链路。通常,这一操作将需要在用户接口 501的菜单结构的菜单中进行和确认若干选 择。
[0263] 图8d示出用于更新经验矩阵EXl和用于基于预测来控制系统的方法步骤。在步 骤705中,可以在系统的存储器中存储安排的事件或者实际事件。具体而言,用户或者另 一个人可以例如经由接口 501向存储器添加日历事件。在步骤710中,用户或者另一个人 可以设置系统的与在步骤705中提到的事件关联的操作模式。在步骤715中,用户或者另 一个人可以启动和/或停止与在步骤705中提到的事件关联的一个或者多个应用。在步骤 720中,可以将描述事件、操作模式和/或应用的词收集到集中。可以通过使用集来更新系 统500的经验矩阵EX1。可以在这一步骤之前已经存储表示先前事件的同现数据作为矩阵 EXl的(稀疏)矢量、即矩阵无需在步骤720之前变空。可以重复步骤705-720若干次以便 收集与若干不同事件有关的同现数据。
[0264] 在步骤750中,系统可以形成包括描述事件的词的查询Q1。查询Ql也可以包括 指定与事件关联的附加信息、例如与事件关联的个人的标识符的词。在步骤755中,子系统 400可以通过使用查询Ql和经验矩阵EXl中先前存储的矢量来提供预测。在步骤760中, 系统500可以例如提议启动和/或停止一个或者多个应用并且/或者它可以提议基于预测 来设置操作模式。
[0265] 在步骤765中,系统可以请求来自用户的用于执行在步骤760中提议的动作的权 限。在一个实施例中,用户可以已经预先给予该权限。在步骤770中,用户给予的响应可 以被记录在存储器中并且用于更新经验矩阵EX1。具体而言,可以将描述响应的词和与查 询Ql有关的一个或者多个其他词一起收集在相同集中。集中的词可以用于更新经验矩阵 EX1。在步骤775中,可以如果用户在步骤765中接受根据预测来设置操作模式,则可以这 样做。在步骤780中,可以根据预测来启动和/或停止一个或者多个应用,如果用户在步骤 765中接受了如此操作的话。
[0266] 可以重复步骤705至780。可以例如在属于系统500的便携设备的寿命期间每天 重复步骤705至780若干次。寿命可以是若干年、例如多于三年。因此,经验矩阵EXl可以 最终地包含表示例如多于1000个事件的同现数据(表示多于1000个集的数据)。
[0267] 可以在用户携带的第一便携设备中包括包含经验矩阵EXl的存储器MEM2。第一便 携设备可以例如称为智能电话和/或称为便携计算机(该便携计算机可以具有无线通信能 力)。第一便携设备可以例如是图11中所示设备1260、1251、1250之一。
[0268] 或早或迟,第一便携设备可能变成过时,它可能丢失,或者它可能损坏。经验矩阵 EXl的(备份)副本可以在系统500中存储于远程和/或与存储器MEM2的位置分离的位 置。如果需要,包含先前数据的经验矩阵EXl可以容易地被复制到一个或者多个便携设备。
[0269] 经验矩阵EXl可以从第一个人的设备被复制到第二个人的设备。经验矩阵EXl可 以例如经由因特网、经由电缆、经由光缆、经由射频链路、经由移动电话网络或者通过使用 存储经验矩阵EXl的物理存储器(即计算机存储器产品)从一个设备被传送或者复制到另 一设备。该复制可以与付款关联,即经验矩阵EXl也可以与用于将数据收集到矩阵EXl中 的原有系统500分离地、作为个体项目被销售。经验矩阵EXl可以从一个设备被全部地或 者部分地传送到另一设备,并且可以、但是非必须部分地或者全部地替换目的地矩阵(即 第二经验矩阵)。例如用户可以接收与假日旅游有关的经验矩阵、例如存储对于在意大利山 区中旅行而言相关的同现的经验矩阵的更新。
[0270] 存储于经验矩阵EXl中的数据可能在查询Ql包含用于更新经验矩阵EXl的至少 一个相同词时有用。存储于经验矩阵EXl中的先前数据可以仅在某个类型的系统中适用, 其中数据可能在第二类型的系统中基本上无用,该第二类型的系统使用不同查询词和/或 在根本不同的环境中操作。例如仅包括与专业会议有关的数据的经验矩阵EXl不可能对于 预测用户希望在他的空闲时间查看的哪些视频剪辑而言有用。
[0271] 图9a示出如何可以通过使用哈希表来表示经验矩阵EXl。经验矩阵EXl的元素 eik中的多数元素可以是零元素。经验矩阵EXl的若干矢量可以是零矢量。在该情况下,可 以无需使用存储器空间来存储零值。词表VOCl可以是哈希表,其中存储于词表VOCl中的 每个词可以用作键。词表VOCl中的条目指向值数组INDH,该值数组包含经验矩阵EXl的非 零元素 eik的实际值。例如个体词wk可以指向值数组INDHk,该值数组包含经验矩阵EX的 矢量vk的非零元素的值,所述矢量vk与词wk关联。值数组INDH k的所有元素可以非零。
[0272] 第二哈希表CAHl可以用来保持跟踪经验矩阵的包含非零元素的那些列。第二哈 希表CAHl可以例如称为"列激活的哈希表"。第二哈希表CAHl可以具有列编号(i)作为 键。第二哈希表中的条目指向出现数组0CCL,这些出现数组又可以包含对经验矩阵EXl的 每列有贡献的词(w k)的行编号(k)的列表。例如出现数组OCCLi可以包含行编号匕,1^2,1^ 以指示在列i和在行匕,k 2, k3的元素 e非零。
[0273] 哈希表V0C1、CAH1、值数组INDH的组和出现数组OCCL的组可以一起完整地指定 经验矩阵EXl的非零元素的值和位置。
[0274] 值数组INDH可以仅包含经验矩阵EXl的单个矢量的非零元素的值。它无需指定经 验矩阵EXl的包含所述非零值的列的索引,因为可以从指向与所述值数组INDH关联的词的 出现数组导出这一信息。然而值数组INDH除了非零元素的值之外还包括附加信息、例如经 验矩阵EXl的包含非零值的列的索引。值数组INDH可以一起形成值矩阵。出现数组OCCL 可以一起形成同现矩阵。
[0275] 图9b示出用于更新哈希表表示的经验矩阵EXl的方法步骤。在这一情况下,可以 使用词表VOCl中包含的词的预定组,以便避免改变经验矩阵EXl的行数。可以忽略不属 于所述预定词表VOCl的词。在步骤810中,可以接收词集。在步骤830中,可以校验词表 VOCl中是否包含集中的词。可以在步骤820中忽略未包含在词表VOCl中的词以便避免改 变经验矩阵EXl的行数。在步骤840中,可以通过使用词表VOCl和基本稀疏矩阵RMl (见 图la)来确定表示集中的每个词的基本稀疏矢量。备选地,可以向单个集中的每个词指派 公共(即相同)稀疏矢量。可以通过使用一个或者多个基本稀疏矢量来更新在与集中的词 wk关联的值数组INDHk中存储的元素值。可以使用在图Ia至图2中描述的更新方法或者 在图4a至图4b中描述的更新方法。个体元素值可以被增加、减少或者具有它的先前值。
[0276] 也可能在更新期间需要增加经验矩阵EXl的矢量的非零元素的数目。因此,可以 增加值数组INDH k的长度以便存储附加值。在值数组INDHk中存储的值的位置可以按照与 所述值数组表示的经验矩阵EXl的矢量中相同的顺序。这意味着也可以在值数组INDH k的 中间和/或向值数组INDHk的末尾添加元素。
[0277] 在步骤860中,可以根据可能向值数组INDH添加的新元素来更新哈希表CAHl和 出现数组0CCL。如果非零值存储于列(i)中的元素 eik中,则可以更新哈希表CAHl以包含 指向出现数组OCCL的指针,该出现数组OCCL又包含指向使用列(i)的词的一个或者多个 指针。哈希表V0CUCAH1以及数组INDH和OCCL包含经验矩阵EXl的同现数据。可以通过 使用哈希表VOCl、CAHl以及数组INDH和0CCL、以哈希表格式表示经验矩阵EXl。
[0278] 图9c示出用于通过使用经验矩阵EXl来进行预测的方法步骤。可以根据图9a、 以哈希表格式表示经验矩阵EXl。在步骤910中,可以接收包含一个或者多个查询词Q1、Q2 的查询。在步骤920中,可以通过使用词表VOCl来标识经验矩阵EXl的与每个查询词Q1、 Q2关联的矢量V。在以哈希表格式表示经验矩阵EXl时,矢量的非零值可以由数组INDH指 定。
[0279] 在步骤930中,可以形成查询矢量QVl。在单个查询词Ql的情况下,经验矩阵EXl 的关联矢量可以这样用作查询矢量QV1。在查询包括两个或者更多查询词Q1、Q2的情况下, 可以将查询矢量QVl形成为步骤930中标识的矢量的组合。具体而言,可以将查询矢量QVl 形成为步骤930中标识的矢量之和。
[0280] 在步骤940中,可以比较在步骤930中确定的查询矢量QVl与经验矩阵EXl的矢 量。该比较可以包括计算查询矢量QVl与经验矩阵EXl的每个矢量之间的差。在以哈希表 格式表示经验矩阵EXl时,矢量的非零值可以由数组INDH指定。在步骤950中,可以选择 和提供跟与查询矢量QVl具有最小差的一个或者多个矢量关联的一个或者多个词作为预 测词。预测词可以如以上描述的那样用于控制系统500的操作。
[0281] 因此,可以通过使用哈希表(V0C1,IND,CAHl,0CCL)来表示经验矩阵EXl,从而矩 阵(EXl)的矢量(V 1)具有矩阵(EXl)的列⑴中的非零元素(eik),并且哈希表(OCCLi)包 含指针,该指针标识词表(VOCl)的与矢量(V k)关联的词(Wk)。系统500或者系统500中 的装置可以被配置为通过使用哈希表(V0C1,IND,CAHl,0CCL)来表示经验矩阵(EXl),从而 矩阵(EXl)的矢量(V 1)具有矩阵(EXl)的列⑴中的非零元素(eik),并且哈希表(OCCLi) 包含指针,该指针标识词表(VOCl)的与矢量(V k)关联的词(Wk)。
[0282] 有时,存储于数组INDH中的元素值可以在更新经验矩阵EXl期间变为零。在一个 实施例中,可以从数组INDH去除零元素以便最小化存储器空间消耗。可以分别更新与去除 的元素对应的表CAHl和数组0CCL。
[0283] 图IOa示出基于一个或者多个原有词Tl生成一个或者多个辅助词T2至T6。使用 辅助词而不是原有词或者除了原有词之外还使用辅助词在更新经验矩阵EXl时和/或在进 行预测时有时可以更有用。
[0284] 原有词可以例如是字符串"2012年1月2日09 :03"。在实践中,另一基本上相同 字符串"2012年1月2日09 :04"将被解释为完全不同的词。这可能降低更新和使用经验 矩阵EXl的效率。
[0285] 更新操作的目的可以例如是收集同现数据,该同现数据允许预测可能在一周的某 日执行的动作。出于这一目的,可以用辅助词T5替换或者补充原有词"2012年1月2日 09:03",该辅助词指定当周的与日期2012年1月2日对应的日子(周一)。可以例如通过 使用日历来从原有词确定辅助词T5。
[0286] 在原有词"2012年1月2日09 :03"中包含的时间表达式可能出于一些目的而具 有非常高的时间分辨率。例如如果目的是预测什么将是用于例如启动病毒扫描应用(该病 毒扫描应用将消耗电池功率和数据处理资源)的适当时间,则可以将辅助词T6确定为辅助 词T6根据原有词"2012年1月2日09 :03"而用更低分辨率表示时钟时间(例如"上午")。 可以例如通过使用词典和/或通过使用量化器(分类器)来提供辅助词。
[0287] 例如以下词可以用来表示时间:
[0288]

【权利要求】
1. 一种方法,包括: -基于系统的状态和/或基于传感器检测到的物理量来确定第一词, -形成包括所述第一词和第二词的第一词组, -将所述第一词与第一稀疏矢量或者与公共稀疏矢量关联, -将所述第二词与第二稀疏矢量或者与所述公共稀疏矢量关联, -将所述第一词与矩阵的第一矢量关联, -将所述第二词与所述矩阵的第二矢量关联, -通过向所述矩阵的所述第一矢量添加所述第二稀疏矢量的贡献或者所述公共稀疏矢 量的所述贡献来修改所述矩阵的所述第一矢量,以及 -通过向所述矩阵的所述第二矢量添加所述第一稀疏矢量的贡献或者所述公共稀疏矢 量的所述贡献来修改所述矩阵的所述第二矢量。
2. 根据权利要求1所述的方法,其中修改的所述第一矢量被形成为所述矩阵的所述第 一矢量与一个或者多个稀疏矢量的线性组合。
3. 根据权利要求1或者2所述的方法,其中所述第一稀疏矢量的非零元素的数目在4 到1000的范围中,并且其中所述第一稀疏矢量的非零元素的所述数目还在所述第一稀疏 矢量的长度的〇. 1 %到10%的范围中。
4. 根据权利要求1至3中的任一权利要求所述的方法,其中所述集中的词表示从客户 端获得的词。
5. 根据权利要求1至4中的任一权利要求所述的方法,其中所述第一词表示在第一时 间的状态,并且所述第二词表示在不同的第二时间的状态。
6. 根据权利要求1至5中的任一权利要求所述的方法,其中所述词通过使用词表来与 所述稀疏矢量关联。
7. 根据权利要求6所述的方法,包括: 忽略未被包含在所述词表中的词。
8. 根据权利要求6所述的方法,包括: 形成第二词组,所述第二词组包括未被包含在所述词表中的另一词,以及 在所述另一词是系统词、统一资源定位符或者被分类为词表词的词时,向所述词表添 加所述另一词。
9. 根据权利要求1至8中的任一权利要求所述的方法,其中所述矩阵通过使用哈希表 来表示,使得所述矩阵的矢量具有所述矩阵的列中的非零元素,并且哈希表包含指针,所述 指针标识词表中的与所述矢量关联的词。
10. 根据权利要求1至9中的任一权利要求所述的方法,包括: 通过使用日历、词典、电子地图和/或符号化来从所述第一词确定辅助词。
11. 根据权利要求10所述的方法,其中所述辅助词是所述第一词的语义祖先。
12. 根据权利要求1至11中的任一权利要求所述的方法,包括: 从第一设备的存储器向第二设备的存储器复制所述矩阵的矢量。
13. 根据权利要求1至12中的任一权利要求所述的方法,其中第一自然语言的词和第 二自然语言的不同词通过使用多语言词典来与所述矩阵的相同矢量关联。
14. 根据权利要求1至12中的任一权利要求所述的方法,包括: 基于传感器检测到的环境条件来确定词。
15. -种计算机程序,所述计算机程序在由一个或者多个数据处理器执行时用于执行 根据权利要求1至14中的任一权利要求所述的方法。
16. -种存储计算机代码的计算机可读介质,所述计算机代码在由一个或者多个数据 处理器执行时用于执行根据权利要求1至14中的任一权利要求所述的方法。
17. -种装置,包括: -第一存储器,用于存储一组词, -稀疏矢量供应,用于提供稀疏矢量, -第二存储器,用于存储矩阵的矢量,以及 -组合单元,用于通过添加与所述词关联的稀疏矢量的贡献来修改所述矩阵的矢量。
18. 根据权利要求17所述的装置,其中所述组合单元被布置为通过形成所述矩阵的所 述第一矢量与一个或者多个稀疏矢量的线性组合来修改所述第一矢量。
19. 根据权利要求17或者18所述的装置,其中所述第一稀疏矢量的非零元素的数目在 4到1000的范围中,并且其中所述第一稀疏矢量的非零元素的所述数目还在所述第一稀疏 矢量的长度的〇. 1 %到10%的范围中。
20. 根据权利要求17至19中的任一权利要求所述的装置,包括: 用以接收用于所述集的词的接口。
21. 根据权利要求17至20中的任一权利要求所述的装置,其中所述第一词表示在第一 时间的状态,并且所述第二词表示在不同的第二时间的状态。
22. 根据权利要求17至21中的任一权利要求所述的装置,包括: 用于存储词表的存储器,其中稀疏矢量供应和/或组合单元和/或控制单元被配置为 通过使用所述词表来将词与所述稀疏矢量关联。
23. 根据权利要求22所述的装置,其中所述稀疏矢量供应和/或所述组合单元和/或 所述控制单元被配置为忽略未被包含在所述词表中的词。
24. 根据权利要求22所述的装置,其中所述稀疏矢量供应和/或所述组合单元和/或 所述控制单元被配置为在另一词是系统词、统一资源定位符或者被分类为词表词的词时向 所述词表添加所述另一词。
25. 根据权利要求17至24中的任一权利要求所述的装置,其中组合单元和/或所述控 制单元被配置为通过使用哈希表来存储所述矩阵的值,使得所述矩阵的矢量具有所述矩阵 的列中的非零元素,并且哈希表包含指针,所述指针标识词表中的与所述矢量关联的词。
26. 根据权利要求17至25中的任一权利要求所述的装置,其中控制单元被配置为通过 使用日历、词典、电子地图和/或符号化来从第一词确定辅助词。
27. 根据权利要求26所述的装置,其中所述辅助词是所述第一词的语义祖先。
28. 根据权利要求17至27中的任一权利要求所述的装置,包括: 用于从设备向所述装置的存储器复制所述矩阵的矢量的接口。
29. 根据权利要求17至28中的任一权利要求所述的装置,包括: 一个或者多个传感器,被布置为基于检测到的环境条件提供一个或者多个词。
30. 一种系统,包括: -第一存储器,用于存储一组词, -稀疏矢量供应,用于提供稀疏矢量, -第二存储器,用于存储矩阵的矢量,以及 -组合单元,用于通过添加与所述词关联的稀疏矢量的贡献来修改所述矩阵的矢量。
31. 根据权利要求30所述的系统,其中所述组合单元被布置为通过形成所述矩阵的所 述第一矢量与一个或者多个稀疏矢量的线性组合来修改所述第一矢量。
32. 根据权利要求30或者31所述的系统,其中所述第一稀疏矢量的非零元素的数目在 4到1000的范围中,并且其中所述第一稀疏矢量的非零元素的所述数目还在所述第一稀疏 矢量的长度的〇. 1 %到10%的范围中。
33. 根据权利要求30至32中的任一权利要求所述的系统,包括: 用以接收用于所述集的词的接口。
34. 根据权利要求30至33中的任一权利要求所述的系统,其中所述第一词表示在第一 时间的状态,并且所述第二词表示在不同的第二时间的状态。
35. 根据权利要求30至34中的任一权利要求所述的系统,包括: 用于存储词表的存储器,其中稀疏矢量供应和/或组合单元和/或控制单元被配置为 通过使用所述词表来将词与所述稀疏矢量关联。
36. 根据权利要求35所述的系统,其中所述稀疏矢量供应和/或所述组合单元和/或 所述控制单元被配置为忽略未被包含在所述词表中的词。
37. 根据权利要求35所述的系统,其中所述稀疏矢量供应和/或所述组合单元和/或 所述控制单元被配置为在另一词是系统词、统一资源定位符或者被分类为词表词的词时向 所述词表添加所述另一词。
38. 根据权利要求30至27中的任一权利要求所述的系统,其中组合单元和/或所述控 制单元被配置为通过使用哈希表来存储所述矩阵的值,使得所述矩阵的矢量具有所述矩阵 的列中的非零元素,并且哈希表包含指针,所述指针标识词表中的与所述矢量关联的词。
39. 根据权利要求30至38中的任一权利要求所述的系统,其中控制单元被配置为通过 使用日历、词典、电子地图和/或符号化来从第一词确定辅助词。
40. 根据权利要求39所述的系统,其中所述辅助词是所述第一词的语义祖先。
41. 根据权利要求30至40中的任一权利要求所述的系统,包括: 用于从设备向所述系统的存储器复制所述矩阵的矢量的接口。
42. 根据权利要求30至41中的任一权利要求所述的系统,包括: 一个或者多个传感器,被布置为基于检测到的环境条件来提供一个或者多个词。
43. -种用于存储同现数据的装置,所述装置包括: -用于存储数据的第一装置,被配置为存储一组词, -用于供应稀疏矢量的装置,被配置为提供稀疏矢量, -用于存储数据的第二装置,被配置为存储矩阵的矢量,以及 -用于组合的装置,被配置为通过添加与所述词关联的稀疏矢量的贡献来修改所述矩 阵的矢量。
44. 根据权利要求43所述的用于存储同现数据的装置,其中所述用于组合的装置被布 置为通过形成所述矩阵的所述第一矢量与一个或者多个稀疏矢量的线性组合来修改所述 第一矢量。
45. 根据权利要求43或者44所述的用于存储同现数据的装置,其中所述第一稀疏矢量 的非零元素的数目在4到1000的范围中,并且其中所述第一稀疏矢量的非零元素的所述数 目还在所述第一稀疏矢量的长度的0. 1 %到10%的范围中。
46. 根据权利要求43至45中的任一权利要求所述的用于存储同现数据的装置,包括: 用于传达数据的装置,被配置为接收用于所述集的词。
47. 根据权利要求43至46中的任一权利要求所述的用于存储同现数据的装置,其中所 述第一词表示在第一时间的状态,并且所述第二词表示在不同的第二时间的状态。
48. 根据权利要求43至47中的任一权利要求所述的用于存储同现数据的装置,包括: 用于存储数据的装置,被配置为存储词表,其中用于供应稀疏矢量的装置和/或用于 组合的装置和/或用于控制的装置被配置为通过使用所述词表来将词与所述稀疏矢量关 联。
49. 根据权利要求48所述的用于存储同现数据的装置,其中所述用于供应稀疏矢量的 装置和/或所述用于组合的装置和/或所述用于控制的装置被配置为忽略未被包含在所述 词表中的词。
50. 根据权利要求48所述的用于存储同现数据的装置,其中所述用于供应稀疏矢量的 装置和/或所述用于组合的装置和/或所述用于控制的装置被配置为在另一词是系统词、 统一资源定位符或者被分类为词表词的词时向所述词表添加所述另一词。
51. 根据权利要求43至50中的任一权利要求所述的用于存储同现数据的装置,其中所 述用于组合的装置和/或所述用于控制的装置被配置为通过使用哈希表来存储所述矩阵 的值,使得所述矩阵的矢量具有所述矩阵的列中的非零元素,并且哈希表包含指针,所述指 针标识词表中的与所述矢量关联的词。
52. 根据权利要求43至51中的任一权利要求所述的用于存储同现数据的装置,其中用 于控制的装置被配置为通过使用日历、词典、电子地图和/或符号化来从第一词确定辅助 。
53. 根据权利要求52所述的用于存储同现数据的装置,其中所述辅助词是所述第一词 的语义祖先。
54. 根据权利要求43至53中的任一权利要求所述的用于存储同现数据的装置,包括: 用于传达数据的装置,被配置为从设备向所述装置的存储器复制所述矩阵的矢量。
55. 根据权利要求43至54中的任一权利要求所述的用于存储同现数据的装置,包括: 用于感测的一个或者多个装置,被配置为基于检测到的环境条件来提供一个或者多个 。
56. -种用于控制计算机系统的操作的数据结构,所述数据结构包括作为与词表中的 词关联的稀疏高维矢量而被存储的同现数据,所述矢量与来自下列组中的至少三个类型的 词关联:时间描述符词、位置描述符词、因特网地址词、操作状态描述符词、品牌名称、用户 电话簿姓名和传感器值词。
57. 根据权利要求56所述的数据结构,包括所述词表。
58. 根据权利要求56或者57所述的数据结构,包括标识符,所述标识符指定与所述数 据结构兼容的系统和/或环境。
59. -种在非瞬态计算机可读介质上实现的计算机程序产品,所述介质包括一个或者 多个计算机可执行指令,所述指令在由一个或者多个处理器执行时使系统执行以下操作: -基于系统的状态和/或基于传感器检测到的物理量来确定第一词, -形成包括所述第一词和第二词的第一词组, -将所述第一词与第一稀疏矢量或者与公共稀疏矢量关联, -将所述第二词与第二稀疏矢量或者与所述公共稀疏矢量关联, -将所述第一词与矩阵的第一矢量关联, -将所述第二词与所述矩阵的第二矢量关联, -通过向所述矩阵的所述第一矢量添加所述第二稀疏矢量的贡献或者所述公共稀疏矢 量的所述贡献来修改所述矩阵的所述第一矢量,以及 -通过向所述矩阵的所述第二矢量添加所述第一稀疏矢量的贡献或者所述公共稀疏矢 量的所述贡献来修改所述矩阵的所述第二矢量。
60. 根据权利要求59所述的计算机程序产品,其中所述指令在由一个或者多个处理器 执行时使所述系统还执行以下操作: -通过形成所述矩阵的所述第一矢量与一个或者多个稀疏矢量的线性组合来修改所述 第一矢量。
61. -种装置,包括至少一个处理器、包括用于一个或者多个程序单元的计算机程序代 码的至少一个存储器,所述至少一个存储器和所述计算机程序代码被配置为与所述处理器 一起使所述装置至少执行以下操作: -存储一组词, -提供稀疏矢量, -存储矩阵的矢量,以及 -通过添加与所述词关联的稀疏矢量的贡献来修改所述矩阵的矢量。
62. 根据权利要求61所述的装置,包括被配置为与所述处理器一起使所述装置至少执 行以下操作的计算机程序代码: -通过形成所述矩阵的所述第一矢量与一个或者多个稀疏矢量的线性组合来修改所述 第一矢量。
63. 根据权利要求61至62中的任一权利要求所述的装置,包括用以接收用于所述组的 词的接口,包括被配置为与所述处理器一起使所述装置至少执行以下操作的计算机程序代 码: -通过使用词表来将词与所述稀疏矢量关联。
64. 根据权利要求61至63中的任一权利要求所述的装置,包括用以接收用于所述组的 词的接口,包括被配置为与所述处理器一起使所述装置至少执行以下操作的计算机程序代 码: -通过使用哈希表来存储所述矩阵的值,使得所述矩阵的矢量具有所述矩阵的列中的 非零元素,并且哈希表包含指针,所述指针标识词表中的与所述矢量关联的词。
65. 根据权利要求61至64中的任一权利要求所述的装置,包括用以接收用于所述组的 词的接口,包括被配置为与所述处理器一起使所述装置至少执行以下操作的计算机程序代 码: -通过使用日历、词典、电子地图和/或符号化从第一词确定辅助词。
66. 根据权利要求61至65中的任一权利要求所述的装置,包括: 用于从设备向所述装置的存储器复制所述矩阵的矢量的接口。
67. 根据权利要求61至66中的任一权利要求所述的装置,包括: 一个或者多个传感器,被布置为基于检测到的环境条件来提供一个或者多个词。
【文档编号】G06F17/30GK104246658SQ201280072488
【公开日】2014年12月24日 申请日期:2012年2月22日 优先权日:2012年2月22日
【发明者】M·埃尔斯通, M·朗福尔斯, E·莫尼, I·贝茨特里, M·特尔霍, L·卡凯南 申请人:诺基亚公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1