Sequential Recommender Systems: Challenges, Progress and Prospects翻译和笔记

摘要

  近年来,序列推荐系统(SRS)的新兴话题已引起越来越多的关注。与传统的推荐系统(RS)包括协作过滤和基于内容的过滤不同,SRS尝试理解并建模顺序用户行为,用户与项目之间的交互以及用户偏好和项目受欢迎程度随时间的演变。 SRS涉及以上方面,以更精确地表征用户上下文,意图和目标以及项目消费趋势,从而导致更准确,定制和动态的建议。在本文中,我们对SRS进行了系统的综述。我们首先介绍SRS的特征,然后对本研究领域中的关键挑战进行归纳和归类,然后是相应的研究进展,包括该主题的最新进展和代表性发展。最后,我们讨论了这个充满活力的领域的重要研究方向。

1 Introduction

  序列推荐系统(SRS)通过主要对序列中的用户-项目交互(例如,在在线购物平台上查看或购买项目)进行顺序依赖性建模来建议用户可能感兴趣的项目。传统的推荐系统(RS),包括基于内容的协作过滤RS,都以静态方式对用户项目互动进行建模,并且只能捕获用户的一般偏好。相比之下,SRS将用户-项目交互视为动态序列,并考虑了顺序依存关系,以捕获用户当前和最近的偏好以获得更准确的推荐[Chen等人,2018]。为了增强对SRS的理解,接下来我们介绍SRS的动机和形式化。
动机:为什么采用顺序推荐系统?
  用户项目交互本质上是顺序相关的。在现实世界中,用户的购物行为通常是顺序发生,而不是孤立地发生。以图1所示的吉米(Jimmy)购物事件为例,在吉米(Jimmy)开始休假之前,他预订了机票和旅馆,并先后租了车,他的下一个动作可能是通过自动驾驶游览一个旅游胜地。在这种情况下,酒店可能靠近航班的目的地机场,而接送租来的汽车的位置可能离酒店不远。在这种情况下,吉米接下来的每个动作都取决于先前的动作,因此所有四个消耗动作都是顺序相关的。同样,在蒂娜的案例中,我们可以看到顺序依赖性。这种类型的顺序依赖关系通常存在于交易数据中,但不能被常规的基于内容的RS或协作过滤RS很好地捕获[Kang等,2018],这从根本上促进了SRS的发展。
  随着时间的流逝,用户的偏好和商品的受欢迎程度都是动态的,而不是静态的。实际上,用户的喜好和品味可能会随着时间而改变。例如,许多曾经是iPhone粉丝的年轻人现在已经转变为华为或三星生产的手机的粉丝,并且iPhone的受欢迎程度近年来一直在下降。这样的动态变化对于准确地对用户或物品进行性能分析以提供更准确的建议非常重要,并且只能由SRS捕获。
  用户项目交互通常在一定顺序的上下文中发生。不同的上下文通常会导致不同的用户与项目进行交互,但是传统协同过滤之类的传统RS通常会忽略这些交互。相反,SRS将先前的顺序交互作为上下文来预测在不久的将来将交互的项目。因此,通过避免重复推荐那些与已经选择的项目 相同或相似的项目,使推荐结果多样化变得容易得多。
在这里插入图片描述
Formalization: What are Sequential Recommender Systems?

  通常,SRS将一系列用户项目交互作为输入,并尝试通过对嵌入在用户项目交互序列中的复杂顺序依存关系进行建模来预测不久的将来可能发生的后续用户项目交互。更具体地,给定一系列用户-项目交互,通过使效用函数值(例如,可能性)最大化来生成由排名最高的候选项目组成的推荐列表:
在这里插入图片描述

