近年来,随着深度学习技术的发展,越来越多的领域尝试使用深度学习方法来解决问题。本周介绍一篇有关深度学习序列推荐系统的综述《Deep Learning-based Sequential Recommender Systems: Concepts, Algorithms and Evaluations》。
链接:https://arxiv.org/abs/1905.01997
简介
该综述是第一篇有关基于深度学习方法的序列推荐系统的综述。它首先给出了序列推荐的详细定义,提出了对‘序列’的三种分类,并由分类延伸出了三种序列推荐任务。然后详细了每种任务下的基于深度学习技术的推荐模型。之后从这些模型中总结出影响模型性能的几大因素,通过系统的实验来验证这些因素带来的影响,并分析总结了应该如何利用每种因素。最后,文章总结了当前推荐系统领域存在的问题并提出了今后的发展方向。
图1 序列推荐相关文章关键字的词云
序列推荐定义
本文根据序列的某些特点,创新性地提出了对序列的三种分类:基于体验的行为序列 (experience-based behavior sequence),基于交易的行为序列 (transaction-based behavior sequence) 和基于交互的行为序列 (interaction-based behavior sequence)。在基于体验的行为序列中,用户以不同的行为类型与同一物品进行交互;基于交易的行为序列记录了用户交互的一系列物品,而行为类型是单一的(如购买);基于交互的行为序列是前两者行为序列的混合,包含不同的行为对象和类型,它更接近实际应用中的场景。
文章由这三种序列延伸出三大推荐任务:基于体验的序列推荐,任务是预测下一时刻用户对该物品做出的动作);基于交易的序列推荐,任务是预测下一时刻用户可能购买的物品;以及基于交互的序列推荐,任务是预测下一时刻用户可能选择的物品。
图2 基于体验的行为序列
图3 基于交易的行为序列
图4 基于交互的行为序列
算法介绍
文章在介绍序列推荐的相关深度学习算法之前,首先回顾了相关的传统方法,包括频繁项集挖掘、K近邻、马尔科夫链、基于矩阵分解的方法等。
然后,文章从序列推荐的三大任务入手,介绍了每种任务在各个深度学习技术下的算法。其中涉及到的深度学习技术主要包括:RNN,CNN,MLP,attention mechanism 和 GNN。
图5 基于深度学习的序列推荐模型
影响因素
文章从序列推荐的设计流程入手,总结了每个环节影响可能模型性能的因素,并通过系统的实验来验证这些因素的影响。
图6 各环节影响因素
文章认为现有的序列推荐的工作在提升模型表现上利用的因素包括以下方面:
原始数据中包含的辅助信息(item 的图像与文本描述、用户的停留时间等)以及用户行为类型。
Item embedding 和 session embedding 的设计
序列数据的增强
集成注意力机制
结合深度学习之外的传统方法
模型中的显式用户表示
损失函数、mini-batch、采样方法等
文章贡献
1.创新性的提出了序列推荐任务的三种分类。
2.系统全面地总结了每种任务下的深度学习推荐算法。
3.总结了影响模型性能的因素,并通过实验验证了这些因素的影响,为未来的模型设计提供思路和方向。
4.总结了序列推荐领域存在的问题,并提出了今后的发展方向。对未来的工作具有一定的指导意义。
这篇综述的相关内容将在今年6月于 ICWE 2019 上作 tutorial,详情请见:
https://icwe2019.webengineering.org/program_tutorials/