知识图谱论文阅读(十三)【2020 arXiv】Attentive Knowledge Graph Embedding for Personalized Recommendation

在这里插入图片描述
题目: Attentive Knowledge Graph Embedding for Personalized Recommendation

论文链接:

代码链接:

知识图谱特征学习在推荐系统中的应用步骤大致有以下三种方式:

在这里插入图片描述
BPThrough Time
【5】Backpropagation: theory, architectures, and applications.(BPTT)

处理数据集
【4】Personalized recommendations using knowledge graphs: A probabilistic logic programming approach
【57】 Personalized entity recommendation: A heterogeneous information network approach

Path-based
【52】 Explainable Reasoning over Knowledge Graphs for Recommendation.
AAAI (2018).
Personalized entity recommendation【57】A heterogeneous information network approach
propagation-based
【45】Ripplenet: Propagating user preferences on the knowledge
graph for recommender systems,CIKM
【50】Knowledge Graph Attention Network for Recommendation. KDD (2019).

想法

(1)怎么构建有效的子图是解决该问题的关键! 同时再从根本上说是怎么提取有效、高质量的交互信息更是关键!
(2)在写论文的时候,各个概念都是从大到小的,你必须盯住这些大概念,看它怎么映射到这些小概念的!
(3)其实一篇论文关键的就是那几个公式,把公式弄懂,模型也就懂了! 而公式要懂就得看公式里的每个项

摘要

过去:

大多数KGs要么单独的寻求user-item的路径,要么将user的偏好在KGs上传播,这两种都没有充分利用KGs,其中后者添加了噪音。

我的:

提出了AKGE(Attentive Knowledge Graph Embedding)框架,该框架用交互的方式充分利用了Attentive Graph的语义拓扑信息
具体说: AKGE首先自动提取具有丰富语义的用户-项目对之间的高阶子图,然后利用所提出的注意图神经网络对子图进行编码。

数据集: 三个

1. 引入

1.1path-based和propagation-based

到目前为止,有两种类型的kg-aware推荐算法得到了广泛的研究, KG-aware recommendation分为两类:path-based和propagation-based,其中前者由于只是单独的寻求user-item的线性路径不能提取KGs的语义和拓扑信息; 而后者由于迭代传播到整个KGs图,使得有很多噪音。

举个栗子来解释上面的问题:

在这里插入图片描述

1.2 两种方法的缺点:

目的: 推断Mike对KFC的偏爱
对于path-based方法,会提取多个高质量的paths(不超过3!)来来链接Mike和KFC,比如: (1) Mike → McDonald’s → May → KFC; (2) Mike → McDonald’s→ Amy → KFC; (3) Mike → McDonald’s → SunCity → KFC; and (4) Mike → McDonald’s → Food → KFC ,之后会对单独的路径独立编码,在最后阶段会进行aggregated来评估Mike对KFC的喜爱程度! 但是呢,如果仅仅是从图表中提取路径再聚合,不能表示Mike对KFC的强烈的关系,因为关系会随着路径长度递减! 这种弱耦合阻碍了Mike和KFC之间完整的拓扑结构! 除此之外,由于长度限制,Mike→McDonald’s→May→Amy→KFC被忽略了,这里面更是包含了Amy和May的朋友关系!

propagation-based方法则是通过整个KG迭代地传播信息来模拟Mike和KFC之间的交互,Mike的偏好则包含了沃尔玛、麦当劳、吉姆等,这些偏好信息对我们的目标其实是“噪音”!

1.3 我们采用了什么措施解决问题:

上面的教训就是我们应该采样特定的交互的方式,因此提出了建立user-item的子图(subgraph)的方式来消减上面缺点。 子图是独立路径的非线性组合,包含了丰富的语义和拓扑信息; 同时它是图的一部分,可以避免噪音!

所以怎么构建这个子图和充分编码这个子图是解决问题的关键!

挑战一: 如何挖掘语义子图
使用BFS和DFS是不适用的,因为KGs体积较大。 所以提出了distance-aware sampling strategy,它使用省力的路径采样后组装的方式来构造子图!

挑战二:如何编码异构子图
采用GNNs(图神经网络)。同时由于KGs的异构性(各种关系,各种邻居),我们必须区分不同邻居的影响,因此设计了具有关系感知传播和注意聚合的注意图神经网络,聚合更可靠的信息

1.4 综上,我们的贡献:

(1)distance-aware sampling strategy来高效挖掘子图
(2)Attentive GNNs则充分提取异构图中的信息,消除噪音

2. Related Work

现有的基于KG的推荐方法(不是算法),可以分为三类

Direct-relation based Methods

一项研究利用KGs中直接相连的实体之间的关系来进行嵌入学习。
常见的模型可以自己去看论文,这里不再展示!
但是这些方法不能捕获user-item链接的复杂语义!

Semantic-path based Methods.

许多方法通过基于相似性的元路径来度量user-item之间的连接性。但是这种元路径是需要手工标注的。 因此后面提出了RKGE和KPRN会自动提取连接user-item的路径,然后通过RNN建模!
但是这种将user-item连接分解成单独的线性路径不可避免地导致信息丢失!

Propagation based Methods.

最近的方法很流行在KGs上迭代传播! 常见的工具是GCNs、GAT! RippleNet,但是由于异构图的特殊性,所以导致引入了很多的噪音!

3 基于注意力的知识图嵌入(根据上面的分析,肯定是三个模块)

在这里插入图片描述

我们的模型有三模块组成:1)子图构建——基于距离感知路径采样策略,自动挖掘语义子图以表示高阶用户项目连通性; 2)注意图神经网络(AGNN)——通过新的注意图神经网络对子图进行编码,学习实体的语义嵌入;3)多层感知器(MLP)预测——通过输入来自AGNN的学习良好的用户和项目嵌入,它使用非线性层来预测用户对项目的偏好。

Notations
和往论文是一样的: 用户和物品: U={u1,u2,⋯,un}U = \{ u _ { 1 } , u _ { 2 } , \cdots , u _ { n } \}U={u1,u2,,un}I={i1,i2,⋯,im}I = \{ i _ { 1 } , i _ { 2 } , \cdots , i _ { m } \}I={i1,i2,,im}; 用户和物品交互矩阵R∈Rn×mR\in R ^ { n \times m }RRn×m ,矩阵里面的条目为1,那么就是user对item有interaction,否则就是没有! 而用户和物品都可以归为“entity”,都会被放入KG中

Definition 1. Knowledge Graph
E,L\mathcal{E} ,\mathcal{L}E,L分别表示实体和链接的集合,一个KG被定义为包含了实体类型和链接类型映射函数的无向图G=(E,L)\mathcal{G}=(\mathcal{E}, \mathcal{L})G=(E,L)
ϕ:E→A\phi : \mathcal{E} \rightarrow \mathcal{A}ϕ:EAφ:L→R\varphi : \mathcal{L} \rightarrow \mathcal{R}φ:LR
每一个实体e∈Ee \in \mathcal{E}eE属于一个实体类型ϕ(e)∈A\phi(e) \in \mathcal{A}ϕ(e)A,统一每一个链接也会属于后者R\mathcal{R}R! 同时∣A∣>1|\mathcal{A}| > 1A>1,∣R∣>1|\mathcal{R}|>1R>1

Definition 2. KG-based Top-N Recommendation:
对于每一个用户和KG,我们的任务就是生成一个用户感兴趣的ranked list

3.1 Subgraph Construction

采用BFS和DFS等会很耗费时间,所以我们会采用显著路径采样,之后通过组装user-item pairs之间的所有抽样路径来重新构建子图

Distance-aware Path Sampling
meta-path是很有效的,但是需要experts来手动标注,而是路径长度也会受限。

  • 核心思想是: 当前实体和候选实体如果有更短的距离,那么就会被认为有更加可靠的链接。

  • 距离的定义: 平移距离模型(Translational distance models),将所有的实体映射到欧式空间,采用欧式距离来计算两个实体之间的距离!

  • 训练的小技巧:同时我们会通过TransR来预训练KG中的实体。 这是一个训练的小技巧!

  • 构成语义子图: 我们沿着各条路径走,并计算两两实体的距离,最终取每个路径距离之和作为该路径的距离,保留前K个路径构成语义子图

