论文笔记:IJCAI 2019 Sequential Recommender Systems: Challenges, Progress and Prospects

本文介绍了序列推荐系统(SRSs)的基本概念和发展历程,重点分析了SRSs面临的五大挑战及现有解决方案,包括处理长序列、灵活顺序、带噪序列等问题,并综述了近年来在传统序列模型、表示模型及深度神经网络模型方面的研究进展。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言

论文链接:https://arxiv.org/abs/2001.04830v1
本文介绍一种新的推荐概念 – 序列推荐系统 sequential recommender systems(SRSs)
刚开始了解该领域,大部分是对该篇综述论文的逐句翻译。算是一个入门

与传统的推荐系统 (RSs) 不同,包括协同过滤和基于内容的过滤,SRSs 试图理解和建模顺序用户行为,用户和项目之间的交互,以及用户偏好和项目流行度随时间的演变。SRSs 涉及上述方面,以便更精确地描述用户上下文、意图和目标以及商品消费趋势,从而产生更准确、定制化和动态的推荐。本文对 SRSs 进行了系统的综述。

首先介绍了 SRSs 的特点,然后对该研究领域的关键问题进行了总结和分类,接着介绍了该领域的最新和有代表性的研究进展。最后,讨论了该领域的重要研究方向。

1. Introduction

SRSs 认为将物品推荐给用户主要基于用户-物品的交互序列。传统的推荐方法:基于内容和协同过滤的推荐方法以一种静态的方式建模用户-物品的交互,这导致仅能捕获一般性的用户偏好。

SRSs将用户-项目交互视为动态序列,并考虑序列相关性,以捕获用户当前和最近的偏好,从而获得更准确的推荐。
在这里插入图片描述
例如,如果我们将整个用户行为看成是一个动态的序列,可以举一个例子来理解。当Jimmy已经与一架飞机,一栋房子,一辆车产生了交互接下来他可能对什么感兴趣?Tina已经与iPhone,iWatch,AirPods产生了交互接下来她可能对什么感兴趣?

如此可以发现序列推荐系统的产生动机:

  • 用户-项目交互本质上是顺序相关的。在现实世界中,用户的购物行为通常是连续发生的,而不是孤立的。以图1中描述的Jimmy的购物事件为例,在Jimmy开始度假之前,他先后预订了机票和酒店,租了一辆车,他的下一个行动可能是通过自动驾驶的方式参观一个旅游景点。在这种情况下,酒店可能靠近航班的目的地机场,接车地点可能离酒店不远。在这个场景中,每个Jimmy的下一个操作都依赖于之前的操作,因此所有四个消费操作都是顺序相关的。同样,我们可以在Tina的案例中看到顺序依赖性。这种顺序依赖通常存在于事务数据中,但传统的基于内容的RSs或协同过滤的RSs无法很好地捕捉到,这本质上推动了SRSs的发展。

  • 用户群体的偏好和品味是不断改变的。举例来说年轻人可能现在比较喜欢苹果的产品,但是到某一个时间节点后可能这样的兴趣点被华为或者三星所取代。这种动态对于精确分析用户或项目以获得更准确的推荐具有重要意义,它们只能被 SRSs 捕获

  • 用户-项目交互通常发生在一定的顺序上下文中。不同的上下文通常会导致不同的用户与条目的交互,然而,传统的RSs(如协同过滤)往往忽略了这一点。相反,SRS将之前的连续交互作为上下文来预测哪些项目将在不久的将来交互。因此,通过避免重复推荐那些与已经选择的相同或相似的项目,可以更容易地使推荐结果多样化。

形式化的SRSs

通常,SRS以一个用户-项目交互序列作为输入,并试图通过建模嵌入在用户-项目交互序列中的复杂的顺序依赖关系来预测在不久的将来可能发生的后续用户-项目交互。更具体地说,给定一个用户-物品交互序列,通过最大化效用函数值生成一个由排名靠前的候选物品组成的推荐列表
R = a r g m a x f ( S ) (1) R=argmax f(S) \tag{1} R=argmaxf(S)(1)
其中 f f f 是一个输出候选项目的排名分数的效用函数,它可以是各种形式的,比如条件概率或交互评分函数。 S = { i 1 , i 2 , ⋯   , i ∣ S ∣ } S=\{i_1,i_2,\cdots,i_{|S|}\} S={i1,i2,,iS} 是一个用户-物品的交互序列。其中每一个交互 i j = < u , a , v > i_j=<u,a,v> ij=<u,a,v>是一个三元组,由用户 u u u、用户行为 a a a 和相应的物品 v v v 组成。在某些情况下,用户和物品与一些元数据(例如,人口统计数据或特性)相关联。用户行为可能有不同的类型(例如,点击,添加到购物车,购买),并发生在不同的上下文(例如,时间,位置,天气)。输出 R R R 是一个按排名分数排序的项目列表。

