BERT meet Knowledge Graph:预训练模型与知识图谱相结合的研究进展

简介: 如何在BERT中引入知识图谱中信息语言模型得到的信息会首先对输入文本以及entity/relation的描述信息进行编码,以得到对应的表示;
【新智元导读】本文主要关注于如何在BERT中引入知识图谱中信息,并survey了目前已公布的若干种方法

随着BERT等预训练模型横空出世,NLP方向迎来了一波革命,预训练模型在各类任务上均取得了惊人的成绩。
随着各类预训练任务层出不穷,也有部分研究者考虑如何在BERT这一类模型中引入或者强化知识图谱中包含的信息,进而增强BERT对背景知识或常识信息的编码能力。
本文主要关注于如何在BERT中引入知识图谱中信息,并survey了目前已公布的若干种方法,欢迎大家批评和交流。

1、ERNIE: Enhanced Language Representation with Informative Entities

论文链接:https://www.aclweb.org/anthology/P19-1139.pdf

这篇论文来自于清华刘知远老师和华为刘群老师,已被ACL2019所录取,是较早的考虑将知识引入预训练模型的论文。

该论文主要利用了从知识库中提出的高信息量的实体信息,通过特殊的语义融合模块,来增强文本中对应的表示

首先本文通过实体链接算法,将Wikipedia文本中包含的实体与Wikidata中的实体库构建关联,然后采用TransE算法,对Wikidata中的实体embedding进行预训练,进而得到其初始的表示;之后本文采用一个特殊的信息融合结构,其模型框架如下图所示:

21.jpg

从图中可以看出,ERNIE的框架分为以下两部分,T-Encoder和K-Encoder,以上两部分均使用BERT的Transformer框架,并利用其中的参数进行初始化。

其中Wikipedia中的每一句话首先被输入给T-Encoder,其通过Transformer的多头注意力机制对文本中的信息进行编码;

之后输出的表示与其内部包含的实体被一起输入给了K-Encoder,其内部包含两个多头注意力层以分别对文本信息和实体信息进行编码;

编码后实体信息会得到两种表示——词级别和实体级别的表示,ERNIE通过将两种信息concat之后输入给DNN层,进而融合得到知识增强的表示;

为进一步促进该部分融合,ERNIE采用一个denoising entity auto-encoder (dEA)来对该部分进行监督,其采用类似于BERT中的Mask机制,基于一定的概率对其中的实体进行mask或替换,然后还原该部分实体信息。

在采用以上过程预训练后,本文将ERNIE在多个NLP任务上进行微调,并在多个数据集上获得了State-of-the-art的结果。

2、K-BERT: Enabling Language Representation with Knowledge Graph

论文链接:https://arxiv.org/pdf/1909.07606v1.pdf

这篇论文来自于北大和腾讯,已被AAAI2020所录取,是较早的考虑将知识图谱中的边关系引入预训练模型的论文。

该论文主要通过修改Transformer中的attention机制,通过特殊的mask方法将知识图谱中的相关边考虑到编码过程中,进而增强预训练模型的效果。

首先本文利用CN-DBpedia、HowNet和MedicalKG作为领域内知识图谱,对每一个句子中包含的实体抽取其相关的三元组,这里的三元组被看作是一个短句(首实体,关系,尾实体),与原始的句子合并一起输入给Transformer模型;

针对该方法,本文采用基于可见矩阵的mask机制,如下图所示:

22.jpg

从图中可以看出,输入的句子增加了许多三元组构成的短句,在每次编码时针对每一个词,模型通过可视矩阵(0-1变量)来控制该词的视野,使其计算得到的attention分布不会涵盖与其无关的词,进而模拟一个句子树的场景;

由于该策略仅仅改动了mask策略,故其可以支持BERT,RoBERTa等一系列模型;该方法最终在8个开放域任务和4个特定领域任务下取得了一定的提升。

3、KEPLER: A Unified Model for Knowledge Embedding and Pre-trained Language Representation

论文链接:https://arxiv.org/pdf/1911.06136.pdf

该论文主要通过添加类似于TransE的预训练机制来增强对应文本的表示,进而增强预训练模型在一些知识图谱有关任务的效果。

首先本文基于Wikipedia和Wikidata数据集,将每个entity与对应的维基百科描述相链接,则每个entity均获得其对应的文本描述信息;

