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

申请号 : CN201280072488.8

文献号 : CN104246658B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : M·埃尔斯通M·朗福尔斯E·莫尼I·贝茨特里M·特尔霍L·卡凯南

申请人 : 诺基亚技术有限公司

摘要 :

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

权利要求 :

1.一种用于处理数据的方法,包括:

-基于系统的状态和/或基于传感器检测到的物理量来确定第一词,-形成包括所述第一词和第二词的第一词组,

-将所述第一词和所述第二词与公共稀疏矢量关联,-使用词表来将所述第一词与同现矩阵的第一矢量关联,-使用词表来将所述第二词与所述同现矩阵的第二矢量关联,-通过形成所述公共稀疏矢量和所述同现矩阵的所述第一矢量的线性组合来修改所述同现矩阵的所述第一矢量,-通过形成所述公共稀疏矢量和所述同现矩阵的所述第二矢量的线性组合来修改所述同现矩阵的所述第二矢量,-通过使用所述同现矩阵来从一个或者多个查询词确定一个或者多个预测词,以及-通过使用确定的所述预测词中的一个或者多个所述预测词来控制系统的操作。

2.一种用于处理数据的方法,包括:

-基于系统的状态和/或基于传感器检测到的物理量来确定第一词,-形成包括所述第一词和第二词的第一词组,

-使用词表来将所述第一词与基本矩阵的第一稀疏矢量关联,-使用所述词表来将所述第二词与所述基本矩阵的第二稀疏矢量关联,-使用所述词表来将所述第一词与同现矩阵的第一矢量关联,-使用所述词表来将所述第二词与所述同现矩阵的第二矢量关联,-通过形成所述同现矩阵的所述第一矢量和所述基本矩阵的所述第二稀疏矢量的线性组合来修改所述同现矩阵的所述第一矢量,以及-通过形成所述同现矩阵的所述第二矢量和所述基本矩阵的所述第一稀疏矢量的的线性组合来修改所述同现矩阵的所述第二矢量,-通过使用所述同现矩阵来从一个或者多个查询词确定一个或者多个预测词,以及-通过使用确定的所述预测词中的一个或者多个所述预测词来控制系统的操作。

3.根据权利要求2所述的方法,其中所述第一稀疏矢量的非零元素的数目在4到1000的范围中,并且其中所述第一稀疏矢量的非零元素的所述数目还在所述第一稀疏矢量的长度的0.1%到10%的范围中。

4.根据权利要求1或者2所述的方法,其中所述第一词组中的词表示从用户或者从软件应用获得的词。

5.根据权利要求1或者2所述的方法,其中所述第一词表示在第一时间的状态,并且所述第二词表示在不同的第二时间的状态。

6.根据权利要求1或者2所述的方法,其中所述词通过使用词表来与所述稀疏矢量关联。

7.根据权利要求6所述的方法,包括:

忽略未被包含在所述词表中的词。

8.根据权利要求6所述的方法,包括:

形成第二词组,所述第二词组包括未被包含在所述词表中的另一词,以及在所述另一词是系统词、统一资源定位符或者被分类为词表词的词时,向所述词表添加所述另一词。

9.根据权利要求1或者2所述的方法,其中所述同现矩阵通过使用哈希表来表示,使得所述同现矩阵的矢量具有所述同现矩阵的列中的非零元素,并且哈希表包含指针,所述指针标识词表中的与所述矢量关联的词。

10.根据权利要求1或者2所述的方法,包括:从原有词确定所述第一词,使得所述第一词通过使用日历、词典、电子地图和/或符号化来而被确定。

11.根据权利要求10所述的方法,其中所述第一词是所述原有词的语义祖先。

12.根据权利要求1或者2所述的方法,包括:从第一设备的存储器向第二设备的存储器复制所述同现矩阵的矢量。

13.根据权利要求1或者2所述的方法,其中第一自然语言的词和第二自然语言的不同词通过使用多语言词典来与所述同现矩阵的相同矢量关联。

14.根据权利要求1或者2所述的方法,包括:基于传感器检测到的环境条件来确定词。

15.一种用于处理数据的装置,包括:一个或者多个数据处理器,所述一个或者多个数据处理器被配置用于执行根据权利要求1至14中的任一权利要求所述的方法。

16.一种用于处理数据的装置,包括:

-第一存储器,用于存储包括第一词和第二词的词组,-稀疏矢量供应,用于提供包括公共稀疏矢量的稀疏矢量,-第二存储器,用于存储同现矩阵的矢量,以及

-组合单元,用于:

-将所述第一词和所述第二词与所述公共稀疏矢量关联,-使用词表来将所述第一词与所述同现矩阵的第一矢量关联,-使用词表来将所述第二词与所述同现矩阵的第二矢量关联,-通过形成所述公共稀疏矢量和所述同现矩阵的所述第一矢量的线性组合来修改所述同现矩阵的所述第一矢量,以及-通过形成所述公共稀疏矢量和所述同现矩阵的所述第二矢量的线性组合来修改所述同现矩阵的所述第二矢量,-差分析单元,用于通过使用所述同现矩阵来从一个或者多个查询词确定一个或者多个预测词,以及-控制单元,用于通过使用确定的所述预测词中的一个或者多个所述预测词来控制系统的操作。

17.一种用于处理数据的装置,包括:

-第一存储器,用于存储包括第一词和第二词的词组,-稀疏矢量供应,用于提供基本矩阵的稀疏矢量,-第二存储器,用于存储同现矩阵的矢量,以及

-组合单元,用于:

-使用词表来将所述第一词与基本矩阵的第一稀疏矢量关联,-使用所述词表来将所述第二词与所述基本矩阵的第二稀疏矢量关联,-使用所述词表来将所述第一词与所述同现矩阵的第一矢量关联,-使用所述词表来将所述第二词与所述同现矩阵的第二矢量关联,-通过形成所述同现矩阵的所述第一矢量和所述基本矩阵的所述第二稀疏矢量的线性组合来修改所述同现矩阵的所述第一矢量,以及-通过形成所述同现矩阵的所述第二矢量和所述基本矩阵的所述第一稀疏矢量的的线性组合来修改所述同现矩阵的所述第二矢量,-差分析单元,用于通过使用所述同现矩阵来从一个或者多个查询词确定一个或者多个预测词,以及-控制单元,用于通过使用确定的所述预测词中的一个或者多个所述预测词来控制系统的操作。

18.根据权利要求17所述的装置,其中所述第一稀疏矢量的非零元素的数目在4到1000的范围中,并且其中所述第一稀疏矢量的非零元素的所述数目还在所述第一稀疏矢量的长度的0.1%到10%的范围中。

19.根据权利要求16或者17所述的装置,包括:用以接收用于所述词组的词的接口。

20.根据权利要求16或者17所述的装置,其中所述第一词表示在第一时间的状态,并且所述第二词表示在不同的第二时间的状态。

21.根据权利要求16或者17所述的装置,包括:用于存储词表的存储器,其中所述稀疏矢量供应和/或所述组合单元和/或所述控制单元被配置为通过使用所述词表来将词与所述稀疏矢量关联。

22.根据权利要求21所述的装置,其中所述稀疏矢量供应和/或所述组合单元和/或所述控制单元被配置为忽略未被包含在所述词表中的词。

23.根据权利要求21所述的装置,其中所述稀疏矢量供应和/或所述组合单元和/或所述控制单元被配置为在另一词是系统词、统一资源定位符或者被分类为词表词的词时向所述词表添加所述另一词。

24.根据权利要求16或者17所述的装置,其中所述组合单元和/或所述控制单元被配置为通过使用哈希表来存储所述同现矩阵的值,使得所述同现矩阵的矢量具有所述同现矩阵的列中的非零元素,并且哈希表包含指针,所述指针标识词表中的与所述矢量关联的词。

25.根据权利要求16或者17所述的装置,其中所述控制单元还被配置为从原有词来确定所述第一词,使得所述第一词通过使用日历、词典、电子地图和/或符号化而被确定。

26.根据权利要求25所述的装置,其中所述第一词是所述原有词的语义祖先。

27.根据权利要求16或者17所述的装置,包括:用于从设备向所述装置的存储器复制所述同现矩阵的矢量的接口。

28.根据权利要求16或者17所述的装置,包括:一个或者多个传感器,被布置为基于检测到的环境条件提供一个或者多个词。

29.一种用于处理数据的系统,包括:

-第一存储器,用于存储包括第一词和第二词的词组,-稀疏矢量供应,用于提供包括公共稀疏矢量的稀疏矢量,-第二存储器,用于存储同现矩阵的矢量,以及

-组合单元,用于:

-将所述第一词和所述第二词与所述公共稀疏矢量关联,-使用词表来将所述第一词与所述同现矩阵的第一矢量关联,-使用词表来将所述第二词与所述同现矩阵的第二矢量关联,-通过形成所述公共稀疏矢量和所述同现矩阵的所述第一矢量的线性组合来修改所述同现矩阵的所述第一矢量,以及-通过形成所述公共稀疏矢量和所述同现矩阵的所述第二矢量的线性组合来修改所述同现矩阵的所述第二矢量,-差分析单元,用于通过使用所述同现矩阵来从一个或者多个查询词确定一个或者多个预测词,以及-控制单元,用于通过使用确定的所述预测词中的一个或者多个所述预测词来控制系统的操作。

30.一种用于处理数据的系统,包括:

-第一存储器,用于存储包括第一词和第二词的词组,-稀疏矢量供应,用于提供基本矩阵的稀疏矢量,-第二存储器,用于存储同现矩阵的矢量,以及

-组合单元,用于:

-使用词表来将所述第一词与基本矩阵的第一稀疏矢量关联,-使用所述词表来将所述第二词与所述基本矩阵的第二稀疏矢量关联,-使用所述词表来将所述第一词与所述同现矩阵的第一矢量关联,-使用所述词表来将所述第二词与所述同现矩阵的第二矢量关联,-通过形成所述同现矩阵的所述第一矢量和所述基本矩阵的所述第二稀疏矢量的线性组合来修改所述同现矩阵的所述第一矢量,以及-通过形成所述同现矩阵的所述第二矢量和所述基本矩阵的所述第一稀疏矢量的的线性组合来修改所述同现矩阵的所述第二矢量,-差分析单元,用于通过使用所述同现矩阵来从一个或者多个查询词确定一个或者多个预测词,以及-控制单元,用于通过使用确定的所述预测词中的一个或者多个所述预测词来控制系统的操作。

31.根据权利要求30所述的系统,其中所述第一稀疏矢量的非零元素的数目在4到1000的范围中,并且其中所述第一稀疏矢量的非零元素的所述数目还在所述第一稀疏矢量的长度的0.1%到10%的范围中。

32.根据权利要求29或者30所述的系统,包括:用以接收用于所述词组的词的接口。

33.根据权利要求29或者30所述的系统,其中所述第一词表示在第一时间的状态,并且所述第二词表示在不同的第二时间的状态。

34.根据权利要求29或者30所述的系统,包括:用于存储词表的存储器,其中所述稀疏矢量供应和/或所述组合单元和/或所述控制单元被配置为通过使用所述词表来将词与所述稀疏矢量关联。

35.根据权利要求34所述的系统,其中所述稀疏矢量供应和/或所述组合单元和/或所述控制单元被配置为忽略未被包含在所述词表中的词。

36.根据权利要求34所述的系统,其中所述稀疏矢量供应和/或所述组合单元和/或所述控制单元被配置为在另一词是系统词、统一资源定位符或者被分类为词表词的词时向所述词表添加所述另一词。

37.根据权利要求29或者30所述的系统,其中组合单元和/或所述控制单元被配置为通过使用哈希表来存储所述同现矩阵的值,使得所述同现矩阵的矢量具有所述同现矩阵的列中的非零元素,并且哈希表包含指针,所述指针标识词表中的与所述矢量关联的词。

