第一作者:ShuWu
基于会话的推荐问题是基于匿名会话预测用户行为。 先前的方法将会话建模为序列,并项目项目(items,不确定这个词翻译的是否准确) 表示之外估计用户表示来做成推荐。虽然取得了很好的效果,但还不足以在会话中获得准确的用户向量,忽略了的复杂转换。
为了获得准确的项目嵌入,并考虑到项目的复杂转换,作者提出了一种新的方法:
- 以图的神经网络方法为基础的基于会话的推荐,简称SR-GNN
- 该方法将会话序列建模为图形结构化数据
- 基于会话图,GNN可以捕获项目的复杂转换, 这是以往传统顺序方法难以揭示的
- 使用注意力网络将每个会话表示为该会话的全局偏好和当前兴趣的组合
- 在两个真实数据集上进行的大量实验表明, SR-GNN明显优于当前最先进的基于会话的推荐方法。
第一段———说明推荐系统的作用以及缺点:
- 作用: 帮助用户减轻信息检索时网络上内容太多的负担。比如:搜索、电子商务和媒体流站点
- 传统推荐系统方法依赖于大量历史数据, 而大多数情况下只有正在进行的会话期间的用户行为历史记录可用, 因此在一个会话中模拟有限的行为并生成相应的推荐是非常重要的
- 传统的推荐方法依赖于充分的用户-项目交互, 在这种情况下(单一会话)很难产生准确的结果
证明这项研究的意义(应用很广,但是还有可改进的地方)
第二段——由于该问题具有很高的实用价值,人们对这一问题的研究兴趣日益增加,并提出了许多基于会话的推荐系统的相关研究:
第三段:近年来,神经网络方法在推荐系统中的研究:
第四段:虽然上述方法取得了令人满意的效果,具有很强的state-of-the-arts,但仍有一定的局限性:
- 首先,如果在一个会话中没有足够的用户行为,这些方法很难估计用户表示(需要会话的长度比较长)
- 通常将这些RNN方法的隐藏向量作为用户表示,然后根据这些表示生成推荐,例如NARM的全局推荐系统。然而,会话大多是匿名的,而且数量众多,与会话单击相关的用户行为通常是有限的。因此,很难准确地估计每个会话中每个用户的表示。
- 第二,Li et al. 2017a和Liu et al. 2018的工作揭示了在基于会话的推荐系统中的项目转换的模式是重要的,并且可以作为本地因素使用(can be used as a local factor),但这些方法总是对连续项之间的单通道转换(single-way transitions)进行建模,而忽略了上下文之间的转换,即会话中的其他项。因此,这些方法常常忽略了远距离项目之间的复杂转换
第五段:为了解决第四段提出的局限,作者提出了一个方法————Session-based Recommendation
with Graph Neural Networks, SR-GNN,用来挖掘数据中的丰富交易信息以及生成准确的潜向量。 之后简单介绍图神经网络(GNNs)的发展:
而本文将次方法用于基于会话的推荐系统,步骤如下:
- 首先从历史会话序列构造有向图
- 基于会话的图——GNN能够捕获项目的转换,并精确的生成相应的条目的嵌入向量,这是传统的序列方法(如基于MC和基于RNN的方法)难以做到的
- 基于精确的项目嵌入向量,本文提出的SR-GNN方法构造了更可靠的会话表示,可以推断出下一个点击条目
Figure 1: 本文提出的SR-GNN方法的工作流程图:
- 将所有会话序列建模为会话图
- 然后对每个会话图逐一进行处理,通过门控图神经网络得到节点向量
- 在此之后,每一个会话都使用一个注意网络表示为该会话的全局偏好和当前兴趣的组合
- 最后,我们预测出现在每个会话的下一个单击项的每个项的概率
第六段:图1显示了SR-GNN的工作流:
- 首先,将所有会话序列建模为有向会话图, 其中可以将每个会话序列视为一个子图
- 然后,对每个会话图依次进行处理,通过门控图神经网络 得到每个图中所涉及的所有节点的潜在向量
- 然后,将每个会话表示为全局偏好和用户当前对该会话的兴趣的组合(composition of the global preference and the current interest of the user), 其中这些全局和本地会话嵌入向量都由节点的潜在向量组成
- 最后,对于每个会话,预测每个条目下一次单击的概率
然后说明本文贡献:
- 将会话序列模块化成为图的数据结构并且使用图神经网络捕获复杂的条目转换。 据作者所知,它为基于会话的推荐场景中的建模提供了一个新的视角
- 为了生成基于会话的推荐,不依赖于用户表示,而是使用会话嵌入, 而会话嵌入仅根据每个会话中涉及的项的潜在向量即可获得
- 在真实数据集上进行的大量实验表明,SR-GNN明显优于现有的方法
为了使结果完全可复制,所有相关源代码已在: https://github.com/CRIPAC-DIG/SR-GNN 上公开。
第七段:后文章节安排:
- 第二节、第三节给出了基于会话的图神经网络推荐方法
- 第四小节进行详细的实验和分析
- 最后,在第五小节对本文进行总结
在这一部分,我们回顾了基于会话的推荐系统的一些相关工作,包括传统方法、基于马尔可夫链的顺序方法和基于RNN的方法。然后,介绍了图神经网络:
传统的推荐方法:
基于深度学习的方法
- (Mikolov et al.2013)基于神经网络的语言模型的预测方法。
- (Mikolov et al. 2010)语言模型中的RNN最为成功。
- (Cho et al. 2014)机器翻译、(Serban et al. 2016)谈话机器……
- (Hidasi et al. 2016a)提出了递归神经网络方法,并将其推广到并行RNNs体系结构,(Hidasi et al. 2016b)基于单击和单击项的特性为会话建模
- (Tan, Xu, and Liu 2016)通过使用适当的数据增强技术和考虑用户行为的时间变化,提高了递归模型的性能
- (Tuan and Phuong 2017)将会话点击与内容特性(如项目描述和项目类别)结合起来,使用三维卷积神经网络生成推荐
基于图的神经网络方法:
- 目前,神经网络已被用于生成图形结构数据的表示。一种无监督算法DeepWalk(Perozzi, Al-Rfou, and Skiena 2014) 是为了学习基于随机游走的图节点表示
- 之后,无监督网络嵌入算法LINE,node2vec(Tang et al. 2015,Grover and Leskovec 2016])是最具代表性的方法
- 另一方面,经典的神经网络CNN和RNN也应用于图结构数据, (Duvenaud et al. 2015)介绍了一种直接作用于任意大小和形状的图形的卷积神经网络。
- (Kipf and Welling 2016)通过谱图卷积的局部逼近选择卷积结构,这是一种有效的变体,也可以直接对图进行运算。然而,这些方法只能在无向图上实现。
- 以递归神经网络的形式可以在有向图上实现(Gori, Monfardini, and Scarselli 2005), 作为GNN的一个修正,Li et al. 2015使用门控循环单元并使用时间反向传播(BPTT)来计算梯度。
- 之后,GNN广泛应用于不同的任务,如脚本事件预测Li, Ding, and Liu 2018,势态识别Li et al. 2017b,图像分类Marino, Salakhutdinov, and Gupta 2017
本小节介绍提出的SR-GNN方法:即将图神经网络应用与基于会话的推荐系统:
- 首先对问题进行了阐述
- 然后对如何从会话中构造图形进行了说明
- 最后对SR-GNN方法进行了详细的描述
基于会话的推荐旨在预测用户下一步单击的项目,仅基于用户当前的顺序会话数据,而不访问长期偏好配置文件(long-term preference profile)。下面给出这个问题的描述:
在以session为基础的推荐系统中:
- V={v1,v2,...,vm}代表所有会话中条目的唯一集合
- 一个匿名会话序列s可以定义为一个通过时间戳排列的s=[vs,1,vs,2,...,vs,n]的列表。其中vs,i∈V代表用户在会话s内点击的项目。推荐系统的目标是预测下一次点击。例如:得到会话s的下一个项目vs,n+1
- 在一个会话推荐系统模型下,对于会话s,我们输出概率y^代表所有可能项目的概率。其中向量y^的每个元素代表对应项目的推荐分值,最终分值最高的K个项目将作为推荐的候选者
- 每一个会话序列s可以被当做一个有向图Gs(Vs,εs)模型
- 在这个会话的图中,每一个节点代表项目vs,i∈V,每一个边(vs,i−1,vs,i)∈εs代表一个用户在会话s中在点击项目vs,i−1之后点击了项目vs,i
- 由于序列中可能重复出现若干项,所以作者给每条边分配一个归一化加权,其计算方法为边的出现次数除以该边的起始节点的出度
- 将每个条目v∈V嵌入到统一的嵌入空间中, 节点向量v∈Rd表示通过图神经网络学习的条目v的潜向量,其中d为维度
- 基于节点向量,每个会话s可以用嵌入向量s来表示,嵌入向量s由图中使用的节点向量组成
下面说明如何通过图神经网络获得节点的潜向量,首先介绍相关图神经网络的发展以及使用该方法的原因:
作者首先在一个会话图中演示节点向量的学习过程。形式上,对于图Gs的节点vs,i,更新函数如下:
- 其中zs,i和rs,i分别代表重置和更新门(reset and update gates)
- [v1t−1,...,vnt−1]是会话s中节点向量的列表
- σ(⋅)代表sigmoid函数
- ⊙是元素乘操作符。
- ∨∈Rd代表节点vs,i的潜向量
- 连接矩阵As∈Rn×2n决定了图中的节点如何相互连接
- As,i:∈Rn×2代表矩阵A对应于节点vs,i的两列
如图可以得到:
- As代表两个矩阵As(in)和As(out)的串联。分别表示会话图中传出边和传入边的加权连接(weighted connections of outgoing and incoming edges)。 例如,考虑到一个会话s=[v1,v2,v3,v2,v4],相应的图Gs和矩阵As如图2所示。
- 请注意,SR-GNN可以为各种构造的会话图支持不同的连接矩阵A。如果使用不同的构造会话图的策略,连接矩阵As也会随之改变。此外,当节点存在描述和分类信息等内容特征时,可以进一步推广该方法。 具体来说,我们可以将特征与节点向量连接起来处理这些信息。
- 对于每个会话图Gs,门控图神经网络同时处理节点。
- 式(1)在矩阵As的约束用于不同节点间的信息传播,提取相邻的潜向量,并输入到图神经网络中
- 然后,更新门和重置门(式(2)(3))分别决定保存和丢弃哪些信息
- 接着,按照式(4)所述,由前一个状态、当前状态和复位门构造候选状态,最后的状态是前一个隐藏状态和候选状态的组合,在更新门的控制下。通过对会话图中所有节点进行更新直至收敛,得到最终的节点向量
- 以前基于会话的推荐方法总是假定用户对每个会话都有一个不同的潜在表示形式。
- 相反,本文提出的SR-GNN方法不对这个向量做任何假设。 会话直接由会话中涉及的节点表示。
- 为了更好地预测用户的下一次点击,作者开发一种策略,将会话的长期偏好和当前兴趣组合起来, 并将这种组合嵌入 作为会话嵌入。
将所有会话图输入门控图神经网络后,得到所有节点的向量。然后,为了将每个会话表示为一个嵌入向量s∈Rd,作者首先考虑会话s的局部嵌入s1。对于会话[vs,1,vs,2,…,vs,n]来说,局部嵌入可以简单定义为最后点击的项vn的潜向量∨n,即s1=∨n。
- 然后,通过汇聚所有节点向量,思考了会话图Gs的全局嵌入sg
- 考虑到这些嵌入的信息可能具有不同的优先级,作者进一步采用软注意机制来更好地表示全局会话偏好:
αisg=qTσ(W1∨n+W2∨i+c),=i=1∑mαi∨i(6)
其中参数q∈Rd,W1,W2∈Rd×d控制项嵌入向量的权重。
最后,通过对局部嵌入向量和全局嵌入向量进行线性变换,计算混合嵌入sh:
sh=W3[sl;sg],(7)
其中矩阵w3∈Rd×2d将两个组合嵌入向量压缩到潜在空间Rd中。
在得到每个会话的嵌入后,我们通过将每个候选项vi∈V的嵌入向量∨i乘以会话表示sh来计算每个候选项vi∈V的得分zi^,可以定义为
zi^=shT∨i(8)
然后应用softmax函数得到模型y^的输出向量:
y^=softmax(z^),(9)
其中z^∈Rm为所有候选项的推荐得分,y^∈Rm为会话s中出现下一个点击的节点概率。对于每个会话图,损失函数定义为预测与真实值项(ground truth item)的交叉熵。可以这样写
L(y^)=−i=1∑myilog(yi^)+(1−yi)log(1−yi^)(10)
其中y表示真实值项(ground truth item)的一个独热编码向量。
最后,我们使用时间反向传播(BPTT)算法来训练提出的SR-GNN模型。注意,在基于会话的推荐场景中,大多数会话的长度相对较短。 因此,建议选择相对较少的训练步骤来防止过拟合。
为了训练模型,首先聚合邻居的信息,然后使用GRUs更新节点状态。因此,模型训练的整体时间复杂度是O(m2n)。其中m为序列的平均长度,n为会话数。注意因为m≪n,所以在实际中,该方法与会话数成线性关系。
在实际部署方面,推荐人可以分为线下和线上两部分。离线部分学习项目嵌入,不需要实时更新,而在线部分只负责预测,可以实时完成。
在本节中:
- 首先描述实验中使用的数据集、比较方法和评估指标
- 然后,将所提出的SR-GNN与其他比较方法进行了比较
- 最后,对不同实验条件下的SRGNN进行了详细的分析
我们在两个真实世界的代表性数据集,即Yoochoose1(https://2015.recsyschallenge.com/challenge.html)和Diginetica2(http://cikm2016.cs.iupui.edu/cikm-cup)上对所提出的方法进行了评估
- Yoochoose数据集来自RecSys Challenge 2015,其中包含6个月内电子商务网站的用户点击流
- Diginetica数据集来自CIKM Cup 2016,仅使用其事务数据
为了公平比较:
例如:
- 对于输入会话s=[vs,1,vs,2,...,vs,n],可以生成一系列序列和标签([vs,1],vs,2)([vs,1,vs,2],vs,3),...,([vs,1,vs,2,...,vs,n−1],vs,n),其中[vs,1,vs,2,...,vs,n−1]是生成序列,vs,n是下一个点击项目,等。
- 仿照Li et al. 2017a和Liu et al. 2018的方法,还使用了Yoochoose训练序列的1/64和1/4的最近分数(most recent fractions 1/64 and 1/4),数据集的统计结果见表1
Table 1: Statistics of datasets used in the experiments
Statistics |
Yoochoose 1/64 |
Yoochoose 1/4 |
Diginetica |
# of clicks |
557,248 |
8,326,407 |
982,961 |
# of training sessions |
369,859 |
5,917,745 |
719,470 |
# of test sessions |
55,898 |
55,898 |
60,858 |
# of items |
16,766 |
29,618 |
43,097 |
Average length |
6.16 |
5.71 |
5.12 |
为了评估该方法的性能,将其与以下具有代表性的基线进行了比较:
以下指标用于评估比较的方法:
- P@20 (精度)被广泛用于预测精度的测量。它表示在前20个项目中正确推荐的项目的比例。
- MRR@20(平均倒数排名)为正确推荐项目排名倒数的平均值。当排名超过20时,倒数排名设置为0。MRR度量考虑推荐排名的顺序,其中较大的MRR值表示正确的推荐在排名靠前比较多。
仿照Li et al. 2017a和Liu et al. 2018的方法:
- 将两个数据集的潜在向量设置为d = 100的维数
- 训练集中随机选取10%作为验证集,并进行超参数调整
- 所有参数均使用均值为0、标准差为0.1的高斯分布进行初始化
- 利用小型批处理Adam优化器对这些参数进行优化,其中初始学习率设置为0.001,每3次迭代后衰减0.1
- 批大小和L2值分别设置为100和10−5。
为了证明所提模型的整体性能,与其他基于会话的最先进的推荐方法进行了比较,P@20和MRR@20表示的总体性能如表2所示。
- SR-GNN将分离的会话序列聚合到图结构数据中。 在该模型中,综合考虑了全局会话偏好和局部兴趣。 实验表明,所提出的SR-GNN方法在三个数据集上的P@20和MRR@20结果均取得了较好的性能。验证了该方法的有效性。 ——(解释表格最后一行)
- 对于POP、S-POP等传统算法,其性能相对较差。这种简单的模型仅基于重复的协同项或连续项进行推荐,这在基于会话的推荐场景中是有问题的。 尽管如此,S-POP仍然优于POP、BPRMF和FPMC等方法,显示了会话上下文信息的重要性。——(解释表格前两行)
- 与基于马尔可夫链的FPMC相比,Item-KNN具有更好的性能。注意到Item-KNN只利用项目之间的相似性,而不考虑顺序信息。 这表明,传统的基于MC(马尔可夫链)的方法大多依赖连续项的独立性假设是不现实的。——(解释表格第三和第五行)
- 基于神经网络的方法,如NARM和STAMP,优于传统的方法,证明了在该领域采用深度学习的力量。——(解释倒数第二三行)
- 短期/长期内存模型,如GRU4REC和NARM,使用循环单元来捕获用户的一般兴趣,而STAMP通过使用最后单击的项来提高短期内存。这些方法显式地为用户的全局行为偏好建模,并考虑用户以前的操作和下一次单击之间的转换,从而获得优于这些传统方法的性能。 然而,它们的性能仍然低于本文所提出的方法。(解释倒数第三四行)
- 与NARM和STAMP等最先进的方法相比,SR-GNN进一步考虑了会话中项之间的转换, 从而将每个会话建模为一个图,它可以捕获用户单击之间更复杂和隐式的连接。 而在NARM和GRU4REC中,它们显式地为每个用户建模,并通过分离的会话序列获得用户表示,而忽略了项之间可能的交互关系。 因此,本文模型对会话行为的建模能力更强。(倒数后四行)
- 此外,SR-GNN采用软注意机制生成会话表示, 可以自动选择最重要的项转换,忽略当前会话中用户的噪声和无效操作。
- STAMP只使用最后一次点击项和先前操作之间的转换,这可能还不够。其他的RNN模型,如GRU4REC和NARM,在传播过程中也不能选择有影响的信息。它们使用前面的所有项来获得一个表示用户一般兴趣的向量。当用户的行为漫无目的,或者在当前会话中兴趣快速漂移时,传统模型无法有效地处这种有噪音的会话。
SR-GNN方法在构建图中项之间的连接关系时具有灵活性。由于会话中的用户行为是有限的, 因此本节中使用另外两种连接变体,以增强每个会话图中项之间有限的关系。
- 首先,将所有会话序列聚合在一起,并将它们建模为一个有向的整体项图,即全局图。 在全局图中,每个节点表示一个惟一的项,每条边表示从一个项到另一个项的定向转换
- 其次,将一个会话中所有项之间的高阶关系显式地建模为直接连接。综上所述,后续提出了以下两种连接方案来与SR-GNN进行比较:
- 使用归一化全局连接(即SR-GNN-NGC)将连接矩阵替换为基于SR-GNN从全局图中提取的边的权值
- 具有完整连接的SR-GNN(即SR-GNN-FC)使用布尔值表示所有高阶关系,并将其对应的连接矩阵追加到SR-GNN
-
从图中可以看出,这三种连接方案的性能都比目前最先进的STAMP和NARM方法更好, 或者几乎相同,这证实了将会话建模为图的有效性。
-
与SR-GNN相比,对于每个会话,SR-GNN-NGC除了考虑当前会话中的项外,还考虑了其他会话的影响,从而减小了与当前会话图中高度节点连接的边的影响。这种融合方法显著影响当前会话的完整性, 特别是当图中边的权重发生变化时,会导致性能下降。
-
对比SR-GNN 和SR-GNN-FC,前者只建模连续项之间的关系,而后者则进一步明确地将所有高阶关系视为直接连接。根据结果,SR-GNN-FC 的性能比SR-GNN差,但两种方法的实验结果相差不大。如此小的差异表明,在大多数推荐场景中,并不是每个高阶转换都可以直接转换为直接连接,而且仍然需要在高阶项之间转换中间阶段。
例如, 考虑到用户在浏览网站时已经浏览了以下页面:A→B→C,由于A和C之间没有直接的联系,直接在A之后推荐C页而没有中间的B页是不合适的。
我们将会话嵌入策略与以下三种方法进行了比较:
- (1)只局部嵌入(SR-GNN-L)
- (2)平均池(average pooling)全局嵌入(SR-GNN-AVG)
- (3)注意机制全局嵌入(SR-GNN-ATT)
图4给出了三种不同嵌入策略的方法的结果。
- 从图中可以看出,混合嵌入方法SR-GNN在这三个数据集中都取得了最好的效果,它验证了显式地将当前会话兴趣与长期兴趣项合并的重要性。
- 图中还显示了SR-GNN-ATT在三个数据集上的性能优于平均池嵌入方法SR-GNN-AVG。它表明会话可能包含一些不能独立处理的噪声行为
- 注意机制有助于从会话数据中提取重要行为来构建长期偏好。
- SR-GNN-L是SR-GNN的降级版本,其性能仍然优于 SR-GNN-AVG,并且几乎达到了与SR-GNN-ATT相同的性能,证明了当前的兴趣和长期偏好对于基于会话的推荐都是至关重要的。
进一步分析了不同模型处理不同长度会话的能力。为了进行比较,我们将Yoochoose 1/64和Diginetica的会话划分为两组,
- 其中Short表示会话长度小于或等于5
- 而每个会话的Long表示都超过5个
- 之所以选择阈值5,是因为它是所有数据集中最接近总会话平均长度的整数
- Yoochoose数据中属于短组和长组的会话百分比分别为0.701和0.299,Diginetica数据中为0.764和0.236。
- 对于每个方法,表3中根据P@20评估的结果
- 本文提出的SR-GNN及其变体可以在两个会话长度不同的数据集上稳定地执行。 证明了该方法的优越性和图神经网络在基于会话的推荐中的适应性
- 相反,在短组和长组中,STAMP的性能变化很大。STAMP(Liu et al. 2018)根据重复的动作解释了这种差异。它采用注意机制,因此,在获取用户表示时可以忽略重复的项
- 与STAMP类似,在Yoochoose上,NARM在短组上取得了很好的性能,但是随着会话长度的增加,性能会迅速下降,部分原因是RNN模型难以处理长序列
然后分析了不同会话表示形式下SR-GNN-L、SRGNN- ATT和SR-GNN的性能
- 与STAMP和NARM相比,这三种方法都取得了很好的效果。这可能是因为基于图神经网络的学习框架,本文的方法可以获得更精确的节点向量。 这种节点嵌入不仅可以捕获节点的潜在特征,而且可以对节点连接进行全局建模
- SRGNN的变体之间的性能是稳定的,而两种最先进的方法在短数据集和长数据集上的性能波动很大
- 此外,从表中可以看出,SR-GNN-L也可以取得很好的效果,虽然这种变体只使用局部会话嵌入向量。这可能是因为SR-GNN-L还隐式地考虑了会话图中一阶和高阶节点的属性。 图4也验证了这些结果,其中SR-GNN-L和SR-GNNATT都实现了接近最优的性能
- 在用户偏好和历史记录难以获取的情况下,基于会话的推荐是必不可少的
- 本文提出了一种新的基于会话的推荐体系结构,它将图形模型集成到表示会话序列中
- 该方法不仅考虑了会话序列项之间的复杂结构和过渡,而且将会话的长期偏好和当前兴趣结合起来,更好地预测用户下一步的行为
- 综合实验证明,该算法具有较好的鲁棒性。
[Shani, Brafman, and Heckerman 2002] Shani, G.; Brafman, R. I.; and Heckerman, D. 2002. An mdp-based recommender system. In Proceedings of the Eighteenth Conference on Uncertainty in Artificial Intelligence, UAI’02, 453–460. San Francisco, CA, USA: Morgan Kaufmann Publishers Inc.
[Rendle, Freudenthaler, and Schmidt-Thieme 2010] Rendle, S.; Freudenthaler, C.; and Schmidt-Thieme, L. 2010. Factorizing personalized markov chains for next-basket recommendation. In Proceedings of the 19th international conference on World wide web, 811–820. ACM.
[Tan, Xu, and Liu 2016] Tan, Y. K.; Xu, X.; and Liu, Y. 2016. Improved recurrent neural networks for session-based recommendations.In Proceedings of the 1st Workshop on Deep Learning for Recommender Systems, DLRS 2016, 17–22. New York, NY, USA: ACM.
[Tuan and Phuong 2017] Tuan, T. X., and Phuong, T. M. 2017. 3d convolutional networks for session-based recommendation with content features. In Proceedings of the Eleventh ACM Conference on Recommender Systems, RecSys ’17, 138–146. New York, NY, USA: ACM.
[Hidasi et al. 2016a] Hidasi, B.; Karatzoglou, A.; Baltrunas, L.; and Tikk, D. 2016a. Session-based recommendations with recurrent neural networks. In Proceedings of the 2016 International Conference on Learning Representations, ICLR ’16.
[Li et al. 2017a] Li, J.; Ren, P.; Chen, Z.; Ren, Z.; Lian, T.; and Ma, J. 2017a. Neural attentive session-based recommendation. In Proceedings of the 2017 ACM on Conference on Information and Knowledge Management, CIKM ’17, 1419–1428. New York, NY, USA: ACM.
[Liu et al. 2018] Liu, Q.; Zeng, Y.; Mokhosi, R.; and Zhang, H. 2018. Stamp: Short-term attention/memory priority model for session-based recommendation. In Proceedings of the 24th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining, KDD ’18, 1831–1839. New York, NY, USA: ACM.
[Scarselli et al. 2009] Scarselli, F.; Gori, M.; Tsoi, A. C.; Hagenbuchner,M.; and Monfardini, G. 2009. The graph neural network model. IEEE Transactions on Neural Networks 20(1):61–80.
[Li et al. 2015] Li, Y.; Tarlow, D.; Brockschmidt, M.; and Zemel,R. S. 2015. Gated graph sequence neural networks. In Proceedings of the 2015 International Conference on Learning Representations, volume abs/1511.05493 of ICLR ’15.
[Sarwar et al. 2001] Sarwar, B.; Karypis, G.; Konstan, J.; and Riedl,J. 2001. Item-based collaborative filtering recommendation algorithms.In Proceedings of the 10th International Conference on World Wide Web, WWW ’01.
[Rendle et al. 2009] Rendle, S.; Freudenthaler, C.; Gantner, Z.; and Schmidt-Thieme, L. 2009. Bpr: Bayesian personalized ranking from implicit feedback. In UAI, 452–461.
[Li, Ding, and Liu 2018] Li, Z.; Ding, X.; and Liu, T. 2018. Constructing narrative event evolutionary graph for script event prediction.
[Li et al. 2017b] Li, R.; Tapaswi, M.; Liao, R.; Jia, J.; Urtasun, R.;and Fidler, S. 2017b. Situation recognition with graph neural networks. In 2017 IEEE International Conference on Computer Vision (ICCV), 4183–4192.
[Marino, Salakhutdinov, and Gupta 2017] Marino, K.; Salakhutdinov, R.; and Gupta, A. 2017. The more you know: Using knowledge graphs for image classification. In 2017 IEEE Conference on Computer Vision and Pattern Recognition (CVPR), volume 00, 20–28.
7.1 摘自参考文献(Tan, Xu, and Liu 2016)的分割输入序列方法
P@K评分被广泛用于SRS(Session-based Recommender systems)领域的预测准确度的度量。P@K表示测试用例中在排名列表的前K位拥有正确推荐项目的比例。定义为:
P@K=Nnhit
其中N表示SRS系统G中测试数据的个数,nhit表示在前K个排名列表中拥有所需项目的案例的个数,当t出现在G的排名列表的前K个位置时,就发生了一个hit。
期望的项t的平均值倒数排名。如果排名大于20,则倒数的排名设置为零。
MRR@K=N1t∈G∑Rank(t)1(注:求和项代表第一个结果匹配,分数为1,第二个匹配分数为0.5,第n个匹配分数为1/n)
MRR是在[0,1]范围内的归一化得分,其值的增加反映出大部分hit都出现在推荐列表中排名靠前的位置,说明相应的推荐系统性能较好。