分享

技术总结:KG融合预训练语言模型中的常见知识类型及代表工作浅析

 520jefferson 2021-12-22

本文主要围绕知识融合自然语言处理模型这一主题展开论述,尝试从这两个方面进行总结,先介绍语言模型可以融合的知识类型,然后分别以当前较为流行的THU-ERNIE以及BAIDU-ERNIE的知识增强方法进行解析。


一、引言

以自然语言文本作为输入,经过CNN、RNN、LSTM、Transformer等特征编码器进行特征提取,然后后接softmax等解码方式完成标签预测,这一过程是当前NLP处理的标准流程。而自从预训练语言模型推出以来,以BERT为代表的预训练语言模型正在引领NLP任务的新范式。

但无论是标注流程还是BERT范式,其实际上建模的只是当前输入文本的信息,如词法信息、句法分析以及字符之间的上下文共现关系。汇总的来说,这些知识信息只是一个序列文本,涵盖的是字符与字符之间的共现、搭配信息,以及字符或词语自身的embedding信息。

例如,从BERT的实现原理上,我们可以看到,BERT 在处理中文语言时,通过预测汉字进行建模,模型很难学出更大语义单元的完整语义表示。例如,对于乒 [mask] 球,清明上 [mask] 图,[mask] 颜六色这些词,BERT 模型通过字的搭配,很容易推测出掩码的字信息,但没有显式地对语义概念单元 (如乒乓球、清明上河图) 以及其对应的语义关系进行建模。

又如,传统的文本生成任务只依靠输入文本进行生成,缺乏更加丰富的“知识”信息,因此生成的文本往往非常乏味,缺少有意思的内容。

因此,如何将单一输入文本的其他类型的知识信息融入到模型当中,成为了现在提升模型性能的一个重要方向,并且已经被证明可以提升模型结果。如下图列举了一些现有知识图谱融合的预训练模型放大、知识相关的损失loss,以及所使用的知识来源。

图片

实际上,这个方向可以解构为两类基本问题:一个是融合什么样的知识,另一种是如何融合知识。

二、语言模型可以融合的知识类型

先说第一个问题,对于现有模型,可以进行融合的知识类型是什么。

一般的,“知识”是对输入文本和上下文的一种“补充”,可以由不同方法和信息源获得,包括但不限于关键词,主题,语言学特征,知识库。

知识图谱融合预训练语言模型综述这一文章中将这些外部知识包括:语言知识、语义知识、常识知识、事实知识和其他领域特定的知识等。

图片

上图总结了当前知识图谱预训练语言模型中的知识来源以及对应的预训练语言模型。从中我们可以看到几个方面。

首先,知识是分类型,语言学知识可以进一步分为词法知识、句法知识以及词性知识;百科知识包括以freebase、nell等百科类知识;常识类知识包括conceptnet、atomic等实体常识以及事件关系常识知识库。

其次,知识从粒度上也可以进一步进行区分,可分为组块级别、实体级别、关系级别(利用一阶关系来补充上下文)以及子图级别(利用多跳来构图),所能利用到的知识粒度逐步提升。

此外,现有的模型都为知识的引入针对性的设计了一些预训练任务,如在BERT中的MLM、NSP的基础上,增加实体预测、实体替换检测、实体链接等任务,并在下游任务如文本生成、文本问答上进行针对性的训练

知识图谱导论一书中,提了了当前知识图谱融合与预训练语言模型的三种方法:

直接把图谱表示向量作为特征输入的ERNIE和KnowBERT等模型;

通过设计新的预训练任务实现知识注入的KEPLER和WKLM等模型;

通过增加额外的模块的K-ADAPTER等模型。

对于现有的语言模型而言,由于语言天然存在长尾效应,难以捕捉低频的实体信息。而知识图谱包含大量的实体知识,可以通过实体链接得到文本包含的实体的三元组信息,进而更好地学习文本中实体的表示。因此,将知识图谱的实体信息进行融合是最为直观的做法。

总结的来说,这些方法都是为了提升最后一层token自身的编码表示效果,下面以较为早期的两个重名之作THU-ERNIE以及BAIDU-ERNIE进行介绍。

三、THU-ERNIE:用实体向量融合语言模型

利用知识图谱增强语言预训练模型的一个最简单的思路是把知识图谱中的实体向量表示直接注入语言模型中,比较典型的模型如ERNIE和KnowBERT。

THU-ERNIE是其中的一个代表,下面对其进行介绍:

清华大学提出了一种名为通过多信息实体增强语言表征的模型(Enhanced language representation with informative entities),

其思想在于:通过网络模型结构的更改,外接简单的神经网络模型,去学习和融合文本以及外部知识信息。

总体分为实体抽取以及语言模型训练两大步骤。

首先,抽取环节,识别文本中的命名实体,然后将这些提到的实体与知识图谱中的实体进行匹配,得到token序列{W1,.....,Wn}以及对应的实体序列{e1,.....,em}。

其次,在模型训练环节,如下图所示,有两个堆叠的模块构成。

图片

左边是模型的总体框架,下面N层是文本编码层,上面M层是增加知识信息的混合编码层,左边是混合编码层的具体结构。

其中:

混合编码层同时输入文本序列和实体序列,对两个序列分别进行自注意力机制,按照文本和实体的对应关系,对自注意力层的输出进行组合,输入信息融合层,并在文本、知识双向融合后,产生下一层的文本和实体输入。

在具体实现上,包括文本编码器(T-Encoder,负责获取输入词语的词法和句法信息)以及知识型编码器(K-Encoder,负责实体信息与token信息交互,表征词语和实体的异构信息)。

1)T-Encoder

