一种相似性度量的方法以及系统.pdf

上传人:00****42 文档编号:623246 上传时间:2018-02-26 格式:PDF 页数:16 大小:1.05MB
返回 下载 相关 举报
摘要
申请专利号:

CN201410244544.2

申请日:

2014.06.04

公开号:

CN104102691A

公开日:

2014.10.15

当前法律状态:

授权

有效性:

有权

法律详情:

授权|||实质审查的生效IPC(主分类):G06F 17/30申请日:20140604|||公开

IPC分类号:

G06F17/30

主分类号:

G06F17/30

申请人:

百度移信网络技术(北京)有限公司

发明人:

朱宝

地址:

100085 北京市海淀区农大南路1号院4号楼4层401、402、403、405、407、408单元

优先权:

专利代理机构:

北京东方亿思知识产权代理有限责任公司 11258

代理人:

杜立健

PDF下载: PDF下载
内容摘要

本发明涉及一种相似性度量的方法以及系统。所述相似性度量方法包括:数据获取步骤,获取集合a中的元素item_a和集合b中的元素item_b、以及集合a中的元素item_a对集合b中的元素item_b无差别的相似性操作次数sim(item_a,item_b);相似度计算步骤,执行基于下式的集合b内部元素item_bi与元素item_bj的相似性值sim’(Item_bi,Item_bj)的计算,其中,i,j,m,n表示集合中元素的标号,k是归一化因子。

权利要求书

1.  一种相似性度量方法,其特征在于,包括:
数据获取步骤,获取集合a中的元素item_a和集合b中的元素item_b、以及集合a中的元素item_a对集合b中的元素item_b无差别的相似性操作次数sim(item_a,item_b);
相似度计算步骤,执行基于下式的集合b内部元素item_bi与元素item_bj的相似性值sim’(Item_bi,Item_bj)的计算,
sim(Item_bi,Item_bj)=k*Σm(sim(Item_am,Item_bi)*sim(Item_am,Item_bj)Σnsim(Item_am,Item_bn)*Σnsim(Item_am,Item_bn)*Σnsim(Item_an,Item_bi)*Σnsim(Item_an,Item_bj))]]>
其中,i,j,m,n表示集合中元素的标号,k是归一化因子。

2.
  如权利要求1所述的相似性度量方法,其特征在于,
将相似性操作发生时间设为t(item_a,item_b),并设
G=sim(Item_am,Item_bi)*sim(Item_am,Item_bj)Σnsim(Item_am,Item_bn)*Σnsim(Item_am,Item_bn)*Σnsim(Item_an,Item_bi)*Σnsim(Item_an,Item_bj)]]>
在考虑与时间有关的时间滤波函数f(t(item_am,item_bi),t(item_am,item_bj))的情况下,集合b内部的元素item_bi与元素item_bj的相似性值为
sim(Item_bi,Item_bj)=k*Σm(G*f(t(Item_am,Item_bi),t(Item_am,Item_bj)).]]>

3.
  如权利要求2所述的相似性度量方法,其特征在于,
所述时间滤波函数f(t(item_am,item_bi),t(item_am,item_bj))是低通滤波函数,在时间上越接近,函数值越大。

4.
  如权要求3所述的相似性度量方法,其特征在于,
所述时间滤波函数为:
f(t(Item_am,Item_bi),t(Item_am,Item_bj)=β|t(Item_am,Item_bi)-t(Item_am,Item_bj)|]]>
其中,β是小于1大于0的低通滤波系数。

5.
  一种相似性度量系统,其特征在于,包括:
数据获取单元,其获取集合a中的元素item_a和集合b中的元素item_b、以及集合a中的元素item_a对集合b中的元素item_b无差别的相似性操作次数sim(item_a,item_b);
相似度计算单元,其执行基于下式的集合b内部元素item_bi与元素item_bj的相似性值sim’(Item_bi,Item_bj)的计算,
sim(Item_bi,Item_bj)=k*Σm(sim(Item_am,Item_bi)*sim(Item_am,Item_bj)Σnsim(Item_am,Item_bn)*Σnsim(Item_am,Item_bn)*Σnsim(Item_an,Item_bi)*Σnsim(Item_an,Item_bj))]]>
其中,i,j,m,n表示集合中元素的标号,k是归一化因子。

6.
  如权利要求5所述的相似性度量系统,其特征在于,
将相似性操作发生时间设为t(item_a,item_b),并设
G=sim(Item_am,Item_bi)*sim(Item_am,Item_bj)Σnsim(Item_am,Item_bn)*Σnsim(Item_am,Item_bn)*Σnsim(Item_an,Item_bi)*Σnsim(Item_an,Item_bj)]]>
在考虑与时间有关的时间滤波函数f(t(item_am,item_bi),t(item_am,item_bj))的情况下,集合b内部的元素item_bi与元素item_bj的相似性值为
sim(Item_bi,Item_bj)=k*Σm(G*f(t(Item_am,Item_bi),t(Item_am,Item_bj)).]]>

7.
  如权利要求6所述的相似性度量系统,其特征在于,
所述时间滤波函数f(t(item_am,item_bi),t(item_am,item_bj))是低通滤波函数,在时间上越接近,函数值越大。

8.
  如权要求7所述的相似性度量系统,其特征在于,
所述时间滤波函数为:
f(t(Item_am,Item_bi),t(Item_am,Item_bj)=β|t(Item_am,Item_bi)-t(Item_am,Item_bj)|]]>
其中,β是小于1大于0的低通滤波系数。

说明书

