著录项信息
专利名称 | 信息处理装置、信息处理方法 |
申请号 | CN201410643597.1 | 申请日期 | 2014-11-10 |
法律状态 | 权利终止 | 申报国家 | 中国 |
公开/公告日 | 2015-05-20 | 公开/公告号 | CN104636419A |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | G06F17/30 | IPC分类号 | G;0;6;F;1;7;/;3;0;;;G;0;6;F;9;/;4;4查看分类表>
|
申请人 | 国际商业机器公司 | 申请人地址 | 美国纽约阿芒克
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 国际商业机器公司 | 当前权利人 | 国际商业机器公司 |
发明人 | 恐神贵行 |
代理机构 | 北京市金杜律师事务所 | 代理人 | 酆迅;陈颖 |
摘要
利用常规方法,许多相似的项(例如,不同颜色的产品等)被推荐给用户,并且因此无法向用户提供多个多样化的选择。本发明提供了一种信息处理装置,其被配置为从多个项中选择要向用户进行推荐的项的集合,该信息处理装置的特征在于包括:选择部,其被配置为针对多个项中的每个项计算优先级,该优先级针对具有高的分的项要被设置为高、而针对与所要选择的其它项具有高相似度的项则要被设置为低,并且被配置为基于该优先级从多个项中选择该项的集合;和输出部,其被配置为输出所选择项的集合中包括的每个项作为要被呈现给用户的项,并且还提供了一种使用该信息处理装置的信息处理方法、以及用于该信息处理装置的程序。
1.一种信息处理装置,被配置为从多个项中选择要向用户推荐的项的集合,所述信息处理装置包括:
选择部,被配置为针对所述多个项中的每个项而计算优先级,并且被配置为基于所述优先级从所述多个项中选择所述项的集合,所述优先级针对具有高得分的项将被设置为高、而针对与所要被选择的其它项具有高相似度的项将被设置为低;以及输出部,被配置为输出在所选择的项的集合中包括的每个项作为要向所述用户呈现的项,其中,
所述选择部通过将一个项与其它项之间的所述相似度设置为对应于所述一个项的行和对应于所述其它项的列中布置的元素而生成矩阵S,以及,其中
所述选择部生成具有各自被布置在对应于所述一个项的行和对应于所述其它项的列中的元素的矩阵L,所述元素中的每个元素基于通过将所述矩阵S中对应于所述一个项和所述其它项的元素、所述一个项的得分以及所述其它项的得分互相相乘而得到的值,以及基于所述矩阵L来选择所述项的集合。
2.根据权利要求1所述的信息处理装置,进一步包括:
得分计算部,被配置为基于所述用户之前已经选择了所述项的历史而计算所述项中的每个项的得分。
3.根据权利要求2所述的信息处理装置,进一步包括:
特征矢量获取部,被配置为获取表示所述多个项中的每个项的所述特征的特征矢量;
其中所述选择部基于两个或更多项中的每个项的所述特征矢量而计算两个或更多所述项的所述相似度。
4.根据权利要求3所述的信息处理装置,其中:
所述得分计算部基于置信度上限来计算所述得分。
5.根据权利要求3所述的信息处理装置,其中:
所述得分计算部基于所述项的选择的比率来计算所述项的所述得分,所述选择根据所述项对所述用户的所述呈现而被执行。
6.根据权利要求3的信息处理装置,其中:
该选择部:
基于以下表达式(1)和表达式(2)而从n个项的所述得分和所述特征矢量来生成所述矩阵L,
计算所述矩阵L的本征矢量和本征值,
通过从所述矩阵L的所述本征矢量中优先选择对应于大本征值的k个本征矢量而生成本征矢量的集合V,以及
基于所述集合V而从所述n个项中选择k个项作为所述项的集合,
[表达式1]
Lij=qiqjSij 表达式(1)
[表达式2]
其中n表示3或更大的自然数,k是2或更大并小于n的自然数,i和j满足1≤i,j≤n,qi表示第i个项的所述得分,Φi表示第i个项的所述特征矢量,并且Lij和Sij分别表示所述矩阵L和所述矩阵S的元素(i,j)。
7.根据权利要求6的信息处理装置,其中:
所述选择部通过重复执行以下处理直至所述集合V成为空集而选择所述k个项,选择处理,向所述n个项中的第i个项指派对应于由表达式(3)表示的优先级Pi的概率,并且基于被指派的所述概率选择第j个项,
集合生成处理,从所述集合V中删除一个任意矢量,并且通过将剩余矢量投射到如下空间中而生成新的集合V,在所述空间中,所述剩余矢量中的每个剩余矢量与第j个元素被设置为1的单位矢量ej正交,以及
标准化处理,对所述集合V中包括的所述矢量进行标准正交化,
[表达式3]
其中i是满足1≤i≤n的自然数,|V|表示所述集合V中包括的矢量的数量,vm表示所述集合V中包括的第m个矢量,并且ei表示第i个元素被设置为1的单位矢量。
8.根据权利要求3的信息处理装置,其中:
所述选择部:
基于表达式(4)从n个项中的每个项的所述得分和所述特征矢量生成矩阵C,计算所述矩阵C的本征矢量和本征值,
通过从所述矩阵C的所述本征矢量中优先选择对应于大本征值的k个本征矢量而生成本征矢量的集合V,以及
基于所述集合V从所述n个项中选择k个项作为所述项的集合,
[表达式4]
其中所述矩阵C是d×d的方形矩阵,d表示所述特征矢量的元素的数量,n表示3或更大的自然数,k是2或更大并小于n的自然数,i和j满足1≤i,j≤n,qi表示第i个项的所述得分,Φi表示第i个项的所述特征矢量,Cij表示所述矩阵C的每个元素(i,j),并且Φmi和Φmj分别表示所述特征矢量Φm的第i个和第j个元素。
9.根据权利要求8的信息处理装置,其中:
所述选择部通过重复执行以下处理直至所述集合V成为空集而选择所述k个项,选择处理,向所述n个项中的每个项指派对应于由表达式(5)表示的优先级Pi的概率,并且基于被指派的所述概率选择第j个项,
集合生成处理,从所述集合V中删除一个任意矢量w,并且通过分别基于表达式(6)将剩余矢量v更新为矢量v'而生成新的集合V,以及
标准化处理,对所述集合V中包括的所述矢量进行标准正交化,
[表达式5]
[表达式6]
v′=v-((vTqjΦj)/(wTqjΦj))w 表达式(6)
其中i是满足1≤i≤n的自然数,|V|表示所述集合V中包括的矢量的数量,vn表示所述集合V中包括的第n个矢量。
10.根据权利要求3的信息处理装置,其中:
所述选择部:
基于表达式(7)和表达式(8)从n个项中的每个项的所述得分和所述特征矢量生成矩阵M,
基于所述矩阵M从所述n个项中选择k个项作为所述项的集合,
[表达式7]
Mij=qi2qj2det(S[i,j;i,j]) 表达式(7)
[表达式8]
其中n表示3或更大的自然数,k是2或更大并小于n的自然数,i和j满足1≤i,j≤n,qi表示第i个项的所述得分,Φi表示第i个项的所述特征矢量,Mij和Sij分别表示所述矩阵M和所述矩阵S的元素(i,j),并且所述矩阵S[a,b;c,d]表示通过从所述矩阵S提取第a行和第b行以及第c列和第d列形成的子矩阵。
11.根据权利要求10的信息处理装置,其中:
所述选择部根据所述矩阵M的所述元素Mij的量级而选择第i个和第j个项作为项的集合。
12.根据权利要求1至11中任一项的信息处理装置,其中:
在所述项的所述集合中包括的所述项中,所述输出部输出与所述其它项相比更倾向具有高得分的项。
13.一种信息处理方法,用于由计算机从多个项中选择要向用户推荐的项的集合,所述信息处理方法包括:
选择步骤,针对所述多个项中的每个项计算优先级,并且基于所述优先级从所述多个项中选择所述项的集合,所述优先级针对具有高得分的项要被设置为高、而针对与要被选择的其它项具有高相似度的项要被设置为低;以及
输出步骤,输出所选择的项的集合中包括的每个项作为要向所述用户呈现的项,其中,所述选择步骤通过将一个项与其它项之间的所述相似度设置为对应于所述一个项的行和对应于所述其它项的列中布置的元素而生成矩阵S,以及,其中
所述选择步骤生成具有各自被布置在对应于所述一个项的行和对应于所述其它项的列中的元素的矩阵L,所述元素中的每个元素基于通过将所述矩阵S中对应于所述一个项和所述其它项的元素、所述一个项的得分以及所述其它项的得分互相相乘而得到的值,以及基于所述矩阵L来选择所述项的集合。
信息处理装置、信息处理方法\n技术领域\n[0001] 本发明涉及一种信息处理装置、一种信息处理方法以及一种程序,在其中的每一个中,从多个项中选择要向用户进行推荐的项。\n背景技术\n[0002] 用于推荐与用户的偏好相对应的项的方法是已知的(例如,专利文献1)。\n[0003] [引用列表]\n[0004] [专利文献]\n[0005] [专利文献1]JP2011-95814A\n发明内容\n[0006] 技术问题\n[0007] 常规方法根据用户的偏好计算项的得分,并且根据得分的量级来推荐项。由于该原因,利用常规方法,许多得分互相接近的相似的项(例如,不同颜色的产品等)被推荐给用户,并且因此可能无法向用户提供有用且多样化的选择。\n[0008] 针对问题的解决方案\n[0009] 本发明的第一方面提供了一种信息处理装置,其被配置为从多个项中选择要向用户进行推荐的项的集合,该信息处理装置的特征在于包括:选择部,其被配置为针对多个项中的每个项计算优先级,该优先级针对具有高得分的项要被设置为高、而针对与所要选择的其它项具有高相似度的项要被设置为低,并且被配置为基于该优先级从多个项中选择该项的集合;和输出部,其被配置为输出所选择项的集合中所包括的每个项作为要被呈现给用户的项,并且还提供了一种使用该信息处理装置的信息处理方法以及用于该信息处理装置的程序。\n[0010] 所要注意的是,本发明的上述发明内容中并未列出本发明所要求的所有特征。这些特征的集合的子组合也能够包括于本发明之中。\n附图说明\n[0011] 图1图示了本实施例的信息处理装置10的配置;\n[0012] 图2图示了本实施例的信息处理装置10的处理流程;\n[0013] 图3图示了本实施例中的项得分的示例;\n[0014] 图4图示了本实施例中的项的特征矢量的示例;\n[0015] 图5图示了本实施例的选择部106所生成的矩阵S的示例;\n[0016] 图6图示了本实施例的选择部106所生成的矩阵L的示例;\n[0017] 图7图示了本实施例的第一修改形式的处理流程;\n[0018] 图8图示了本实施例的第二修改形式的处理流程;\n[0019] 图9图示了本实施例的选择部106所生成的矩阵M的示例;\n[0020] 图10图示了计算机1900的硬件配置的示例。\n具体实施方式\n[0021] 在下文中,将通过实施例对本发明进行描述,但是以下实施例并非是关于本发明的范围的限制。另外,实施例中所描述的特征的所有组合对于本发明解决问题的手段而言并非必然是必要的。\n[0022] 图1图示了本实施例的信息处理装置10的配置。信息处理装置10优选地从多个项中选择均具有被用户所选择的高度可能性并且互相具有低相似度的多个项,并且输出所选择的多个项作为要向用户进行推荐的项。\n[0023] 信息处理装置10例如可以是服务器计算机,并且被配置为从数据库等获取有关商品或服务的信息作为项,以便向用户的终端供应所获得的有关物品等的信息作为能够被选择作为购买或显示目标的项。信息处理装置10包括得分计算部102、特征矢量获取部104、选择部106和输出部108。\n[0024] 得分计算部102基于项之前已经被用户所选择的历史而计算每个项的得分。例如,得分计算部102基于项的选择率、该选择由用户根据该项之前对用户的呈现所执行而计算项的得分。得分计算部102将所计算的项得分供应至选择部106。\n[0025] 特征矢量获取部104获取表示多个项中的每一个的特征的特征矢量。例如,特征矢量获取部104获取表示物品或服务的类别等的特征矢量。特征矢量获取部104将所获取的多个项的特征矢量提供至选择部106。\n[0026] 基于多个项中的每一个的得分和特征矢量,选择部106针对每个项计算优先级,其在项自身的得分高时被设置得高,而在其与所要选择的其它项的相似度高时被设置得低,并且基于所计算的项优先级而从多个项中选择项的集合。例如,选择部106可以通过使用行列式点处理(DPP)来计算优先级从而选择项的集合。选择部106将所选择项的集合提供至输出部108。\n[0027] 输出部108输出所选择项的集合中所包括的每个项而作为要向用户进行呈现的项。例如,输出部108向用户的终端提供有关要向用户进行呈现的项的信息。\n[0028] 以这种方式,信息处理装置10从多个项中选择均具有被用户所选择的高度可能性并且互相具有低相似度的多个项作为要向用户进行推荐的项,并且输出所选择项的集合。\n由此,利用信息处理装置10,有可能向用户呈现多样化的项的集合。\n[0029] 图2图示了本实施例的信息处理装置10所执行的处理流程。在本实施例中,信息处理装置执行S110至S200的处理并且因此通过使用DPP输出要向用户进行呈现的项的集合。\n在本实施例中,信息处理装置10是服务器计算机,其向用户的终端输出有关项的集合的信息。\n[0030] 在S110,得分计算部102计算多个项中的每一个的得分。例如,从得自于信息处理装置10之中或之外的数据库并且要由信息处理装置10所呈现的n个对象项中,得分计算部\n102获取之前作为选项呈现给用户的项并且还获取用户根据该呈现对项的选择历史。数量n可以是3或更大的自然数。\n[0031] 例如,得分计算部102可以获取之前已经被用户所购买的项或者其信息之前已经被用户选择为进行显示的项作为用户对项的选择历史。\n[0032] 接下来,得分计算部102通过将n个项中的第i个项i在该项i向用户呈现之后被用户所选择的次数除以项i已经被呈现给用户的次数而计算项i的选择比率。得分计算部102可以将所计算的比率设置为项i的得分qi。例如,在n个项目中第三个项目3已经被呈现给用户四次并且被用户选择两次的情况下,则得分计算部102可以计算得分q3为0.5。\n[0033] 由此,得分计算部102能够在项的得分中反映出项之前的选择记录。应当注意的是,“项已经被呈现给用户的次数”和“项在该项向用户呈现之后被用户所选择的次数”中的“用户”可以仅是操作信息处理装置10的用户,或者是包括其它用户在内的多个用户。\n[0034] 另外,得分计算部102可以基于置信度上限(Upper Confidence Bound)来计算项的得分q(UCB)i。例如,得分计算部102通过以下表达式来计算得分q(UCB)i。\n[0035] q(UCB)i=qi+(2log m/mi)1/2\n[0036] 应当注意的是,mi表示项的呈现次数,而m则表示所有项的呈现次数的总和。因此,得分计算部102能够为具有指示该项之前已经被呈现的次数很小的记录的项给予该得分。\n因此,除了该项之前已经被选择的次数的记录之外,得分计算部102能够在得分中反映出该项在未来被选择的概率。\n[0037] 这里,在所选择的项i没有历史存在的情况下,得分计算部102可以将得分qi设置为预定值,例如非常大的数(例如,当得分计算部102通过Java(注册商标)所实现时,可以使用Double.MAX_VALUE,而当得分计算部102通过Python所实施时,则可以使用numpy.inf)。\n得分计算部102将qi或q(UCB)i提供至选择部106。\n[0038] 接下来,在S120,特征矢量获取部104获取n个项中的每一个的特征矢量。例如,针对n个项(1≤i≤n)中的每一个项i,特征矢量获取部104获取特征矢量Φi,,其将物品或服务的类别以及物品的特征或服务的特征表示为矢量,上述物品的特征诸如类型、生产商、生产地区、销售起始日期、销售需求、重量、大小、价格和颜色。特征矢量获取部104将所获取的n个特征矢量提供至选择部106。\n[0039] 接下来,在S130,选择部106生成矩阵S,其表示一个项与其它项之间的相似度,并且其由对应于一个项的行以及对应于其它项的列所配置。\n[0040] 例如,首先,选择部106基于两个或更多项的特征矢量中的每一个计算两个或更多项的相似度。例如,选择部106使用项i的特征矢量Φi和项j的特征矢量Φj通过表达式(1)来计算项i和项j之间的相似度Sij。应当注意的是,i和j是被设置为满足1≤i,j≤n的自然数。\n[0041] [表达式1]\n[0042] 表达式(1)\n[0043] 接下来,选择部106生成n×n的正方形矩阵S,其中相似度Sij被设置为第i行和第j列中的元素。\n[0044] 接下来,在S140,选择部106从n个项的得分qi和特征矢量Φi生成矩阵L。例如,基于通过将矩阵S中对应于一个项和其它项的元素相乘所获得的值,一个项的得分以及其它项的得分,选择部106生成矩阵L,其具有对应于一个项的行以及对应于其它项的列中的元素。\n特别地,从第i和第j个项的得分qi和qj以及矩阵S的第i和第j个元素Sij,选择部106通过表达式2计算第i和第j个元素Lij以生成n×n的正方形矩阵L。\n[0045] [表达式2]\n[0046] Lij=qiqjSij (表达式2)\n[0047] 接下来,在S150,选择部106从矩阵L生成本征矢量的集合V。例如,选择部106计算矩阵L的n个本征矢量和n个本征值,并且从该n个本征矢量中选择k个本征矢量。例如,选择部106通过从n个本征矢量中优先选择具有大的本征值的k个本征矢量而生成本征矢量的集合V。这里,k是2或更大且小于n的自然数,并且对应于由信息处理装置10呈现给用户的项的数量。\n[0048] 接下来,在S160,选择部106基于集合V从n个项中选择一个项。例如,选择部106将对应于表达式(3)所表达的优先级Pi的概率指派给n个项中的第i个项,并且基于所分配的概率选择一个项。这里,假设选择部106选择了满足1≤j≤n的第j个项。\n[0049] [表达式3]\n[0050] 表达式(3)\n[0051] 应当注意的是,|V|表示集合V中所包括的本征矢量的数量,而vm表示集合V中所包括的第m个本征矢量,并且i为满足1≤i≤n的自然数,并且ei表示第i个元素被设置为1的单位矢量。\n[0052] 接下来,在S170,选择部106从集合V中删除一个任意数量。进一步,选择部106通过将剩余矢量投射到一个空间中而生成新的集合V,在上述空间中,剩余矢量中的每一个与第j个元素被设置为1的单位矢量ej正交。\n[0053] 例如,针对每个并未被删除的剩余矢量v,选择部106计算v'=v-(vj/wj)w以获取新的矢量v'并且形成由多个新矢量所组成的集合V。应当注意的是,w表示所删除的矢量,vj表示矢量v的第j个元素,而wj则表示所删除矢量w的第j个元素。应当注意的是,当在S170中,集合V在删除一个任意数量之后成为空集时,省去了用于生成新集合V的处理。\n[0054] 接下来,在S180中,选择部106确定集合V是否为空集。当确定集合V为空集时,选择部106将该处理进行至S200,否则选择部106将该处理进行至S190。\n[0055] 在S190,选择部106执行标准化处理以便对新集合V中所包括的矢量进行标准正交化。例如,选择部106通过使用克莱姆-施密特(Gram-Schmidt)方法等对集合V中所包括的矢量进行标准正交化,并且将经标准正交化的矢量的集合设置为新的集合V。随后,选择部106将该处理进行至S160。\n[0056] 以这种方式,选择部106通过重复S160至S190的处理而基于集合V从n个项中选择k个项作为项的集合,直至集合V变为空集。\n[0057] 在S200,信息处理装置10将所选择的项呈现给用户。例如,选择部106将所选择项的集合提供至输出部108,并且输出部108输出所选择项的集合中所包括的每个项作为要对用户进行呈现的项。例如,输出部108可以像用户的终端供应有关项的集合中所包括的项的信息。\n[0058] 这里,输出部108可以输出项的集合中所包括并且具有可能高于其它项的高得分的项。例如,输出部108可以像用户的终端提供所选择项中的部分项,项的该部分具有高得分。\n[0059] 另外,例如,输出部108可以像用户的终端提供有关与每个所选择项相关联的每个所选择项的得分的信息。响应于此,用户的终端可以在其它项之前显示具有高得分的项,或者可以以比其它项的大小更大的大小显示具有高得分的项。\n[0060] 以这种方式,信息处理装置10基于多个项中的每一个的得分和相似度生成矩阵L,并且基于该矩阵L选择项的集合。由此,信息处理装置10选择了具有高得分且互相并不相似的其它项相比具有更高概率的多个项,并且输出多个所选择项作为要向用户进行推荐的项的集合。由此,利用信息处理装置10,有可能向用户呈现用户所喜好的多样化项的集合,同时对项的选择提供随机性并防止每次选择时都选择相同的项。\n[0061] 这里,可以进行配置而使得在S200之后,信息处理装置10获取用户从S200中所呈现的项中对项进行的选择的结果、并且根据所选择的项来执行处理。例如,信息处理装置10可以从用户终端获取用户所选择的项,从而执行其中用户所选择的项被用户所购买的处理。另外,信息处理装置10可以存储呈现给用户并且被用户所选择的项,而使得该项的得分在S110的下一次处理中得以被更新。\n[0062] 图3图示了本实施例中的项得分的示例。如图3所示,得分计算部102在S110中计算了六个项1至6的得分q1至q6。\n[0063] 图4图示了本实施例中的项的特征矢量的示例。如图4所示,特征矢量获取部104针对六个项1至6中的每一个获取特征矢量。例如,特征矢量获取部104将每个项的价格和重量中的每一个标准化为0到1的实际值(real value),并且将每个项的颜色中的RGB的每个分量标准化为b至1的实际值。\n[0064] 结果,特征矢量获取部104获取了项1的特征矢量Φ1=(1,0,1,b,b),项2的特征矢量Φ2=(1,0,b,1,b),项3的特征矢量Φ3=(1,0,b,b,1),项4的特征矢量Φ4=(0,1,1,b,b),项5的特征矢量Φ5=(0,1,b,1,b),以及项6的特征矢量Φ6=(0,1,b,b,1)。\n[0065] 应当注意的是,特征矢量的每个分量可以被加权,并且信息处理装置10基于来自用户的反馈结果来确定加权系数。例如,其可以被配置为使得信息处理装置10向用户呈现多个项,并且从用户接收多个项之间的相似度,从而根据多个项之间的相似度来执行加权。\n例如,信息处理装置可以确定特征矢量的权重而使得通过130中的处理而针对项所计算的被用户确定为具有大/小的相似度的相似度被增加/减小。\n[0066] 另外,信息处理装置10可以关于通过对多个项执行有关加权系数的处理所获得的结果来确定并调节加权系数。例如,信息处理装置10可以被配置为通过分别利用加权系数的多种不同模式对特征矢量进行加权来获取项的特征矢量,并且向用户呈现项,并且作为向用户进行呈现的结果而可以被配置为最终采用被用于对具有被用户选择的高概率的项的特征矢量进行加权的模式的加权系数作为高度可靠的值。\n[0067] 图5图示了本实施例的选择部106在步骤S130中针对六个项1至6所生成的矩阵S的示例。选择部106基于图4所示的项1至6的特征矢量来计算矩阵S的元素的每个值。例如,选择部106将b设置为b=0.5,并且根据项1的特征矢量Φ1=(1,0,1,0.5,0.5)和项5的特征矢量Φ5=(0,1,1,0.5,1,0.5)计算Φ1TΦ5/|Φ1||Φ5|的值以获得值1.25/2.5=0.5作为矩阵S中第一行和第五列的元素S15。\n[0068] 矩阵S表示相应项之间的相似度。例如,矩阵S中第一行和第三列的元素S13为0.9,而S中第一行和第五列的元素S15为0.5。这表明与项5相比,作为具有不同于项1的颜色的颜色的产品的项3与项1更为相似。\n[0069] 图6图示了本实施例的选择部106在步骤S140中针对六个项1至6所生成的矩阵L的示例。选择部106通过将矩阵S中的元素中的每个元素与对应于该元素中的每个元素的两个项的得分相乘而得到矩阵L。例如,选择部106将图5所示的矩阵S的元素S15=0.5乘以项1的得分q1=0.9以及项5的得分q5=0.8以获得0.36作为矩阵L中第一行和第五列的元素L15的值。\n[0070] 图7图示了本实施例的第一修改形式中由信息处理装置10所执行的处理流程。在该修改形式中,信息处理装置10执行S210至S290的处理,并且通过使用矩阵C而不是矩阵L来选择项的集合。在该修改形式中,在与图2所示的方法有所不同的方法中使用DPP。\n[0071] 信息处理装置10可以类似于S110和S120的处理执行S210和S220的处理。\n[0072] 在S230,基于表达式(4),选择部106根据n个项中满足1≤m≤n的每个项的得分qm和特征矢量Φm生成d×d的方形矩阵C,其具有作为第i行和第j列的分量(i,j)的Cij。\n[0073] [表达式4]\n[0074] 表达式(4)\n[0075] 这里,假设d是特征矢量Φm的维数,也就是特征的数量。在图4所示的示例中,d被设置为d=5。i和j的值满足1≤i,j≤d,并且Φmi和Φmj分别表示特征矢量Φm的第i和第j个元素。\n[0076] 接下来,在S240,选择部106从矩阵C生成本征矢量的集合V。例如,选择部106计算矩阵C的n个本征矢量和n个本征值并且从该n个本征矢量中选择k个本征矢量。例如,选择部\n106通过从n个本征矢量中优先选择对应于大的本征值的k个本征矢量而生成本征矢量的集合V。这里,k是2或更多并且小于n的自然数,并且其对应于信息处理装置10所呈现的项的数量。\n[0077] 接下来,在S250,选择部106基于该集合V而从n个项中选择一个项。例如,选择部\n106向n个项中的第i个项指派与表达式(5)所表达的优先级Pi相对应的概率,并且基于被指派给n个项中的每一个的优先级来选择一个项。这里,假设选择部106选择了满足1≤j≤n的第j个项。\n[0078] [表达式5]\n[0079] 表达式(5)\n[0080] 应当注意的是,i是满足1≤i≤n的自然数,|V|表示集合V中所包括的本征矢量的数量,而vn则表示集合V中所包括的第n个本征矢量。\n[0081] 接下来,在S260,选择部106从集合V中删除一个任意矢量w。另外,基于表达式(6),选择部106将剩余矢量v中的每一个更新为矢量v'并且将经更新的矢量v'设置为新的集合V。应当注意的是,当集合V在删除一个任意矢量之后成为空集时,省去用于生成新集合V的处理。\n[0082] [表达式6]\n[0083] v′=v-((vTqjΦj)/(wTqjΦj))w 表达式(6)\n[0084] 接下来,在S270,选择部106确定集合V是否为空集。当确定集合V为空集时,选择部\n106将该处理进行至S290,否则,选择部106将该处理进行至S280。\n[0085] 在S280,选择部106执行标准化处理以便对新集合V中所包括的矢量进行标准正交化。例如,选择部106通过使用克莱姆-施密特方法等对集合V中所包括的矢量进行标准正交化,并且将经标准正交化的矢量的集合设置为新的集合V。这里,当选择部106基于克莱姆-施密特方法执行标准正交化时,选择部106对集合V的元素矢量进行变换而使得从集合V所T T\n选择的任意元素矢量v和w满足vCv=1和vCw=0,而不是对任意元素矢量v和w进行变换而满足vTv=1和vTw=0。例如,选择部106可以通过利用vTCw的各部分替换通过常规克莱姆-施密特方法所计算的vTw的所有部分来执行该处理。随后,选择部106将该处理进行至S250。\n[0086] 以这种方式,选择部106通过重复S250至S280的处理而基于集合V从n个项中选择k个项作为项的集合直至集合V变为空集,并且选择部106由此将所选择的k个项设置为项的集合。\n[0087] 在S290,信息处理装置10执行与S200中相同的处理。\n[0088] 以这种方式,信息处理装置10基于多个项中的每一个的得分和特征矢量而生成了矩阵C,并且基于矩阵C选择项的集合。由此,利用信息处理装置10,有可能向用户呈现以满足用户偏好的多样化的项的集合,同时使得能够对项进行随机选择并且防止在每次选择时选择相同的项。\n[0089] 图8图示了本实施例的第一修改形式中由信息处理装置10所执行的处理流程。在该修改形式中,信息处理装置10执行S310至S350的处理以从n个项中选择包括两个项的项的集合。\n[0090] 信息处理装置10可以类似于S110和S120的处理执行S310和S320的处理。\n[0091] 在S330,选择部106从n个项中的每一个的得分qi和特征矢量Φi生成矩阵M。\n[0092] 首先,类似于S130,选择部106从n个项的得分qi和特征矢量Φi生成矩阵S。接下来,选择部106通过使用n个项的得分qi和矩阵S中第i行和第j列的元素Sij利用表达式(7)计算第i行和第j列的元素Mij而生成n×n的方形矩阵M。\n[0093] [表达式7]\n[0094] Mij=qi2qj2det(S[i,j;i,j]) 表达式(7)\n[0095] 这里,n是3或更大的自然数,i和j满足1≤i,j≤n,矩阵S[a,b;c,d]表示通过提取矩阵S的a和b行和c和d列所形成的子矩阵,而det(S)表示矩阵S的行列式。\n[0096] 接下来,在S340,选择部106根据矩阵M的分量Mij的量级而选择第i和第j个项作为项的集合。例如,选择部106可以选择矩阵M中的最大分量Mij作为第i和第j个项。另外,例如,选择部106可以基于对应于分量Mij的大小的量级来选择第i和第j个项。\n[0097] 在S350,信息处理装置10执行与S200中相同的处理。\n[0098] 以这种方式,信息处理装置10基于多个项中的每一个的得分和特征矢量而生成了矩阵M,并且基于该矩阵M来选择项的集合。由此,利用信息处理装置10,有可能向用户呈现满足用户偏好的多样化的项的集合,同时使得能够对项进行随机选择并且防止在每次选择时选择相同的项。\n[0099] 图9图示了本实施例的选择部106在S330中针对六个项1至6所生成的矩阵M的示例。选择部106通过将矩阵S的子矩阵的行列式与分别对应于矩阵M的元素的两个项的得分相乘而获得矩阵M。例如,选择部106计算图5所示的矩阵S中所包括并且对应于项2和项3的子矩阵S[2,3;2,3],并且因此行列式被计算为1×1-0.9×0.9=0.19。接下来,选择部106将所计算的值0.19乘以项2的得分0.7的平方以及项3的得分0.9的平方以得到数值0.075,并且将该数值设置为矩阵M的第二行和第三列中的元素M2_3。\n[0100] 在本实施例和修改形式中,描述了其中信息处理装置10是提供用户终端中所选择的项的信息的服务器计算机的情形。可替换地,信息处理装置10可以是从膝上计算机、台式计算机、便携式信息终端、便携式电话终端等中所选择的用户终端。在这种情况下,信息处理装置10的输出部108可以显示与在显示屏等上所选择的项的集合相关的信息。\n[0101] 图10图示了作为信息处理装置10进行工作的计算机1900的硬件配置的示例。根据本实施例的计算机1900包括:CPU外设部,其包括CPU 2000、RAM 2020、图形控制器2075和显示设备2080,它们通过主机控制器2082互相连接;输入输出部,其包括通信接口2030、硬盘驱动器2040和CD-ROM驱动器2060,它们通过输入/输出控制器2084连接至主机控制器2082;\n传统输入输出部,其包括ROM 2010、软盘驱动器2050和输入/输出芯片2070,它们连接至输入/输出控制器2084。\n[0102] 主机控制器2082将RAM 2020、以高传输速率访问RAM 2020的CPU 2000以及图形控制器2075互相连接。CPU 2000基于ROM2010和RAM 2020中所存储的程序进行操作从而执行相应部分的控制。\n[0103] 图形控制器2075从显示部114获取由CPU 2000在RAM 2020中所提供的帧缓冲器上所生成的图像数据等,并且使得该图像数据在显示设备2080上进行显示。可替换地,图形控制器2075可以在其中包括帧缓冲器,其存储由CPU 2000所生成的图像数据等。\n[0104] 输入/输出控制器2084将主机控制器2082连接至通信接口2030、硬盘驱动器2040和CD-ROM驱动器2060,它们中的每一个是相对高速的输入/输出设备。通信接口2030经由有线或无线网络而执行与其它装置的通信。\n[0105] 另外,通信接口用作在信息处理装置10中执行通信的硬件。硬盘驱动器2040存储计算机1900中的CPU所使用的程序和数据。CD-ROM驱动器2060从CD-ROM 2095读取程序或数据,并且将该程序或数据经由RAM 2020提供至硬盘驱动器2040。\n[0106] 另外,输入/输出控制器2084连接至ROM 2010、软盘驱动器2050和输入/输出芯片\n2070,它们均为相对低速的输入/输出设备。取决于计算机1900的硬件,ROM 2010存储计算机1900在启动时所执行的引导程序和/或程序。\n[0107] 软盘驱动器2050从软盘2090读取程序或数据,并且将该程序或数据经由RAM 2020提供至硬盘驱动器2040。输入/输出芯片2070将软盘驱动器2050连接至输入/输出控制器\n2084,并且还将各种输入/输出设备例如经由并行端口、串行端口、键盘端口、鼠标端口等连接至输入/输出控制器2084。\n[0108] 经由RAM 2020提供至硬盘驱动器2040的程序由用户所提供并且存储在诸如软盘\n2090、CD-ROM 2095或IC卡之类的记录介质中。该程序从记录介质被读取并经由RAM 2020安装在计算机1900中的硬盘驱动器2040中,从而在CPU 2000中执行。\n[0109] 安装在计算机1900中以使得计算机1900作为信息处理装置10进行工作的程序包括得分计算模块、特征矢量获取模块、选择模块和输出模块。这些程序或模块可以由CPU \n2000等所执行以便使得计算机1900作为得分计算部102、特征矢量获取部104、选择部106和输出部108中的每一个进行工作。\n[0110] 当这些程序被读入计算机1900时,被描述为这些程序的信息处理模块分别作为得分计算部102、特征矢量获取部104、选择部106和输出部108进行工作,它们是通过该软件与以上所描述的各种类型的硬件资源之间的协同操作所配置的具体装置。另外,利用这些具体装置,对应于本实施例中的计算机1900的使用用途的信息的算术运算或处理得以被实现,从而配置对应于该使用用途的信息处理装置。\n[0111] 例如,当在计算机1900和外部装置等之间执行通信时,CPU 2000执行加载于RAM \n2020中的通信程序,并且指示通信接口2030基于该通信程序中所描述的处理内容来执行通信处理。\n[0112] 在CPU 2000的控制下,通信接口2030读取在诸如RAM 2020、硬盘驱动器2040、软盘\n2090或CD-ROM 2095的存储设备中所提供的传输缓冲区等中所存储的传输数据,从而将该传输数据传送至网络,或者将从网络所接收的接收数据写入存储设备中所提供的接收缓冲区等。\n[0113] 以这种方式,通信接口2030可以通过DAM(直接存储器访问)方法在存储设备之间传送传输和接收数据。可替换地,CPU 2000可以以使得CPU 2000从均作为传输源的存储设备或通信接口2030读取数据并且CPU 2000将该数据写入均作为传输目的地的通信接口\n2030或存储设备的方式来传送传输和接收数据。\n[0114] 另外,通过DMA传输等,CPU 2000将诸如硬盘驱动器2040、CD-ROM驱动器2060(CD-ROM 2095)或软盘驱动器2050(软盘2090)的外部存储设备中所存储的文件、数据库等的全部或必要部分读入RAM 2020中,并且对RAM 2020中的数据执行各种类型的处理。\n[0115] 随后,CPU 2000通过DAM传输方法等将经处理的数据写回外部存储设备。在这样的处理中,RAM 2020可以被视为临时存储外部存储设备的内容的设备,并且因此在本实施例中,RAM 2020、外部存储设备等共同被称作存储器、存储区、存储设备等。\n[0116] 本实施例中诸如各种类型的程序、数据、表和数据库的各种信息被存储在存储设备中并且可以成为信息处理的对象。应当注意的是,CPU 2000将RAM 2020中所存储的信息的一部分存储在高速缓存存储器中并且能够往来于高速缓存存储器执行信息的读取和写入操作。甚至在这样的配置中,高速缓存存储器可以执行RAM 2020的部分功能。因此,在本实施例中,除了区分并示出高速缓存存储器的情形之外,假设高速缓存存储器包括在RAM \n2020、存储器和/或存储设备中。\n[0117] 另外,CPU 2000对从RAM 2020所读取的数据执行各种处理,上述处理由程序的指令序列所指定并且在本实施例进行描述,并且包括各种算术运算、信息处理、条件确定、信息搜索和替换,等等。随后,CPU 2000将处理结果写回到RAM 2020。例如,当执行条件确定时,CPU 2000确定本实施例中所示的各种变量是否大于、小于、等于或多于、等于或少于或者等于其它变量或常数。当条件满足时(或者当条件并未满足时),CPU 2000将处理分支到不同指令序列或者调用子例程。\n[0118] 另外,CPU 2000能够搜索存储在存储设备中的文件、数据库等中的信息。例如,在存储设备中存储多个条目,其中使得每一个中的第一属性的属性值对应于第二属性的属性值的情况下,CPU 2000能够从存储设备中所存储的多个条目中搜索具有第一属性的属性值的条目,该属性值与所指定的条件相匹配,并且读取存储在所搜索条目中的第二属性的属性值。作为结果,CPU 2000能够获得第二属性的属性值,该属性值被使得对应于满足预定条件的第一属性。\n[0119] 以上所描述的程序或模块能够存储在外部记录介质中。作为记录介质,除了软盘\n2090和CD-ROM 2095之外,可能使用诸如DVD或CD之类的光学记录介质,诸如MO的光学磁性记录介质、带式介质、诸如IC卡的半导体存储器。另外,提供在连接至专用通信网络或互联网的服务器系统中的诸如硬盘或RAM之类的存储设备可以被用作记录介质,以便经由网络向计算机1900提供程序。\n[0120] 虽然以上已经对本发明的实施例进行了描述,但是本发明的技术范围并不局限于以上所描述的实施例的范围。对于本领域技术人员明显的是,能够对实施例进行各种变化或改进。通过所附权利要求的描述同样明显的是,包括这样的变化或改进的实施方式包括在本发明的技术范围之内。\n[0121] 应当注意的是,诸如权利要求、说明书和附图的范围中所示出的设备、系统、程序和方法的操作、过程、步骤和阶段之类的处理的执行顺序并未通过使用诸如“之前”、“先于”之类的表达形式而特别清楚地进行规定,并且那些处理能够以任意顺序来执行,除非来自之前处理的输出要在其后续的处理中使用。即使操作流程在权利要求、说明书和附图中出于方便的原因而通过使用“第一”、“下一个”等进行了解释,但是这并非意味着操作必须以该顺序来执行。\n[0122] 附图标记列表\n[0123] 10...信息处理装置\n[0124] 102...得分计算部\n[0125] 104...特征矢量获取部\n[0126] 106...选择部\n[0127] 108...输出部\n[0128] 1900...计算机\n[0129] 2000...CPU\n[0130] 2010...ROM\n[0131] 2020...RAM\n[0132] 2030...通信接口\n[0133] 2040...硬盘驱动器\n[0134] 2050...软盘驱动器\n[0135] 2060...CD-ROM驱动器\n[0136] 2070...输入/输出芯片\n[0137] 2075...图形控制器\n[0138] 2080...显示设备\n[0139] 2082...主机控制器\n[0140] 2084...输入/输出控制器\n[0141] 2090...软盘\n[0142] 2095...CD-ROM
法律信息
- 2021-10-26
未缴年费专利权终止
IPC(主分类): G06F 17/30
专利号: ZL 201410643597.1
申请日: 2014.11.10
授权公告日: 2018.08.17
- 2018-08-17
- 2015-06-17
实质审查的生效
IPC(主分类): G06F 17/30
专利申请号: 201410643597.1
申请日: 2014.11.10
- 2015-05-20
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| |
2011-11-23
|
2011-07-22
| | |
2
| |
2011-11-09
|
2010-04-20
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |