基于评分的协同过滤推荐方法及系统的制作方法

文档序号:6350563阅读:355来源:国知局
专利名称:基于评分的协同过滤推荐方法及系统的制作方法
技术领域
本发明涉及协同过滤推荐技术领域,特别涉及一种基于评分的协同过滤推荐方法及系统。
背景技术
互联网技术的迅猛发展把我们带进了信息爆炸的时代,海量信息的同时呈现,不仅使用户很难从中发现自已感兴趣的内容,而且使得大量少为人知的信息成为网络中的 “暗信息”,无法被一般用户获取。推荐系统通过建立用户与项目(例如产品、电影、音乐、 节目等)之间的二元关系,利用用户历史选择信息或相似性关系挖掘用户潜在的兴趣爱好,进而进行推荐。
目前已存在许多经典推荐系统,协同过滤推荐系统是最早被提出并得到广泛应用的推荐系统。其核心思想就是基于评分相似的最近邻居的评分数据向目标用户产生推荐。 由于最近邻居对项目的评分与目标用户非常相似,因此目标用户对未评分项目的评分可以通过最近邻居对该项目评分的加权平均值逼近。Typestry是最早提出来的基于协同过滤的推荐系统,目标用户需要指出与自己兴趣爱好比较类似的其他用户。GroupLens是基于用户评分的自动化协同过滤推荐系统,用于电影和新闻推荐。其他利用协同过滤方法进行推荐的系统还有Amazon, com的书籍推荐系统,Jester的笑话推荐系统等等。
与一般的推荐系统相比,协同过滤推荐系统具有两大优点一是对推荐对象没有特殊的要求,能处理音乐、电影等难以进行文本结构化表示的对象;二是具有推荐新信息的能力,可以发现用户潜在的但自己尚未察觉的兴趣偏好。
传统的协同过滤推荐系统利用不同用户间共同评分项目计算相似性,主流的相似性计算方法包括余弦相似性方法和相关相似性方法;目标用户对未评分项目的评分通过相似性较大的邻居对项目的评分的加权平均值进行预测。可以看出,协同过滤推荐系统的推荐精度取决于用户间相似性计算的准确度。然而在用户和项目数量庞大的网络系统中用户评分数据极端稀疏情况下,难以找到用户间共同评分项目,从而导致用户间相似性计算结果不准确甚至无法计算相似性。协同过滤推荐系统得到了广泛应用的同时,也面临着很多问题,例如如何对新用户进行推荐或如何推荐新产品给用户即冷启动问题,评分稀疏性问题,算法可扩展性问题等。另外,传统的协同过滤推荐算法随着用户数量的增多,计算量成线性加大,实时性能越来越差,同时响应速度也越来越慢。发明内容
(一)要解决的技术问题
本发明要解决的技术问题是如何在用户和项目数量庞大的协同过滤推荐系统中用户评分数据极端稀疏情况下,解决难以找到用户间共同评分项而导致无法计算相似性或相似性不准确的问题。
( 二)技术方案
为解决上述技术问题,本发明提供了一种基于评分的协同过滤推荐方法,包括以下步骤Sl 遍历当前网络系统中的所有用户,获得所有用户的历史评分数据;S2:根据所有用户各自的历史评分数据的统计特征确定各个用户之间的相似程度;S3:选择与当前用户相似程度最高的k个其它用户,根据所述k个其它用户对当前用户未评分项目的历史评分数据,来对当前用户未评分项目进行预测;S4 对每个用户的预测结果进行筛选,产生对每个用户的推荐项目。优选地,步骤S2中各个用户之间的相似程度通过下列公式进行计算,
权利要求
1.一种基于评分的协同过滤推荐方法,其特征在于,包括以下步骤S1遍历当前网络系统中的所有用户,获得所有用户的历史评分数据;S2根据所有用户各自的历史评分数据的统计特征确定各个用户之间的相似程度;S3选择与当前用户相似程度最高的k个其它用户,根据所述k个其它用户对当前用户未评分项目的历史评分数据,来对当前用户未评分项目进行预测;S4对每个用户的预测结果进行筛选,产生对每个用户的推荐项目。
2.如权利要求1所述的方法,其特征在于,步骤S2中各个用户之间的相似程度通过下列公式进行计算,
3.如权利要求2所述的方法,其特征在于,步骤S3中通过下式来对当前用户未评分项目进行预测,
4.如权利要求1 3中任一项所述的方法,其特征在于,步骤S4中对每个用户的预测结果进行筛选时,通过将当前用户的未评分项目的预测分数与当前用户的历史评分数据的均值进行比较,若大于均值,则作为推荐项目。
5.一种基于评分的协同过滤推荐系统,其特征在于,包括历史数据统计模块,用于遍历当前网络系统中的所有用户,获得所有用户的历史评分数据;相似程度计算模块,用于根据所有用户各自的历史评分数据的统计特征确定各个用户之间的相似程度;预测模块,用于选择与当前用户相似程度最高的k个其它用户,根据所述k个其它用户对当前用户未评分项目的历史评分数据,来对当前用户未评分项目进行预测;筛选模块,用于对每个用户的预测结果进行筛选,产生对每个用户的推荐项目。
6.如权利要求5所述的系统,其特征在于,相似程度计算模块中各个用户之间的相似程度通过下列公式进行计算,
7.如权利要求6所述的系统,其特征在于,预测模块中通过下式对当前用户未评分项目进行预测,Pu,, =K+ \~Γ Y,sim(u,x)(rxl -rx)xeS(u)其中,Pu, i为当前用户U的未评分项目i的预测分数,S(U)为k个其它用户中对当前用户U的未评分项目i进行过评分的用户集合,ru为用户X对当前用户u的未评分项目i 的评分,用户χ为S(U)中的某个元素。
8.如权利要求5 7中任一项所述的系统,其特征在于,筛选模块中对每个用户的预测结果进行筛选时,通过将当前用户的未评分项目的预测分数与当前用户的历史评分数据的均值进行比较,若大于均值,则作为推荐项目。
全文摘要
本发明公开了一种基于评分的协同过滤推荐方法及系统,涉及协同过滤推荐技术领域,本发明利用用户历史评分数据的统计特征计算各个用户之间的相似程度,通过与当前用户相似程度较高的其他用户来计算当前用户未评价过的项目,实现了在用户和项目数量庞大的协同过滤推荐系统中用户评分数据极端稀疏情况下,解决了难以找到用户间共同评分项而导致无法计算相似性或相似性不准确的问题,能够实现准确且快速的项目推荐。
文档编号G06F17/30GK102495864SQ201110382078
公开日2012年6月13日 申请日期2011年11月25日 优先权日2011年11月25日
发明者曹军威, 谢峰, 陈震 申请人:清华大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1