一种相似性度量的方法以及系统
技术领域
本发明涉及信息处理领域,特别涉及信息处理领域中的相似性度量的方法以及系统。
背景技术
当前,在众多领域、例如互联网行业等均涉及相似性度量,并基于各种已有的相似性度量方法进行相似性分析。
例如在个性化推荐领域等,服务器收集并存储了用户及其操作对象的大量数据,需要根据用户已进行的操作向用户推荐用户可能感兴趣的相关操作对象,在推荐的过程中需要计算出要推荐的操作对象与用户进行操作的操作对象的相似度,以将相似度高的操作对象推荐给用户。这里,在相似性度量方法上,大体上存在以下几种。
基于物体属性向量已知条件下的相似性度量方法。该相似性度量方法,依据物体属性已知的情况,计算物体属性向量在某种意义下的距离,作为物体与物体之间的相似性度量。例如:欧几里得距离、马氏距离、米科夫斯基距离、汉明距离、jaccard系数、皮尔逊相关系数、余弦相似度等。该类相似性度量方法的明显特点是,在该相似度计算公式中有物体的属性向量值。这种相似性度量方法需要已知物体的属性向量,对于隐性属性的物体难以计算相似度。
基于关联关系的相似性度量方法。该相似性度量方法,是寻找物体与物体之间的关联,再通过某种规则定义出一种关联的程度,进而作为物体与物体之间的相似性度量。如:关联相似度、基于图的相似度、基于RandomWalk的相似性度量方法等。这类相似性度量方法的缺点在于其关联含义的解释较为困难。
基于统计的相似性度量方法。该方法与关联关系的相似性度量方法不 同,关联关系的相似性度量方法是已知物体与物体之间关联的明确情况。而基于统计的相似性度量方法,基于统计学中的概率。如某个物体和另外一个物体发生某种关联的概率。同样在某些时候,也需要关联的定义,甚至物体属性向量的相似度定义。这类相似性度量方法的明显特点在于,其已知的是物体和物体之间关联的统计结果。
在上述以往的相关性度量方法中,存在以下几个问题。
首先,基于属性向量的相似性度量方法需要知道相比较的两个对象的属性向量,即需要属性向量已知,对于未知属性向量的情况下,无法进行相似性的判断。
其次,存在准确度低的问题。例如在使用余弦相似度度量方法的情况下,如果各属性向量是不独立、即不正交的情况下,其计算出的相似度是不准确的。例如在对象Aa的属性向量是{x1,y1,z1},对象Bb的属性向量是{x2,y2,z2},在上述属性之间相关的情况下、即不正交的情况下,其计算出的相似度准确度低,存在大量的信息损失。
另外,存在计算复杂度高的问题。基于关联关系的相似性度量方法以及基于统计的相似性度量方法需要寻找比较对象之间关联,其过程比较复杂,导致相似度计算的难度较大。
发明内容
本发明就是鉴于现有技术中相似度度量的方法存在的各种问题而做出的,本发明其目的在于提供一种在未知物体属性向量的情况下定义和计算出最佳相似度的相似性度量的方法和系统。
一种相似性度量方法,数据获取步骤,获取集合a中的元素item_a和集合b中的元素item_b、以及集合a中的元素item_a对集合b中的元素item_b无差别的相似性操作次数sim(item_a,item_b);相似度计算步骤,执行基于下式的集合b内部元素item_bi与元素item_bj的相似性值sim'(Item_bi,Item_bj)的计算,
sim(Item_bi,Item_bj)=k*Σm(sim(Item_am,Item_bi)*sim(Item_am,Item_bj)Σnsim(Item_am,Item_bn)*Σnsim(Item_am,Item_bn)*Σnsim(Item_an,Item_bi)*Σnsim(Item_an,Item_bj))]]>
其中,i,j,m,n表示集合中元素的标号,k是归一化因子。
根据上述的相似性度量方法,将相似性操作发生时间设为t(item_a,item_b),并设
G=sim(Item_am,Item_bi)*sim(Item_am,Item_bj)Σnsim(Item_am,Item_bn)*Σnsim(Item_am,Item_bn)*Σnsim(Item_an,Item_bi)*Σnsim(Item_an,Item_bj)]]>
在考虑与时间有关的时间滤波函数f(t(item_am,item_bi),t(item_am,item_bj))的情况下,集合b内部的元素item_bi与元素item_bj的相似性值为
sim(Item_bi,Item_bj)=k*Σm(G*f(t(Item_am,Item_bi),t(Item_am,Item_bj)).]]>
根据上述的相似性度量方法,其中,所述时间滤波函数f(t(item_am,item_bi),t(item_am,item_bj))是低通滤波函数,在时间上越接近,函数值越大。
根据上述的相似性度量方法,其中,
所述时间滤波函数为:
f(t(Item_am,Item_bi),t(Item_am,Item_bj)=β|t(Item_am,Item_bi)-t(Item_am,Item_bj)|]]>
其中,β是小于1大于0的低通滤波系数。
本发明还在于一种相似性度量系统,其特征在于,包括:数据获取单元,其获取集合a中的元素item_a和集合b中的元素item_b、以及集合a中的元素item_a对集合b中的元素item_b无差别的相似性操作次数sim(item_a,item_b);
相似度计算单元,其执行基于下式的集合b内部元素item_bi与元素item_bj的相似性值sim’(Item_bi,Item_bj)的计算,
sim(Item_bi,Item_bj)=k*Σm(sim(Item_am,Item_bi)*sim(Item_am,Item_bj)Σnsim(Item_am,Item_bn)*Σnsim(Item_am,Item_bn)*Σnsim(Item_an,Item_bi)*Σnsim(Item_an,Item_bj))]]>
其中,i,j,m,n表示集合中元素的标号,k是归一化因子。
根据上述的相似性度量系统,其中,
将相似性操作发生时间设为t(item_a,item_b),并设
G=sim(Item_am,Item_bi)*sim(Item_am,Item_bj)Σnsim(Item_am,Item_bn)*Σnsim(Item_am,Item_bn)*Σnsim(Item_an,Item_bi)*Σnsim(Item_an,Item_bj)]]>
在考虑与时间有关的时间滤波函数f(t(item_am,item_bi),t(item_am,item_bj))的情况下,集合b内部的元素item_bi与元素item_bj的相似性值为
sim(Item_bi,Item_bj)=k*Σm(G*f(t(Item_am,Item_bi),t(Item_am,Item_bj)).]]>
根据上述的相似性度量系统,其中,所述时间滤波函数f(t(item_am,item_bi),t(item_am,item_bj))是低通滤波函数,在时间上越接近,函数值越大。
根据上述的相似性度量系统,其中,所述时间滤波函数为:
f(t(Item_am,Item_bi),t(Item_am,Item_bj)=β|t(Item_am,Item_bi)-t(Item_am,Item_bj)|]]>
其中,β是小于1大于0的低通滤波系数。
根据本发明的相似性度量方法以及系统能够在比较对象的属性向量未知的情况下,更准确地计算出比较对象之间的相似度,有利于隐性属性的比较对象的相似度的分析,并且能够保证在数据有偏斜的时候可以很好地计算相似度。
附图说明
图1示出实施例1的相似性度量方法的流程图;
图2示出实施例2的相似性度量方法的流程图;
图3是示出相似性度量系统的框图;
图4示出又一相似性度量方法的流程图;
图5示出又一相似性度量系统的框图。
具体实施方式
下面将详细描述本发明的各个方面的特征和示例性实施例。在下面的详细描述中,提出了许多具体细节,以便提供对本发明的全面理解。但是,对于本领域技术人员来说很明显的是,本发明可以在不需要这些具体细节中的一些细节的情况下实施。下面对实施例的描述仅仅是为了通过示出本发明的示例来提供对本发明的更好的理解。本发明决不限于下面所提出的任何具体配置和算法,而是在不脱离本发明的精神的前提下覆盖了元素、部件和算法的任何修改、替换和改进。在附图和下面的描述中,没有示出公知的结构和技术,以便避免对本发明造成不必要的模糊。
在个性化推荐的过程中,对于已知用户、物品、以及用户对物品的操作历史的情况,如何能够在未知用户和物品的属性向量的情况下计算出用户和用户、或者物品和物品之间的相似度。
下面,首先对本发明给出一种新的相似性定义进行介绍。
物体可以用n维属性向量描述,物体a的属性向量为[a[1],a[2],a[3],......,a[n]],物体b的属性向量为[b[1],b[2],b[3],......,b[n]],sim(a,b)表示物体a和物体b的在给定权重为k和方差向量为[δ2[1],δ2[2],δ2[3],......,δ2[n]]情况下的相似度值。
sim(a,b)=k·Πi=0i=n12πδ[i]e((a[i]-b[i])22δ[i]2)]]>      式1
例如在仅具有一个属性,且属性向量值服从在负无穷大到正无穷大上的均匀分布的情况下,物体a和物体b的相似度为属性值变量x服从N(a[1],δ[1]2)正态分布时的在b[1]处概率密度值。虽然上述属性向量未知,无法通过正态分布公式直接计算出概率密度值,但是根据已有的操作历史数据能够计算出概率密度值。在未知属性向量的情况下,利用正态分布卷积运算时仍然服从正态分布的良好特性来建立物体之间的关联,从而利用能够求出的概率密度值来求出相似性。因此该相似度定义对于隐藏属性的物品或用户的相似性分析有用。
在物体属性向量已知的条件下,带入向量值,即可得到相似度结果。
对于未知物体属性向量的情况,我们列举了以下例子。
实施例1
首先以连续的情况为例。对于连续情况,给定权重都为1。例举了网络书城的图书推荐,参考图1对相似性度量方法进行说明。首先,如步骤S1所示,服务器收集网络书城的所有用户信息和所有图书信息、以及用户对图书进行点击阅读的所有历史数据。将网络书城所有图书的集合设为集合M(m1,m2,……),将所有用户的集合设为集合N(n1,n2,……),假设在集合M和集合N中的元素所具有的属性值满足正无穷大到负无穷大下均匀分布。下面我们介绍在不知道图书的任何属性信息、也不知道用户的任何属性信息的情况下,如何根据用户对图书进行操作的历史数据来得到用户与用户之间的相似度。
现在假设用户集合N中用户n1希望看到的图书是图书m1,图书m1具有一个属性,属性值为μ。用户集合中其他某一个用户n2希望看到图书m2,图书m2具有属性值为x,则该用户n1希望看到的图书m1与其他某一个用户n2希望看到的图书m2之间的相似度,即用户与用户之间的相似度f0(x),可以依据上述定义得到式2。
f0(x)=12πδe(-(x-u)22δ2)]]>                     式2
但是,实际上我们不知道用户希望看到的图书m1和m2的属性值,当然也就不知道用户n1希望看到的图书m1和其他某一个用户n2希望看到的图书m2之间的相似度。然而我们根据用户对图书的操作历史,知道用户n1实际对图书m3进行了点击阅读,并能够计算出用户n1对图书m3的点击次数相对于该用户对所有图书的点击次数的概率D1。由于用户n1实际操作的图书是图书m3,设图书m3的属性值是y,那么用户n1希望看到的图书m1应该与图书m3相似。
如果将用户n1对图书m3的点击阅读视为一次测量,将用户n1希望看到的图书m1的属性值μ作为被测量值,将用户n1实际看到的图书m3的属性值作为测量值,将所有图书的属性值构成测量值域,如果图书的属性值无穷多,且满足大小在负无穷大到正无穷大的均匀分布,则测量得到的样本均值、即实际物品属性均值与被测量值满足极大似然估计,测量得到的样本值结果满足以被测量值μ为期望,以某未知方差为方差的正态分布。 即,将样本所在值对应的概率密度值作为该样本值与实际被测量值的相似度。根据上述,使用用户n1实际读取的图书m3的属性值y去测量用户n1希望读取的图书m1的属性值μ,则图书m3的概率密度g(y)为式3。
g(y)=12πδe(-(y-u)22δ2)]]>                     式3
g(y)是如上所述能够根据操作历史数据计算出的概率密度值。即,如步骤S2所示,根据历史记录,计算用户n1点击图书m3的次数相对于用户n1对所有图书的点击次数的概率g(y)。
同理,如果已知某些用户点击读取了图书m3,则对于用户n1来说,用户n1点击图书m3的次数相对于所有用户点击图书m3的次数的概率是已知的,即能够计算出用户n1点击图书m3的次数相对于所有用户点击图书m3的次数的概率D2。同理,使用用户n2希望读取的图书m2的属性值x去测量用户n1实际读取的图书m3的属性值y,其概率密度分布z(x)也满足类似的公式(4)。
z(x)=12πδe(-(x-y)22δ2)]]>          式4
z(x)是如上所述也能够根据操作历史数据计算出的概率密度值。即,如步骤S3所示,根据历史记录,计算用户n1点击图书m3的次数相对于所有用户点击图书m3的次数的概率z(x)。
现在通过一种运算将属性值x和u关联起来,对g(y)和z(x)进行卷积运算,来获取和f0(x)近似的表达式。将新的积分的结果命名f(x),以和f0(x)区别,则f(x)为式5。
f(x)=∫-+g(y)·z(x)dy=∫-+12πδe(-(y-u)22δ2)·12πδe(-(x-y)22δ2)dy]]>  式5
即,如步骤S4所示,计算g(y)与z(x)的卷积,根据上述的式5,由于g(y)和z(x)已知,因此能够得到f(x)的值。f(x)为图书m1和图书m2的相似度,即该用户n1喜欢看的书与其他某一个用户n2喜欢看 的书的相似度,即用户n1与用户n2之间的相似度。由于在上述中g(y)和z(x)的概率密度D1和D2通过对用户历史行为数据进行统计可以计算出,因此相似度sim(x,u)=f(x),因此在未知图书m1和图书m2的属性向量的情况下,得到了它们的相似度值,即得到用户与用户之间的相似度。
同理,计算z(x)与g(y)的卷积,能够得到图书和图书之间的相似度。
另外,通过对式5进行推导计算,可以得到式6,这里忽略了推导过程。
f(x)=12π2πδe(-(x-u)22(2δ)2)]]>          式6
根据进一步推导出来的式6,可知f(x)满足式1的相似性度量方法,对比式6和式2,f(x)和f0(x)形式一致,给定方差变成2δ2
对于属性个数不为1的情况,可以将上述过程看做是对很多独立属性联合分布密度的统计。服从正态分布的独立随机变量的卷积,其方差为每个正态分布的方差的和。如果依据式2所得给定的方差为(δ12,δ22,δ32,…),其中括号中的各个方差表示每个独立属性的统计方差,那么由于属性独立,可以推导得到给定的方差为(2δ12,2δ22,2δ32,…)的相似度。
另外以上推导须满足集合M、N服从负无穷大到正无穷大之间的均匀分布的假设,和集合M、N中元素的属性值保持不变的假设。但在具体情况下,都可以利用该基本原理和方法,计算出符合定义的相似度结果。
实施例1给出了连续情况的一个例子,下面对应连续情况下的相似性度量方法,对离散情况下的相似性度量方法进行介绍。
实施例2
以在网络购物中为了向用户推荐物品而计算用户和用户、或物品和物品之间的相似度为例,参考图2进行以下说明。首先,如图2的步骤S11所示,服务器根据用户的登录注册、网站所销售的物品、以及用户对物品的操作情况进行信息的收集,即所收集的信息包括用户、物品、以及用户和物品之间的交互情况,以获取用户、物品、以及用户对物品的操作的数 据。服务器对上述信息进行分析,一个是用户集合User,一个是物品集合Item,以及用户对物品的操作记录。这里每次用户对物品的操作相互独立,每次操作表达含义相同,都表达了用户对物品感兴趣。表1示出现有的用户集合User和物品集合Item之间的交互情况。aij表示用户i对物品j的操作次数,i表示用户标号,j表示物品标号,i、j均为整数。例如用户User1对物品Item1的操作次数是a11次,用户User1对物品Item2的操作次数是a12次,用户User1对物品Item3的操作次数是a13次,用户User1对物品Item4的操作次数是a14次,依次类推,假设物品Item4没有被任何用户进行过操作,则a14=a24=a34=a44=0,假设用户User4没有对任何物品进行过操作,则a41=a42=a43=a44=0。
表1

 Item1Item2Item3Item4User1a11a12a13a14User2a21a22a23a24User3a31a32a33a34User4a41a42a43a44

