推荐系统论文阅读(十)-基于图神经网络的序列推荐算法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了推荐系统论文阅读(十)-基于图神经网络的序列推荐算法相关的知识,希望对你有一定的参考价值。

参考技术A 论文:

论文地址: https://arxiv.org/abs/1811.00855

论文题目:《Session-based Recommendation with Graph Neural Networks》SR-GNN

github: https://github.com/CRIPAC-DIG/SR-GNN

基于会话的推荐一般是将序列会话建模,将整个session进行编码,变成一个隐向量,然后利用这个隐向量进行下一个点击预测。但是这种方法没有考虑到item直接复杂的转换(transitions)关系,也就是item之间在点击的session中除了时间顺序外还有复杂的有向图内的节点指向关系,所以之前的方法不足以很好的对点击序列进行建模。

现有基于会话的推荐,方法主要集中于循环神经网络和马尔可夫链,论文提出了现有方法的两个缺点:

1)当一个session中用户的行为数量十分有限时,这些方法难以获取准确的用户行为表示。如当使用RNN模型时,用户行为的表示即最后一个单元的输出,论文认为只有这样并非十分准确。

2)根据先前的工作发现,物品之间的转移模式在会话推荐中是十分重要的特征,但RNN和马尔可夫过程只对相邻的两个物品的 单向转移关系 进行建模,而忽略了会话中其他的物品。

为了克服上述缺陷,本文提出了用图神经网络对方法对用户对session进行建模:

下面具体介绍怎么进行图序列推荐

V = v1,v2...vm为全部的item,S = 为一个session里面按时间顺序的点击物品,论文的目标是预测用户下一个要点击的物品vs,n+1,模型的任务是输出所有item的预测概率,并选择top-k进行推荐。

我们为每一个Session构建一个子图,并获得它对应的出度和入度矩阵。

假设一个点击序列是v1->v2->v4->v3,那么它得到的子图如下图中红色部分所示:

另一个例子,一个点击序列是v1->v2->v3->v2->v4,那么它得到的子图如下:

同时,我们会为每一个子图构建一个出度和入度矩阵,并对出度和入度矩阵的每一行进行归一化,如我们序列v1->v2->v3->v2->v4对应的矩阵如下:

这个矩阵里面的值是怎么计算的呢?下面讲一下:

看左边的出度矩阵,第一行为 0 1 0 0 ,代表着v1->v2,因为v1,只有一个指向的item,所以为1;看第二行,0 0 1/2 1/2,因为v2有指向v3和v4的边,所以进行归一化后每一个值都变成了1/2。入度矩阵的计算方法也是一样的,就不再说了。

本文采用的是GRU单元进行序列建模,将图信息嵌入到神经网络中,让GRU充分学习到item之间的关系,传统的GRU只能学到相邻的两个物品之间的关系,加入图信息后就能学到整个session子图的信息。

计算公式如下:

为了刚好的理解这个计算过程,我们还是使用之前那个例子:v1->v2->v3->v2->v4来一步步分析输入到输出的过程。

(1) 是t时刻,会话s中第i个点击对应的输入, 是n✖️2n的矩阵,也就是会话子图的完整矩阵,而 是其中一行,即物品vi所对应的那行,大小为1✖️2n,n代表序列中不同物品的数量。

如果按照例子来看,如果i取2,那么 为 [0 0 1/2 1/2 1/2 0 1/2 0]

进一步的,可以把 :拆解为[ , ]

(2) 可以理解为序列中第i个物品,在训练过程中对应的嵌入向量,这个向量随着模型的训练不断变化,可以理解为隐藏层的状态,是一个d维向量。

   (3)  H是d*2d的权重向量,也可以看作是一个分块的矩阵,可以理解为H=[Hin|Hout],每一块都是d*d的向量。

那么我们来看看计算过程:

1)[ ..., ] ,结果是d * n的矩阵,转置之后是n*d的矩阵,计作

2) : H相当于[   ],即拆开之后相乘再拼接,因此结果是一个1 * 2d的向量。

上面就是完整的第i个点击的输入的计算过程,可以看到,在进入GRU计算之前,通过跟As,i矩阵相乘,把图信息嵌入到了神经网络中取,加深了神经网络学习到的item之间的交互信息。

此外,就是GRU的计算过程了,跟原始的GRU不一样的地方在于输入从xt变成了嵌入了图信息的as,i。

通样也有更新门和重置门,计算方法跟原始GRU一模一样。

这里的 其实就是相当于原始gru中的 ,只不过在SR-GNN里面,进行一轮运算的时候i是没有变化,相当于每个物品单独进去GRU进行计算,得到自己的向量,也就是说在GRU的计算过程中, 是不断变化的,看一下源码更易于理解:

hidden就是公式里面的 ,在gru的每一个step计算中都会进行更新,这里我有个疑问,如果所有item的hidden都更新的话,那么应该是整个序列中所有的item并行进入GRU中进行计算,每一个step都得到自己的vector,当每个item的vector更新后,下一个step就重新根据新的 计算 ,接着计算下一个step。

