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

本文转载自公众号:PaperWeekly。

论文作者:蔡健宇,中国科学技术大学,研究方向:知识图谱



近些年,知识图谱(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)旨在促进中文知识图谱数据的开放与互联,促进知识图谱和语义技术的普及和广泛应用。

点击阅读原文,进入 OpenKG 博客。

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

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

相关文章

美团背后的商业模式是什么?后疫情时代该走向何方?

文 | King James知乎本文已获作者授权&#xff0c;禁止二次转载2020年的疫情&#xff0c;让10年前的一部剧再次进入人们的视线中&#xff0c;那就是《我的团长我的团》传统社区团购和各大互联网巨头都广发英雄帖招聘社区团购的团长&#xff0c;感觉回到了10年前那场“百团大战”…

LeetCode 783. 二叉搜索树结点最小距离(中序遍历)

1. 题目 给定一个二叉搜索树的根结点 root, 返回树中任意两节点的差的最小值。 示例&#xff1a;输入: root [4,2,6,1,3,null,null] 输出: 1 解释: 注意&#xff0c;root是树结点对象(TreeNode object)&#xff0c;而不是数组。给定的树 [4,2,6,1,3,null,null] 可表示为下图…

Kubernetes 1.20 版本开始将弃用 Docker,是时候拥抱 Containerd 和 Podman 了!

Kubelet 中对 Docker 支持被弃用&#xff0c;并将在以后的版本中删除。Kubelet 使用一个名为 dockershim 的模块&#xff0c;该模块实现了对Docker的 CRI 支持&#xff0c;在此PR后续版本将删除dockershim。 Kubectl 弃用 --delete-local-data 参数。 名词解释 上面中提到两个名…

开源开放 | OpenKG 更新发布新冠概念、防控和流行病等多个知识图谱

近日&#xff0c;OpenKG 继续更新发布多个新冠知识图谱&#xff0c;其中包括哈尔滨工业大学构建的新冠概念图谱&#xff0c;武汉科技大学与东南大学联合构建的新冠防控图谱。同时&#xff0c;更新了由 IBM 中国研究院构建的流行病学图谱 V1.1。OpenKG 发布的所有新冠知识图谱都…

客户端单周发版下的多分支自动化管理与实践

背景 目前&#xff0c;互联网产品呈现出高频优化迭代的趋势&#xff0c;需求方希望尽早地看到结果&#xff0c;并给予及时反馈&#xff0c;所以技术团队需要用“小步快跑”的姿势来做产品&#xff0c;尽早地交付新版本。基于以上背景&#xff0c;美团客户端研发平台适时地推行了…

无意中发现了一位清华大佬的代码模版

对于刷题相关的文章&#xff0c;在之前我也推荐过不少&#xff0c;今天在给大家推荐一份算法刷题笔记&#xff0c;这份笔记与以往的刷题有所区别&#xff0c;作者把 Leetcode 一千多道题都进行了系统的整理&#xff0c;并且对于每一道题的代码&#xff0c;都要求 beat 100%。作…

LeetCode 998. 最大二叉树 II

1. 题目 向最大二叉树插入一个值&#xff1b; 如果该值大于根节点&#xff0c;则子树必须在该值的左边&#xff1b; 如果该值小于根节点&#xff0c;则该值必须在根节点的右子树 2. 解题 class Solution { public:TreeNode* insertIntoMaxTree(TreeNode* root, int val) {if(…

科大讯飞2020完整事件抽取系统(bert+数据集)

科大讯飞2020完整事件抽取系统(bert数据集) 事件抽取将非结构化文本中的事件信息展现为结构化形式&#xff0c;在舆情监测、文本摘要、自 动问答、事理图谱自动构建等领域有着重要应用。在真实新闻中&#xff0c;由于文本中可能存在句式 复杂&#xff0c;主被动转换&#xff0…

应用实践 | 网络智能运维下的知识图谱

本文转载自公众号&#xff1a;网络人工智能园地。让AI更智能&#xff0c;谷歌要用知识图谱让AI像人一样理解世界。让AI更智能&#xff0c;我们要用知识图谱让AI像网络专家一样了解网络。知识图谱引领人工智能从感知阶段演进到认知阶段&#xff0c;成为当前的热点技术之一&#…

还在买白酒?算法工程师们,量化投资了解一下

文 | 阿财知乎 本文已获作者授权&#xff0c;禁止二次转载赚取你认知中的Alpha坚持用量化的观点去看待宇宙的终极问题&#xff1a;买不买&#xff0c;卖不卖。很多人的在互联网这一片方寸之地&#xff0c;表现出来的行为是矛盾的。举个例子&#xff0c;相信技术指标在交易实践毫…

LeetCode 969. 煎饼排序

1. 题目 给定数组 A&#xff0c;我们可以对其进行煎饼翻转&#xff1a;我们选择一些正整数 k < A.length&#xff0c;然后反转 A 的前 k 个元素的顺序。我们要执行零次或多次煎饼翻转&#xff08;按顺序一次接一次地进行&#xff09;以完成对数组 A 的排序。 返回能使 A 排…

论文浅尝 | 用于低资源条件下知识图谱补全的关系对抗网络

论文作者: 邓淑敏&#xff0c;浙江大学在读博士&#xff0c;研究方向为低资源条件下知识图谱自动化构建关键技术研究。Ningyu Zhang, Shumin Deng, Zhanlin Sun, Jiaoyan Chen, Wei Zhang, Huajun Chen. Relation Adversarial Network for Low Resource Knowledge Graph Comple…

Spring Boot引起的“堆外内存泄漏”排查及经验总结

背景 为了更好地实现对项目的管理&#xff0c;我们将组内一个项目迁移到MDP框架&#xff08;基于Spring Boot&#xff09;&#xff0c;随后我们就发现系统会频繁报出Swap区域使用量过高的异常。笔者被叫去帮忙查看原因&#xff0c;发现配置了4G堆内内存&#xff0c;但是实际使用…

Facebook刷新开放域问答SOTA:模型训模型!Reader当Teacher!

文 | Sherry 不是小哀编 | 小轶一部问答系统发展史就是一部人工智能发展史。早在1950年的图灵测试就提出&#xff1a;如果人类无法通过问答将机器和人区分开&#xff0c;那么这个机器就可以被认为具有智能。问答系统和人工智能有着密不可分的关系。从基于规则和结构化数据的自动…

LeetCode 1038. 从二叉搜索树到更大和树(逆中序-右根左-降序)

1. 题目 2. 解题 二叉搜索树 逆中序遍历&#xff08;右根左&#xff09;是降序的 class Solution { public:TreeNode* bstToGst(TreeNode* root) {stack<TreeNode*> stk;int sum 0;TreeNode *rootcopy root;while(root || !stk.empty()) {while(root){stk.push(root);…

Inode 导致 电脑的网络适配器和访问点出现问题

1 电脑好好的&#xff0c;由于项目原因需要安装inode去访问外网的数据集。安装好inode没有什么问题&#xff0c;网络依然可以用。然后不小心重启了一下电脑&#xff0c;发现电脑所有的网络均不正常。网络诊断是电脑的适配器和访问点出现故障。根据网络上的解决方案&#xff0c;…

应用实践 | 南方科技大学研发基于新型冠状病毒知识图谱模式挖掘系统

本文转载自公众号&#xff1a;南方科技大学计算机科学与工程系。随着新型冠状病毒疫情的不断发展&#xff0c;有关疫情的各类信息也在不断更新&#xff0c;如何利用知识图谱从大量新型冠状病毒肺炎信息中高效挖掘相关频繁模式&#xff08;如病毒的宿主、传播途径&#xff09;成…

java.lang.NoClassDefFoundError: * : Landroid/support/v7/gridlayout/R$styleable 异常终极解决办法

该问题解决办法适用于任何类似问题。 问题的标准异常描述为&#xff1a;java.lang.NoClassDefFoundError: Failed resolution of: Landroid/support/v7/gridlayout/R$styleable 今天由于项目需要&#xff0c;想在项目中使用GridLayout&#xff0c;无奈&#xff0c;标准库中的…

训练一个130亿参数的模型要用几个GPU?微软:一个就够

文&#xff5c;蛋酱、张倩源&#xff5c;机器之心现在的模型动辄数百、数千亿参数&#xff0c;普通人训不动怎么办&#xff1f;前不久&#xff0c;谷歌发布了参数量为 1.6 万亿的语言模型Swith Transformer&#xff0c;将 GPT-3 创下的参数量记录&#xff08;1750 亿&#xff0…

技术年货:美团技术沙龙合辑大放送——85个演讲,70+小时视频

你好&#xff0c;2019 再见&#xff0c;2018 又到了一年辞旧迎新的时候&#xff0c;大家应该也和美美一样&#xff0c;在忙着总结回顾和展望规划吧。 按老惯例&#xff0c;我们该献上技术年货了。今年首先出场的&#xff0c;是我们的技术沙龙大套餐&#xff01; 美团技术沙龙是…