论文笔记:ICLR 2019 RotatE Knowledge Graph Embedding by Relational Rotation in Complex Space

1. 前言

论文链接:https://openreview.net/forum?id=HkgEQnRqYQ
github:https://github.com/DeepGraphLearning/KnowledgeGraphEmbedding

本文研究在知识图谱中学习实体和关系表示的问题,以预测缺少的链接。 此类任务的成功在很大程度上取决于建模和推断关系(或关系之间)模式的能力。 在本文中,提出了一种新的知识图谱嵌入方法
称为 RotatE,它能够建模和推断各种关系模式,包括:对称/反对称,反演和组成。 具体来说,RotatE模型将每个关系定义为在复矢量空间中从源实体到目标实体的旋转。 此外提出了一种新颖的自我对抗式负采样技术,可以有效地训练RotatE模型。 在多个Baseline 知识图谱数据集上的实验结果表明,所提出的RotatE模型不仅具有可伸缩性,而且还能够推断和建模各种关系模式,并且明显优于现有的用于链路预测的最新模型。

知识图谱是的表示形式三元组的集合,其中每个三元组 ( h , r , t ) (h,r,t)(h ,r ,t ) 表示 head实体 h h h 和 tail实体 t t t 之间的关系 r r r。知识图谱应用范围很广,包括智能问答、信息检索、推荐系统和自然语言处理等,是当前的研究热点。

然而,通常,现实中的知识图谱通常是不完整的,因此知识图谱的一个首要问题就是预测缺少的链接。 最近,已经进行了广泛的研究,以学习实体和关系的低维表示形式以进行缺失链接预测(又称为知识图谱嵌入)。大多是根据观察到的知识事实对知识图中的连接模式进行建模从而进行推断的。举个例子,

  • 有些关系是对称的 symmetric(如:婚姻)
  • 有些关系是反对称的 antisymmetric(如:孝顺)
  • 有些关系与其他关系相反 inversion(例如,上位词和下位词)
  • 有些关系可能是由其他人建立 composition(例如,我母亲的丈夫是我父亲)。

总之,都是从观察到的事实中找到建模和推断这些模式(即symmetry / anti-symmetry, inversion, 和 composition)的方法作链路预测。

现有的知识图谱嵌入模型大致有以下几类:

  • TransE模型将 relaltion 表示为 translation,旨在对 inversion 和 composition 这两种模式进行建模;
  • DisMult模型用三种方法对头实体–关系–尾实体建模,旨在对 symmetry模式建模;

但是,现有模型都无法建模和推断所有上述模式。 因此,该文章力图寻找一种能够建模和推断所有三种类型的关系模式的方法。

因此文章提出了 RotateE 模型作知识图谱嵌入。该模型的启发来源于欧拉分解: e i θ = c o s θ + i s i n θ e^{i \theta} = cos\theta +isin\theta e i θ=c o s θ+i s i n θ ,该式说明任何一个复数都可以看作复平面上的一个旋转向量(rotation)。具体来说,RotatE模型将实体和关系映射到复数向量空间,并将每个关系定义为从 head 实体到 tail 实体间的旋转。对于一个三元关系 ( h , r , t ) (h,r,t)(h ,r ,t ),我们期望 t = h ∘ r t = h \circ r t =h ∘r ,h , r , t ∈ C k h,r,t \in C^k h ,r ,t ∈C k ,模长 ∣ r i ∣ = 1 |r_i| = 1 ∣r i ​∣=1 ,而 ∘ \circ ∘ 表示 Hadamard积(元素乘积)。具体而言,对于复杂空间中的每个维度,我们都期望:

论文笔记:ICLR 2019 RotatE Knowledge Graph Embedding by Relational Rotation in Complex Space

