您的当前位置:首页正文

基于用户兴趣的个性化推荐算法研究

2023-07-22 来源:好走旅游网
第25卷 第1期2017年2月

DOI:10.11921/j.issn.2095-8382.2017015

安徽建筑大学学报

Journal of Anhui Jianzhu University

Vol.25 No.1Feb.2017

基于用户兴趣的个性化推荐算法研究

孙克雷, 陈安东

(安徽理工大学 计算机科学与工程学院, 安徽 淮南 232001)

摘 要:针对协同过滤算法存在用户兴趣不易捕捉的问题,提出了一种基于用户兴趣偏移和项目自身属性特征的个性化推荐算法。利用滑动时间窗内项目属性和用户评分建立出用户兴趣偏爱因子,通过推荐项目自身属性特征给出用户对项目的偏爱度;最后结合项目偏爱度和协同过滤算法中预测评分产生推荐。实验结果表明,该算法准确反映出用户兴趣的偏移和项目自身属性特征,在推荐质量上也得到提高。 关键词:用户兴趣;协同过滤;时间窗;个性化推荐

中图分类号:TP391 文献标识码:A 文章编号:2095-8382(2017)01-065-05

Research on Personalized Recommendation Algorithm Based on User Interest

SUN Kelei, CHEN Andong

(School of Computer Science and Engineering, Anhui University of Science and Technology, Huainan 232001, China)

Abstract:Aiming at the problem that user's interest is not easy to capture by the collaborative filtering algorithm, a personalized recommendation algorithm based on the changes of users’ interest and the self-characteristic of items is proposed. The interest preference factors of users are established by using items attributes and user rating within the sliding time windows. Then the items preference degrees of user are given by the characteristic of recommended items themselves. Finally, the recommendation is produced according to the preference degree of items and the predictive score in the collaborative filtering algorithm. Experimental results show that the proposed algorithm can accurately reflect the changes of users’ interest and the attribute of items themselves. In the meanwhile, the quality of recommendation is improved compared to the classical UserCF method.

Keywords:User interest; collaborative filtering; time window; personalized recommendation

0 引 言

随着Web2.0时代的来临,数据信息量呈爆炸式增长,难以从海量信息中找到感兴趣数据。推荐系统的出现有效的解决了这个难题,协同过滤算法是推荐系统中经典的推荐技术之一,但是在实际应用中协同过滤算法还存在着一些不足。例如冷启动[1]、用户兴趣不易捕捉[2]以及数据稀疏[3]和高复杂性[4]等问题,国内外研究人员也针对这些问题从不同的角度进行了探索和研究。M.S. Pera[5]等提出利用内容相似和受欢

迎度及人之间的关系进行推荐,提升了推荐系统的实时响应速度,但没有考虑每个人兴趣爱好的差异;Shanshan Yu[6]等人利用用户兴趣建立用户-兴趣-货物三部图,弥补了推荐过程中冷启动和数据稀疏的问题,但忽略了用户兴趣随时间变化而产生的偏移;郑先荣[7]等为了解决用户兴趣的捕捉问题,提出线性逐步遗忘函数来体现用户兴趣变化,李克潮[8]等则利用德国心理学家H.Ebbinghaus提出的艾宾浩斯遗忘曲线来表示用户兴趣变化,解决了用户兴趣捕捉问题,但均未考虑到外界用户对项目的评价可能导致用户选择

收稿日期:2016-8-31

基金项目:安徽省自然科学基金(1408085QE94)。

作者简介:孙克雷(1980-),男,博士,副教授,主要研究方向为信息融合。

66

安徽建筑大学学报第25卷

受到影响。

本文综合考虑上述问题,围绕用户兴趣捕捉和项目自身属性特征对经典协同过滤算法进行研究,提出了一种基于用户兴趣的个性化推荐算法。首先通过项目-评分矩阵和项目-属性矩阵计算出用户的兴趣偏爱因子,同时引入滑动时间窗来表征用户兴趣的偏移;然后根据项目自身属性特征与用户的兴趣偏爱因子计算得到用户对该项目的兴趣度;考虑到外界用户对项目的评分会影响用户对项目的选择,最后将相邻用户对项目的预测评分与用户对该项目的兴趣度拟合产生新的评分产生推荐。