在步骤S12中,对上述获得的数据建立数学模型形成矩阵,利用矩阵来表达上述表1,得到如下矩阵A。
矩阵A
a11a12a13a14a21a22a23a24a31a32a33a34a41a42a43a44]]>
如图2的步骤S13所示计算物品相对于用户的概率矩阵。首先,针对矩阵A以用户为行,依次将各物品被该用户的操作次数,除以该用户进行过的操作总次数,得到矩阵B。如果该行对应的用户没有进行任何操作,则矩阵该行取满足元素值都相同且和为1的值。矩阵B可以看做实际物品测量用户希望得到的物品的统计分布,即物品相对于用户的概率矩阵。这里,物品相对于用户的概率的概率密度是服从相同或者相近方差的正态分布密度。
bij表示矩阵B的元素,即表示用户i对物品j操作的次数与该用户i对所有物品进行的操作总次数的比,则如下式7所示,其中k表示所有物品的数量。
bij=aijΣj=1kaij]]>      式7
矩阵B
b11b12b13b14b21b22b23b24b31b32b33b34b41b42b43b44]]>
矩阵第一行表示:Item1被User1操作的概率是b11,b11=a11/(a11+a12+a13+a14),以下依次类推,Item2被User1操作的概率是b12,Item3被User1操作的概率是b13,Item4被User1操作的概率是b14。矩阵第二行表示:Item1被User2操作的概率是b21,Item2被User2操作的概率是b22,Item3被User2操作的概率是b23,Item4被User2操作的概率是b24。依次类推,假设User4没有进行任何操作,因此该行取各值相同并且和为1的值,即均取b41=b42=b43=b44=0.25。
如图2的步骤S14所示计算用户相对于物品的概率矩阵。针对矩阵A,以物品为列,依次将各用户操作该物品的操作次数,除以该物品被进行过的操作总次数,得到矩阵C,并计算转置矩阵CT。如果该列对应的物品没有被操作过,则矩阵该列取满足元素值都相同且和为1的值。矩阵CT可以看做用户希望得到的物品测量实际物品的统计分布,即用户相对于物品的概率矩阵。这里,所述用户相对于物品的概率的概率密度是服从相同或者相近方差的正态分布密度。
cij表示矩阵C的元素,即表示物品j被用户i操作的次数与该物品j被所有用户的操作总次数的比,则如下式8所示,其中h表示所有物品的数量。
cij=aijΣi=1haij]]>       式8
矩阵C
c11c12c13c14c21c22c23c24c31c32c33c34c41c42c43c44]]>
矩阵CT
c11c21c31c41c21c22c32c42c13c23c33c43c14c24c34c44]]>
矩阵CT第一行表示:Item1被User1操作的概率是c11,其中,c11=a11/(a11+a21+a31+a41),以下依次类推,Item1被User2操作的概率是c21,Item1被User3操作的概率是c31,Item1被User4操作的概率是c41。矩阵CT第二行表示:Item2被User1操作的概率是c12,依次类推。如果Item4没有被进行任何操作,因此该行取各值相同并且和为1的值,即均取c14=c24=c34=c44=0.25。
在步骤S15中,在计算出上述概率的情况下,对应实施例1取卷积,即,对矩阵B和CT进行相乘得到矩阵D,D=B*CT
dij表示矩阵D的元素,则d11=b11*c11+b12*c12+b13*c13+b14*c14,d12=b11*c21+b12*c22+b13*c23+b14*c24,依次类推。
矩阵D
d11d12d13d14d21d22d23d24d31d32d33d34d41d42d43d44]]>
该相似度值是在某个未知权值k以及某个未知方差向量下的相似度值,该矩阵D为用户和用户之间的相似度矩阵。例如第一行表示User1和User1的相似度是的d11,User1和User2的相似度是d12,User1和User3的相似度是d13,User1和User4的相似度是d14,同理依此类推。
如果计算矩阵CT*B,则得到物品和物品之间的相似度矩阵E=CT*B。
eij表示矩阵E的元素,则e11=c11*b11+c21*b21+c31*b31+c41*b41,e12=c11*b12+c21*b22+c31*b32+c41*b42,依次类推。
矩阵E
e11e12e13e14e21e22e23e24e31e32e33e34e41e42e43e44]]>
例如矩阵E第一行表示Item1和Item1的相似度是e11,Item1和Item2的相似度是e12,Item1和Item3的相似度是e13,Item1和Item4的相似度是e14。矩阵E第二行、第三行、第四行依此类推。
在本实施例中,不知道物品的属性,也不知道用户的属性,但是根据正态分布在卷积的情况下仍然服从正态分布的特性,利用用户对物品的操作历史,得到物品相对于用户的概率矩阵以及用户相对于物品的概率矩阵,从而能够计算出用户与用户之间的相似度或者物品和物品的相似度。从而可以依此来向用户推荐物品,提高所推荐的物品被用户的采纳的可能性。
图3示出了一种相似性度量系统300,相似性度量系统包括数据收集单元301、数学模型建立单元302、概率矩阵生成单元303、相似度计算单元304。所述数据收集单元301例如收集登录注册用户、网站所销售的物品、用户操作物品的历史数据。所述数学模型建立单元302建立用户与物品的交互关系的数学模型,生成用户与物品交互关系的矩阵。所述概率矩阵生成单元303根据所述用户与物品之间交互关系矩阵,针对每个用户,计算出各物品被所述每个用户操作的次数相对于所述物品被所有用户操作的次数的概率,生成与所述用户与物品之间交互关系矩阵对应的物品相对于用户的概率矩阵;并根据所述用户与物品之间交互关系矩阵,针对每个物品,计算出各用户操作所述每个物品的次数相对于所述用户操作所有物品的次数的概率,生成与所述用户与物品之间交互关系矩阵对应的用户相对于物品的概率矩阵。所述相似性运算单元304计算所述物品相对于用户的概率矩阵与所述用户相对于物品的概率矩阵的转置矩阵的乘积,得到用户与用户之间的相似度矩阵;或者所述用户相对于物品的概率矩阵的转置矩阵与所述物品相对于用户的概率矩阵的乘积,得到物品与物品之间的相似度矩阵。
利用了本发明的相似性度量方法所得出的相似性的结果与以往计算相似性的方法在满足假设的条件下相比具有很好的效果。
但是,在上述相似性计算中,各属性向量值、即各行为数据需要服从在负无穷大到正无穷大上的均匀分布,在不满足上述情况、即存在数据偏斜的情况下,得到的物品和物品之间的相似度矩阵可能不对称,为了得到对称的相似性矩阵,对于上述求出的相似性的方法可以进行一个相似度结果的逼近,以获取更加准确的相似度。
以下对相似度结果的逼近进行详细介绍。
图4示出又一相似性度量方法的流程图。参考图4可知,首先如步骤S41所示,获取获取集合a与集合b的元素以及元素之间的操作关系数据,然后如步骤S42所示,根据上述数据得到集合b中元素之间的相似度值。例如获取集合a和集合b的元素,将无差别的相似性操作次数表示为sim(item_a,item_b),这里所说的无差别的相似性操作次数是指集合a中的元素item_a与集合b中的元素item_b之间的操作关系。利用以下公式求取集合b内部元素之间的相似性值sim’(Item_bi,Item_bj)。公式如下:
sim(Item_bi,Item_bj)=k*Σm(sim(Item_am,Item_bi)*sim(Item_am,Item_bj)Σnsim(Item_am,Item_bn)*Σnsim(Item_am,Item_bn)*Σnsim(Item_an,Item_bi)*Σnsim(Item_an,Item_bj))]]>
式9
其中,sim’(Item_bi,Item_bj)表示集合b中元素Item_bi和Item_bj之间的相似度,是对利用式1的方法所求出的相似度结果进行逼近的值。k是归一化因子,进行归一化后定义2是对定义1中的一个相似度结果的逼近。由于无差别的相似性操作次数表示为sim(item_a,item_b),因此例如sim(item_am,item_bi)表示集合a中的元素item_am与集合b中的元素item_bi之间无差别的相似性操作次数。sim(item_am,item_bj)表示集合a中的元素item_am与集合b中的元素item_bj之间无差别的相似性操作次数。其中,m、n、i、j均表示集合中元素的标号。
例如在用户(相当于集合a)和物品(相当于集合b)的关系如下的情况下,
 Item1Item2Item3User1110

