前言
- WSDM2019 关于基于图神经网络进行会话级的社交推荐任务
- 关键词: 动态图注意力网络 session-based 社交推荐
摘要
像 Facebook 和 Twitter 这样的在线社区非常流行,已经成为许多用户日常生活中不可或缺的一部分。通过这些平台,用户可以发现和创建其他人将随后使用的信息。在线社交推荐是一个具有挑战性的问题: 1)用户的兴趣是动态的,2)用户受到他们的朋友的影响。此外,影响者可能是上下文相关的。也就是说,可以依赖不同的朋友。
因此,对这两种信号进行建模对于推荐是必不可少的。我们提出了一个基于动态图形注意神经网络的在线社交推荐系统。使用一个递归神经网络模型来模拟动态用户行为,用一个图形注意力神经网络来模拟上下文相关的社会影响,这个神经网络根据用户当前的兴趣动态推断出影响者。整个模型对大规模数据的处理效果良好。
引言
用户兴趣本质上是动态的。用户可能会对体育活动感兴趣一段时间,然后搜索新的音乐社群。
其次,由于在线社群经常促进朋友之间的信息共享,用户也可能受到朋友的影响。例如,一个想看电影的用户可能会受到她朋友的喜好的影响。
此外,影响者的集合可以是动态的,因为他们可以依赖于上下文。例如,一个用户在搜索搞笑电影时会相信喜欢看喜剧的朋友们; 而她在搜索动作片时可能会受到另一组朋友的影响。如上图的案例中对于社群进行了相关的分析,对于当前用户的相关朋友,分析其长期兴趣和短期兴趣;对于不同session,用户的浏览行为会受到不同相关用户的影响。
当前的相关研究建模用户的动态兴趣,或者建模用户的社交影响,但未将两者结合起来。最近的工作中使用RNN模拟会话级别的用户行为,忽略了社会影响。其他人仅仅研究社会影响。本文提出了一种方法来建模用户的会话兴趣以及动态的社会影响。
根据用户的当前会话,哪个用户的朋友子集影响了她(影响者)。我们的推荐模型是基于动态图注意网络的。
模型首先使用RNN建模一个会话内的用户行为。通过RNN的隐藏状态来捕捉用户当前的兴趣(current interest). 为了提供会话级别的推荐,将用户朋友的短期偏好模型与长期偏好建模区分开来。每个朋友的影响,根据用户当前的兴趣,然后通过注意力机制自动确定。
相关形式化定义
- session-based Recommendation 定义用户集合和物品集合,每个用户u根据时序具有多个会话:
- session-based social Recommendation 在以上定义的基础上,针对在线社群的会话级推荐就是在给定用户的会话序列基础上,通过利用用户的动态兴趣和社群网络的影响来生成推荐物品。
模型方法
完整模型结构如下,可以分为用户个体兴趣表征以及朋友兴趣表征两大块:1. 动态个体兴趣 Dynamic Individual Interests
为了捕捉用户快速变化的兴趣,利用RNN来建模用户当前会话内的行为序列:并取最后一个序列输出作为当前兴趣表征:2. 朋友兴趣表征
分为短期和长期表征:短期特征使用最近的一个session利用RNN建模得到;长期特征则使用个体嵌入来表示:
短期兴趣
3. 上下文依赖的社交影响分析
在以上表征的基础上,文中提出利用图神经网络来将用户和其朋友的表征进行结合:首先将关系网络编码成为图结构,节点对应用户,边表示关系,使用用户的兴趣表征来构建节点表征。
- Dynamic Feature graph: 对于每个用户,构建一个子图,仅包含用户及其朋友,如上图所示。节点的初始化表征如下,由于取每个节点的最新session表征,所以图特征是动态的
-
Graph Attention Network
对上述图中节点利用注意力机制进行计算,然后得到图表征,相当于将用户表征和朋友表征整合到一起来得到最后的用兴趣表征
4. 推荐
将通过图神经网络得到的用户表征和用户当前兴趣拼接:5. 模型训练
对所有用户会话中的所有正样本进行训练:最大化似然函数实验情况
我们保留最近d 天的会话用于测试并过滤训练集没有出现的物品。然后随机而平等地将这些会话分成验证和测试集。
对比效果如下小结
这篇文章将社交推荐和session-based结合,利用用户-社群关系图来构建用户表征,主要用注意力机制来综合用户和朋友特征,得到最后的特征。
END
本人所有文章均为原创,欢迎转载,请注明文章出处 。百度和各类采集站皆不可信,搜索请谨慎鉴别。技术类文章一般都有时效性,本人习惯不定期对自己的博文进行修正和更新,因此请访问本人主页查看最新信息https://www.jianshu.com/u/40d14973d97c