文章目录
本文首发于公众号:code路漫漫,欢迎关注
Info
原文:Learning Intents behind Interactions with Knowledge Graph for Recommendation
code:https://github.com/huangtinglin/Knowledge_Graph_based_Intent_Network
WWW21的一篇文章
文章的工作主要是两个部分:
引入了intent这个概念,挖掘更细粒度的用户物品交互行为,user-item变为user-intent-item
引入intent之后,在信息聚合方法做了改进,从KG出发最后聚合到user embedding和item embedding
官方公布的code,数据集也是公开的
KG是在数据集上抽取生成的,映射到freebase中
1 Motivation
论文提出了以往工作的两个缺陷
1 不能挖掘细粒度的用户物品交互模式
2 信息聚合时,忽略了路径所携带的信息
论文的解决方法:
1 引入intent,把传统的user-item交互模式变为user-intent-item交互模式,考虑到现实世界中每个用户是在intent的驱使下与物品进行交互
右图是user在intent的驱使下与物品进行交互
2 通过引入intent,我们从KG出发聚合信息,区别于以往的node base信息聚合方法,能够携带更丰富的信息
论文认为虽然intent可以作为latent vector存在,但是它们的语义过于晦涩难懂,因此引入KG辅助
2 Contribution
论文的贡献
- 使用KG去揭示用户交互背后的意图
- 提出Knowledge Graph-based Intent Network(KGIN)模型,考虑意图细粒度的用户物品关系和长期关系路径的语义
- 数据集显示SOTA
3 Solution
先看下模型图
大概是以下步骤
意图表征
用户表征
item 的表征
最后是信息聚合,得到最终的user、item表示
最后就是预测了,由于符号比较多,这里先说明一下符号的意义
整篇论文一共有四个embedding,其中relation embedding是直接生成的,其它的embedding都是经过聚合而来
3.1 intent embedding
intent
是论文里面引入的概念,它的embedding是在KG上聚合relation embedding得来的
聚合方法如下
使用了注意力机制
另外论文认为intent本身的信息量足够,不需要和其它intent交互,因此intent之间的间隔应该足够大。为了达到最大化intent独立性的目的,论文将在目标函数部分引入关于intent的loss
这个loss函数论文中选取的是互信息
两个变量的互信息越小,它们的相关性也就越小
3.2 user embedding
首先是低阶的user embedding (first order)
具体可以写成
还使用了注意力机制
然后我们堆叠 L 层,得到高阶信息
最终的user embedding表示是把每层的结果合起来
3.3 item embedding
item embedding的构造过程和user embedding大同小异
低阶信息
高阶信息
可以转化为下式
最终的embedding
3.4 预测
得分就是把最终的 embedding 相乘
损失函数的构成:
下面这张图片展示了论文信息聚合的过程
4 Evaluation
数据集
intent 的数量统一设置为 4
实验结果
消融实验
可解释性
5 Summarization
论文提出的两个问题
- 没有考虑细粒度的用户物品关系
- 信息聚合时没有使用路径携带的信息
解决方法:
- 引入 intent 这个概念,user => item 变为 user => intent => item
考虑了更细致的用户物品关系 - 由于 intent 是在 KG上生成的,而 item embedding 中使用了 intent embedding,信息聚合时使用了从KG上得到的信息