一般的序列建模中,由于序列通常是由原子元素组成,所以序列结构要简单得多,而 SRSs 中的学习任务更具挑战性,因为序列结构更复杂(如每个元素都是一个三元组)。因此接下来要系统分析关于 SRSs 的三点:

  1. SRSs中不同数据特点所带来的一些挑战并从数据驱动的角度对他们进行分类
  2. 分析现有的对SRSs的研究工作
  3. 对SRSs的发展前景进行了探讨和分享

2. Data Characteristics and Challenges

由于消费者购物行为、商品特征以及现实世界特定购物情境的多样性和复杂性,生成的用户-商品交互数据往往具有不同的特征。不同的数据特征本质上给 SRSs 带来不同的挑战,需要不同的解决方案。在下面的五个小节中,我们将具体讨论由不同数据特征导致的 SRSs 中的五个关键挑战。在每个小节中,我们首先介绍特定的数据特征,然后说明相应的挑战。

在这里插入图片描述

2.1 Handling Long User-Item Interaction Sequences

一个很长的用户-项目交互序列由相对大量的用户-项目交互组成。因此,它更有可能对其内部的多个交互具有更复杂和全面的依赖关系,这使得顺序推荐更具挑战性**。具体来说,在长用户-物品交互序列中,两个最关键的挑战是学习高阶顺序依赖关系和学习长期顺序依赖关系**

  • 学习高阶顺序依赖关系,Higher-order 顺序依赖通常存在于 use-item 交互序列中,特别是在长序列中。相对于低阶顺序依赖而言,顺序依赖相对简单,易于通过马尔科夫链模型或因式分解机器建模,高阶顺序依赖关系更加复杂,更难捕获,因为它们复杂的多层次的级联依赖关系跨越了多个用户-项目交互。到目前为止,主要有两种基本方法可以在一定程度上解决SRSs中的这一挑战:高阶马尔可夫链模型和循环神经网络recurrent neural networks(RNN)。然而,每种方法都有自己的局限性,例如,高阶马尔可夫链模型参数随着建模关系阶数的增加呈指数增长,然而高阶的关系如果采用RNN,则会导致阶数无法灵活变化。这两种方法所取得的技术进展将分别在3.1和3.3节中详细介绍
  • 学习长期的顺序依赖性,长期顺序依赖关系是指在一个序列中彼此相距很远的交互之间的依赖关系。例如,给定一个购物序列S ={玫瑰、鸡蛋、面包、一瓶牛奶、一个花瓶},它包含用户先后购买的一系列物品。很明显,花瓶和玫瑰虽然相距遥远,但却有着高度的依赖性。这种情况在现实世界中并不少见,因为用户的行为通常是高度不确定的,因此他们可能会将任何商品放入购物车。为了解决这一关键问题,基于LSTM (Long - Short Term Memory, LSTM) 和基于门控循环单元(Gated Recurrent Unit, GRU) 的 RNN 被应用于 SRSs 中,以捕获用户-物品交互在一个序列中的长期依赖性。然而,RNN 模型很容易通过过度假设序列中任何相邻项都是高度依赖的,从而产生错误的依赖关系。在上面的购物序列的例子中,RNN 通常通过假设牛奶和花瓶是依赖的,因为它们之间的距离很近,但实际上它们不是。为了解决这一问题,人们还做了一些其他的努力,利用混合模型的优势,将多个时间范围不同的子模型组合起来,在统一的模型中同时捕捉短期和长期的依赖关系。总的来说,能够解决这一挑战的工作相当有限,需要更多的调查来弥补这一差距。RNN 和混合模型的技术进展将在3.3节中介绍。

2.2 Handling User-Item Interaction Sequences with a Flexible Order

在现实世界中,一些用户-项目交互序列是严格有序的,而另一些可能不是,也就是说,并非所有相邻的交互都是序列依赖的。例如,在购物序列S = {牛奶, 黄油, 面粉}中,先买牛奶还是先买黄油并不重要,但同时购买这两种商品就更有可能导致接下来购买面粉。也就是说,牛奶和黄油之间没有严格的顺序,但面粉顺序取决于它们的结合。因此,对于一个具有灵活顺序的序列,更好的做法是捕获集体的顺序依赖关系,而不是逐点依赖关系,因为前者是模糊的,并且在用户-项目交互上不假定严格的顺序。因此,如何在可变化顺序的假设下捕获集合的序列依赖关系,成为SRSs中处理具有可变化顺序序列的关键挑战。

