©作者 | 李韧

单位 | 中科院信工所

研究方向 | 知识图谱

本文是对中科院信工所曹亚男老师组发表于 AAAI 2022 的知识图谱表示学习工作的中文介绍,相关论文、代码都已开源,欢迎大家交流讨论。

论文标题:

How Does Knowledge Graph Embedding Extrapolate to Unseen Data: A Semantic Evidence View

论文作者:

李韧,曹亚男,朱倩男,毕冠群,方芳,柳毅,李倩

收录会议:

AAAI 2022

论文链接:

https://arxiv.org/abs/2109.11800

代码和数据:

https://github.com/renli1024/SE-GNN

引言

知识图谱表示学习任务(Knowledge Graph Embedding,KGE)旨在为知识图谱中的实体和关系学习低维向量表征。当前很多 KGE 模型能够对未知数据展现出良好的外推(extrapolate)性能,即给定一个没有见过的三元组数据 ,模型仍能正确地由 预测出 ,或由 预测出 ,这种外推能力令人印象深刻。

但目前⼯作大多关注于设计复杂精巧的三元组建模函数,这只描述了模型是如何刻画已有数据的,并没有告诉我们其是如何外推到未知数据的,这不利于我们深入理解 KGE 模型的运行机制及其实际应用效果。因此在本工作中我们主要研究了两个问题:1. KGE 模型是如何进行外推的?2. 如何设计具备更强外推能力的 KGE 模型?

针对问题 1,我们基于语义匹配的视角,在关系、实体和三元组层面上分别提出了三种语义证据,并通过对广泛的基线模型的实验分析,验证了这三种语义证据在模型外推方面的重要作用。

针对问题 2,为了更好地利用外推信息,我们将三种语义证据融入到邻域模式中,设计了一种新颖的图神经网络模型用于学习知识图谱嵌入表示,称为语义证据感知图神经网络(Semantic Evidence aware Graph Neural Network,SE-GNN),以更显示、充分的方式对三种语义证据进行了建模。

在知识图谱公开数据集 FB15k-237 和 WN18RR 上的实验结果表明了我们模型的有效性,以及具备更强大的外推能力。

知识图谱外推能力分析

2.1 语义证据的定义与量化

针对知识图谱三元组的预测问题 ,我们首先将其看作一个 query 与 的语义匹配任务。若模型能够对未见过的数据进行正确预测,则说明 query 和 在训练过程中学习到了某种语义关联性,因此我们从关系、实体和三元组层面分别提出了三种语义关联性的可能来源:

关系层面 & :若训练集中 频繁出现在包含 的 query 中,即存在大量 query ,则 会学习到推断 的重要信息。直观上可认为是 的类型信息,如 query , born_in 预测出“佛罗里达”的概率,肯定比预测”钢铁侠“的概率高,而不论 具体是什么;

实体层面 & :若训练集中存在 到 的其他间接 query 路径,则会为 提供依据。比如若存在 query mother 、query ,则对于推断 query grandmother 会提供依据;

三元组层面 query & :若训练集中存在 query ,且有 和 非常相似,则模型同样可以自然地推断出 。

上述三类语义关联性都可以从训练集中观测到,因此对于一个未知数据 ,虽然模型没有直接在其上进行过训练,但也已经从观测数据中获得了足够的信息,因此可以帮助其做出正确的预测。我们将这三类语义关联性称为语义证据(Semantic Evidence,SE),以表明其对模型外推提供了重要的支撑信息。

三类语义证据的直观展示可见图 1,可理解为:若我们观测到大量的 ,则有 ;若观测到大量的 ,则有 ;若观测到大量的 ,且 与 非常相似,则有 。

▲ 图1 三类语义证据的直观展示

之后我们分别对三类语义证据进行了定量描述,提出了对应的三个指标。对于关系语义证据,其为训练集 中 和 的共现次数:

对于实体语义证据,其为训练集中 到 的路径数,为简化问题这里控制路径长度 :

对于三元组语义证据,其为训练集中 和其他正例实体 的相似度之和:

这里为了衡量两个实体 和 的相似度,我们借鉴了自然语言处理领域的分布式语义假设,即”出现在相似上下文中的单词倾向于拥有相似的含义“(words that are used and occur in the same contexts tend to purport similar meanings)[1],使用两个实体的邻居(上下文)相似度来衡量其语义相似度。

2.2 语义证据的实验验证 

之后我们对所提出语义证据的有效性进行了实验验证。我们选取了 FB15k-237 数据集,将其中的测试数据按语义证据指标的大小由低到高分为三个区间(也即表明语义证据强度的由弱到强),分析每个区间内模型的外推性能。

之后我们分别在三类 KGE 工作中挑选了具有代表性的模型进行复现,包括平移距离模型:TransE [2]、RotatE [3],语义匹配模型:DistMult [4]、ComplEx [5]、ConvE [6],基于图神经网络的模型:CompGCN [7]。实验结果如图 2 所示:

▲ 图2 语义证据的实验验证

其中横坐标为证据强度,纵坐标为 数据的预测排序值(越低越好,1 为最好)。我们可以看出对于所有 KGE 模型,都有外推性能随着证据强度的增大而提升。当语义证据欠缺时,模型的外推效果也会很差,如最左侧的柱子;而当存在丰富的语义证据时,模型对未知数据的外推效果也会随之提升,如最右侧的柱子。这说明,无论对于哪一种 KGE 模型,三类语义证据在模型外推过程中都发挥着重要作用,充分验证了我们所提出的语义证据概念的有效性。

除了定量实验外,我们对语义证据也进行了定性的实例分析(Case Study),结果如图 3 所示:

▲ 图3. 语义证据的实例分析

对于关系语义证据,假如我们想预测 (San Diego, travel_month, ?)→December,即 San Diego 适合旅游的月份,若我们在训练集中已经观测到了(Miami, travel_month, ?)→December(Zurich, travel_month, ?)→December(Melbourne, travel_month, ?)→December,则我们一方面会知道 December是一个月份实体,其次它是一个热门的旅游时间段(可能因为圣诞假期),因此当我们在对 San Diego 进行预测时,就会倾向于预测出 December

对于实体语义证据,假如我们想预测 (Robert Downey Jr, live_in, ?)→New York City,即 Robert Downey Jr的居住地点,若我们在在训练集中已经观测到他出生在 New York City、他的朋友居住在 New York City、他的妻子居住在 New York City,那我们会倾向预测 Robert Downey Jr 的居住地也为 New York City

对于三元组语义证据,假如我们要预测 (Freshman Program, major, ?)→Computer Science,即新生项目包含的专业,若我们已经知道新生项目包含 Mathmatics 专业、Electrical Eng. 专业和 Chemical Science 专业,且这三类专业都和 Computer Science 非常相似,则我们可以推断新生项目也应该包含 Computer Science 专业。

上述只是某一方面语义证据发挥作用的场景,在实际过程中三类语义证据会共同起作用,来帮助模型做出正确的预测。最右侧列出了各类模型的预测结果,我们也可以看出对于具备充分语义证据的数据,所有模型都表现出了较好的外推性能。

语义证据感知的图神经网络SE-GNN

针对问题 2:如何设计具备更强外推能力的 KGE 模型。因为当前 KGE 模型在设计时并未考虑外推因素,所以大多只能通过隐式、不充分的方式来捕获上述语义证据信息,这在一定程度上限制了模型的外推性能。因此在在本文,我们将三种语义证据显示地通过邻域模式进行捕获,并通过 GNN 的邻域聚合机制进行充分建模,设计了语义证据感知的图神经网络模型(Semantic Evidence aware Graph Neural Network,SE-GNN),模型结构可见图 4:

▲ 图4. SE-GNN模型结构图

SE-GNN 由三部分组成,分别建模了知识图谱中的三种邻域模式,用于捕获三类语义证据信息。具体来说,关系语义证据描述了每个实体的关系交互情况,因此可以通过知识图谱中的邻域关系模式来捕获,计算公式如下:

其中 为实体 的关系语义证据表征, 为隐层维度; 是关系 的嵌入表征; 为实体 的邻居集合,包括邻居节点 和连接关系 ; 是线性变换矩阵, 是非线性激活函数; 是注意力机制计算的聚合权重,计算公式如下:

是实体 的嵌入表征。我们使用点积注意力来动态计算每个邻接关系 相对中心节点 的重要性程度。

对于实体语义证据,其描述了实体间的路径信息,可以通过知识图谱的邻域实体模式来获取。通过聚合邻居节点一次,我们可以捕获到所有长度为1的路径信息,而通过 GNN 的多层聚合机制我们可以获取到更长的路径信息,这里我们只介绍单次聚合的公式,整个模型的架构会在之后介绍:

为实体 的实体语义证据表征; 同样为注意力机制计算的聚合权重,公式如下:

对于三元组语义证据,其描述了邻域三元组模式下的实体相似性特性,因此在聚合时应同时考虑邻域实体信息和邻域关系信息,计算公式如下:

我们参考工作 CompGCN [7],引入实体-关系的组合函数 来融合邻居实体和邻居关系信息,可行选择有加法函数: ;乘法函数:;多层感知机函数: 等。此外和上文相似地,注意力权重 的计算公式如下:

最后,我们将三类语义证据表征与原先知识表征进行融合:

即得到一层 GNN 的计算过程。在多层 GNN 中,输出 可作为下一层的输入来迭代计算,通过多层聚合我们一方面可以捕获多跳的语义证据信息,同时也可以建模三类语义证据间的深层交互关系,以此来最终得到语义证据感知的知识图谱表征。最后我们将多层 GNN 的输出表征送入下游解码器(decoder)中,即完成整个任务流程。

实验结果

在实验阶段,我们选取了两个常用的知识图谱基准数据集,分别为 FB15k-237 和 WN18RR,SE-GNN 在两个数据集的知识图谱补全任务上的实验结果如图 5 所示:

▲ 图5. SE-GNN实验结果

从实验结果上可看出,在未见过的测试数据集上,SE-GNN 在 10 个指标中的 9 个都达到了当前最优,是所有基线模型中最好的结果,充分说明了 SE-GNN 的模型性能和外推效果;此外,SE-GNN 也取得了优于 CompGCN 模型 [7] 的效果,后者是一个经典的基于 GNN 的知识图谱表示学习工作,如在 MRR 指标上分别取得了 1.0% 和 0.5% 的提升,在 H@10 指标上分别取得了 1.4% 和 2.6% 的提升,这说明 SE-GNN 中用于捕获三类语义证据的邻域聚合函数是一种更有效的图结构建模思路,同时也具备更好的外推性能。

进一步地,我们对 SE-GNN 在三类语义证据上的建模效果也进行了具体分析。为控制变量,这里我们将 SE-GNN 与 ConvE 模型(SE-GNN 的解码器)进行了比较,且保证了参数一致,这样两者的唯一区别就在于 SE-GNN 的邻域聚合模块。实验结果如图 6 左所示,可见 SE-GNN(橙色柱子)在所有证据区间上都有更好的表现效果,说明 SE-GNN 具备更强的捕获语义证据的能力。

同时我们也对 SE-GNN 模型进行了消融实验,测试将三个语义证据的建模模块去掉一个、同时去掉两个后模型的效果变化,结果如图 6 右所示,可见模型效果都有不同效果的下降,说明了三个语义证据模块的重要性。

▲ 图6. SE-GNN对三类语义证据的建模效果

参考文献

[1] Harris, Zellig S. "Distributional structure."Word10.2-3 (1954): 146-162.

[2] Bordes, Antoine, et al. "Translating embeddings for modeling multi-relational data."Advances in neural information processing systems26 (2013).

[2] Sun, Zhiqing, et al. "RotatE: Knowledge Graph Embedding by Relational Rotation in Complex Space."International Conference on Learning Representations. 2018.

[4] Yang, Bishan, et al. "Embedding Entities and Relations for Learning and Inference in Knowledge Bases."Proceedings of the International Conference on Learning Representations (ICLR) 2015. 2015.

[4] Trouillon, Théo, et al. "Complex embeddings for simple link prediction."International conference on machine learning. PMLR, 2016.

[6] Dettmers, Tim, et al. "Convolutional 2d knowledge graph embeddings."Proceedings of the AAAI Conference on Artificial Intelligence. Vol. 32. No. 1. 2018.

[7] Vashishth, Shikhar, et al. "Composition-based Multi-Relational Graph Convolutional Networks."International Conference on Learning Representations. 2019.

更多阅读

#投 稿 通 道#

 让你的文字被更多人看到 

如何才能让更多的优质内容以更短路径到达读者群体,缩短读者寻找优质内容的成本呢?答案就是:你不认识的人。

总有一些你不认识的人,知道你想知道的东西。PaperWeekly 或许可以成为一座桥梁,促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。

PaperWeekly 鼓励高校实验室或个人,在我们的平台上分享各类优质内容,可以是最新论文解读,也可以是学术热点剖析科研心得竞赛经验讲解等。我们的目的只有一个,让知识真正流动起来。

AAAI 2022 | 知识图谱表示模型是如何外推的相关推荐

  1. 知识图谱——TransH模型原理

    知识图谱--TransH模型原理 1 从TransE到TransH模型 在之前的文章知识图谱--TransE模型原理中,我们介绍了TransE模型的基本原理,对于TransE模型而言,其核心思想为: ...

  2. ACL-BioNLP 2020 | 耶鲁大学实践成果:生物医药知识图谱嵌入模型基准测试

    今天给大家介绍的是耶鲁大学医学信息学中心主任Brandt教授实验室和爱丁堡大学的博士生联合发表在ACL-BioNLP 2020发表的文章"Benchmark and Best Practic ...

  3. 【知识图谱】本周文献阅读笔记(3)——周二 2023.1.10:英文)知识图谱补全研究综述 + 网络安全知识图谱研究综述 + 知识图谱嵌入模型中的损失函数 + 图神经网络应用于知识图谱推理的研究综述

    声明:仅学习使用~ 对于各文献,目前仅是泛读形式,摘出我认为重要的点,并非按照原目录进行简单罗列! 另:鉴于阅读paper数目稍多,对paper内提到的多数模型暂未细致思考分析.目的是总结整理关于KG ...

  4. BERT融合知识图谱之模型及代码浅析

    出品:贪心科技AI 作者:高阶NLP6期学员,吕工匠 最近小编在做一个文本分类的项目,相比一般的文本分类任务,其挑战之处在于: 1)特征很少:训练数据的文本很短,3~5个字符 2)类别很多:>3 ...

  5. 知识图谱嵌入模型之TransE算法

    知识图谱嵌入 知识图谱是一个三元组组成的集合,将头尾实体通过关系连接成一个图,而知识图谱存在一个问题,就是离散的图结构是不能够进行语义计算的,为帮助计算机对知识进行计算,解决数据稀疏性,可以将知识图谱 ...

  6. 评测通知 | 2022年全国知识图谱与语义计算大会评测任务发布

    一.任务简介 CCKS技术评测旨在为研究人员提供测试知识图谱与语义计算技术.算法.及系统的平台和资源,促进国内知识图谱领域的技术发展,以及学术成果与产业需求的融合和对接.去年,CCKS 2021评测竞 ...

  7. 智慧城市知识图谱模型与本体构建方法

    智慧城市知识图谱模型与本体构建方法 臧根林1,2, 王亚强1,2, 吴庆蓉1,2, 占春丽1,2, 李熠3 1 拓尔思知识图谱研究院,广东 广州 510665 2 广州拓尔思大数据有限公司,广东 广州 ...

  8. 知识图谱-第三方工具:LibKGE(用于Knowledge Graph Embedding)【包含多种模型:TransE、DistMult、ComplEx、ConvE、Transformer等】

    用于Knowledge Graph Embedding的向量表示库有很多,比如: LibKGE GraphVite AmpliGraph OpenKE pykeen pykg2vec LibKGE的主 ...

  9. 技术动态 | 「新一代知识图谱关键技术」最新2022进展综述

    转载公众号 | 专知 链接:https://crad.ict.ac.cn/CN/10.7544/issn1000-1239.20210829 近年来,国内外在新一代知识图谱的关键技术和理论方面取得了一 ...

最新文章

  1. OLAP与OLTP介绍
  2. Spring MVC @RequestMapping注解详解
  3. pandaboard ES学习之旅——2 ES环境搭建
  4. C# using static 声明
  5. ajax面试技术回答模板
  6. 罗永浩卖半价iPhone秒没,网友晒开挂软件,怪不得你抢不到
  7. mysql数据库约束详解_MySQL数据库中的外键约束详解
  8. 解决getJSON跨域登录Session丢失的问题
  9. 视频文件损坏怎么修复,赤兔视频修复软件助您
  10. imei模拟修改_教你如何修改任意安卓模拟器的机型IMEI手机号等信息 海马玩 Windroye等适用...
  11. cocos-lua 获取鼠标点击位置
  12. 怎么用计算机打出音乐符号,音乐符号怎么打(教你word文档音乐符号怎么打)...
  13. ora-01033错误恢复
  14. 音频降噪-fir滤波器
  15. 日常问题:上传接口报错
  16. ValueError: Input 0 of node ... was passed float from ... incompatible with expected float_ref.
  17. 深度学习笔记(3)——pytorch+TextCNN实现情感分类(外卖数据集)
  18. 【参赛作品61】openGauss/MogDB大对象LargeObject存取测试
  19. 三国志9如何培养新武将
  20. 古堡算式 福尔摩斯到某古堡探险,看到门上写着一个奇怪的算式: ABCDE * ? = EDCBA

热门文章

  1. 共享单车神经网络预测(pytorch )每行代码详细解释
  2. vue项目播放H.265编码视频流
  3. 仿网易云音乐(微信小程序版)
  4. 自监督模型---概述
  5. win10如何打开heic文件
  6. android根据银行卡卡号前6位获得归属银行
  7. poi 通过浏览器导出excel文件打不开
  8. python 拼音 英文识别_python识别一段由字母组成的字符串是否是拼音
  9. Quick Bi经验总结
  10. 单片机该不该用C++?