论文浅尝 | 可建模语义分层的知识图谱补全方法

 

近些年,知识图谱(Knowledge Graph)在自然语言处理、问答系统、推荐系统等诸多领域取得了广泛且成功的应用。然而,现有知识图谱普遍存在链接缺失问题。为解决该问题,知识图谱补全任务应运而生。目前的知识图谱补全模型可分为多个流派,而基于距离的模型是其中重要一派。这类模型可以建模对称、互逆与复合等不同的抽象关系模式(Relation Pattern),却难以对知识图谱中普遍存在的语义分层(Semantic Hierarchies)现象进行有效建模。

本文接下来所介绍的工作 HAKE 使用极坐标系对语义分层现象进行建模,并在主流数据集上超越了这一流派中现有性能最好的方法。

论文的标题为 Learning Hierarchy-Aware Knowledge Graph Embeddings for Link Prediction,发表于 AAAI 2020。论文代码已开源至 Github。

论文链接:https://arxiv.org/abs/1911.09419

开源代码:https://github.com/MIRALab-USTC/KGE-HAKE

知识图谱与补全任务

知识图谱是一种以图 (Graph) 的形式存储人类知识的大规模语义网络。知识图谱中的节点 (Node) 表示实体 (Entity),边 (Edge) 表示关系 (Relation)。在知识图谱中,事实 (Fact) 一般以三元组 (Triple) 的形式进行表示。三元组一般记为 < 头实体,关系,尾实体 > (< head entity, relation, tail entity >)。例如, 下图中的 < 达芬奇 (Da Vinci),绘制 (painted),蒙娜丽莎 (Mona Lisa) > 就是一个三元组。

然而,知识图谱却普遍存在着三元组缺失(即链接缺失)问题。因缺失三元组的规模通常较大,人工寻找这些三元组代价高昂。因此,研究者们设计了知识图谱补全任务 (Knowledge Graph Completion),旨在通过机器学习模型自动补全缺失三元组。由于该任务并不会新增实体与关系,只是补全已有实体间的链接 (Link),因此也被称为链接预测 (Link Prediction) 任务。

相关工作

现有知识图谱补全模型首先将实体与关系映射为低维嵌入(knowledge graph embeddings,可为向量/矩阵/张量),然后通过一个以低维嵌入为输入的打分模型为给定三元组进行打分,从而确定任意三元组真实存在的概率。

现有的模型主要分为以下三类:

  • 基于距离的模型 (Distance-based Models)
  • 双线性模型 (Bilinear Models)
  • 神经网络模型 (Neural Network Models)

本文所介绍的 HAKE 模型属于“基于距离的模型”这一流派。

基于距离的模型将关系视为从头实体到尾实体的映射,并通过计算映射后的头实体与尾实体之间的距离来得到三元组的得分,代表性模型包括 TransE 与 RotatE 等。该流派之前的模型能够对一些抽象的关系模式进行建模,包括对称关系 (Symmetry),互逆关系 (Inversion) 和复合 (Composition) 关系等。

TransE 将一个真实三元组 (h, r, t) 建模为  , 其中 ,k 表示向量维度,它可以建模互逆关系与复合关系,却难以建模对称关系。

RotatE 将一个真实三元组 (h, r, t) 建模为 , 其中 , 表示向量间的 Hadamard 积,即 ,它能够建模上述三种关系。

然而,这些模型难以建模在知识图谱中普遍存在的语义分层现象。

模型介绍

1. 语义分层现象

语义分层 (Semantic Hierarchies) 现象在知识图谱中普遍存在。以下面两个三元组为例:

  • < 棕榈树 (palm),上位词 (_hypernym),树 (tree) >
  • < 兰开斯特 (Lancaster),位于 (located_in),英格兰 (England) >

实体 <树> 与 <英格兰> 更加抽象,属于更高的范畴,因而在语义分层中属于高层级的实体;实体 <棕榈树> 与 <兰开斯特> 更加具体,因而在语义分层中属于低层级的实体。

