论文部分内容阅读
随着互联网、云计算时代的到来,用户已经不再为视频资源发愁,取而代之的是如何在众多资源中找到符合自身兴趣的信息。因此,既可节约用户时间又具有个性化的推荐系统成为一种迫切需要。良好的推荐系统是通过对用户的历史行为信息数据进行分析研究,建立其兴趣挖掘模型从而向其快速推荐感兴趣的个性化节目。协同过滤是目前最常用的推荐算法,其主要基于用户对项目的评分数据来挖掘用户的兴趣爱好,但它存在诸如数据稀疏性、用户兴趣随时间变化、大数据环境下的可扩展性等问题。为使用户获得更好的体验,针对以上问题,本文提出一种基于Hadoop平台的改进Slope One算法。具体研究工作如下:1.基于用户时间信息的Slope One算法的改进。Slope One算法是协同过滤推荐算法的一种。该算法基于不同用户对相同喜爱项目间的评分偏差来预测用户对未评分项目的兴趣程度。虽然算法较为简单,但是未考虑用户兴趣的变化和其他因素对评分预测产生的影响。所以本文在用户评分预测模型中引入了用户对项目产生行为的时间信息,以提高推荐质量。2.基于项目相似性多个权值的Slope One算法的改进。为了提高推荐的多样性和准确性,本文在加权Slope One算法的基础上先对皮尔逊相关系数公式进行改进,将改进后的项目相似度作为一个权值参与到评分预测中。然后在计算项目间类别信息相似度时对杰卡德系数法进行了改进,并将改进后的杰卡德系数法也作为权值参与到评分计算中。最后融合了改进的时间信息与项目多权值的Slope One算法,即组合Slope One推荐算法。3.基于Hadoop平台的改进Slope One算法的实现。为了提高推荐质量,基于Hadoop集群环境,利用MapReduce任务分解模型和HDFS文件存储系统实现了改进的Slope One推荐算法。4.基于MovieLens数据集对算法进行了验证。实验结果表明,改进的Slope One算法能够明显提高推荐的准确度。而且对于大规模数据集,集群的分布式环境对于算法的验证有更好的扩展性和执行效率。