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

Wesley13
• 阅读 642

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

##好好好####BERT meet Knowledge Graph:预训练模型与知识图谱相结合的研究进展 ##好好好####BERT meet Knowledge Graph:预训练模型与知识图谱相结合的研究进展 ##好好好####BERT meet Knowledge Graph:预训练模型与知识图谱相结合的研究进展  我们建立了自然语言处理、深度学习大方向的讨论组,欢迎大家加入讨论(人数达到上限,添加下方好友手动邀请)添加好友请备注

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

ERNIE: Enhanced Language Representation with Informative Entities

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

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

该论文主要利用了从知识库中提出的高信息量的实体信息,通过特殊的语义融合模块,来增强文本中对应的表示。首先本文通过实体链接算法,将Wikipedia文本中包含的实体与Wikidata中的实体库构建关联,然后采用TransE算法,对Wikidata中的实体embedding进行预训练,进而得到其初始的表示;之后本文采用一个特殊的信息融合结构,其模型框架如下图所示:

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

从图中可以看出,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的结果。

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机制,如下图所示:

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

从图中可以看出,输入的句子增加了许多三元组构成的短句,在每次编码时针对每一个词,模型通过可视矩阵(0-1变量)来控制该词的视野,使其计算得到的attention分布不会涵盖与其无关的词,进而模拟一个句子树的场景;由于该策略仅仅改动了mask策略,故其可以支持BERT,RoBERTa等一系列模型;该方法最终在8个开放域任务和4个特定领域任务下取得了一定的提升。

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

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

这篇论文来源于清华和Mila实验室,其主要关注于如何使用BERT增强知识图谱embedding,并帮助增强对应的表示。

该论文主要通过添加类似于TransE的预训练机制来增强对应文本的表示,进而增强预训练模型在一些知识图谱有关任务的效果。首先本文基于Wikipedia和Wikidata数据集,将每个entity与对应的维基百科描述相链接,则每个entity均获得其对应的文本描述信息;之后对于每一个三元组——<头实体,关系,尾实体>,本文采用基于BERT对encoder利用entity的描述信息,对每个实体进行编码,如下图所示:

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

从图中可以看出,在通过encoder得到头实体和尾实体对应的表示之后,本文采用类似于TransE的训练方法,即基于头实体和关系预测尾实体;此外本文还采用BERT经典的MLM损失函数,并使用RoBERTa的原始参数进行初始化;最终本文提出的方法在知识图谱补全和若干NLP任务上均带来了增益。

CoLAKE: Contextualized Language and Knowledge Embedding

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

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

本文首先将上下文看作全连接图,并根据句子中的实体在KG上抽取子图,通过两个图中共现的实体将全连接图和KG子图融合起来;然后本文将该图转化为序列,使用Transformer进行预训练,并在训练时采用特殊的type embedding来表示实体、词语与其他子图信息,如下图所示:

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

最终本文将文本上下文和知识上下文一起用MLM进行预训练,将mask的范围推广到word、entity和relation;为训练该模型,本文采用cpu-gpu混合训练策略结合负采样机制减少训练时间;最终本文提出的方法在知识图谱补全和若干NLP任务上均带来了增益。

Exploiting Structured Knowledge in Text via Graph-Guided Representation Learning

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

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

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

本文思路比较简洁,其提出了一个基于entity的mask机制,结合一定的负采样机制来增强模型。首先对于输入的每一句话,本文首先进行实体链接工作,得到其中的entity,并从知识图谱conceptnet和freebase中召回其邻接的三元组;本文利用一个特殊的权重,防止在mask时关注于句子中过于简单和过于难的entity,这样模型在entity-level MLM训练时就关注于较为适合学习的信息;此外本文还引入了基于知识图谱的负采样机制,其利用relation来选择高质量的负例,以进一步帮助训练;最终本文提出的方法在知识图谱补全和若干NLP任务上均带来了增益。

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

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

这篇论文来源于复旦和微软,其考虑自适应的让BERT与知识相融合。

这篇论文考虑如何通过不同的特殊下游任务来帮助向预训练模型融入任务相关的知识。首先本文针对不同的预训练任务,定义了对应的adapter;在针对具体的下游任务进行fine-tune时,可以采用不同的adapter来针对性的加入特征,进而增强其效果;如下图所示:

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