Path Assembling
将各个路径P(u,i)\mathcal{P}(u, i)P(u,i)组合成子图,同时我们将该图表示为邻接矩阵AAA! 其中里面的entries就是relation,如果为 1,那么就是这两个entities是有直接关系,否则没有直接的关系。

在这里插入图片描述

可以使用Mike → McDonald’s→ May → KFC作为例子!其中该矩阵是一个对称矩阵,而子图是无向图
之后我们会将邻接矩阵A输入到AGNN模块中,引导实体之间信息的传播

3.2 Attentive Graph Neural Network

gated graph neural network (GGNN) 最近由于其杰出的性能而受到关注,但是它是基于同构图的。 所以我们提出了AGNN,它由namely entity projection(实体投影), relation-aware propagation(关系感知传播), attentive aggregation(注意力聚合) and gated update(门控更新)四个部分组成。

Entity Projection
输入: 子图G={Es,Ls}\mathcal{G}=\left \{ \mathcal{E}_s, \mathcal{L}_s \right \}G={Es,Ls}和邻接矩阵AAA
由于我们的图是异构图,所以为每个entity Embedding添加了entity type Embedding! 用来增强实体Embedding
在这里插入图片描述

其中el∈Rde _ { l } \in R ^ { d }elRdel′∈Rd′e _ { l } ^ { \prime }\in R ^ { d ^ { \prime } }elRd分别表示了entity和entity type的嵌入! f(x)=σ(Wx+b)f ( x ) = \sigma ( W x + b )f(x)=σ(Wx+b),W和b是transformation 矩阵和偏移,加号是concat。

增加后的ele_{l}el被用来初始化hidden state在初次传播t=0时:
在这里插入图片描述
除此之外,我们通过TransR对预训练的嵌入进行了初始化!

Relation-aware Propagation.
增强hidden state: 我们知道GGNN是不考虑关系语义的,因此有必要添加实体之间的关系:
在这里插入图片描述
其中rl,k∈Rd′′r_{l,k} \in \mathbb{R}^{d^{''}}rl,kRd是实体ele_lel和其邻居eke_kek的关系,而hkth_k^thkt则是eke_kek的在传播步骤 ttt 时的隐藏状态!g(x)=σ(Wx+b)g ( x ) = \sigma ( W x + b )g(x)=σ(Wx+b)。而我们的输出h^k\hat{h}_kh^k则是eke_kek的relation-aware hidden state 在传播步骤 ttt 时,这里聚合了eke_kek的各个邻居,使得AGNN能够更好的采取异构KGs。

Attentive Aggregation
我们由上面可以得到的h^kt\hat{h}_k^th^kt则是eke_kek的在传播步骤 ttt的 relation-aware hidden state 。(k是任何一个实体)
AGNN则是通过一个注意力机制聚合ele_lel的信息。下面的公式在传播步骤ttt时,ele_lel聚合它的邻居的 relation-aware hidden state 来得到自己的在步骤ttt时的信息。
在这里插入图片描述
在该公式中,alta_l^talt是其邻居隐藏状态的注意力聚合, h^kt−1\hat{h}_k^{t-1}h^kt1是其邻居的在前一次t-1传播中的关系隐藏状态; 其中 Ast∈R∣Es∣A_{st} \in \mathbb{R}^{|\mathcal{E}_s|}AstREs是关于ele_lel的的AsA_sAs的行向量 ,表明了在图Gs\mathcal{G}_sGs中所有和ele_lel联系的实体(就是从整个图中抠出来的), QltQ_l^tQlt是权重向量 。对于ele_lel而言,如果没有关系,那么 AstA_{st}AstQltQ_l^tQlt会被设置为0.

计算注意力权重向量QltQ_l^tQlt,对于ele_lel和其邻居eke_kek之间的权重参数,我们通过两层神经网络计算得到
在这里插入图片描述
之后我们对其所有邻居归一化处理:
在这里插入图片描述
这样,就会使得更加关于显著的语义关系

