论文部分内容阅读
随着科学技术的迅猛发展,全球网民数量的急剧增加,互联网几乎普及到人们日常生活中的方方面面,随之而来的是信息量的爆炸式增长,尤其是在电子商务方面。大量的数据引起的“信息过载”问题给人们带来的不是用户拥有更多的选择权,而是无所适从,无法从数量庞大的商品中选择出自己需要的商品。如何在大量的商品中迅速找到用户的兴趣点并推荐给用户,就成为现在电商们密切关注的问题了。很多电子商务网站为了解决这一问题,采用了在网站中加入搜索引擎方案和信息分类手段,但是这需要用户主动和电子商务网站进行交互,而且对于那些需求不明确的用户,电子商务网站也不能提供相关商品页面展示给用户。为了克服这些新问题,给用户带来更好的购物体验,众多学者和企业为此做出大量研究,提出了推荐系统的概念。它可以更为智能和主动地去寻找用户的兴趣点并将相对应的商品推荐给用户,用户可能只是在浏览相关网页而并没有输入任何关键性信息就获得了推荐服务,为顾客带来便利的同时也提高了电子商务网站中客户的忠诚度。本论文首先阐述了推荐系统的国内外研究现状和发展历程,然后介绍了推荐系统的核心:推荐算法,但是传统的推荐算法已经无法用来处理海量数据集,而且还会遇到“冷启动”和数据稀疏的问题。为了解决这些问题,本文深入研究了Hadoop分布式平台的理论和优势,将传统的基于用户的协同过滤推荐算法、基于物品的协同过滤推荐算法、Slope-One推荐算法和ALS-WR推荐算法实现代码进行修改,使其能够在Hadoop集群中进行分布式计算。借助于以上的理论支撑和并行化算法的实现,实验搭建了基于Hadoop平台的分布式推荐系统,并在GroupLens数据集上对上述4类算法进行对比和参数调优。总结起来主要做的工作有:(1)搭建Hadoop完全分布式集群使其能够进行海量数据的存储和分布式计算,并对Hadoop集群进行文件配置和参数调优以适应实验环境的需求。(2)介绍3种传统的基于用户的协同过滤推荐算法、基于物品的协同过滤推荐算法和Slope-One推荐算法,针对推荐系统遇到的数据稀疏的问题,实验引入了基于模型的推荐算法ALS-WR予以解决。为了解决单机版推荐算法遇到的硬件性能瓶颈,将上述4种推荐算法的实现代码进行修改,使其能够在Hadoop平台上进行分布式计算,以适应现代电子商务网站应对海量数据处理的严峻挑战。(3)将Hadoop平台与分布式推荐算法进行结合,以HDFS和MySQL作为混合存储结构,借助于Tomcat和JSP技术,构建基于Hadoop分布式平台的推荐系统,并能够以WEB服务的方式展示给用户使用。根据不同的推荐算法,通过实验,从算法的准确度、查全率和查准率三个角度,在GroupLens数据集上进行算法性能评测,并对实验结果进行分析。