这一问题虽然普遍且重要,但在 SRSs的报道研究中尚未引起足够的重视。现有的基于马尔可夫链、因式分解机或 RNN 的 SRSs 只能处理点依赖,但不擅长建模和捕获集体依赖。只有少数试图通过使用常规神经网络 (CNN) 的力量来模拟“图像”中不同区域之间的局部和全局依赖关系,即一系列交互作用的嵌入矩阵,来解决这一挑战。基于CNN的SRSs所取得的技术进步将在3.3节中介绍

2.3 Handling User-Item Interaction Sequences with Noise

由于用户购物行为的不确定性,大部分的用户-物品交互序列是存在噪音的,这意味着它们可能包含一些噪声和无关的交互,对下一次交互预测产生干扰。在实践中,在用户-项目交互序列中,一些历史交互与下一个交互具有很强的相关性,而另一些可能相关性较弱,甚至不相关。例如,在另一个购物序列S ={培根,玫瑰,鸡蛋,面包},项目“玫瑰”可能是一个嘈杂的项目,因为它与其他完全不同,并与他们没有相关性。下一件物品很可能是一瓶牛奶,它依次是培根、鸡蛋和面包,与玫瑰无关。因此,SRSs的另一个关键挑战是,在有噪声的用户-项目交互序列上,注意地和有区别地学习序列依赖性。

已有不少研究试图通过使用注意模型或记忆网络来选择性地保留和利用那些与下一个交互预测真正相关的交互信息来解决这一典型问题。在这些解决方案中取得的技术进步将在第3.3节中介绍。

2.4 Handling User-Item Interaction Sequences with Heterogeneous Relations

异质关系是指传递不同信息的不同类型的关系,在 SRSs 中需要进行不同的建模。例如,在一个用户-项目交互序列中,除了在用户-项目交互中普遍存在基于发生的序列依赖性外,交互项目之间在其特征方面也存在基于相似性的关系。此外,尽管两者都是连续的依赖关系,但长期的连续的依赖关系与短期的完全不同,它们不能以同样的方式建模。因此,SRSs 的另一个关键挑战是,在处理与异质关系相关的用户-物品交互序列时,如何有效地分别捕获这些嵌入在用户-物品交互序列中的异质关系,并使它们协同工作以实现序列推荐。

在SRSs中,解决这一挑战的文献报道相当有限。混合模型是迄今为止解决这一挑战的唯一办法。混合模型集成了由不同子模型建模的不同类型的关系,协同生成顺序推荐。具体的技术进展将在3.3节中介绍。

2.5 Handling User-Item Interaction Sequences with Hierarchical Structures

一般来说,与用户-项目交互序列相关的层次结构主要有两种:

(1)元数据与用户-项目交互之间的层次结构。具体来说,用户的统计数据可以在某种程度上决定用户的偏好,并进一步影响他们与项目的交互。同样,物品的特征也会影响到它们是否会被用户喜欢和互动;

(2)子序列与用户-项目交互之间的层次结构。更具体地说,在某些 SRSs 中,一个用户-项目交互序列包括多个子序列(也称为会话)。在这种情况下,除了当前子序列中先前的交互作用外,历史子序列还可能影响当前子序列中预测的下一个用户-项目交互作用。

因此,SRSs的另一个关键挑战是如何将这两种层次结构中嵌入的层次依赖结合到顺序依赖学习中,以生成更准确的顺序推荐。

虽然已经有不少作品试图从某些方面来应对这一挑战,但在其他方面的研究却较少。一方面,为了考虑项目特征对用户-项目交互的影响,针对 SRSs 提出了一系列特征丰富的神经模型。相比之下,现有的SRSs 很少考虑用户的人口统计因素的影响,需要在这方面做出更多的努力。另一方面,一些工作设计了层次模型,包括层次嵌入模型、层次RNN模型和层次注意网络模型,将历史子序列融入到顺序依赖学习中,构建更强大的SRSs。为解决这一挑战所取得的技术进展将在第3.2和3.3节中介绍。

3. Research Progress

从技术角度来看,SRSs 的各种方法首先被分为11个原子类(例如,顺序模式挖掘、分解机和递归神经网络)。所有这些原子类随后被进一步划分为三个分类,包括传统序列模型、表示模型和深度神经网络模型。一般来说,这三种分类法从简单到复杂,并且是依次报告的。接下来对这三个分类的研究进展进行了总结。

3.1 Traditional Sequence Models for SRSs