进一步,我们发现知识图谱中的语义分层现象可以抽象为树型 (Tree) 结构。其中:

  • 处于最高语义层级的实体对应着树的根节点
  • 拥有更高的语义层级的实体更加接近根节点
  • 语义层级更低的实体更加接近叶子节点
  • 处于相同语义层级的实体到根节点的距离相同

也就是说,树中一个节点的深度 (Depth) 反映了其对应实体的语义层级。基于以上观察, 我们将知识图谱中的不同实体分为两类:

  • 分属不同语义层级的实体,例如 <哺乳动物 (mammal)> 与 <狗 (dog)>;<奔跑 (run)> 与<移动 (move)>。
  • 属于相同语义层级的实体,例如 <玫瑰 (rose)> 与 <牡丹 (peony)>;<卡车 (truck)> 与 <货车 (lorry)>。

若要建模知识图谱的语义层级,一个模型必须能够建模上述两类实体。

2. HAKE 模型

HAKE (Hierarchy-Aware Knowledge Graph Embedding) 模型使用极坐标系建模上述表示语义层级的树型结构。

极坐标系 (Polar Coordinate System) 是一个二维坐标系统,包括半径坐标和角度坐标两部分。该坐标系统中任意位置可由一个半径  和一个角度  来表示。该模型将不同实体的嵌入向量的相同维都映射到同一个极坐标系中,包括模长和角度两部分。其中:

  • 模长部分用于建模分属不同层级的实体
  • 角度部分用于建模属于同一层级的实体

下面对这两部分进行详细介绍。

2.1 模长部分

受到前文所述树型结构的启发,我们使用极坐标系中的模长来表示树中节点的深度。即,在语义层级中,我们使用模长部分来区分那些分属不同层级的实体。

对于一个三元组 , 与  分别为头实体、尾实体与关系向量,我们的建模如下:

对应的距离函数 (Distance Function) 为:

2.2 角度部分

位于同一个圆上的点(模长相同)可以有不同的夹角。受其启发,我们使用极坐标系中的角度来区分树中处于同一深度的不同节点。即,在语义层级中,我们使用角度部分来区分那些属于同一层级的不同实体。

对于一个三元组  , 分别为头实体、关系与尾实体向量,我们的建模如下:

对应的距离函数 (Distance Function) 为:

2.3 模长 + 角度

综合模长部分与角度部分,我们得到

而  、  与  分别表示综合后的头实体、关系与为实体向量。

综合后的距离函数为:

得分函数 (Score Function) 为:

2.4 基准模型 ModE

为了更加公平地进行对比实验,我们仅利用模长信息设计一个新的模型—ModE,它将作为基准模型之一与 HAKE 进行对比。

3. 实验与分析

3.1 数据集

在本次实验中,我们选择在 WN18RR、FB15k-237 与 YAGO3-10 这三个数据集上进行实验。其中:

  • WN18RR,主要包含两种类型的关系:(a) 对称关系,如 _similar_to,该关系类型连接的头尾实体属于同一语义层级;(b) 非对称关系,如 _hypernym,该关系连接的头尾实体属于不同语义层级。
  • FB15k-237,包含的关系数量最多,关系类型最复杂,仅有部分关系表示语义层级。
  • YAGO3-10,该数据集和 FB15k-237 类似,包含许多具有高入度 (Indegree) 的关系,即在同一个关系下,一个头/尾实体可能对应着大量的尾/头实体。例如,(?,hasGender,male)(?,hasGender,male) 拥有超过 1,000 个正确的头实体,但这些头实体的含义却可能相差悬殊,因此建模难度更高。

3.2 实验结果

HAKE 与基准模型 ModE 在 WN18RR、FB15k-237 与 YAGO3-10 上的实验对比结果如下图所示。

我们可以看到:

  • ModE 模型的参数量和 TransE 相同,且模型同样简单,但在各个数据集上的性能都远高于它;
  • HAKE 模型在各个数据集上的表现都显著优于现有的最佳模型。

3.3 可视化分析

3.3.1 关系的可视化分析

(i) 关系的模长部分