User2101User3200

在上表中表示User1对Item1的无差别的相似性操作次数是1,User1对Item2的无差别的相似性操作次数是1,依次类推。
根据式9可得到物品和物品之间进行了相似度结果的逼近的相似度。
0.42860.28570.28570.20000.800000.200000.8000]]>
在上述式9中,将相似性操作发生时间设为t(item_a,item_b),即集合a中的元素item_a对集合b中的元素item_b的操作时间点。利用以下公式求取集合b内部元素之间的相似性方法。假设用G表示式9中的以下部分:
G=sim(Item_am,Item_bi)*sim(Item_am,Item_bj)Σnsim(Item_am,Item_bn)*Σnsim(Item_am,Item_bn)*Σnsim(Item_an,Item_bi)*Σnsim(Item_an,Item_bj)]]>
则在考虑与时间有关的滤波系数f(t(item_am,item_bi),t(item_am,item_bj))的情况下,则相似性公式如下:
sim(Item_bi,Item_bj)=k*Σm(G*f(t(Item_am,Item_bi),t(Item_am,Item_bj))]]>  式10
其中k是归一化因子,f(t(item_am,item_bi),t(item_am,item_bj))是和时间有关的某个函数,使得时间越相近,函数值越大。如一般用的低通滤波函数,让时间相近的值较大。例如时间滤波函数f为式11。
f(t(Item_am,Item_bi),t(Item_am,Item_bj)=β|t(Item_am,Item_bi)-t(Item_am,Item_bj)|]]>
式11
其中β是小于1大于0的低通滤波系数。
图5示出又一相似性度量系统的框图,本发明的相似性度量系统,包括:数据获取单元,其获取集合a中的元素item_a和集合b中的元素item_b、以及集合a中的元素item_a对集合b中的元素item_b无差别的相似性操作次数sim(item_a,item_b);相似度计算单元,其执行基于下式的集 合b内部元素item_bi与元素item_bj的相似性值sim’(Item_bi,Item_bj)的计算,
sim(Item_bi,Item_bj)=k*Σm(sim(Item_am,Item_bi)*sim(Item_am,Item_bj)Σnsim(Item_am,Item_bn)*Σnsim(Item_am,Item_bn)*Σnsim(Item_an,Item_bi)*Σnsim(Item_an,Item_bj))]]>
其中,i,j,m,n表示集合中元素的标号,k是归一化因子。
根据上述利用了正态分布的特性的对相似性的定义,能够在未知属性向量的情况下计算出物品之间或者用户之间的相似度。并且,根据本发明,能够保证在数据有偏斜的时候可以很好地计算相似度。其应用不限于上述实施例,能够应用于各个未知属性的比较对象之间的相似度计算上。本领域技术人员将理解,还存在可用于实现本发明实施例的更多可选实施方式和改进方式,并且上述实施方式和示例仅是一个或多个实施例的说明。