Gated Update.
给定关于target entityele_lelalta_l^talt,AGNN通过一种类似于门控循环单元的门控机制更新目标实体的嵌入,以更好地控制信息。具体而言, 两个门会通过调节信息的流动来得到:
在这里插入图片描述
其中zltz^t_lzltrltr_l^trlt分别是更新和复位门。 其它的符号都懂!

在这里插入图片描述
其中el(h~lt)e _ { l } (\tilde{h}_l^t )el(h~lt)候选状态被输入状态alta_l^talt、原来的状态hlt−1h_l^{t-1}hlt1和reset状态创建! 其中,rltr_l^trlt控制原来状态hlt−1h_l^{t-1}hlt1要被丢弃多少。
而当前状态el(hlt)e _ { l } (h_l^t )el(hlt)会被先前隐藏状态和候选隐藏状态的组合更新,由更新门控制:
在这里插入图片描述
通过递归聚合邻居的信息,AGNN不仅仅是单个传播步骤(t=1)的一阶实体的链接,但是也是多个传播步骤(t > 1)的高阶链接。 迭代T步后,最终的隐藏状态就是聚合了实体、邻居并预测用户的偏好!

3.3 MLP Prediction

通过AGNN,我们能够更好的学习user u和item i,并进一步利用它们预测用户的偏好
在这里插入图片描述
eue_ueueie_iei是user和item的嵌入!

我们采用ReLU作为hidden layers的激活函数,采用sigmoid函数作为output layer的激活函数,将估计得分控制在[0,1]范围内。

3.4 Model Optimization

Objective Function:我们将Top-N推荐任务当作一个二分类任务,target=1是有u和i有交互,反之则无。 采用负对数似然估计作为目标函数:

其中R+\mathcal{R}^+R+R−\mathcal{R}^-R表明了观察到的和没有观察到的user-item的交互。
我们将正样本和负样本(user对item不感兴趣的)的比例控制为4:1,在AGNN中通过BPTT(back propagation through time)学习参数,其它模块则是反向传播。

主要由三部分组成:子图构建(第3-5行)、AGNN(第7-11行)和MLP预测(第12行)。

Complexity Analysis
构建子图: 离线获得训练数据的距离,并离线过滤远的(有阈值)!O(PM+Mlog
M)offline time。 P是path length,M是 maximum number of considered paths

对于通过AGNN的子图encoding: 主要是矩阵的乘法∑t=1TO(∣Es∣d2)\sum_{t=1}^{T} O\left(\left|\mathcal{E}_{s}\right| d^{2}\right)t=1TO(Esd2),其中其中d是隐藏状态和输入状态的嵌入大小

4 EXPERIMENTS AND ANALYSIS

四个问题:

  • RQ1: Does our proposed AKGE outperform the state of-the-art recommendation methods?
  • RQ2: Can AKGE provide potential explanations about user preferences towards items?
  • RQ3: How do our proposed path sampling strategy, relation-aware propagation and attentive aggregation affect the performance of AKGE, respectively?
  • RQ4: How do different choices of hyper-parameters affect the preformance of AKGE?

(1) MovieLens-1M 描述了用户对电影的评分在1-5之间
(2) Last-FM 音乐收听数据集
(3)Yelp 记录用户对本地企业的评级从1-5。 此外,社会关系和商业属性(例如,类别,城市)也包括在内
和【4】和【57】一样的处理数据集的方式: 如果user对item有评分,那么interaction就设置为1。 除此之外,我们会merge更多的信息放到每个数据集的KGs中。 比如电影导演、主演等

MovieLens-1M 是我们的数据集合!

评估协议: 采用了 leave-one-out的 方法,也就是最新的interaction会被作为test集,我们随机抽取100个用户没有交互过的项目,然后将测试项目在101个项目中进行排名,从而降低测试的复杂性。 采用额Hit@N和NDCC@N作为评估指标,为每个测试用户计算两个指标并计算平均分数N=10,一般来说,度量值越高,排名精度越好。
Comparison Method

