论文浅尝 | 预训练Transformer用于跨领域知识图谱补全

1a233b5bd83c51566ce5d03b63f713b9.png

笔记整理:汪俊杰,浙江大学硕士,研究方向为知识图谱

链接:https://arxiv.org/pdf/2303.15682.pdf

动机

传统的直推式(tranductive)或者归纳式(inductive)的知识图谱补全(KGC)模型都关注于域内(in-domain)数据,而比较少关注模型在不同领域KG之间的迁移能力。随着NLP领域中迁移学习的成功,目前有不少研究使用预训练的语言模型来提高KGC模型的表现,或者同时训练语言模型和KGC模型提升下游NLP任务的表现。尽管这种在结构化的KG和非结构化的文本之间的迁移已经取得了进展,但是关于将模型从一个KG迁移到其他KG的研究还比较少。因此,这项工作的目标是预训练一个Transformer-based可以同时用于transductive和inductive任务的知识图谱补全模型,并且从非结构化文本和结构化KG中同时学习可迁移的知识表示。

贡献

本论文的主要贡献如下:

(1). 提出了一个新的知识图谱补全模型iHT,使用实体的文本信息和实体的邻居进行实体的表示,可以同时用于transductive和inductive KGC;

(2). 在百科全书式大型知识图谱Wikidata5M上进行预训练,预训练的链接预测取得了比传统方法更好的效果;

(3). 将预训练的模型iHT迁移到小型知识图谱上进行微调,取得了比传统模型以及预训练语言模型更好的效果;

方法

c82e5460e83c5591f0620ef5d9052320.png

1. 预训练

预训练阶段使用的数据集为Wikidata5M,数据集里面的每个实体都有一段文本描述,作者首先构造了Entity Transformer输入每个实体的文本描述从而得到每个实体的表示。因为有实体文本的存在,所以在inductive KGC任务下,测试中没有见过的实体可以通过文本的内容进行表示。此处Entity Transformer的初始化参数来自于预训练的语言模型BERT,从而更好获取实体文本中蕴含的知识。

在E ntity Transformer之后,作者又设置了Context Transformer。对于一个训练样本(h,r,t)来说,会随机采样K个头实体(h)的邻居以及相连的关系(r)作为这个训练样本的环境信息(Context),Context Transformer的输入为CLS token、hr,以及h的Context组成的序列。在Context Transformer最后一层GCLS token的embedding将用于之后的链接预测(link predication)。

在link prediction这一步,如果是在训练阶段,每个batch内将会随机采样N个实体作为负样本,将这N个错误的实体与正确的尾实体都和GCLS的embedding计算点乘相似度作为分数,得到N+1维的预测向量,再将此预测向量和one-hot标签计算交叉熵损失。而在预测阶段,这一步将会使用所有的候选实体计算预测分数。

2. 模型迁移

在Wikidata5M上完成iHT的预训练之后,作者将其迁移到小型知识图谱FB15K-237和WN18RR上进行微调。这两个小型KG与预训练的KG存在区别,故可以视为是跨领域的知识图谱补全,虽然FB15K-237中的实体大多数都在Wikidata5M中出现过,但是关系的分布存在区别,作者统计得出在FB15K-237中有80%的头尾实体对是没有在Wikidata5M中出现过的,故也能在一定程度上说明模型的迁移能力;而WN18RR和Wikidata5M的区别会更大,他们的数据源和内容都不一样,因此更能说明模型在不同领域KG之间的迁移能力。

实验

本文在预训练和迁移实验中分别用到了Wikidata5M、FB15K-237和WN18RR三个数据集,并且每个数据集都有transductive和inductive两个版本,数据集的统计信息如下:

2b7f9f9409b23756f07af995c32e0e6d.png

实验的部分参数设置如下:

3237fab18925bfd479c2738db3220543.png

1. 预训练实验

在预训练阶段,作者测试了模型的表现能力,在transductive设定下的实验结果为:

2bc08e236cacf075409d2907bf883513.png

表格的上半部分为传统的KGE模型,下半部分为Transformer-based并且使用了数据集中文本信息的模型,这些Transformer-based模型与本文所提出的模型的主要区别在于Decoder部分,例如MLMLM和KGT5都利用语言建模目标的分布来估计目标实体的可能性,而KEPLER使用类似TransE的评分函数。可以看出不管与哪种模型比较,本文的新模型iHT都取得了最优的效果。在inductive设定下,本文的模型iHT也依然取得了最优效果,具体表现如下所示:

84ac57d0ee171f51b2560f01ae0ea655.png

随后作者做了预训练阶段的消融实验,结果如下表所示:

42eb711acb086b474a4df9e4db512b51.png

为了节约时间,作者在消融实验阶段只设置了5个epoch,所以完整实验结果会与主实验存在微小差异,但并不影响对于模型效果影响因素的探究。第一行是在Context Transformer中使用了头实体邻居信息的结果;第二行是没有使用头实体邻居信息的结果,可以看出在Transductive情境下实体的邻居信息对于实验效果起到了一定程度的贡献;第三行Early Fusion代表着在Entity Transformer中融入关系信息(具体实现方法论文中未详细阐述),可以看出提前给模型关于关系的信息可以提高模型在KGC任务上的表现,但这也会带来效率的下降,因此是否使用提前使用关系信息可以视为在模型表现和模型效率之间的权衡;第四行Random init代表不使用预训练的语言模型BERT进行参数初始化,而是使用参数随机初始化的Transformer模型,在给定的训练epoch下,模型的表现出现了较大程度的下降,因此可以证明预训练的语言模型在训练资源有限的情况下可以帮助理解实体的文本信息从而提高KGC模型的表现;最后一行Entity name代表的是实体的文本类型对于模型性能的影响,在消融实验中作者将实体的文本替换为长度更短、信息更少的实体名称,结果实验效果出现了最大幅度的下降。从上可以看出,在作者设计的模型中,预训练语言模型以及语料信息起到非常大的作用。

2. 迁移实验

作者将预训练之后的模型iHT在两个小型知识图谱上进行了微调,并测试了链接预测的实验结果,如下表所示:

4675eb1eb884a0820aa075ff993cb908.png

作者对比了两个从头训练的baseline模型,并对比了有无Wikidata5M预训练的模型,表格中WD代表使用在Wikidata5M上预训练过的模型进行微调的测试结果,未带WD的实验结果为直接使用预训练的语言模型BERT进行微调的结果,可以看出使用大型知识图谱预训练过的模型会比原始的BERT效果更好一点,说明了在一个KG上预训练然后迁移到另外一个KG上会比直接使用预训练的语言模型迁移到KG上效果更好。

论文还进一步探究在迁移实验下不同的训练数据量对于模型表现的影响,实验结果对下表所示:

56641b58ff26617af2e542127d652906.png

在任何体量的训练数据下,使用Wikidata5M大型知识图谱预训练的模型的链接预测效果都比不进行预训练的效果更好,值得注意的是,在WN18RR数据集中使用10%的训练数据原模型就可以达到0.3以上的MRR,对比使用全量训练数据且未经KG预训练的语言模型的MRR(0.438),已经可以达到其70%以上的效果。可见在大型知识图谱上进行预训练有望减少下游迁移任务的训练数据量要求。

总结

这篇论文提出了一个Transformer-based可以用于inductive KGC和transductive KGC的模型,模型适用于有实体文本信息的数据。在这样的设定下,Wikidata5M上的预训练结果不管在transuctive还是inductive情境下都取得了SOTA效果。最后将Wikidata5M上预训练过的模型迁移到了FB15K-237和WN18RR上进行微调,证明了使用语言模型在大型KG上进行预训练之后,可以提升它在其他领域KG上的表现。


OpenKG

OpenKG(中文开放知识图谱)旨在推动以中文为核心的知识图谱数据的开放、互联及众包,并促进知识图谱算法、工具及平台的开源开放。

da08db8f3bd648ed8e7e8fa1d3b22969.png

点击阅读原文,进入 OpenKG 网站。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

无涯教程-jQuery - scrollLeft( val )方法函数

scrollLeft(val)方法用于将所有匹配元素上的向左滚动偏移量设置为传递的值。 此方法适用于可见和隐藏元素。 scrollLeft( val ) - 语法 selector.scrollLeft( val ) 这是此方法使用的所有参数的描述- val - 代表所需滚动左偏移量的正数。 scrollLeft( val ) - 示例 以…

同为科技(TOWE)带热插拔功能机柜PDU插座的应用

所谓热插拔(hot-plugging或Hot Swap),即带电插拔,指的是在不关闭系统电源的情况下,将模块、板卡插入或拔出系统而不影响系统的正常工作,从而提高了系统的可靠性、快速维修性、冗余性和对灾难的及时恢复能力…

24考研数据结构-树与二叉树的基本概念

目录 第五章:树5.1树的基本概念5.1.1树的定义5.1.2 基本术语5.1.3 树的性质 5.2二叉树的概念5.2.1 二叉树的定义与特性5.2.2 几种特殊的二叉树5.2.3 二叉树的性质5.2.4 完全二叉树的性质5.2.5 二叉树的存储结构1. 顺序存储重要的基本操作非完全二叉树2. 链式存储逆向…

十大排序|十大排序

稳定排序&#xff1a;冒泡排序、插入排序、归并排序、基数排序、桶排序 不稳定排序&#xff1a;选择排序、快速排序、希尔排序、堆排序 二、插入排序&#xff1a; 代码&#xff1a; #include<iostream> #include<cstdio> #include<stdlib.h> #include<ve…

测试|Selenium介绍及环境搭建

测试|Selenium介绍及环境搭建 1.Selenium是什么 Selenium是用来做web网站 UI自动化的测试工具/测试框架。 我们这里说的Selenium是Selenium2.0&#xff0c;它由Selenium IDE&#xff0c;Webdriver, Selenium Grid组成。 Selenium IDE是用于Selenium测试的完成集成开发环境&…

主流开源监控系统一览

减少故障有两个层面的意思&#xff0c;一个是做好常态预防&#xff0c;不让故障发生&#xff1b;另一个是如果故障发生&#xff0c;要能尽快止损&#xff0c;减少故障时长。而监控的典型作用&#xff0c;就是帮助我们发现及定位故障&#xff0c;这两个环节对于减少故障时长至关…

使用vscode进行远程开发服务器配置

1.下载vscode 2.给vscode 安装python 和 remote ssh插件 remote—SSH扩展允许您使用任何具有SSH服务器的远程机器作为您的开发环境。 3.安装remote-SSH插件之后&#xff0c;vscode左侧出现电脑图标&#xff0c;即为远程服务&#xff0c;按图依次点击&#xff0c;进行服务器配置…

Redis-基于内存的key-value结构数据库

读写性高&#xff0c;适合存储热点性高的数据 也称为结构化的NoSql数据库 redis依赖环境&#xff1a;gcc NoSql 非关系型数据库&#xff0c;是关系型数据库的补充 关系型(RDBMS)非关系型(NoSql)MySqlRedisOracleMongo dbDB2MemCachedSQLServer 常用命令 Redis 教程_redi…

机器学习深入浅出

机器学习是一种人工智能的分支&#xff0c;它使用算法和数学模型来让计算机自主学习数据并做出预测和决策。这种技术正在被广泛应用于各种领域&#xff0c;包括自然语言处理、计算机视觉、语音识别、医学诊断和金融预测等。在本篇博客中&#xff0c;我们将介绍机器学习的基本概…

踩坑(5)整合kafka 报错 java.net.UnknownHostException: 不知道这样的主机

java.net.UnknownHostException: 不知道这样的主机。 (5c0c3c629db9)at java.base/java.net.Inet6AddressImpl.lookupAllHostAddr(Native Method) ~[na:na]at java.base/java.net.InetAddress$PlatformNameService.lookupAllHostAddr(InetAddress.java:933) ~[na:na]at java.ba…

【Spring Boot】请求参数传json对象,后端采用(pojo)CRUD案例(102)

请求参数传json对象&#xff0c;后端采用&#xff08;pojo&#xff09;接受的前提条件&#xff1a; 1.Spring Boot 的启动类加注解&#xff1a;EnableWebMvc 2.Spring Boot 的控制层接受参数采用&#xff1a;RequestBody Spring Boot 启动类&#xff1a;加注解&#xff1a;En…

论文阅读 - Few-shot Network Anomaly Detection via Cross-network Meta-learning

论文链接&#xff1a;https://arxiv.org/pdf/2102.11165.pdf 目录 摘要&#xff1a; 引言 问题定义 方法 Graph Deviation Networks Cross-network Meta-learning 摘要&#xff1a; 网络异常检测旨在找到与绝大多数行为显着不同的网络元素&#xff08;例如节点、边、子图…

数字化失败最关键原因是是老板问题,技术问题还是产品问题?

大家都知道失败率高达80%&#xff0c;这太夸张了&#xff0c;ERP导入都没有这个失败率&#xff0c;那到底为什么呢&#xff1f;​ 数字化失败的最关键原因可能因具体环境和情况而异。题主提到的每个因素&#xff08;老板问题、技术问题和产品问题&#xff09;都可能以不同的方…

Java三大特征之继承【超详细】

文章目录 一、继承概念二、继承的语法三、父类成员访问3.1子类中访问父类的成员变量3.2子类和父类成员变量同名3.3子类中访问父类的成员方法 四、super关键字五、子类构造方法六、super和this七、再谈初始化八、protected 关键字九、继承方式十、final 关键字十一、继承与组合 …

IntelliJ IDEA快捷键大全 + 动图演示!

一、构建/编译 Ctrl F9&#xff1a;构建项目该快捷键&#xff0c;等同于菜单【Build】—>【Build Project】 执行该命令后&#xff0c;IntelliJ IDEA 会编译项目中所有类&#xff0c;并将编译结果输出到out目录中。IntelliJ IDEA 支持增量构建&#xff0c;会在上次构建的基…

GC 深入(小白,对gc有一个进一步的了解)

垃圾回收器的搭配 一般固定 一般这年轻代垃圾回收器&#xff0c;老年代垃圾回收器&#xff0c;如上图搭配着使用 1.8呢默认就是最后边那哥俩 jvm调优 一个就是增加吞吐量 一个就是减少STW的时间。 三色标记算法&#xff08;理解根可达算法&#xff09; 并发的可达性分析 有…

Nacos配置中心设置Mongodb

目录 1.common模块导入nacos config依赖 2.common模块新建bootstrap.yaml 3.在自己的模块导入common模块依赖 4.打开nacos新建配置&#xff0c;发布 5.运行服务并测试 效果&#xff1a;在部署完成后&#xff0c;其他人可以自动连接到你本地mongoDB数据库&#xff0c;无需再…

小程序原生实现左右锚点联动

效果 wxml <view classbox><scroll-view scroll-y scroll-with-animation style"width:25%"><view classnav><view wx:for"{{navList}}" wx:keyindex class"title {{index active ?select:}}"data-index{{index}} bin…

Day02-作业(JavaScriptVue)

作业1&#xff1a;实现5秒之后&#xff0c;当前页面直接跳转到官网首页&#xff08;首页地址&#xff1a;https://www.itcast.cn&#xff09; 提示&#xff1a; 5秒之后&#xff0c;才触发某一个动作 素材&#xff1a; <!DOCTYPE html> <html lang"en"&g…

基于Amoeba读写分离(三十六)

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 目录 前言 一、概述 二、实验&#xff1a; 总结 前言 今天要学的是基于Amoeba读写分离。Amoeba是一个开源的关系型数据库管理系统&#xff0c;它支持读写分离的架构。在Amoe…
最新文章