一种相似性度量的方法以及系统.pdf_第1页
第1页 / 共16页
一种相似性度量的方法以及系统.pdf_第2页
第2页 / 共16页
一种相似性度量的方法以及系统.pdf_第3页
第3页 / 共16页
点击查看更多>>
资源描述

《一种相似性度量的方法以及系统.pdf》由会员分享,可在线阅读,更多相关《一种相似性度量的方法以及系统.pdf(16页珍藏版)》请在专利查询网上搜索。

1、10申请公布号CN104102691A43申请公布日20141015CN104102691A21申请号201410244544222申请日20140604G06F17/3020060171申请人百度移信网络技术(北京)有限公司地址100085北京市海淀区农大南路1号院4号楼4层401、402、403、405、407、408单元72发明人朱宝74专利代理机构北京东方亿思知识产权代理有限责任公司11258代理人杜立健54发明名称一种相似性度量的方法以及系统57摘要本发明涉及一种相似性度量的方法以及系统。所述相似性度量方法包括数据获取步骤,获取集合A中的元素ITEM_A和集合B中的元素ITEM_B、。

2、以及集合A中的元素ITEM_A对集合B中的元素ITEM_B无差别的相似性操作次数SIMITEM_A,ITEM_B;相似度计算步骤,执行基于下式的集合B内部元素ITEM_BI与元素ITEM_BJ的相似性值SIMITEM_BI,ITEM_BJ的计算,其中,I,J,M,N表示集合中元素的标号,K是归一化因子。51INTCL权利要求书2页说明书11页附图2页19中华人民共和国国家知识产权局12发明专利申请权利要求书2页说明书11页附图2页10申请公布号CN104102691ACN104102691A1/2页21一种相似性度量方法,其特征在于,包括数据获取步骤,获取集合A中的元素ITEM_A和集合B中的。

3、元素ITEM_B、以及集合A中的元素ITEM_A对集合B中的元素ITEM_B无差别的相似性操作次数SIMITEM_A,ITEM_B;相似度计算步骤,执行基于下式的集合B内部元素ITEM_BI与元素ITEM_BJ的相似性值SIMITEM_BI,ITEM_BJ的计算,其中,I,J,M,N表示集合中元素的标号,K是归一化因子。2如权利要求1所述的相似性度量方法,其特征在于,将相似性操作发生时间设为TITEM_A,ITEM_B,并设在考虑与时间有关的时间滤波函数FTITEM_AM,ITEM_BI,TITEM_AM,ITEM_BJ的情况下,集合B内部的元素ITEM_BI与元素ITEM_BJ的相似性值为3。

4、如权利要求2所述的相似性度量方法,其特征在于,所述时间滤波函数FTITEM_AM,ITEM_BI,TITEM_AM,ITEM_BJ是低通滤波函数,在时间上越接近,函数值越大。4如权要求3所述的相似性度量方法,其特征在于,所述时间滤波函数为其中,是小于1大于0的低通滤波系数。5一种相似性度量系统,其特征在于,包括数据获取单元,其获取集合A中的元素ITEM_A和集合B中的元素ITEM_B、以及集合A中的元素ITEM_A对集合B中的元素ITEM_B无差别的相似性操作次数SIMITEM_A,ITEM_B;相似度计算单元,其执行基于下式的集合B内部元素ITEM_BI与元素ITEM_BJ的相似性值SIMI。

5、TEM_BI,ITEM_BJ的计算,权利要求书CN104102691A2/2页3其中,I,J,M,N表示集合中元素的标号,K是归一化因子。6如权利要求5所述的相似性度量系统,其特征在于,将相似性操作发生时间设为TITEM_A,ITEM_B,并设在考虑与时间有关的时间滤波函数FTITEM_AM,ITEM_BI,TITEM_AM,ITEM_BJ的情况下,集合B内部的元素ITEM_BI与元素ITEM_BJ的相似性值为7如权利要求6所述的相似性度量系统,其特征在于,所述时间滤波函数FTITEM_AM,ITEM_BI,TITEM_AM,ITEM_BJ是低通滤波函数,在时间上越接近,函数值越大。8如权要求。

6、7所述的相似性度量系统,其特征在于,所述时间滤波函数为其中,是小于1大于0的低通滤波系数。权利要求书CN104102691A1/11页4一种相似性度量的方法以及系统技术领域0001本发明涉及信息处理领域,特别涉及信息处理领域中的相似性度量的方法以及系统。背景技术0002当前,在众多领域、例如互联网行业等均涉及相似性度量,并基于各种已有的相似性度量方法进行相似性分析。0003例如在个性化推荐领域等,服务器收集并存储了用户及其操作对象的大量数据,需要根据用户已进行的操作向用户推荐用户可能感兴趣的相关操作对象,在推荐的过程中需要计算出要推荐的操作对象与用户进行操作的操作对象的相似度,以将相似度高的操。

7、作对象推荐给用户。这里,在相似性度量方法上,大体上存在以下几种。0004基于物体属性向量已知条件下的相似性度量方法。该相似性度量方法,依据物体属性已知的情况,计算物体属性向量在某种意义下的距离,作为物体与物体之间的相似性度量。例如欧几里得距离、马氏距离、米科夫斯基距离、汉明距离、JACCARD系数、皮尔逊相关系数、余弦相似度等。该类相似性度量方法的明显特点是,在该相似度计算公式中有物体的属性向量值。这种相似性度量方法需要已知物体的属性向量,对于隐性属性的物体难以计算相似度。0005基于关联关系的相似性度量方法。该相似性度量方法,是寻找物体与物体之间的关联,再通过某种规则定义出一种关联的程度,进。