事实证明,该简单方法可以有效地对(上述三种)所有关系进行建模,即, symmetric/antisymmetric, inversion, 和 composition. 即,

  • r r r 是对称关系时,当且仅当r r r 的每一个分量r i r_i r i ​ 满足 :r i = e 0 / i π = ± 1 r_i = e^{0/i\pi} = \pm1 r i ​=e 0 /i π=±1 ;
  • 两个关系r 1 r_1 r 1 ​ 和r 2 r_2 r 2 ​ 是逆关系时,当且仅当他们的嵌入是共轭向量:r 2 = r 1 ‾ r_2 = \overline{r_1}r 2 ​=r 1 ​​ ;
  • 某个关系r 3 = e i θ 3 r_3 = e^{i\theta_3}r 3 ​=e i θ3 ​ 是其他两个关系r 1 = e i θ 1 r_1 = e^{i\theta_1}r 1 ​=e i θ1 ​ 和r 2 = e i θ 2 r_2 = e^{i\theta_2}r 2 ​=e i θ2 ​ 的组合时,当且仅当r 3 = r 1 ∘ r 2 r_3 = r_1 \circ r_2 r 3 ​=r 1 ​∘r 2 ​ (即,θ 3 = θ 1 + θ 2 \theta_3 = \theta_1 +\theta_2 θ3 ​=θ1 ​+θ2 ​ ).

此外,由于RotatE模型在时间和内存上都保持线性,因此可扩展到大型知识图谱。

RotatE的优化采用了一种新的自对抗负采样(self-adversarial negative sampling)技术,通过当前实体和关系嵌入生成负采样。这个技术通用性好,可用到许多现有的知识图谱嵌入模型上。

; 2. 相关工作

论文笔记:ICLR 2019 RotatE Knowledge Graph Embedding by Relational Rotation in Complex Space
通常,知识图谱嵌入(knowledge graph embedding, KGE)是通过为实体-关系三元组定义一个得分函数 f r ( h , t ) f_r(h,t)f r ​(h ,t ) , 测量一个候选三元组 ( h , r , t ) (h,r,t)(h ,r ,t ) 的显著性。表1总结了最新方法以及本文提出模型中的不同得分函数。

且模型通常仅捕获关系模式的一部分。 例如,TransE 将每个关系表示为源实体和目标实体之间的双射,因此能够隐式地对关系的 inversion 和 composition 进行建模,但不能对对称关系进行建模; ComplEx 通过引入复杂的嵌入来扩展 DistMult,以便更好地对不对称关系进行建模,但是它不能推断合成模式。 这篇文章提出的 RotatE 模型利用了两者的优势。

论文笔记:ICLR 2019 RotatE Knowledge Graph Embedding by Relational Rotation in Complex Space

另外,2018年还提出了一个TorusE 模型,可以看作 RotatE 的特例,其嵌入的维度设定为固定值。 相比之下,RotatE 是在整个复杂空间上定义的,它具有更大的表示能力。此外,TorusE 专注于 TransE 中的正则化问题,而 RotateE 专注于建模和推断多种类型的关系模式。

3. RotatE : Relational Rotation in Complex Vector Space

3.1 Modeling and Inferring Relation Patterns

作者首先给出了本文的 RotatE 和 TransE 的区别

论文笔记:ICLR 2019 RotatE Knowledge Graph Embedding by Relational Rotation in Complex Space
其中图c代表了上面所讨论的知识图谱中关系的对称条件下 RotatE 的建模方式。
基于上面所给到的三种关系模式:对称\反对称、相反、组成。在这里给出了它们的正式定义

论文笔记:ICLR 2019 RotatE Knowledge Graph Embedding by Relational Rotation in Complex Space
  • 对称关系意味着 A->B,B->A,反对称关系意味着 A->B,不能得到 B->A
  • 相反关系意味着在关系1 的条件下可以得到 A->B。同时换一种条件关系2,可以得到 B->A
  • 组成关系意味着 两种不同的关系条件下的一种传递组成关系

根据以上三种关系模式的定义,对现有模型在推断和建模这些模式方面的能力进行了分析。

论文笔记:ICLR 2019 RotatE Knowledge Graph Embedding by Relational Rotation in Complex Space

; 3.2 Modeling Relations as Rotations In Complex Vector Space

该模型能够对所有三种关系模式进行建模和推断。 受欧拉公式的启发,模型将头实体 h h h 和尾实体 t t t 映射到复杂的嵌入,即 h , t ∈ C k h,t \in \mathbb{C}^k h ,t ∈C k; 然后将由每个关系 r r r 引发的功能映射定义为从头实体 h h h 到尾实体 t t t 的元素旋转。 换句话说,给定三元组 ( h , r , t ) (h,r,t)(h ,r ,t ),期望:

