F-GNN

摘要:

在基于实时会话的推荐(例如电子商务和媒体流)中,在简短的匿名交互会话中而不是长期历史中预测用户的偏好是一个具有挑战性的问题。基于会话的推荐器系统的最新研究主要通过利用注意机制来关注顺序模式,这对于按时间对会话的自然顺序进行分类很简单。但是,在项目选择的转换过程中,用户的偏好比仅连续的时间模式复杂得多。因此,在本文中,我们通过构建会话图来研究项目过渡模式,并提出了一种新模型,该模型协同考虑了基于会话的推荐系统的会话图中的顺序和潜在顺序。我们将会话中的下一项推荐公式化为图形分类问题。具体而言,我们提出了一个加权注意图层和一个“读出”功能,以学习下一个项目推荐的项目和会话的嵌入。在两个基准电子商务数据集Yoochoose和Diginetica上进行了广泛的实验,实验结果表明,我们的模型可以执行其他最新方法。

1简介

推荐系统(RS)是一种重要工具,可以在当今网络泛滥的情况下,将感兴趣的商品准确地广告给潜在用户。近年来,基于内容的RS [21]和协同过滤RS [7,27]是两种广泛使用的方法,因为它们可以有效地近似项目之间的相似性,同时又简单有效。但是,这些方法的明显缺点是忽略了用户最近的偏好。例如,在许多场景中,电子商务可能会因为最近的需求而使客户优先选择当前产品,而不是其他产品。因此,这种偏好的转变只会在用户和商品之间的最新互动中显示[35]。在这种情况下,基于内容的RS和协作过滤RS将无法捕获用户偏好的重要变化,从而导致无用甚至负面的建议。
相比之下,基于会话的RS可以通过考虑最近一次用户项交互(例如24小时内点击项目)来应对用户的偏好变化。但是,对于现代商业在线系统而言,它们通常不会记录用户的长期历史,这是很常见的。为了利用用户的偏好,可以将会话视为当前匿名用户最近偏好的代表[35]。因此,如何通过从会话中的交互中提取代表信息来表示用户的偏好是基于会话的RS的本质。
由于会话是互动除以时间的一部分,因此可以自然地表示为时间序列。最近的方法认为序列特性是最重要的信息。但是,它具有一些具有挑战性的局限性:
•用户的偏好并不完全取决于序列的时间顺序。例如,在序列数据上应用RNN [10]的普遍性后,GRU4REC [9]和NARM [16]主要对项目的时间顺序进行建模,并使用类似神经网络的RNN对这些项目进行编码。在对项目进行编码之后,会话的表示形式是项目功能的组合。这种处理会话的范例对于会话内部的原始项目顺序是很自然的。但是,如上所述,用户在会话中的偏好转移表明不应将项目简单地视为时间序列。项目转换模式更为复杂。
•最近的方法[16、19、38]将用户的偏好分为长期(全局)偏好和短期(局部)偏好,它们太简单了,无法捕获复杂的项目转换模式。这些方法选择会话的最后一项代表短期(本地)偏好,其余项代表长期(全局)偏好。此设置直接忽略项目选择的模式,这会给模型带来偏差。 NARM [16]在使用RNN编码后,对最后一项应用了自我注意。
        为了减轻时间顺序的影响,STAMP [19]仅利用了没有RNN的自注意力机制。 SR-GNN [38]建议使用单层门控图神经网络[18]来学习项目的表示,并再次使用对最后一个项目的自我关注来提取会话级特征。实际上,自我注意力会计算最后一个项目的相对重要性,而后者会忽略会话中特定的项目过渡模式。
        鉴于上述问题,重要的是确定会话中项目的固有顺序。这个固有的顺序既不是RNN的直接时间顺序,也不是自我注意的完全随机性。在本文中,提出了一个名为全图神经网络(FGNN)的模型,以学习项目过渡模式的固有顺序并计算会话级别表示以生成推荐。为了利用图神经网络,我们为每个会话建立一个会话图,并将推荐表述为图分类问题。为了捕获对于项目级特征表示至关重要的项目转换模式的固有顺序,提出了一种多重加权图关注层(WGAT)网络来计算会话中项目之间的信息流。获取项目表示形式后,将部署自动学习确定适当顺序的“读取”功能来汇总这些功能。在两个基准电子商务数据集(来自RecSys Challenge 2015的Yoochoose数据集和来自CIKM Cup 2016的Diginet ica数据集)上进行了广泛的实验。实验结果表明,我们的方法在下一项推荐任务中的优越性约会我们的主要贡献概述如下:
