CN103632290A - 一种基于推荐概率融合的混合推荐方法 - Google Patents

一种基于推荐概率融合的混合推荐方法 Download PDF

Info

Publication number
CN103632290A
CN103632290A CN201310637512.4A CN201310637512A CN103632290A CN 103632290 A CN103632290 A CN 103632290A CN 201310637512 A CN201310637512 A CN 201310637512A CN 103632290 A CN103632290 A CN 103632290A
Authority
CN
China
Prior art keywords
user
scoring
commodity
outcome
represent
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201310637512.4A
Other languages
English (en)
Other versions
CN103632290B (zh
Inventor
刘业政
姜元春
王锦坤
孙春华
魏婧
杜非
王佳佳
姬建睿
何建民
凌海峰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hefei University of Technology
Original Assignee
Hefei University of Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hefei University of Technology filed Critical Hefei University of Technology
Priority to CN201310637512.4A priority Critical patent/CN103632290B/zh
Publication of CN103632290A publication Critical patent/CN103632290A/zh
Application granted granted Critical
Publication of CN103632290B publication Critical patent/CN103632290B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种基于推荐概率融合的混合推荐方法,该方法包括如下步骤:1)用二维表表示商品的评分数据;2)对已评分集合中的任意项作为未知数,利用基础推荐方法得到对应项的预测结果,将已评分项评分和对应项的预测结果的集合利用神经网络进行训练得到评分预测模型SFM;3)利用基础推荐方法得到未评分项预测结果,将未评分项预测结果的集合利用SFM获得未评分项的最终预测值;4)将用户的所有未评分项按照未评分项最终预测值集合中各预测值的大小进行降序排列获得未评分项排序集合,选取未评分项排序集合的前N项作为推荐结果推荐给用户。本发明能有效反映用户评价的真实情况,提高个性化推荐的精度。

Description

