Sequential Recommender Systems
笔记整理
1.1动机:为什么需要序列推荐系统
用户-项目交互基本上是顺序相关的。在现实世界中,用户的购物行为通常是按顺序依次发生的,而不是孤立的。Jimmy的购物事件为例,在Jimmy开始度假之前,他先后预定了机票和酒店,租车,接下来的行动可能是自驾游一个旅游景点。在这种情况下,酒店可能离航班目的地机场很近,租车地点可能离酒店不远。在这个场景中,Jimmy的下一个操作都依赖于前一个操作,因此所有四个消费操作都是顺序依赖的。这种顺序依赖关系通常存在于事务数据中,但传统的基于内容的RSs或协同过滤RSs无法很好地捕捉到,这从本质上推动了SRSs的发展。
随着时间的推移,用户的偏好和项目的受欢迎程度都是动态的,而不是静态的。 事实上,用户的偏好和品味可能会随着时间而改变。
用户-项目交互通常发生在特定的连续上下文中。 不同的上下文通常会导致不同的用户与条目之间的交互,SRs将先前的顺序交互作为上下文来预测哪些项将在不久的将来交互。因此,通过避免重复推荐那些与已经选择的项目相同或相似的项目,更容易使推荐结果多样化。
SRS将一系列user-item交互作为输入,并通过建模在user-item交互序列中潜在的复杂顺序相关性来预测在不久的将来可能发生的后续user-item交互。即给定一个用户-项目交互序列,通过最大化效用函数值生成一个由排名最高的候选项目组成的推荐列表,如下所示:
R = a r g m a x f ( S ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ( 1 )
f 是输出候选项排名分数的效用函数,它可以是多种形式的,如条件概率或交互分数。S = {i1,i2,…,i|s|}是一个用户-项目交互序列,其中每个交互ij =< u,a,v >是一个三组成的用户,用户的动作,和相应的条目诉在某些情况下,用户和项目相关的一些元数据(例如,人口或功能),而行为可能有不同的类型(例如,单击,添加到购物车,购买)和发生在不同上下文(例如,时间、地点、天气)。输出R是根据排名分数排序的项目列表。
与一般的序列建模不同,在一般的序列建模中,序列结构要简单得多,因为序列通常是由原子元素(例如,实值、基因)组成的,而SRSs中的学习任务更具有挑战性,因为序列结构更复杂(例如,每个元素是一个三元组)。
2.1 处理长用户-项目交互序列
长用户-项目交互序列中两个最关键的挑战是 :学习高阶顺序依赖关系和学习长期顺序依赖关系
高阶顺序依赖关系:有两个方法解决: 高阶马尔科夫模型和循环神经网络。
长期序列依赖关系:长期序列依赖关系指的是在一个序列中相互之间相距很远的交互间的依赖关系。例如,给定一个购物序列S1 = {玫瑰花,鸡蛋,面包,一瓶牛奶},这包含了成功购买的一篮子商品。基于长短时记忆和基于门循环单元的循环神经网络已经被应用于序列推荐系统中,这种情况下就能捕获序列中用户-商品的交互间的长期以来关系。然而,对于用循环神经网络模型通过过度假设(任何邻近商品在序列中都是高依赖关系)生成错误依赖关系是比较容易发生的。因此改进的方法:在一个统一的模型中,通过利用混合模型的优势,结合不同时间范围内的多个子模型去捕获短期和长期的依赖关系,但是仍需深度探索才能彻底解决这一问题。
2.2 使用灵活的顺序处理用户-项目交互序列
具有灵活顺序的序列,最好捕获 集体顺序依赖关系。如何在灵活顺序假设下捕获集体顺序依赖关系,是SRSs中使用灵活顺序处理序列的关键挑战。
2.3 处理带有噪声的用户-项目交互序列
相当多的研究试图通过使用注意力模型或记忆网络来解决这一典型问题,有选择地保留和利用那些与下一次交互预测真正相关的交互信息。
2.4 处理具有异构关系的用户-项目交互序列
SRSs中的另一个关键挑战是 :如何有效地分别捕获用户-项目交互序列中的这些潜在的异构关系,并在处理与异构关系相关的用户-项目交互序列时使它们协同工作,以获得序列的推荐 。混合模型是迄今为止应对这种挑战的唯一解决方案。混合模型集成了不同子模型建模的不同类型的关系,以协作地生成序列推荐。
2.5 处理具有层次结构的用户-项目交互序列
与用户-项目交互序列相关的层次结构主要有两种:(1) 元数据与用户-项目交互之间的层次结构。(2)子序列与用户-项目交互之间的层次结构。SRSs中另一个关键的挑战是 如何将这两种层次结构中潜在的层次依赖关系合并到序列依赖关系学习中,以生成更准确的序列推荐。一些层次模型,包括层次嵌入模型、层次RNN 和层次注意网络已经被设计出来,将历史子序列合并到序列依赖学习中,以构建更强大的SRSs。
3.1 用于SRSs的传统序列模型
传统的序列模型,包括序列模式挖掘和马尔可夫链模型,利用它们在序列中用户-项目交互之间的序列相关性建模方面的自然优势,为SRSs提供了直观的解决方案。
3.2 用于SRSs的潜在表达模型
潜在表示模型首先学习每个用户或项的潜在表示,然后利用所学习的表示来预测后续的user-item交互。结果表明,在潜在空间中捕获了更多的隐式和复杂的依赖关系,这极大地有利于推荐。有两种属于这种分类的典型模型:因子分解机和嵌入
3.3 用于SRSs的深度神经网络模型
深度神经网络具有天然的能力,可以对不同实体(如用户、项目、交互)之间的综合关系进行序列建模和捕获,因此在过去几年中,深度神经网络几乎主导了SRSs。SRSs的最新进展也属于这一分类。通常,这种分类可以分为两个子类:基于基本深度神经网络的SRSs和基于包含一些高级模型的深度神经网络的SRSs。
基本深度神经网络:基于RNN的SRSs,基于CNN的SRSs,基于GNN的SRSs。
高级模型:注意力模型,记忆网络,混合模型。
4 开放的研究方向
近三年来,序列推荐系统发展迅速,深度学习,尤其是递归神经网络蓬勃发展。
因此有许多进一步开放的研究方向:上下文感知顺序推荐系统 社会感知顺序推荐系统 交互式顺序推荐系统 跨域顺序推荐系统
5 总结
推荐系统(RS)是人工智能在我们日常生活中最直接、最实用的应用之一。序列推荐系统(SRSs)在过去三到五年里一直是RS领域的核心,因为它们提供了更智能和更有利的推荐来满足我们的日常需求。我们希望这篇综述能够为RS研究界提供关于SRSs面临的挑战、最近的进展以及未来的一些方向的概述。