论文笔记:ICLR 2019 RotatE Knowledge Graph Embedding by Relational Rotation in Complex Space
其中 ∘ \circ ∘ 代表哈达玛内积。具体来说,对于嵌入中的每个元素,有 t i = h i r i t_i = h_i r_i t i ​=h i ​r i ​。 在这里,将 r ∈ C k r \in \mathbb{C}^k r ∈C k 的每个元素的模数(即 r i ∈ C r_i \in \mathbb{C}r i ​∈C)约束为 ∣ r i ∣ = 1 | r_i |=1 ∣r i ​∣=1。这样做,r i r_i r i ​ 的形式为 e i θ r , i e^{i\theta_r,i}e i θr ​,i,它对应于绕复平面的原点逆时针旋转 θ r , i \theta_{r,i}θr ,i ​弧度,并且仅影响复数中实体嵌入的相位向量空间。 由于其旋转性质,,模型称为RotatE。 根据以上定义,对于每个三元组( h , r , t ) (h,r,t)(h ,r ,t ),将 RotatE 的距离函数定义为:
论文笔记:ICLR 2019 RotatE Knowledge Graph Embedding by Relational Rotation in Complex Space
通过将每个关系定义为复数向量空间中的旋转,RotatE 可以对上面介绍的所有三种类型的关系模式进行建模和推断。

3.3 Connection to TransE

从表2中,我们可以看到 TransE 能够推断和建模除对称模式以外的所有其他关系模式。 原因是在TransE中,任何对称关系都将由0平移向量表示。 结果,这将推动具有对称关系的实体在嵌入空间中彼此靠近。 RotatE 解决了这个问题,并且能够建模和推断对称模式。 可以使用满足 r i = ± 1 r_i =\pm1 r i ​=±1的任意矢量 r r r 来表示RotatE中的对称关系,因此可以区分具有对称关系的实体。 不同的对称关系也可以用不同的嵌入向量表示。 图1提供了仅具有一维嵌入的 TransE 和 RotatE 的图示,并显示了 RotatE 如何建模对称关系。

3.4 Optimization

负采样已被证明对于学习知识图嵌入和词嵌入都非常有效。 在这里,使用类似于负采样损失的损失函数有效地优化基于距离的模型:

论文笔记:ICLR 2019 RotatE Knowledge Graph Embedding by Relational Rotation in Complex Space
其中 γ \gamma γ 是固定余量,σ \sigma σ 是 s i g m o i d sigmoid s i g m o i d 函数,( h i ′ , r , t i ′ ) (h_i^{‘},r,t_i^{‘})(h i ′​,r ,t i ′​) 是第 i i i 个负三元组。

模型还提出了一种用于提取负样本的新方法。 负采样损耗以均匀的方式对负三元组进行采样。 这种均匀的负采样方法存在效率低下的问题,因为随着训练的进行,许多采样显然是错误的,这没有提供任何有意义的信息。 因此,本文提出一种称为自我对抗性负采样的方法,该方法根据当前的嵌入模型对负三元组进行采样。 具体来说从以下分布中采样负三元组:

论文笔记:ICLR 2019 RotatE Knowledge Graph Embedding by Relational Rotation in Complex Space
其中,α \alpha α 是采样概率。 而且,由于采样过程可能很昂贵,因此我们将上述概率作为负样本的权重。 因此,经过自我对抗训练的最终负采样损失采用以下形式:
论文笔记:ICLR 2019 RotatE Knowledge Graph Embedding by Relational Rotation in Complex Space

; 4. 实验

论文笔记:ICLR 2019 RotatE Knowledge Graph Embedding by Relational Rotation in Complex Space
论文笔记:ICLR 2019 RotatE Knowledge Graph Embedding by Relational Rotation in Complex Space
论文笔记:ICLR 2019 RotatE Knowledge Graph Embedding by Relational Rotation in Complex Space

论文笔记:ICLR 2019 RotatE Knowledge Graph Embedding by Relational Rotation in Complex Space
论文笔记:ICLR 2019 RotatE Knowledge Graph Embedding by Relational Rotation in Complex Space
论文笔记:ICLR 2019 RotatE Knowledge Graph Embedding by Relational Rotation in Complex Space

Original: https://blog.csdn.net/qq_44015059/article/details/109412787
Author: 饮冰l
Title: 论文笔记:ICLR 2019 RotatE Knowledge Graph Embedding by Relational Rotation in Complex Space

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/558375/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球