一种基于推荐概率融合的混合推荐方法
技术领域
本发明属于电子商务领域,具体地说是一种基于推荐概率融合的混合推荐方法。
背景技术
随着电子商务的快速发展,信息过载现象愈加严重。如何基于海量的商品集合满足用户的个性化需求成为提升用户体验、提高用户满意度的重要问题。个性化推荐***是满足用户个性化需求的重要手段。个性化推荐***根据用户个体的在线浏览数据或购买数据构建用户兴趣偏好模型,从而向用户推荐符合其独特需求的商品。个性化商品推荐在亚马逊、京东商城、淘宝等电子商务网站得到了广泛应用,有效提高了用户购买的可能性,提升了用户对网站服务的体验。
协同过滤(Collaborative Filtering)技术是个性化推荐应用最早和最为成功的技术之一,其主要思路是基于具有相似特征的用户其兴趣偏好也相同这一假设构建用户兴趣偏好模型。现有研究方法虽然可以为个性化推荐***的构建提供理论基础和实践指导,但是仍然存在诸多缺陷:
(1)推荐信息表示的不完整。已有推荐方法通常将用户对商品的评价表示或预测为一个具体的数值,如预测用户对商品的评价为3分即认为用户对商品评分为3分的可能性为100%。实际上,用户对特定商品的评价通常处于一种不确定的状态,如对某一商品的评价通常为“不错”、“还可以”、“挺好”。将用户对商品评价的不确定状态表示为用户针对商品给出不同评分的可能性,例如对商品评价为3分、4分、5分的可能性分别为30%、40%和20%,可以有效反映用户评价的真实情况,对提高个性化推荐的精度具有积极的影响。现有方法将用户评分表示成一个具体数值忽略了用户评价的不确定性,无法反映用户评价商品的真实情况,降低了推荐***的精度。
(2)推荐信息的融合问题。基于用户的协同过滤方法通过计算邻居用户推荐那些和他有共同兴趣爱好的用户喜欢的物品,推荐结果着重于反映和用户兴趣相似的小群体的热点;基于项目的协同过滤方法通过计算商品邻居给用户推荐那些和他以前选择的商品类似的商品,推荐结果着重于维系用户的历史兴趣。基于用户的协同过滤、基于项目的协同过滤方法分别从用户和项目角度产生个性化推荐结果,对上述结果进行融合可以对各种角度的推荐信息进行综合利用,提高个性化推荐的精度。现有研究中缺少对不同角度推荐信息进行融合的统一框架。例如,一种基于项目评分预测的协同过滤推荐算法利用基于项目的协同过滤方法得到的预测结果作为基于用户的协同过滤方法的输入,虽然综合利用了基于用户的协同过滤方法和基于项目的协同过滤方法,但其并未对基于用户的协同过滤结果和基于项目的协同过滤结果进行融合。
发明内容
本发明为克服现有技术存在的不足之处,提出一种基于推荐概率融合的混合推荐方法,不仅为融合不同推荐方法产生的推荐结果提供了统一的框架,而且能有效反映用户评价的真实情况,提高个性化推荐的精度。
为了达到上述目的,本发明所采用的技术方案为:
本发明一种基于推荐概率融合的混合推荐方法的特点是按如下步骤进行:
步骤一、用二维表T={U,I,f}表示商品的评分数据;
所述二维表T中,U={U1,...,Uu,...,U|U|}表示用户集合,I={I1,...,Ii,...,I|I|}表示商品集合,f表示用户对商品的评分;
所述用户集合U中,|U|为用户的总个数,Uu表示第u个用户;所述商品集合I中,|I|为商品的总个数,Ii表示第i个商品;假设用户Uu对商品Ii的评分等级S为{S1,...,Ss,...,S|S|},所述评分等级S中,评分Ss为整数且S1<...<Ss<...<S|S|,S1表示商品的最低评分,S|S|表示商品的最高评分;
所述二维表T中,将所有用户的已有评分项用已评分集合
Figure BDA0000427982550000021
表示,
Figure BDA0000427982550000022
Figure BDA0000427982550000023
为所述用户Uu的已评分集合,
Figure BDA0000427982550000024
Figure BDA0000427982550000025
表示用户Uu的第i个已有评分项,
Figure BDA0000427982550000026
表示用户Uu的已有评分项的总个数;令
Figure BDA0000427982550000027
为所述用户Uu的未评分集合,
Figure BDA0000427982550000029
表示用户Uu的第i个未评分项,
Figure BDA00004279825500000210
表示用户Uu的未评分项的总个数,令所述用户未评分集合中的任意项
Figure BDA00004279825500000212
步骤二、假设用户已评分集合中的任意项
Figure BDA00004279825500000214
为未知数,将用户已评分集合
Figure BDA00004279825500000215
中的其他项利用基于用户的协同过滤方法和基于项目的协同过滤方法分别获得所述任意项
Figure BDA00004279825500000216
的邻居用户预测结果
Figure BDA00004279825500000217
和邻居项目预测结果
Figure BDA00004279825500000218
;将所述邻居用户预测结果
Figure BDA00004279825500000219
和邻居项目预测结果
Figure BDA00004279825500000220
作为所述任意项
Figure BDA00004279825500000221
的已评分项预测结果
Figure BDA00004279825500000227
将用户已评分集合
Figure BDA00004279825500000223
中所有项的已评分项预测结果用已评分项预测结果集合
Figure BDA00004279825500000224
表示;
将所述已评分项预测结果集合
Figure BDA00004279825500000225
作为神经网络的输入值,将所述用户已评分集合
Figure BDA00004279825500000226
作为所述神经网络的输出值,对所述神经网络进行训练,获得评分预测模型SFM;
步骤三、将用户已评分集合中的所有项利用所述基于用户的协同过滤方法和基于项目的协同过滤方法获得所述用户未评分集合
Figure BDA0000427982550000032
中的任意项
Figure BDA0000427982550000033
的初步预测结果
Figure BDA00004279825500000316
将所述用户未评分集合
Figure BDA0000427982550000035
中所有项的预测结果用未评分项预测结果集合
Figure BDA0000427982550000036
表示;将所述未评分项预测结果集合
Figure BDA0000427982550000037
作为所述评分预测模型SFM的输入值,利用所述评分预测模型SFM获得未评分项最终预测值集合;
步骤四、将所述用户Uu的所有未评分项按照所述未评分项最终预测值集合中各预测值的大小进行降序排列获得未评分项排序集合,选取所述未评分项排序集合的前N项作为推荐结果推荐给所述用户Uu
本发明基于推荐概率融合的混合推荐方法的特点也在于:
所述步骤二中基于用户的协同过滤方法是按如下步骤进行:
1)将所述用户Uu对所有商品的用户已评分集合
Figure BDA0000427982550000038
和其他用户对所有商品的已评分集合分别利用有约束的皮尔逊相关度度量方法获得用户Uu与其他用户的用户相似度集合,将其他用户按照所述用户相似度集合中的相似度大小进行降序排列获得初步邻居用户集合Nu
2)将所述商品Ii在已评分集合
Figure BDA0000427982550000039
中所对应的用户表示为评分用户集合Ri
3)将所述初步邻居集合Nu与评分用户集合Ri交集的前k个用户表示为邻居用户集合Nui
4)将所述邻居用户集合Nui中的每个用户对商品Ii的评分表示为邻居用户评分集合Fui
5)利用式(1)获得基于用户的评分概率
Figure BDA00004279825500000310
Pr ui U ( S s ) = Num U ( S s ) / k - - - ( 1 )
式(1)中,NumU(Ss)为所述邻居用户评分集合Fui中评分Ss出现的次数;
6)将所述评分Ss与所述基于用户的评分概率
Figure BDA00004279825500000312
构成邻居用户预测结果
Figure BDA00004279825500000313
Pr ui U = { ( S 1 , Pr ui U ( S 1 ) ) , . . . , ( S s , Pr ui U ( S s ) ) , . . . , ( S | S | , Pr ui U ( S | S | ) ) } - - - ( 2 )
式(2)中, Pr ui U ( S s ) ∈ [ 0,1 ] .
所述基于项目的协同过滤方法是按如下步骤进行:
1)将所有用户对所述商品Ii的已评分集合和对其他商品的已评分集合分别利用有约束的皮尔逊相关度度量方法获得所述商品Ii与其他商品的商品相似度集合,将其他商品按照所述商品相似度集合中的相似度大小进行降序排列获得初步邻居商品集合Ni
2)将用户Uu在已评分集合中所对应的商品表示为评分商品集合Ru
3)将所述初步邻居商品集合Ni与评分商品集合Ru交集的前k个商品表示为邻居商品集合Niu
4)将用户Uu对所述邻居商品集合Niu中的每个商品的评分表示为邻居商品评分集合Fiu
5)利用式(3)获得基于项目的评分概率
Figure BDA0000427982550000042
Pr ui I ( S s ) = Num I ( S s ) / k - - - ( 3 )
式(3)中,NumI(Ss)为所述邻居商品评分集合Fiu中评分Ss出现的次数;
6)将所述评分Ss与所述基于项目的评分概率
Figure BDA0000427982550000044
构成项目邻居预测结果
Figure BDA0000427982550000045
Pr ui I = { ( S 1 , Pr ui I ( S 1 ) ) , . . . , ( S s , Pr ui I ( S s ) ) , . . . , ( S | S | , Pr ui I ( S | S | ) ) } - - - ( 4 )
式(4)中, Pr ui I ( S s ) ∈ [ 0,1 ] .
与已有技术相比,本发明的有益效果体现在:
1、本发明将基于用户和基于项目的推荐方法各自所获得的推荐结果表示为推荐概率,利用神经网络将各自所获得的推荐结果进行融合,克服了传统混合推荐方法推荐信息表示不完整的问题,为不同角度推荐信息的融合提供了统一的框架,其推荐精度明显优于基于用户的推荐方法和基于项目的推荐方法。
2、本发明利用评分Ss和基于用户的评分概率所构成的二元组集合
Figure BDA0000427982550000048
来表示基于用户的推荐方法所获得的推荐信息,利用评分Ss与基于项目的评分概率所构成的二元组集合
Figure BDA0000427982550000049
来表示基于项目的推荐方法所获得的推荐信息,与将用户对商品的评价表示为一个具体的数值相比,评分和评分概率构成的二元组能够更加真实的反映用户评价的真实情况。
3、本发明利用基于用户的协同过滤方法和基于项目的协同过滤方法得到已评分项预测结果,将已评分项预测结果集合作为输入,将已评分集合作为输出,利用神经网络特有的拟合能力获得评分预测模型SFM,保证了评分预测模型的鲁棒性。
4、本发明将未评分集合利用基于用户的协同过滤方法和基于项目的协同过滤方法得到初步预测结果,将初步预测结果作为评分预测模型SFM的输入得到未评分项最终的预测值集合,进而得到最终的推荐结果,与传统推荐方法相比,本发明能够对不同推荐方法的推荐结果进行有效融合,提高了个性化推荐的精度。
5、本发明所提混合推荐方法将基于用户的协同过滤方法和基于项目的协同过滤方法的结果进行了融合有利于提高推荐结果的多样性,更加符合用户的真实偏好,克服了现有技术中单纯使用基于用户的协同过滤方法或单纯使用基于项目的协同过滤方法的缺点。
6、本发明可用于服装和手机等实体产品、电影和音乐等数字产品、旅游线路和度假安排等服务产品的个性化推荐***,可以在电脑和手机的网页和App等平台进行使用,应用范围广泛。
附图说明
图1为本发明的流程示意图;
图2为相似性度量方法的敏感性实验结果;
图3为邻居用户(商品)数目敏感性实验结果;
图4为预测准确性实验结果;
图5为预测训练模型敏感性实验结果。
具体实施方式
本发明利用二维表表示商品的评分数据,对已评分集合中的任意项作为未知数,利用基础推荐方法得到对应项的预测结果,将已评分项评分和对应项的预测结果的集合利用神经网络进行训练得到评分预测模型SFM。将通过基础推荐方法得到的未评分项预测结果的集合利用评分预测模型SFM获得未评分项的最终预测值。最后,在标准数据集上与基础算法进行比较。如图1所示,本发明实施例的方法包括以下步骤:
步骤一、用二维表T={U,I,f}表示商品的评分数据,具体包括:
如表1,U={U1,...,Uu,...,U|U|}表示用户集合,I={I1,...,Ii,...,I|I|}表示商品集合,f表示用户对商品的评分;
用户集合U中,|U|为用户的总个数,Uu表示第u个用户;商品集合I中,|I|为商品的总个数,Ii表示第i个商品;假设用户Uu对商品Ii的评分等级S为{S1,...,Ss,...,S|S|},评分等级S中,评分Ss为整数且S1<...<Ss<...<S|S|,S1表示商品的最低评分,S|S|表示商品的最高评分;
Figure BDA0000427982550000061
表1
二维表T中,将所有用户的已有评分项用已评分集合表示,
Figure BDA0000427982550000063
Figure BDA0000427982550000064
为用户Uu的已评分集合,
Figure BDA0000427982550000065
Figure BDA0000427982550000066
表示用户Uu的第i个已有评分项,
Figure BDA0000427982550000067
表示用户Uu的已有评分项的总个数;令为用户Uu的未评分集合,
Figure BDA0000427982550000068
Figure BDA0000427982550000069
表示用户Uu的第i个未评分项,
Figure BDA00004279825500000610
表示用户Uu的未评分项的总个数,令用户未评分集合
Figure BDA00004279825500000611
中的任意项
Figure BDA00004279825500000612
步骤二、利用基础推荐方法得到对应项的预测结果,将已评分项评分和对应项的预测结果利用神经网络进行训练得到评分预测模型SFM。具体步骤包括:
1)假设用户已评分集合中的任意项
Figure BDA00004279825500000614
为未知数,将用户已评分集合
Figure BDA00004279825500000615
中的其他项利用基于用户的协同过滤方法获得任意项的邻居用户预测结果
Figure BDA00004279825500000623
其他项指在已评分集合 F ^ u = { f ^ u 1 , . . . , f ^ ui , . . . , f ^ u | F ^ u | } 中,除了
Figure BDA00004279825500000618
以外的所有项;
1.1)将用户Uu对所有商品I={I1,...,Ii,...,I|I|}的用户已评分集合
Figure BDA00004279825500000619
和其他用户对所有商品的已评分集合分别利用有约束的皮尔逊相关度度量方法获得用户Uu与其他用户的用户相似度集合,将其他用户按照用户相似度集合中的相似度大小进行降序排列获得初步邻居用户集合Nu,其他用户是指在用户集合U={U1,...,Uu,...,U|U|}中除了用户Uu以外的所有用户,其他用户对所有商品的已评分集合是指在已评分集合
Figure BDA00004279825500000620
中除了用户Uu的已评分集合以外的所有用户评分集合;用户的相似度度量方法包括余弦相似性、皮尔逊相关性和有约束的皮尔逊相关性三种,为了比较不同的相似性度量方法对于本发明方法预测精度的影响本发明针对设计了5组实验,实验结果如图2所示。图中横坐标表示数据集,纵坐标表示实验预测误差,由图中曲线我们可以看出,对于本发明中的标准数据集,基于有约束的皮尔逊相关性的相似性度量方法的误差均低于余弦相似性度量方法和皮尔森相关性度量方法,从而有助于提高本发明方法的预测精度。
1.2)将商品Ii在已评分集合
Figure BDA0000427982550000071
中所对应的用户表示为评分用户集合Ri
1.3)将初步邻居用户集合Nu与评分用户集合Ri交集的前k个用户表示为邻居用户集合Nui;k的选择是影响基于用户的协同过滤推荐方法效果的关键因素,为了验证邻居用户数对本发明方法预测精度的影响,本发明设计了7组实验,每组实验分别选取k个邻居用户,k=10,20,…,80;并计算预测精度。实验结果如图3所示,图中横坐标表示邻居用户数,纵坐标表示实验预测误差。当邻居用户数k较小时,预测概率不够精确,降低了预测的准确性;当邻居用户数k较大时,用户之间的相似性不高,亦会降低算法预测的准确性。因此,对于本实验所采用标准数据集而言,邻居用户数选择在[30,70]之间时可以取得较好的预测效果;对于其他数据集,最佳邻居用户数目的确定依赖于具体的数据情况。
1.4)将邻居用户集合Nui中的每个用户对商品Ii的评分表示为邻居用户评分集合Fui
1.5)利用式(1)获得基于用户的评分概率
Figure BDA0000427982550000072
,即用基于用户的协同过滤方法得到的用户Uu对商品Ii的评分等级为Ss的概率:
Pr ui U ( S s ) = Num U ( S s ) / k - - - ( 1 )
式(1)中,NumU(Ss)为所述邻居用户评分集合Fui中评分Ss出现的次数;
1.6)将评分Ss与基于用户的评分概率
Figure BDA0000427982550000074
构成邻居用户预测结果
Figure BDA0000427982550000075
Pr ui U = { ( S 1 , Pr ui U ( S 1 ) ) , . . . , ( S s , Pr ui U ( S s ) ) , . . . , ( S | S | , Pr ui U ( S | S | ) ) } - - - ( 2 )
式(2)中, Pr ui U ( S s ) ∈ [ 0,1 ] .
2)假设用户已评分集合
Figure BDA0000427982550000078
中的任意项
Figure BDA0000427982550000079
为未知数,将用户已评分集合
Figure BDA00004279825500000710
中的其他项利用基于项目的协同过滤方法获得任意项的项目邻居预测结果
Figure BDA00004279825500000711
,其他项指在已评分集合
Figure BDA00004279825500000712
中,除了第i个已有评分项
Figure BDA00004279825500000713
以外的所有项;
2.1)将用户集合U对商品Ii的已评分集合和对其他商品的已评分集合分别利用有约束的皮尔逊相关度度量方法获得商品Ii与其他商品的商品相似度集合,将其他商品按照商品相似度集合中的相似度大小进行降序排列获得初步商品邻居集合Ni;其他商品是指在商品集合I={I1,...,Ii,...,I|I|}中除了商品Ii以外的所有商品。
2.2)将用户Uu在已评分集合中所对应的商品表示为评分商品集合Ru
2.3)将初步商品邻居集合Ni与评分商品集合Ru交集的前k个商品表示为商品邻居集合Niu;k的选择是影响基于项目的协同过滤推荐方法效果的关键因素,为了验证邻居项目数对本发明方法预测精度的影响,本发明设计了7组实验,每组实验分别选取k个邻居项目,k=10,20,…,80;并计算预测精度。实验结果如图3所示,图中横坐标表示邻居项目数,纵坐标表示实验预测误差。当邻居项目数k较小时,预测概率不够精确,降低了预测的准确性;当邻居项目数k较大时,项目之间的相似性不高,亦会降低算法预测的准确性。因此,对于本实验所采用标准数据集而言,邻居用户数选择在[30,70]之间时可以取得较好的预测效果;对于其他数据集,最佳邻居用户数目的确定依赖于具体的数据情况。
2.4)将用户Uu对商品邻居集合Niu中的每个商品的评分表示为邻居商品评分集合Fiu
2.5)利用式(3)获得基于项目的评分概率,即用基于项目的协同过滤方法得到的用户Uu对商品Ii的评分等级为Ss的概率:
Pr ui I ( S s ) = Num I ( S s ) / k - - - ( 3 )
式(3)中,NumI(Ss)为邻居商品评分集合Fiu中评分Ss出现的次数;
2.6)将评分Ss与基于项目的评分概率
Figure BDA0000427982550000084
构成项目邻居预测结果
Figure BDA0000427982550000085
Pr ui I = { ( S 1 , Pr ui I ( S 1 ) ) , . . . , ( S s , Pr ui I ( S s ) ) , . . . , ( S | S | , Pr ui I ( S | S | ) ) } - - - ( 4 )
式(4)中,
Figure BDA0000427982550000087
3)将邻居用户预测结果
Figure BDA0000427982550000088
和邻居项目预测结果
Figure BDA0000427982550000089
作为任意项
Figure BDA00004279825500000810
的已评分项预测结果
Figure BDA00004279825500000811
具体地,任意项的已评分项预测结果为:
f ^ ui 0 = { ( S 1 , Pr ui U ( S 1 ) ) , . . . , ( S s , Pr ui U ( S s ) ) , . . . , ( S | S | , Pr ui U ( S | S | ) ) , ( S 1 , Pr ui I ( S 1 ) ) , . . . , ( S s , Pr ui I ( S s ) ) , . . . , ( S | S | , Pr ui I ( S | S | ) ) }
对已评分集合中所有项执行步骤1)和步骤2),将已评分集合
Figure BDA00004279825500000813
中所有项的预测结果用已评分项预测结果集合
Figure BDA00004279825500000814
表示;
4)将已评分项预测结果集合
Figure BDA00004279825500000815
作为神经网络的输入值,将已评分集合
Figure BDA00004279825500000816
作为神经网络的输出值,对神经网络进行训练,获得评分预测模型SFM。本实施例中,所采用的神经网络是指径向基神经网络。径向基神经网络具有较强的输入和输出映射功能,具有唯一最佳逼近的特性,且学习过程收敛速度快。
步骤三、将用户已评分集合
Figure BDA0000427982550000091
中的所有项
Figure BDA0000427982550000092
利用基于用户的协同过滤方法和基于项目的协同过滤方法获得未评分集合中的任意项
Figure BDA0000427982550000094
的初步预测结果
Figure BDA0000427982550000095
将未评分集合
Figure BDA0000427982550000096
中所有项
Figure BDA0000427982550000097
的预测结果用未评分项预测结果集合
Figure BDA0000427982550000098
表示;将未评分项预测结果集合
Figure BDA0000427982550000099
作为评分预测模型SFM的输入值,利用评分预测模型SFM输出未评分项最终预测值集合;
步骤四、将用户Uu的所有未评分项
Figure BDA00004279825500000910
按照未评分项最终预测值集合中各预测值的大小进行降序排列获得未评分项排序集合,选取未评分项排序集合的前N项作为推荐结果推荐给用户Uu,N表示推荐个数,可根据具体推荐场景设定。
针对本发明方法进行实验论证,具体包括:
1)准备标准数据集
本发明使用MovieLens数据集作为标准数据集验证概率融合推荐方法的有效性,MovieLens数据集是应用广泛的个性化推荐数据集。在MovieLens数据集中,用户对自己看过的电影进行评分,分值为1到5分,数据集包括943位独立用户,1682部电影,100000个评分。训练集和测试集采用80%/20%的规则进行分割,即随机选择80000个评分作为训练集,20000个评分作为测试集。
2)评价指标
采用平均绝对误差(MAE)作为本实施例的评价指标。平均绝对偏差MAE通过计算测试集中实际的用户评分与对应项的最终预测值之间的偏差度量预测的准确性,MAE越小,推荐质量越高。设实际用户评分集合为{p1,...,pl,...,pn},对应预测值集合表示为{q1,...,ql,...,qn},则平均绝对误差定义为式(5):
MAE = Σ l = 1 n | q l - p l | n - - - ( 5 )
3)在标准数据集上进行实验
为了验证本发明所提方法的有效性,本文在MovieLens数据集的5组数据集上进行建模和预测,并将预测结果与真实评分进行比较。实验结果如图4所示,图中横坐标表示数据集序号,纵坐标表示实验预测误差。与基于用户的协同过滤方法和基于产品的协同过滤方法相比,本发明的方法的预测误差均低于基于用户的方法和基于项目的方法,从而在每个数据集上均能取得更优的预测准确率。
为验证本发明所提方法的鲁棒性,本文通过改变径向基神经网络的隐含层神经元数量和隐含层学习函数,分别设计了7组实验进行验证。实验结果如图5所示,图中横坐标表示实验序号,纵坐标表示实验预测误差。由图5可以看出,改变径向基神经网络的隐含层神经元数量和隐含层学习函数,本发明方法的预测误差会出现一定变化;但是,在合理的隐含层神经元数量和隐含层学习函数设置下,本文方法的预测误差始终低于基于用户的方法和基于项目的方法,从而本发明优于基于用户的协同过滤方法和基于产品的协同过滤推荐方法。

