KGIN

Learning Intents behind Interactions with Knowledge Graph for Recommendation

Abstract

基于GNN的端到端模型。

现有的基于GNN的模型是粗粒度的,不能

  1. 在intents(意图)的细粒度级别识别user-item关系。
  2. 利用 关系依赖(relation dependencies) 来 保持长连接的语义(preserve the semantics of long-range connectivity)

本研究中,使用auxiliary item knowledge(辅助item知识)探索user-item交互背后的意图(intents)。提出了模型- Knowledge Graph-based Intent Network(KGIN)。

  • 作者将每个intent建模为kg relations的attentive combination,鼓励不同intent的独立性。
  • 此外,设计了新的GNN信息聚合方法,recursively integrates the relation sequences of long-range connectivity (relational paths)。该方案允许我们提取有关用户意图的有用信息,并将它们编码到user和item的表示中。

Keywords

  • Recommendation
  • Knowledge Graph
  • Graph Neural Networks

1 Introduction

knowledge-aware recommendation的目标:学习user和item的高质量表示。

  • Earlier works先前工作[1,4,51],从kg三元组生成embedding,作为item表示的补充。
  • Some follow-on studies接下来的工作[15,44,49]增加了 多跳路径 的概念。
    • 但是存在各种问题

      • 需要大量特征工程[44]
      • 难以用到其他领域[15,17]
      • 性能不稳定[49]
  • More recently最近,基于GNN的端到端模型[38,39,41,47]。关键思想是利用信息聚合,用多跳邻居。

它很好,但是有不足:

  1. User Intents。To the best of our knowledge(据我们所知),它们没有从intent层面考虑user-item relation。一个用户通常有多个intent,驱使用户消费不同的物品。图1可以帮助理解(intent p1认为看i1与i5是因为关注r1和r2,intent p2认为看i1和i2是因为关注r2和r3)。

  1. Relational Paths。没有保存relation dependencies and sequencies carried by paths。因此,这种基于节点的方案不足以捕获关系之间的交互。过去的方法是Node-based Neighborhood Aggregation,不区分路径,通常用衰减因子[38,41]中建模,例如1跳,2跳,3跳。

因此本文提出了KGIN,它解决了:

  1. User Intent Modeling。每次的交互都有潜在的intents,intent向量可以作为KG关系的一种分布,intent embedding可以视为relation embeddings的attentive combination,重要的relations会被赋予更大的attribution scores;引入独立的constraint->用于鼓励intent之间的差异。
  2. Relational Path-aware Aggregation。每个relational path作为information channel,再向量化。user-intent-item triplets和KG triplets用两种aggregation策略,以便分别提取用户的行为模式和item的相关性。简而言之,这种关系建模允许我们识别有影响的intents,并将 关系依赖和路径语义 编码到表示中。

KGIN比KGAT[41],KGNN-LS[38],CKAN[47]好。

KGIN的贡献:

  1. 揭示了用户背后的intent
  2. 提出了KGIN,它在GNN范式下以更细粒度的意图和关系路径的长期语义考虑用户-项关系

2 Problem Formulation

引入了user-item interactions和kg概念,然后formulate our task。

3 Methodology

模型的工作流程:

  1. user intent modeling
  2. relational path-aware aggregation

3.1 User Intent Modeling

解释了intent存在的意义:与之前假设用户和item之间没有交互或只有一个交互,我们旨在捕捉用户行为受多种intent影响的直觉。在这里,我们将Intent定义为用户选择item的原因,这反映了所有用户行为的共性。以电影推荐为例,可能的intent是对电影属性的不同考虑,例如明星和合作伙伴的结合,或导演和类型的结合。不同的意图抽象出用户不同的行为模式。这可以通过更细粒度的假设来增强广泛使用的协作过滤[26]效果——由相似intent驱动的用户会对item有相似的偏好。这种直觉促使我们以intent的粒度对用户-item关系进行建模。

转化为intent graph(IG):假设P是所有用户共享的intent集,我们可以将统一的用户-项目关系分割为|P|个intents,并将每个(u,i)对分解为{(u,p,i) | p∈ P} 。与以往的homogeneous collaborative graph不同。

3.1.1 Representation Learning of Intents