38.根据权利要求29或者30所述的系统,其中所述控制单元被配置为从原有词确定所述第一词,使得所述第一词通过使用日历、词典、电子地图和/或符号化而被确定。

39.根据权利要求38所述的系统,其中所述第一词是所述原有词的语义祖先。

40.根据权利要求29或者30所述的系统,包括:用于从设备向所述系统的存储器复制所述同现矩阵的矢量的接口。

41.根据权利要求29或者30所述的系统,包括:一个或者多个传感器,被布置为基于检测到的环境条件来提供一个或者多个词。

42.一种用于存储同现数据的装置,所述装置包括:-用于存储数据的第一装置,被配置为存储包括第一词和第二词的词组,-用于供应稀疏矢量的装置,被配置为提供包括公共稀疏矢量的稀疏矢量,-用于存储数据的第二装置,被配置为存储同现矩阵的矢量,以及-用于组合的装置,被配置为:

-将所述第一词和所述第二词与所述公共稀疏矢量关联,-使用词表来将所述第一词与所述同现矩阵的第一矢量关联,-使用词表来将所述第二词与所述同现矩阵的第二矢量关联,-通过形成所述公共稀疏矢量和所述同现矩阵的所述第一矢量的线性组合来修改所述同现矩阵的所述第一矢量,以及-通过形成所述公共稀疏矢量和所述同现矩阵的所述第二矢量的线性组合来修改所述同现矩阵的所述第二矢量,-用于分析的装置,被配置为通过使用所述同现矩阵来从一个或者多个查询词确定一个或者多个预测词,以及-用于控制的装置,被配置为通过使用确定的所述预测词中的一个或者多个所述预测词来控制系统的操作。

43.一种用于存储同现数据的装置,所述装置包括:-用于存储数据的第一装置,被配置为存储包括第一词和第二词的词组,-用于供应稀疏矢量的装置,被配置为提供基本矩阵的稀疏矢量,-用于存储数据的第二装置,被配置为存储同现矩阵的矢量,以及-用于组合的装置,被配置为:

-使用词表来将所述第一词与基本矩阵的第一稀疏矢量关联,-使用所述词表来将所述第二词与所述基本矩阵的第二稀疏矢量关联,-使用所述词表来将所述第一词与所述同现矩阵的第一矢量关联,-使用所述词表来将所述第二词与所述同现矩阵的第二矢量关联,-通过形成所述同现矩阵的所述第一矢量和所述基本矩阵的所述第二稀疏矢量的线性组合来修改所述同现矩阵的所述第一矢量,以及-通过形成所述同现矩阵的所述第二矢量和所述基本矩阵的所述第一稀疏矢量的的线性组合来修改所述同现矩阵的所述第二矢量,-用于分析的装置,被配置为通过使用所述同现矩阵来从一个或者多个查询词确定一个或者多个预测词,以及-用于控制的装置,被配置为通过使用确定的所述预测词中的一个或者多个所述预测词来控制系统的操作。

44.根据权利要求43所述的用于存储同现数据的装置,其中所述第一稀疏矢量的非零元素的数目在4到1000的范围中,并且其中所述第一稀疏矢量的非零元素的所述数目还在所述第一稀疏矢量的长度的0.1%到10%的范围中。

45.根据权利要求42或者43所述的用于存储同现数据的装置,包括:用于传达数据的装置,被配置为接收用于所述词组的词。

46.根据权利要求42或者43所述的用于存储同现数据的装置,其中所述第一词表示在第一时间的状态,并且所述第二词表示在不同的第二时间的状态。

47.根据权利要求42或者43所述的用于存储同现数据的装置,包括:用于存储数据的装置,被配置为存储词表,其中所述用于供应稀疏矢量的装置和/或所述用于组合的装置和/或所述用于控制的装置被配置为通过使用所述词表来将词与所述稀疏矢量关联。

48.根据权利要求47所述的用于存储同现数据的装置,其中所述用于供应稀疏矢量的装置和/或所述用于组合的装置和/或所述用于控制的装置被配置为忽略未被包含在所述词表中的词。

49.根据权利要求47所述的用于存储同现数据的装置,其中所述用于供应稀疏矢量的装置和/或所述用于组合的装置和/或所述用于控制的装置被配置为在另一词是系统词、统一资源定位符或者被分类为词表词的词时向所述词表添加所述另一词。

50.根据权利要求42或者43所述的用于存储同现数据的装置,其中所述用于组合的装置和/或所述用于控制的装置被配置为通过使用哈希表来存储所述同现矩阵的值,使得所述同现矩阵的矢量具有所述同现矩阵的列中的非零元素,并且哈希表包含指针,所述指针标识词表中的与所述矢量关联的词。

51.根据权利要求42或者43所述的用于存储同现数据的装置,其中所述用于控制的装置被配置为从原有词确定所述第一词,使得所述第一词通过使用日历、词典、电子地图和/或符号化来而被确定。

52.根据权利要求51所述的用于存储同现数据的装置,其中所述第一词是所述原有词的语义祖先。

53.根据权利要求42或者43所述的用于存储同现数据的装置,包括:用于传达数据的装置,被配置为从设备向所述装置的存储器复制所述同现矩阵的矢量。

54.根据权利要求42或者43所述的用于存储同现数据的装置,包括:用于感测的一个或者多个装置,被配置为基于检测到的环境条件来提供一个或者多个词。

55.一种用于处理数据的装置,包括至少一个处理器、包括用于一个或者多个程序单元的计算机程序代码的至少一个存储器,所述至少一个存储器和所述计算机程序代码被配置为与所述处理器一起使所述装置至少执行以下操作:-存储包括第一词和第二词的词组,

-提供包括公共稀疏矢量的稀疏矢量,

-存储同现矩阵的矢量,

-将所述第一词和所述第二词与所述公共稀疏矢量关联,-使用词表来将所述第一词与所述同现矩阵的第一矢量关联,-使用词表来将所述第二词与所述同现矩阵的第二矢量关联,-通过形成所述公共稀疏矢量和所述同现矩阵的所述第一矢量的线性组合来修改所述同现矩阵的所述第一矢量,-通过形成所述公共稀疏矢量和所述同现矩阵的所述第二矢量的线性组合来修改所述同现矩阵的所述第二矢量,-通过使用所述同现矩阵来从一个或者多个查询词确定一个或者多个预测词,以及-通过使用确定的所述预测词中的一个或者多个所述预测词来控制系统的操作。

56.一种用于处理数据的装置,包括至少一个处理器、包括用于一个或者多个程序单元的计算机程序代码的至少一个存储器,所述至少一个存储器和所述计算机程序代码被配置为与所述处理器一起使所述装置至少执行以下操作:-存储包括第一词和第二词的词组,

-提供基本矢量的稀疏矢量,

-存储同现矩阵的矢量,以及

-使用词表来将所述第一词与基本矩阵的第一稀疏矢量关联,-使用所述词表来将所述第二词与所述基本矩阵的第二稀疏矢量关联,-使用所述词表来将所述第一词与所述同现矩阵的第一矢量关联,-使用所述词表来将所述第二词与所述同现矩阵的第二矢量关联,-通过形成所述同现矩阵的所述第一矢量和所述基本矩阵的所述第二稀疏矢量的线性组合来修改所述同现矩阵的所述第一矢量,以及-通过形成所述同现矩阵的所述第二矢量和所述基本矩阵的所述第一稀疏矢量的的线性组合来修改所述同现矩阵的所述第二矢量,-通过使用所述同现矩阵来从一个或者多个查询词确定一个或者多个预测词,以及-通过使用确定的所述预测词中的一个或者多个所述预测词来控制系统的操作。

57.根据权利要求55至56中的任一权利要求所述的装置,包括用以接收用于所述词组的接口,包括被配置为与所述处理器一起使所述装置至少执行以下操作的计算机程序代码:-通过使用词表来将词与所述稀疏矢量关联。

58.根据权利要求55至56中的任一权利要求所述的装置,包括用以接收用于所述词组的接口,包括被配置为与所述处理器一起使所述装置至少执行以下操作的计算机程序代码:-通过使用哈希表来存储所述同现矩阵的值,使得所述同现矩阵的矢量具有所述同现矩阵的列中的非零元素,并且哈希表包含指针,所述指针标识词表中的与所述矢量关联的词。

59.根据权利要求55至56中的任一权利要求所述的装置,包括用以接收用于所述词组的接口,包括被配置为与所述处理器一起使所述装置至少执行以下操作的计算机程序代码:-从原有词确定所述第一词,使得所述第一词通过使用日历、词典、电子地图和/或符号化而被确定。

60.根据权利要求55至56中的任一权利要求所述的装置,包括:用于从设备向所述装置的存储器复制所述同现矩阵的矢量的接口。

61.根据权利要求55至56中的任一权利要求所述的装置,包括:一个或者多个传感器,被布置为基于检测到的环境条件来提供一个或者多个词。

说明书 :

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

背景技术

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

发明内容

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

附图说明

[0083] 在以下示例中,将参照示例实施例的附图更具体描述本发明的各种实施例,在附图中:
[0084] 图1a通过示例示出将词表示为基本稀疏矢量,
[0085] 图1b通过示例示出词集(bag),
[0086] 图1c通过示例示出用图1b的集更新之后的经验矩阵,
[0087] 图2通过示例示出通过使用词集和图1a的基本稀疏矢量来更新经验矩阵,
[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] 图10a通过示例示出通过使用日历和/或通过使用词典来生成辅助词,
[0112] 图10b通过示例示出通过使用词典将词替换为第二词,
[0113] 图11通过示例示出包括经验矩阵的系统,
[0114] 图12a通过示例示出具有用户接口的设备,并且
[0115] 图12b通过示例示出数据处理设备。

具体实施方式