Claims (3)

1.一种基于推荐概率融合的混合推荐方法,其特征是按如下步骤进行:
步骤一、用二维表T={U,I,f}表示商品的评分数据;
所述二维表T中,U={U1,...,Uu,...,U|U|}表示用户集合,I={I1,...,Ii,...,I|I|}表示商品集合,f表示用户对商品的评分;
所述用户集合U中,|U|为用户的总个数,Uu表示第u个用户;所述商品集合I中,|I|为商品的总个数,Ii表示第i个商品;假设用户Uu对商品Ii的评分等级S为{S1,...,Ss,...,S|S|},所述评分等级S中,评分Ss为整数且S1<...<Ss<...<S|S|,S1表示商品的最低评分,S|S|表示商品的最高评分;
所述二维表T中,将所有用户的已有评分项用已评分集合
Figure FDA0000427982540000011
表示,
Figure FDA0000427982540000012
Figure FDA0000427982540000013
为所述用户Uu的已评分集合,
Figure FDA00004279825400000133
表示用户Uu的第i个已有评分项,
Figure FDA0000427982540000015
表示用户Uu的已有评分项的总个数;令
Figure FDA00004279825400000134
为所述用户Uu的未评分集合,
Figure FDA0000427982540000016
Figure FDA0000427982540000017
表示用户Uu的第i个未评分项,
Figure FDA00004279825400000135
表示用户Uu的未评分项的总个数,令所述用户未评分集合中的任意项
Figure FDA00004279825400000110
步骤二、假设用户已评分集合
Figure FDA00004279825400000111
中的任意项
Figure FDA00004279825400000112
为未知数,将用户已评分集合
Figure FDA00004279825400000113
中的其他项利用基于用户的协同过滤方法和基于项目的协同过滤方法分别获得所述任意项
Figure FDA00004279825400000114
的邻居用户预测结果
Figure FDA00004279825400000115
和邻居项目预测结果
Figure FDA00004279825400000136
将所述邻居用户预测结果
Figure FDA00004279825400000117
和邻居项目预测结果
Figure FDA00004279825400000118
作为所述任意项的已评分项预测结果
Figure FDA00004279825400000138
将用户已评分集合
Figure FDA00004279825400000121
中所有项的已评分项预测结果用已评分项预测结果集合
Figure FDA00004279825400000122
表示;
将所述已评分项预测结果集合
Figure FDA00004279825400000123
作为神经网络的输入值,将所述用户已评分集合
Figure FDA00004279825400000124
作为所述神经网络的输出值,对所述神经网络进行训练,获得评分预测模型SFM;
步骤三、将用户已评分集合
Figure FDA00004279825400000125
中的所有项利用所述基于用户的协同过滤方法和基于项目的协同过滤方法获得所述用户未评分集合中的任意项
Figure FDA00004279825400000127
的初步预测结果
Figure FDA00004279825400000137
将所述用户未评分集合
Figure FDA00004279825400000129
中所有项的预测结果用未评分项预测结果集合表示;将所述未评分项预测结果集合
Figure FDA00004279825400000131
作为所述评分预测模型SFM的输入值,利用所述评分预测模型SFM获得未评分项最终预测值集合;
步骤四、将所述用户Uu的所有未评分项按照所述未评分项最终预测值集合中各预测值的大小进行降序排列获得未评分项排序集合,选取所述未评分项排序集合的前N项作为推荐结果推荐给所述用户Uu
2.根据权利要求1所述的基于推荐概率融合的混合推荐方法,其特征在于:所述步骤二中基于用户的协同过滤方法是按如下步骤进行:
1)将所述用户Uu对所有商品的用户已评分集合
Figure FDA0000427982540000021
和其他用户对所有商品的已评分集合分别利用有约束的皮尔逊相关度度量方法获得用户Uu与其他用户的用户相似度集合,将其他用户按照所述用户相似度集合中的相似度大小进行降序排列获得初步邻居用户集合Nu
2)将所述商品Ii在已评分集合中所对应的用户表示为评分用户集合Ri
3)将所述初步邻居集合Nu与评分用户集合Ri交集的前k个用户表示为邻居用户集合Nui
4)将所述邻居用户集合Nui中的每个用户对商品Ii的评分表示为邻居用户评分集合Fui
5)利用式(1)获得基于用户的评分概率
Figure FDA0000427982540000023
Pr ui U ( S s ) = Num U ( S s ) / k - - - ( 1 )
式(1)中,NumU(Ss)为所述邻居用户评分集合Fui中评分Ss出现的次数;
6)将所述评分Ss与所述基于用户的评分概率
Figure FDA0000427982540000025
构成邻居用户预测结果
Pr ui U = { ( S 1 , Pr ui U ( S 1 ) ) , . . . , ( S s , Pr ui U ( S s ) ) , . . . , ( S | S | , Pr ui U ( S | S | ) ) } - - - ( 2 )
式(2)中, Pr ui U ( S s ) ∈ [ 0,1 ] .
3.根据权利要求1所述的基于推荐概率融合的混合推荐方法,其特征在于:所述基于项目的协同过滤方法是按如下步骤进行:
1)将所有用户对所述商品Ii的已评分集合和对其他商品的已评分集合分别利用有约束的皮尔逊相关度度量方法获得所述商品Ii与其他商品的商品相似度集合,将其他商品按照所述商品相似度集合中的相似度大小进行降序排列获得初步邻居商品集合Ni
2)将用户Uu在已评分集合
Figure FDA0000427982540000029
中所对应的商品表示为评分商品集合Ru
3)将所述初步邻居商品集合Ni与评分商品集合Ru交集的前k个商品表示为邻居商品集合Niu
4)将用户Uu对所述邻居商品集合Niu中的每个商品的评分表示为邻居商品评分集合Fiu
5)利用式(3)获得基于项目的评分概率
Pr ui I ( S s ) = Num I ( S s ) / k - - - ( 3 )
式(3)中,NumI(Ss)为所述邻居商品评分集合Fiu中评分Ss出现的次数;
6)将所述评分Ss与所述基于项目的评分概率构成项目邻居预测结果
Figure FDA0000427982540000034
Pr ui I = { ( S 1 , Pr ui I ( S 1 ) ) , . . . , ( S s , Pr ui I ( S s ) ) , . . . , ( S | S | , Pr ui I ( S | S | ) ) } - - - ( 4 )
式(4)中, Pr ui I ( S s ) ∈ [ 0,1 ] .
CN201310637512.4A 2013-12-02 2013-12-02 一种基于推荐概率融合的混合推荐方法 Active CN103632290B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310637512.4A CN103632290B (zh) 2013-12-02 2013-12-02 一种基于推荐概率融合的混合推荐方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310637512.4A CN103632290B (zh) 2013-12-02 2013-12-02 一种基于推荐概率融合的混合推荐方法