传统的序列模型,包括序列模式挖掘和马尔可夫链模型,利用它们在建模一个序列中用户-物品交互之间的序列依赖关系方面的天然优势,是对 SRSs 的直观解决方案。

序列模式挖掘。基于顺序模式的 RSs 首先在序列数据上挖掘频繁模式,然后利用挖掘的模式来指导后续的建议。顺序模式挖掘虽然简单直观,但往往会产生大量冗余模式,增加不必要的时间和空间成本。另一个明显的缺点是,由于频率限制,它经常丢失那些不常见的模式和项,这将推荐结果限制为那些经常出现的实体。

马尔可夫链模型。基于马尔可夫链的RSs采用马尔可夫链模型对用户-项目交互序列的转换进行建模,以预测下一次交互。根据所使用的具体技术,将基于马尔可夫链的 RSs 分为基本马尔可夫链方法和潜在马尔可夫嵌入方法。前者直接根据显式观测计算跃迁概率,后者先将马尔可夫链嵌入到欧几里得空间,然后根据相互作用之间的欧几里得距离计算跃迁概率。基于马尔可夫链的 RSs 的缺点是显而易见的,一方面,由于马尔可夫属性假设当前的交互只依赖于最近的一个或几个交互,因此只能捕获短期的依赖,而忽略了长期的依赖;另一方面,它们只能捕获点依赖关系,而忽略用户-项交互的集体依赖关系。

3.2 Latent Representation Models for SRSs

潜在表示模型首先学习每个用户或项目的潜在表示,然后利用学习到的表示预测后续的 user-item 交互。因此,更多的隐式和复杂的依赖关系被捕获在一个潜在的空间中,这对推荐有很大的帮助。

Factorization machines。基于因子分解机的 SRSs 通常利用矩阵因子分解或张量因子分解将观察到的用户-项目交互分解为用户和项目的潜在因素,以供推荐。与协同过滤 (collaborative filtering, CF) 不同,要分解的矩阵或张量是由交互组成的,而不是 CF 中的评分,这种模型容易受到观测数据稀疏性的影响,无法实现理想的推荐。

Embedding。基于嵌入的 SRSs 通过将所有用户-项目交互以序列的形式编码到一个潜在空间中,为后续推荐学习每个用户和项目的潜在表示形式。具体来说,有些方法将学习到的潜在表示作为网络的输入,进一步计算用户与物品之间的交互得分,或用户连续的动作,而其他方法直接利用它们计算一个度量,如欧几里得距离,作为交互作用分数。近年来,该模型因其简单、高效、有效的特点而显示出巨大的潜力。

3.3 Deep Neural Network Models for SRSs

深度神经网络在模拟和捕获不同实体(如用户、项目、交互)之间的综合关系方面具有天然的优势,因此在过去几年中它们几乎占据了SRSs的主导地位。SRSs的最新进展也属于这一分类。一般来说,这种分类法可以分为两大类:基于基本深度神经网络的SRSs和基于深度神经网络并加入一些先进模型的SRSs

