A-PGNN:Personalizing Graph Neural Networks with Attention Mechanism for Session-based Recommendation

基于注意机制的个性化图形神经网络会话推荐

发表于:IEEE(2019)

摘要

基于个性化会话的推荐问题旨在根据用户的连续行为预测用户的下一次点击。现有的基于会话的推荐方法只将用户的所有会话看作一个序列,忽略了会话之间的关系。除此之外,他们大多忽视了项目的复杂转换以及用户与项目之间的协作关系。为此,为了简洁起见,我们提出了一种新的方法,即带有注意机制的个性化图神经网络,A-PGNN。A-PGNN主要由两部分组成:一部分是个性化图神经网络(PGNN),用于捕捉用户会话序列中的复杂转换。与传统的图神经网络(GNN)模型相比,它还考虑了用户在序列中的作用。另一种是点乘注意机制来模拟历史会话对当前会话的影响。这两部分使我们能够以特定于用户的方式了解项目和会话之间的多级转换关系。

INTRODUCTION

当前存在的问题:现有的算法但很难明确区分不同历史会话对当前会话的影响。

作者提出:作者提出的模型对于每个用户,其用户行为图反映了用户的个性化行为。(1)为基于个性化会话的推荐场景设计了一种新的图形神经网络PGNN,它能够以特定于用户的方式捕获复杂的项目转换关系。(2)使用点乘注意机制来明确建模用户历史兴趣对当前会话的影响。

(a)是用户的历史会话和当前会话(b)是用户的行为图

Preliminaries

相关定义

模型

下图是我们提出的方法的概述。每个用户u的所有会话Su可以建模为用户行为图Gu(第3.3节)。然后,我们将用户行为图、项目嵌入和用户嵌入输入个性化图神经网络(PGNN)(第3.4节),以捕获项目相对于用户u的转换。然后,我们使用最大池层来获得会话嵌入,并可以获得历史会话嵌入矩阵。然后,我们通过Dot产品注意层计算历史会话对当前会话的显式影响。因此,我们可以得到用户的动态兴趣表示(第3.5节)。最后,我们将用户嵌入与动态兴趣表示连接起来,形成用户的统一表示(第3.6节)。使用这些表示,我们输出所有候选项的概率ˆy,其中元素yi∈ ˆy是对应项目vi的推荐得分∈ V(第3.7节)。具有top-k值的项目将成为推荐的候选项目。

构建用户行为图

对于每个用户,我们将其所有会话Su建模为一个有向图,在每个用户行为图中,假设vi对vj的影响和vj对vi的影响是不同的,这会产生两种类型的边,表示两种不同的过渡关系。一条称为输出边e_{ij}^{out},权重为w_{ij}^{out},另一条有向边称为输入边e_{ij}^{in},权重为w_{ij}^{in}。其权重可通过以下方式计算:

count(x,y)用来计算用户在与项目y之后交互项目x的次数,N_{in}(i) vj输入边的前向节点集,N_{out} (i)表示vj输出边的后继节点集

用户行为图Gu的拓扑结构可以用两个邻接矩阵表示,可以写成:

Personalizing Graph Neural Network

SR-GNN中的图神经网络不适合个性化推荐场景,也不能充分利用用户的个性化信息。为了解决这一局限性,作者提出了PGNN。

在t时刻节点i的输入输出的聚合信息,A_{out}^u A_{in}^u 分别表示用户行为图中的出边和入边的邻接矩阵

用GRU更新每个节点的隐藏状态

z_{i}^t,r_{i}^t分别表示更新门和重置门,\sigma 为sigmoid函数

在总共T个传播步骤之后,可以在图Gu中获得每个节点i的最终隐藏状态向量,我们使用hi代替h_{i}^{(T)} 。每个节点的最终隐藏状态不仅包含其节点特征,还聚合了其T阶邻居的信息。

通过注意网络生成用户动态兴趣表示

如果用户以前在购物网站上浏览或单击过数码相机,则其当前单击的项目是SD和Micro SD卡。在这种情况下,历史会话和当前会话项目之间存在很强的关系。如果他当前的互动是与汽车产品的互动,那么相机和汽车属于两个不相关的类别,这表明历史会话对当前会话的影响较小。总之,明确建模历史会话和当前会话项目之间的关系对于捕获用户行为模式具有重要意义。

计算历史会话对当前会话的影响:

Dot-Product Attention:

计算历史会话对当前会话影响。输入为维度为dk的queries和keys,以及维度为dv的values,用所有键计算查询的点积。

点积注意力

用隐向量h_{i} 对历史会话序列和当前会话序列建模,历史会话中的S_{i}^u =\left\{ v_{i,1}, v_{i,2}, ...,v_{i,m_{i} } \right\} 被表示为f_{i}^u\in R^d ,由最大池化计算得到

由此,历史会话序列S_{h}^u = \left\{ S_{1}^u, S_{2}^u,...,S_{n-1}^u \right\}  的嵌入可以被表示为F^u = [f_{1}^u, f_{2}^u,..., f_{n-1}^u  ] 。对于当前会话S_{c}^u ,我们简单的定义其嵌入矩阵为H^u = [h_{1}, h_{2},..., h_{m} ],用当前会话嵌入来查询历史会话嵌入,Q由H^u决定,键和值由F^u 决定。通过非线性变换将H^uF^u投影到相同的潜在空间。

W为投影矩阵
历史会话对当前会话的影响
当前会话的嵌入

此时,当前会话的嵌入为H^{u^,} = [h_{1}^,,h_{2}^,,...,h_{m}^,]

生成用户动态表示:

我们使用注意机制将当前嵌入矩阵分别编码为全局表示和局部表示,其中全局表示指用户的一般兴趣,局部指用户的当前兴趣。全局表示为:

当前会话的全局表示

局部表示为:

当前会话的最近一项的表示

用户的动态表示为:

生成统一的用户表示

预测

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 217,185评论 6 503
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,652评论 3 393
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 163,524评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,339评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,387评论 6 391
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,287评论 1 301
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,130评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,985评论 0 275
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,420评论 1 313
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,617评论 3 334
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,779评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,477评论 5 345
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,088评论 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,716评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,857评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,876评论 2 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,700评论 2 354

推荐阅读更多精彩内容