基于图的推荐算法(10):Global Context Enhanced Graph Neural Networks for Session-based Recommendation

前言

  • 发表在SIGIR2020上的基于GNN进行序列推荐的研究
  • 从全局上下文角度对原有的GNN工作进行改进

基于会话的推荐(Session-based,SBR)是一项具有挑战性的任务,其目的是基于匿名行为序列推荐物品。

现有的 SBR 模型只基于当前会话进行用户偏好建模,而没有利用其他会话,这些会话可能包含与当前会话相关和不相关的物品转换(item transition)。本文提出了一种全局上下文增强图形神经网络(GCE-GNN),以更精细的方式(in a more subtle way)利用所有会话中的物品转换,更好地推断出用户对当前会话的偏好。

具体来说,GCE-GNN 分别从会话图(session graph)和全局图(global graph)中学习了两个层次的物品嵌入: (i)会话图,即通过在当前会话中建模成对物品转换来学习会话级物品嵌入; (ii)全局图,即通过在所有会话中建模成对物品转换来学习全局级物品嵌入。

引言

传统的推荐算法(CF/CB)依赖用户属性和长期历史交互,在现实场景中可能表现不好,当用户没有登录或者只有短期交互数据,信息有限时。

session-based rec基于给定的匿名行为序列预测下一个感兴趣的物品。早期研究主要是分为两类:基于相似度的(similarity-based)和基于马尔可夫链的(chain-based)

similarity-based: 严重会话/序列中物品的共现信息,忽略了序列行为模型(sequential patterns)。

chain-based:推导所有可能的序列,计算复杂度高。

现在基于DL的方法使用pair-wise item-transition 信息来建模用户偏好,这些方法存在一些问题:
1、大部分方法基于RNN,按照时序有序地提取会话中pairwise item-transition信息。然而,一个会话可能包含多个用户选择甚至噪声,因此这些方法可能不足以生成所有正确的依赖关系,这些依赖关系的缺点是无法用嵌入建模转换模式的复杂内在顺序。

2.基于自我注意机制的GNN方法,如 SR-GNN ,通过根据session的每个物品与最后一个物品之间的pairwise item-transition来计算相对重要性,学习整个session的表征,而效果在很大程度上取决于最后一个物品与当前session用户偏好的相关性。

  1. 这些方法忽略了来自其他session中有用的item-transition模型,只基于当前会话进行建模。 CRSM模型(2019)从最近m个会话中整合协同信息来增强当前会话的表征,但是同时将其他序列中无关的信息也引入到当前session,可能影响模型效果(deteriorate)。

    如上图所示,使用其他会话中的物品转换信息可能辅助当前session的推荐;但同时也可能引入噪声,即无关的物品。

Preliminaries

1.问题定义

给定物品集合

对于每个匿名会话,包含交互序列(按时序排列):

,给定当前session S,推荐最可能被当前会话用户点积的TopN个物品

session graph & global graph

session graph: 学习当前session内成对近邻物品,每个session构成一个有向图,同时包含一个自环

global graph:建模全局的item transition information,通过整合所有session中的成对的item transition来构建大图,将所有物品对链接起来,打破了序列独立性假设。:

Neighbor Set: 对于当前session中的物品,近邻集合即在一定步长内交互过的物品:

参数 ε 更倾向于建立短距离的物品转换的模型,因为如果超出范围,它在捕获全局级物品转换信息方面是没有帮助的(甚至噪声,例如,无关依赖)

global-level item transition可以定义为:

根据近邻集合构建得到的全局图,即为global graph,对于图中的边(v_i,v_j),使用该对序列在所有session中出现的频次作为边权重。

为了计算效率,对于每个节点,仅保留权重TopN的边,构成了一个无向图,在测试阶段,该图结构不会动态更新。

模型方法

1. Global-level Item Representation Learning

对global graph进行构图处理,消息构成,对当前节点的近邻集合节点进行消息计算:

其中注意力分值计算如下:
,在对当前节点进行消息计算时考虑当前节点所在的session信息,计算近邻节点和当前session的亲和力(affinity),跟当前session兴趣更匹配的节点重要度更高

然后将当前节点表征和近邻节点表征进行拼接聚合

多层迭代如下:

通过这种方式,一个物品的 k 阶表示是它的初始表示和它的邻居的混合,最高可达 k 跳。这样可以将更有效的消息合并到当前会话的表示中。

2. Session-level Item Representation Learning

对于session graph,同样使用注意力机制来学习不同节点间的权重

作者在session-graph中定义了不同的边类型:self-loop, in ,out,in-out,共四类不同的关系:

并给不同的关系设置对应的embedding

,通过GAT的形式进行节点处理,这样得到的邻接矩阵是非对称的

3. Session Representation Learning

对于每个节点,通过如下sum pooling得到:

与以往主要集中在最后一物品的工作不同,本文提出了一个更全面的策略,以了解每一部分对预测的贡献。在本文的方法中,会话表示是基于会话中涉及的所有项构建的。不同项目对下一个预测的贡献是不同的。

直观地说,会话中稍后点击的物品更能代表用户的当前首选项,这表明它们对于推荐的重要性更大。(考虑位置信息)

此外,在当前会话中找到用户的主要目的和过滤噪声也很重要。因此,我们结合反向位置信息和会话信息,以做出更好的预测。

将位置信息和节点信息融合,并通过和会话信息进行attention计算得到最终的结果(并非以往与最后一个物品的表征进行注意力计算的做法)

完整模型图如下:

实验结果

模型详细设计实验

小结

本文与之前的SR-GNN等工作相比,考虑了全局信息的影响,同时分析了加入其他session信息的利弊,利用近邻节点进行图构建,并在具体的建模时通过合理的设计来最大化利用相关物品,降低噪声物品的影响,总体工作还是比较有趣的。

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

推荐阅读更多精彩内容