摘要
本文通过研究传统推荐算法存在的不足,针对商品个性化推荐的特殊场景,提出离线推荐与实时推荐相结合的混合推荐算法,从而有效地解决推荐系统中存在的数据稀疏性、实时性和冷启动等问题。本文主要的研究内容如下: (1)离线推荐中,首先针对基于物品的协同过滤算法(ItemCF)在大规模数据中难以计算物品相似度的问题,设计了基于用户贡献度的相似度计算方法,该方法基于置信度并引入TF-IDF思想,计算用户贡献度,然后借鉴Apriori算法思想实现改进的计算方法,但Apriori算法在大规模数据集上难以实现,通过进一步研究并行化机制,设计并在Spark上实现并行化算法,提高了计算效率。通过分析发现,用户的兴趣焦点随时间而变化,因此,提出了基于时间的用户兴趣度权重,完成ItemCF的改进。接着利用改进后的ItemCF选取候选集,然后通过数据分析、数据预处理和特征选择等过程,建立特征工程。最后根据XGBoost模型和候选集的特征得到推荐结果,实验结果表明,推荐的准确性明显提高。 (2)实时推荐中,以改进后的ItemCF为实时推荐算法核心,采用蓄水池加权采样法来增量更新物品相似度矩阵,根据采样结果,为用户采取不同的更新策略,达到实时推荐个性化的结果。针对冷启动问题,设计了基于牛顿冷却算法的排行榜,作为新用户的推荐补充。设计了实时推荐系统的架构,并基于此架构实现了排行榜和实时推荐算法。最后通过对比实验分析,最终实验结果表明,该实时推荐算法提高了推荐的准确性,并且满足系统的实时性要求。 (3)基于本文提出的混合推荐算法,设计并实现了一个基于Spark的商品个性化推荐系统,完成了商品个性化推荐的基本功能。