计算过程大概就是下面这样:

这里有四个GRU并行计算,没次更新自己的hidden状态,输入则考虑所有的hidden和图信息。

从上面的图看来,每一个item都要进行T个step得到自己的item-vec,所以经过T个step后,我们就得到了序列中所有item的向量,即:

图中用蓝色框框画出来的向量,有了这些向量后,我们怎么得到预测结果呢?这就引入了下一个问题。

观察上面的模型结构,我们看到attention,没错,我们认为一个session中的这些item-vec并不都对预测结果产生影响,有些item对结果影响很大,有些影响很小,所以我们进行了加权求和。同时,论文认为session对最后一个item-vec,s1=vn是重要的,所以单独拿出来:

公式(6)就是简单的attention操作,其实从公式上来看就是计算每个vi跟最后一个向量vn的权值,然后进行加权求和。

在最后的输出层,使用sh和每个物品的embedding进行内积计算,这里vi应该是item的embedding层出来的向量,而不是后面一直更新的hidden:

最后通过一个softmax得到最终每个物品的点击概率:

损失函数为交叉熵损失函数:

从数据上来看,SR-GNN超过了经典的GRU4REC,这也说明了图信息的嵌入能带来更好的推荐效果。

本论文很巧妙的将图信息嵌入的神经网络中,更高地让GRU学习到每个item之间的关系,不再局限于相邻的物品之间进行学习。近年来,图神经网络的思想和方法屡屡被用在推荐系统中,学好图神经网络应该是推荐系统的下一个热潮。

论文泛读139GraphConfRec:基于图神经网络的会议推荐系统

贴一下汇总贴:论文阅读记录

论文链接:《GraphConfRec: A Graph Neural Network-Based Conference Recommender System》

一、摘要

在当今的学术出版模式中,尤其是在计算机科学领域,会议通常构成了发布各自领域最新同行评议进展的主要平台。然而,选择一个合适的学术场所来发表自己的研究成果可能是一项具有挑战性的任务,因为有大量可用的会议,特别是对于那些处于学术生涯初期的人,或者对于那些寻求在其通常领域之外发表的人来说。在本文中,我们提出了 GraphConfRec,一种结合 SciGraph 和图神经网络的会议推荐系统,不仅可以根据标题和摘要,还可以根据合着和引用关系来推断建议。GraphConfRec 实现了高达 0.580 的召回@10 和高达 0 的 MAP。336 使用基于图注意力网络的推荐模型。一项包含 25 个主题的用户研究支持了积极的结果。

二、结论

在这篇文章中,我们介绍了一个会议推荐系统GraphConfRec,它基于一篇论文的文本内容,以及它的合著和引用网络。该系统旨在为研究人员寻找会议发表。这些建议是使用科学图表计算的,提交截止日期是从维基计划中添加的,会议排名是从谷歌学术指标中添加的。我们发现,在异构图上训练的基于图注意力网络的推荐器获得了最好的性能,召回率@10为0.580,映射率@10为0.336。用户研究表明,GraphConfRec可以推断出有意义的建议,其基于GNNbased的预测达到了5分中的3.7分。然而,用户认为基于异构图注意力网络模型的推荐比基于GAT的推荐更多样,并且通常在主题上更适合他们的论文。

虽然摘要、标题、引文和合作作者身份为推荐提供了有用的信号,但其他实体,如关键字或从属关系,也可以被合并以增加数据。当前方法的弱点之一是只考虑在SciGraph中找到的参考会议记录。包括来自SciGraph和其他出版商的被引用书籍和期刊的信息,可以在一定程度上提高模型的性能。此外,一个独立于发布者的数据集可以进一步提高GraphConfRec的性能,并扩大其对寻求在其他机构的会议记录中发布的更多研究人员的可用性。最后,改进结果的排名、根据会议特征提供建议的微调或探索其他GNN模型构成了未来研究的潜在途径。

总之,虽然在未来的工作中应该探索更多的选择,但这些结果提供了如何利用语义数据和图形神经网络来构建会议推荐系统的第一瞥。因此,它开辟了有前途的未来方向,如将该系统扩展为一个成熟的科学出版物推荐引擎。

感觉是推荐系统的一个变种,挺有意思的,期待系统早日上线

以上是关于推荐系统论文阅读(十)-基于图神经网络的序列推荐算法的主要内容,如果未能解决你的问题,请参考以下文章

推荐系统论文阅读(二十)-阿里妈妈基于用户长序列历史行为的推荐SIM

工业界推荐系统必读论文:基于深度学习的推荐模型——DLRM

每周CV论文推荐基于GAN的图像修复值得阅读的文章

DSE精选论文 | 基于图神经网络的兴趣点推荐

论文推荐:ScoreGrad,基于能量模型的时间序列预测

推荐系统论文阅读(二十二)-基于多兴趣向量召回的Mind