之后对于每一个三元组——<头实体,关系,尾实体>,本文采用基于BERT对encoder利用entity的描述信息,对每个实体进行编码,如下图所示:

23.jpg

从图中可以看出,在通过encoder得到头实体和尾实体对应的表示之后,本文采用类似于TransE的训练方法,即基于头实体和关系预测尾实体;

此外本文还采用BERT经典的MLM损失函数,并使用RoBERTa的原始参数进行初始化;最终本文提出的方法在知识图谱补全和若干NLP任务上均带来了增益。

4、CoLAKE: Contextualized Language and Knowledge Embedding

论文链接:https://arxiv.org/pdf/2010.00309.pdf

这篇论文来源于复旦和亚马逊,其主要关注于如何使用知识图谱以增强预训练模型的效果。

本文首先将上下文看作全连接图,并根据句子中的实体在KG上抽取子图,通过两个图中共现的实体将全连接图和KG子图融合起来

然后本文将该图转化为序列,使用Transformer进行预训练,并在训练时采用特殊的type embedding来表示实体、词语与其他子图信息,如下图所示:

24.jpg

最终本文将文本上下文和知识上下文一起用MLM进行预训练,将mask的范围推广到word、entity和relation;

为训练该模型,本文采用cpu-gpu混合训练策略结合负采样机制减少训练时间;最终本文提出的方法在知识图谱补全和若干NLP任务上均带来了增益。

5、Exploiting Structured Knowledge in Text via Graph-Guided Representation Learning

论文链接https://arxiv.org/pdf/2004.14224.pdf

这篇论文来源于悉尼科技大学和微软,其主要关注于如何使用知识图谱增强预训练模型。

26.jpg

本文思路比较简洁,其提出了一个基于entity的mask机制,结合一定的负采样机制来增强模型。

首先对于输入的每一句话,本文首先进行实体链接工作,得到其中的entity,并从知识图谱conceptnet和freebase中召回其邻接的三元组;

本文利用一个特殊的权重,防止在mask时关注于句子中过于简单和过于难的entity,这样模型在entity-level MLM训练时就关注于较为适合学习的信息;

此外本文还引入了基于知识图谱的负采样机制,其利用relation来选择高质量的负例,以进一步帮助训练;最终本文提出的方法在知识图谱补全和若干NLP任务上均带来了增益。

6、K-ADAPTER: Infusing Knowledge into Pre-Trained Models with Adapters

论文链接https://arxiv.org/pdf/2002.01808v3.pdf

这篇论文来源于复旦和微软,其考虑自适应的让BERT与知识相融合,考虑如何通过不同的特殊下游任务来帮助向预训练模型融入任务相关的知识。

首先本文针对不同的预训练任务,定义了对应的adapter;在针对具体的下游任务进行fine-tune时,可以采用不同的adapter来针对性的加入特征,进而增强其效果;如下图所示:

27.jpg

基于该思想,本文提出了两种特殊的adapter,分别利用factor knowledge和linguistic knowledge;

针对这两个adapter,本文提出了针对entity之间的关系分类任务和基于依存关系的分类任务;

再fine-tune阶段,两个adapter得到的特征可以与BERT或RoBERTa得到的特征一起拼接来进行预测,该策略在三个知识驱动数据集上均取得了较大增益。

7、Integrating Graph Contextualized Knowledge into Pre-trained Language Models

论文链接:https://arxiv.org/pdf/1912.00147.pdf

这篇论文来自于华为和中科大,其主要关注于如何将上下文有关的知识信息加入到预训练模型里。

29.jpg

这篇论文的思想类似于graph-BERT和K-BERT,其针对给出文本首先检索返回相关的entity三元组,再在知识图谱上搜集其相邻的节点以构成子图;

然后将该子图转换成序列的形式,输入给传统的Transformer模型(类似graph-BERT),通过特殊的mask来约束注意力在相邻节点上(K-BERT);

最后用类似于ERNIE的策略将子图中的信息加入到Transformer中;最终该模型在下游的几个医疗相关数据集上取得了增益。

8、JAKET: Joint Pre-training of Knowledge Graph and Language Understanding

论文链接:https://arxiv.org/pdf/2010.00796.pdf

这篇论文来自于CMU和微软,其主要关注于如何同时对知识图谱和语言模型一起预训练。

