论文部分内容阅读
当今社会,互联网技术获得前所未有的高速发展,促使信息化技术遍及社会生活中每一个角落。各种信息数据也在持续不断地增长,而从这些海量的数据中抓取有效的信息已经成为当下迫切需要解决的问题。解决这种问题的有效方法之一是使用推荐系统,既对用户喜欢的信息和历史搜索等信息进行分析,创建对应的模型,从而为用户提供个性化的推荐系统。然而,经过实际的调查显示,现在大部分应用于推荐系统中的协同过滤算法,尚存在着一些推荐信息不准确的问题。例如,将用户和物品的数量变得越大,算法无法准确处理大量的数据,推荐内容的准确率大大降低,导致推荐系统无法为用户提供个性化的信息推荐服务。本文将协同过滤推荐算法做为此次研究的主要对象,通过对各种算法优缺点的分析,提出综合考虑物品和Slope One算法这两中因素,将这两种因素作为条件对用户的喜好进行预测打分,然后推荐给用户。首先,在整体的用户集合和物品集合中,选取出其中一部分的用户和物品作为目标,利用Slope One算法预测出这部分用户会对物品会有怎样的评分,得出评分的结果之后,就可以对评分的矩阵进行填充,这样做的好处是,一方面可以有效地避免因数据系稀疏性而带来的预测不准确问题,另一方面该评分预测结果是得出最终结果的重要参考之一。然后,将原来的数据集和预测部分的数据集综合起来考虑,按照一定的比例将这两种数据集结合在一起,从而可以形成新数据集之后,就可以计算物品之间的相似度和用户对物品平均偏好差异值矩阵。其次,在预测用户对物品的评分时,将刚刚计算出来的物品间相似度设置为Slope One算法的权值。最后,对参数进行训练,得到最终的评分预测结果。为了进一步优化该算法,以提升算法在处理大数据方面的能力,本文将Slope One相似度算法和改进后的协同过滤推荐算法在Spark平台上给予实现。并且,为了验证算法的预测是否准确,本文也将改进以后的协同过滤推荐算法在Hadoop平台上给予实现。经过在MovieLens标准数据集上的反复实验,本文提出的将Slope One和物品相结合使用的协同过滤算法能够有效提高物品推荐的准确度。并且,协同过滤推荐算法在处理海量数据的能力方面,Spark与Hadoop平台相比,运行效率更高,预测的更精准。