论文部分内容阅读
近年来,通过网络购物已经成为许多的人的习惯,越来越多的电子商务网站进入人们的视野。由于虚拟货架成本低廉,一个大型的电子商务网站的商品数量比实际商场里面要多得多。电子商务网站一般都有搜索功能,但对于无法提供准确搜索关键词的用户来说,通过搜索找到需要的商品比较困难。电子商务推荐系统可以根据用户的历史购物行为或注册、浏览记录等主动向用户推荐其可能感兴趣的商品。电子商务推荐系统已经在亚马逊、淘宝等知名电商网站中得到了成功的应用。由于用户和商品数量的不断增多,传统的单机推荐系统已经不能够适应海量数据的计算、存储等需求,研究分布式的推荐系统成为近年来的热点。针对基于Hadoop的电子商务推荐系统这一课题,通过阅读大量的文献,分析了国内外研究现状及面临问题。对电子商务推荐系统常见的推荐算法进行了探讨,此外本文还对Hadoop平台的两大核心技术HDFS和MapReduce的工作流程和原理进行了介绍。针对传统电子商务推荐系统存在的问题,本文设计了基于Hadoop的电子商务推荐系统,系统具有较好的可扩展性和伸缩性,可以方便的对系统的计算和存储能力根据业务需求进行调整。为了解决电子商务推荐系统阶段性和突发性问题,在系统的架构过程中考虑了负载均衡技术。系统采用异步非阻塞模式的架构来将web服务器与实际的业务处理相关服务器分离以减小web服务器的压力。论文对HDFS存储小文件时的效率问题进行了优化,设计了基于HDFS和MySQL集群的存储系统。为了节省存储空间,对稀疏矩阵存储和并行化计算过程进行了设计。系统设计了多个推荐引擎,每个推荐引擎都有其适应的场景与需求,可以使推荐系统灵活的适应多种推荐场景。不同的推荐引擎的推荐结果也可以根据需要进行加权组合。对数据预处理、基于用户的协同过滤推荐算法、基于物品的协同过滤推荐算法和混合推荐算法的相似性计算和评分预测的并行化过程进行了设计,使之能够较好的运行在Hadoop平台上,实现分布式的推荐计算。通过GroupLens数据集,论文对设计的基于Hadoop的电子商务推荐系统进行了实验。从平均绝对偏差和加速比两个方面对并行化的三种推荐算法的推荐质量和Hadoop平台的执行效率进行了评估。实验结果表明混合推荐算法的推荐质量最好,基于物品的协同过滤推荐算法次之,基于用户的协同过滤推荐算法的推荐质量较差。通过加速比的实验结果可以分析得到基于Hadoop平台的推荐算法在处理海量数据时有较高的执行效率。