本文使用RoBERTa作为语言模型对文本进行编码,增加了relation信息的graph attention模型来对知识图谱进行编码

由于文本和知识图谱的交集在于其中共有的若干entity,本文采用一种交替训练的方式来帮助融合两部分的知识,如下图所示:

30.jpg30.jpg

可以看出,语言模型得到的信息会首先对输入文本以及entity/relation的描述信息进行编码,以得到对应的表示;

之后语言模型得到的entity embedding会被送给R-GAT模型以聚合邻居节点的信息,以得到更强的entity表示;

然后该部分信息会被输入给语言模型继续融合并编码,以得到强化的文本表示信息;为了训练该模型,本文还采用embedding memory机制来控制训练时梯度的更新频率和优化目标的权重,并提出四种特殊的损失函数来进行预训练;

最终本文提出的模型在多个知识驱动的下游任务均取得较好效果。

相关文章
|
4月前
|
机器学习/深度学习 自然语言处理 数据格式
训练你自己的自然语言处理深度学习模型,Bert预训练模型下游任务训练:情感二分类
训练你自己的自然语言处理深度学习模型,Bert预训练模型下游任务训练:情感二分类
55 0
|
12月前
|
机器学习/深度学习 缓存 人工智能
深度学习进阶篇-预训练模型[3]:XLNet、BERT、GPT,ELMO的区别优缺点,模型框架、一些Trick、Transformer Encoder等原理详解
深度学习进阶篇-预训练模型[3]:XLNet、BERT、GPT,ELMO的区别优缺点,模型框架、一些Trick、Transformer Encoder等原理详解
深度学习进阶篇-预训练模型[3]:XLNet、BERT、GPT,ELMO的区别优缺点,模型框架、一些Trick、Transformer Encoder等原理详解
|
机器学习/深度学习 算法
【文本分类】基于BERT预训练模型的灾害推文分类方法、基于BERT和RNN的新闻文本分类对比
【文本分类】基于BERT预训练模型的灾害推文分类方法、基于BERT和RNN的新闻文本分类对比
161 0
【文本分类】基于BERT预训练模型的灾害推文分类方法、基于BERT和RNN的新闻文本分类对比
|
机器学习/深度学习 人工智能 自然语言处理
bert GPT 预训练模型详解
bert GPT 预训练模型详解
518 0
bert GPT 预训练模型详解
|
机器学习/深度学习 人工智能 自然语言处理
从BERT、XLNet到MPNet,细看NLP预训练模型发展变迁史
从BERT、XLNet到MPNet,细看NLP预训练模型发展变迁史
|
机器学习/深度学习 自然语言处理
阅读理解回答问题(Question Answering)---一个更强的BERT预训练模型
阅读理解回答问题(Question Answering)---一个更强的BERT预训练模型
|
机器学习/深度学习 自然语言处理 计算机视觉
BERT等预训练模型实践浅析
##1.背景 近期,在NLP领域预训练模型受到了越来越多的关注。从ELMo到BERT,预训练模型在不同的NLP问题取得了很好的效果。本文参考To Tune or Not to Tune? Adapting Pretrained Representations to Diverse Tasks论文, 针对预训练模型BERT/EMLo,分析其在实际问题中的使用方式。 ##2.怎么用BERT
1244 0
|
自然语言处理 AI芯片 机器学习/深度学习
独家 | 谷歌发布NLP最先进预训练模型:开源BERT
本文为你介绍谷歌最新发布的自然语言预训练模型BERT。
866 0
|
4月前
|
PyTorch 算法框架/工具
Bert Pytorch 源码分析:五、模型架构简图 REV1
Bert Pytorch 源码分析:五、模型架构简图 REV1
33 0
|
4月前
|
机器学习/深度学习 人工智能 开发工具
如何快速部署本地训练的 Bert-VITS2 语音模型到 Hugging Face
Hugging Face是一个机器学习(ML)和数据科学平台和社区,帮助用户构建、部署和训练机器学习模型。它提供基础设施,用于在实时应用中演示、运行和部署人工智能(AI)。用户还可以浏览其他用户上传的模型和数据集。Hugging Face通常被称为机器学习界的GitHub,因为它让开发人员公开分享和测试他们所训练的模型。 本次分享如何快速部署本地训练的 Bert-VITS2 语音模型到 Hugging Face。
如何快速部署本地训练的 Bert-VITS2 语音模型到 Hugging Face