1 相关研究

给定用户集合U={u1,u2,…,um},项目集合I={i1,i2,…,in},用户-项目评分矩阵

R=|U|*|I|。用户-项目评分矩阵由R(m,n),如表1所示。其中m为用户个数,n为项目数。

表1 用户-项目评分矩阵R(m, n)

i1 i2 … in u1 r11 r12 … r1n u2 r21 r22 … r2n … … … … … um

rm1

rm2

rmn

基于用户的协同过滤算法首先求解相邻用户集,再根据评分矩阵找到目标用户推荐的相似项目推荐给目标用户。推荐算法中计算用户up和uq的相似度通常采用Pearson相关系数来度量,表达式为sim(u∑rup,,i−rup)()(ruq,i,i−ruq)p,ui∈I(,

uq)=∑(1)i∈I(rup,,i−ru2p)∑i∈I(ruqi,i−ruq)2,其中rup,uq∈U;符号rup表示用户up的平均评分,uuq表示用户uq的平均评分。i表示用户p和uq共同评分集合。

由式(1)计算得出项目的近邻集合NBSu,使

用预测评分公式(2)计算得到目标用户up对推荐项目的预测评分值:pred(u∑uq∈NBSusim(up,uq)(

)(ruq,ig−ruq)p,ig)=rup+∑sim(u(2)

uq∈NBSup,uq)其中NBSu表示用户up的近邻集合,ig表示

目标用户up对项目g的预测评分。最后将项目按预测评分降序排序选取Top-N的项目推荐给用户。

2 基于用户兴趣的个性化推荐算法

2.1 用户兴趣

在传统的基于用户协同过滤算法中,首先根据项目-评分矩阵找出与目标用户相似的近邻用户集合,再参考近邻用户集中的项目进行推荐;而现实生活中项目-评分矩阵的数据一般过于稀疏无法精确找出近邻,以及在推荐过程中忽略了用户自身对项目的兴趣爱好。本文提出一种根据用户评价过的项目来反映用户的兴趣偏好,再结合项目自身的特征属性计算出用户对该项目的偏爱度的计算方法。

假设给定项目集合中的属性集为A={a1,a2,a3,x},项目集合I={i1,i2,…,in},项目-属性

矩阵为Attr=A×I,在属性矩阵中如果项目i具

有该属性,则值设为1,否则取0,如表2,其中

k表示项目集合中的第k项属性。

表2 项目-属性矩阵

a1 a2 … ak i1 1 0 … 0 i2 0 1 … 0 … … … … in

0

1

1

通过项目-属性矩阵可以衡量出用户对不同属性的兴趣偏爱度,即表示出了每个用户对属性集中各个属性感兴趣的程度。考虑到用户对各个项目的评分差异,表明用户对每个项目自身属性特征的偏爱程度不同;同时为了更加明显区分出用户对项目属性集中某些属性偏爱的程度。本文

结合项目-评分矩阵提出兴趣偏爱因子,它结合用户评分和项目属性后更好的反映出用户对属性集中各个属性的偏爱度。其用户兴趣偏爱因子的表达式为

D(u,a∑ri*ik)=ia∈k∑xIr*i (3)

ka=1ik其中D(u,ak)表示用户u对属性ak的兴趣偏爱因子,ak表示属性集中第k项属性,ri表示用户u对项目i的评分;i表示目标用户已经评价过

…,aa第1期孙克雷,等:基于用户兴趣的个性化推荐算法研究67

的项目;iak表示项目i的第k项属性。

推荐过程中由于各个项目自身的特征属性不同,用户对其兴趣度也不一样。因此,根据项目自身属性特征与用户兴趣偏爱因子可得出用户对该项目的兴趣度。用户u对推荐项目的兴趣度表达式为:

ηi=Ii,a1*D(u,a1)+Ii,a2*D(u,a2)+……+Ii,ax*D(u,ax) (4)