•据我们所知,我们是第一个研究基于会话的推荐中项目转换模式的固有顺序的公司。具体来说,我们提出了一种新颖的FGNN模型,用于基于固有顺序执行下一项基于会话的推荐。
•通过学习为不同的实体分配不同的权重,提出了一种新颖的WGAT模型作为商品功能编码器。它有助于有效地传达项目之间的信息。
•应用了读出功能来生成适当的图形级别表示,以用于项目推荐。读取功能可以了解图中项目过渡模式的最佳顺序。
•我们对两个基准电子商务数据集进行了广泛的实验,并获得了最新的结果。

2.相关工作

        在本节中,我们首先在2.1节中回顾有关一般推荐系统(RS)和在2.2节中基于会话的推荐人系统(SBRS)的一些相关工作。最后,我们将在第2.3节中描述用于节点表示学习和图分类问题的图神经网络(GNN)。
2.1一般推荐系统
        近年来,通用推荐系统中最流行的方法是协作过滤(CF),它代表了基于整个历史的用户兴趣。例如,著名的浅层方法矩阵分解(MF)[13]将每个用户和项目的潜在表示形式分解为整个用户-项目交互矩阵。随着深度学习的盛行,神经网络被广泛使用。神经协作过滤(NCF)[7]首先提出使用多层感知器来近似矩阵分解过程。随后的更多工作扩展了不同深度学习工具的结合,例如零镜头学习和领域适应[14,15]。这些方法都取决于用户的标识以及每个用户交互的整个记录。然而,对于许多现代商业在线系统,用户信息是匿名的,这导致这些基于CF的算法的失败。
2.2基于会话的推荐系统
        基于会话的推荐器系统(SBRS)的研究是RS的一个子领域。与RS相比,SBRS会考虑用户最近的用户项交互,而无需执行所有历史操作。 SBRS基于以下假设:可以将最近选择的项目视为用户的最近偏好。
        顺序推荐基于马尔可夫链模型[28,42],该模型学习序列数据项的相关性以预测下次点击。 Zimdars等人使用概率决策树模型。 [42]建议对项目过渡模式的状态进行编码。 Shani等。 [28]利用马尔可夫决策过程(MDP)来计算推荐的概率以及项目之间的转移概率。
        深度学习模型最近随着递归神经网络的兴起而流行[1,2,10,29,36],这自然是为处理顺序数据而设计的。 Hidasi等。 [9]提出了GRU4REC,它应用了多层GRU [2]将数据简单地视为时间序列。基于RNN模型,一些工作对体系结构选择和目标功能设计进行了改进[8,30]。除了RNN,Jannach和Ludewig [11]提出使用基于邻域的方法来捕获共现信号。 Tuan和Phuong [31]结合了项目的内容特征,利用3D卷积神经网络来学习更准确的表示。 Wu等。 [37]提出了一个列表式深度神经网络模型来训练一个排序模型。最近的一些工作使用注意力机制来避免时间顺序。