Basic Deep Neural Networks
目前最常用的深度神经网络是循环神经网络(RNN),由于其在序列建模方面的天然优势,但也存在缺陷。近年来,卷积神经网络(convolutional neural network, CNN) 和图神经网络(graph neural network, GNN) 也被应用到 SRSs 中,以弥补RNN的不足。接下来,我们将分别介绍建立在这三个深度神经网络之上的 SRSs。

  • RNN-based SRSs
    给定一个历史用户-项目交互序列,基于 RNN 的 SRS 试图通过对给定交互的顺序依赖关系建模来预测下一个可能的交互。除了基本的RNN外,长期记忆(LSTM和基于门控循环单元(GRU)的RNN也被开发用来捕捉序列中的长期依赖性。近年来,基于 RNN 的 SRSs 发展迅速,主导了基于深度学习的SRSs甚至整个SRSs的研究。除了 RNN 的基本结构外,还提出了一些变体来捕捉序列中更复杂的依赖关系,如分层RNN。然而, RNN 不是完美的,两方面的缺点:
    (1)很容易产生假依赖由于过于强烈的假设任何相邻的交互必须依赖一个序列,这可能不是情况在现实世界中,因为通常是无关紧要的或在嘈杂的交互序列;
    (2)它很可能只捕获点依赖而忽略集体依赖(例如,几个交互协作影响下一个)。
  • CNN-based SRSs
    与RNN不同的是,给定一个用户-物品交互序列,CNN首先将这些交互的所有嵌入元素放入一个矩阵中,然后将这个矩阵作为时间和潜在空间中的“图像”。最后,CNN学习序列模式作为图像的局部特征,使用卷积滤波器进行后续推荐。由于CNN对序列中的相互作用没有很强的顺序假设,并且它们学习“图像”中区域之间的模式,而不是相互作用,因此,基于CNN的SRSs可以在一定程度上弥补上述基于rnn的SRSs的缺点。然而,由于CNN中使用的过滤器的大小有限,基于CNN的SRSs不能有效地捕捉长期依赖关系,这限制了它们的应用。
  • GNN-based SRSs
    近年来,随着 GNN 的快速发展,基于 GNN 的 SRSs 已经被设计出来,利用 GNN 对用户-项目交互的复杂转换进行建模和捕获。通常,有向图首先建立在序列数据之上,将每个交互作为图中的节点,同时将每个序列映射到一条路径。然后,学习图上用户或物品的嵌入,在整个图上嵌入更复杂的关系。该方法充分利用了 GNN 的优势来捕获结构化关系数据集中的复杂关系。基于 GNN 的 SRSs 通过揭示被推荐项目和相应的顺序上下文之间的复杂关系,显示了提供可解释推荐的巨大潜力。这类 SRS 仍处于早期阶段。

Advanced Models
为了解决基于基本神经网络结构构建的 SRSs 的局限性,通常将一些先进的模型与某种基本深度神经网络(如RNN、CNN)相结合,构建更强大的SRSs,以应对特定的挑战。

  • Attention models
    注意力模型通常被用于 SRSs 中,强调那些在序列中真正相关和重要的交互作用,而忽略那些与下一个交互无关的交互作用。它们被广泛应用于浅层网络和 RNN 中,用于处理带有噪声的交互序列。
  • Memory networks
    在 SRSs 中引入了记忆网络,通过合并外部记忆矩阵来直接捕获任何历史用户-项目交互之间的依赖关系。这样的矩阵可以更明确、更动态地将历史交互以序列的方式存储和更新,从而提高模型的表达能力,减少那些无关的交互的干扰。此外,还有一些方法结合键值记忆网络,以顺序存储和更新交互项的相应知识库信息,学习属性级别偏好,以增强推荐。一般来说,记忆网络在 SRSs 中已经显示出了其潜力,但还没有得到充分的研究。
  • Mixture models
    基于混合模型的 SRS 结合了不同的模型,这些模型擅长捕捉不同类型的依赖关系,从而增强了整个模型捕捉各种依赖关系的能力,从而得到更好的建议。一个典型的方法结合了不同种类的编码器,分别适合于短期和长期依赖,以便为后续的建议学习更精确的序列表示,并且已经证明非常有效。然而,这些模型还处于早期阶段。

4. Open Research Directions

近年来,特别是近三年来,随着深度学习特别是 RNN 的蓬勃发展,序列推荐系统得到了快速的发展。在对这一领域的研究实践进行分类和总结的同时,我们确定了进一步的开放研究方向,讨论如下。

  • Context-aware sequential recommender systems.
    用户或项目所在的当前上下文可能会极大地影响用户对项目的选择,在进行建议时应考虑到这一点。这在 SRSs 中更加必要,因为上下文可能会随着时间的推移而改变。然而,大多数现有的 SRSs 忽略了这一重要方面。因此,上下文感知 SRSs 将是未来研究的一个重要方向。
  • **Social-aware sequential recommender systems. **
    用户生活在一个社会中,与线上和线下的各种各样的人联系在一起。他人的行为或观点往往会极大地影响用户的选择。因此,在 SRSs 中需要考虑社会影响,这在现有的方法中往往被忽略。
  • Interactive sequential recommender systems.
    现实世界中的大多数购物行为是连续的,而不是孤立的。换句话说,用户和购物平台(如亚马逊)之间实际上有连续的交互。然而,现有的 SRSs 常常忽略这种交互,只对单个时间步长的一个动作产生建议。如何整合用户与卖家的互动,从而生成多时间步长推荐是一个很有前途的研究方向。
  • Cross-domain sequential recommender systems.
    在现实世界中,用户在一定时间内购买的物品往往来自多个域,而不是一个域。本质上,来自不同领域的项目之间存在一些顺序依赖关系,例如在购买汽车之后再购买汽车保险。这种跨域顺序依赖在大多数SRSs 中被忽略。因此,跨域 SRS 是另一个有前途的研究方向,它利用来自其他领域的信息和来自不同领域的更多样化的推荐来生成更准确的推荐。

5. Conclusions

推荐系统(RS) 是人工智能在我们日常生活中最直接和实用的应用之一。序列推荐系统 (SRSs) 在过去的三到五年里一直处于 RS 领域的核心地位,因为它们提供了更加智能和良好的推荐来满足我们的日常需求。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值