其中f是输出候选项目排名得分的效用函数,它可以采用多种形式,例如条件概率[Wang等,2018]或交互得分[Huang等,2018]。 S = {i1,i2,…,i | S |}是一系列用户-项目交互,其中每个交互ij =
是一个由用户u,用户的动作a和相应的项v,用户和商品与某些元数据(例如,人口统计信息或功能)相关联,而动作可能具有不同的类型(例如,点击,添加到购物车,购买)并在以下情况下发生各种环境(例如时间,位置,天气)。输出R是按排名分数排序的项目列表。
  与一般的序列建模不同,在一般的序列建模中,序列结构要简单得多,因为序列通常由原子元素(例如,实值、基因)组成,而SRSs中的学习任务则更具挑战性,因为序列结构更复杂(例如,每个元素是三重的)。这促使我们系统地分析SRSs中的挑战,并总结相应的进展。
贡献。这项工作的主要贡献概述如下:

  • 我们系统地分析了SRS中不同数据特点引起的许多关键挑战,并从数据驱动的角度对其进行了分类,这为深入理解SRS的特征提供了新的视角。
  • 我们通过从技术的角度对最新的作品进行系统的分类,总结了当前的研究进展。
  • 我们分享和讨论了一些SRSs的发展前景,以供业界参考。

2数据特点与挑战

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

2.1处理较长的用户-物品交互序列

  一个很长的用户-项目交互序列由相当多的用户-项目交互组成。因此,它有更大的机会在其内部的多个交互上具有更复杂和全面的依赖关系,这使得顺序建议更具挑战性。具体来说,在长用户-物品交互序列中,两个最关键的挑战是学习高阶序列相关性和学习长期序列相关性,这将分别在下面介绍。
学习高阶顺序依赖。高阶顺序依赖性通常存在于用户项交互序列中,尤其是在较长的序列中。与较低阶的顺序依存关系相比,后者相对简单,可以通过Markov链模型[Garcin等,2013]或因式分解机[Rendle等,2010; Hidasi和Tikk,2016年],高阶顺序依存关系要复杂得多,而且难以捕获,因为它们具有跨多个用户项交互的复杂的多级级联依存关系。到目前为止,据报道主要有两种基本方法可以在一定程度上解决SRS中的这一挑战:高阶马尔可夫链模型[He and McAuley,2016]和递归神经网络[RNN] [Hidasi等,2016a],如表1所示。但是,每种方法都有其自身的局限性,例如,高阶马尔可夫链模型可能涉及的历史状态非常有限,因为要估计的模型参数的数量随阶次呈指数增长,而RNN中采用的强顺序假设限制了RNN在具有灵活顺序的序列中的应用。两种方法所取得的技术进步将分别在第3.1节和第3.3节中详细介绍。
学习长期的顺序依赖性。长期顺序依赖性是指在序列中彼此远离的交互之间的依赖性。例如,给定购物顺序S1 = {玫瑰,鸡蛋,面包,一瓶牛奶,花瓶},其由一篮子商品组成,这些商品由用户珍妮特依次购买。显然,花瓶和玫瑰虽然彼此相距甚远,但却高度依赖。这种情况在现实世界中并不罕见,因为用户的行为通常高度不确定,因此可能会将任何物品放入购物车。为了解决这一关键问题,已在SRS中应用了基于长短期记忆(LSTM)[Wu等人,2017]和基于门控循环单元(GRU)[Hidasi等人,2016a] RNN的方法来捕获序列中用户与项目之间的术语依存关系。但是,通过过度假设序列中的任何相邻项都是高度相关的,RNN模型很容易生成错误的相关性。在上述珍妮特购物顺序的示例中,RNN通常通过假设牛奶和花瓶之间的距离很近而对S1进行建模,但实际上它们之间没有关系。通过利用混合模型的优势,将具有不同时间范围的多个子模型[Tangetal., 2019].组合在一起,以捕获统一模型中的短期和长期依赖性,还做出了其他一些努力来解决此问题。总体而言,能够解决这一挑战的工作非常有限,需要进行更多的研究以弥合这一差距。 RNN和混合模型中取得的技术进步将在第3.3节中介绍。