在这里插入图片描述
(1)普通的CF based method (2)基于KGs - CKE的直接关系方法 (3)基于语义路径的方法与KGs (4)基于KGs - KGAT的方法
参数设置
对于AKGE,Adam是优化器
应用网格搜索{0.001,0.002,0.01,0.02} 找到一个最优的学习率;
对l2正则化系数λ的最优设置进行了搜索在这里插入图片描述
下面是经过测试后的参数:
batchsize = 256; 实体的、实体类型和关系的嵌入大小分别设置为d =128, d′d'd = d′′d''d = 32。 隐藏状态大小为128; MLP成分预测因子的大小设置为32; 取样的路径数目K对于每个user-item pair被设置为30,传播步骤T=2为了避免过拟合;

4.2 Performance Comparison (RQ1)

在这里插入图片描述
效果都有所提升!

4.3 Case Study (RQ2)

在这里插入图片描述
这个子图是构建u198u_198u198i3793i_3793i3793的,通过子图构建模块自动提取。其中红色的数字就是权重

4.4 AKGE (RQ3)详细研究

训练前技术的效果路径采样策略的影响实体类型、关系感知传播和注意聚合的影响
在这里插入图片描述

4.5 Parameter Sensitivity (RQ4)

Number of Sampled Paths.

AKGE的传播步骤

AKGE的嵌入尺寸

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/476142.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ad批量走线_AD PCB直角布线批量改为圆角,怎么批量修改呢?

1.拖动器件不让连接线跟着一起走,怎么设置呢?答:执行快捷键OP,将Always Drag选项的勾掉即可,如图所示:2.如图中所示,有很多元件位号重复或者位号需要重新编辑命名,请哪位大神有什么快…

[转帖]Mootools源码分析-02 -- Utils

原帖地址:http://space.flash8.net/space/?uid-18713-action-viewspace-itemid-400118 原作者:我佛山人 //检查对象是否已经定义或者已经赋值function$chk(obj) { return!!(obj ||ōbj 0);};//通用清除计时器的方法,即能清setTimeout,又能清setIn…

ios realm 文件_iOS Realm数据库使用

Realm 是 SQLite 和 Core Data 的替代者,得益于其零拷贝的设计,Realm 比任何 ORM 都要快很多。Objective‑C版本的 Realm 能够让您以一种安全、耐用以及迅捷的方式来高效地编写应用的数据模型层,如下例所示:Dog.hinterface Dog : …

李宏毅机器学习(十一)meta-learning和ML一样是三个步骤

Meta-learning就是教会它怎么学! 大家以为AI都是很牛,但其实就是在调参,在工业界怎么样子调参呢? 使用1000GPUs,而学业界只有一张! 我们知道Machine learning可以学出来,那么hyperparameters是…

教育的真谛

湖畔疑云 大学将是你人生最重要的时光,在大学里你会发现学习的真谛。你以前经常会问到 “这个课程有什么用”,这是个好问题,但是我希望你理解:“教育的真谛就是当你忘记一切所学到的东西之后所剩下的东西。”我的意思是&#xff0…

LeetCode 748. 最短完整词

1. 题目 如果单词列表(words)中的一个单词包含牌照(licensePlate)中所有的字母,那么我们称之为完整词。 在所有完整词中,最短的单词我们称之为最短完整词。 单词在匹配牌照中的字母时不区分大小写&#x…

单反录像按钮在哪_单反与微单到底哪不同

数码相机发展到现在从卡片相机到单反相机然后到微单相机,而单反相机和微单相机都是比较专业的数码相机,具有很好的操作性能,那么单反与微单的区别到底在哪或是单反与微单到底哪不同呢?接下来我们就来看看。单反和微单主要的区别就…

(十四)【RecSys 2016】Personalized Recommendations using Knowledge Graphs: A Probabilistic【看不懂】

题目: Personalized Recommendations using Knowledge Graphs: A Probabilistic Logic Programming Approach(一种概率逻辑编程方法) 论文链接: 代码: 想法 (1)推荐系统就是求出user和item的特…

Flash 杂志《summer tree》 第六期发布

