论文部分内容阅读
随着信息技术的快速发展,信息过载已经成为互联网领域面临的重要挑战。为了缓解互联网用户与海量数据间日益加剧的矛盾,研究人员提出了推荐系统的概念。作为推荐系统的一个重要分支,混合推荐系统通过组合多种推荐算法提高系统性能,目前广泛应用于电子商务、社交网络和视频网站等领域。然而,用户量与数据量的急速增长对混合推荐系统的性能提出了更高的要求。例如,视频网站要求混合推荐系统为用户精准推荐各类视频,并根据用户行为的变化训练新的模型,及时更新推荐结果。由于数据量的增加,开发人员难以利用经验确定各推荐算法对最终结果的影响程度。因此,粗粒度权重计算方法影响混合推荐系统的精度,增加开发难度。此外,由于系统基于大规模数据训练特征模型,训练过程包含大量迭代计算,使得训练一次模型的时间为一天甚至几天,难以满足用户对推荐系统效率的需求。本文通过分析不同的数据集、推荐算法以及权重计算方法的特点,引入适用于迭代计算的通用大规模数据处理平台Spark,设计并实现了基于Spark的混合推荐系统,以提高推荐系统的精度、多样性和效率。本文的主要工作及创新点如下:1.首先,本文提出一种细粒度权重计算方法,将各推荐算法的权值扩展为权重向量。该方法提高了评分预测推荐的精度,并有效缓解数据稀疏带来的冷启动问题:2.其次,本文基于大规模数据处理框架Spark,以细粒度权重计算方法为核心,设计实现细粒度权重混合子系统。该子系统基于分布式计算框架Spark降低模型训练时间,并利用细粒度权重计算方法提高推荐精度。实验结果表明,细粒度权重混合推荐比单一推荐算法的精度提高5%~30%,比粗粒度权重混合推荐的精度提高1.5%~3%。同时,该系统的模型训练速度比单机推荐系统提高了 90%,比基于Hadoop框架的推荐系统的训练时间提高了 2倍左右;3.最后,本文设计实现基于Spark的交叉调和推荐系统。该系统以细粒度权重混合子系统为核心,引入基于内容的推荐算法,实现了一个高精度、高效率、多样性和可扩展的混合推荐系统。