2.2以灵活的顺序处理用户项目交互序列

  在现实世界中,某些用户项交互序列是严格排序的,而其他一些可能不是严格排序的,即,并非所有相邻交互都依序依赖于序列。例如,在购物顺序S2 = {牛奶,黄油,面粉}中,先购买牛奶还是黄油都没有关系,但是同时购买这两个商品会导致随后购买面粉的可能性更高;即,牛奶和黄油之间没有严格的顺序,但是面粉顺序取决于它们的结合。因此,对于具有灵活顺序的序列,捕获集体顺序依存关系要好得多,而不是逐点捕捉,因为前者是模糊的,并且不对用户项交互采取严格的顺序。所以,如何在假设有弹性顺序的情况下捕获集体顺序依存关系成为处理SRS中具有弹性顺序的序列的关键挑战
  尽管这是一个普遍而重要的问题,但目前已有的研究还没有对这一问题给予足够的重视。现有的基于markov链、分解机或RNN的SRSs只能处理点依赖关系,但不擅长建模和捕获集体依赖关系。只有为数不多的作品像[Tang and Wang, 2018;Yuan等人,2019]试图通过利用卷积神经网络(CNN)的力量来建模“图像”中不同区域之间的局部和全局依赖关系,即交互序列的嵌入矩阵,来解决这一挑战。基于cnn的SRSs所取得的技术进展将在第3.3节中介绍。

2.3处理有噪声的用户-物品交互序列

  由于用户购物行为的不确定性,大部分的用户物品交互序列都是不清晰的,这意味着它们可能包含一些嘈杂的、不相关的交互,对下一次的交互预测产生干扰。在实践中,在一个用户-物品交互序列中,一些历史交互与下一次交互有很强的相关性,而另一些则可能是弱相关性甚至不相关的。例如,在另一个购物序列S3= {bacon, a rose, eggs, bread}中,“rose”项目可能是一个嘈杂的项目,因为它与其他项目很不一样,并且与它们没有关联。下一个项目可能是一瓶牛奶,这是一个高概率,它只按顺序依赖于熏肉,鸡蛋和面包,而与玫瑰无关。因此,SRSs的另一个关键挑战是仔细地学习序列依赖关系,并区分带有噪声的用户-项目交互序列。
  有不少研究试图通过使用注意力模型[Wang et al., 2018]或记忆网络[Chen et al., 2018]来选择性地保留和利用那些与下一次交互预测真正相关的交互信息,来解决这一典型问题。这些解决办法所取得的技术进展将在第3.3节中介绍。

2.4处理异构关系的用户-物品交互序列

  异构关系是指传递不同类型,不同信息的关系,在SRSs中应该进行不同的建模。例如,在一个用户-项目交互序列中,除了大量的基于用户-项目交互的顺序依赖事件外,交互项目之间在其特性方面也存在基于相似性的关系。此外,尽管两者都是序列依赖,但长期序列依赖与短期序列依赖有很大的不同,它们不能以同样的方式建模。因此,SRSs中的另一个关键挑战是,在处理与异构关系相关的用户-项交互序列时,如何有效地分别捕获嵌入在用户-项交互序列中的这些异构关系,并使它们协同工作以进行序列推荐。
  关于解决SRSs中这一挑战的文献报道相当有限。混合模型[Kang等人,2018;Tang等人,2019;Wang等人,2019]是迄今为止解决这一挑战的唯一解决方案。混合模型集成了由不同子模型建模的不同类型的关系,从而协同生成连续的建议。具体的技术进展将在3.3节中介绍。