[0116] 在下文中,将参照系统的环境以及随机编索引的框架描述本发明的若干示例实施例。然而将注意本发明不限于这些使用或者备选。事实上,也可以在需要系统的语义处理和适配的任何环境中使用实施例。
[0117] 可以基于先前情形中的词的同现将同现数据收集到经验矩阵中。经验矩阵可以包含关于不同情形中的词的同现的历史数据。经验矩阵EX1可以包含多个稀疏矢量,这些稀疏矢量又包含关于与系统有关的词的历史同现的信息。经验矩阵EX1可以包含一个或者多个系统收集的“经验”。经验矩阵可以例如用来在与给定的情形有关的一个或者多个(其它)词已知时“预测”可以在该情形中适用的适当动作或者操作模式。因此,系统可以通过使用在系统的经验矩阵中存储的先前经验来基于观测的事实改变它的操作。
[0118] 在一个实施例中,可以通过使用在经验矩阵中存储的数据从一个或者多个查询词确定一个或者多个预测词。可以随后至少部分地基于预测词控制系统。查询词可以是描述当前情形的词。预测词可以是可能描述当前情形的词。可以存储同现数据作为经验矩阵EX1的矢量。存储的同现数据可以随后用于进行预测。可能需要词表VOC1以在经验矩阵EX1中存储同现数据并且利用在经验矩阵EX1中存储的同现数据。在一个实施例中,词表VOC1也可以与称为基本矩阵RM1的另一矩阵结合使用。
[0119] 参照图1a,词表VOC1可以包括一组不同的词w1,w2,...wn。词表VOC1可以是哈希表,该哈希表包含指向基本矩阵RM1的稀疏矢量的指针。稀疏矢量也可以称为随机索引矢量(RI矢量)。因此,词表VOC1的每个词w1,w2,...wn可以与基本稀疏矢量a1,a2,...an关联。例如词wk(例如“会议”)可以与基本稀疏矢量ak关联。可以存储基本稀疏矢量a1,a2,...ak,...an例如作为基本矩阵RM1的行。
[0120] 词表VOC1可以是哈希表,该哈希表通过使用词(例如wk)作为键来指示稀疏矢量在基本稀疏矩阵RM1中的位置(例如行k)。
[0121] 矩阵RM1的每个基本稀疏矢量可以表示词。例如可以将基本矢量ak解释为以稀疏矢量格式表示词wk。
[0122] 每个基本稀疏矢量ak由元素R1,k,R2,k,...,Rik,...Rm,k构成。在一个实施例中,矩阵RM1的基本稀疏矢量a1,a2,...ak,...an可以唯一和不同。基本矩阵RM1的每行可以是与不同词关联的唯一基本稀疏矢量。
[0123] 每个基本稀疏矢量ak可以具有大量零元素并且仅有少数非零元素。例如基本稀疏矢量ak可以具有例如10000个元素R,其中二十个元素可以非零,并且9980个元素可以是零。
[0124] 在一个实施例中,基本稀疏矢量ak的所有元素之和可以等于零。这可以最小化存储器消耗,可以简化数学运算,和/或可以增加数据处理速度。具体而言,非零元素的50%可以等于-1(负一),并且非零元素的50%可以等于1(一)。换而言之,元素的值可以是-1、0或者1,并且基本稀疏矢量ak可以是三元矢量。
[0125] 每个矢量a1,a2,...ak,...an可以由在多维空间中的点表示。更确切而言,每个矢量a1,a2,...ak,...an可以在每个矢量的起始点位于相同点(例如原点)时由在相同多维空间中的不同结束点表示。基本稀疏矢量ak的元素R的数目m可以例如在范围100到106中。基本稀疏矢量ak的非零元素R的数目mnz可以在数目m的0.1%到10%的范围中,所述非零元素数目mnz也在4到103的范围中。增加总数m和/或非零元素数目mnz可以允许使用更大词表VOC1和/或可以提供更可靠预测。然而增加数目m和/或mnz也可能需要更多存储器空间和更多数据处理能力。
[0126] Rik表示基本矩阵RM1的属于第i列和第k行的元素。在一个实施例中,矢量可以是三元,并且个体元素eik的值可以是以下-1、0或者1之一。负的非零元素R的数目可以等于正的非零元素R的数目,非零元素R的值是整数。这可能最大化数据处理速度并且最小化存储器使用。然而这不是必需的。例如基本稀疏矢量ak可以具有值为-0.5的十六个元素R和值为2的四个元素R。
[0127] 在对矩阵RM1的矢量a1,a2,...ak,...an进行相互比较时,可以随机地分布非零元素在基本稀疏矢量ak中的位置和基本稀疏矢量ak的非零元素的值。基本稀疏矢量也可以称为随机索引矢量。这一随机性可以用高概率保证在多维空间中的表示基本稀疏矢量的点相互不太接近。如果表示两个不同词的两个点相互太接近,则这可能导致在随后处理期间的错误预测。在随机地分布位置和值时,这也可以用高概率保证词表VOC1的每个词与唯一和不同基本稀疏矢量关联。在索引为随机时,很可能的是与两个不同词关联的基本稀疏矢量正交或者接近正交。因此,所述基本稀疏矢量的点积以高概率等于零。词的这一伪正交性即使在它们由稀疏矢量表示时仍保留每个词的唯一标识。词的这一伪正交性可以在经验矩阵EX1中存储的每个词、事件或者唯一出现在经验矩阵EX1中被表示为稀疏矢量的组合时保留词、事件和/或出现的唯一标识。例如可以按照字母表顺序排列词表的词。
[0128] 图1b示出可以例如称为“集(bag)”的若干词的集合。集包括相互有关的两个或者更多不同的词。在集中的词的数目可以例如在范围2到1000中。每个集也可以称为“文档”。
[0129] 集表示词的同现。集可以用来训练系统。关于词的同现的信息可以存储于矩阵EX1(图1c、4b)中。
[0130] 集中的词可以例如描述在所述情形中使用的情形和/或系统。具体而言,词可以表示观测的事实。
[0131] 例如第一个集BAG1可以包括词“工作”、“上午”和“邮件”。可以例如基于在系统的日历中的标记来确定词“工作”。词“上午”也可以例如由系统的时钟提供。词“邮件”可以与词“工作”和“上午”有关,例如因为系统已经检测到用户已经在词“工作”和“上午”描述的情形中接收和/或发送了编写的消息。
[0132] 第二个集BGA2可以包括词“家”、“餐食”和“音乐”。可以例如在用户携带的导航单元指示检测到的位置与称为“家”的位置匹配时提供词“家”。可以例如因为刚才已经经由递送服务向位置“家”订购食物(例如披萨饼)而提供词“餐食”。系统可以被布置为例如因为用户已经指令系统播放音乐而提供词“音乐”。
[0133] 词家、餐食和音乐可以例如表示在第一时刻t1占主导的情形。词家、餐食和音乐可以相互有关。如果这一词组合以往已经出现若干次,则它可以例如用来评估(预测)用户希望在家里用餐时听音乐的可能性。例如便携设备可以被布置为在它确定用户正在家里用餐时将它本身设置成音乐播放模式。
[0134] 第三个集BAG3可以包括词“工作”、“会议”和“静默”。可以例如基于在系统的日历中的标记来确定词“工作”和“会议”。系统可以被布置为例如基于在用户的日历中包含的信息提供状态描述符“工作”。系统也可以在用户的便携设备的位置与工作地点的位置匹配时确定词“工作”。可以例如因为参加会议的用户已经将系统设置成静默模式而导出词“静默”。具体而言,用户可以在电话在传入电话呼叫的情况下未生成可听报警时将移动电话设置成操作模式。
[0135] 现在词工作、会议和静默可以表示在第二时刻t2占主导的情形。如果这一词组合以往已经出现若干次,则它可以例如用来评估(预测)用户希望在工作时参加会议时将他的便携设备设置成静默模式的可能性。例如用户的便携设备现在可以被布置为在它确定用户正在参加会议时自动地建议设置成静默模式。
[0136] 参照图1c,可以将从观测的词的同现而导出的数据存储为可以例如称为“经验矩阵”的矩阵EX1的矢量v1,v2,...,vk...vn。词表VOC1的每个词w1,w2,...wn(也)可以与经验矩阵EX1的稀疏矢量关联。可以将稀疏矢量v1,v2,...,vk...vn例如存储为经验矩阵EX1的行。
[0137] 词表VOC1可以与图1a中相同(哈希表)。
[0138] 经验矩阵EX1的每个矢量可以是稀疏矢量与初始矢量的线性组合。
[0139] 具体而言,经验矩阵EX1的每个矢量可以是基本稀疏矩阵RM1(图1a)的基本稀疏矢量的线性组合。
[0140] 个体矢量vk的元素eik的数目n可以等于图1a中所示个体基本稀疏矢量的元素R的数目n。可以根据集(图1b)的内容执行稀疏矢量的组合。
[0141] 经验矩阵EX1可以包含从多个集BAG1、BAG2获得的同现数据。在从集获得的同现数据作为稀疏矢量的线性组合存储于经验矩阵EX1中时,这可以表示在压缩格式中存储同现数据。
[0142] 在一个实施例中,个体矢量vk的元素eik的数目n可以明显小于获得矩阵EX1中存储的同现数据的集的数目。
[0143] 不必在从新集添加新数据时改变元素eik的数目n。这意味着可以通过使用从其他集获得的同现数据来快速和容易地更新矩阵EX1。这也意味着矩阵EX1的大小(例如行和列的数目)即使在通过使用从其他集获得的同现数据来更新矩阵EX1时仍然可以保持恒定。
[0144] 然而在一个实施例中,可能不可能(仅通过使用词表VOC1和矩阵RM1、EX1)无歧义地确定用于更新的集中的哪些集包含给定的词。在这一意义上,在矩阵EX1中存储集的同现数据可以表示一种存储同现数据的有损方式。
[0145] 经验矩阵EX1可以初始地是零矩阵(空矩阵),但是这不是必需的。经验矩阵EX1的若干矢量的初始值可以表现平滑空间变化。
[0146] 图2图示如何可以通过使用词集来更新经验矩阵EX1。词集可以例如是图1b中所示集BAG1。
[0147] 符号W1,W2,W3(具有大写字母)表示集BAG1的词。w1,w2,...wn(具有小写字母)表示词表VOC1的词。通常,集中的第一词W1与词表中的第一词w1不相同,但是有时词W1可以可能与词w1相同。
[0148] 可以基于集中包含的词更新经验矩阵EX1的矢量。在更新期间,经验矩阵EX1的矢量可以例如称为目标矢量。
[0149] 更新可以包括修改与集BAG1中的词(例如“邮件”)关联的目标矢量(例如vP)。集包含两个或者更多词W1,W2,W3,...。在词W1,W2,W3属于相同集BAG1时,这指示词W1和W2属于词W3的上下文以及其它方面。
[0150] 与第一词一起属于集的一个或者多个其它词可以视为属于第一词的上下文。词可以例如表示系统的状态和/或外部条件。
[0151] 可以通过使用词表VOC1来标识经验矩阵EX1的与集BAG1中的词W3关联的目标矢量vP。更具体而言,可以通过使用词表VOC1来确定经验矩阵EX1的与词W3的值(=wp,“邮件”)关联的矢量vP(行)的位置。
[0152] 也可以通过使用词表VOC1来发现表示集BAG1中的其它词W1、W2的基本稀疏矢量(例如ak+1和an-1)。
[0153] 向经验矩阵EX1添加集BAG1中的同现数据可以包括用修改的矢量替换与集BAG1中的词W3关联的(第一)目标矢量vP,该修改的矢量是(第一)目标矢量vP与表示集BAG1中的其它词W1、W2的基本稀疏矢量ak+1、an-1的线性组合。
[0154] 在一个实施例中,基本稀疏矢量ak+1、an-1可以与目标矢量vP简单地求和。换而言之,在线性组合中使用的每个基本稀疏矢量ak+1、an-1的加权系数可以等于一。然而基本稀疏矢量的加权稀疏也可以从一偏离以便加强或者减少所述基本矢量表示的词的贡献。加权系数可以例如在范围0.1到10中。
[0155] 图2示出在基本矢量ap之上绘制的交叉。在通过使用基本矩阵RM1的表示矢量来更新经验矩阵EX1时,可以组合矢量从而表示词W3的基本矢量ap未对与所述词W3关联的修改的目标矢量vP有贡献。词总是与它本身同现。添加词的自有基本矢量的贡献不可能向经验矩阵添加有意义的新数据。
[0156] 可以通过用修改的矢量替换第二目标矢量vn-1来修改表示集BAG1中的第二词(工作,W2)的第二目标矢量(例如图1c中所示vn-1),该修改的矢量是第二目标矢量vP与表示集BAG1中的其它词W1(上午)、W3(邮件)的基本稀疏矢量ak+1、aP的线性组合。
[0157] 如果集包含第三词,则可以通过用修改的矢量替换第三目标矢量vk+1来修改表示集BAG1中的第三词(上午,W1)的第三目标矢量(例如图1c中所示vk+1),该修改的矢量是第三目标矢量vk+1与表示集BAG1中的其它词W2(工作)、W3(邮件)的基本稀疏矢量an-1、aP的线性组合。
[0158] 如果集包含多于三个词,则可以通过分别添加集的其它词的贡献来更新与每个附加词关联的目标矢量。
[0159] 可以分别通过使用第二个集中的词以及通过使用任何后续集中的词来更新矩阵。
[0160] 集BAG1中的两个或者更多词W1,W2,W3,...可以由系统(系统词)和/或客户端(客户端词)提供。系统词可以例如是描述时间和/或位置的词。“客户端”可以例如是人类用户、应用或者网络服务。客户端词可以例如是从人类用户和/或从运行软件应用获得的词。词可以例如描述系统的状态。
[0161] 图3a示出通过使用经验矩阵EX1来进行预测。经验矩阵EX1可以例如是图1c或者4b中所示矩阵。
[0162] 可以通过使用经验矩阵EX1来预测表示系统的状态的一个或者多个词。预测方法可以包括接收一个或者多个查询词Q1,Q2,...(图3c示出通过使用两个查询词来进行预测)。查询词Q1,Q2可以例如由系统和/或由客户端提供。在一个实施例中,客户端可以通过发送一个或者多个查询词Q1,Q2来发起预测过程。可以通过使用词表VOC1来发现经验矩阵EX1的与查询词Q1(例如上午)关联的矢量vk。在单个查询词Q1的情况下,可以使用关联矢量vk作为表示查询的查询矢量QV1。
[0163] 现在可以比较查询矢量QV1与经验矩阵EX1的矢量v1,v2,....vn以便标识经验矩阵EX1的与查询矢量QV1基本上相似的一个或者多个矢量v1,v2,....vn。在比较期间,经验矩阵EX1的矢量v1,v2,....vn可以称为候选矢量。可以确定和提供与查询矢量QV1具有最小差的矢量关联的一个或者多个词作为预测输出OUT1。预测方法可以包括确定在查询矢量QV1与经验矩阵EX1的每个矢量v1,v2,....vn之间的差。
[0164] 图3b图示多维空间中在查询矢量QV1和经验矩阵EX1的少数矢量的起始点(例如在原点ORIG1)重合时的这些矢量。DIM和DIM’表示多维空间的两个维度(如以上讨论的那样,空间的维度数目可以例如是104或者更高)。如果两个矢量在多维空间中具有至少近似相同的长度和至少近似相同的方向,则这可以被解释为指示所述两个矢量与在基本上相似上下文中出现的两个词关联。如果所述词之一是用于系统的状态的有效描述符,则可能的是另一词也是用于系统的状态的有效描述符。
[0165] DV(QV1,v)表示在查询矢量QV1与经验矩阵EX1的矢量v之间的差矢量。可以基于查询矢量QV1和经验矩阵EX1的矢量v确定指示在查询矢量QV1和经验矩阵EX1的矢量v之间的差的值。“差”可以例如由在查询矢量QV1和经验矩阵EX1的矢量v之间的角度θ表达。“差”可以例如由查询矢量QV1和经验矩阵EX1的矢量v之间的角度θ的余弦cos(θ)表达。可以通过使用等式|v||QV1|cos(θ)=v·QV1根据点积计算两个矢量v与QV1之间的角度θ的余弦(cos(θ))。差可以例如由差矢量DV的欧几里得长度|DV|表达。差可以例如由矢量的点积QV1·v表达。
[0166] 差可以例如由差矢量DV的欧几里得长度|DV|的平方|DV|2表达。差可以例如被表达为差矢量DV的出租车长度(曼哈顿长度)表达。也可以在定义差矢量DV的长度时使用其它度量。也可以在评估在矢量之间的差时使用其它度量。
[0167] 现在可以基于查询矢量QV1与经验矩阵EX1的矢量之间的差从词表VOC1选择一个或者多个预测输出词。如果查询矢量QV1与候选矢量之间的差满足选择标准,则可以提供与所述候选矢量关联的词作为预测词。
[0168] 可以相互比较差DV以便发现与查询矢量QV1偏离最小距离DV的稀疏矢量或者矢量。具体而言,差DV可以被排序。可以提供与具有最小距离DV的稀疏矢量关联的词作为预测方法的输出OUT1。该输出可以称为预测。也可以提供与具有最小距离DV的稀疏矢量关联的若干词作为输出OUT1。例如可以提供与具有最小距离DV的候选矢量关联的NP个词作为输出OUT1,其中整数NP可以例如在范围2到10中。
[0169] 在图3a的示例中,最小差值(|DV|2=6)与矢量VP、vk和vn-2关联。如果将数目NP设置为等于三,则可以提供词“邮件”、“会议”和“静默”作为预测词。
[0170] 已经知道查询词Q1、Q2描述情形。可以将查询词Q1、Q2从预测词OUT1排除。可以在比较查询矢量QV1与经验矩阵EX1的其它矢量时将与查询词Q1、Q2关联的矢量从比较中排除。
[0171] 可以将一个或者多个预测词解释为对条件问题“如果已经通过一个或者多个(已知)查询词Q1、Q2描述了情形,则哪一个或者哪些预测词OUT1可能描述该情形”的答案。
[0172] 在图3a的示例中,预测词是如从单个查询词Q1“上午”确定的“邮件”、“会议”和“静默”。这些预测词中的一个或者多个预测词可以用于控制系统。
[0173] 例如系统可以在词“上午”可以描述的情形中自动地激活用于接收和发送电子邮件的应用。例如系统可以在词“上午”可以描述的情形中自动地将它本身设置为静默操作模式。
[0174] 可以向进行查询的客户端传达回一个或者多个预测词。可以向不同客户端传达一个或者多个预测词。系统可以被布置为利用所有预测词以用于控制,或者系统可以被布置为利用预测词的较小子集以用于控制,其中可以忽略一个或者多个预测词。
[0175] 图3c示出通过使用两个或者更多查询词Q1、Q2来进行查询。增加单个查询的查询词Q1、Q2的数目可以提高一个或者多个预测词将会是用于情形的有效描述符的概率。在这一示例中,查询由两个词Q1、Q2构成。可以通过使用词表VOC1来发现经验矩阵EX1的与查询词Q1(例如上午)关联的第一矢量vk。可以通过使用词表VOC1来发现与查询词Q2(例如工作)关联的第二矢量vn-1。现在可以通过组合与查询词Q1、Q2关联的矢量vk、vn-1来确定查询矢量QV1。例如可以确定查询矢量QV1作为与查询词Q1、Q2关联的矢量vk、vn-1的线性组合。具体而言,可以确定查询矢量QV1作为矢量vk、vn-1之和。可以通过从矢量vk和vn-1选择具有最大绝对值的元素为查询矢量QV1或者通过另一种组合矢量的方法来形成查询矢量QV1。如以上对于图3a的情况描述的那样,可以随后通过比较查询矢量QV1与经验矩阵EX1的矢量v1,v2,...vn来确定预测词。
[0176] 可以随后通过如下方法确定预测词,该方法包括:
[0177] -确定查询矢量QV1与经验矩阵EX1的第一矢量之间的第一差,
[0178] -确定查询矢量QV1与经验矩阵EX1的第二矢量之间的第二差,并且
[0179] -比较第一差与第二差。
[0180] 可以将经验矩阵EX1的与查询词Q1、Q2关联的矢量vk+1、vn-1从比较中排除。
[0181] 在这一情况下,经验矩阵EX1的矢量vP表现为提供具有最短长度(|DV|2=2)的差矢量DV。在这一情况下,与矢量vP对应的预测是“邮件”。
[0182] 也可以提供与查询矢量具有最短距离矢量DV的NP个矢量关联的若干词作为预测。数目NP可以例如是三。在这一情况下,可以提供词“邮件”、“会议”和“静默”作为预测词。
[0183] 图1a至2中所示更新方法基于通过不同基本稀疏矢量a1,a2,....an表示个体词w1,w2,...wn。图4a和4b图示另一种在经验矩阵EX1中存储同现数据的方式。图4a和4c中所示更新方法基于通过基本稀疏矢量表示集。
[0184] 图4a示出三个词集BAG1、BAG2、BAG3。集可以例如与图1b中相同。
[0185] 每个集BAG1、BAG2、BAG3可以与基本稀疏矢量b1,b2,b3关联。每个集BAG1、BAG2、BAG3可以与不同基本稀疏矢量b1,b2,b3关联,从而单个集(例如BAG1)中的所有词与相同基本稀疏矢量(例如b1)关联。
[0186] 基本稀疏矢量b1,b2,b3可以满足与图1a中所示基本稀疏矢量相同的标准。
[0187] 图4b示出通过使用从集BAG1导出的同现数据来更新经验矩阵EX1。集包含两个或者更多词W1,W2,W3(例如词“上午”、“工作”和“邮件”)。集BAG1中的每个词W1,W2,W3现在由相同基本稀疏矢量(例如b1)表示。集BAG1中的词W1,W2,W3与词表VOC1的词wP,wk+1,wn-1相同。这允许发现经验矩阵EX1的与集BAG1中的词关联的矢量vP,vk+1,vn-1。这些矢量可以称为目标矢量。
[0188] 经验矩阵EX1可以初始地是零矩阵(空矩阵),但是这不是必需的。经验矩阵EX1的若干矢量的初始值可以表现平滑空间变化。矩阵EX可以已经包含已经作为矩阵EX1的先前矢量与稀疏矢量的线性组合而获得的矢量。
[0189] 现在可以向与集BAG1中的词关联的每个目标矢量vP,vk+1,vn-1添加表示集BAG1的基本稀疏矢量b1。相同基本稀疏矢量b1现在是集BAG中的所有词公共的。可以向与集BAG1中的词关联的所有目标矢量vP,vk+1,vn-1添加相同基本稀疏矢量b1。一般而言,可以形成与集BAG1中的词关联的修改的目标矢量作为与所述词关联的目标矢量与基本稀疏矢量b1的线性组合。第二个集BAG2可以由不同基本稀疏矢量(例如b2)表示。现在可以向与第二个集BAG2中的词关联的每个目标矢量添加表示集BAG2的基本稀疏矢量b2。第三个集BAG2可以由不同基本稀疏矢量(例如b3)表示。现在可以向与第三个集BAG3中的词关联的每个目标矢量添加表示集BAG3的基本稀疏矢量b3。
[0190] 因此,可以通过使用多个集BAG1、BAG2、BAG3的内容来更新经验矩阵EX1。经验矩阵EX1的若干矢量可以最终地是不同稀疏矢量b1、b2、b3的线性组合。
[0191] 图4c示出在已经通过使用表示集BAG1、BAG2、BAG3的不同基本稀疏矢量b3而在经验矩阵EX1中存储集的同现数据之后获得的经验矩阵EX1。矩阵EX1的所有元素eik之和可以等于零。eik表示经验矩阵EX1的属于第i列和第k行的元素。元素eik的值可以是整数以便最大化数据处理速度。元素eik的值不限于范围-1到1。
[0192] 通过使用图4b中所示方法而确定的经验矩阵EX1可以用于通过使用图3a至3c中所示方法来确定预测词。
[0193] 经验矩阵EX1可以具有与参照图1c讨论的相同的列数目(m)和相同的行数目(m)。
[0194] 经验矩阵EX1的个体元素eik可以具有整数值。整数值还可以大于1(例如2)或者小于-1(例如-2)。
[0195] 在使用图4a和4b中所示更新方法时、即在将集中的所有词与公共稀疏矢量关联时,与图2中所示更新方法比较,可以用更均匀方式在所得经验矩阵EX1的列之中分布经验矩阵EX1的非零元素值。这可以例如有助于在经验矩阵EX1中存储值和/或比较查询矢量与经验矩阵EX1的矢量。
[0196] 在使用图2中所示更新方法时、即在将集中的词与词表定义的稀疏矢量关联时,每个词与如词表VOC1指定的基本矩阵RM1(图1)的稀疏矢量关联。如果某个词在集中很频繁地出现,则这有时可以导致高元素值在经验矩阵EX1中出现。
[0197] 图5a至5c示出从缓冲器向单个集收集词。可以从一个或者多个客户端和/或从系统接收词。接收的词可以(暂时地)存储于一个或者多个缓冲器中。可以从缓冲器向集收集词。可以通过使用集的内容来更新经验矩阵。随后可以通过使用第二(不同)集的内容来更新经验矩阵。
[0198] 在图5a中,集中的词W1,t1,W2,t1,W3,t1可以表示相同时刻t1。集可以包含表示单个时刻的词。
[0199] 然而可以通过使用如下集向经验矩阵添加关于时间关系的信息,该集包含表示系统在两个或者不同时间时刻t1、t2的状态的词。通过这一种时间组合(时间“配对”)而收集的集也可以例如用于评估如果系统先前在第一状态中则针对连续第二状态的概率。
[0200] 在图5b中,集的词W1,t1,W2,t1,W3,t1 W1,t2,W2,t2,W3,t2可以表示两个或者更多时刻t1、t2。单个集可以包含表示两个或者更多不同时刻t1、t2的词。在图5b的情况下,在单个集中的词数目可以大于表示单个时刻t1或者t2的词数目。
[0201] 在时刻t1与t2之间的时间段可以称为时间跨度。
[0202] 在图5c中,集中的词W1,t1,W2,t1,W3,t1 W1,t2,W2,t2,W3,t2可以表示两个或者更多时刻t1、t2。集可以包含表示两个或者更多不同时刻t1、t2的词。可以例如在目标是收集关于词之间的时间关系的信息时使用图5b和5c中所示的词收集。可以例如在目标是收集关于在系统的状态之间的时间关系的信息时使用图5b和5c中所示词收集。
[0203] 可以例如在无关于词的相关性的较早知识和/或无关于词的时间关系的较早知识时使用图5b的方法。可以例如在关于词的因果或者时间关系的一些先前知识可用时使用图5c的方法。例如如果已知词W2,t2的值依赖于词W1,t1的值则可以向相同集收集词W1,t1,W2,t2,时刻t2晚于时刻t1。
[0204] 词W1,t1可以例如描述在时间t1的天气条件(例如在时间14:00“下雨”),并且词W2,t2可以例如描述在用户的日历中的标记(例如在18:00“体育运动”)。可以例如从内部服务接收占主导的天气条件。在这一情况下,在14:00占主导的天气条件可以对用户是否将真正地在18:00时在户外进行体育运动具有因果影响。在这一意义上,向相同集中收集较早词“下雨”和较晚词“体育运动”可以是有用的。
[0205] 图6示出用于向经验矩阵存储同现数据的系统。可以例如从时钟接收描述时间的系统词。可以例如从GPS导航单元(GPS意味着全球定位卫星系统)接收描述(便携设备的)位置的系统词。可以从加速度计接收描述(便携)设备的加速度的系统词。也可以从其它物理传感器接收词。可以从一个或者多个客户端接收客户端词。
[0206] 术语“拉取”可以意味着从传感器向缓冲器的数据通信可以进行以使得通信不是由传感器发起的。在一个实施例中,无论何时请求,传感器可以提供系统词。在一个实施例中,来自传感器的数据通信未开始更新经验矩阵。
[0207] 术语“推送”可以意味着从客户端向缓冲器的数据通信可以由客户端发起。在一个实施例中,来自客户端的数据通信也可以发起更新经验矩阵。
[0208] 术语“刷新”可以意味着通过使用一个或者多个词集来更新经验矩阵。可以从缓冲器的内容收集集。
[0209] 如以上描述的那样(参见与图3a-图3c有关的讨论),也可以在提供预测时使用经验矩阵。
[0210] 图7a示出用于处理同现数据的子系统400。子系统400可以被布置为在经验矩阵EX1中存储同现数据。子系统400可以被布置为基于在经验矩阵EX1中存储的同现数据提供预测。
[0211] 子系统400可以包括用于接收和存储词的缓冲器BUF1、用于向集收集词的收集单元WRU、用于存储集的词的存储器MEM1、用于提供基本稀疏矢量的稀疏矢量供应SUP1、用于存储词表VOC1的存储器MEM3——该词表存储于存储器MEM3中、用于修改经验矩阵EX1的矢量和/或用于形成查询矢量QV1的组合单元LCU1、用于存储经验矩阵EX1的存储器MEM2——该经验矩阵EX1存储于存储器MEM2中、用于存储查询矢量QV1的存储器MEM4和/或用于比较查询矢量QV1与经验矩阵EX1的矢量的差分析单元DAU1。子系统400可以可选地包括用于存储查询Q1和/或预测OUT1的缓冲器BUF2和/或缓冲器BUF3。
[0212] 可以从一个或者多个传感器NAV1、G1、从时钟CLK1和/或从一个或者多个客户端C1接收词。可以通过收集器单元WRU1将词收集到个体集。可以在存储器MEM1中收集(即暂时地存储)集中的词。可以从存储器MEM1向稀疏矢量供应SUP1传达每个集的内容。稀疏矢量供应SUP1可以被配置为提供用于更新经验矩阵EX1的基本稀疏矢量。
[0213] 可以向可以被配置为(例如通过形成线性组合)修改经验矩阵EX1的矢量的组合单元LCU1传达每个集和基本稀疏矢量的内容。具体而言,组合单元LCU1可以被配置为向每个集中的词指定的目标矢量添加基本稀疏矢量。组合单元LCU1可以被布置为通过形成矩阵(EX1)的第一矢量与一个或者多个稀疏矢量(a2,b1)的线性组合来修改第一矢量(v1)。
[0214] 组合单元LCU1可以被布置为在硬件级执行矢量求和。组合单元LCU1的电和/或光电路可以被布置为同时修改与单个集中的词关联的若干目标矢量。这可以允许高数据处理速率。
[0215] 经验矩阵EX1可以存储于MEM2中。词可以通过使用在存储器MEM3中存储的词表VOC1来与经验矩阵EX1的矢量关联。矢量供应SUP1也可以被配置为使用词表VOC1(或者不同词表)以便例如提供与集中的词关联的基本稀疏矢量。
[0216] 子系统400可以包括组合单元LCU1或者被配置为基于查询的词Q1形成查询矢量QV1的又一组合单元LCU2(未示出)。可以通过组合经验矩阵EX1的矢量来形成查询矢量QV1。
可以将查询矢量QV1形成为经验矩阵EX1的矢量的线性组合。可以通过使用词表VOC1来发现经验矩阵EX1的相关矢量的位置。查询矢量QV1可以存储于存储器MEM4中。
[0217] 差分析单元DAU1可以被配置为比较查询矢量QV1与经验矩阵EX1的矢量。差分析单元DAU1可以被布置为确定在经验矩阵EX1的矢量与查询矢量QV1之间的差。差分析单元DAU1可以被布置为对针对若干矢量确定的差进行排序。差分析单元DAU1可以被配置为基于所述比较来提供预测OUT1。
[0218] 可以将查询词Q1、Q2本身从预测词排除。
[0219] 差分析单元DAU1可以被布置为在硬件级比较矢量。组合单元LCU1的电和/或光电路可以被布置为同时针对经验矩阵EX1的若干矢量确定定量差描述符(DV)。这可以允许高数据处理速率。
[0220] 子系统400可以包括用于控制子系统400的操作和/或用于控制系统500(见图11)的操作的控制单元CNT。控制单元CNT1可以包括一个或者多个数据处理器。子系统400可以包括用于存储程序代码PROG1的存储器MEM5。程序代码PROG1可以在由一个或者多个数据处理器执行时用于执行本发明的方法。
[0221] 可以例如从一个或者多个客户端C1、从一个或者多个传感器G1、从位置传感器NAV1和/或从时钟CLK1接收词。可以向客户端C1或者向不同客户端传达一个或者多个预测词OUT1。客户端C1也可以从缓冲器BUF1取回系统词以便例如形成查询Q1。
[0222] 图7b通过示例示出如何可以基于在传感器及其环境之间的物理交互来提供词。传感器G1可以通过监视它的物理环境来提供一个或者多个电或者光传感器信号S0。该监视包括与物理环境被动或者主动交互。例如在被动交互的情况下,麦克风或者光传感器可以接收声或者光波(并非由系统发起)。信号S0可以例如是表示麦克风接收的声波的量值和频率的模拟信号。信号S0可以例如是表示加速度传感器检测到的振动的量值和频率的模拟信号。
[0223] 在主动交互的情况下,传感器G1可以例如发送可以从环境的表面反射的超声或者红外线光。例如可以例如基于麦克风或者光传感器接收的反射的声或者光波估计与表面的距离。可选地,可以通过在传感器接口GNI1中处理(模拟)信号S0来提供数字传感器信号S1。数字传感器信号S1可以例如包括麦克风接收的声音的频谱分析。数字传感器信号S1可以包括图像传感器捕获的数字图像。
[0224] 一些传感器可以直接提供可以直接用作系统词的量化的数字信号。例如微开关邻近传感器可以或者操纵杆的数字编码器可以直接提供表示系统的状态的数字词。例如微开关可以提供指定某物是否正在按压开关的词“1”或者词“0”。
[0225] 可选地,量化器QU1可以被布置为基于数字传感器信号S1提供定量的传感器信号S2。如果需要则可以通过使用可以以后修改的映射函数来执行量化。例如范围从0到127(128个不同值)的声音音量值可以被映射成较少数目的值(例如0、1、2)。
[0226] 可选地,量化器QU1可以包括被布置为将信号S1分类成两个或者更多不同类的分析器。量化器QU1可以是分类器。量化器QU1可以提供指定信号S1的类的值。例如量化器QU1可以被布置为提供值,这些值基于频谱分析来指定声音的类(例如“0”=马达、1“音乐”、“2”人声)。
[0227] 量化器QU1提供的值可以用作为用于系统400的输入词。可选地,该值可以被转换成(不同)词以便例如使它对于人类用户可更容易理解。
[0228] 量化的传感器信号S2可以可选地被转换成不同词,该不同词以自然语言(例如用英语或者用芬兰语)描述传感器的物理环境。信号S2可以通过使用词典被转换成词。词典的内容可以固定或者它可以在以后阶段被更新。描述声音的性质的数值词(0,1,2)可以例如通过使用以下词典被转换成自然语言的词:“0”-马达、“1”-“音乐”、“2”-“语音”。描述声音的音量的数值词(0,1,2)可以例如通过使用以下词典被转换成自然语言的词:“0”-“静默”、“1”-“正常”、“2”-“响亮”。
[0229] 可选地,标记器单元MRK1可以被布置为通过添加使词唯一并且不同于其它词的标识符来修改词。标识符可以例如指定传感器S1的标识或者所述词指定的数量的类型。例如在词是描述声音音量的数值词(例如“0”、“1”和“2”)时,前缀“音量”可以被附着到词以便形成例如词“音量0”。
[0230] 因此,传感器S1可以被布置为通过使用以上描述的一个或者多个方法步骤来提供传感器词(系统词)。
[0231] 在一个实施例中,从加速度传感器接收信号的分析单元可以被布置为确定例如便携设备是否静止、由步行者携带、由跑步者携带或者在移动车辆中被携带。分析单元可以提供描述这些不同状态的词、例如“静止”、“步行”、“跑步”、“行进”。加速度传感器可以例如是电容或者压电加速度传感器。
[0232] 然而从传感器G1获得的信号无需被转换成具有清楚语义含义的传感器词、即未必使用词典THESA1。在一个实施例中,从加速度传感器接收信号的分析单元可以被布置为提供描述不同加速度条件的传感器词、例如“加速度A”、“加速度B”和“加速度C”。可以操作包括子系统400和传感器G1的系统500,从而即使传感器词的语义含义未知,系统500仍然可以进行成功预测。
[0233] 可以呈现传感器G1提供的词例如作为包含方案和方案特有部分的统一资源标识符(URI)。例如使用加速度传感器而提供的词可以例如是“运动://移动”或者“运动://静止”,其中第一部分“运动”是方案,并且第二部分“移动”或者“静止”是方案特有部分。部分可以被符号“://”分离。通过使用加速度传感器而提供的词也可以例如是“定向://竖直”或者“定向://水平”。
[0234] 参照图7a至7c,稀疏矢量供应SUP1可以例如通过从存储器(表)取回先前生成的稀疏矢量和/或通过实时生成稀疏矢量来提供稀疏矢量。
[0235] 参照图7c,稀疏矢量供应SUP1可以包括用于存储与词表VOC1(例如见图1a)的词关联的基本稀疏矢量a1,a2,...an的存储器。基本稀疏矢量a1,a2,...an可以形成基本稀疏矩阵RM1。基本稀疏矢量a1,a2,...an可以存储于稀疏矢量供应SUP1的存储器中。备选地或者附加地,可以在词在集中第一次被使用时实时生成与所述词关联的个体基本稀疏矢量。基本稀疏矢量可以例如由随机数生成器生成。
[0236] 可以例如在执行图1a至2中所示更新方法时使用图7c的配置。
[0237] 参照图7d,稀疏矢量供应SUP1可以包括用于存储多个先前确定的基本稀疏矢量b1,b2,...的存储器。在新集到来时,可以生成触发信号,并且可以改变计数器COUN1的计数值。因此,可以从存储器的被计数器指示的位置取回下一基本稀疏矢量。因此,每个集将被指派不同基本稀疏矢量。相同基本稀疏矢量可以如在图4a和4b的更新方法中描述的那样表示所述集的每个词。
[0238] 参照图7e,新基本稀疏矢量bk可以每当新集到来时由随机数生成器RVGU1生成。因此,每个集将被指派不同基本稀疏矢量(生成两个相同基本稀疏矢量的概率将可忽略不计)。相同基本稀疏矢量可以如在图4a和4b的更新方法中描述的那样表示所述集的每个词。
[0239] 参照图7f,系统500可以包括用于存储同现数据和/或用于提供预测的子系统400。
[0240] 系统可以被配置为:
[0241] -提供与情形关联的一个或者多个查询词,
[0242] -通过使用经验矩阵和所述一个或者多个查询词来进行预测,并且
[0243] -基于所述预测来控制所述系统的操作。
[0244] 系统500可以可选地包括用于提供系统词的一个或者多个传感器G1,这些系统词例如描述系统的状态或者系统的环境的性质。系统500可以可选地包括用于提供时间数据的时钟CLK1。系统500可以可选地包括用于提供位置数据的位置检测器NAV1。位置检测器可以例如是GPS导航单元。
[0245] 同现数据可以如以上描述的那样存储于经验矩阵EX1中。
[0246] 客户端C1可以向子系统400发送查询Q1。查询Q1可以例如包括人类用户经由用户接口501从应用APP1和/或从系统500的传感器G1提供的词。查询Q1可以例如包括通过互联网服务取回的词(例如天气信息)。子系统400可以如以上描述的那样基于查询Q1提供一个或者多个预测词OUT1。系统500可以被配置为基于预测OUT1启动和/或停止应用APP1、APP2。可以基于预测OUT1控制系统500的操作。预测OUT1可以例如用作为用于web浏览器的输入。
系统500可以被配置为基于预测OUT1在用户接口501的显示器上显示信息(用户接口管理)。
系统500可以被配置为基于预测OUT1设置操作模式。系统500可以被配置为基于预测OUT1向不同应用和/或单元分配数据处理能力。系统500可以被配置为基于预测OUT1启动和/或停止系统的功能(物理)单元(例如GPS导航单元或者音频放大器)的操作。
[0247] 可以基于从系统500的第二设备获得的词控制系统500的第一设备的操作。例如第一设备可以由用户(第一个人)携带,并且第二设备可以由第二个人携带。第二个人可以例如是第一个人的家庭成员、好友或者同事。查询Q1可以包括与第二设备的状态有关和/或与第二个人的日历有关的一个或者多个词。系统现在可以基于查询Q1提供预测OUT1。系统可以基于预测OUT1提议激活功能。
[0248] 例如如果第二设备已经被设置成静默模式,则系统500可以基于预测来建议联系第二个人的优选方式可以例如是SMS消息或者电子邮件消息而不是进行电话呼叫。经验矩阵EX1可以存储同现数据,该同现数据指示用于进行电话呼叫的尝试在第二设备已经被设置成静默模式时几乎从未成功。经验矩阵EX1可以存储同现数据,该同现数据指示第二设备的用户即使在第二设备已经被设置成静默模式时有时也已经对电子邮件消息立即做出响应。因此,在第一设备的用户尝试向第二个人进行电话呼叫时,系统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”经常与词“静默模式”一起出现。这一同现数据已经存储于经验矩阵EX1中。系统500的客户端可以形成包含词“9:00”、“会议”、“个人A”的查询Q1。子系统400可以通过使用图8a的包括同现数据的经验矩阵EX1来基于查询Q1”提供预测。在这一示例中,子系统400提供的预测可以例如包括词“静默模式”。查询Q1的词指定的时间和/或日期也可以对预测结果具有影响。例如具体时间和/或日期召开的会议可以表现为例如与“播放视频”关联。然而在这一示例中,将集的日期和时间分布为使得仍然不可能检测该种类的关联。
[0252] 在会议将要开始时(例如在时间8:59),系统500可以提议将操作模式(“简档”)变成静默模式以便例如避免传入电话呼叫干扰会议。可以向用户显示一个或者多个信息字段F1-F4。字段F1可以提议变成静默模式。用户例如通过触摸(虚拟)键B1或者B2来接受或者拒绝提议。在一个实施例中,可以省略键B2。如果用户在预定时间段内未触摸键B2,则系统可以自动变成静默模式。在一个实施例中,可以省略键B1。如果用户未触摸键B1,则系统可以继续在正常模式中操作。在一个实施例中,可以省略两个键B1、B2。用户可以先前已经授权系统基于预测自动地设置操作模式。
[0253] 字段F2-F4可以显示辅助信息。字段F3可以可选地显示例如实际时间。字段F2可以可选地显示例如下一相关事件(例如与个人A的会议)。字段F4可以可选地显示例如日历视图。除了设置操作模式之外,系统500也可以基于预测来控制显示字段F1-F4和/或显示键B1、B2。
[0254] 归因于基于预测来控制操作,用户现在可以通过仅触摸一个键来将系统设置成静默模式。在一个实施例中,用户无需为了将系统设置静默模式而进行任何操作。
[0255] 没有预测的情况下,用户可能需要从系统的菜单结构寻找适当菜单以便将系统设置成静默模式。通常,这一操作将需要在用户接口501的菜单结构的菜单中进行和确认若干选择。
[0256] 参照图8c,系统500可以例如基于在日历中的标记来确定与个人B的会议是否被安排在13:00开始。
[0257] 基于经验,词“会议”和“个人B”经常与词“与个人C的电话会议”一起出现。这一同现数据已经存储于经验矩阵EX1中。
[0258] 系统500的客户端可以形成包含词“9:00”、“会议”、“个人B”的查询Q1。子系统400可以通过使用图8a的包括同现数据的经验矩阵EX1来基于查询Q1”提供预测。在这一示例中,子系统400提供的预测可以例如包括词“与个人C的电话会议”。在会议即将开始时(例如在时间12:59),系统500可以提议开始与个人C的电话会议。可以向用户显示一个或者多个信息字段F1-F4。字段F1可以提议开始与个人C的电话会议。用户例如通过触摸(虚拟)键B1或者B2来接受或者拒绝提议。
[0259] 如果用户接受提议,则系统可以自动地开始电话会议。这可以包括自动地激活用于捕获用户的视频图像的相机模块。这可以包括(自动地)打开与在远程位置的个人C的接口的视频通信链路和/或音频通信链路。
[0260] 在一个实施例中,可以省略键B2。如果用户在预定时间段内未触摸键B2,则系统可以自动地打开远程通信链接。在一个实施例中,可以省略键B1。如果用户未触摸键B1,则系统未打开通信链路。在一个实施例中,可以省略两个键B1、B2。用户可以先前已经授权系统自动地打开通信链路。
[0261] 归因于基于预测来控制操作,用户可以通过仅触摸一个键来打开通信链路。在一个实施例中,用户无需为了打开通信链路而进行任何操作。
[0262] 没有预测的情况下,用户可能需要从系统的菜单结构寻求适当菜单以便打开远程通信链路。通常,这一操作将需要在用户接口501的菜单结构的菜单中进行和确认若干选择。
[0263] 图8d示出用于更新经验矩阵EX1和用于基于预测来控制系统的方法步骤。在步骤705中,可以在系统的存储器中存储安排的事件或者实际事件。具体而言,用户或者另一个人可以例如经由接口501向存储器添加日历事件。在步骤710中,用户或者另一个人可以设置系统的与在步骤705中提到的事件关联的操作模式。在步骤715中,用户或者另一个人可以启动和/或停止与在步骤705中提到的事件关联的一个或者多个应用。在步骤720中,可以将描述事件、操作模式和/或应用的词收集到集中。可以通过使用集来更新系统500的经验矩阵EX1。可以在这一步骤之前已经存储表示先前事件的同现数据作为矩阵EX1的(稀疏)矢量、即矩阵无需在步骤720之前变空。可以重复步骤705-720若干次以便收集与若干不同事件有关的同现数据。
[0264] 在步骤750中,系统可以形成包括描述事件的词的查询Q1。查询Q1也可以包括指定与事件关联的附加信息、例如与事件关联的个人的标识符的词。在步骤755中,子系统400可以通过使用查询Q1和经验矩阵EX1中先前存储的矢量来提供预测。在步骤760中,系统500可以例如提议启动和/或停止一个或者多个应用并且/或者它可以提议基于预测来设置操作模式。
[0265] 在步骤765中,系统可以请求来自用户的用于执行在步骤760中提议的动作的权限。在一个实施例中,用户可以已经预先给予该权限。在步骤770中,用户给予的响应可以被记录在存储器中并且用于更新经验矩阵EX1。具体而言,可以将描述响应的词和与查询Q1有关的一个或者多个其他词一起收集在相同集中。集中的词可以用于更新经验矩阵EX1。在步骤775中,可以如果用户在步骤765中接受根据预测来设置操作模式,则可以这样做。在步骤780中,可以根据预测来启动和/或停止一个或者多个应用,如果用户在步骤765中接受了如此操作的话。
[0266] 可以重复步骤705至780。可以例如在属于系统500的便携设备的寿命期间每天重复步骤705至780若干次。寿命可以是若干年、例如多于三年。因此,经验矩阵EX1可以最终地包含表示例如多于1000个事件的同现数据(表示多于1000个集的数据)。
[0267] 可以在用户携带的第一便携设备中包括包含经验矩阵EX1的存储器MEM2。第一便携设备可以例如称为智能电话和/或称为便携计算机(该便携计算机可以具有无线通信能力)。第一便携设备可以例如是图11中所示设备1260、1251、1250之一。
[0268] 或早或迟,第一便携设备可能变成过时,它可能丢失,或者它可能损坏。经验矩阵EX1的(备份)副本可以在系统500中存储于远程和/或与存储器MEM2的位置分离的位置。如果需要,包含先前数据的经验矩阵EX1可以容易地被复制到一个或者多个便携设备。
[0269] 经验矩阵EX1可以从第一个人的设备被复制到第二个人的设备。经验矩阵EX1可以例如经由因特网、经由电缆、经由光缆、经由射频链路、经由移动电话网络或者通过使用存储经验矩阵EX1的物理存储器(即计算机存储器产品)从一个设备被传送或者复制到另一设备。该复制可以与付款关联,即经验矩阵EX1也可以与用于将数据收集到矩阵EX1中的原有系统500分离地、作为个体项目被销售。经验矩阵EX1可以从一个设备被全部地或者部分地传送到另一设备,并且可以、但是非必须部分地或者全部地替换目的地矩阵(即第二经验矩阵)。例如用户可以接收与假日旅游有关的经验矩阵、例如存储对于在意大利山区中旅行而言相关的同现的经验矩阵的更新。
[0270] 存储于经验矩阵EX1中的数据可能在查询Q1包含用于更新经验矩阵EX1的至少一个相同词时有用。存储于经验矩阵EX1中的先前数据可以仅在某个类型的系统中适用,其中数据可能在第二类型的系统中基本上无用,该第二类型的系统使用不同查询词和/或在根本不同的环境中操作。例如仅包括与专业会议有关的数据的经验矩阵EX1不可能对于预测用户希望在他的空闲时间查看的哪些视频剪辑而言有用。
[0271] 图9a示出如何可以通过使用哈希表来表示经验矩阵EX1。经验矩阵EX1的元素eik中的多数元素可以是零元素。经验矩阵EX1的若干矢量可以是零矢量。在该情况下,可以无需使用存储器空间来存储零值。词表VOC1可以是哈希表,其中存储于词表VOC1中的每个词可以用作键。词表VOC1中的条目指向值数组INDH,该值数组包含经验矩阵EX1的非零元素eik的实际值。例如个体词wk可以指向值数组INDHk,该值数组包含经验矩阵EX的矢量vk的非零元素的值,所述矢量vk与词wk关联。值数组INDHk的所有元素可以非零。
[0272] 第二哈希表CAH1可以用来保持跟踪经验矩阵的包含非零元素的那些列。第二哈希表CAH1可以例如称为“列激活的哈希表”。第二哈希表CAH1可以具有列编号(i)作为键。第二哈希表中的条目指向出现数组OCCL,这些出现数组又可以包含对经验矩阵EX1的每列有贡献的词(wk)的行编号(k)的列表。例如出现数组OCCLi可以包含行编号k1,k2,k3以指示在列i和在行k1,k2,k3的元素e非零。
[0273] 哈希表VOC1、CAH1、值数组INDH的组和出现数组OCCL的组可以一起完整地指定经验矩阵EX1的非零元素的值和位置。
[0274] 值数组INDH可以仅包含经验矩阵EX1的单个矢量的非零元素的值。它无需指定经验矩阵EX1的包含所述非零值的列的索引,因为可以从指向与所述值数组INDH关联的词的出现数组导出这一信息。然而值数组INDH除了非零元素的值之外还包括附加信息、例如经验矩阵EX1的包含非零值的列的索引。值数组INDH可以一起形成值矩阵。出现数组OCCL可以一起形成同现矩阵。
[0275] 图9b示出用于更新哈希表表示的经验矩阵EX1的方法步骤。在这一情况下,可以使用词表VOC1中包含的词的预定组,以便避免改变经验矩阵EX1的行数。可以忽略不属于所述预定词表VOC1的词。在步骤810中,可以接收词集。在步骤830中,可以校验词表VOC1中是否包含集中的词。可以在步骤820中忽略未包含在词表VOC1中的词以便避免改变经验矩阵EX1的行数。在步骤840中,可以通过使用词表VOC1和基本稀疏矩阵RM1(见图1a)来确定表示集中的每个词的基本稀疏矢量。备选地,可以向单个集中的每个词指派公共(即相同)稀疏矢量。可以通过使用一个或者多个基本稀疏矢量来更新在与集中的词wk关联的值数组INDHk中存储的元素值。可以使用在图1a至图2中描述的更新方法或者在图4a至图4b中描述的更新方法。个体元素值可以被增加、减少或者具有它的先前值。
[0276] 也可能在更新期间需要增加经验矩阵EX1的矢量的非零元素的数目。因此,可以增加值数组INDHk的长度以便存储附加值。在值数组INDHk中存储的值的位置可以按照与所述值数组表示的经验矩阵EX1的矢量中相同的顺序。这意味着也可以在值数组INDHk的中间和/或向值数组INDHk的末尾添加元素。
[0277] 在步骤860中,可以根据可能向值数组INDH添加的新元素来更新哈希表CAH1和出现数组OCCL。如果非零值存储于列(i)中的元素eik中,则可以更新哈希表CAH1以包含指向出现数组OCCL的指针,该出现数组OCCL又包含指向使用列(i)的词的一个或者多个指针。哈希表VOC1、CAH1以及数组INDH和OCCL包含经验矩阵EX1的同现数据。可以通过使用哈希表VOC1、CAH1以及数组INDH和OCCL、以哈希表格式表示经验矩阵EX1。
[0278] 图9c示出用于通过使用经验矩阵EX1来进行预测的方法步骤。可以根据图9a、以哈希表格式表示经验矩阵EX1。在步骤910中,可以接收包含一个或者多个查询词Q1、Q2的查询。在步骤920中,可以通过使用词表VOC1来标识经验矩阵EX1的与每个查询词Q1、Q2关联的矢量v。在以哈希表格式表示经验矩阵EX1时,矢量的非零值可以由数组INDH指定。
[0279] 在步骤930中,可以形成查询矢量QV1。在单个查询词Q1的情况下,经验矩阵EX1的关联矢量可以这样用作查询矢量QV1。在查询包括两个或者更多查询词Q1、Q2的情况下,可以将查询矢量QV1形成为步骤930中标识的矢量的组合。具体而言,可以将查询矢量QV1形成为步骤930中标识的矢量之和。
[0280] 在步骤940中,可以比较在步骤930中确定的查询矢量QV1与经验矩阵EX1的矢量。该比较可以包括计算查询矢量QV1与经验矩阵EX1的每个矢量之间的差。在以哈希表格式表示经验矩阵EX1时,矢量的非零值可以由数组INDH指定。在步骤950中,可以选择和提供跟与查询矢量QV1具有最小差的一个或者多个矢量关联的一个或者多个词作为预测词。预测词可以如以上描述的那样用于控制系统500的操作。
[0281] 因此,可以通过使用哈希表(VOC1,IND,CAH1,OCCL)来表示经验矩阵EX1,从而矩阵(EX1)的矢量(v1)具有矩阵(EX1)的列(i)中的非零元素(eik),并且哈希表(OCCLi)包含指针,该指针标识词表(VOC1)的与矢量(vk)关联的词(wk)。系统500或者系统500中的装置可以被配置为通过使用哈希表(VOC1,IND,CAH1,OCCL)来表示经验矩阵(EX1),从而矩阵(EX1)的矢量(v1)具有矩阵(EX1)的列(i)中的非零元素(eik),并且哈希表(OCCLi)包含指针,该指针标识词表(VOC1)的与矢量(vk)关联的词(wk)。
[0282] 有时,存储于数组INDH中的元素值可以在更新经验矩阵EX1期间变为零。在一个实施例中,可以从数组INDH去除零元素以便最小化存储器空间消耗。可以分别更新与去除的元素对应的表CAH1和数组OCCL。
[0283] 图10a示出基于一个或者多个原有词T1生成一个或者多个辅助词T2至T6。使用辅助词而不是原有词或者除了原有词之外还使用辅助词在更新经验矩阵EX1时和/或在进行预测时有时可以更有用。
[0284] 原有词可以例如是字符串“2012年1月2日09:03”。在实践中,另一基本上相同字符串“2012年1月2日09:04”将被解释为完全不同的词。这可能降低更新和使用经验矩阵EX1的效率。
[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]
[0289] 原有词可以例如指定位置。可以例如通过使用GPS坐标和/或通过提供位置的名称来指定位置。可以例如通过使用电子地图来从原有词确定指定位置的一个或者多个辅助词。例如系统500的第一设备可以位于称为“万塔”(在芬兰)的地点,并且系统500的第二设备可以位于称为“埃斯波”(在芬兰)的地点。
[0290] 例如可以例如通过使用电子地图或者位置词典从词“万塔”确定辅助词“芬兰南部”或者“芬兰首都区域”。
[0291] 例如可以例如通过使用电子地图或者位置词典从词“埃斯波”确定辅助词“芬兰南部”或者“芬兰首都区域”。
[0292] 归因于公共辅助词,第一设备收集的同现数据可以用来提供与第二设备的用户相关的预测。
[0293] 可以例如从因特网下载电子地图。一个或者多个辅助词可以由远程(因特网)服务提供。
[0294] 系统500的用户也可以将位置与名称关联。例如用户携带的便携设备可以例如通过GPS导航单元确定它的位置,并且该设备也可以要求使用给予用于检测到的位置的名称。用户给予的名称可以随后用作与所述(GPS)位置关联的词。名称可以例如是“家”、“学校”、“大学”或者“工作地点”。也可以基于较窄的统一资源定位符确定较宽的统一资源定位符(URL)。具体而言,可以基于因特网的较窄的统一资源定位符确定因特网的较宽的统一资源定位符。
[0295] 可以通过符号化和/或解析来从原有词形成一个或者多个辅助词T2、T3、T4。可以在集中使用一个或者多个辅助词T2至T6而不是原有词T1或者除了使用原有词T1之外还使用该一个或者多个辅助词T2至T6。
[0296] 参照图10b,可以基于具有较窄语义含义的原有词SPEC1(“物种”)确定具有较宽语义含义的辅助词GEN1(“类属”)。可以通过使用(语义)词典DC1从原有词SPEC1确定具有较宽语义含义的辅助词GEN1(“类属”)。例如可以基于原有词“披萨饼”确定词“餐食”或者“食物”。可以例如从(因特网)服务下载词典DC1。辅助词GEN1可以基于向服务传达的原有词通过远程服务提供。系统可以被配置为确定原有词的语义祖先(ancestor)GEN1。语义祖先GEN1可以随后用作集中的词或者用作查询的一部分。
[0297] 也可以(通过使用词典)基于具有较宽语义含义的原有词(“类属”)确定具有较窄语义含义的辅助词(“物种”)。系统可以被配置为确定原有词的语义后代(descendant)。这一操作可以用于例如在词表VOC1中未包含原有词、但是词表VOC1中包含具有较窄语义含义的词项的情形中存储同现数据。例如可以基于原有词“晚间”生成词“接近晚上9点”。然而这一操作有时可能涉及到添加部分错误的信息的风险。
[0298] 图11通过示例示出用于收集、存储和使用同现数据的系统500。可以基于通过使用作为经验矩阵EX1中的矢量存储的同现数据而确定的预测来控制系统500的操作。系统500可以包括用于更新经验矩阵EX1和用于提供预测的一个或者多个子系统400。在图7a和7f中示出子系统400的示例。系统500可以由单个设备构成,或者系统500可以包括布置为相互通信的多个设备。可以在单个设备中或者布置为相互通信的若干设备中实施子系统400。系统500可以包括具有一个或者多个服务器和一个或者多个用户设备的网络服务框架。可以在具有一个或者多个服务器和一个或者多个用户设备的网络服务框架中实施子系统400。
[0299] 如在图11的示例中所示,可以经由固定网络1210、比如因特网或者局域网(LAN)连接系统500的不同设备。备选地或者附加的,可以经由移动通信网络1220、比如全球移动通信系统(GSM)网络、第3代(3G)网络、第3.5代(3.5)网络、第4代(4G)网络、无线局域网(WLAN)、 或者其它现代和将来网络来连接设备。不同网络可以借助通信接口1280相互连接。网络(1210和/或1220)可以包括用于处理数据的网元、比如路由器和交换机(未示出)。网络可以包括用于为不同设备提供对网络的接入的通信接口、比如一个或者多个基站1230和1231。基站1230、1231可以本身经由固定连接1276和/或经由无线连接1277连接到移动通信网络1220。
[0300] 可以存在连接到网络的多个服务器。例如用于提供网络服务、比如社交媒体服务的服务器1240可以连接到网络1210。用于提供网络服务的第二服务器1241可以连接到网络1210。用于提供网络服务的服务器1242可以连接到移动通信网络1220。以上设备、例如服务器1240、1241、1242中的一些设备可以被布置为使得它们与在网络1210中驻留的通信单元组成因特网。
[0301] 系统500也可以包括终端用户设备、比如一个或者多个移动电话或者智能电话1251、一个或者多个因特网接入设备(互联网平板计算机)1250、一个或者多个个人计算机
1260、显示器或者图像投影仪1261(例如电视)、视频播放器1262和/或视频相机1263。
[0302] 这些设备1250、1251、1260、1261、1262和1263也可以由多个部分组成。一个或者多个设备可以经由通信连接、比如固定连接1270、1271、1272和1280连接到网络1210、1220。一个或者多个设备可以经由无线连接1273连接到网络1210、1220。一个或者多个设备可以经由无线连接1273连接到因特网。一个或者多个设备可以经由固定连接1275连接到移动网络1220。一个或者多个设备可以经由无线连接1278、1279和/或1282连接到移动网络1220。可以借助在通信连接的相应端的通信接口实现连接1271到1282。
[0303] 参照图12a,用户设备1251可以包括存储器1252、一个或者多个存储器1253、1256和在存储器1252中驻留的计算机程序代码1254,该计算机程序代码用于例如实施软件应用、比如浏览器或者用于发送和接收消息的应用的功能。
[0304] 系统500可以包括用户接口501。可以例如在便携设备中、例如在智能电话中实施用户接口501。接口501可以例如包括用于可视地显示信息和用于从用户接收命令的触屏。
[0305] 用户设备1251可以包括用户接口501。用户可以经由接口501接收信息。用户可以通过经由用户接口501给予命令来控制设备1251和/或系统500的操作。用户接口可以包括硬件、例如显示器、小键盘和/或触屏。用户接口可以包括用于查看屏幕上显示的图形元素的显示屏幕。用户接口也可以包括例如用于在触屏上显示各种不同虚拟键的软件应用。
[0306] 可以例如在静止或者可移动设备中实施用户接口501,该静止或者可移动设备包含被布置为基于手势识别从用户接收命令的相机。该设备可以包括布置为基于话音识别从用户接收命令的麦克风。用户无需与用户接口501的以部分(机械)接触。
[0307] 也可以在例如可以在用户的腕部周围缠绕的设备(即腕表类型设备)中实施用户接口501。可以例如在护目镜(眼镜)中实施用户接口501,这些护目镜(眼镜)可以例如包括用于显示信息的虚拟显示器和/或用于通过跟随用户的注视方向从他接收命令的注视方向检测器。
[0308] 也可以用不同方式布置系统500的多个部分。例如可以完全在一个用户设备、比如1250、1251或者1260中或者在一个服务器设备1240、1241或者1242中或者跨越多个用户设备1250、1251、1260或者跨越用户设备1250、1251、1260和网络设备1240、1241或者1242二者实现软件应用的执行。例如通过用户接口捕获用户输入可以在第一设备中发生,数据处理和向用户提供信息可以在第二(不同)设备中发生,并且同现数据处理子系统400可以在第三设备中驻留。可以将应用单元和库实现为在一个设备上驻留的软件部件。备选地,软件部件可以跨越若干设备分布。软件部件可以跨越若干设备分布以便形成云。
[0309] 用户设备1250、1251、1260也可以恰如各种网络设备1240、1241和1242那样充当web服务服务器。也可以跨越多个设备分布这一web服务服务器的功能。
[0310] 图12b示出服务器1240,该服务器包括存储器1245、一个或者多个处理器1246、1247和在存储器1245中驻留的计算机程序代码1248,该计算机程序代码用于例如实施软件应用、比如社交媒体服务的功能。图11中所示服务器1240、1241、1242可以包括用于采用与每个服务器相关的功能的这些单元。
[0311] 可以将不同实施例实施为在移动设备上并且可选地在提供基于网络的服务的设备上运行的软件。移动设备可以至少被配备一个或者多个存储器、一个或者多个处理器、显示器、小键盘、运动检测器硬件和通信装置、比如2G、3G、WLAN或者其它。不同设备可以具有硬件、比如触屏(单点触摸或者多点触摸),以及用于定位的装置、比如网络定位或者全球定位系统(GPS)模块。在设备上可以存在各种应用、比如日历应用、联系人应用、地图应用、消息收发应用、浏览器应用、图库应用、视频播放器应用以及用于办公和/或私人使用的各种其它应用。
[0312] 系统500可以被配置为执行各种任务。可以在系统中运行程序代码以便执行任务。这些任务可以例如包括创建文本、接收和发送消息、播放音乐、捕获视频、接收新闻、接收天气信息、更新和查看日历、在因特网中浏览和/或在城市的街道中导航等。系统还可以包括用于执行任务的一个或者多个功能(物理)单元。作为功能单元,系统可以例如包括视频相机、麦克风、音频再现单元、显示屏幕、图像投影仪、射频通信单元(WLAN、蓝牙、NFC)、能够与移动通信网络通信的单元、GPS导航单元等。
[0313] 可以例如从一个或者多个传感器G1获得用于集的词。传感器可以例如包括加速度传感器、位置传感器、麦克风、无线电接收器、照明传感器、相机、红外线辐射传感器、温度传感器、气压传感器、磁罗盘。
[0314] 用户设备可以由可再充电电池供电。例如用户设备可以由行进用户携带,从而用户设备的电池可以仅偶尔地(即未随时)被充电。收集的同现数据可以例如揭示消耗能量的功能通常在哪种情形中被用户激活。收集的同现数据可以例如揭示对电池再充电的可能性通常何时可用。
[0315] 在一个实施例中,电池操作的系统可以例如从不可靠电力网络、从本地发电机、从太阳能电池和/或从风轮机偶尔地被充电。同现数据可以例如揭示消耗能量的功能通常在哪种情形中被激活。同现数据可以揭示能量可用性通常如何依赖于例如时间(例如日间或者夜间)、季节(冬季或者夏季)、天气条件(风、无风、阳光、无阳光)。同现数据可以揭示电力网络的故障通常何时已经发生。
[0316] 系统500可以包括无间断电源(UPS)。在断电的情况下,可以基于子系统400提供的预测来关断非必需功能。
[0317] 词可以是字符串。词可以是数字。词可以包括序列,该序列包括字母和/或数字。词可以包括以二进制、十进制或者十六进制格式表示的ASCII码序列。词可以具有语义含义,但是这不是必需的。词也可以是统一资源标识符(URI)、比如统一资源名称(URN)或者统一资源定位符(URL)。词可以是缩写词或者首字母缩略词。“词”也可以称为“标签”。
[0318] 通过使用称为集的词组向经验矩阵EX1收集同现数据。词集也可以称为一组词或者称为词的集合。
[0319] 可以通过使用在经验矩阵EX1中存储的同现数据来进行预测。“预测”也可以包括确定表示当前事件或者以往事件的词、即它未必是指将来事件。预测可以意味着估计描述情形的一个或者多个可能词。
[0320] 即使在从大量集收集数据时仍然无需增加经验矩阵EX1的矢量的长度。在一个实施例中,经验矩阵EX1可以包括从NBG个集收集的同现数据,从而集(即文档)的数目NBG实质上高于经验矩阵EX1的列数m。
[0321] 词的“上下文”可以意味着所述词的语言环境,从而从所述环境排除所述词(本身)。在这一意义上,词不属于它自己的上下文。
[0322] 经验矩阵EX1和查询矢量QV1的矢量可以包括关于一个或者多个词的语言环境的信息。经验矩阵EX1的矢量也可以称为上下文矢量。查询矢量QV1也可以称为上下文矢量。
[0323] 一般而言,词表VOC1的条目可以是包含一个或者多个符号的字符串。
[0324] 在一个实施例中,词表VOC1的条目可以是数字而不是自然语言词。辅助表的条目可以是自然语言词,并且辅助表可以包含指向词表VOC1的数字的指针。自然语言的词可以通过使用辅助表被映射到数字。数字可以通过使用辅助表被映射到自然语言的词。辅助表可以例如称为自然语言词典。具体而言,辅助表可以是包含若干不同自然语言的词的多语言词典。第一自然语言的第一词和第二自然语言的第二词可以通过使用多语言词典来与词表VOC1的相同条目关联。第一自然语言的第一词和第二自然语言的第二词可以通过使用多语言词典来与词表VOC1的相同数字关联。多语言词典可以例如包括英语到数字词典、芬兰语到数字词典和/或德语到数字词典。因此,相同词表VOC1、相同基本矩阵RM1和/或相同经验矩阵EX1可以与英语、芬兰语和/或德语词一起使用。
[0325] 表1:用于将一个或者多个自然语言的词与数字关联的词典的示例
[0326]第一语言 第二语言 第三语言 数字
dog koira hund 23624521
cat kissa katze 63245234
meeting kokous versammlung 43254323
[0327] 在实行本专利或者专利申请期间无需翻译此表格的第2至4行的词。
[0328] 因此,系统500可以处理多语言信息。系统500可以例如经由因特网从若干不同状态收集信息。所得经验矩阵EX1可以独立于语言。可以全球地使用相同经验矩阵EX1。
[0329] 子系统400可以包括用于接收用于集(BAG1)的词(W3)的接口(501)。可以在单个设备中实施子系统400。子系统400的稀疏矢量供应(SUP1)和/或组合单元(LCU1)和/或控制单元(CNT1)可以被配置为通过使用词表(VOC1)来将词(W1,W2)与稀疏矢量(a1,a2)关联。稀疏矢量供应(SUP1)和/或组合单元(LCU1)和/或控制单元(CNT1)可以被配置为忽略未在词表(VOC1)中包含的词。稀疏矢量供应(SUP1)和/或组合单元(LCU1)和/或控制单元(CNT1)被配置为在其他词是系统词、统一资源定位符(URL)或者分类为词表词的词时向词表(VOC1)添加该其他词。
[0330] 系统500的功能中的一个或者多个功能可以由控制单元CNT1执行。子系统400的功能中的一个或者多个功能可以由控制单元CNT1执行。设备的功能中的一个或者多个功能可以由控制单元CNT1执行。控制器(WRU1)、稀疏矢量供应(SUP1)、一个或者多个组合器(LCU1,LCU2)、差分析单元(DAU1)可以由控制单元CNT1部分地或者完全地实施。系统500的设备(例如图11和12a中所示设备1251)、具体为设备的控制单元CNT1可以被配置为基于预测OUT1控制设备和/或系统。设备、具体为设备的控制单元CNT1可以被配置为基于预测OUT1控制用户接口501。设备、具体为设备的控制单元CNT1可以被配置为基于预测OUT1呈现菜单(B1,B2)(例如见图8b和8c)。设备、具体为设备的控制单元CNT1可以被配置为通过使用日历、词典、电子地图或者符号化从第一词W1、T1确定辅助查询词T6(见图10a和10b)。第一设备可以包括存储器MEM2。设备、具体为设备的控制单元CNT1可以被配置为使用预测OUT1作为浏览器的输入词或者作为用于社交网络服务的输入。设备、具体为设备的控制单元CNT1可以被配置为通过使用多语言词典来将第一自然语言的词和第二自然语言的不同词与矩阵EX1的相同矢量(例如vk)关联。设备、具体为设备的控制单元CNT1可以被配置为基于传感器(NAV1,G1)检测到的环境条件确定查询词(Q1)。设备、具体为设备的控制单元CNT1可以被配置为通过使用词表(VOC1)来将查询词(Q1,Q2)与矩阵(EX1)的矢量关联。
[0331] 系统500或者系统500的第一设备可以包括用于从第二设备的存储器向存储器MEM2复制经验矩阵EX1的矢量的接口。第一设备(例如设备1251)可以包括用于从第二设备(例如1240)的存储器向所述设备(1251)的存储器(MEM2)复制经验矩阵EX1的矢量的接口。
[0332] 对于本领域技术人员而言,将清楚的是根据本发明的设备的修改或变化是可设想的。各图是示意性的。以上参照附图描述的具体实施例仅为示例而不意味着限制本发明的范围,该范围由所附权利要求限定。