论文部分内容阅读
随着各种社交网站的兴起,用户越来越频繁地参与网络互动。互联网上的信息不再只由网站编辑提供,用户也开始提交各种信息。推荐系统的出现,使得用户面对爆炸式增长的信息,不再盲目地查询,而是由系统主动向用户推荐其可能感兴趣的内容。经过多年研究与发展,协同过滤推荐算法已经成为应用实践中,较为成熟的推荐技术。它的主要思想是利用已知用户群的过往行为或评分来预测当前目标用户可能感兴趣的物品。本文提出的算法以传统协同过滤推荐算法为基础进行改进。传统的协同过滤推荐算法中,用户评分作为计算物品相似度的依据,进而预测推荐结果。但是同一用户对于不同物品的评分相同,不能充分说明这些物品之间具有相似性,并且会降低非流行物品在推荐过程中的影响力。为了提高物品相似度计算的可靠性,本文在传统算法的基础上,根据对应评分人数所占物品评分总人数的比重,对物品评分进行赋权,提出基于赋权评分的协同过滤推荐算法。实验结果表明,相比传统的物品相似度计算方法,该方法充分考虑了非流行物品的影响力,有效地提高了推荐的精准度。由于需要存储并处理海量用户数据,单机运行环境已经无法满足上述要求。本文使用分布式计算框架Dpark来实现该推荐系统。Dpark将用户数据存储在多个文件服务器上。Dpark是新一代分布式计算框架,更加高效,并且提供了丰富的Python调用接口,方便程序使用迭代的方式进行计算。为了验证本文所设计算法的有效性以及所实现推荐系统的计算性能,本文使用Movie Lens真实测试数据对推荐系统进行了测试。实验结果表明:本文所设计算法可在提高非流行物品影响力的基础上,有效改善推荐精准度;同时采用分布式计算框架实现的推荐系统可以承担海量数据的处理,从而提高了用户的交互体验。