序列推荐模型_推荐系统的组成模块

序列推荐模型_推荐系统的组成模块序列推荐系统:挑战、进展和展望原文链接:https://www.researchgate.net/publication/338593711_Sequential_Recommender_Systems_Challe

序列推荐系统:挑战、进展和展望

原文链接:https://www.researchgate.net/publication/338593711_Sequential_Recommender_Systems_Challenges_Progress_and_Prospects

摘要:近年来,序列推荐系统(SRSs)这一新兴话题引起了越来越多的关注,与传统的包括协同过滤和基于内容的过滤的推荐系统不同,SRSs试图理解和建模顺序用户行为、用户和物品之间的交互,以及用户偏好和物品流行度随时间的演变。SRSs涉及上述方面,以更精确地描述用户环境、意图和目标,以及物品消费趋势,产生更准确、定制化和动态的推荐。本文对SRSs进行了系统的综述。我们首先介绍了SRSs的特点,然后对该研究领域的关键问题进行了总结和分类,接着是相应的研究进展,包括该课题最新的和有代表性的进展。最后,讨论了该方兴未艾的领域的重要研究方向。

关键词:序列推荐系统

1 简介

序列推荐系统(SRSs)通过对用户-商品交互(例如,在网上购物平台上查看或购买商品)的序列依赖关系进行建模,给用户推荐其可能感兴趣的商品。传统的推荐系统(RSs),包括基于内容和协同过滤的RSs,以静态的方式对用户-物品交互进行建模,并且只能捕获用户的一般偏好。相反,SRSs将用户-物品交互视为一个动态序列,并考虑到序列相关性,以捕获用户当前和最近的偏好,以获得更准确的推荐[Chen et al., 2018]。为了加深对SRSs的理解,接下来我们将介绍SRSs的产生动机和形式化定义。

动机:为什么采用序列推荐系统?

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

在这里插入图片描述

图1:SRSs的两个例子:(1)在Jimmy预订了机票、酒店和租车之后,他的下一步行动是什么?(2)蒂娜买了iPhone、iWatch和AirPods之后,她下一步会买什么?

*随着时间的推移,用户的偏好和物品的受欢迎程度都是动态的。*事实上,用户的偏好和品味可能会随着时间而改变。例如,很多曾经是iPhone粉丝的年轻人,现在都变成了华为或三星手机的粉丝,而iPhone的受欢迎程度近年来一直在下降。这种动态变化对于精确分析用户或物品以获得更准确的推荐具有重要意义,并且它们只能被SRSs捕获。

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

形式化定义:什么是序列推荐系统?

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

