知识增强的预训练语言模型系列之KEPLER:如何针对上下文和知识图谱联合训练
原创作者 | 杨健
论文标题:
KEPLER: A unified model for knowledge embedding and pre-trained language representation
收录期刊:
TACL
论文链接:
https://direct.mit.edu/tacl/article/doi/10.1162/tacl_a_00360/98089/
项目地址:
https://github.com/THU-KEG/KEPLE
01、问题
上一次我们介绍了ERNIE,其实类似的工作还有KnowBERT,它们的思路都是对知识图谱中的三元组表示学习,在编码实体间的关联信息后,通过对齐文本指称项将其注入到预训练语言模型之中。所不同的是KnowBERT不使用TransE,而是使用Tucker进行表示学习。
此外,KnowBERT设计了一个基于神经网络的实体链接器,该链接器能够获得和某个指称项关联的多个实体,从而为一个指称项注入多个实体的信息。
对这两个模型而言,知识的丰富程度都取决于知识表示的方法。然而传统的基于平移的表示学习方法没有考虑图谱的拓扑结构,也无法利用实体相关的文本信息编码实体。在这篇文章中,笔者将介绍该论文如何使用文本辅助图谱的表示学习,从而让实体向量蕴含更多的信息。
此外,在上次介绍ERNIE的文章中,笔者提到ERNIE使用基于自注意力机制来克服异构向量的融合。那么有没有可能在一开始就产生同构的表示向量,降低知识和文本向量融合的难度呢?
02、解决方案
为了避免异构向量的产生,作者使用同一个预训练语言模型编码实体和文本,从而生成处于同一语义空间的向量,并使用知识表示学习和掩码语言模型(MLM)作为预训练任务联合训练,共同更新模型参数。
具体而言,作者沿用RoBERTa作为基础模型,拼接实体的描述文本和特殊符号<s>作为模型的输入,从而为实体引入了更多的上下文信息。
考虑到RoBERTa采用双向关注的Transformer作为编码层,特殊符号<s>所对应的表示向量将包含整个序列的语义,因此作者将这一向量视为实体的初始化向量,该向量将用于TransE的损失函数计算,为预训练模型注入实体关联信息。模型的结构如下图所示:
为了比较不同的实体描述文本所产生的效果,作者设计了三种不同的描述文本组合来进行对比实验。第一种是使用实体的描述文本编码实体向量并随机初始化关系向量。给定三元组(h,r,t),向量编码过程如下:
其中E表示编码器,表示起始位置的特殊符号,T表示关系向量矩阵。
第二种是分别使用实体和关系的描述文本编码实体和关系的向量,其中头尾实体编码方式同上,关系向量的编码方式如下:
最后一种则是拼接实体和关系的描述文本编码实体向量,随机初始化关系向量,实体的编码方式如下:
在获得实体和关系的表示向量后,模型使用TransE中的损失函数计算损失值,更新模型参数。计算公式如下:
其中
为负样本,
gamma为边缘值,
dr则采用P=1的评分函数:
除了知识表示的预训练任务,模型仍然针对描述文本进行掩码,并预测掩码词,以避免模型出现参数遗忘的问题。模型总的损失函数为:
通过这种方式生成的向量既能够同时利用三元组结构信息和文本语义,又避免了引入外部实体链接器或者融合两类向量的编码层,保持了模型结构在预训练阶段和推理应用阶段的一致性。
传统的知识表示学习方法仅能够应用于转导式(transductive)链接预测任务,即只能判断训练阶段出现过的实体间的关系。
对于训练阶段未出现过的实体,由于无法获得对应的表示向量,也就无法判断彼此是否存在关联。使用预训练模型生成的实体向量则能够克服这一问题,应用到推导式(inductive)链接预测任务,关系分类任务甚至是信息检索任务[1]。
03、实验分析
实验主要包括针对下游任务测试实验和消融(ablation)实验。
3.1 下游任务测试实验
针对下游任务,作者使用关系分类和实体分类这两个知识驱动型任务检验知识注入的有效性。此外,该方法也为实体向量注入了文本信息,为了检验文本信息对实体向量的性能提高,作者还使用推导式和转导式链接预测任务进行实验对比。
除了上述提到的三种不同的描述文本,作者还考虑了不同知识图谱对模型性能的影响,并根据这两个变量设计了以下的模型变种(Variant)。
其中KEPLER-Wiki仅使用作者自己构建的Wikidata5M图谱,KEPLER-WordNet仅使用WordNet图谱,而KEPLER-W+W则使用两类图谱。
以上三个模型都使用实体描述文本编码实体,KEPLER-Rel同样使用两类图谱进行训练,但分别使用实体和关系的描述文本编码二者。KEPLER-Cond也使用两类图谱进行训练,使用包含实体和关系的描述文本编码实体。
关系分类任务的实验结果如图1所示,结果表明,相比ERNIE、KnowBERT和RoBERTa等基准模型以及其他变种模型,KEPLER-Wiki取得了最高的F1值和召回率,对比不同描述文本产生的性能差异,可以发现使用包含实体和关系的描述文本编码实体并没有提高模型在该任务上的性能,但在链接预测任务上有很大的性能提升,笔者认为这可能是因为关系分类任务更倾向于获取实体信息,含有别的关系描述文本反而干扰了实体的准确性。
相比另外两类变种模型,KEPLER-Rel的F1值最低,这是由于Wikidata中关系的描述内容很短并且和普通文本异构,使用关系描述对关系编码反而恶化了模型的性能。
图1 基于TACRED数据集的关系分类任务
对比不同知识图谱产生的性能差异,可以发现同时使用Wikidata5M和WordNet训练反而不如仅仅使用Wikidata5M,笔者认为WordNet是以词义作为关联信息的知识图谱,会连接存在近义或者反义的实体,与Wikidata关联方式不一致, 这也说明了不同组织方式的图谱可能会存在冲突。
实体分类任务的实验结果同样显示KEPLER-Wiki取得了比基准模型更好的结果,其中F1值比ERNIE高出1.3%,比KnowBERT高出0.6%。
此外,在GLUE数据集上KEPLER-Wiki取得了和RoBERTa相近的结果,表明模型在注入知识后保持了预训练语言模型原有的语言理解能力。
链接预测任务的实验结果显示KEPLER-Cond取得了最好的效果,表明实体和关系的描述文本在该任务中能帮助模型更准确的预测出尾实体。
3.2 消融实验
为了检测模型所具有的知识含量,作者使用LAMA数据进行实验,考虑到数据可能包含字面上的线索提示模型生成正确答案,作者还使用了LAMA-UHN测试模型。
结果发现KEPLER-W+W虽然在关系分类任务上不如KEPLER-Wiki,但在LAMA-UHN上却取得了最高的正确率。这表明不同的下游任务需要不同类型的知识图谱。
在计算效率方面,由于模型并没有引入额外的参数或者架构,因此对比ERNIE和KnowBERT,模型在训练和推理阶段所需的时间都更短。
在低频词语义学习方面,作者按照单词在训练语料中出现的频率从高往低分成了五组,并使用RoBERTa和KEPLER对这些词进行实体对齐实验,结果发现当对于低频词,KEPLER比RoBERTa的实体预测准确率更高。
由于训练语料存在长尾分布的特征,低频词无法从上下文文中充分学习语义,而KEPLER通过外部描述文本弥补了这一缺陷。
04、点滴思考
模型通过引入描述文本带来了以下几个好处,一是解决了分别对文本和知识编码造成的异构向量问题,二是保持了和原有模型相同的结构,减少了训练时长和额外的工程实现。三是弥补了预训练语言模型低频词无法充分学习语义的缺陷。
然而这种方法也依赖于具有充分准确的实体和关系描述文本,适用于具有实体简介语料如医疗领域的术语词条的领域知识增强。
在不具备实体描述文本的情况下,我们也可以考虑使用实体所在图谱的上下文,也即实体在图谱的路径帮助实体表示向量的学习,通过采样局部的结构图并构造实体的上下文,也能帮助模型获取更多的信息[2][3]。
此外,我们在这篇论文中看到了借用预训练语言模型,可以用实体的介绍文本初始化实体向量,从而解决文本和知识向量存在于异构向量空间的问题。问题的关键在于使用同一个编码器对两种不同结构的对象表示学习。
除了本文这种方法,通过将三元组结构的知识图谱转换为文本序列也能够解决这一问题[2][4],笔者将在后续详细介绍这些方法。
参考文献
[1] Inductive Entity Representations from Text via Link Prediction
https://arxiv.org/abs/2010.03496
[2] CoLAKE- Contextualized Language and Knowledge Embedding
https://arxiv.org/abs/2010.00309
[3] Integrating Graph Contextualized Knowledge into Pre-trained Language Models
https://arxiv.org/abs/1912.00147
[4] K-BERT: Enabling Language Representation with Knowledge Graph
https://ojs.aaai.org/index.php/AAAI/article/view/5681
知识增强的预训练语言模型系列之KEPLER:如何针对上下文和知识图谱联合训练的更多相关文章
- 知识增强的预训练语言模型系列之ERNIE:如何为预训练语言模型注入知识
NLP论文解读 |杨健 论文标题: ERNIE:Enhanced Language Representation with Informative Entities 收录会议:ACL 论文链接: ht ...
- 知识增广的预训练语言模型K-BERT:将知识图谱作为训练语料
原创作者 | 杨健 论文标题: K-BERT: Enabling Language Representation with Knowledge Graph 收录会议: AAAI 论文链接: https ...
- 预训练语言模型整理(ELMo/GPT/BERT...)
目录 简介 预训练任务简介 自回归语言模型 自编码语言模型 预训练模型的简介与对比 ELMo 细节 ELMo的下游使用 GPT/GPT2 GPT 细节 微调 GPT2 优缺点 BERT BERT的预训 ...
- NLP中的预训练语言模型(一)—— ERNIE们和BERT-wwm
随着bert在NLP各种任务上取得骄人的战绩,预训练模型在这不到一年的时间内得到了很大的发展,本系列的文章主要是简单回顾下在bert之后有哪些比较有名的预训练模型,这一期先介绍几个国内开源的预训练模型 ...
- 学习AI之NLP后对预训练语言模型——心得体会总结
一.学习NLP背景介绍: 从2019年4月份开始跟着华为云ModelArts实战营同学们一起进行了6期关于图像深度学习的学习,初步了解了关于图像标注.图像分类.物体检测,图像都目标物体检测等 ...
- 预训练语言模型的前世今生 - 从Word Embedding到BERT
预训练语言模型的前世今生 - 从Word Embedding到BERT 本篇文章共 24619 个词,一个字一个字手码的不容易,转载请标明出处:预训练语言模型的前世今生 - 从Word Embeddi ...
- NLP中的预训练语言模型(五)—— ELECTRA
这是一篇还在双盲审的论文,不过看了之后感觉作者真的是很有创新能力,ELECTRA可以看作是开辟了一条新的预训练的道路,模型不但提高了计算效率,加快模型的收敛速度,而且在参数很小也表现的非常好. 论文: ...
- NLP中的预训练语言模型(三)—— XL-Net和Transformer-XL
本篇带来XL-Net和它的基础结构Transformer-XL.在讲解XL-Net之前需要先了解Transformer-XL,Transformer-XL不属于预训练模型范畴,而是Transforme ...
- 深入理解mysql之BDB系列(1)---BDB相关基础知识
深入理解mysql之BDB系列(1) ---BDB相关基础知识 作者:杨万富 一:BDB体系结构 1.1.BDB体系结构 BDB总体的体系结构如图1.1所看到的,包括五个子系统(见图1.1 ...
随机推荐
- 【九度OJ】题目1118:数制转换 解题报告
[九度OJ]题目1118:数制转换 解题报告 标签(空格分隔): 九度OJ 原题地址:http://ac.jobdu.com/problem.php?pid=1118 题目描述: 求任意两个不同进制非 ...
- 【LeetCode】946. Validate Stack Sequences 解题报告(Python & C++)
作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 模拟过程 日期 题目地址:https://leetc ...
- 写在LeetCode刷题600题
作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 从2015年9月刷题至今,我终于在LeetCode刷够600道题了.从刚开始的Java语 ...
- 【LeetCode】855. Exam Room 解题报告(Python)
作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 题目地址: https://leetcode.com/problems/exam-roo ...
- 【LeetCode】763. Partition Labels 解题报告(Python & C++)
作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 解题方法 日期 题目地址:https://leetcode.com/pr ...
- The more, The Better(hdu1561)
The more, The Better Time Limit: 6000/2000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Oth ...
- 1632 B君的连通
B国拥有n个城市,其交通系统呈树状结构,即任意两个城市存在且仅存在一条交通线将其连接.A国是B国的敌国企图秘密发射导弹打击B国的交通线,现假设每条交通线都有50%的概率被炸毁,B国希望知道在被炸毁之后 ...
- Oracle VirtualBox 配置宿主机与虚拟机互访
写作原因 之前经常使用 VMware Workstation Pro,由于是非正常付费使用的不打算再用了.替代品就是 Oracle VirtualBox,但是发现了一个问题: "我想用NAT ...
- Improving Adversarial Robustness via Channel-Wise Activation Suppressing
目录 概 主要内容 代码 Bai Y., Zeng Y., Jiang Y., Xia S., Ma X., Wang Y. Improving adversarial robustness via ...
- Improved Variational Inference with Inverse Autoregressive Flow
目录 概 主要内容 代码 Kingma D., Salimans T., Jozefowicz R., Chen X., Sutskever I. and Welling M. Improved Va ...