第32卷第4期 武汉工业学院学报 Vo1.32NO.4 2013年l2月 Journal of Wuhan Polytechnic University Dec.2013 文章编号:1009-4881(2013)04-0048-04 DOI:10.3969/j.issn.1009-4881.2013.04.012 基于用户兴趣变化的协同过滤推荐算法 邓娟,陈西曲 (武汉轻工大学电气与电子工程学院,湖北武汉430023) 摘要:协同过滤算法是在众多应用领域中最成功的个性化推荐技术之一,但传统协同过滤 算法不能及时反映用户的兴趣变化,致使预测结果不准确。针对这个不足,提出一种基于用户 兴趣变化的改进协同过滤算法。改进算法提出一种基于时间的权重函数,用于研究用户在不 同时间段的兴趣变化,通过用户兴趣之间的相似性,最后生成推荐结果。实验结果验证了改进 算法在推荐的准确性方面得到显著提高。 关键词:协同过滤;个性化推荐;兴趣变化;基于时间的权重函数 中图分类号:TP 391;TP 3l1.13 文献标识码:A Study of collaborative filtering recommendation algorithm based on users interest change DENG Juan,CHEN Xi—qu (School of Electircal and Electronic Engineering,Wuhan Polytechnic University,Wuhan 430023,China) Abstract:Collaborative filtering algorithm is one of the most successful technologies for providing personalized rec— ommendations in various application areas.However,the traditional collaborative filtering algorithms do not reflect the change of users’interest in time.For this reason,the prediction outcome of the traditional collaborative fihe— irng approach may be inaccurate when users’interest has changed.Considering this defect,an improved collabora・ tive filtering algorithm is proposed to take users’interest change into account in the paper.A time—based weighting function is proposed to study the changes of users’interest in different time periods in the improved algorithm and results in recommendation by comparing the similarity between users interests.Experiments results show that the new algorithm improves significantly in recommendation effectiveness. Key words:collaborative filtering;personalized recommendations;interest change;time—based weighting function 随着信息技术和互联网的迅猛发展,用户不得 有效的信息过滤手段,能根据用户的需要,准确地向 不花费大量的时间从海量的信息中查找他们所需要 用户推荐其感兴趣的信息资源…。协同过滤(co1. 的东西,这就是所谓的“信息过载”问题。推荐系统 1aborative filtering,CF)就是一种常用的个性化推荐 可帮助用户在一定程度上解决这个问题。它是一种 技术,也是迄今为止最为成熟的技术。其基本思想 收稿日期:2013-09-03. 作者简介:邓娟(1988一),女,硕士研究生,E—mail:djmengyi@qq.corn. 通信作者:陈西曲(1971一),男,副教授,E-mail:cxqdhl@yahoo.con.cn. 基金项目:湖北省自然科学基金资助项目(2011CHB030). 4期 邓娟,陈西曲:基于用户兴趣变化的协同过滤推荐算法 49 是根据用户兴趣的相似性来推荐资源,把同当前用 户相似的其它用户的意见推荐给当前用户 。 在传统协同过滤算法中,由于无法及时感知用 户兴趣的改变,致使系统推荐的资源偏离了用户的 真实需求。针对这个问题,文献[3]提出了两种数 据权重:基于时间窗口的数据权重和基于项目相似 的数据权重,其中所用的时间函数为线性函数,即认 为用户的兴趣变化规律呈线性规律。文献[4]提出 基于Ebbinghaus遗忘曲线的时间函数用以学习和 跟踪用户兴趣的变化。为提高推荐质量,本文受遗 忘曲线协同过滤模型 启发,使用指数函数作为时 间权重函数,同时分时间段考虑用户的兴趣及其对 时间权重函数的影响,以此研究和跟踪用户兴趣的 变化。 1传统协同过滤推荐算法介绍 在典型的协同过滤推荐系统中,通常可分为三 个步骤:建立用户信息档案、选择相似邻居以及产生 推荐结果。 1.1建立用户信息档案 建立用户档案是收集每个用户的评分记录,通 常用一个用户一条目评分矩阵R =( ) 表 示。其中:m表示用户数量,凡表示条目数量,R 表示第i个用户对第 个项目的评分。 1.2选择相似邻居 协同过滤算法最为关键的一步就是计算项目之 间的相似度,然后选择最相似的用户作为目标用户 的邻居,从而根据其兴趣爱好更加准确的预测目标 用户的偏好。用户相似度的计算方法主要有余弦相 似度、Pearson相关性相似度和修正的余弦相似度, 如式(1)一式(3)所示。 sim(i,j): .(1) √∑ 2√∑jElij ‘ sim(i√)= ∑ (R Ri)・( 一 ) 丽 (2) sim(i√)= — 些 . ㈩ √∑ ( 一 )‘√∑ ( 一 )‘ 似的用户作为目标用户的邻居,从而根据其兴趣爱 好更加准确的预测目标用户的偏好。 P : 一 + ∑ s— m( ,M )‘(R 一R )—二 — . 踟 Lu,“ (4) 其中:尸 表示目标用户u对目标项目i的预测评 分,S 表示目标用户/Z的邻居集合。 2改进算法描述 2.1用户兴趣变化问题的解决思路 为了更好的反应当前用户最近的兴趣爱好,推 荐系统应选择近期内与目标用户兴趣相似的用户作 为其邻居,同时淘汰部分与其过去兴趣相似的邻居 用户。本文改进的算法基于以上思想,对传统CF 算法进行改进:赋予每项评分一个权重参数,这个参 数是一个按时间衰减的函数,即最近评分项目对应 权重较大;反之,过去评分对应权重较小。 2.2基于时间的数据权重函数 基于时间的数据权重函数如下: 一0(tn 一‘1) ): _m+(1一m). (5) l;n一 ow8 式(5)中t 指当前时间,t 是用户最近一次评价某 特定项目的时间,t 是用户第一次该评价特定项目 的时间。m E(0,1)是权重系数,改变m的值可改 变数据权重随时间变化的快慢。m取值越大,其随 时间变化越快,反之则越慢。 2.3用户个性化因子 对于不同的用户,兴趣爱好变化趋势是不一样 的。同时由于爱好有着长期爱好和近期爱好之分, 故对同一个项目在同一时间段的评价,对于不同的 用户,影响是不一样的。基于此,本文引入一个参 数,即个性化因子A,它是通过学习特定用户对其 参与的所有项目的历史评价得到的。显然,对应于 不同的用户,入的值也不一样。 (6) 其中A 表示目标用户的第C类兴趣变化的个 性化因子,Ⅳ,表示目标用户对第C类兴趣所具有的 评价数目,n表示目标用户对项目的评价总数目。 Js( ):L0, ng,( 1.2.…,d). score,rating, SCOYe表示目标用户在时间段d内对第c类兴趣的 50 武汉工业学院学报 2013焦 评分。 例如,某特定用户User在一年内的兴趣列表如 表1所示。 表1用户User的兴趣分类 则通过计算,可得到用户User的第A类兴趣变 化的个性化因子A =2.45。 2.4结合用户兴趣变化的CF算法 改进算法将基于时间的数据权重函数和用户个 性化结合起来,提出了针对不同用户的个性化时问 权重函数,如式(7)所示。 ^(£一 1) )= m+(1一m). (7) 一0s 将式(7)引入到皮尔森相关系数中,得到新的 用户评分相似度公式: sim(c,J)= ‘E G'∑(RI 兄 xf(t)一Ac)(Ri, xf(t)一 ) 一 ^V I∈CRI /∑(R xf(t)一Ac) ∑(iECRI , xf(t)一 ) (8) 式中:c是当前用户; 是其它用户;CRI是c和 共 同评分的项目集;,(t)是时间权重函数;R“表示当 前用户c对项目 的评分; 表示用户 对项目i的 评分;A 表示用户n评分过的所有项目的均值,同 理Ai表示用户 评分过的所有项目的均值。 3实验结果及分析 实验环境为Intel(R)Core(TM)i3—2310M 2. 10GHz CPU,内存2GB,Microsoft Windows7操作系 统,算法使用Java语言进行编写。 3.1测试数据集 为了验证该改进算法的有效性,采用Mov— ieLensl6 数据集进行实验。MovieLens数据集由 Minnesota大学GroupLens研究小组所创建。Grou— pLens站点提供了三个不同大小的MovieLens数据 集,本文选用MovieLens 100K数据集,该数据集记 录了943个用户对1682部电影的100 000个评分。 每个用户对至少20部以上的电影进行过评分,评分 范围为1_5分,评分越高表示用户越喜欢这部电 影。本文随机选取80%的评分数据作为训练集,剩 下的20%作为测试集。 3.2评价标准 实验采用平均绝对误差(Mean Absolute Error, MAE)作为评价系统推荐质量的度量标准,同时也 选取信息检索领域常用的召回率(Recal1)、准确率 (Precision)两种方法对比传统算法和改进算法的推 荐精度。 (1)MAE通过计算所有预测评分与实际评分的 偏差来评价算法的优劣。MAE值越小,则算法越精 确。 m (9) ( 其中:P .表示用户“对电影 的预测评分, 表 示用户“对电影 的真实评分, 表示测试集。 (2)准确率(Precision)表示算法推荐成功的比 率,召回率(Recal1)反映的是待推荐项目被推荐的 比例,分别定义为 prec]一slon: ———— —一. (10)lu J recall= l ! : l l I ‘ 其中 表示测试数据集中的项目数量, 一 表示 系统推荐给用户的Ⅳ个项目。 3.3实验结果 实验一:通过一系列实验找到式(5)中最优的 权重系数m的值。图1描述了对应于不同的m取 值,MAE的变化趋势。 81 。.9。s O8 O s 兰 。孢s n张 0 0l O a O4 nS 6 O 7 0.8 09 l 权直系数 图l 权重系数m对MAE的影响 可以看到,当m取0.4时,MAE最小,此时准确 率最高。故在后续实验中,统一选取m=0.4。 实验二:主要是对比实验,比较改进算法和传统 协调过滤算法的推荐性能优劣。 第一组参考指标为MAE:设计实验,比较不同 邻居数量下改进CF算法同传统CF算法的MAE 值,其中权重系数m=0.4;实验结果,如图2所示,