NARM [16]将GRU堆叠为编码器以提取信息,! “#” $%&'×项目然后是一个自我注意层,为每个隐藏状态分配权重,以总结为会话嵌入。为了进一步减轻时间序列带来的偏差,STAMP [19]用关注层完全取代了递归编码器。 SR-GNN [38]应用选通图网络[18]作为项目特征编码器,并使用自我关注层将项目特征聚合在一起作为会话特征。
SSRM [5]考虑特定用户的历史记录会话,并应用注意力机制将它们组合在一起。尽管注意力机制可以主动忽略交互时间顺序引起的偏见,但它会将会话视为完全随机的集合。
2.3图神经网络
        近年来,GNN在深度学习社会中引起了很多兴趣。最初,将GNN应用于有向图上的简单情况[4,26]。近年来,许多GNN方法[6、12、18、33、39]在类似于消息传递网络[3]的机制下工作,以计算节点之间通过边缘的信息流。此外,图级特征表示学习对于图级任务至关重要,例如图分类和图同构[17,39]。 Set2Set [34]为图中的每个节点分配一个描述符作为顺序特征,并使用此重新定义的顺序来处理所有节点。 SortPool [41]根据节点学习到的特征对其进行排序,并使用常规的神经网络层来处理已排序的节点。 DiffPool [40]为每一层设计了两组GNN,以学习用于新的密集连接图的较小尺寸的新的密集相邻矩阵。

3.前提条件

    在本节中,我们介绍GNN如何在图形数据上工作。