尽管我们可以用潜在的向量来表达这些意图,但很难明确地识别每个意图的语义。一个简单的解决方案是将每个intent与KTUP[4]提出的一个KG关系相结合。然而,该解决方案仅单独考虑单个关系,而没有考虑关系的交互和组合,因此无法细化用户意图的高级概念。例如,关系r1和r2的组合对意图p1有影响,而关系r3和r4对意图p2的影响更大。因此,每个p在KG relations的分布——运用注意力策略创建intent embedding:
e p = ∑ r ∈ R α ( r , p ) e r (1) \mathbf{e}_{p}=\sum_{r \in \mathcal{R}} \alpha(r, p) \mathbf{e}_{r} \tag{1} ep=rRα(r,p)er(1)
e r是relation r的id embedding, α \alpha α是attention score,具体公式为
α ( r , p ) = exp ⁡ ( w r p ) ∑ r ′ ∈ R exp ⁡ ( w r ′ p ) (2) \alpha(r, p)=\frac{\exp \left(w_{r p}\right)}{\sum_{r^{\prime} \in \mathcal{R}} \exp \left(w_{r^{\prime} p}\right)} \tag{2} α(r,p)=rRexp(wrp)exp(wrp)(2)
w rp是relation r和intent p的训练权重。这里,为了简单起见,我们使用权重,并在未来的工作中对复杂注意力模块进行进一步探索。

注意⚠:这些attention分数是针对所有user的。

3.1.2 Independence Modeling of Intents

不同intent应该包含不同用户偏好的信息[23,24]。如果一个意图可以被其他意图推断出来,那么描述用户-项目关系可能是多余的,信息量较少;相反,具有独特信息的意图将为描述用户的行为模式提供一个有用的角度。因此,为了更好的模型容量和可解释性,我们鼓励意图的表示彼此不同。

因此引入了independence modeling,用于指导independent intents的表示。简单的方法有互信息[2]、皮尔逊相关系数[33],距离相关性[32,33,43]作为正则化。这里提供两种实现:

  • Mutual information(互信息)。最小化互信息,用对比学习[7,12]。

  • Distance correlation(距离相关性)。它测量任何两个变量的线性和非线性关联,当且仅当这些变量独立时,其系数为零。最小化用户意图的距离相关性使我们能够减少不同意图的依赖性,其公式如下:


上面两种方法都是用于最小化相关程度,增加intents的独立性。

3.2 Relational Path-aware Aggregation

文章先介绍了以往GNN-based recommender models[38,39,41]的neighborhood aggregation方法——结点的表示向量是通过 递归aggregating和transforming其多跳邻居 来计算的。

但node-based aggregation有两个局限性:

  1. aggregate通常不考虑邻居的来源(相同的结点,可能来自不同路径,但是模型只通过衰减因子来表示)
  2. 当前基于节点的聚合器通常通过注意网络对衰减因子中的KG关系建模[38,41,47],以控制从邻居传播多少信息。这限制了KG relations对节点表示的贡献。

因此,文章提出了relational path-aware aggregation scheme。

3.2.1 Aggregation Layer over Intent Graph

我们首先从IG中提炼协作信息。如前所述,CF effect[26]通过假设行为相似的用户会对物品有相似的偏好,从而有力地表征了用户模式。这激励我们将个人历史(即用户以前采用过的项目)视为个人用户的预先存在的特征。此外,在我们的IG中,我们可以通过假设具有相似意图的用户会对item表现出相似的偏好,从而在用户意图的粒度级别捕获更细粒度的模式。

在IG图中,用N u表示intent-aware的历史和u周围的一阶连通性。从技术上讲,我们可以集成来自历史item的intent-aware information来创建用户的表示:

e u 1是用户u的表示;f IG是描述每个first-order connection(u, p, i)的aggregator函数,文章对f IG的实现是:

e i 0是item i的id embedding;⊙表示element-wise product。

我们用两种见解:

  1. 给定user,不同的intents有不同的contributions to motivate their behaviors。因此,使用 β \beta β表示不同intent p的重要程度。

e u 0是user u的id embedding,为了使importance score个性化。

  1. 与以往研究中使用衰减因子[38,41,47]或正则化术语[41]的想法不同,我们强调了intent relations在 aggregation过程中的作用。因此,我们通过element-wise product β(u,p)*ep⊙ei 0来构造item i的信息。

因此,我们能够显式地在user representations中表达first-order intent-aware information

3.2.2 Aggregation Layer over Knowledge Graph

