【文献阅读】ERNIE Enhanced Language Representation with Informative Entities

论文链接

摘要

背景: 在大规模语料库上预训练的BERT等LR模型可以很好地从纯文本中捕获丰富地语义模式,并进行微调以持续提高各种NLP任务的性能。
问题: 现有的预训练语言模型(PLM)很少考虑结合KG,但是KG又能够提供丰富的结构化知识来更好地理解语言,所以作者认为知识图谱中的信息实体可以通过外部知识来增强语言的表示。(又是通过知识图谱来增强语言的特征表示)
提出: 作者认为知识图谱中的实体可以作为额外的知识来增强文本特征。 所以采用大规模文本语料库和知识图谱来训练增强型语言表示模型ERNIE。

引言

介绍了预训练的语言模型以及典型案例BERT的成功之处。但是,尽管PLM已经取得了不错的结果,却忽略了将知识信息纳入语言理解中。在下图这个案例当中,如果不知道两个实体Blowin in the wind和Chronicles:Volume One分别是书籍和音乐的话,则很难识别Bob Dylan拥有两个职业。再比如“UNK write UNK in UNK”这句话中,如果没有一定的知识,很难去区分这几个UNK。因此,考虑丰富的知识信息可以带来更好的语言理解,从而有利于各种知识驱动的应用,例如,实体标注和关系分类等。
【文献阅读】ERNIE Enhanced Language Representation with Informative Entities_第1张图片

将外部知识整合到语言表示模型当中存在两个挑战:

  1. 结构化知识的编码:对于给定的文本,如何有效地提取KG中的关联信息,并且用于语言表示模型。
  2. 异质信息融合:语言表示的预训练过程与知识表示的过程有很大不同,如何设计一个特殊的训练目标来融合词汇、句法和知识信息是一个挑战。
提取&编码知识信息

识别文本中提及的实体,然后将这些提及的实体与知识图谱中相应的实体进行对齐。使用TransE将KG中的图结构进行编码,并且将实体的嵌入作为ERNIE的输入。(这里也认可了KG是基于图的,所以,知识图谱也能够使用Grph图模型来进行嵌入)。

类似BERT的模式

采用了类似BERT的掩码模型,为了融合知识信息,设计了一个新的训练任务,通过随机屏蔽输入文本中的一些命名实体,并要求模型从知识图谱中选取适当的实体来完成对齐。这一步就是先了融合知识信息。

相关工作

将预训练的LR模型分为两大类:

  • 基于特征:比如将单词转换为离散表示的。这得益于预训练模型能够捕获文本语料库中的句法和语义信息来生成词向量,但是这些词向量如果遇到一词多义的情况,那么就会出现性能下滑。所以也有人采用序列级模型来捕获上下文的关系,例如ELMo,而BERT也是采用上下文序列方式来获取词向量。
  • 基于微调:例如通过GPT以及BERT。
    但是,上述方法的问题都忽略了知识信息。近期,有文章表示,知识信息可以显著增强初始模型。不过,文章中给出的都是通过知识信息来增强文本表示。有没有使用文本来增强知识图谱的?这里留下一个疑问~总的来说,就是采用知识图谱以及语料库来训练基于BERT的增强语言表示模型。

方法论

ERNIE的总体框架包括编码信息实体的“知识编码器”、融合异质信息的预训练任务。
【文献阅读】ERNIE Enhanced Language Representation with Informative Entities_第2张图片

1 预处理

开始之前,需要将文本中的token与知识图谱中的entity进行对齐,只有极少情况下,这两者能达到一一对应,大多数情况下是token略多。右图中有的嵌入包括w,e两块,有的只有w一块,意思就是有的token有对应的entity,有的没有。

2 模型架构
2.1 底层文本编码器T-Encoder

从输入的token中捕获基本词汇和句法信息。对每个Token进行Token嵌入,段落嵌入、位置嵌入并且拼接三者形成输入的嵌入。再通过T-Encoder这类考虑上下文信息的编码器来学习句法信息。

2.2 上层知识编码器K-Encoder

负责将额外的知识信息整合到底层的文本信息当中,以便将Token和实体的异质信息表示到统一的特征空间中。具体的就是将同构TransE嵌入得到的实体表示与上一步得到的词嵌入一起输入到K-Encoder当中,来融合异质信息并计算得出最终的输出嵌入,用于下游任务。
从图中也可以看出,K-Encoder实际上就是通过堆叠的聚合器来对Token和实体进行编码以及融合的。具体的融合过程如下:(有点像LSTM的样子,可能我记错了~不过这种融合特征中比较简单的方式就是使用LSTM之类的变体,可能这句话误导性,如有错误,还望留言指正。)
【文献阅读】ERNIE Enhanced Language Representation with Informative Entities_第3张图片

对于没有对应实体的Token,就只使用文本特征就行。

3 知识注入的预训练

为了通过实体信息将知识注入到语言表示当中,提出了一种新的预训练任务,即先前提到的随机屏蔽一些Token来与实体对齐。这个过程类似于训练去噪自动编码器(dEA)
但是对齐过程中可能存在一些问题,所以对dEA进行以下操作。

  1. 5%的情况下,使用另外一个随机实体替换这个实体,目的是训练模型的纠错能力。【纠错的能力】
  2. 15%的情况下,将token-实体之间进行mask,目的是为了训练模型来纠正对齐系统没有找寻到正确的实体,使其具有提取的能力。【完形填空的能力】
  3. 80%的情况下,保持token-实体对不变,目的是鼓励模型将实体信息集成到token当中,使其更好地理解语言。【重构的能力】
    综上,模型训练完之后,会具备完型+纠错+重建三重能力。这个预训练的方法是类似于BERT的,具体的可以参考BERT原文,仅仅概率设置上、以及针对KG中实体两项区别。
4 针对特定任务进行微调

例如针对关系分类的任务,最直接的微调方法就是将提及的给定实体的最终输出嵌入进行拼接后,输入一个池化层再做分类。
本文中的方法是,通过添加两个标记的Token来高亮显示提及的实体,这种额外的Token的方法类似于之前方法中的位置嵌标记。
【文献阅读】ERNIE Enhanced Language Representation with Informative Entities_第4张图片

如上图所示,之前的NLP任务中使用[CLS]和[SEP],此时在关系分类任务上,设计了[HD](头实体)和[TL](尾实体)来凸显实体。

小结

目前用于知识图谱增强文本的大体思路就是利用知识信息,具体体现在嵌入的生成过程当中。都是基于BERT或者一些具有较多参数的语言模型,那么反过来,文本属性也是可以作为KG的增强,后续相关文章,会第一时间更新,这篇文章知识粗略的看了以下,因为和上一篇介绍的K-BERT其实还是一个套路。当然这也是因为这两篇文章都是KG增强文本的相关工作。

致谢

特别感谢,热心市民BIN!!!

你可能感兴趣的:(知识图谱,人工智能)