T-Encoder是一个多层双向Transformer编码器,原文本w通过transformer结构,获得输出。具体实现上:

给定一个token序列{W1,.....,Wn}以及对应的实体序列{e1,.....,em},

对每个字符,分别获取该字符的token embedding、segment embedding、positional embedding,相加后送到T-Encoder中进行编码,得到相应的句法和词法表示:

图片

2)知识编码器(K-Encoder)

该部分首先对于实体序列{e1,.....,em},使用transe等表示模型,得到实体的embedding表示,并联合{W1,.....,Wn},一起送入K-Encoder中进行知识融合。

图片

K-Encoder是一个堆叠结构,首先将token信息以及entity信息son送入各自的编码器multi-head attention(T-Encoder, K-Encoder),获得各自地embedding;

图片

其次,对两个输入的embedding进行信息融合Aggregator,最终引入一个融合层,并映射成一个隐藏层表示:

图片其中,hj是每一层的隐藏表示,通过隐层向量h,更新输出原文本w和实体e的嵌入,此时的各自嵌入,即是融合了实体信息的embedding

图片

此外,在损失函数方面,在mlm和nsp两个损失函数的基础上增加了dEA(denoising entity auto-encoder)损失,随机 Mask 掉一些对齐了输入文本的命名实体,并要求模型从知识图谱中选择合适的实体以完成对齐,以捕捉token与实体之间的对齐关系。

图片

在具体计算上,通过极大似然估计文本wi预测得到实体ej的概率,通过交叉熵损失函数进行训练。图片

实际上,在THU-ERNIE之后,KnowBERT也采用了类似的实体特征融合技术,通过端到端的方式,将BERT的语言预训练模型和一个实体链接模型同时进行训练,经过知识提取后的知识表示得到基于实体的表示,再和原表示一起得到最终的表示。

图片

又如,KEPLER模型将每个实体和对应的描述链接起来,通过Bert 对实体描述得到实体embedding,再结合关系用TransE,作为KELoss。文本部分加上MLMloss。

图片

这些工作都是通过实体的嵌入向量表示间接地引入知识图谱信息的。

四、BAIDU-ERNIE:分层知识MASK融合语言模型

同一年,百度也提出了基于知识增强的 ERNIE同名模型,但题目不同:ERNIE: Enhanced Representation through Knowledge Integration

而与THU版本的ERNIE 模型方式不同,该模型ER通过知识掩蔽策略来学习增强的语言表征,没有对模型进行任何修改,完全采用地原Bert模型,作者想办法对masked language model进行修改,使得其分层次地对token进行mask,使得模型学习完整概念的语义表示。

图片

具体的,该模型主要是在mask的机制上做了改进,它的mask不是基本的word piece的mask,而是在pretrainning阶段增加了外部的知识,提出了三个阶段的任务。

如下图所示:通过三个阶段学习的,在第一个阶段,采用的是BERT的模式,用的是字符级别的Basic-Level Masking,然后依次加入词组级别的Phrase-Level Masking)、实体级别Entity-Level Masking。

图片
其中:

Basic-Level Masking:跟BERT一样对单字进行mask,先采用基本层级的masking,即随机mask掉中文中的一个字;

Phrase-Level Masking:输入仍然是单字级别的,mask连续短语,采用词组级别的masking。通过mask掉句子中一部分词组,然后让模型预测这些词组,从而将词组的信息就被融合分到word embedding当中;

Entity-Level Masking:首先进行实体识别,然后将识别出的实体进行mask,如:人名,机构名,商品名等,在这个阶段被mask掉,模型来学习到了这些实体的信息。

此外,百度后续推出了ERNIE 2.0,并进一步引入了持续多任务学习的概念,添加了粒度从粗到细的一系列task,包括词法层任务(对句子中的词汇进行预测)、语法层任务(多个句子结构重建,重新排序)、语义层任务(学会判断句子之间的逻辑关系,如因果关系、转折关系、并列关系)。

图片

五、总结

本文主要围绕知识融合自然语言处理模型这一主题展开论述,先介绍语言模型可以融合的知识类型,然后分别以当前较为流行的THU-ERNIE以及BAIDU-ERNIE的知识增强方法进行解析。

将知识融入到现有语言模型中,是个很有意思的方向,但未必总是有效的,一些文章表明,对于低资源任务和低频的实体是有价值的,但因为外部知识的引入也可能带来噪声,因此也可能反而对语言模型带来模型损失。

期待后续有更多有价值的工作出现。


参考文献

1、https://zhuanlan.zhihu.com/p/142757748 

2、https://mp.weixin.qq.com/s/eXdep5rqCi38ucc-zVLeyw 

3、https://github.com/GanjinZero/KeBioLM 

4、https://mp.weixin.qq.com/s/mHUueSx9ksLgH01IUGLMmA 

5、https:///abs/2010.12148 

6、https://mp.weixin.qq.com/s/q9VvwB6PR9_L1cKN0Dc6xg

7、https://zhuanlan.zhihu.com/p/365152746

8、Sun, Yu, Shuohuan Wang, Yukun Li, Shikun Feng, Xuyi Chen, Han Zhang, Xin Tian, Danxiang Zhu, Hao Tian, and Hua Wu. 'Ernie: Enhanced representation through knowledge integration.' arXiv preprint arXiv:1904.09223 (2019).

9、Zhang, Zhengyan, Xu Han, Zhiyuan Liu, Xin Jiang, Maosong Sun, and Qun Liu. 'ERNIE: Enhanced language representation with informative entities.' arXiv preprint arXiv:1905.07129 (2019).

10、https://blog.csdn.net/wang2008start/article/details/118371860

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多