一种协同过滤推荐方法及装置制造方法
【专利摘要】本申请公开了一种协同过滤推荐方法及装置,方法为:预先建立表征用户间近邻关系、项目间近邻关系、用户与项目间实际行为关系和用户与项目间预测行为关系的第一矩阵、第二矩阵、第三矩阵和第四矩阵,利用用户实际行为数据更新第三和第四矩阵,利用用户预测行为数据更新第四矩阵,利用第三和第四矩阵更新第一和第二矩阵,选取用户与项目的实际行为关系值为零的组合,对选取的用户与项目进行评分预测,判断评分值与上一轮预测的评分值的偏差是否小于阀值,若否,则将其作为用户预测行为数据返回更新第四矩阵步骤,直至预测评分值小于阀值,依据该评分值确定是否将项目推荐给用户。本申请考虑了用户间、项目间的关系,使得推荐结果更精确。
【专利说明】一种协同过滤推荐方法及装置
【技术领域】
[0001]本申请涉及协同过滤推荐【技术领域】,更具体地说,涉及一种协同过滤推荐方法及
>J-U ρ?α装直。
【背景技术】
[0002]互联网技术的快速发展带动了电子商务的蓬勃发展,服务信息与商品数量呈爆炸式急剧增长。随之而来的是“信息过载(informat1n overload) ”问题。而个性化推荐技术因其能有效处理信息过滤问题而受到广泛地关注和研究。协同过滤推荐技术是个性化推荐技术中应用最成功的技术之一,其基本思想是根据兴趣相似的最近邻居的行为数据向目标用户推荐资源。随着互联网数据资源的快速增长,协同过滤推荐技术的研究面临着很多难点问题:数据稀疏性、可扩展性以及无法自适应用户兴趣迁移等。
[0003]为了解决这些问题,现有技术利用协同推荐系统中用户与项目间的关系提出基于网络结构的推荐方法,将用户和项目关系图抽象为二分网络,针对二分网络的统计特性进行社区结构和演化的研究,以及对二分网络的一些属性特征进行研究,如分析二分网络的度及其分布、最短路径等。但二分网络结构的研究仅考虑了用户与资源之间的联系,而忽略了用户间或项目间的内在关联,因此推荐结果精度不高。
【发明内容】
[0004]有鉴于此,本申请提供了一种协同过滤推荐方法及装置,用于解决现有推荐方法没有考虑用户或项目间的内在关联,导致推荐结果精度不高的问题。
[0005]为了实现上述目的,现提出的方案如下:
[0006]一种协同过滤推荐方法,包括:
[0007]判断是否有新增的用户实际行为数据;
[0008]若是,则利用所述用户实际行为数据更新预先建立的推荐关系矩阵R中的第三矩阵和第四矩阵,所述推荐关系矩阵R包括表征用户间近邻关系的第一矩阵Ruu、表征项目间近邻关系的第二矩阵R?、表征用户与项目间实际行为关系的所述第三矩阵Riu和表征用户与项目间预测行为关系的所述第四矩阵Rui,在初始建立时所述第三矩阵与所述第四矩阵相等;
[0009]判断是否有新增的用户预测行为数据;
[0010]若是,利用所述新增的用户预测行为数据二次更新所述第四矩阵,然后执行步骤a ;
[0011]若不是,执行所述步骤a ;
[0012]步骤a、利用所述第四矩阵和所述第三矩阵,对所述第一矩阵和所述第二矩阵进行更新;
[0013]选取用户Ua及项目Ii,所述用户Ua及项目Ii满足Ua与Ii的实际行为关系值为零;
[0014]预测本次循环过程用户Ua对项目Ii的评分值;
[0015]计算本次循环过程用户Ua对项目Ii的评分值与用户Ua对项目Ii的评分参考值的偏差量;
[0016]判断所述偏差量是否小于预设阀值;
[0017]若是,根据本次循环过程用户Ua对项目Ii的评分值确定是否将项目Ii推荐给用户Ua ;
[0018]若不是,将本次循环过程所确定的用户Ua对项目Ii的评分值更新为所述用户比对项目Ii的评分参考值,并将其作为新增的用户预测行为数据,返回执行所述判断是否有新增的用户预测行为数据步骤。
[0019]优选地,所述第三矩阵中的矩阵元素为;T [H) = r‘,,,(/,XU表示用户比对项目Ii实际行为关系值,ra,i表示用户Ua对项目Ii的实际评分值,所述第四矩阵Rui中的矩
\,) (I:.U ,)^0
阵元素为如(U)=-Λ,其中Pai为预测的用户比对项目Ii的评
[PaJ厂把((丸)=0’
分值,所述利用所述用户实际行为数据更新预先建立的推荐关系矩阵中的第三矩阵和第四矩阵,包括:
[0020]将新增的用户Ua对项目Ii的实际评分值ra,i填入所述第三矩阵的相应位置;
[0021]利用更新的所述第三矩阵对所述第四矩阵进行更新。
[0022]优选地,所述新增的用户预测行为数据为用户Ua对项目Ii的预测评分值P。,则所述利用所述新增的用户预测行为数据二次更新所述第四矩阵,包括:
[0023]判断所述第三矩阵中的矩阵元素;7 (/,W,,)是否为零;
[0024]若为零,将新增的用户Ua对项目Ii的预测评分值P。填入所述第四矩阵的相应位置;
[0025]若不为零,则判断是否等于
[0026]若二者不等,则将^ (%,/,)更新为^ (/,,R)。
[0027]优选地,所述利用所述第四矩阵和所述第三矩阵,对所述第一矩阵和所述第二矩阵进行更新,包括:
[0028]由所述第四矩阵和所述第三矩阵确定用户相似度影响因子ε υ和项目相似度影响因子h,其中,
T V T
「 ? ^ 1UaUb 入 1UaUb
[0029]Su =-
[0030]IUaJUb分别表示由所述第三矩阵和所述第四矩阵确定的用户Ua,Ub所分别链接的项目集合,1UaUb表示由所述第三矩阵和所述第四矩阵确定的用户Ua, Ub共同链接的项目集合;
【权利要求】
1.一种协同过滤推荐方法,其特征在于,包括: 判断是否有新增的用户实际行为数据;若是,则利用所述用户实际行为数据更新预先建立的推荐关系矩阵R中的第三矩阵和第四矩阵,所述推荐关系矩阵R包括表征用户间近邻关系的第一矩阵R?、表征项目间近邻关系的第二矩阵R?、表征用户与项目间实际行为关系的所述第三矩阵Riu和表征用户与项目间预测行为关系的所述第四矩阵Rui,在初始建立时所述第三矩阵与所述第四矩阵相等;判断是否有新增的用户预测行为数据; 若是,利用所述新增的用户预测行为数据二次更新所述第四矩阵,然后执行步骤a; 若不是,执行所述步骤a; 步骤a、利用所述第四矩阵和所述第三矩阵,对所述第一矩阵和所述第二矩阵进行更新; 选取用户Ua及项目Ii,所述用户Ua及项目Ii满足Ua与Ii的实际行为关系值为零; 预测本次循环过程用户Ua对项目Ii的评分值; 计算本次循环过程用户Ua对项目Ii的评分值与用户Ua对项目Ii的评分参考值的偏差量; 判断所述偏差量是否小于预设阀值; 若是,根据本次循环过程用户Ua对项目Ii的评分值确定是否将项目Ii推荐给用户Ua ;若不是,将本次循环过程所确定的用户Ua对项目Ii的评分值更新为所述用户Ua对项目Ii的评分参考值,并将其作为新增的用户预测行为数据,返回执行所述判断是否有新增的用户预测行为数据步骤。
2.根据权利要求1所述的协同过滤推荐方法,其特征在于,所述第三矩阵中的矩阵元素为rH {I ,,Uil) = /.?,,I), [IiJJ1,)表示用户Ua对项目Ii实际行为关系值,ra,i表示用户Ua对项目Ii的实际评分值,所述第四矩阵Rui中的矩阵元素为—, 、?/Γ(1.υ ) ^7(1.υ )^0Q(K)=- ; Γ; Λ,其中Pai为预测的用户比对项目Ii的评分值,所
[PuJrwiJ.,L、) = 0’述利用所述用户实际行为数据更新预先建立的推荐关系矩阵中的第三矩阵和第四矩阵,包括: 将新增的用户Ua对项目Ii的实际评分值填入所述第三矩阵的相应位置; 利用更新的所述第三矩阵对所述第四矩阵进行更新。
3.根据权利要求2所述的协同过滤推荐方法,其特征在于,所述新增的用户预测行为数据为用户Ua对项目Ii的预测评分值P。,则所述利用所述新增的用户预测行为数据二次更新所述第四矩阵,包括: 判断所述第三矩阵中的矩阵元素“丄',)是否为零; 若为零,将新增的用户Ua对项目Ii的预测评分值P。填入所述第四矩阵的相应位置; 若不为零,则判断石(R J,)是否等于^ (/,.,R); 若二者不等,则将^ (i/u, J,.)更新为石(I,,Ua)。
4.根据权利要求1所述的协同过滤推荐方法,其特征在于,所述利用所述第四矩阵和所述第三矩阵,对所述第一矩阵和所述第二矩阵进行更新,包括: 由所述第四矩阵和所述第三矩阵确定用户相似度影响因子ε?和项目相似度影响因子ε工,其中,
1Ua Jub分别表示由所述第三矩阵和所述第四矩阵确定的用户Ua, Ub所分别链接的项目集合,1VaUl表示由所述第三矩阵和所述第四矩阵确定的用户ua,Ub共同链接的项目集合;
UirUi,分别表示由所述第三矩阵和所述第四矩阵确定的项目Ii, Ij所分别链接的用户集合,t7Z+表示由所述第三矩阵和所述第四矩阵确定的项目Ii, L共同链接的用户集合; 确定所述第一矩阵为f {Ua,Ub) = Sim'{Ua,Ub),
其中,sim’ (Ua, Ub) = ε uXSim(Ua,Ub),sim(Ua, Ub)为用户 Ua, Ub 的相似度; 确定所述第二矩阵为孓(/,,/,) = —V丨Ji), 其中,sim’(Ii, I」)=ε Wsimdi, I」),Simdi, I」)为项目Ii, I」的相似度。
5.根据权利要求4所述的协同过滤推荐方法,其特征在于,所述预测本次循环过程用户Ua对项目Ii的评分值,包括: 依据下述公式预测用户Ua对项目Ii的评分值:
其中,λ为预设平衡参量7~和€分别表示第一矩阵中用户Ua和用户Ub已评分项目的平均评分值,r/;和' 分别表示第一矩阵中项目Ii和项目L已被评分的平均值,N(Ua)和N(Ii)分别满足下式:
其中,α和β分别为用户相似度阀值和项目相似度阀值。
6.一种协同过滤推荐装置,其特征在于,包括: 第一判断单元,用于判断是否有新增的用户实际行为数据; 第一更新单元,用于在所述第一判断单元的判断结果为是时,利用所述用户实际行为数据更新预先建立的推荐关系矩阵R中的第三矩阵和第四矩阵,所述推荐关系矩阵R包括表征用户间近邻关系的第一矩阵Rm1、表征项目间近邻关系的第二矩阵R?、表征用户与项目间实际行为关系的所述第三矩阵Riu和表征用户与项目间预测行为关系的所述第四矩阵Rui,在初始建立时所述第三矩阵与所述第四矩阵相等; 第二判断单元,用于判断是否有新增的用户预测行为数据; 第二更新单元,用于在所述第二判断单元的判断结果为是时,利用所述新增的用户预测行为数据二次更新所述第四矩阵; 第三更新单元,用于利用所述第二更新单元更新的第四矩阵或者所述第一更新单元更新的第四矩阵以及所述第一更新单元更新的第三矩阵,对所述第一矩阵和所述第二矩阵进行更新; 选取单元,用于选取用户Ua及项目Ii,所述用户Ua及项目Ii满足Ua与Ii的实际行为关系值为零; 评分预测单元,用于预测本次循环过程用户Ua对项目Ii的评分值; 偏差量计算单元,用于计算本次循环过程用户Ua对项目Ii的评分值与用户Ua对项目Ii的评分参考值的偏差量; 第三判断单元,用于判断所述偏差量是否小于预设阀值; 项目推荐单元,用于在所述第三判断单元的判断结果为是时,根据本次循环过程用户Ua对项目Ii的评分值确定是否将项目Ii推荐给用户Ua ; 评分值处理单元,用于在所述第三判断单元的判断结果为否时,将本次循环过程所确定的用户Ua对项目Ii的评分值更新为所述用户Ua对项目Ii的评分参考值,并将其作为新增的用户预测行为数据,返回至所述第二判断单元。
7.根据权利要求6所述的协同过滤推荐装置,其特征在于,所述第三矩阵中的矩阵元素为,rn [InVl,)表示用户Ua对项目Ii实际行为关系值,ra,i表示用户Ua对项目Ii的实际评分值,所述第四矩阵Rui中的矩阵元素为G(U) = Iv上,其中pai为预测的用户Ue对项目I1的评分值,所 I Pa,1H’述第一更新单元包括: 第一填充子单元,用于将新增的用户Ua对项目Ii的实际评分值填入所述第三矩阵的相应位置; 第四更新子单元,利用更新的所述第三矩阵对所述第四矩阵进行更新。
8.根据权利要求7所述的协同过滤推荐装置,其特征在于,所述新增的用户预测行为数据为用户Ua对项目Ii的预测评分值Pu,所述第二更新单元包括: 第四判断子单元,用于判断所述第三矩阵中的矩阵元素^ )是否为零; 第二填充子单元,用于在所述第四判断子单元的判断结果为是时,将新增的用户Ua对项目Ii的预测评分值Pu填入所述第四矩阵的相应位置; 第五判断子单元,用于在所述第四判断子单元的判断结果为否时,判断是否等予 VM,uu)., 第五更新子单元,用于在所述第五判断子单元的判断结果为否时,将更新为rIU。
9.根据权利要求6所述的协同过滤推荐装置,其特征在于,所述第三更新单元包括: 影响因子确定单元,用于由所述第四矩阵和所述第三矩阵确定用户相似度影响因子ε 项目相似度影响因子S1,其中,
1Ua JiJb分别表示由所述第三矩阵和所述第四矩阵确定的用户Ua, Ub所分别链接的项目集合,1UjJl表示由所述第三矩阵和所述第四矩阵确定的用户Ua,Ub共同链接的项目集合;
uI^uIl分别表示由所述第三矩阵和所述第四矩阵确定的项目Ii, Ij所分别链接的用户集合,uI1Il表示由所述第三矩阵和所述第四矩阵确定的项目Ii, L共同链接的用户集合; 矩阵确定单元,用于确定所述第一矩阵为^07,,所述第二矩阵为厂〃(/,,/,) =),其中,
sim’ (Ua, Ub) = ε uXsim(Ua, Ub),sim(Ua, Ub)为用户 Ua, Ub 的相似度;
sim’ (Ii, I」)=ε JXsimdi, Ij), Simdi, Ij)为项目 Ii, Ij 的相似度。
10.根据权利要求9所述的协同过滤推荐装置,其特征在于,所述评分预测单元包括: 第一评分预测子单元,用于依据下述公式预测用户Ua对项目Ii的评分值:
其中,λ为预设平衡参量,&和^分别表示第一矩阵中用户Ua和用户Ub已评分项目的平均评分值,Vh和/,分别表示第一矩阵中项目Ii和项目L已被评分的平均值,N(Ua)和N(Ii)分别满足下式:
其中,α和β分别为用户相似度阀值和项目相似度阀值。
【文档编号】G06Q30/00GK104182518SQ201410420928
【公开日】2014年12月3日 申请日期:2014年8月25日 优先权日:2014年8月25日
【发明者】吴健, 冒九妹, 赵朋朋, 崔志明 申请人:苏州大学