8、而作为物体与物体之间的相似性度量。如关联相似度、基于图的相似度、基于RANDOMWALK的相似性度量方法等。这类相似性度量方法的缺点在于其关联含义的解释较为困难。0006基于统计的相似性度量方法。该方法与关联关系的相似性度量方法不同,关联关系的相似性度量方法是已知物体与物体之间关联的明确情况。而基于统计的相似性度量方法,基于统计学中的概率。如某个物体和另外一个物体发生某种关联的概率。同样在某些时候,也需要关联的定义,甚至物体属性向量的相似度定义。这类相似性度量方法的明显特点在于,其已知的是物体和物体之间关联的统计结果。0007在上述以往的相关性度量方法中,存在以下几个问题。0008首先,基于属。

9、性向量的相似性度量方法需要知道相比较的两个对象的属性向量,即需要属性向量已知,对于未知属性向量的情况下,无法进行相似性的判断。0009其次,存在准确度低的问题。例如在使用余弦相似度度量方法的情况下,如果各属性向量是不独立、即不正交的情况下,其计算出的相似度是不准确的。例如在对象AA的属性向量是X1,Y1,Z1,对象BB的属性向量是X2,Y2,Z2,在上述属性之间相关的情况下、即不正交的情况下,其计算出的相似度准确度低,存在大量的信息损失。0010另外,存在计算复杂度高的问题。基于关联关系的相似性度量方法以及基于统计的相似性度量方法需要寻找比较对象之间关联,其过程比较复杂,导致相似度计算的难度较。

10、大。说明书CN104102691A2/11页5发明内容0011本发明就是鉴于现有技术中相似度度量的方法存在的各种问题而做出的,本发明其目的在于提供一种在未知物体属性向量的情况下定义和计算出最佳相似度的相似性度量的方法和系统。0012一种相似性度量方法,数据获取步骤,获取集合A中的元素ITEM_A和集合B中的元素ITEM_B、以及集合A中的元素ITEM_A对集合B中的元素ITEM_B无差别的相似性操作次数SIMITEM_A,ITEM_B;相似度计算步骤,执行基于下式的集合B内部元素ITEM_BI与元素ITEM_BJ的相似性值SIMITEM_BI,ITEM_BJ的计算,00130014其中,I,J。

11、,M,N表示集合中元素的标号,K是归一化因子。0015根据上述的相似性度量方法,将相似性操作发生时间设为TITEM_A,ITEM_B,并设00160017在考虑与时间有关的时间滤波函数FTITEM_AM,ITEM_BI,TITEM_AM,ITEM_BJ的情况下,集合B内部的元素ITEM_BI与元素ITEM_BJ的相似性值为00180019根据上述的相似性度量方法,其中,所述时间滤波函数FTITEM_AM,ITEM_BI,TITEM_AM,ITEM_BJ是低通滤波函数,在时间上越接近,函数值越大。0020根据上述的相似性度量方法,其中,0021所述时间滤波函数为00220023其中,是小于1大于。

12、0的低通滤波系数。0024本发明还在于一种相似性度量系统,其特征在于,包括数据获取单元,其获取集合A中的元素ITEM_A和集合B中的元素ITEM_B、以及集合A中的元素ITEM_A对集合B中的元素ITEM_B无差别的相似性操作次数SIMITEM_A,ITEM_B;0025相似度计算单元,其执行基于下式的集合B内部元素ITEM_BI与元素ITEM_BJ的相似性值SIMITEM_BI,ITEM_BJ的计算,说明书CN104102691A3/11页600260027其中,I,J,M,N表示集合中元素的标号,K是归一化因子。0028根据上述的相似性度量系统,其中,0029将相似性操作发生时间设为TIT。

13、EM_A,ITEM_B,并设00300031在考虑与时间有关的时间滤波函数FTITEM_AM,ITEM_BI,TITEM_AM,ITEM_BJ的情况下,集合B内部的元素ITEM_BI与元素ITEM_BJ的相似性值为00320033根据上述的相似性度量系统,其中,所述时间滤波函数FTITEM_AM,ITEM_BI,TITEM_AM,ITEM_BJ是低通滤波函数,在时间上越接近,函数值越大。0034根据上述的相似性度量系统,其中,所述时间滤波函数为00350036其中,是小于1大于0的低通滤波系数。0037根据本发明的相似性度量方法以及系统能够在比较对象的属性向量未知的情况下,更准确地计算出比较对。

14、象之间的相似度,有利于隐性属性的比较对象的相似度的分析,并且能够保证在数据有偏斜的时候可以很好地计算相似度。附图说明0038图1示出实施例1的相似性度量方法的流程图;0039图2示出实施例2的相似性度量方法的流程图;0040图3是示出相似性度量系统的框图;0041图4示出又一相似性度量方法的流程图;0042图5示出又一相似性度量系统的框图。具体实施方式0043下面将详细描述本发明的各个方面的特征和示例性实施例。在下面的详细描述中,提出了许多具体细节,以便提供对本发明的全面理解。但是,对于本领域技术人员来说很明显的是,本发明可以在不需要这些具体细节中的一些细节的情况下实施。下面对实施说明书CN1。

15、04102691A4/11页7例的描述仅仅是为了通过示出本发明的示例来提供对本发明的更好的理解。本发明决不限于下面所提出的任何具体配置和算法,而是在不脱离本发明的精神的前提下覆盖了元素、部件和算法的任何修改、替换和改进。在附图和下面的描述中,没有示出公知的结构和技术,以便避免对本发明造成不必要的模糊。0044在个性化推荐的过程中,对于已知用户、物品、以及用户对物品的操作历史的情况,如何能够在未知用户和物品的属性向量的情况下计算出用户和用户、或者物品和物品之间的相似度。0045下面,首先对本发明给出一种新的相似性定义进行介绍。0046物体可以用N维属性向量描述,物体A的属性向量为A1,A2,A3。

16、,AN,物体B的属性向量为B1,B2,B3,BN,SIMA,B表示物体A和物体B的在给定权重为K和方差向量为21,22,23,2N情况下的相似度值。0047式10048例如在仅具有一个属性,且属性向量值服从在负无穷大到正无穷大上的均匀分布的情况下,物体A和物体B的相似度为属性值变量X服从NA1,12正态分布时的在B1处概率密度值。虽然上述属性向量未知,无法通过正态分布公式直接计算出概率密度值,但是根据已有的操作历史数据能够计算出概率密度值。在未知属性向量的情况下,利用正态分布卷积运算时仍然服从正态分布的良好特性来建立物体之间的关联,从而利用能够求出的概率密度值来求出相似性。因此该相似度定义对于。

17、隐藏属性的物品或用户的相似性分析有用。0049在物体属性向量已知的条件下,带入向量值,即可得到相似度结果。0050对于未知物体属性向量的情况,我们列举了以下例子。0051实施例10052首先以连续的情况为例。对于连续情况,给定权重都为1。例举了网络书城的图书推荐,参考图1对相似性度量方法进行说明。首先,如步骤S1所示,服务器收集网络书城的所有用户信息和所有图书信息、以及用户对图书进行点击阅读的所有历史数据。将网络书城所有图书的集合设为集合MM1,M2,将所有用户的集合设为集合NN1,N2,假设在集合M和集合N中的元素所具有的属性值满足正无穷大到负无穷大下均匀分布。下面我们介绍在不知道图书的任何。

18、属性信息、也不知道用户的任何属性信息的情况下,如何根据用户对图书进行操作的历史数据来得到用户与用户之间的相似度。0053现在假设用户集合N中用户N1希望看到的图书是图书M1,图书M1具有一个属性,属性值为。用户集合中其他某一个用户N2希望看到图书M2,图书M2具有属性值为X,则该用户N1希望看到的图书M1与其他某一个用户N2希望看到的图书M2之间的相似度,即用户与用户之间的相似度F0X,可以依据上述定义得到式2。0054式20055但是,实际上我们不知道用户希望看到的图书M1和M2的属性值,当然也就不知道说明书CN104102691A5/11页8用户N1希望看到的图书M1和其他某一个用户N2希。

