导读:一起来看下当下深度推荐系统中序列推荐建模的最新进展与挑战,内容主要摘自 IJCAI 2019论文:Sequential Recommender Systems: Challenges, Progress and Prospects。 作者:Mr.Y 来源:https://zhuanlan.zhihu.com/ p/97505594 整理:深度传送门
背景
序列推荐系统(SRS)主要对序列中的 user-item interactions 进行顺序依赖性建模来推荐给用户可能感兴趣的item,传统的推荐系统包括 content-based 和 collaborative filtering RSs,都是以静态方式对user-item interactions 进行建模,并且只能找到 user 的一般 preference。但是,SRS 将user-item interactions 视为动态序列,并考虑了顺序依赖性,从而找到user当前和最近的 preference 以进行更准确的推荐。 [Chen et al., 2018]
User-item interactions 本质上就是有顺序的, users’ shopping behaviours 本来就是顺序行为,这种类型的顺序依赖关系通常存在于交易数据中,但不能被常规的content-based 和 collaborative filtering RSs 很好地找到。[Kang et al., 2018]
随着时间的推移, User's preference和 Items' popularity都是动态的,而不是静态的,这样的动态变化对于准确地对用户或物品进行分析以获得更准确的建议非常重要,并且只能由SRS找到这种关系。
User-item interactions 通常是在一定顺序的环境下发生的,不同的 contexts 通常会导致不同的user-item interactions,但是,诸如协同过滤之类的传统RS通常会忽略这些。但是,SRS 将先前的sequential interactions 作为contexts,以用来推荐。因此,避免重复推荐已经购买的或与之相似的item,已用来增加推荐多样性。
所以序列推荐系统到底如何建模?SRS接受的输入是一系列的 User-item 交互,输出则试图预测User接下来可能进行交互的Item。[Wang et al., 2018] ,[Huang et al., 2018]
数据特点以及挑战
由于现实场景中用户购物行为,商品特征和特定购物环境的多样性和复杂性,user-item interaction data通常具有不同的特点。不同的数据特特点本给SRS带来了不同的挑战,需要不同的解决方案,如表1所示。在以下五个小节中,我们分别讨论了由不同数据特点引起的SRS的五个关键挑战。在每个小节中,我们首先介绍特定的数据特点,然后说明相应的挑战。
Handling Long User-Item Interaction Sequences
较长的 user-item interaction序列由相对大量的 user-item interaction组成,它使得内部的多个交互具有更复杂,更全面的依赖,这使得SRS更具挑战性,其中两个很重要的挑战是:
1. 学习高阶顺序依赖 learning higher-order sequential dependencies
Higher-order sequential dependencies 在 user-item interaction中普遍存在,特别是长序列中,低阶的可以用MC [Garcin et al., 2013] 或FM [Rendle et al., 2010; Hidasi and Tikk, 2016] 解决,高阶的由于其跨越了多个user-item interaction的复杂多级级联依赖很难找出,目前主要有两种方法:
higher-order Markov-chain models [He and McAuley, 2016]
recurrent neural networks (RNN) [Hidasi et al., 2016a]
但是高阶马尔可夫链模型所涉及的 historical states 非常有限,因为要估计的模型参数数量随阶数呈指数增长;而RNN中使用的强顺序假设限制了RNN在具有灵活顺序的序列中的应用
2. 学习长期的顺序依赖 learning long-term sequential dependencies
是指序列中彼此远离的interaction之间的依赖性,例如 {a rose, eggs, bread, a bottle of milk, a vase} 购物篮中的rose和vase之间就是长距离且高度依赖的,这种情况在现实世界中并不罕见,因为用户的行为通常高度不确定,因此可能会将任何物品放入购物车。
[Wu et al., 2017] 和 [Hidasi et al., 2016a] 分别使用 LSTM 和 GRU 来解决这个问题,但是,RNN的强假设序列中的任何相邻项都是高度相关的,RNN模型很容易生成错误的相关性
通过利用混合模型的优势,将具有不同时间范围的多个子模型组合在一起,以捕获短期和长期依赖关系 [Tang et al., 2019]
Handling User-Item Interaction Sequences with a Flexible Order
在现实世界中,某些 user-item interaction sequences 是严格排序的,而其他序列可能不是严格排序的,即,并非所有相邻 interaction 都是有顺序的,例如{milk, butter,flour},牛奶和黄油之间没有严格的顺序,但是面粉顺序取决于它们的结合。
因此,对于具有灵活顺序的序列,更容易找到 collective sequential dependencies,如何在flexible order的情况下找出collectivesequentialdependencies成为处理SRS中的关键挑战。
现有的工作很少有解决这个问题的,现有的MC,FM,RNN 都是处理 point-wise dependencies,并不擅长 modelling and capturing collective dependencies。少数几个工作 [Tang and Wang, 2018;Yuan et al., 2019] 试图通过CNN解决这个问题,就像CNN建模“图像”中不同区域之间的局部和全局依存关系一样。
Handling User-Item Interaction Sequences with Noise
由于用户购物行为的不确定性,大多数user-item interaction 顺序都不清晰,,即其中可能包含一些不相关的交互,会对下一个交互预测产生干扰。实际上,在user-item interaction序列中,某些 historical interactions与 next interaction 密切相关,而其他historical interactions 则可能不相关甚至不相关。例如 {bacon, a rose,eggs, bread}中的rose。下一个item 可能是一瓶牛奶,它仅顺序地依赖于培根,鸡蛋和面包,而与玫瑰无关。因此,SRS中的另一个挑战是在 user-item interaction sequences with noise上学习 sequential dependencies attentively and discriminatively
少数几个工作用attention和记忆网络解决这个问题 attention models [Wang et al., 2018] or memory networks [Chen et al., 2018] ,有选择地保留和利用那些与下一次交互预测真正相关的交互信息。
Handling User-Item Interaction Sequences with Heterogeneous Relations
Heterogeneous relations refer to different types of relations which deliver different kinds of information and should be modelled differently in SRSs.
In a user-item interaction sequence, except for the widespread occurrence-based sequential dependencies over user-item interactions,there are also similarity-based relations between the interacted items in terms of their features.
因此,SRS中的另一个挑战是 how to effectively capture these heterogeneous relations embedded in the user-item interaction sequences respectively and to make them work collaboratively for the sequential recommendations
只有三篇论文 [Kang et al., 2018; Tang et al., 2019; Wang et al., 2019] 于此相关,混合模型集成了由不同子模型建模的不同类型的关系,以协作生成顺序建议。
Handling User-Item Interaction Sequences with Hierarchical Structures
通常,主要有两种与用 user-item interaction 序列相关的层次结构:
(1) the hierarchical structure between meta data and user-item interactions
users' demographics 在一定程度上会影响用户购买的决策,同样商品特征也会影响用户购买的决策 [Hidasi etal., 2016b]
(2) the hierarchical structure between sub-sequences and user-item interactions
一个user-item interaction sequence 包括多个sub-sequences (也叫sessions), In such a case, in addition to the prior interactions within the current sub-sequence, the historical sub-sequences may also influence the next user-item interaction to be predicted in the current sub-sequence [Ying et al., 2018]
因此,SRS中的另一个关键挑战是 how to incorporate the hierarchical dependencies embedded in these two kinds of hierarchical structures into sequential dependency learning to generate more accurate sequential recommendations.
一方面,为了考虑item 特征对 user-item interactions的影响,针对SRS提出了一系列功能丰富的神经模型,包括[Hidasi et al。,2016b]。相比之下,现有的SSR很少考虑users' demographics影响,应朝这个方向做出更多的努力;另一方面,一些hierarchical models,包括 hierarchical embedding models [Wang et al., 2015], hierarchical RNN [Quadrana et al., 2017] and hierarchical attention networks [Ying et al., 2018] 将historical sub-sequences 放到顺序依赖学习中,以构建功能更强大的SRS。
研究最新进展
1. Traditional Sequence Models for SRSs
Sequential pattern mining [Yap et al., 2012]
Markov chain models [Garcin et al., 2013] [Feng et al., 2015]
2. Latent Representation Models for SRSs
Factorization machines [Rendle et al.,2010; Hidasi and Tikk, 2016]
Embedding [Wang et al., 2015;2018] [He et al., 2018]
3. Deep Neural Network Models for SRSs
主要用RNN,最近开始用CNN和GNN 来弥补 RNN的缺陷。
RNN-based SRSs
LSTM- [Wu et al., 2017],GRU-based [Hidasi et al., 2016a]
近年来见证了基于RNN的SRS的繁荣发展,它们主导了基于深度学习的SRS甚至整个SRS的研究,除了基本的RNN结构外,还提出了一些改进来找出序列中更复杂的依赖项,例如:hierarchical RNN [Quadrana et al., 2017]
但是,对于SRS,RNN并非完美无缺,其缺点有两个方面:
(1)由于强序列假设很容易产生不真实的依赖关系,即一个序列中的任何相邻交互都必须是依赖的,在现实世界中可能并非如此,因为序列中通常存在不相关的interactions;
(2)只能在忽略 collectivedependencies 时才捕获 point-wise dependencies(例如several interactions collaboratively affect the next one)。
CNN-based SRSs
由于CNN对序列中的交互没有强大的顺序假设,并且以类似图像那样而不是过度交互的方式学习区域之间的关系,因此,基于CNN的SRS可以在某种程度上弥补基于RNN的SRS的上述缺点。但是,由于CNN中使用的 filter 尺寸有限,因此基于CNN的SRS无法有效地捕获长期缺陷,从而限制了它们的应用。[Tang and Wang, 2018; Yuan et al., 2019]
GNN-based SRSs
首先在 sequence data 上建立一个有向图,把每个 interaction(例如购物篮中的商品)作为一个node,然后把sequence 映射为一个path;然后在整个图上学习user 或 item 的embedding 表示。 [Wu et al., 2019]
这种方法充分利用了GNN的优势来捕获结构化关系数据集中的复杂关系。基于GNN的SRS通过揭示 recommended items 与 corresponding sequential context之间的复杂关系,显示了提供可解释性推荐的强大潜力。
Attention models
Attention models are commonly employed in SRSs to emphasize those really relevant and important interactions in a sequence while downplaying those ones irrelevant to the next interaction
一般与其他结构结合:shallow networks [Wang et al., 2018]、RNN[Ying et al., 2018]。
Memory networks
记忆网络被引入SRS,以通过合并 external memory matrix直接捕获任何 historical user-item interaction与下一个user-item interaction之间的依赖关系。
Memory matrix 使得有可能以更明确和动态的存储和更新 historical interactions,从而提高模型的表达能力并减少那些不相关交互的干扰 [Chen et al., 2018]
此外,一些作品结合了 key-value memory network来按存储和更新交互项的相应知识库信息,以学习属性级别的偏好以增强推荐[Huang et al., 2018]。
Mixture models
基于混合模型的SRS结合了各种不同的模型,这些模型擅长捕获各种依赖关系,从而增强了整个模型捕获各种依赖关系以提供更好建议的能力。
[Tang et al., 2019] 结合了分别适合于短期和长期依赖项的不同类型的编码器,以为后续建议学习更精确的序列表示,并且已证明是非常有效的
Context-aware sequential recommender systems 情景感知
Social-aware sequential recommender systems 社交感知
Interactive sequential recommender systems
Cross-domain sequential recommender systems 跨域推荐,例如购买汽车之后,可以推荐给用户车险,车和保险就是不同的域
参考
[1] Sequential Recommender Systems: Challenges, Progress and Prospects
[2] 更多最前沿的推荐广告方面的论文分享请移步如下的GitHub项目进行学习交流、star以及fork,后续仓库会持续更新最新论文。
https://github.com/imsheridan/DeepRec
本文转载自公众号:深度传送门,作者:Mr.Y
推荐阅读
我们建了一个免费的知识星球:AINLP芝麻街,欢迎来玩,期待一个高质量的NLP问答社区
AINLP-DBC GPU 云服务器租用平台建立,价格足够便宜
关于AINLP
AINLP 是一个有趣有AI的自然语言处理社区,专注于 AI、NLP、机器学习、深度学习、推荐算法等相关技术的分享,主题包括文本摘要、智能问答、聊天机器人、机器翻译、自动生成、知识图谱、预训练模型、推荐系统、计算广告、招聘信息、求职经验分享等,欢迎关注!加技术交流群请添加AINLP君微信(id:AINLP2),备注工作/研究方向+加群目的。