令G(V,E)表示一个图,其中v∈V是具有节点特征向量Xv的节点集,而e∈E是边缘集。有两种常见的任务,例如,节点分类和图分类。在这项工作中,我们专注于图分类,因为我们的目的是学习会话的最终嵌入,而不是单个项目。对于图分类,给定一组图{G1,..., 。 。 ,GN}⊆G和相应的标签{y1,。 。 。 ,我们旨在学习图hG的表示以预测图标签yG =д(hG)。
    GNN利用图的结构和节点的特征向量来学习节点或图的表示。
近年来,大多数GNN都是通过迭代地聚合来自相邻节点的信息来工作的。经过k次更新迭代后,节点的最终表示形式将捕获结构信息以及k跳邻居内的节点信息。过程可以形成为
其中h(k)v是第k层中节点v的特征向量。对于第一层的输入h0v,传递特征向量Xv。Agg和Map是可以以不同形式定义的两个函数。 Agg充当聚合器以聚合相邻节点的特征。 Agg的典型特征是置换不变性。映射是将自身信息和邻近信息转换为新特征向量的映射。
    对于图分类,Readout函数汇总图的最后一层中的所有节点特征,以生成图级别表示hG:
其中函数也必须是置换不变的。

4.方法

        在本节中,我们将详细描述我们的FGNN模型。最重要的是,在第4.1节中,我们定义了问题并给出了本文中使用的符号。计算的完整流程如图1所示。首先,将输入会话序列转换为会话图(第4.2节)。在获得会话图之后,使用L加权图注意层(WGAT)模型在节点之间执行图卷积(第4.3节)。一旦节点特征被学习,一个读出功能将所有这些特征结合起来形成一个图形级表示q ∗(第4.4节)。
基于图形表示,FGNN通过将其与整个项目集V进行比较来提出建议(第4.5节)。最后,我们在4.6节中描述了训练模型的方式。
4.1问题的定义和注释
    基于会话的推荐器系统的目的是根据会话中的交互作用来预测与用户的偏好匹配的下一项。在下文中,我们给出了SBRS问题的定义。
图2:如何计算两层GNN的节点表示的示例。原始会话序列与图1中的输入相同。(a)会话图通过自循环添加到每个节点。 xi是相应节点vi的输入特征。 (b)第二层特征x′′6的计算基于v6的所有第一和第二阶相邻节点。一阶邻居是v7和v6本身。 v6的二阶邻居是v7和v6的一阶邻居,即v7的v3,v7和v6,v6的v7和v6。
        在SBRS中,有一个项目集V = {v1,v2,v3,。 。 。 ,vm},其中所有项目都是唯一的,而m表示项目数。来自匿名用户的会话序列定义为顺序列表S = [vs,1,vs,2,vs,3,...。 。 。 ,vs,n],vs,∗∈V。n是会话S的长度,可能包含重复的项,vs,p = vs,q,p,q <n。
我们模型的目标是预测与用户的偏好最匹配的下一项。
        在计算过程中,对于每个项v∈V,我们的模型都会学习对应的嵌入向量x∈Rd,其中d是x的维数。对于每次训练,都有一个标签项目vl abel用作预测目标。为了根据给定的会话和整个项目集推荐项目,我们的模型输出V上的概率分布yˆ,其中yˆ中具有前K值的项目将是候选对象。
4.2会话图
        如图1所示,在第一阶段,会话序列被转换为会话图,以便通过GNN处理每个会话。由于会话序列的自然顺序,我们将其转换为加权有向图Gs =(Vs,Es),Gs∈G,其中G是所有会话图的集合。在会话图Gs中,节点集Vs代表所有节点,它们是S中的项vs,n。对于每个节点v,输入特征都是初始嵌入向量x。边集Es表示所有有向边,其中vs,n是S中vs,nn 1之后项目的点击次数,而ws,(nn 1)n是边缘的权重。边缘的权重定义为会话中边缘出现的频率。为了方便起见,以下我们使用会话图中的节点代表会话序列中的项。对于第4.3节中介绍的WGAT中使用的自我注意,如果节点不包含自我循环,则将其添加权重为1的自我循环。根据我们对日常生活和数据集的观察,它是用户在会话中几次单击两个连续项的常见习惯。转换后。在会话成图的过程中,S的最终嵌入基于对该会话图Gs的计算。
4.3加权图注意层
        在获得会话图之后,需要一个GNN来学习图中节点的嵌入,这是图1中的WGAT×L部分。近年来,GNN上的一些基线方法,例如,GCN [12]和GAT [33]被证明能够提取图形特征。但是,它们中的大多数仅非常适合未加权和无向图。对于加权和定向的会话图,不能直接应用这些基准方法,而不会丢失加权定向边所携带的信息。因此,需要一个合适的图卷积层来有效地在图中的节点之间传递信息。
        在本文中,我们提出了一种加权图注意力层(WGAT),当在相邻节点上进行注意力聚合时,它同时包含了边缘权重。我们在下面描述WGAT的正向传播。信息传播过程如图2所示。图2(b)显示了一个两层GNN如何计算节点v6的最终表示的示例。
        WGAT的输入是一组节点初始特征,即项目嵌入x = {x0,x1,x2,。 。 。 xnn 1},xi∈Rd,其中n是图中的节点数,d是嵌入xi的尺寸。应用WGAT之后,一组新的节点特征
将作为输出给出。具体来说,第一WGAT层的输入特征向量x0i是从嵌入层生成的,该嵌入层的输入是商品的单次编码,
其中Embed是嵌入层。
为了通过图结构内的更高阶项转换模式学习节点表示,每个节点i的自注意机制用于汇总来自其相邻节点N(i)的信息,该信息被定义为节点边缘指向节点i(如果存在自环边缘,则可能包含i本身)。
由于会话图的大小不是很大,因此我们可以考虑节点的整个邻域,而无需进行任何操作。在第一阶段,根据xi,xj和wij来计算自注意力系数eij,该值确定节点j对节点i的影响程度,
        其中Att是映射Att,,W是一个共享参数,可以在所有节点之间执行线性映射。
        实际上,节点i的注意力可以扩展到每个节点,这是一个特殊情况,与STAMP如何注意序列的最后一个节点相同。在这里,我们将注意范围限制在节点i的一阶邻域内,以利用会话图S的固有结构。
        为了直接比较不同节点的重要性,应用了softmax函数将系数转换为概率形式通过邻居及其本身
att的选择可以多种多样。在我们的实验中,我们使用参数为
的MLP层,然后使用具有负输入斜率α= 0.2的LeakyRelu非线性单元
其中||表示两个向量的串联。
对于WGAT层中Gs中的每个节点i,其邻居的所有注意力系数可以计算为(6)。为了利用这些注意力系数,将对应邻居的线性组合应用于更新节点的特征。
其中σ是一个非线性单位,在我们的实验中,我们使用ReLU [20]。
如先前的工作[32,33]所建议的那样,多头注意可以帮助稳定自我注意层的训练。
因此,我们将多头设置应用于WGAT。
其中K是磁头数,每个磁头都有一组不同的参数。 (8)中的k代表所有磁头的串联。结果,在计算了(8)之后,x′i∈R Kd′。
        具体来说,如果我们堆叠多个WGAT层,则最终节点特征也将成形为R Kd'。但是,我们期望的是Rd'。因此,我们计算了注意力结果的所有平均值。
一旦完成了多个WGAT层的前向传播,我们便获得了所有节点的最终特征向量,即项目级嵌入。这些嵌入将用作会话嵌入计算阶段的输入,我们将在下面详细介绍。
4.4 Readout Function
        读取功能旨在在对GNN层进行正向计算之后,基于节点特征给出整个图形的表示形式。正如我们在上面介绍的那样,Readout函数需要学习项目转换模式的顺序,以避免时间顺序的偏差和对最后一个输入项目的自我关注的准确性。为了方便起见,某些算法在所有节点特征上使用简单的置换不变运算,例如均值,最大值或总和。尽管很明显,上面提到的方法很简单,并且完全没有违反排列不变性的约束,但是它们不能提供足够的模型能力来学习会话图的代表性会话嵌入。相反,Set2Set [34]是图形级特征提取器,它学习查询向量,该查询向量指示从存储器读取无向图的顺序。
我们修改适合会话图设置的方法。计算过程如下:
其中i在会话图中索引节点i,,是一个查询向量,可以看作是从内存中读取的顺序,而GRU是门控循环单元,第一步需要无输入,在接下来的步骤中,将前者放出
。 f 计算每个节点xi的嵌入与查询向量qt之间的注意力系数。 ai,t是在ei,t上应用softmax函数之后的的概率形式,然后将其用于节点emddings 上的线性组合。 Readout函数的前向计算的最终输出的串联。
    基于会话图的所有节点嵌入,我们使用公式10-14获得图级嵌入,该层除了语义嵌入向量rt之外还包含查询向量qt。
查询向量qt控制从节点嵌入中读取的内容,如果我们递归应用Readout函数,它实际上提供了处理所有节点的命令。
4.5 建议
一旦获得图级嵌入,我们就可以使用它通过为整个项目集V上的每个项目计算得分矢量z with,并以矩阵形式将其初始嵌入,来提出建议,
其中是对嵌入的图执行线性映射ping的参数,T表示对矩阵的变换,而来自公式3。
        对于项目集V中的每个项目,我们都可以计算推荐分数并将其组合在一起,从而获得分数矢量zˆ。此外,我们在zˆ上应用softmax函数,将其转换为概率分布形式yˆ,
对于前K个建议,基于yˆ选择所有项目中最高的K概率很简单。
4.6 目标函数
        由于我们已经有了会话的推荐概率,因此我们可以使用标签项vl abel来使用监督学习方法来训练我们的模型。
        如上所述,我们将推荐公式化为图级分类问题。因此,我们在yˆ和的单次编码之间应用了多类交叉熵损失,v abel作为目标函数。对于一批培训课程,我们可以
其中l是我们在优化程序中使用的批量大小。
最后,我们使用时间反向传播(BPTT)算法来训练整个FGNN模型。

5. 实验

我们选择两个代表性的基准电子商务数据集Yoochoose和Diginetica来评估我们的模型。
•Yoochoose被用作RecSys Chal lenge 2015 1的挑战数据集。它是通过在6个月内记录来自电子商务网站的点击流而获得的。
•Diginetica用作CIKM 2016杯挑战赛数据集2。
它包含适用于基于会话的推荐的交易数据。
为了公平和便于比较,我们遵循[16,19,38]来过滤长度为1的会话和每个数据集中出现次数少于5次的项目。在预处理步骤之后,Yochoose数据集中剩余7,981,580个会话和37,483个项目,而Dig inetica数据集中还有204,771个会话和43097个项目。与[30,38]相似,我们将长度为n的会话划分为n个1个长度为2到n的部分会话,以扩展数据集。对于会话S中长度为i的部分会话,它定义为[vs,0,...。 。 。 ,vs,i 1],最后一项vs,i 1为vl abel。
[16、19、38]之后,对于Yoochoose数据集,训练序列的最新部分1/64和1/4分别用作两个拆分数据集。表1列出了所有数据集的统计细节。

5.2 baseline

为了证明我们提出的FGNN模型的优势,我们将FGNN与以下代表性方法进行了比较:
•POP总是推荐整个培训集中最受欢迎的项目,尽管很简单,但在某些情况下,它可以作为牢固的基准。
•S-POP始终推荐当前会话中最受欢迎的项目。
•Item-KNN [24]通过会话中两个项目向量的余弦距离来计算项目的相似性。还引入了正则化以避免未访问项目的罕见高度相似性。
•BPR-MF [22]提出了一个BPR目标函数,该函数计算成对的排名损失。继[16]之后,通过使用会话中项目的平均潜在向量,将矩阵要素加法修改为基于会话的推荐。
•FPMC [23]是用于下一个购物篮推荐的混合模型,并且可以实现最新的结果。对于基于匿名会议的推荐,在[16]之后,由于不可用,我们直接省略了用户功能。
•GRU4REC [9]堆叠多个GRU层,以将会话序列编码为最终状态。它还会应用排名损失来训练模型。
•NARM [16]扩展为使用关注层来组合RNN的编码状态,这使模型可以明确强调输入的更重要部分。
•STAMP [19]使用注意力层来替换先前工作中的所有RNN编码器,以完全依靠序列中最后一项的自我关注来使模型更加强大。
•SR-GNN [38]应用门控图卷积层[18]获得项嵌入,然后像STAMP一样自动关注最后一个项以计算序列级嵌入。

5.3 评估指标

推荐系统一次可以给出一些推荐项目,用户可以选择其中的前几个。为了保持与先前基准相同的设置,我们主要选择使用排名前20位的项目来评估推荐系统,尤其是两个指标,即R @ 20和MRR @ 20。为了进行更详细的比较,还考虑了前5名和前10名的结果。
•R @ K(根据前K个项目计算出的召回率)。 R @ K分数是计算推荐案例的比例的主要指标,该推荐案例推荐排名列表中前K位的正确项目,
,(18)其中N表示测试序列的数量在数据集中进行测试,然后对所需项目位于排名列表中前K个位置的数量进行计数(称为匹配)。 •MRR @ K(在前K个项目上计算的平均倒数排名)。
当所需项目不在顶部K位置时,倒数设置为0,计算如下:
MRR是匹配的标准化排名,分数越高,推荐的质量越好,因为它表示所需项目的排名较高。

5.4 实验设置

我们应用一个三层WGAT,每个层有八个磁头作为节点表示编码器,并应用了Readout函数的三个处理步骤。对于包括初始嵌入层的每一层,将项目的特征向量的大小设置为100。 FGNN的所有参数均使用高斯分布进行初始化,平均值为0,标准偏差为0.1,但Readout函数中的GRU单位除外,由于使用RNN的性能,使用正交初始化[25]对其进行了初始化。像单位。我们使用Adam优化器,其初始学习速率为1e 3,线性时间表衰减率为每3个周期0.1。
迷你批量优化的批量大小为100,我们将L2正则化设置为1e 5以避免过度拟合。

5.5与基准方法(RQ1)的比较

        为了证明FGNN的整体性能,我们通过评估R @ 20和MRR @ 20得分,将其与5.2节中提到的基线方法进行比较。表2列出了所有基线方法和我们提出的FGNN模型的总体结果。由于硬件内存不足,我们无法在Yoochoose1 / 4上将FPMC初始化为[16],这未在表2中进行报告。对于更详细的比较,在表3中,我们提供了最新状态的结果。 K = 5和10时数据集Yoochoose1 / 64的最新方法。
5.5.1 P20和MRR20的一般比较。 FGNN利用WGAT的多层轻松地在会话图中的项目之间传达语义和结构信息,并应用Readout函数确定相对重要性,以作为图中节点的顺序。根据表2中报告的结果,显然,对于R @ 20和MRR @ 20的两个指标,所提出的FGNN模型均优于所有三个数据集的所有基线方法。事实证明,我们的方法在基准数据集上达到了最先进的性能。我们还用先前方法使用的门控图网络(FGNN-Gated)和自注意(FGNN-ATT-OUT)代替了WGAT和Readout函数这两个关键组件。两种变体的性能均优于以前的模型,这分别证明了所建议的WGAT和Readout函数的功效。
与POP和S POP等传统算法相比,由于它们凭直觉就可以根据出现频率推荐商品,因此它们的性能远不如FGNN。
他们倾向于推荐固定项目,这导致无法捕获不同项目和会话的特征。考虑到BPR-MF和FPMC,它们在推荐项目时省略了会话设置,我们可以看到S-POP也可以击败这些方法,因为S-POP利用了
        会话上下文信息。尽管在不考虑顺序信息的情况下,Item-KNN仅计算项目之间的相似度,但它在传统方法中取得了最佳效果。
        在更糟糕的情况下,即数据集很大时,依赖于整个项目集的方法无疑无法很好地扩展。与最近的基于神经网络的方法相比,上述所有方法均取得了相对较差的结果,该方法完全模拟了用户在会话序列中的偏好。
与上述传统方法不同,所有使用神经网络的基线都具有很大的性能余量。
GRU4REC是第一个应用类RNN单元对会话序列进行编码的人。它设置了基于神经网络的方法的基线。
尽管RNN非常适合序列建模,但是基于会话的推荐问题不仅仅是序列建模任务,因为用户的偏好甚至在会话中也在变化。 RNN同样重要地对待每个输入项,这会在训练期间给模型带来偏差。对于后续方法,NARM和STAMP都在会话的最后一个输入项上加入了自注意力,它们都大大优于GRU4REC。他们都使用最后一个输入项作为短期用户兴趣的表示。证明了对不同的输入分配不同的注意力是用于会话编码的更准确的建模方法。研究NARM与RNN和注意力机制相结合的比较,
        STAMP是完整的注意力设置,在性能上存在明显的差距,STAMP优于NARM。这进一步表明,直接使用RNN编码会话序列不可避免地会给模型带来偏差,而注意力可以完全避免。
        SR-GNN使用会话图表示会话序列,然后使用门控图层对项目进行编码。在最后阶段,它再次使用与STAMP相同的自注意力来输出会话嵌入。与上述所有方法相比,它可获得最佳结果。图结构显示为比序列结构,RNN建模或集合结构(注意建模)更合适。
5.5.2 K = 5、10时的更高标准建议。对于表3中更详细的结果,FGNN还以top-5和top-10推荐中的较高标准获得了最佳结果。所提出的FGNN模型优于上述所有基线方法。
它具有更精确的节点级编码工具WGAT,以了解更多代表性的功能,并具有Readout函数,以了解图中节点的固有顺序,从而避免了项的整个随机顺序。根据结果,表明FGNN获得了更准确的会话嵌入以提出有效的建议,从而证明了所提出的FGNN的有效性。
5.6与其他GNN层(RQ2)的比较
为了有效地在会话图中传达项目之间的信息,我们建议使用WGAT,它更适合会话的情况。如上所述,有许多不同的GNN图层可用于生成节点嵌入,例如GCN [12],GAT [33]和门控图网络[18、38]。为了证明WGAT的有效性,我们在模型中分别用GCN,GAT和门控图网络替换了所有三个WGAT层。对于GCN和GAT,它们最初都适用于非加权和无向图,这与建议的会话图设置不同。
为了使它们在会话图上都能正常工作,我们可以通过将原始方向的边替换为无向边来直接将会话图转换为无向图,即反转边的源节点和目标节点。我们只需要忽略边的原始权重,并以相同的权重设置节点之间的所有连接1.对于另一个门控图网络,它可以以原始形式使用会话图设置,而无需对会话图进行任何修改。
在图3(a)和图3(b)中,使用R @ 20和MRR @ 20索引显示了不同GNN层的结果。 FGNN是这项工作中提出的模型,可以实现最佳性能。在基于会话的推荐中,WGAT比其他GNN层更强大。 GCN和GAT无法捕获边缘的方向和显式权重,从而导致性能比WGAT和门控图网络差,后者拥有捕获这些信息的能力。在WGAT和门控图网络之间,WGAT由于表现学习能力更强而表现更好。
为了研究WGAT,我们测试了层数和磁头数量如何影响Yooshoose1 / 64上R @ 20指数的性能。在图4中,我们报告了{1,2,3,4,5}范围内的不同层数和{1,2,4,8,16}范围内的磁头数的实验结果。它显示了以八个磁头堆叠三个WGAT层的性能最佳。对于较小的模型,显示的结果较低,原因是它们的容量太低,无法代表项目过渡模式的复杂性。根据较大模型结果的趋势,表明难以训练这些模型,过度拟合对最终性能有害。
5.7与其他图嵌入方法(RQ3)的比较
        获得节点嵌入之后,用于生成会话嵌入的不同方法代表输入项的不同重点。这项工作中提出的Readout函数通过查询向量来学习节点的固有顺序,这表明随着项的过渡,对用户偏好的影响相对不同。为了证明我们的读出功能的优越性,我们用其他会话嵌入生成器替换了读出功能:
•FGNN-ATT-OUT我们应用最后输入项的广泛使用的自我注意。它直接将最后输入的项目视为短期参考,将所有其他项目视为长期参考。
•FGNN-GRU为了比较通过“读取”功能学习到的固有顺序,我们使用GRU直接使用输入会话序列顺序。
•FGNN-SortPool SortPooling由Zhang等人介绍。等[41]通过对节点的特征进行排序来在图级上执行池化。这种排序也可以视为一种顺序。
        在图5(a)和图5(b)中,针对具有R @ 20和MRR @ 20索引的所有数据集,介绍了用于图形级嵌入生成的不同方法的结果。显然,建议的读出功能可以达到最佳效果。对于FGNN-GRU和FGNN-SortPool,它们都包含一个订单,但是太简单了,无法捕获项目过渡模式。 FGNN-GRU使用GRU编码具有输入顺序的会话序列。这样的设置类似于基于RNN的方法。结果,它的性能比基于注意力的方法FGNN-ATT-OUT差,后者将短期和长期偏好都考虑在内。对于FGNN-SortPool,它根据来自先前多层计算的WL颜色对节点进行排序。尽管它不仅仅依赖于会话序列的输入顺序,但根据功能的相对范围来设置用于节点的顺序。为了获得最佳性能,我们的“读出”功能会学习项目过渡模式的顺序,这与使用时间顺序或长期和短期偏好的手工拆分方式不同。结果证明,该模型具有更准确的顺序,可以提出更准确的建议。
        对于不同的会话嵌入生成器,深入研究它们在具有不同长度的会话中的性能也很重要,因为在一个数据集中,其长度变化很大。根据先前的工作[19,38],Yochooseose 1/64中的会话分为两个组,即Short和Long。短表示会话的长度小于或等于5,而长于5的会话被分类为长。长度5最接近总会话的平均长度。 Yoochoose1 / 64的70.1%是短期课程,而29.9%是长期课程。除了不同的会话嵌入生成器之外,我们还将以前基于GNN的基线方法SR-GNN进行比较。对于每种方法,我们在图6中报告根据R @ 20评估的结果。在短会话和长会话方面,与其他图形嵌入生成器和SR-GNN相比,FGNN实现了最佳性能。
        建议的读出功能显示出优于其他方法的优势。演示了由读出功能引入的顺序,以传达更准确的项目转换模式信息。
        为了比较基于RNN的方法和基于注意力的方法,结果表明,较长的会话比较短的会话的性能相对更好。这表明项目过渡模式对于长时间会话更依赖于序列的后一个输入项,这更适合于这些方法。

6结论

基于会话的推荐系统是一个具有挑战性的问题,因为用户历史记录不可用于预测用户的偏好。这项工作建议使用WGAT层来学习会话中项目的项目嵌入,然后由Readout函数对其进行处理以获得会话嵌入,以表示用户对此会话的偏好。实验证明,我们提出的方法可以在基准电子商务数据集上获得最新的结果。将来,利用会话间信息来更准确地表示用户的偏好非常重要且很有希望。
posted @ 2020-11-09 21:02  小天狼星没有星  阅读(1269)  评论(0)    收藏  举报