基于上文中关于树型结构的论述,我们对于实体的嵌入向量的表现有如下的期望:

  • 位于更高语义层级的实体更加靠近树的根节点,故模长更小
  • 位于更低语义层级的实体更加靠近树的叶节点,故模长更大

由于关系连接着头尾实体,我们对于关系的嵌入向量的表现有如下期望:

  • 如果头实体的语义层级更高,而尾实体的语义层级更低,那么我们期望 
  • 如果头实体的语义层级更低,而尾实体的语义层级更高,那么我们期望 
  • 如果头尾实体位于相同的语义层级,那么我们期望 

为了验证上述猜想,我们进行了如下实验分析。首先,我们从三个数据集中选取了一些代表性的关系。接着,对于这些关系在 ModE 与 HAKE 模型中的模长部分向量,我们绘制了每一维度的取值的分布直方图,如下图所示:

对于图中的六个关系,我们将其分为三组。图 (a) (b) 中的关系所连接的头实体的语义层级低于尾实体;图 (c) (d) 中的关系所连接的头尾实体的语义层级相同;图 (e) (f) 中的关系所连接的头实体的语义层级高于尾实体。

从图中可以分析得出,当头实体语义层级更高时,关系的模长总体大于1;当尾实体语义层级更高时,关系的模长总体小于1;当头尾实体的语义层级相同时,关系的模长总体接近1。

这样的实验结果与上述猜想完全一致。我们还发现,与 ModE 相比,HAKE 的模长嵌入向量的取值分布更为集中,方差更小,这表明 HAKE 能够更加清晰准确地对语义层级进行建模。

(ii) 关系的角度部分

在上述图 (c) (d) 中,关系的模长都接近于 1,因此利用模长部分难以对该关系连接的实体进行区分。对于这种情况,我们求助于 HAKE 的角度部分。我们从 WN18RR 和 FB15k-237 中各选取了一种关系,并绘制了它们角度部分每一维度的取值的的分布直方图,如下图所示。

从图中可以看到,它们每一维度的取值主要集中于三个值附近:0、π 与 2π,并且取值接近 π 的维度占比为 40%-50%。也就是说,这些头尾实体中接近一半的维度取值都相差 π。因此位于同一语义层级的实体可以被角度部分区分。

3.3.2 实体可视化分析

我们接下来对实体进行可视化分析。在这部分的实验中,为了更加清晰的展示出通过 HAKE 建模得到的分层效果,我们将 HAKE 与 RotatE 进行对比,将两种模型得到的实体向量的不同维度都绘制成同一个二维平面上的点。我们从 WN18RR 中选取了三个不同类型的三元组,得到如下的散点图。

图 (a) 中的三元组中,头实体位于更低的语义层级;图 (b) 中,头尾实体的语义层级相同;图 (c) 中,头实体位于更高的语义层级。需要注意的是,为了更加直观地显示出分层效果,我们绘制散点图时对于每一个点的模长使用了对数缩放操作。因此,图中更大的半径实际上表示更小的模长。

从图中可以看到,在头尾实体分属不同语义层级的场景下(图 (a) 与 (c)),HAKE 的散点图表现出了更加明显的分层效果,而在 RotatE 的散点图中,头尾实体则难以依靠半径进行区分。对于头尾实体属于相同语义层级的场景下,表示头尾实体的点应该具有大致相同的半径。在此场景下,HAKE 依然表现的更好,因为 HAKE 中的实体模长分布的方差更小。

总结

本文介绍了一个可建模语义分层的知识图谱补全模型:HAKE。该模型使用极坐标系对语义分层进行建模。其中,模长部分用于建模分属不同语义层级的实体;角度部分用于建模属于相同语义层级的实体。实验结果表明 HAKE 的性能优于现有的性能最好的方法。进一步分析结果显示,训练得到的模型中模长与角度的表现与预期相符,能够很好地对语义层级进行建模。

OpenKG

开放知识图谱(简称 OpenKG)旨在促进中文知识图谱数据的开放与互联,促进知识图谱和语义技术的普及和广泛应用。

发表评论

电子邮件地址不会被公开。 必填项已用*标注