论文部分内容阅读
随着信息科学技术的发展,数据呈爆发式增长,在海量数据中快速精准的挖掘所需信息已成研究热点,推荐系统由此应运而生,大数据环境下的信息挖掘已成研究热点。现有推荐往往都是离线计算,定期更新推荐结果,实时性不够,且推荐系统普遍存在冷启动与数据稀疏性问题,在信息为王的时代,如何快速、精准的响应用户需求亟待解决,传统的单机模式需要耗费大量时间进行推荐算法的迭代计算,难以满足当今的业务需求。通过对现有大数据处理框架的对比,采用Spark大数据计算处理引擎,借助其基于内存计算的优势,提高推荐系统的性能。本文主要研究Spark平台下基于流式数据的组合推荐算法,并以图书推荐为例进行流式实现。主要包括以下两个方面:(1)流式数据下推荐算法并行化研究。在推荐算法与分布式计算相关理论研究的基础上,对模糊C均值(Fuzzy C-Means,FCM)聚类算法和交替最小二乘法(Alternating Least Squares,ALS)进行分析并基于Spark框架进行并行化设计。(2)流式数据下推荐算法并行化实现。为解决传统推荐算法的数据稀疏和冷启动问题,我们将ALS算法与FCM算法相组合,设计实现并行化组合推荐算法AAF(ALS AND FCM),针对新用户,把属性相近的用户聚集在一起,根据聚类簇中已有的推荐关系对新用户进行推荐,而老用户则在聚类簇中通过ALS算法对用户评分缺失项进行填充,随后计算评分矩阵获得Top-N推荐。首先是对数据预处理,通过T-C模型将借阅时间与借阅次数转换为用户-图书评分,接着构建用户-图书评分矩阵,实现组合推荐算法AAF,最后对系统进行性能优化。实验结果验证了AAF算法在Spark集群环境下推荐结果优于单一推荐模式,算法的相关指标与单机环境基本一致,精度损失问题并不明显,随着数据量的增加,算法融合后的运行时间大大缩短,计算效率显著提升,满足实时推荐的性能要求。