19、望看到的图书M2之间的相似度。然而我们根据用户对图书的操作历史,知道用户N1实际对图书M3进行了点击阅读,并能够计算出用户N1对图书M3的点击次数相对于该用户对所有图书的点击次数的概率D1。由于用户N1实际操作的图书是图书M3,设图书M3的属性值是Y,那么用户N1希望看到的图书M1应该与图书M3相似。0056如果将用户N1对图书M3的点击阅读视为一次测量,将用户N1希望看到的图书M1的属性值作为被测量值,将用户N1实际看到的图书M3的属性值作为测量值,将所有图书的属性值构成测量值域,如果图书的属性值无穷多,且满足大小在负无穷大到正无穷大的均匀分布,则测量得到的样本均值、即实际物品属性均值与被测。

20、量值满足极大似然估计,测量得到的样本值结果满足以被测量值为期望,以某未知方差为方差的正态分布。即,将样本所在值对应的概率密度值作为该样本值与实际被测量值的相似度。根据上述,使用用户N1实际读取的图书M3的属性值Y去测量用户N1希望读取的图书M1的属性值,则图书M3的概率密度GY为式3。0057式30058GY是如上所述能够根据操作历史数据计算出的概率密度值。即,如步骤S2所示,根据历史记录,计算用户N1点击图书M3的次数相对于用户N1对所有图书的点击次数的概率GY。0059同理,如果已知某些用户点击读取了图书M3,则对于用户N1来说,用户N1点击图书M3的次数相对于所有用户点击图书M3的次数的。

21、概率是已知的,即能够计算出用户N1点击图书M3的次数相对于所有用户点击图书M3的次数的概率D2。同理,使用用户N2希望读取的图书M2的属性值X去测量用户N1实际读取的图书M3的属性值Y,其概率密度分布ZX也满足类似的公式4。0060式40061ZX是如上所述也能够根据操作历史数据计算出的概率密度值。即,如步骤S3所示,根据历史记录,计算用户N1点击图书M3的次数相对于所有用户点击图书M3的次数的概率ZX。0062现在通过一种运算将属性值X和U关联起来,对GY和ZX进行卷积运算,来获取和F0X近似的表达式。将新的积分的结果命名FX,以和F0X区别,则FX为式5。0063式50064即,如步骤S4。

22、所示,计算GY与ZX的卷积,根据上述的式5,由于GY和ZX已知,因此能够得到FX的值。FX为图书M1和图书M2的相似度,即该用户N1喜欢看的书与其他某一个用户N2喜欢看的书的相似度,即用户N1与用户N2之间的相似度。由于在上述中GY和ZX的概率密度D1和D2通过对用户历史行为数据进行统计可以计算出,因此相似度SIMX,UFX,因此在未知图书M1和图书M2的属性向量的情况下,得到了它们的相似度值,即得到用户与用户之间的相似度。说明书CN104102691A6/11页90065同理,计算ZX与GY的卷积,能够得到图书和图书之间的相似度。0066另外,通过对式5进行推导计算,可以得到式6,这里忽略了。

23、推导过程。0067式60068根据进一步推导出来的式6,可知FX满足式1的相似性度量方法,对比式6和式2,FX和F0X形式一致,给定方差变成22。0069对于属性个数不为1的情况,可以将上述过程看做是对很多独立属性联合分布密度的统计。服从正态分布的独立随机变量的卷积,其方差为每个正态分布的方差的和。如果依据式2所得给定的方差为12,22,32,其中括号中的各个方差表示每个独立属性的统计方差,那么由于属性独立,可以推导得到给定的方差为212,222,232,的相似度。0070另外以上推导须满足集合M、N服从负无穷大到正无穷大之间的均匀分布的假设,和集合M、N中元素的属性值保持不变的假设。但在具体。

24、情况下,都可以利用该基本原理和方法,计算出符合定义的相似度结果。0071实施例1给出了连续情况的一个例子,下面对应连续情况下的相似性度量方法,对离散情况下的相似性度量方法进行介绍。0072实施例20073以在网络购物中为了向用户推荐物品而计算用户和用户、或物品和物品之间的相似度为例,参考图2进行以下说明。首先,如图2的步骤S11所示,服务器根据用户的登录注册、网站所销售的物品、以及用户对物品的操作情况进行信息的收集,即所收集的信息包括用户、物品、以及用户和物品之间的交互情况,以获取用户、物品、以及用户对物品的操作的数据。服务器对上述信息进行分析,一个是用户集合USER,一个是物品集合ITEM,。

25、以及用户对物品的操作记录。这里每次用户对物品的操作相互独立,每次操作表达含义相同,都表达了用户对物品感兴趣。表1示出现有的用户集合USER和物品集合ITEM之间的交互情况。AIJ表示用户I对物品J的操作次数,I表示用户标号,J表示物品标号,I、J均为整数。例如用户USER1对物品ITEM1的操作次数是A11次,用户USER1对物品ITEM2的操作次数是A12次,用户USER1对物品ITEM3的操作次数是A13次,用户USER1对物品ITEM4的操作次数是A14次,依次类推,假设物品ITEM4没有被任何用户进行过操作,则A14A24A34A440,假设用户USER4没有对任何物品进行过操作,则A。

26、41A42A43A440。0074表10075ITEM1ITEM2ITEM3ITEM4USER1A11A12A13A14USER2A21A22A23A24USER3A31A32A33A34USER4A41A42A43A44说明书CN104102691A7/11页100076在步骤S12中,对上述获得的数据建立数学模型形成矩阵,利用矩阵来表达上述表1,得到如下矩阵A。0077矩阵A00780079如图2的步骤S13所示计算物品相对于用户的概率矩阵。首先,针对矩阵A以用户为行,依次将各物品被该用户的操作次数,除以该用户进行过的操作总次数,得到矩阵B。如果该行对应的用户没有进行任何操作,则矩阵该行取。

27、满足元素值都相同且和为1的值。矩阵B可以看做实际物品测量用户希望得到的物品的统计分布,即物品相对于用户的概率矩阵。这里,物品相对于用户的概率的概率密度是服从相同或者相近方差的正态分布密度。0080BIJ表示矩阵B的元素,即表示用户I对物品J操作的次数与该用户I对所有物品进行的操作总次数的比,则如下式7所示,其中K表示所有物品的数量。0081式70082矩阵B00830084矩阵第一行表示ITEM1被USER1操作的概率是B11,B11A11/A11A12A13A14,以下依次类推,ITEM2被USER1操作的概率是B12,ITEM3被USER1操作的概率是B13,ITEM4被USER1操作的概。

28、率是B14。矩阵第二行表示ITEM1被USER2操作的概率是B21,ITEM2被USER2操作的概率是B22,ITEM3被USER2操作的概率是B23,ITEM4被USER2操作的概率是B24。依次类推,假设USER4没有进行任何操作,因此该行取各值相同并且和为1的值,即均取B41B42B43B44025。0085如图2的步骤S14所示计算用户相对于物品的概率矩阵。针对矩阵A,以物品为列,依次将各用户操作该物品的操作次数,除以该物品被进行过的操作总次数,得到矩阵C,并计算转置矩阵CT。如果该列对应的物品没有被操作过,则矩阵该列取满足元素值都相同且和为1的值。矩阵CT可以看做用户希望得到的物品测。

29、量实际物品的统计分布,即用户相对于物品的概率矩阵。这里,所述用户相对于物品的概率的概率密度是服从相同或者相近方差的正态分布密度。0086CIJ表示矩阵C的元素,即表示物品J被用户I操作的次数与该物品J被所有用户的操作总次数的比,则如下式8所示,其中H表示所有物品的数量。0087式8说明书CN104102691A108/11页110088矩阵C00890090矩阵CT00910092矩阵CT第一行表示ITEM1被USER1操作的概率是C11,其中,C11A11/A11A21A31A41,以下依次类推,ITEM1被USER2操作的概率是C21,ITEM1被USER3操作的概率是C31,ITEM1被。

