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

随着BERT等预训练模型横空出世 , NLP方向迎来了一波革命 , 预训练模型在各类任务上均取得了惊人的成绩 。
随着各类预训练任务层出不穷 , 也有部分研究者考虑如何在BERT这一类模型中引入或者强化知识图谱中包含的信息 , 进而增强BERT对背景知识或常识信息的编码能力 。
本文主要关注于如何在BERT中引入知识图谱中信息 , 并survey了目前已公布的若干种方法 , 欢迎大家批评和交流 。
1、《ERNIE: Enhanced Language Representation with Informative Entities》
论文链接:
这篇论文来自于清华刘知远老师和华为刘群老师 , 已被ACL2019所录取 , 是较早的考虑将知识引入预训练模型的论文 。
该论文主要利用了从知识库中提出的高信息量的实体信息 , 通过特殊的语义融合模块 , 来增强文本中对应的表示 。 首先本文通过实体链接算法 , 将Wikipedia文本中包含的实体与Wikidata中的实体库构建关联 , 然后采用TransE算法 , 对Wikidata中的实体embedding进行预训练 , 进而得到其初始的表示;之后本文采用一个特殊的信息融合结构 , 其模型框架如下图所示:
BERT遇上知识图谱:预训练模型与知识图谱相结合的研究进展文章插图
从图中可以看出 , 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》
论文链接:
【BERT遇上知识图谱:预训练模型与知识图谱相结合的研究进展】这篇论文来自于北大和腾讯 , 已被AAAI2020所录取 , 是较早的考虑将知识图谱中的边关系引入预训练模型的论文 。
该论文主要通过修改Transformer中的attention机制 , 通过特殊的mask方法将知识图谱中的相关边考虑到编码过程中 , 进而增强预训练模型的效果 。
首先本文利用CN-DBpedia、HowNet和MedicalKG作为领域内知识图谱 , 对每一个句子中包含的实体抽取其相关的三元组 , 这里的三元组被看作是一个短句(首实体 , 关系 , 尾实体) , 与原始的句子合并一起输入给Transformer模型;针对该方法 , 本文采用基于可见矩阵的mask机制 , 如下图所示:
BERT遇上知识图谱:预训练模型与知识图谱相结合的研究进展文章插图
从图中可以看出 , 输入的句子增加了许多三元组构成的短句 , 在每次编码时针对每一个词 , 模型通过可视矩阵(0-1变量)来控制该词的视野 , 使其计算得到的attention分布不会涵盖与其无关的词 , 进而模拟一个句子树的场景;由于该策略仅仅改动了mask策略 , 故其可以支持BERT , RoBERTa等一系列模型;该方法最终在8个开放域任务和4个特定领域任务下取得了一定的提升 。
3、《KEPLER: A Unified Model for Knowledge Embedding and Pre-trained Language Representation》
论文链接:
这篇论文来源于清华和Mila实验室 , 其主要关注于如何使用BERT增强知识图谱embedding , 并帮助增强对应的表示 。
该论文主要通过添加类似于TransE的预训练机制来增强对应文本的表示 , 进而增强预训练模型在一些知识图谱有关任务的效果 。 首先本文基于Wikipedia和Wikidata数据集 , 将每个entity与对应的维基百科描述相链接 , 则每个entity均获得其对应的文本描述信息;之后对于每一个三元组——<头实体 , 关系 , 尾实体> , 本文采用基于BERT对encoder利用entity的描述信息 , 对每个实体进行编码 , 如下图所示:
BERT遇上知识图谱:预训练模型与知识图谱相结合的研究进展文章插图
从图中可以看出 , 在通过encoder得到头实体和尾实体对应的表示之后 , 本文采用类似于TransE的训练方法 , 即基于头实体和关系预测尾实体 。