【论文笔记】SEEK: Segmented Embedding of Knowledge Graphs

来自ACL2020
【论文笔记】SEEK: Segmented Embedding of Knowledge Graphs
paper:SEEK: Segmented Embedding of Knowledge Graphs
code:https://github.com/Wentao-Xu/SEEK


本文的贡献有两个:
1.提出了轻量级框架SEEK,同时满足模型低复杂性、高表达力
2.提出了新打分函数,同时完成特征整合、关系留存

摘要

知识图谱的嵌入愈发变成AI的热点之一,对许多下游任务至关重要(如个性化推荐1、问答2等)
本文提出一个轻量级框架SEEK,聚焦于得分函数的设计,在不增加模型复杂性的情况下,实现丰富的关系表示。
同时,此模型强调两个关键特性:

  • 利用足够多的特征进行交叉计算(分块)
  • 同时在计算时,区别对称关系、非对称关系特征

1.引言

        知识图谱 knowledge graph (KG)含有大量的实体和关系,表示为三元组(h, r, t),即(头实体 , 关系, 尾实体)
        知识图谱嵌入knowledge graph embedding (KGE)是为了,把大量相关的三元组映射到地位空间(保留潜在的语义信息)
        现有的KGE模型存在的问题:不能很好地平衡模型复杂性(模型参数的数量)和模型表达力(获取语义信息的能力),如下分为两类:

  • 模型简单、表达有限
    如:TransE、DistMult (简单易用,获取语义信息的能力欠佳)
  • 模型复杂、表达力强
    如:TransH、TransR、Single DistMult、ConvE、InteractE (模型复杂,需要大量向量计算,扩展性差)

       &nbsp

本文的轻量级KGE框架SEEK有如下特性:特征有交互保留关系特性高效的打分函数

  • 特征交互:把嵌入空间分为多块,让各块之间有关联(而不用增加模型参数)
  • 关系特性:同时保留对称的、非对称的关系(对称关系:双向关系;非对称关系:单向关系)
  • 打分函数:结合上述两种特征,计算得分(来自于3个模型的打分函数:DistMult、HoIE、ComplEx)

2.相关工作

已有的KGE模型(1-2为一类,3-5为一类):
1.TransE :把关系r看作是一种从实体h到实体t的翻译
2.DistMult:用多维线性点积作为得分函数
3.TransH、TransD、 ITransF :TransE升级版,增加参数,将实体和关系映射到不同的语义空间
4.Single DistMult:加大了DistMult嵌入的大小
5.ProjE , ConvE,InteractE:采用神经网络,参数很多
【以上模型的详细区别/联系另见博客:____________】
【论文笔记】SEEK: Segmented Embedding of Knowledge Graphs

3.SEEK的框架

        各种打分函数是KGE(knowledge graph embedding )的基础,基于此我们建立了SEEK
本文提出的SEEK模型的参数和TransE、DistMult一样少,却能更好地表达图谱

3.1打分函数(四种)

一共四种打分函数,逐步进阶
f1 :点积 (早期方法,过于简单)
【论文笔记】SEEK: Segmented Embedding of Knowledge Graphs
r关系,h头实体,t尾实体,第i维

f2 : 分块点积(整合了不同分块之间的特征,但把关系统一认为是对称的关系)
将h,t,r都分为k块,每一块的维度是d/k,比如r:
【论文笔记】SEEK: Segmented Embedding of Knowledge Graphs
【论文笔记】SEEK: Segmented Embedding of Knowledge Graphs

f3 : 区分对称/非对称关系,复杂度O(k2d)
奇——非对称关系;偶——对称关系
【论文笔记】SEEK: Segmented Embedding of Knowledge Graphs
当k=2时,f3的计算方式:
(当r为偶,代表对称关系,系数都为正;r为奇数,代表非对称关系,系数取决于是否x + y ≥ k)
【论文笔记】SEEK: Segmented Embedding of Knowledge Graphs
缺点:1.此方法为数据驱动型 2.计算量大,计算复杂度O(k3d/k) ,一个三元组有k3次点积运算
f4 : 减少多余计算量,复杂度O(kd)
引入尾实体 t 的索引向量Wij
【论文笔记】SEEK: Segmented Embedding of Knowledge Graphs
f4只需k2次点积,则复杂度为y O(k2×d/k)
当k=4时,f4计算如下:
【论文笔记】SEEK: Segmented Embedding of Knowledge Graphs
f4的特性:1.超参数k,决定计算复杂度,一般k=4或k=8 2.同时考虑对称/非对称关系 3. 不同分块之间维度可以不同

3.2讨论

复杂度分析

时间复杂度:O(kd)
空间复杂度:O(d)

与其他方法比较

SEEK普适性更强,传统模型如DistMult、ComplEx、HolE等
可以推导,当k = 1 和 k = 2时,以上模型是SEEK的特例
Proposition 1 SEEK (k = 1) 等同于DistMult
Proposition 2 SEEK (k = 2) 等同于ComplEx 和 HolE

3.3训练

损失函数为-log函数,L2正则化,**函数sigmoid
【论文笔记】SEEK: Segmented Embedding of Knowledge Graphs
Θ:嵌入时的参数
Ω:图谱中的三元组、生成的负样本三元组
梯度的计算公式:
【论文笔记】SEEK: Segmented Embedding of Knowledge Graphs
L目标函数,Θ参数,对f4求导时:
【论文笔记】SEEK: Segmented Embedding of Knowledge Graphs
【论文笔记】SEEK: Segmented Embedding of Knowledge Graphs

4.实验

数据集

FB15K:数据库Freebase的子集
DB100K:DBpedia的核心映射
YAGO37:YAGO3的核心事实
【论文笔记】SEEK: Segmented Embedding of Knowledge Graphs

对比实验

简单的嵌入模型:TransE、DistMult、HolE、ComplEx、Analogy
消融实验:用f2函数,得到Sym-SEEK
不利用外部信息:如文本、关系路径、外部存储

参数

优化:SGD / AdaGrad
找超参数: grid search方法
分块个数k:k ∈ {1, 2, 4, 8, 16, 20}
嵌入维度D:D ∈ {100, 200, 300, 400}
L2正则系数:λ ∈ {0.1, 0.01, 0.001, 0.0001}
负样本个数:η ∈ {10, 50, 100, 500, 1000}
最优参数:

  • FB15K:k = 8, D = 400, λ = 0.001, η = 1000
  • DB100K:k = 4, D = 400, λ = 0.01, η = 100
  • YAGO37:k = 4, D = 400, λ = 0.001, η = 200

链接预测

在不同数据集上的效果如下:
【论文笔记】SEEK: Segmented Embedding of Knowledge Graphs

5.总结

三级目录

6.参考文献

三级目录


  1. [1]bala ↩︎

  2. [2] Knowledge graph embedding based question answering ↩︎