其中,ηi表示项目i的所有属性与兴趣偏爱因子的乘积;Ii,ax表示推荐项目i的第x项属性。2.2 滑动时间窗

鉴于用户的兴趣随着时间变化会产生偏移,引入滑动时间窗的概念来反映用户兴趣变化情况。给定用户集合U={u1,u2,…,um},项目集合I={i1,i2,…,in},用户-项目-时间矩阵T=|U|×|I|;在该矩阵中每行代表一位用户,若用户对项目评分过则记录评分时间与现在时间的时间差值,若没有则0表示,时间差值的单位为天,详见表3。

滑动时间窗的大小反映出每个用户受早期访问项目的影响度不同。如用户u评价项目的最后一次时间为tL;定义一个滑动时间窗的大小为WT,则得出tL的前一个时间点为tN=tL-WT;根据tN到tL这个时间段评价过的项目计算出用户兴趣偏爱因子。因此可以准确的体现出用户近期的兴趣偏爱。

表3 用户-项目-时间矩阵

i1 i2 … in u1 90 0 … 5 u2 70 130 … 0 … … … … um 0 20 … 0 2.3 用户兴趣的个性化推荐算法

由于传统协同过滤算法不能准确反映出用户近期的兴趣偏爱,本文在传统用户协同过滤算法的基础上提出了基于用户兴趣的个性化推荐算法。该算法首先利用基于用户的协同过滤算法求出相邻用户对目标用户未评分项目的预测评分,再根据2.1节中提出的用户兴趣计算出目标用户对未评分项目的兴趣度,最后将预测评分和用户对项目的兴趣度进行拟合,产生出新的预测评分;其表达式为:

P=α*pred(u,i)+(1-α)*ηi (0≤α≤1) (5)

其中α为权重因子;pred(u,i)表示基于用户协同过滤算法中用户u对项目i的预测评分;

ηi表示用户u对项目i的偏爱度。

得出项目推荐集合,按评分降序排序选取Top-N项目推荐给目标用户。2.4 算法描述

输入 用户-评分矩阵,项目-属性矩阵和用户-项目-时间矩阵

输出 目标用户的推荐列表

Step1. 产生相邻用户对项目的预测评分。针对目标用户利用公式(1)得到目标用户的相邻用户,通过相邻用户利用公式(2)计算出目标用户未评分项目的预测评分。

Step2. 获取目标用户近期的兴趣偏好因子。通过控制滑动时间窗的大小,可以获取到用户近期评价的项目,利用公式(3)得出用户近期的兴趣偏好因子。

Setp3. 产生用户对项目的偏好程度。结合用户近期的兴趣偏爱因子以及用户推荐项目的属性,由公式(4)得出用户对推荐项目的偏好程度。

Step4. 产生推荐列表。根据公式(5)对项目的预测评分和偏好度拟合得出新的预测评分,形成Top-N推荐列表。

3 实验及结果分析

通过本节实验是为了验证本文提出算法的推荐质量,并且解决以下几个问题:(1)用户项目偏好度与相邻用户预测评分中的权重因子α取值大小对推荐质量的影响;(2)滑动时间窗的大小对推荐质量的影响;(3)在推荐质量上本文算法与其他算法对比。3.1 实验数据

实验数据集的选取是来自明尼苏达大学GroupLens小组所提供的数据。实验选取的数据集包含了943个用户对1682部电影的100,000条评分信息,用户对影片的评分为1~5分[9];此外本文提出的算法还用到了用户对项目的评分时间和电影的信息数据集,其中包含了电影的编号,标题,发行日期及电影的类别等。根据二八定律实验将数据集的80%作为训练集,20%作为测试集进行实验。

68安徽建筑大学学报第25卷

3.2 实验评价标准

实验采用准确率(precision)和召回率(recall)作为评估准则。准确率表示算法推荐的结果中满足用户喜好的概率;它是度量推荐系统或推荐算法推荐质量优劣的重要指标之一。召回率表示算法的所有推荐结果中与用户喜好的概率;也是评估推荐质量的另一个重要指标。

