论文部分内容阅读
在大数据背景下,现代互联网的高速发展每天都会产生大量数据,对海量数据的挖掘分析并提取出具有价值的信息是一项具有深远意义的研究。如何从海量数据中挖掘有价值的信息具有重大研究意义。大数据时代资讯极度丰富,信息过载问题日趋严重,用户需要花费大量的时间来选择自己感兴趣的信息或者物品。如何快速、准确的找到自己关心的信息已变得越来越难。为了解决这一问题,个性化推荐系统应运而生。由于需要从海量数据中筛选有价值的信息,推荐系统需要分析的数据量十分庞大。如何能准确、实时的响应用户需求,这就要求推荐系统具有很强的数据挖掘分析能力。近些年出现了较多的开源大数据处理框架,目前主流的框架包括Hadoop和Spark。Spark是新一代并行计算框架,已经成为大数据处理领域的研究热点。将推荐系统构建在Spark框架之上,结合Spark强大的大数据处理能力,借助其内存计算的优势,将大大提升推荐系统的性能。本文主要研究了基于Spark框架的个性化推荐系统的设计与实现,并针对算法中的一些不足进行了改进。本文的主要研究工作包括以下几个方面:1)分析了几种目前主流的推荐算法的实际应用场景以及特点,并改进了算法存在的不足。主要分析了协同过滤算法,基于内容的推荐算法和基于SVD的推荐算法。2)结合列式存储文件类型Parquet设计并实现了一个高效的数据仓库,满足推荐系统在计算过程中快速读写查询需求。该数据仓库是本文实现推荐系统的基石,大大提高了其计算效率。3)利用Spark的编程模型设计并实现了四组推荐算法,结合Spark并行化计算能力,设计实现了与之对应的四组推荐引擎。通过增加项目-属性特征改进了基于项目的协同过滤算法,其性能得到明显提升。4)根据上文实现的四组推荐引擎,将他们组合设计了一个混合推荐模型。通过动态调整参数,在不同的场景中组合选择不同的推荐引擎。混合推荐技术可以提供更加个性化的推荐服务。