2.5用层次结构处理用户-项交互序列

  一般来说,与用户-物品交互序列相关联的层次结构主要有两种:(1)元数据和用户-物品交互之间的层次结构。具体来说,用户的人物统计特征在一定程度上决定了用户的偏好,并会进一步影响他们与项目的互动。同样地,物品的特征往往会对它们是否会被用户喜欢和互动产生一定的影响[Hidasi等人,2016b];(2)子序列与用户-项目交互之间的层次结构。更具体地说,在某些SRSs中,一个用户-项交互序列包括多个子序列(也称为会话)。在这种情况下,除了当前子序列中的先前交互外,历史子序列还可能影响当前子序列中将要预测的下一次用户-物品交互[Ying et al., 2018]。因此,如何将嵌入在这两种层次结构中的层次依赖整合到顺序依赖学习中,从而产生更准确的顺序推荐,是SRSs的一个关键挑战。
  虽然已有不少作品试图从某些方面来应对这一挑战,但对其他方面的研究较少。一方面,考虑物品特征对用户物品交互的影响,针对SRSs提出了一系列特征丰富的神经模型,包括[Hidasi et al., 2016b]。相比之下,现有的SRSs很少考虑用户人口统计数据的影响,应该在这方面投入更多的努力。另一方面,已经设计了一些层次模型,包括层次嵌入模型[Wang et al., 2015]、层次RNN [Quadrana et al., 2017]和层次注意力网络[Ying et al., 2018],将历史子序列纳入序列依赖学习中,以构建更强大的SRSs。第3.2节和第3.3节将特别介绍为应付这一挑战所取得的技术进展。
在这里插入图片描述

3研究进展

  为了概述SRSs的技术进展,并给出解决上述挑战的更多技术细节,本节从技术角度对SRSs的研究进展进行总结和简要讨论。特别地,我们首先从技术角度对SRSs的所有方法进行分类,然后简要地强调每个类别的最新进展。
  图2展示了SRS方法的分类。我们观察到,从技术角度来看,SRSs的各种方法首先被分为11个原子类(例如,顺序模式挖掘、因子分解机和递归神经网络)。所有这些原子类被进一步分为三种分类,包括传统的序列模型、潜在表示模型和深度神经网络模型。一般来说,这三种分类法由简单到复杂,并依次进行报道。接下来我们总结了这三个分类的研究进展。
在这里插入图片描述
图2展示了SRS方法的分类。我们观察到,从技术角度来看,SRSs的各种方法首先被分为11个原子类(例如,顺序模式挖掘、因子分解机和递归神经网络)。所有这些原子类被进一步分为三种分类,包括传统的序列模型、潜在表示模型和深度神经网络模型。一般来说,这三种分类法由简单到复杂,并依次进行报道。接下来我们总结了这三个分类的研究进展。

3.1 Traditional Sequence Models for SRSs

 传统的序列模型,包括序列模式挖掘和马尔可夫链模型,利用它们在建立序列中用户-物品交互之间的序列依赖性方面的天然优势,是SRSs的直观解决方案。
序列模式挖掘。基于序列模式的RSs首先挖掘序列数据上的频繁模式,然后利用挖掘的模式来指导后续的建议。序列模式挖掘虽然简单直接,但通常会产生大量的冗余模式,增加了不必要的时间和空间开销。另一个明显的缺点是,由于频率的限制,经常会丢失那些不常见的模式和项目,将推荐结果限制在那些流行的项目。因此,除了一部具有代表性的作品外,本课程报道的作品较少[Yap et al., 2012]。
马尔可夫链模型。基于马尔可夫链的RSs采用马尔可夫链模型对用户-物品在序列上的交互转换进行建模,用于预测下一次交互。根据所使用的具体技术,将基于马尔可夫链的RSs方法分为基本马尔可夫链方法和基于潜在马尔可夫嵌入方法。前者基于显式观测直接计算跃迁概率[Garcin et al., 2013],而后者首先将马尔可夫链嵌入到欧几里得空间中,然后根据其欧几里得距离计算相互作用之间的跃迁概率[Feng et al., 2015]。基于马尔可夫链的RSs的缺点是显而易见的,即一方面由于马尔可夫性假设当前相互作用只依赖于一个或多个最近的相互作用,因此只能捕捉短期依赖关系而忽略长期依赖关系;另一方面,它们只能捕获点向依赖项,而忽略用户-项交互上的集体依赖项。因此,近年来,他们越来越少被雇佣到SRSs。