推荐的准确率定义为

Precision=∑u∈∑U|R(u)∩T(u)| (6)

u∈U|R(u)|推荐结果的召回率定义为

Recall=∑u∈UR(u)∩T(u)∑T(u) (7)

u∈U其中R(u)表示通过用户集训练得到的推荐集合,T(u)表示测试集合上用户的行为集合。3.3 权重因子α取值比较

本实验对比用户项目偏好度与相邻用户预测评分中权重因子α取值大小对推荐质量的影响;目的是通过比较取得权重因子α的最佳值使推荐质量达到最优。由于实验过程中要确定近邻用户K取值,我们便在此实验前参考文献[10]及相关文献并通过实验验证表明当相邻K在[30,60]时基于用户的协同过滤算法产生的推荐效果最佳,因此本文在不特殊说明的情况下相邻用户个数默认取50。而在本实验中我们对权重因子α分别取值为0.1~0.9。推荐列表分别取Top-5、Top-10、Top-20和Top-30。

通过实验(图1),我们可以得出当α权重从0.1开始不断递增时推荐的准确率在不断提升,当α权重取得0.5时推荐准确率达到最大值,随后当α权重超过0.5时准确率又有所下滑。在推荐列表中选取推荐个数Top-10时准确率最高。实验验证了权重因子α和推荐个数的取值不同对推荐的质量都有影响。

3.4 滑动时间窗WT取值比较

本实验是为了解决滑动时间窗的大小设置对推荐质量的影响;目的是通过该实验可以准确的反映出用户兴趣的偏移。在实验中我们对滑动时间窗WT分别取20天,40天,60天,80天,100天和120天,权重因子α取0.5,在推荐列表中分别选取Top-10、Top-20和Top-30的推荐比较

滑动时间窗WT对推荐质量的影响。

通过实验(图2)可知,滑动时间窗大小WT为60天时其推荐的准确率最高;在推荐列表中选取TOP-10时推荐质量相对最好。本实验说明了滑动时间窗的大小对推荐的准确率是有影响的;当滑动时间窗WT的大小设置为60天时,用户的兴趣偏好可以较好被捕捉。Top-50.25Top-10Top-20 0.2Top-30率确准0.150.10.050.1 0.20.30.40.50.60.70.80.9权重因子α图1 不同权重因子α比较实验Top-100.25Top-20Top-30 率0.2确准0.150.10.0520 406080100120时间窗(天)图2 滑动时间窗WT大小比较实验

3.5 本文算法与其他算法比较

此实验的目的是,让本文提出的算法与传统基于用户协同过滤算法UserCF和其他改进算法在推荐质量上进行比较。在与其他改进算法比较时本文选取了文献[11]中提出的推荐算法;并同样使用MovieLens数据集。比较过程中,本文算法各个参数取值分别参考实验3.3和3.4中的最佳值进行设置;其权重因子α取0.5,滑动时间窗WT取60天。实验分别在推荐的准确率和召回率两个方面进行了对比。

通过实验图3和图4可知,UserCF和文献[11]中的算法在Top-20时预测的准确率达到最高值,本文算法在TOP-10时预测的准确率到达最高值;而从整体上相比预测的准确率和召回率都高于UserCF和文献[11]中提出的算法。本文算法0.25文献[11] 率0.2UserCF确准0.150.10.05 51020304050Top-N图3 与其他算法比较准确率实验

第1期孙克雷,等:基于用户兴趣的个性化推荐算法研究

本文算法文献[11]UserCF69

参考文献:

[1]于洪, 李俊华. 一种解决新项目冷启动问题的推荐算

法[J]. 软件学报, 2015, 26(06):1395-1408.

[2]Qi Liu,Enhong Chen,Hui Xiong, et al. Enhancing

collaborative filtering by user interest expansion via personalized ranking.[J]. IEEE Transactions on

0.450.40.350.30.250.20.15 5 召回率1020304050Systems Man & Cybernetics, 2011, 42(1):218-233.

Top-N