Publications (2)

Publication Number Publication Date
CN103632290A true CN103632290A (zh) 2014-03-12
CN103632290B CN103632290B (zh) 2016-06-29

Family

ID=50213310

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310637512.4A Active CN103632290B (zh) 2013-12-02 2013-12-02 一种基于推荐概率融合的混合推荐方法

Country Status (1)

Country Link
CN (1) CN103632290B (zh)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105761107A (zh) * 2016-02-15 2016-07-13 深圳市非零无限科技有限公司 互联网产品中获取目标新增用户的方法及装置
CN105761102A (zh) * 2016-02-04 2016-07-13 杭州朗和科技有限公司 一种预测用户购买商品行为的方法和装置
CN105989510A (zh) * 2015-02-06 2016-10-05 展讯通信(上海)有限公司 一种基于神经网络的在线商品推荐***、装置及移动终端
CN106446195A (zh) * 2016-09-29 2017-02-22 北京百度网讯科技有限公司 基于人工智能的新闻推荐方法及装置
CN107133836A (zh) * 2017-03-22 2017-09-05 无锡中科富农物联科技有限公司 一种自适应权重组合推荐算法
WO2017166990A1 (zh) * 2016-03-31 2017-10-05 深圳光启合众科技有限公司 具备评价能力的人工智能***及其评价方法
CN107798045A (zh) * 2017-07-24 2018-03-13 中南大学 面向中小型网站的用户访问意图获取方法及***
CN108648072A (zh) * 2018-05-18 2018-10-12 深圳灰猫科技有限公司 基于用户信用动态评分的互联网金融放贷风险评估***
CN109032591A (zh) * 2018-06-21 2018-12-18 北京航空航天大学 一种基于神经网络的众包软件开发者推荐方法
CN110598092A (zh) * 2019-08-12 2019-12-20 深圳市天天学农网络科技有限公司 一种内容推荐的方法
CN110689383A (zh) * 2019-10-12 2020-01-14 腾讯科技(深圳)有限公司 信息推送方法、装置、服务器及存储介质
CN111291273A (zh) * 2020-02-20 2020-06-16 深圳前海微众银行股份有限公司 推荐***优化方法、装置、设备及可读存储介质
CN113221003A (zh) * 2021-05-20 2021-08-06 北京建筑大学 一种基于对偶理论的混合过滤推荐方法及***

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102135999A (zh) * 2011-03-25 2011-07-27 南京财经大学 用户可信度和项目最近邻相结合的互联网推荐方法
CN102982107A (zh) * 2012-11-08 2013-03-20 北京航空航天大学 一种融合用户、项目和上下文属性信息的推荐***优化方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102135999A (zh) * 2011-03-25 2011-07-27 南京财经大学 用户可信度和项目最近邻相结合的互联网推荐方法
CN102982107A (zh) * 2012-11-08 2013-03-20 北京航空航天大学 一种融合用户、项目和上下文属性信息的推荐***优化方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
YUANCHUN JIANG等: "Maximizing customer satisfaction through an online recommendation system:A novel associative classification model", 《DECISION SUPPORT SYSTEMS》 *
谌彦妮: "基于用户—项目的混合协同过滤技术的应用研究", 《中国优秀硕士学位论文全文数据库信息科技辑》 *

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105989510A (zh) * 2015-02-06 2016-10-05 展讯通信(上海)有限公司 一种基于神经网络的在线商品推荐***、装置及移动终端
CN105761102B (zh) * 2016-02-04 2021-05-11 杭州朗和科技有限公司 一种预测用户购买商品行为的方法和装置
CN105761102A (zh) * 2016-02-04 2016-07-13 杭州朗和科技有限公司 一种预测用户购买商品行为的方法和装置
CN105761107A (zh) * 2016-02-15 2016-07-13 深圳市非零无限科技有限公司 互联网产品中获取目标新增用户的方法及装置
WO2017166990A1 (zh) * 2016-03-31 2017-10-05 深圳光启合众科技有限公司 具备评价能力的人工智能***及其评价方法
CN106446195A (zh) * 2016-09-29 2017-02-22 北京百度网讯科技有限公司 基于人工智能的新闻推荐方法及装置
CN107133836A (zh) * 2017-03-22 2017-09-05 无锡中科富农物联科技有限公司 一种自适应权重组合推荐算法
CN107798045A (zh) * 2017-07-24 2018-03-13 中南大学 面向中小型网站的用户访问意图获取方法及***
CN108648072A (zh) * 2018-05-18 2018-10-12 深圳灰猫科技有限公司 基于用户信用动态评分的互联网金融放贷风险评估***
CN109032591A (zh) * 2018-06-21 2018-12-18 北京航空航天大学 一种基于神经网络的众包软件开发者推荐方法
CN110598092A (zh) * 2019-08-12 2019-12-20 深圳市天天学农网络科技有限公司 一种内容推荐的方法
CN110689383A (zh) * 2019-10-12 2020-01-14 腾讯科技(深圳)有限公司 信息推送方法、装置、服务器及存储介质
CN110689383B (zh) * 2019-10-12 2023-08-22 腾讯科技(深圳)有限公司 信息推送方法、装置、服务器及存储介质
CN111291273A (zh) * 2020-02-20 2020-06-16 深圳前海微众银行股份有限公司 推荐***优化方法、装置、设备及可读存储介质
CN113221003A (zh) * 2021-05-20 2021-08-06 北京建筑大学 一种基于对偶理论的混合过滤推荐方法及***