基于该思想,本文提出了两种特殊的adapter,分别利用factor knowledge和linguistic knowledge;针对这两个adapter,本文提出了针对entity之间的关系分类任务和基于依存关系的分类任务;再fine-tune阶段,两个adapter得到的特征可以与BERT或RoBERTa得到的特征一起拼接来进行预测,该策略在三个知识驱动数据集上均取得了较大增益。

Integrating Graph Contextualized Knowledge into Pre-trained Language Models

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

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

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

这篇论文的思想类似于graph-BERT和K-BERT,其针对给出文本首先检索返回相关的entity三元组,再在知识图谱上搜集其相邻的节点以构成子图;然后将该子图转换成序列的形式,输入给传统的Transformer模型(类似graph-BERT),通过特殊的mask来约束注意力在相邻节点上(K-BERT);最后用类似于ERNIE的策略将子图中的信息加入到Transformer中;最终该模型在下游的几个医疗相关数据集上取得了增益。

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

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

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

本文使用RoBERTa作为语言模型对文本进行编码,增加了relation信息的graph attention模型来对知识图谱进行编码;由于文本和知识图谱的交集在于其中共有的若干entity,本文采用一种交替训练的方式来帮助融合两部分的知识,如下图所示:

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

可以看出,语言模型得到的信息会首先对输入文本以及entity/relation的描述信息进行编码,以得到对应的表示;之后语言模型得到的entity embedding会被送给R-GAT模型以聚合邻居节点的信息,以得到更强的entity表示;然后该部分信息会被输入给语言模型继续融合并编码,以得到强化的文本表示信息;为了训练该模型,本文还采用embedding memory机制来控制训练时梯度的更新频率和优化目标的权重,并提出四种特殊的损失函数来进行预训练;最终本文提出的模型在多个知识驱动的下游任务均取得较好效果。

点赞
收藏
评论区
推荐文章
blmius blmius
2年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
【NLP系列】Bert词向量的空间分布
我们知道Bert预训练模型针对分词、ner、文本分类等下游任务取得了很好的效果,但在语义相似度任务上,表现相较于Word2Vec、Glove等并没有明显的提升
Wesley13 Wesley13
2年前
ERNIE:知识图谱结合BERT才是「有文化」的语言模型
自然语言表征模型最近受到非常多的关注,很多研究者将其视为NLP最重要的研究方向之一。例如在大规模语料库上预训练的BERT,它可以从纯文本中很好地捕捉丰富的语义模式,经过微调后可以持续改善不同NLP任务的性能。因此,我们获取BERT隐藏层表征后,可用于提升自己任务的性能。但是,已有的预训练语言模型很少考虑知识信息,具体而言即知识图谱(ht
Stella981 Stella981
2年前
Django中Admin中的一些参数配置
设置在列表中显示的字段,id为django模型默认的主键list_display('id','name','sex','profession','email','qq','phone','status','create_time')设置在列表可编辑字段list_editable
高耸入云 高耸入云
2个月前
如何做Bert模型的fine-tuning?近屿智能OJAC带你一探究竟
📖更多AI资讯请👉🏾选择合适的预训练模型:从预训练的BERT模型开始,例如Google提供的BERTbase或BERTlarge。这些模型已经在大量文本数据上进行过预训练了,我们如何对BERT模型进行finetuning呢?准备和预处理数据:集针对特
四儿 四儿
4个月前
大模型数据集:构建、挑战与未来趋势
一、引言随着深度学习技术的快速发展,大型预训练模型如GPT4、BERT等在各个领域取得了显著的成功。这些大模型背后的关键之一是庞大的数据集,为模型提供了丰富的知识和信息。本文将探讨大模型数据集的构建、面临的挑战以及未来发展趋势。二、大模型数据集的构建收集数
四儿 四儿
4个月前
大模型数据集:突破边界,探索未来
一、引言随着人工智能技术的快速发展,大型预训练模型如GPT4、BERT等在自然语言处理领域取得了显著的成功。这些大模型背后的关键之一是庞大的数据集,为模型提供了丰富的知识和信息。本文将探讨大模型数据集的突破边界以及未来发展趋势。二、大模型数据集的突破边界数
四儿 四儿
4个月前
大模型数据集:构建、挑战与未来发展
一、引言随着深度学习技术的迅速发展,大型预训练模型如GPT4、BERT等在自然语言处理领域取得了显著的成果。这些大模型的表现得益于其背后庞大的数据集,这些数据集为模型提供了丰富的知识和信息。本文将探讨大模型数据集的构建、面临的挑战以及未来的发展趋势。二、大
Python进阶者 Python进阶者
3个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这