[3]吴颜,沈洁,顾天竺,等.协同过滤推荐系统中数据稀

疏问题的解决[J].计算机应用研究,2007,24(6):94-97.[4]李琳娜,张志平.基于复杂结构数据聚类的推荐系统

[J].高技术通讯, 2011, 21(11):1115-1120.

[5]Maria S.Pera,Yiu-Kai Ng.A group recommender for

movies based on content similarity and popularity [J].Information Processing & Management,2013, 49(3):673-687.

[6]Shanshan Yu,Donglin Chen,Bing Li,et al.A personalized

recommendation algorithm based on interest graph[C]//2014 2nd International Conference on Systems and Informatics (ICSAI), 2014:933-937.

[7]郑先荣, 曹先彬. 线性逐步遗忘协同过滤算法的研究

[J]. 计算机工程, 2007, 33(06):72-73.

[8]李克潮,梁正友.适应用户兴趣变化的指数遗忘协同过

滤算法[J].计算机工程与应用,2011,47(13):154-156.[9]于洪, 李转运. 基于遗忘曲线的协同过滤推荐算法[J].

南京大学学报(自然科学),2010,46(05):520-527.[10]韩亚楠,曹菡,刘亮亮.基于评分矩阵填充与用户兴趣的

协同过滤推荐算法[J].计算机工程,2016, 42(1):36-40.[11]吴成超,王卫平.考虑用户兴趣变化的概率隐语意协同

推荐算法[J]. 计算机系统应用, 2014, 23(5):162-166.

图4 与其他算法比较召回率实验

4 结束语

针对现有推荐系统存在的推荐准确率低,没有考虑到针对用户兴趣的个性化推荐及用户兴趣与时间的关系;本文提出了一套解决方案。首先根据项目-属性矩阵提出用户的兴趣偏爱因子;同时考虑到用户兴趣会随时间的推移产生偏移,引入了滑动时间窗的概念,有效地反映出用户近期的兴趣爱好;根据用户协同过滤算法中相邻用户对项目的评分预测出目标用户评分;最后将预测评分与项目的偏爱度进行拟合形成新的评分,依据评分产生推荐。可以看出,本文利用到了项目-属性和用户-项目-时间矩阵,并非只仅仅依赖评分矩阵做出推荐。根据每位用户近期兴趣有效的推荐给用户个性化的推荐列表。实验表明,本文提出的基于用户兴趣的个性化推荐算法在推荐准确率和召回率上得到有效提升。

(上接第64页)参考文献:

[1]G Verbeeck,H Hens.Life cycle inventory of

buildings:A calculation method [J].Building and Environment,2010,33(45):1037-1041.

[2]Leif Gustavsson,Anna Joelsson,Roger Sathre.Life

cycle primary energyuse and carbon emission of an eight-storey wood-framed apartment building[J].Energy and Buildings,2010,42(2):230-242.[3]赵平,同继锋,马眷荣.建筑材料环境负荷指标及评价

体系的研究[J].中国建材科技,2004,12(6):1-7.[4]顾道金.建筑环境负荷的生命周期评价[D].北京:清

华大学,2006.

[5]宋杰鲲,张宇.基于BP神经网络的我国碳排放情景预

测[J].科学技术与工程,20ll (17):4108-4115.[6]渠慎宁,郭朝先.基于STIRPAT模型的中国碳排放峰值

预测研究[J].中国人口•资源与环境,2010,(12):10-15.

办公建筑物化阶段CO2研究[J].[7]罗智星,杨柳,刘加平.

重庆大学学报,2014,36(5):37-43.

[8]吴淑艺,赖芨宇,魏秀萍.工程施工阶段机械设备耗能

碳排计算[J].环境与科学学报,20l6,(1):3-6.[9]陈乔.建筑工程建设过程碳排放计算方法研究[D].

西安:长安大学,2014.

[10]天津市城乡建设管理委员会.全国统一施工机械台班费

用定额[M].天津:中国建筑工业出版社,2012.

因篇幅问题不能全部显示,请点此查看更多更全内容