3.2 SRSs的潜在表示模型

 潜在表示模型首先学习每个用户或项目的潜在表示,然后通过利用所学习的表示来预测随后的用户项目交互。结果,在一个潜在的空间中捕获了更多隐含的和复杂的依赖关系,这对推荐非常有利。接下来,我们介绍两个属于这个分类法的代表性模型。
 **Factorization machines.**基于因式分解机器的子空间分解通常利用矩阵分解或张量分解,将观察到的用户-项目交互分解成用户和项目的潜在因素以供推荐[Rendle等人,2010;Hidasi和Tikk,2016]。与协同过滤不同,要分解的矩阵或张量是由交互而不是协同过滤中的评价组成的。这种模型容易受到观测数据稀疏性的影响,因此不能实现理想的推荐

 **Embedding.**基于嵌入的潜在推荐系统通过将序列中的所有用户-项目交互编码到一个潜在空间中,为每个用户和项目学习一个潜在的表示,用于后续的推荐。具体而言,一些作品将所学习的潜在表示作为网络的输入来进一步计算用户和项目之间的交互分数,或者连续用户的动作[王等人,2015;2018),而其他的工作直接利用它们来计算像欧几里得距离这样的度量作为交互分数[何等人,2018]。这种模式因其简单、有效和高效,近年来显示出巨大的潜力。

3.3 SRSs的深度神经网络模型

 深度神经网络具有建模和捕获不同实体(如用户、项目、交互)之间的综合关系的自然能力,因此在过去的几年里它们几乎占据了SRSs的主导地位。在SRSs中取得的最新进展也属于这个分类。一般来说,这种分类可以分为两类:基于基本深度神经网络的SRSs和基于一些高级模型的深度神经网络的SRSs。
基本深度神经网络
 基于循环神经网络在序列建模方面的优势,目前最常用的深度神经网络是循环神经网络(RNN),但也存在一些缺陷。近年来,卷积神经网络(CNN)和图神经网络(GNN)也被应用到SRSs中,弥补了RNN的不足。接下来,我们分别介绍了建立在这三种深度神经网络之上的SRSs。

RNN-based SRSs.给定一个历史用户-物品交互的序列,基于rnn的SRS试图通过对给定交互的序列依赖性建模来预测下一个可能的交互。除了基本的RNN, long- short-term-memory (LSTM) [Wu et al., 2017]和基于门控循环单元(GRU) [Hidasi et al., 2016a]的RNN也被开发用于捕获序列中的长期依赖关系。近年来,基于神经网络的SRSs蓬勃发展,并主导了基于深度学习的SRSs乃至整个SRSs的研究。除了RNN的基本结构之外,还提出了一些变体以序列的形式捕获更复杂的依赖关系,如hierarchical RNN [Quadrana et al., 2017]。然而,RNN不是完美的,两方面的缺点:(1)很容易产生假依赖由于过于强烈的假设任何相邻的交互必须依赖一个序列,这可能不是情况在现实世界中,因为通常是无关紧要的或在嘈杂的交互序列;并且(2)它可能只捕获点向依赖关系,而忽略相互依赖关系(例如,几个交互协作地影响下一个交互)。
 **CNN-based SRSs.**与RNN不同的是,给定一个用户-物品的交互序列,CNN首先将这些交互的嵌入放入一个矩阵中,然后将这个矩阵作为时间和潜在空间中的一个“图像”。最后,一个CNN使用卷积过滤器学习序列模式作为图像的局部特征,用于后续推荐。由于CNN对序列中的交互没有强阶假设,而不是在交互中学习“图像”区域之间的模式,因此基于CNN的SRSs可以在一定程度上弥补基于rnn的SRSs的上述不足。然而,基于CNN的SRSs不能有效地捕获长期依赖关系,这是由于CNN所使用的滤波器尺寸的限制,限制了其应用。典型作品有[Tang and Wang, 2018; Yuan et al., 2019].。
GNN-based SRSs.:最近,随着GNN的快速发展,基于GNN的SRSs被设计成利用GNN建模和捕捉用户-项交互序列上的复杂转换。通常,有向图首先构建在均衡数据库中,将每个交互作为图中的阳极,同时将每个序列映射到一个路径。然后,在图中学习用户或项目的嵌入,在整个图中嵌入更复杂的关系[Wu et al., 2019]。该方法充分利用了GNN的优势来捕获结构化关系数据集中的复杂关系。基于gnn的SRSs通过揭示推荐项目和相应的顺序上下文之间的复杂关系,显示出提供可解释的建议的巨大潜力。这种SRSs仍处于早期阶段。
Advanced Models
 为了解决基于基本神经网络结构的SRSs的局限性,一些高级模型通常与某种基本深度神经网络(如RNN、CNN)相结合,以构建更强大的SRSs,能够应对特定的挑战。接下来,我们将介绍SRSs中常用的三种先进模型。