Also Published As

Publication number Publication date
CN103632290B (zh) 2016-06-29

Similar Documents

Publication Publication Date Title
CN103632290B (zh) 一种基于推荐概率融合的混合推荐方法
CN106651519B (zh) 基于标签信息的个性化推荐方法和***
CN101826114B (zh) 一种基于多马尔可夫链的内容推荐方法
CN102982107B (zh) 一种融合用户、项目和上下文属性信息的推荐***优化方法
CN103617289B (zh) 基于用户特征及网络关系的微博推荐方法
CN103309967B (zh) 基于相似性传递的协同过滤方法及***
CN103823888B (zh) 一种基于节点亲密度的社交网站好友推荐方法
CN106327227A (zh) 一种信息推荐***及信息推荐方法
CN107330727A (zh) 一种基于隐语义模型的个性化推荐方法
CN107833117A (zh) 一种考虑标签信息的贝叶斯个性化排序推荐方法
CN103995839A (zh) 基于协同过滤的商品推荐优化方法和***
CN103761237A (zh) 一种基于用户特征及其信任度的协同过滤推荐方法
CN104239338A (zh) 信息推荐方法及装置
CN104239399A (zh) 社交网络中的潜在好友推荐方法
CN102495864A (zh) 基于评分的协同过滤推荐方法及***
CN104281956A (zh) 基于时间信息的适应用户兴趣变化的动态推荐方法
CN102841929A (zh) 一种综合用户和项目评分及特征因素的推荐方法
CN103136683A (zh) 计算产品参考价格的方法、装置及产品搜索方法、***
CN103593417A (zh) 基于关联规则预测的协同过滤推荐方法
CN105138508A (zh) 一种基于偏好扩散的上下文推荐***
CN104166732A (zh) 一种基于全局评分信息的项目协同过滤推荐方法
CN103678518A (zh) 一种推荐列表调整方法和装置
CN106610970A (zh) 基于协同过滤的内容推荐***与方法
CN106296242A (zh) 一种用于电子商务中商品推荐列表的生成方法及生成***
CN106919699A (zh) 一种面向大规模用户的个性化信息推荐方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant