论文部分内容阅读
随着互联网的飞速发展,人们的生产,生活和娱乐等活动越来越多的以数据形式记录下来。在当今火爆的电子商务领域,通过挖掘用户的在线行为(如评分、评级、浏览)所体现的兴趣爱好而进行个性化的信息推荐被认为是最有应用价值的方向之一。目前的推荐算法融合了各种类型的数据,像评分数据、用户项目属性信息、社交网络信息、标签评论甚至移动位置的相关数据,异构的用户数据中蕴含着大量的用户偏好信息,如果能够采用合适的模型充分挖掘出用户的偏好,过滤噪音,将能够提高推荐准确率、提升用户体验,从而产生巨大的经济效益,目前推荐算法已经成为学术界和工业界的研究热点。虽然这些大量的数据为推荐算法提供了良好的数据基础,但是由于数据的规模大、维度多甚至稀疏性问题,导致了算法的推荐准确性、实时性方面仍有很大的提升空间。本文通过分析用户的评分数据、项目的属性数据以及用户的异构反馈数据,完成如下工作:(1)针对目前的矩阵分解算法在解决数据稀疏性问题时,没有充分利用项目的属性信息与用户评分行为的交互信息,提出了加入用户对项目属性偏好的奇异值分解算法UC-SVD算法,综合考虑项目属性和用户评分行为,构建了用户对项目属性的偏好矩阵,表示了用户对某种类型的项目的偏好程度,并将项目属性特征和用户对项目属性偏好特征因子加入到矩阵分解模型中,一定程度上弥补了原始评分数据的数据稀疏性。(2)针对推荐算法准确率的问题,提出了将显式的评分数据和用户隐式反馈数据结合的HFBT算法,我们分两步处理与显式评分数据异构的用户隐式反馈,首先利用SVD++算法处理隐式反馈的思想,我们引入了用户喜欢项目的偏好因子和用户不喜欢项目的非偏好因子,将这两种因子整合到矩阵分解模型中;然后通过迁移学习思想,将加入隐式反馈的矩阵分解模型作为迁移的辅助源领域,迁移项目的特征因子到目标评分域中,并保持用户特征因子间的相互影响,使最终的模型达到更好的推荐准确度。(3)针对HFBT参数中多参数、收敛效率不高的问题,在Spark平台下对HFBT算法进行了并行化设计实现,有效的提高了算法的效率和扩展性。在真实的Spark集群环境下将HFBT算法与其他推荐算法进行了对比实验,使用了三个数据集验证了推荐的准确性。结果表明,本文提出的推荐算法不仅在推荐的准确性方面有很大的提高,而且算法在大规模的数据集下具有良好的可扩展性。