Attention models.。注意模型通常被用于强调序列中真正相关和重要的交互作用,而忽略那些与下一次交互无关的交互作用。它们被广泛地纳入到shallow networks(浅层神经网络) [Wang et al., 2018]和RNN [Ying et al., 2018]中,以处理带有噪声的交互序列。
 **Memory networks.**记忆网络被引入到SRSs中,通过合并外部内存矩阵来捕获任何历史用户-项目交互与下一个交互之间的依赖关系。这样的矩阵可以更明确、更动态地存储和更新历史交互,提高模型的表现力,减少那些无关交互的干扰[Chen等,2018]。此外,还有一些工作采用键值记忆网络,按顺序存储和更新交互项的相应知识库信息,学习属性级别偏好,以增强推荐[Huang et al., 2018]。一般来说,存储器网络在SRSs中已显示出其潜力,但还没有得到充分的研究。
 **Mixture models.**基于混合模型的SRS将擅长捕获不同类型依赖关系的不同模型组合在一起,以增强整个模型捕获各种依赖关系以获得更好建议的能力。一个典型的例子是[Tang et al., 2019],它结合了分别适用于短期依赖和长期依赖的不同类型的编码器,为后续建议学习更精确的序列表示,并被证明是非常有效的。然而,这些模型还处于早期阶段。

4 .开放的研究方向

近年来,尤其是近三年来,顺序推荐系统发展迅速,深度学习尤其是循环神经网络蓬勃发展。在对该领域的研究实践进行分类和总结的同时,我们确定了以下讨论的进一步开放的研究方向。
**上下文感知的序列推荐系统。**某一用户或某一项目所处的当前环境可能会极大地影响用户对该项目的选择,在提出建议时应考虑到这一点。这在SRSs中甚至更为必要,因为上下文可能会随着时间而改变。然而,大多数现有的SRSs忽略了这一重要方面。因此,上下文感知的SRSs将是未来工作的一个重要方向。

**Social-aware sequential recommender systems.**用户生活在一个社会中,线上线下都与各种各样的人联系在一起。他人的行为或意见往往会极大地影响用户的选择。因此,SRSs需要考虑社会影响,而这在现有的工作中往往被忽略。

Interactive sequential recommender systems.(交互)现实世界中的大多数购物行为都是连续的,而不是孤立的。换句话说,用户与购物平台(如Amazon)之间实际上存在顺序交互。然而,现有的SRSs常常忽略这种交互作用,只在单个时间步骤中为一个操作生成建议。如何结合用户-卖家的互动从而产生多时间步长推荐是一个很有前途的研究方向。

Cross-domain sequential recommender systems.(跨域)在现实世界中,用户在某段时间内购买的物品通常来自多个领域,而不是一个领域。从本质上讲,来自不同领域的项目之间存在一些顺序依赖关系,比如在购买汽车之后购买汽车保险。这种跨域顺序依赖关系在大多数SRSs中被忽略。因此,跨域SRS是另一个有前景的研究方向,它可以利用其他领域的信息和来自不同领域的更多样化的推荐来产生更准确的推荐。

5 Conclusions

推荐系统(RS)是人工智能在我们日常生活中最直接、最实际的应用之一。在过去的三到五年中,序列推荐系统(SRSs)一直是RS领域的核心,因为它提供了更智能和更有利的推荐,满足了我们的日常需求。我们希望这篇总结能为RS研究界提供一个关于SRSs的挑战、近期进展以及未来发展方向的概述。

猜你喜欢

转载自blog.csdn.net/qq_39091546/article/details/109725327
今日推荐