其中f是输出候选物品排名分数的效用函数,它可以是多种形式,如条件概率[Wang et al., 2018],或交互分数[Huang et al., 2018]。
在这里插入图片描述
是一个用户-物品交互的序列,
其中每个交互
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hm0b4I4k-1617611442178)(file:///C:/Users/37473/AppData/Local/Temp/msohtmlclip1/01/clip_image007.png)]
是一个三元组,由用户u、用户的动作a和相应的物品v组成。在某些情况下,用户和物品与一些变化的数据相关联(例如,人口统计数据或特性),而用户的动作可能有不同的类型(例如,点击,添加到购物车或购买),并且发生在不同的背景(例如,时间,位置,天气)下。输出R是一个按排名分数排序的物品列表。

一般的序列建模中,由于序列通常是由原子元素(如真实值、基因)组成,所以序列结构要简单得多,而SRSs中的学习任务更具挑战性,因为序列结构更复杂(如每个元素都是一个三元组)。这促使我们系统地分析了SRSs面临的挑战,并总结了相应的进展。

**贡献。**这项工作的主要贡献总结如下:

l 我们系统地分析了SRSs中不同数据特征所带来的一系列关键挑战,并从数据驱动的角度对它们进行了分类,这为深入理解SRSs的特征提供了一个新的视角。

l 本文从技术的角度对研究进展进行了系统的分类,总结了当前研究的进展。

l 我们对SRSs的发展前景进行了探讨和分享,以供社区参考。

2 数据特征和挑战

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

在这里插入图片描述

表 1:SRSs中由数据特征驱动的挑战总结

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

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

**学习高阶顺序依赖关系。**在用户-物品交互序列中,高阶序列相关性普遍存在,特别是在长序列中。相比之下,低阶顺序依赖关系相对简单,可以通过马尔科夫链模型[Garcin et al., 2013]或因子分解机[Rendle et al, 2010;Hidasi and Tikk, 2016],高阶顺序依赖关系更加复杂,更难捕获,因为它们复杂的多层次的级联依赖关系跨越多个用户-物品交互。到目前为止,主要有两种基本方法可以在一定程度上解决SRSs中的这一挑战:高阶马尔科夫链模型[He and McAuley, 2016]和循环神经网络(RNN) [Hidasi et al., 2016a],如表1所示。然而,每一种方法都有自身的限制,例如,包含在高阶马尔科夫模型中的历史状态是相当有限的,因为要被估计的模型参数的数量随着阶数的增长呈现指数型增长,而循环神经网络中的过强的次序假设限制了循环神经网络在序列中应用的灵活性。

**学习长期的顺序依赖性。**长期序列依赖关系指的是在一个序列中相互之间相距很远的交互间的依赖关系。例如,给定一个购物序列S1 = {玫瑰花,鸡蛋,面包,一瓶牛奶,一个花瓶},这包含了用户Janet成功购买的一篮子物品。显而易见,花瓶和玫瑰花是强依赖关系,即使他们之间的相距很远。这种情况在现实中并不少见,因为用户的行为通常是高度不确定的,他们可能会把任何物品放进购物车中。为了解决这种关键的问题,基于长短时记忆(LSTM)[Wu et al., 2017]和基于门循环单元(GRU)的循环神经网络[Hidasi et al., 2016a]已经被应用于序列推荐系统中了,这种情况下就能捕获序列中用户-物品的交互间的长期依赖关系。然而,对于用循环神经网络模型通过过度假设(任何邻近商品在序列中都是高依赖关系)生成错误依赖关系是比较容易发生的。在上面Janet购物的序列中,循环神经网络通常是通过假设牛奶和花瓶是有依赖关系的来构造S1的,这是由于他们之间的距离很近,但是实际上是不相关的。为了解决这个问题,还做了一些其他的努力,比如在一个统一的模型中,通过利用混合模型的优势,结合不同时间范围内的多个子模型去捕获短期和长期的依赖关系[Tang et al.,2019]。总的来说,能够解决这一挑战的工作相当有限,需要进行更多的研究来弥补这一差距。RNN和混合模型的技术进展将在3.3节中介绍。

2.2 使用灵活的序列处理用户-物品交互序列

在现实世界中,一些用户-物品交互序列是严格有序的,而其他的可能不是,也就是说,不是所有相邻的交互都是顺序相关的。例如,在购物序列S2= {牛奶,黄油,面粉}中,先买牛奶还是先买黄油并不重要,但同时购买两种商品会导致接下来购买面粉的可能性更高;也就是说,牛奶和黄油之间没有严格的顺序,但面粉的顺序取决于它们的结合。因此,对于具有灵活顺序的序列,最好捕获集体顺序依赖关系,而不是点向顺序依赖关系,因为前者是模糊的,并且在用户-物品交互上没有严格的顺序。因此,如何在灵活顺序假设下捕获集体顺序依赖关系,成为SRSs中使用灵活顺序处理序列的关键挑战。虽然这在SRSs中很常见也很重要,但已有的研究尚未对这一问题给予足够的重视。现有的建立在马尔可夫链上的SRSs,因式分解机或RNN只能处理点依赖,而不擅长建模和捕获集体依赖。只有少数工作像[Tang and Wang,2018;Yuan et al, 2019]试图解决这一挑战,他们利用传统神经网络(CNN)对“图像”中不同区域之间的局部和全局依赖关系进行建模,即,一个交互序列的嵌入矩阵。基于CNN的SRSs取得的技术进展将在3.3节中介绍。

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

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

相当多的研究试图通过使用注意力模型[Wang et al., 2018]或记忆网络[Chen et al., 2018]来解决这一典型问题,有选择地保留和利用那些与下一次交互预测真正相关的交互信息。这些解决办法所取得的技术进展将在第3.3节中介绍。

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

异构关系是指传递不同信息的不同类型的关系,在SRSs中应该以不同的方式建模。例如,在一个用户-物品交互序列中,除了普遍存在的基于用户-物品交互的顺序依赖关系之外,交互物品之间在其特征方面也存在基于相似性的关系。此外,尽管两者都是顺序依赖项,但长期顺序依赖项与短期顺序依赖项有很大的不同,它们不能以相同的方式建模。因此,SRSs中的另一个关键挑战是如何有效地分别捕获用户**-*物品交互序列中的这些潜在的异构关系,并在处理与异构关系相关的用户-物品交互序列时使它们协同工作*,以获得序列的推荐 。

在SRSs中解决这一挑战的文献工作甚少。混合模型[Kang et al, 2018;Tang et al, 2019;Wang et al, 2019]是迄今为止应对这种挑战的唯一解决方案。混合模型集成了不同子模型建模的不同类型的关系,以协作地生成序列推荐。具体技术进展情况见第3.3节。

2.5 处理具有层次结构的用户-物品交互序列

一般来说,与用户-物品交互序列相关的层次结构主要有两种:(1)元数据与用户-物品交互之间的层次结构。具体来说,用户的人口统计可以在一定程度上决定用户的偏好,进而影响用户与商品的交互。同样,物品的特征往往会影响用户是否喜欢和互动[Hidasi et al., 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的所有方法进行了分类,然后简要地强调了每个类别的最新进展。

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

在这里插入图片描述

图2:从技术角度对SRS方法进行分类

3.1 SRSs的传统序列模型

传统的序列模型,包括序列模式挖掘和马尔可夫链模型,利用它们在序列中用户-物品交互之间的序列相关性建模方面的自然优势,为SRSs提供了直观的解决方案。

序列模式挖掘。基于序列模式的RSs首先在序列数据上挖掘频繁模式,然后利用挖掘出的模式指导后续的推荐。序列模式挖掘虽然简单直接,但通常会产生大量的冗余模式,增加了不必要的时间和空间开销。另一个明显的缺点是,由于频率约束,它经常丢失那些不经常出现的模式和物品,这将推荐结果限制为那些流行的物品。因此,除了有代表性的一篇[Yap et al., 2012]外,本类文献较少。

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

3.2 SRSs的潜在表示模型

潜在表示模型首先学习每个用户或物品的潜在表示,然后利用学习到的表示预测后续的用户-物品交互。因此,更多的隐式和复杂的依赖关系被捕获在一个潜在的空间中,这对建议有很大的好处。接下来,我们将引入两个属于这种分类法的代表性模型。

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

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

3.3 SRSs的深度神经网络模型

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

基本深度神经网络

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

基于RNN****的SRSs。给定一个历史用户-物品交互序列,基于RNN的SRS试图通过对给定交互的顺序依赖关系建模来预测下一个可能的交互。除了基本的RNN, long- short-term-memory (LSTM)- [Wu et al., 2017]和基于门选循环单元(GRU)的RNN [Hidasi et al., 2016a]也被开发用于捕获序列中的长期依赖。近年来,基于RNN的SRSs发展迅速,主导了基于深度学习的SRSs甚至整个SRSs的研究。除了基本的RNN结构外,一些变体被提出用来捕获序列中更复杂的依赖关系,如分层RNN [Quadrana et al., 2017]。SRS然而,RNN不是完美的,两方面的缺点:(1)很容易产生假依赖由于过于强烈的假设任何相邻的交互必须依赖一个序列,这可能不是情况在现实世界中,因为通常是无关紧要的或在嘈杂的交互序列;并且(2)它可能只捕获点依赖而忽略集合依赖(例如,几个交互协作影响下一个)。

基于CNN****的SRSs。与RNN不同的是,给定一个用户-物品交互序列,CNN首先将这些交互的所有嵌入元素放入一个矩阵中,然后将这个矩阵作为时间和潜在空间中的“图像”。最后,CNN学习序列模式作为图像的局部特征,使用卷积滤波器进行后续推荐。由于CNN对序列中的相互作用没有很强的顺序假设,并且它们学习“图像”中区域之间的模式,而不是相互作用,因此,基于CNN的SRSs可以在一定程度上弥补上述基于RNN的SRSs的缺点。然而,由于CNN中使用的过滤器的大小有限,基于CNN的SRSs不能有效地捕捉长期依赖关系,这限制了它们的应用。典型作品包括[Tang and Wang, 2018;Yuan et al., 2019]。

基于GNN****的SRSs。最近,随着GNN的快速发展,基于GNN的SRSs已经被设计出来,利用GNN来建模和捕获用户-物品交互的复杂转换序列。通常一个有向图是首先建立这些序列数据库,把每个交互作为图中的节点,而每个序列被映射到一个路径。然后,在图上学习用户或物品的嵌入,在整个图上嵌入更复杂的关系[Wu et ., 2019]。该方法充分利用了GNN的优势来捕获结构化关系数据集中的复杂关系。基于GNN的SRSs通过揭示被推荐物品和相应的顺序上下文之间的复杂关系,显示了提供可解释推荐的巨大潜力。这类SRS仍处于早期阶段。

改进的模型

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

注意力模型。注意力模型通常被用于SRSs中,强调那些在序列中真正相关和重要的交互作用,而忽略那些与下一个交互无关的交互作用。它们被广泛合并到shallow networks [Wang et al., 2018]和RNN [Ying et al., 2018]以处理带有噪声的交互序列。

记忆力网络。在SRSs中引入了记忆网络,通过合并外部记忆矩阵来直接捕获任何历史用户-物品交互之间的依赖关系。该矩阵使历史交互能够更明确、更动态地有序存储和更新,提高模型的表达能力,减少无关交互的干扰[Chen et al., 2018]。此外,一些作品结合键值记忆网络,以序列的方式存储和更新交互项的相应知识库信息,以学习增强推荐的属性级别偏好[Huang et ., 2018]。一般来说,记忆网络在SRSs中已经显示出了其潜力,但还没有得到充分的研究。

混合模型。基于混合模型的SRS结合了不同的模型,这些模型擅长捕捉不同类型的依赖关系,从而增强了整个模型捕捉各种依赖关系的能力,从而得到更好的建议。一个典型的例子是[Tang et al., 2019],它结合了不同种类的编码器,分别适合于短期和长期依赖,为后续的建议学习更精确的序列表示,并已被证明是相当有效的。然而,这些模型还处于早期阶段。

4 开放的研究方向

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

上下文感知的序列推荐系统。用户或物品所在的当前上下文可能会极大地影响用户对物品的选择,在进行建议时应考虑到这一点。这在SRSs中更加必要,因为上下文可能会随着时间的推移而改变。然而,大多数现有的SRSs忽略了这一重要方面。因此,上下文感知SRSs将是未来研究的一个重要方向。

具有社会意识的序列推荐系统。用户生活在一个社会中,与线上和线下的各种各样的人联系在一起。他人的行为或观点往往会极大地影响用户的选择。因此,在SRSs中需要考虑社会影响,这在现有的作品中往往被忽略。

交互式序列推荐系统。现实世界中的大多数购物行为是连续的,而不是孤立的。换句话说,用户和购物平台(如亚马逊)之间实际上有连续的交互。然而,现有的SRSs常常忽略这种交互,只对单个时间步长的一个动作产生建议。如何整合用户与卖家的互动,从而生成多时间步长建议是一个很有前途的研究方向。

交叉域序列推荐系统。在现实世界中,用户在一定时间内购买的物品往往来自多个域,而不是一个域。本质上,来自不同领域的物品之间存在一些顺序依赖关系,例如在购买汽车之后再购买汽车保险。这种跨域顺序依赖在大多数SRSs中被忽略。因此,跨域SRS是另一个有前途的研究方向,它利用来自其他领域的信息和来自不同领域的更多样化的推荐来生成更准确的推荐。

5 结论

推荐系统(RS)是人工智能在我们日常生活中最直接和实用的应用之一。序列推荐系统(SRSs)在过去的三到五年里一直处于RS领域的核心地位,因为它们提供了更加智能和良好的推荐来满足我们的日常需求。我们希望通过本文的总结,为科学研究领域提供一些挑战和最新进展,以及未来的一些方向。

今天的文章序列推荐模型_推荐系统的组成模块分享到此就结束了,感谢您的阅读。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/83602.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注