论文部分内容阅读
随着大数据时代的到来,人们在分享大数据带来益处的同时,也遭遇到大数据带来的麻烦。当搜索某种信息时,相关信息可能会铺天盖地而来,面对这些海量数据,人们往往无法快速定位到自己想要的那部分信息,用户需要花费很多时间和精力去甄别信息的有效性和可用性。人们对信息的使用效率随着数据量的增长呈现出急速下降的趋势,这就是著名的信息过载(information overload)问题。虽然谷歌、百度等搜索引擎提供了一些帮助,但依然未能解决人们对信息的个性化需求。在电子商务(如Amazon、淘宝、京东等)和社交网络(如Twitter、新浪微博等)出现后,人们对信息的个性化需求更为强烈。于是,怎么在大数据背景下帮助人们快速找到其感兴趣的、满意的信息,已成为学术界和企业界关注的热点。为了解决这些社会需求,研究者们提出了个性化推荐系统,这是一种通过挖掘用户历史数据,然后向用户提供其很有可能感兴趣的信息的一种智能系统。个性化推荐系统是否能提供用户满意的服务取决于个性化推荐算法,好的算法才能推荐出好的结果。在众多个性化推荐算法中,目前最成功的策略之一是协同过滤算法。尽管协同过滤算法取得了很好的效果,但还是存在着不少缺点,如数据稀疏问题,可扩展性问题,冷启动问题等。为了进一步提高个性化推荐效果,本文在阅读大量相关文献并深入学习协同过滤推荐技术的基础上,对已有的协同过滤推荐算法进行改进,提出了基于用户评分差异计算用户相似度和基于项目聚类评分预测的协同过滤算法,并在Hadoop平台上实现所提出的算法。具体的研究内容如下:(1)提出了一种新的用户相似度计算方法一基于用户评分差异的相似度计算方法,该方法综合考虑了用户之间的评分差异、评分偏好和共同评分项目数三个因素。此方法挖掘并应用更多的用户评分信息,特别是应用了均值以下的用户评分信息,有效提高了用户偏好相似性的准确率,并能够缓解数据稀疏性带来的推荐质量下降的问题。(2)改进传统的基于近邻评分预测方法(NNSP),提出基于项目聚类的评分预测方法(ICBSP),实现对未评分项目的评分预测。该方法的核心思想有两个,一个是考虑邻居用户对待预测项目的评分可以有多个评分值,在其中选择最大者作用户最终评分值;另一个是使用项目权重因子和用户相似度共同作为权重值来调节各个不同的待预测项目在特定用户中应该占有的权重。这样可以有效地提高评分预测的准确度,提升推荐质量。(3)本文还在Hadoop平台上对基于用户评分差异相似度计算方法和基于项目聚类评分预测方法的协同过滤推荐算法进行分布式实现,即利用MapReduce计算模型实现协同过滤算法的分布式计算,把在协同过滤算法中耗时的计算过程以离线的方式计算,把不耗时的过程以在线方式计算。这样不仅可以解决算法的可扩展性问题,还在一定程度上解决了在海量数据的条件下信息推荐的实时性问题。(4)本文在Movie Lens提供的电影数据集上对所提出的个性化协同算法进行了实验,结果显示本文提出的方法在推荐效果方面明显优于几个已有的方法。