基于用户偏好的协同过滤推荐算法
2017-07-07杨恒宇胡学钢林耀进
杨恒宇, 胡学钢, 林耀进
(1.合肥工业大学 计算机与信息学院,安徽 合肥 230009; 2.安徽省科学技术情报研究所,安徽 合肥 230011; 3.闽南师范大学 计算机学院,福建 漳州 363000)
基于用户偏好的协同过滤推荐算法
杨恒宇1,2, 胡学钢1, 林耀进3
(1.合肥工业大学 计算机与信息学院,安徽 合肥 230009; 2.安徽省科学技术情报研究所,安徽 合肥 230011; 3.闽南师范大学 计算机学院,福建 漳州 363000)
在用户的协同过滤推荐模型中,用户对项目评分的偏好行为会导致计算用户之间的相似性出现偏差,影响推荐的质量。文章根据用户的评分习惯划分用户,利用大间隔寻找用户的近似邻居,提出了一种基于用户偏好的协同过滤推荐算法,首先引入一种新的相似性度量方法计算用户之间的相似度,再构建一种基于用户偏好的协同过滤推荐模型。实验结果表明,该算法能有效提高推荐质量。
协同过滤;用户偏好;大间隔;相似性
0 引 言
Internet技术的快速发展增加了Web信息的容量,为用户提供有价值的信息成为电子商务必须面对的问题。协同过滤是推荐系统中的一种流行技术,它能有效地解决信息过载问题,帮助用户迅速找到有价值的信息,过滤无用信息[1-5]。其基本思想是依据用户的购买记录、评分记录、浏览记录以及标注等,推荐给用户所需要的信息或者预测用户对项目的兴趣偏好,以实现推荐结果的个性化。
基于用户的协同过滤推荐算法利用用户间的相似爱好推荐用户目标,其结果可解释性强[6-9],但极端稀疏的数据会影响用户近邻的准确选择。针对该问题,文献[10]利用用户-项目评分矩阵设计了以用户的信用等级代替用户之间相似度的计算,实现更好地寻找目标用户的近邻;文献[11]依据用户过去评分的相关性,有效利用用户的评分习惯,提高了推荐质量;文献[12]利用用户个体之间和用户所处群体之间的相似性,准确地寻找目标用户的近邻;文献[13]通过RFM(最近一次消费Recency、消费频率Frequency、消费金额Monetary)模型分析用户行划分群组,然后基于相似向量比对用户的相似度,提高推荐效率和准确性;文献[14]提出了一种有效的针对稀疏评分的最近邻选择方法,即两阶段最近邻选择算法。
用户间相似性的准确刻画影响基于用户协同过滤推荐模型的精度[15-16]。在用户的协同过滤推荐算法推荐结果的过程中,存在用户打分偏低或偏高的情况,相似兴趣的用户也存在评分不同。本文提出一种基于用户偏好的协同过滤推荐算法。首先,提出一种启发式相似模型以计算用户之间的相似度;其次,构建基于用户偏好的协同过滤推荐系统预测结果;最后,评估该模型的性能。实验结果表明,本文算法能有效提高推荐质量。
1 协同过滤推荐模型和相似性度量方法
1.1 基于用户的协同过滤推荐模型
在基于用户的协同过滤推荐模型中,评分矩阵R(m,n)包含m个用户的集合User={U1,U2,…,Um}和n个项目的集合Item={I1,I2,…,In},见表1所列。其中,Ri,j为用户Ui(1≤i≤m)对项目Ij(1≤j≤n)的评分。
表1 用户-项目评分矩阵
为获取目标用户的相似邻居,需计算用户间的相似度,传统的相似性度量方法[2-3]主要有:
(1) 相关相似性(pearson correlation coefficient,PCC)。通过Pearson相关系数度量用户之间的相似度,即
sim(Ua,Ub)=
(1)
(2) 余弦相似性(cosine,COS)。通过向量间的余弦夹角度量用户之间的相似度,即
sim(Ua,Ub)=cos(Ua,Ub)=
(2)
通过(1)式或(2)式,可以得到用户之间的相似度矩阵。进一步利用用户之间相似度大小,为目标用户寻找k个最相似的邻居用户。最后,对目标用户的未评分项进行预测,其表达式为:
(3)
1.2 新启发式相似性度量算法
传统的相似性度量算法(PCC和COS)过分依赖用户间的共同评分项,未从全局考虑用户的评分倾向性。为了更好地度量用户之间的相似性,文献[4]引入新启发式相似模型(new heuristic similarity model,NHSM)相似性度量算法。该算法主要体现3个方面的信息,即用户之间评分差异(PSS)、用户之间共同评分项(Jaccard)、所有用户潜在评分倾向性(URP)。
(1) 新启发式相似性度量算法定义如下:
(4)
其中
significance(Ra,k,Rb,k)singularity(Ra,k,Rb,k)]
(5)
proximity(Ra,k,Rb,k)=
(6)
significance(Ra,k,Rb,k)=
(7)
singularity(Ra,k,Rb,k)=1-
(8)
其中,μk为项目k的平均评分;Ra,k为用户Ua对项目Ik的评分;Rmed为评分集合的中位数。
(2) 利用改进的Jaccard系数来反映共同评分项带来的影响,定义如下:
(9)
(3) 用户潜在的评分倾向性度量表达式为:
(10)
2 基于用户偏好的协同过滤模型
2.1 用户偏好
基于用户的协同过滤推荐算法是利用用户之间的相互作用,通过寻找最相似的k邻居来辅助目标用户预测未评分项。但用户在评分时存在偏好行为,存在用户打分偏低或偏高的情况,相似兴趣的用户也存在评分不同。因此,在为目标用户寻找近似邻居时,根据目标用户的偏好行为寻找近邻,可提高推荐质量。本文设定不同偏好用户群体用户数量平衡,根据用户对项目的评分值,设定阈值p,将用户划分为高评用户(偏向打高分的用户)和低评用户(偏向打低分的用户)。其中,阈值p由评分矩阵确定,即
(11)
给定用户对项目的实际评分矩阵见表2所列,评分为5分制。其中,矩阵的行表示用户;列表示项目。根据(11)式,可以计算出阈值p=3.06。将每个用户的平均评分和阈值p比较,用户U1、U3、U5被划分为高评用户,其他3个用户归类为低评用户。本文以Movielens数据集为例,对阈值p在[3,4]区间的用户数进行统计,用户评分分布情况如图1所示。其中,横坐标表示阈值p,纵坐标表示平均评分大于阈值p的用户占所有用户的比例。如p取值为3,平均评分大于阈值p的用户占所有用户百分比高于90%。
表2 用户-项目实际评分矩阵
图1 Movielens数据集中用户评分分布情况
2.2 基于用户偏好的协同过滤推荐模型
为更精准地寻找目标用户的近似邻居,本文利用目标用户的偏好行为,设计了一种基于大间隔寻找目标用户近邻的算法。大间隔方法不仅能够获取与目标用户更加相似的邻居,而且能够自适应地确定目标用户的近邻个数。
定义1 设目标用户Ua的同偏好用户群体为s,不同偏好群体为d,则目标用户Ua与其他用户Ub的相似度定义式如下:
若maxsim(Ua,Ub)s>maxsim(Ua,Ub)d,则
maxsim(Ua,Ub)d|+maxsim(Ua,Ub)s
(12)
若maxsim(Ua,Ub)s≤maxsim(Ua,Ub)d,则
(13)
基于大间隔寻找近邻的主要思想是:通过设计一种新的相似性度量公式,使用户空间中与目标用户相同偏好的近邻属于同一类别,不同偏好的用户与目标用户尽量区分开。这体现了用户潜在的偏好行为,缩小有相同偏好用户之间的距离,增大不同偏好用户之间的距离。相比于其他许多改进的协同过滤推荐算法,该算法能自动确定近邻个数,提高推荐效率。
定义2 给定目标用户Ua和其他用户Ub的相似度sim(Ua,Ub),则新的相似性公式为:
Newsim(Ua,Ub)=
(14)
根据定义2计算获得目标用户的近似邻居,对目标用户未评分项进行预测,表达式为:
(15)
2.3 算法
根据2.2节中的基于用户偏好的协同过滤模型,设计基于用户偏好的协同过滤算法流程如下:
(1) 输入用户-项目评分矩阵R(m,n),取所有用户评分的平均评分,通过(11)式设定阈值p,将用户分为高评用户和低评用户。
(2) 通过(4)式,利用NHSM相似性度量方法计算用户之间的相似度,获得用户间的相似度矩阵。
(3) 利用定义1计算目标用户与其他用户的相似度。
(4) 利用(14)式得到用户间新的相似度矩阵。
(5) 根据(15)式预测目标用户Ut在项目Ii上的评分Pt,i。
3 实验结果及分析
3.1 数据集
采用公开的Movielens和Jester-data-2数据集验证本文算法。Movielens数据集包含943个用户在1 682个电影上的评分,其中每个用户至少对20部电影有评分记录;Jester-data-2数据集包含1 582个用户在100个笑话上的评分,其中每个用户至少对1个笑话有评分记录,数据集的详细信息见表3所列。
为保证实验结果的无偏性,数据集分成训练集和测试集,训练集占整个数据集的80%,其余20%数据作为测试集。整个过程采用五折交叉验证方法,测试集之间是互斥的,并且有效地覆盖了整个数据集。
表3 数据描述
3.2 度量指标
本文评价推荐质量的度量指标包括平均绝对误差(mean absolute error,MAE)和覆盖率(Coverage)。MAE是一种常见的度量指标,通过计算预测的用户评分和实际用户评分之间的偏差来度量预测的准确性,MAE值越小,推荐质量越好;Coverage用来衡量一个算法能够预测的项目占所有项目的百分比,Coverage值越大,推荐质量越好。
设有n个项目,用户的实际评分集合为r={r1,r2,…,rn},预测的用户评分集合为p={p1,p2,…,pn},s表示p集合中有评分的个数,则度量指标MAE和Coverage分别表示为:
3.3 实验结果分析
将本文算法(Large margin-NHSM-CF)与基于Pearson相关系数的协同过滤(collaborative filtering based on pearson correlation coefficient,PCC-CF)算法、基于cosine相似性的协同过滤(collaborative filtering based on cosine,COS-CF)算法和基于NHSM相似性的协同过滤推荐(collaborative filtering base on new heuristic similarity model,NHSM-CF)算法在算法性能上进行比较。
在Movielens数据集上,MAE和Coverage随近邻数k变化而变化的情况如图2所示,其中近邻数k在10~100之间变动。
由图2可以看出,NHSM-CF算法的MAE值比COS-CF和PCC-CF的都小,Coverage的值相对较大。
图2 Movielens数据集上的MAE和Coverage值
在Jester-data-2数据集上MAE和Coverage的变化情况如图3所示。
由图3可以看出,NHSM-CF的MAE值比COS-CF和PCC-CF的小,Coverage值较大。因此可以得出,NHSM-CF的推荐质量优于COS-CF和PCC-CF。
由图2和图3可知,无论近邻数k如何变化,Large margin-NHSM-CF的MAE和Coverage都能够取相对稳定的值。这是由于在利用大间隔确定目标用户与其他用户的相似度时,k的取值对推荐结果的影响较小。在Movielens数据集上,Large margin-NHSM-CF的MAE值都比NHSM-CF的小,Coverage值都比NHSM-CF大。同样,在Jester-data-2数据集中,MAE和Coverage的变化情况与Movielens数据集呈现相同的规律。
因此,本文算法优于NHSM-CF算法,进一步提高了协同过滤系统的推荐质量,验证了基于用户偏好的协同过滤推荐算法的有效性。
图3 Jester-data-2数据集上的MAE和Coverage值
4 结 论
协同过滤是目前推荐系统中一种流行的推荐技术。近年来由于Web数据量的急剧增加,协同过滤技术在为用户提供个性化服务方面起到了越来越重要的作用。本文从用户偏好角度出发,在评分数据稀疏的情况下,提出了一种新的相似性度量方法计算用户之间的相似度,构建了一种基于用户偏好的协同过滤推荐模型,减少了预测结果的偶然性。实验结果表明,与其他算法相比,本文算法能够更加精确地度量用户间的相似度,提高推荐质量。
[1] BREESE J S,HECKERMAN D,KADIE C.Empirical analysis of predictive algorithms for collaborative filtering[C]//Proceeding of the 14th Conference on Uncertainty in Artificial Intelligence.San Francisco:Morgan Kaufmann Publishers Inc.,1998:43-52.
[2] ADOMAVICIUS G,TUZHILIN A.Toward the next generation of recommender systems:a survey of the state-of-the-art and possible extensions[J].IEEE Transactions on Knowledge and Data Engineering,2005,17(6):734-749.
[3] RESNICK P,IACOVOU N,SUCHAK M,et al.GroupLens:an open architecture for collaborative filtering of netnews[C]//ACM Conference on Computer Supported Cooperative Work.New York:ACM,1994:175-186.
[4] LIU H F,HU Z,MIAN A,et al.A new user similarity model to improve the accuracy of collaborative filtering [J].Knowledge-Based Systems,2014,56(3):156-166.
[5] LINDEN G,SMITH B,YORK J.Amazon.com recommendations:item-to-item collaborative filtering[J].IEEE Internet Computing,2003,7(1):76-80.
[6] HOFMANN T.Latent semantic models for collaborative filtering[J].ACM Transactions on Information Systems,2004,22(1):89-115.
[7] KIM H N,EL-SADDIK A,JO G S.Collaborative error-reflected models for cold-start recommender systems[J].Decision Support Systems,2011,51(3):519-531.
[8] SYMEONIDIS P,NANOPOULOS A,PAPADOPOULOS A N,et al.Collaborative recommender systems:combining effectiveness and efficiency[J].Expert Systems with Applications,2008,34(4):2995-3013.
[9] BLBADILLA J,HEMANDO A,ORTEGA F,et al.Collaborative filtering based on significances[J].Information Sciences An International Journal,2012,185(1):1-17.
[10] JEONG B,LEE J,CHO H.User credit-based collaborative filtering[J].Expert Systems with Applications,2009,36(3):7309-7312.
[11] HUETE J F,NDEZ-LUNA J M,DE CAMPOS L M,et al.Using past-prediction accuracy in recommender systems[J].Information Sciences,2012,199(15):78-92.
[12] 林耀进,胡学钢,李慧宗.基于用户群体影响的协同过滤推荐算法[J].情报学报,2013,32(3):299-305.
[13] 李鹏,于晓洋,孙渤禹.基于用户群组行为分析的视频推荐方法研究[J].电子与信息学报,2014,36(6):1485-1491.
[14] 冷亚军,梁昌勇,丁勇,等.协同过滤中一种有效的最近邻选择方法[J].模式识别与人工智能,2013,26(10):968-974.
[15] 黄创光,印鉴,汪静,等.不确定近邻的协同过滤推荐算法[J].计算机学报,2010,33(8):1369-1377.
[16] 邓爱林,朱扬勇,施伯乐.基于项目评分预测的协同过滤推荐算法[J].软件学报,2003,14(9):1621-1628.
(责任编辑 胡亚敏)
Collaborative filtering recommendation algorithm based on user preference
YANG Hengyu1,2, HU Xuegang1, LIN Yaojin3
(1.School of Computer and Information, Hefei University of Technology, Hefei 230009, China; 2.Anhui Institute of Scientific and Technical Information, Hefei 230011, China; 3.School of Computer Science, Minnan Normal University, Zhangzhou 363000, China)
Users have different rating preference in the model of the user-based collaborative filtering recommendation, and the preference behavior leads to the deviation of calculating the similarity among users. Consequently, the recommendation quality of systems is restricted. On this basis, all users are divided into different groups according to user’s preference behavior, and the method of large margin is presented to define user’s neighborhood, and an algorithm of collaborative filtering recommendation based on user preference is proposed. Firstly, the similarity among users is calculated by introducing a new similarity measure method. Then a model of collaborative filtering recommendation based on user preference is constructed. Finally, the experimental results show that the proposed algorithm can improve the recommendation quality effectively.
collaborative filtering; user preference; large margin; similarity
2016-03-10
国家重点基础研究发展计划(973计划)资助项目(2013CB329604);国家自然科学基金资助项目(61273292)和安徽省科技厅年度重点科研资助项目(1301023012)
杨恒宇(1973-),男,安徽泗县人,合肥工业大学博士生,安徽省科学技术情报研究所研究员; 胡学钢(1961-),男,安徽当涂人,博士,合肥工业大学教授,博士生导师.
10.3969/j.issn.1003-5060.2017.05.009
TP391.3
A
1003-5060(2017)05-0619-06