30、USER4操作的概率是C41。矩阵CT第二行表示ITEM2被USER1操作的概率是C12,依次类推。如果ITEM4没有被进行任何操作,因此该行取各值相同并且和为1的值,即均取C14C24C34C44025。0093在步骤S15中,在计算出上述概率的情况下,对应实施例1取卷积,即,对矩阵B和CT进行相乘得到矩阵D,DBCT。0094DIJ表示矩阵D的元素,则D11B11C11B12C12B13C13B14C14,D12B11C21B12C22B13C23B14C24,依次类推。0095矩阵D00960097该相似度值是在某个未知权值K以及某个未知方差向量下的相似度值,该矩阵D为用户和用户之间的相。

31、似度矩阵。例如第一行表示USER1和USER1的相似度是的D11,USER1和USER2的相似度是D12,USER1和USER3的相似度是D13,USER1和USER4的相似度是D14,同理依此类推。0098如果计算矩阵CTB,则得到物品和物品之间的相似度矩阵ECTB。0099EIJ表示矩阵E的元素,则E11C11B11C21B21C31B31C41B41,E12C11B12C21B22C31B32C41B42,依次类推。0100矩阵E01010102例如矩阵E第一行表示ITEM1和ITEM1的相似度是E11,ITEM1和ITEM2的相似度说明书CN104102691A119/11页12是E1。

32、2,ITEM1和ITEM3的相似度是E13,ITEM1和ITEM4的相似度是E14。矩阵E第二行、第三行、第四行依此类推。0103在本实施例中,不知道物品的属性,也不知道用户的属性,但是根据正态分布在卷积的情况下仍然服从正态分布的特性,利用用户对物品的操作历史,得到物品相对于用户的概率矩阵以及用户相对于物品的概率矩阵,从而能够计算出用户与用户之间的相似度或者物品和物品的相似度。从而可以依此来向用户推荐物品,提高所推荐的物品被用户的采纳的可能性。0104图3示出了一种相似性度量系统300,相似性度量系统包括数据收集单元301、数学模型建立单元302、概率矩阵生成单元303、相似度计算单元304。。

33、所述数据收集单元301例如收集登录注册用户、网站所销售的物品、用户操作物品的历史数据。所述数学模型建立单元302建立用户与物品的交互关系的数学模型,生成用户与物品交互关系的矩阵。所述概率矩阵生成单元303根据所述用户与物品之间交互关系矩阵,针对每个用户,计算出各物品被所述每个用户操作的次数相对于所述物品被所有用户操作的次数的概率,生成与所述用户与物品之间交互关系矩阵对应的物品相对于用户的概率矩阵;并根据所述用户与物品之间交互关系矩阵,针对每个物品,计算出各用户操作所述每个物品的次数相对于所述用户操作所有物品的次数的概率,生成与所述用户与物品之间交互关系矩阵对应的用户相对于物品的概率矩阵。所述相。

34、似性运算单元304计算所述物品相对于用户的概率矩阵与所述用户相对于物品的概率矩阵的转置矩阵的乘积,得到用户与用户之间的相似度矩阵;或者所述用户相对于物品的概率矩阵的转置矩阵与所述物品相对于用户的概率矩阵的乘积,得到物品与物品之间的相似度矩阵。0105利用了本发明的相似性度量方法所得出的相似性的结果与以往计算相似性的方法在满足假设的条件下相比具有很好的效果。0106但是,在上述相似性计算中,各属性向量值、即各行为数据需要服从在负无穷大到正无穷大上的均匀分布,在不满足上述情况、即存在数据偏斜的情况下,得到的物品和物品之间的相似度矩阵可能不对称,为了得到对称的相似性矩阵,对于上述求出的相似性的方法可。

35、以进行一个相似度结果的逼近,以获取更加准确的相似度。0107以下对相似度结果的逼近进行详细介绍。0108图4示出又一相似性度量方法的流程图。参考图4可知,首先如步骤S41所示,获取获取集合A与集合B的元素以及元素之间的操作关系数据,然后如步骤S42所示,根据上述数据得到集合B中元素之间的相似度值。例如获取集合A和集合B的元素,将无差别的相似性操作次数表示为SIMITEM_A,ITEM_B,这里所说的无差别的相似性操作次数是指集合A中的元素ITEM_A与集合B中的元素ITEM_B之间的操作关系。利用以下公式求取集合B内部元素之间的相似性值SIMITEM_BI,ITEM_BJ。公式如下010901。

36、10式9说明书CN104102691A1210/11页130111其中,SIMITEM_BI,ITEM_BJ表示集合B中元素ITEM_BI和ITEM_BJ之间的相似度,是对利用式1的方法所求出的相似度结果进行逼近的值。K是归一化因子,进行归一化后定义2是对定义1中的一个相似度结果的逼近。由于无差别的相似性操作次数表示为SIMITEM_A,ITEM_B,因此例如SIMITEM_AM,ITEM_BI表示集合A中的元素ITEM_AM与集合B中的元素ITEM_BI之间无差别的相似性操作次数。SIMITEM_AM,ITEM_BJ表示集合A中的元素ITEM_AM与集合B中的元素ITEM_BJ之间无差别的相。

37、似性操作次数。其中,M、N、I、J均表示集合中元素的标号。0112例如在用户相当于集合A和物品相当于集合B的关系如下的情况下,0113ITEM1ITEM2ITEM3USER1110USER2101USER320001140115在上表中表示USER1对ITEM1的无差别的相似性操作次数是1,USER1对ITEM2的无差别的相似性操作次数是1,依次类推。0116根据式9可得到物品和物品之间进行了相似度结果的逼近的相似度。01170118在上述式9中,将相似性操作发生时间设为TITEM_A,ITEM_B,即集合A中的元素ITEM_A对集合B中的元素ITEM_B的操作时间点。利用以下公式求取集合B内。

38、部元素之间的相似性方法。假设用G表示式9中的以下部分01190120则在考虑与时间有关的滤波系数FTITEM_AM,ITEM_BI,TITEM_AM,ITEM_BJ的情况下,则相似性公式如下0121式100122其中K是归一化因子,FTITEM_AM,ITEM_BI,TITEM_AM,ITEM_BJ是和时间有关的某个函数,使得时间越相近,函数值越大。如一般用的低通滤波函数,让时间相近的值较大。例如时间滤波函数F为式11。0123说明书CN104102691A1311/11页140124式110125其中是小于1大于0的低通滤波系数。0126图5示出又一相似性度量系统的框图,本发明的相似性度量系。

39、统,包括数据获取单元,其获取集合A中的元素ITEM_A和集合B中的元素ITEM_B、以及集合A中的元素ITEM_A对集合B中的元素ITEM_B无差别的相似性操作次数SIMITEM_A,ITEM_B;相似度计算单元,其执行基于下式的集合B内部元素ITEM_BI与元素ITEM_BJ的相似性值SIMITEM_BI,ITEM_BJ的计算,01270128其中,I,J,M,N表示集合中元素的标号,K是归一化因子。0129根据上述利用了正态分布的特性的对相似性的定义,能够在未知属性向量的情况下计算出物品之间或者用户之间的相似度。并且,根据本发明,能够保证在数据有偏斜的时候可以很好地计算相似度。其应用不限于上述实施例,能够应用于各个未知属性的比较对象之间的相似度计算上。本领域技术人员将理解,还存在可用于实现本发明实施例的更多可选实施方式和改进方式,并且上述实施方式和示例仅是一个或多个实施例的说明。说明书CN104102691A141/2页15图1图2图3说明书附图CN104102691A152/2页16图4图5说明书附图CN104102691A16。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1