正在进行安全检测...
时间:2023-11-17 05:40:23 下载该word文档
计算机工程第36卷第13期Vol.36No.13ComputerEngineering·软件技术与数据库·
文章编号:1000—3428(201013—0034—03文献标识码:A
2010年7月July2010中图分类号:TP311基于邻居决策的协同过滤推荐算法
李春1,2,朱珍民1,高晓芳1,3,陈援非1
(1.中国科学院计算技术研究所,北京100080;2.湘潭大学信息工程学院,湘潭411105;
3.首都师范大学计算机科学联合研究院,北京100037摘要:协同过滤技术应用于个性化推荐系统中,稀疏性问题和可扩展性问题成为亟需解决的问题。针对传统方法的不足,提出一种凭借邻居数做决策的方法,比较各个待测位置的用户邻居数和项目邻居数,由数量多的一方作预测,同时对预测值判定给出一种合理而有效的度量方法。实验结果表明,该方法能够提高推荐质量。关键词:个性化推荐;邻居数;协作过滤;平均绝对误差
CollaborativeFilteringRecommendationAlgorithmBasedonNeighborDecision-making
LIChun1,2,ZHUZhen-min1,GAOXiao-fang1,3,CHENYuan-fei1
(1.InstituteofComputingTechnology,ChineseAcademyofSciences,Beijing100080;2.CollegeofInformationEngineering,
XiangtanUniversity,Xiangtan411105;3.JointFacultyofComputerScientificResearch,CapitalNormalUniversity,Beijing100037【Abstract】Collaborativefilteringhasbeenappliedinpersonalizedrecommendationsystemsuccessfully,sparsityproblemandscalabilityproblembecometwobigproblemswhichremainunresolved.Toslovetheproblemoftraditionalmethod,thispaperproposeadecision-makingmethodrelyingonthenumberofneighbors.Themethodcomparesthenumberofuser’sneighborsanditem’sneighborsineveryunpredictedposition,andchoosesthebiggeronetomakepredicting.Inaddition,areasonableandeffectivemeasurementisputforwardtojudgepredicting.Experimentalresultshowsthatthequalityofrecommendationislargelyimproved.【Keywords】personalizedrecommendation;numberofneighbors;collaborativefiltering;MeanAbsoluteError(MAE1概述
随着互联网的膨胀和电子商务的出现,信息迷航困扰着每个用户,为了帮助用户获取真正所需的信息,必然会出现一种推荐系统。推荐系统利用个性化的信息过滤技术来预测特定的用户对特定商品的喜好,或者向特定的用户推荐最感兴趣的商品,最近几年推荐系统已经有一些不同的应用,其中最近邻协同过滤推荐是当前最成功的推荐技术[1],其思想是用户被推荐的项目是与自己有相似品味和爱好的邻居用户过去喜欢的项目[2]。著名的系统有:GroupLens/NetPerceptions,协同过滤最大优点是对推荐对象Ringo/Firefly,Tapestry等[3]。没有特殊的要求,能处理非结构化对象,如音乐、电影[4],还能为用户发现新的感兴趣的资源。
为了找到目标用户的最近邻居进行推荐,首先必须度量用户之间的相似性,然后选择相似性最高的若干用户作为目标用户的最近邻居,但选择的最近邻居是否准确,直接关系到整个推荐系统的推荐质量。随着系统规模的扩大,用户仅对少部分资源进行评价,可扩展性问题和稀疏问题成为协作过滤的棘手问题,影响了用户相似性计算的准确度,导致推荐质量受到严重影响,因此,相似度的准确性成为推荐质量的瓶颈。
为解决传统协同过滤算法的可扩展性问题同时缓解稀疏性问题,文献[5]提出了基于项目的协同过滤算法,该算法比较项目之间的相似性,由当前用户已访问的项目集合推荐未访问的项目。由于项目特性比用户兴趣更稳定,一段时间内—34—不会发生变化,因此可以离线进行计算、存储并定期更新,较好地解决了算法的可扩展性问题,降低了数据的稀疏程度,[6]同时在推荐精度上也有明显提高。但是,目前的方法都是针对K个最近的邻居,虽然K的值可以更改,然而一旦给定K值,为了满足固定的邻居数K即使是相似度不高的邻居也会被预测,这难免会影响预测的结果,虽然随着系统规模的扩大用户评分矩阵变得比较稀疏,但是某些用户间的相似性还是可取的,因此,本文提出一种新的决定邻居的策略,当前用户对当前项目的预测评分取决于邻居数多的一方,如:项目的邻居数多于用户的邻居数,就用基于项目的方法进行预测,反之,则用基于用户的方法进行预测。
现有的协作过滤算法预测的用户对项目的评分绝大部分都是小数,然而,在实际推荐中,用户对资源的评分都是等级评分,是一系列能反映用户偏好逐渐变化的整数,例如,在电影推荐系统中,用户的评分级别分为5级,分别对应1,2,3,4,5,所以,有必要对预测的评分进行判定,使之成为满足级别要求的整数,现有方法都是采用简单的“四舍五入”[7],影响推荐效果。因此,本文提出一种根据用户的评分趋向来取舍预测评分小数部分的方法。
基金项目:国家“863”计划基金资助项目(2006AA01Z112作者简介:李春(1985-,女,硕士研究生,主研方向:普适计算;朱珍民,教授、博士;高晓芳,硕士研究生;陈援非,博士收稿日期:2009-12-20E-mail