经过几天的排版,Summer Tree 第六期出来了,在这里感谢Anson和Star的帮助。 封面拿了一张底贴上去,基本上无点ps ,实在无什么美感可言。暂时忍耐一下。 Anson的博客:http://blog.csdn.net/kongweian 下载地址&#xff1…

利用瑞利里兹方法计算固有频率的程序_不可不知的电机磁致伸缩计算方法

磁致伸缩是指电机硅钢片铁芯在交变磁场的作用下,发生微小的尺寸变化的现象,磁致伸缩使铁心随励磁频率的变化做周期性振动。本文主要研究磁致伸缩力和麦克斯韦力对电机振动噪声的贡献,从而对电机的振动噪声控制提供依据。分析必要性电机的振动…

LeetCode 917. 仅仅反转字母

1. 题目 给定一个字符串 S,返回 “反转后的” 字符串,其中不是字母的字符都保留在原地,而所有字母的位置发生反转。 示例 1: 输入:"ab-cd" 输出:"dc-ba"示例 2: 输入&…

oracle table 函数使用

PL/SQL表---table()函数用法 /*PL/SQL表---table()函数用法:利用table()函数,我们可以将PL/SQL返回的结果集代替table。oracle内存表在查询和报表的时候用的比较多,它的速度相对物理表要快几十倍。simple example:1、table()结合数…

64位进程隐藏不蓝屏_浅析Linux 64位系统虚拟地址和物理地址的映射及验证方法...

前言有好久没更新了,这段时间发生了挺多大喜事哈。但是也还是有挺久没更新了,不得不意识到自己是个小菜鸡,就算是小菜鸡也要做一只快乐小菜鸡。就算更新慢但是我依然会持续更新,因为更文使我快乐。虚拟内存先简单介绍一下操作系统…

知识图谱论文阅读(十五)【arxiv】A Survey on Knowledge Graph-Based Recommender Systems

论文题目: A Survey on Knowledge Graph-Based Recommender Systems 论文链接: 论文代码: 想法 出现Refine就是用某些方法更好的优化特征表示embed的意思就是变成低维向量! 论文 摘要 难点: 当今推荐系统的难点 &…

LeetCode 921. 使括号有效的最少添加(栈)

1. 题目 给定一个由 ( 和 ) 括号组成的字符串 S,我们需要添加最少的括号( ( 或是 ),可以在任何位置),以使得到的括号字符串有效。 从形式上讲,只有满足下面几点之一,括号字符串才是有效的&…

Shlwapi介绍

Windows中有一个Shlwapi.dll文件,包含了大量的Windows字符串处理方法,这些方法,在通常的程序应用中,经常会用到,有一部分处理方法,在CRuntime中也存在,但不方便使用。有一部分函数,也…

java权限框架_Java高级工程师必备技术栈-由浅入深掌握Shiro权限框架

权限系统在任何一个系统中都存在,随着分布式系统的大行其道,权限系统也趋向服务化,对于一个高级工程师来说,权限系统的设计是必不可少需要掌握的技术栈Apache Shiro™是一个功能强大且易于使用的Java安全框架,用于执行…

【RippleNet】(一)preprocessor.py【未完】

首先读入的文件有movie和book和news三种,肯定会选择一种进行解析! 下面我们以movies作为样例分析: 本论文中使用的数据集是movie-1m ratings.dat: 分别是用户::电影::评分&#xff…

LeetCode 961. 重复 N 次的元素

1. 题目 在大小为 2N 的数组 A 中有 N1 个不同的元素,其中有一个元素重复了 N 次。 返回重复了 N 次的那个元素。 示例 1: 输入:[1,2,3,3] 输出:3示例 2: 输入:[2,1,2,5,3,2] 输出:2示例 3&a…

日照华软游戏开发价格_开发区将是未来刚需人群的首选!

开发区真的只是备胎吗?想必在日照人的心目中一定有一张区域排行榜,而排在榜首的一定是东城片区,这是无可厚非的,毕竟东城片区的各项资源是全市其他区域无法抗衡的,然后西城片区、山海天片区、石臼片区……紧随其后,而…