深度学习技术已经在计算机视觉以及自然语言理解等领域取得了巨大的成功,受其影响深度学习研究也开始在推荐系统领域得到关注。近些年来,已经见证了基于神经网络的推荐系统的巨大进步,其已经超越了传统推荐模型的性能。不同于之前文献[1][2]基于深度模型的结构进行综述(比如以MLP、CNN、RNN等进行分类),也不同于之前文献对于某一子领域进行综述[3][4](比如跨域推荐、知识图谱推荐等),本文以推荐模型的准确性为目标,从推荐模型的角度对神经推荐模型进行了系统的综述,旨在总结该领域的研究成果,为研究推荐系统的研究者和实践者提供参考。具体来说,根据推荐模型建模所利用的数据进行分类,把当前的工作分为了基于协同过滤的方法和基于信息增强的方法。另外,把基于信息增强的方法又进一步分为了内容增强的方法和基于时序/序列的推荐方法,下文将对上述方法进行详细介绍。
论文:https://arxiv.org/pdf/2104.13030
论文合集:github.com/hongleizhang/RSPapers
论文集合:github.com/lmcRS/AWS-recommendation-papers
随着互联网技术的发展,信息过载现象逐渐变得严重。推荐系统作为一种有效解决信息过载的工具,其能够帮助用户发现有价值信息以及帮助服务提供商增加流量和收入,其已经被应用在了诸如电子商务、社交媒体等平台上。推荐系统成为了以用户为中心的智能应用中最受欢迎的现代信息系统。
对于推荐系统的研究可以追溯到1990年代,其已经开发了许多基于内容和基于协同过滤的方法。后来受Netflix大赛的影响,矩阵分解技术成为了在2008到2016年间主流的推荐模型。然而受限于因子分解模型天然的线性性质,其在处理大规模以及复杂数据上的性能表现有所欠缺,比如复杂的用户交互、物品侧可能包含复杂的语义信息等。2010年左右深度学习技术开始在计算机视觉、自然语言处理、语音识别等领域产生了革命性的影响,其也为推荐系统的研究与实践打开了新的思路。
与现有的综述不同,本文综述以准确性为目标,从推荐系统的数据来源以及建模的角度进行组织,涵盖了最典型的推荐场景,如协同过滤、内容增强的方法和时间/序列的方法。这不仅有助于研究人员理解为什么和何时深度学习技术会起作用,还有助于从业者为特定的推荐场景设计更好的解决方案。下图展示了推荐模型的信息源(比如用户交互数据、用户侧以及物品侧数据以及两者交叉所产生的上下文信息)以及所对应的推荐模型建模方法(协同过滤方法、基于内容增强的方法以及上下文感知的方法)。
一、基于协同过滤的方法是指仅仅利用用户对物品的交互矩阵的一类方法。其根据是对用户或者物品的表示进行建模还是对两者之间的交互进行建模,分为了基于表示学习的方法和基于交互建模的方法。
1.1 其中,基于表示学习的方法又进一步分为了经典的矩阵分解方法、基于历史注意力机制的方法、自动编码机的方法以及图学习的方法。下表总结了上述方法的建模总结以及代表模型。
1.2 其中,基于建模交互的方法又进一步分为了基于距离的方法与基于神经网络的方法。基于距离的方法主要是对内积的改进,比如基于欧氏距离以及双曲空间上的距离等。基于神经网络的方法主要是对用户和物品的表示进行进一步特征提取,比如基于多层感知机的交互建模、基于CNN的外积交互建模等。
二、基于内容增强的方法是指在利用用户对物品的交互矩阵的基础上对用户侧或者物品侧的信息进行建模的方法。其中,用户或物品侧的信息包括文本信息(比如物品标签、物品文字描述以及用户评论等),多媒体信息(比如图像、视频、音频等信息)以及用户侧的社交网络以及物品侧的知识图谱等。本文根据可获得的内容信息将相关工作分为了五类:用户和物品的一般特征建模、文本内容信息建模、多媒体信息建模、社交网络和知识图的建模。(下图分别展示了利用CNN来处理文本数据的DeepCoNN模型、利用视觉数据的VBPR模型以及利用社交网络信息的DiffNet模型)。
2.1 建模一般交互特征的一类方法主要是对特征进行二阶的特征提取(比如FM、FFM等)以及基于MLP的多阶特征提取以及基于树结构的提取等。
2.2 建模文本特征的一类方法主要是利用自然语言处理技术对特征进行处理,比如基于自编码器的方法、基于词嵌入的方法、基于注意力机制的方法以及基于文本可解释性的推荐方法等。
2.3 建模多媒体特征的一类方法主要是根据输入的数据是图片数据还是视频数据还是音频数据以及它们的结合进行了分类,下图总结了建模的要点以及代表模型,感兴趣的读者可以阅读原文。
2.4 建模社交网络特征的一类方法主要是分为了社交正则化的方法和GNN的方法,更多基本内容与详细分类可阅读社会化推荐浅谈。
2.5 建模知识图谱特征的一类方法主要是分为了基于路径的方法、基于正则化的方法和GNN的方法,更多基本内容与详细分类可阅读基于知识图谱的推荐系统总结。
三、基于时序/序列的方法是指在利用用户对物品的交互矩阵的基础上添加上下文信息并进行建模的方法。其中,在上述方法的基础上考虑了交互矩阵的时效性,即用户的偏好是动态变化的。因此基于时序/序列的方法旨在建模用户动态偏好以及随时间变化的序列模式。基于此,主要分为基于时序的推荐方法、基于会话的推荐方法以及基于时序/会话混合的推荐方法。
3.1 基于时序的方法主要是建模用户行为随着时间变化的动态特性,其代表性的模型为RNN等。
3.2 基于会话的方法主要是建模序列间物品与物品间的交互模式,因此其一般是不会存在用户登录相关的信息,其代表性的模型为SASRec等。
3.3 基于时序/会话混合的方法主要是对用户的动态特征以及物品的序列模式进行建模,其代表性的模型为S3-rec等。
以上所介绍的基于神经网络的推荐模型都证明了其推荐性能的优越性。然而,该领域还有许多需要改进的地方。因此,作者从基础标准库的构建、图推理以及自监督建模和多目标优化评估的角度提出了一些值得进一步研究的方向。最后也讨论了对于推荐模型的可重现性的看法。
参考文献:
- Zhang et al. Deep learning based recommender system: A survey and new perspectives. ACM Comput.Surv, 2018.
- Batmaz et al. A review on deep learning for recommender systems: challenges and remedies. Artificial Intelligence Review, 2018.
- M. M. et al, Cross-domain recommender systems: A systematic literature review, ACM CSUR, 2017.
- Q. Guo, et al, A survey on knowledge graph-based recommender systems, IEEE TKDE, 2020.