然后,我们将重点放在KG的aggregation方案上。由于一个实体可以涉及多个KG三元组,因此它可以将其他连接的实体作为其属性,这反映了项目之间的内容相似性。

N i表示关于item i的属性和first-order connectivity。integrate来自连接entities的relation-aware information,生成对item i的表示:(和 e u ( 1 ) e^{(1)}_u eu(1)很像吧?)

e i 1是收集一阶连接信息后的表示。f KG是提取和整合连接(i,r,v)信息的聚合函数。

由于每个KG实体在不同的关系上下文中具有不同的语义和含义。比如Quentin是一个Django Unchained的导演,但是也是Django Unchained的演员。先前的研究[38,41,47]仅通过注意机制对衰变因子中的KG关系进行建模,以控制Quentin对Django Unchained的表示的贡献,而作者将relational context聚合器建模为:

e v 0是entity v的id embedding。对每个(i,r,v),用投影projection或旋转retation的操作建模relation[30],我们设计了关系信息er⊙ e v (0)。因此,关系信息能够揭示由三元组所携带的不同含义,即使它们[e v (0)]是相同的实体。同理,我们可以得到每个KG实体v的表示 e v ( 1 ) e_v^{(1)} ev(1)

3.2.3 Capturing Relational Paths

之后,堆叠更多aggregation layers,收集高阶邻居的信息。技术上来讲,是递归地,在l层后user u和item i的表示为:

得益于我们的关系建模,这些表示能够存储多跳路径的整体语义,并突出关系依赖性。

假设有一条item i的l跳路径, s = i − > s 1 − > s 2 − > . . . − > s l s = i -> s1 -> s2 -> ... -> sl s=i>s1>s2>...>sl。它包含一系列连接的三元组。其关系路径仅表示为关系序列。在l跳后,item i在l层的表示可以重写为:(可以对照公式10)

N i l是item i的所有l跳路径。显然,这种表示反映了relations之间的相互作用,并保留了路径的整体语义。这与目前knowledge-aware recommenders采用的aggregation机制有很大的不同,后者忽略了KG关系的重要性,因此无法捕获关系路径。

3.3 Model Prediction

在L层后,我们得到useru和itemiat不同层的表示,然后将它们相加作为最终表示:

通过这样做,路径的intent-aware关系和KG关系dependencies被encoded到最终表示中。

然后,我们对用户和项表示使用内积来预测用户采用该item的可能性:

3.4 Model Optimization

使用BPR loss[26]。具体而言,它认为,对于给定用户,他的历史项目应该被分配比未观察到的项目更高的预测分数:

通过结合独立性损失和BPR损失,我们将下面的目标函数最小化来学习模型参数:

λ 1 , λ 2 \lambda_1, \lambda_2 λ1,λ2分别是控制independence loss和L2 regularization的超参数。

3.5 Model Analysis

4 Experiments

4.1.3 Alternative Baselines

  • MF[26]
  • CKE[51],简单地将KG嵌入到MF中
  • KGNN-LS[38]
  • KGAT[41]
  • CKAN[47]
  • R-GCN[27]

5 Related Work

基于KG推荐大致有4组:

  • Embedding-based Methods[1,4KTUP,16,35CKE,37,51]
  • Path-based Methods[5,15,25,31 recurrent neural network,36 RippleNet-memory network,44 recurrent neural network]
  • Policy-based Methods[40,45,49PGPR,52,53]
  • GNN-based Methods[17NIRec,38,39,41KGAT,47CKAN] KGIN属于它

6 Conclusions And Future Work

KGIN = relational modeling of knowledge-aware recommendation, in GNN-based methods.

在relational modeling上2点:

  1. 在intents里堵上解释user-item关系,并与kg关系耦合 以形成可解释的语义
  2. relational path-aware aggregation,聚合来自多条路径的信息。
  • 目前的工作通常将kg推荐视为 有监督任务。未来将探索 自监督,通过自我监督任务生成辅助监督,揭示数据实例之间的内在关系。
  • 此外,我们希望在知识感知推荐中引入因果概念,如因果效应推理、反事实推理和反解构,以发现和放大偏见[6]。

【kg推荐->精读】Learning Intents behind Interactions with Knowledge Graph for Recommendation相关推荐

  1. (二十七)【2021 WWW】Learning Intents behind Interactions with Knowledge Graph for Recommendation

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-OpZWgm7T-1634540652258)(C:\Users\小轩\AppData\Roaming\Typora\ty ...

  2. 2021-WWW-Learning Intents behind Interactions with Knowledge Graph for Recommendation

    ABSTRACT 将KG运用到RS中,现存的GNN方法在关系建模中是粗粒度的,不能在细粒度的意图粒度上识别user-item关系,也不能利用关系依赖关系来保留远程连接的语义.(后半句怎么理解?) 本文 ...

  3. 论文阅读笔记(1):Multi-Task Feature Learning for Knowledge Graph Enhanced Recommendation

    Multi-Task Feature Learning for Knowledge Graph Enhanced Recommendation 原文链接:https://arxiv.org/pdf/1 ...

  4. 知识图谱与推荐系统之《Multi-Task Feature Learning for Knowledge Graph Enhanced Recommendation》MKR

    依次训练的方法主要有:Deep Knowledge-aware Network(DKN) 联合训练的方法主要有:Ripple Network 交替训练主要采用multi-task的思路,主要方法有:M ...

  5. Unifying Task-oriented Knowledge Graph Learning and Recommendation

    Unifying Task-oriented Knowledge Graph Learning and Recommendation ABSTRACT 背景 将知识图纳入推荐系统(知识感知推荐),以辅 ...

  6. 【论文阅读笔记】Multi-Task Feature Learning for Knowledge Graph Enhanced

    Multi-Task Feature Learning for Knowledge Graph Enhanced 1.框架 MKR是一个通用的.端对端深度推荐框架, 由三个主要部分组成:推荐模块.KG ...

  7. 【论文阅读】Unifying Knowledge Graph Learning and Recommendation

    Unifying Knowledge Graph Learning and Recommendation: Towards a Better Understanding of User Prefere ...

  8. [论文翻译]DeepPath: A Reinforcement Learning Method for Knowledge Graph Reasoning

    DeepPath: A Reinforcement Learning Method for Knowledge Graph Reasoning 0 总结 名称 项目 题目 DeepPath: A Re ...

  9. 论文阅读2 Learning Hierarchy-Aware Knowledge Graph Embeddings for Link Prediction

    目录 问题 创新 1.Introduction 2.相关工作 3.HAKE模型 原文:[1911.09419] Learning Hierarchy-Aware Knowledge Graph Emb ...

最新文章

  1. 多模态理论张德禄_观点 | 多模态研究:认知语言学的新方法
  2. oracle找不到mts,oracle 11g启动时找不到OracleMTSRecoveryService的解决方法
  3. android软件查找号码位置,如何在Android中通过GPS获取位置时获取卫星名称或号码?...
  4. python字符串无效的原因_python字符串问题
  5. socket编程之inet_addr和inet_ntoa
  6. 环境变量PATH 、mv 命令 、cp 命令和 查看文档相关的命令
  7. 机器学习——python实现SVM模型w,b的查看
  8. 为什么应该用record来定义DTO
  9. 【渝粤教育】国家开放大学2019年春季 1161开放英语3 参考试题
  10. VBA之六--EXCEL VBA两则
  11. 随想录(关于signal的实验)
  12. c语言统计字符数组上字母和数字,C语言问题求数组中的字母数字字符个数 – 手机爱问...
  13. java中InvocationHandler 用于实现代理。
  14. linux netstat java,Linux netstat介绍
  15. 使用vcpkg安装cgal前安装yasm报错
  16. 软考中级网络工程师-第一章计算机网络概论(自我学习)
  17. PS指正火焰文字特效
  18. HTML实现文件上传和HTML实现打开文件目录
  19. 利用npn开关电路,将stm32 IO口输出的0-3.3v的pwm波转换为0-5v的pwm波
  20. 二叉查找树(BST)专题

热门文章

  1. 大話带隙基准(Bandgap, BG) Bandgap voltage reference設計
  2. Linux笔记(六)——权限的基本介绍,修改权限,修改文件/目录的所有者及所在组
  3. 打开我的计算机页面很卡,xp系统打开我的电脑很卡的解决方法
  4. css 滚动条出现后莫名消失(隐藏)的问题
  5. 实验7:自定义类模拟三维向量及其运算
  6. 使用POI批量导出Excel文件(SSM)
  7. linux下配置jdk8
  8. context概念理解
  9. 基于Java毕业设计在线学习系统源码+系统+mysql+lw文档+部署软件
  10. PAT-2022年春季考试 - 甲级题解