当前位置:   article > 正文

论文精读 清华ERNIE:Enhanced Language Representation with Informative Entities_ernie论文

ernie论文

在这里插入图片描述

ERNIE原论文

背景

在大规模语料库上预训练的BERT等语言表示模型可以很好地从纯文本中捕获丰富的语义模式,并进行微调以提高各种 NLP 任务的性能。然而,现有的预训练语言模型很少考虑合并知识图谱,它可以提供丰富的结构化知识事实以更好地理解语言。作者认为 KG 中的实体信息可以通过外部知识增强语言表示。在本文中,通过大规模文本语料库和 KG 来训练增强的语言表示模型(ERNIE),该模型可以同时充分利用词汇、句法和知识信息。


预训练模型可以从文本中捕获丰富的语义信息,使多种 NLP 任务受益,可以分为以下两种:

∙ \bullet 基于特征:Skip-gram、GloVe、ELMo等

∙ \bullet 基于微调:GPT、BERT等

图1:Skip-gram模型和ELMo模型结构图

图片来源 Efficient estimation of word representations in vector space.
BERT : Pre-training of Deep Bidirectional Transformers for Language Understanding.

尽管预训练的语言表示模型已经取得了可喜的结果,并且在许多 NLP 任务中作为常规组件发挥了作用,但它们忽略了将知识信息纳入语言理解

如图 2所示,在不知道 Blowin’ in the Wind 和 Chronicles: Volume 1 分别是歌曲和书籍的情况下,很难识别 Bob Dylan 在实体输入任务中的两个职业,即词曲作者和作家。 此外,几乎不可能在关系分类任务中提取细粒度的关系,例如作曲家和作者。 因此,考虑丰富的知识信息可以促成更好的语言理解,有利于各种知识驱动的任务,例如实体识别和关系分类。

图 2:为语言理解加入额外知识信息的示例。 实线表示现有的知识事实。 红色虚线表示从红色句子中提取的事实。 绿色点划线表示从绿色句子中提取的事实。

将外部知识整合到语言表示模型中的两个主要挑战:

(1) 结构化知识编码:对于给定的文本,语言表示模型如何有效地提取和编码KG中相关的事实信息;

(2)异构信息融合:语言表示的预训练过程与知识表示过程有很大不同,导致两个独立的向量空间。如何设计一个预训练目标融合词法、句法和知识信息。

为了解决目前存在的两个挑战,作者分别提出了以下两个方法,也就是本文的创新点:

在大规模文本语料库和 KG 上进行预训练:

(1)为了提取和编码知识信息,我们首先识别文本中提及的命名实体,然后将这些提及到的实体与它们在 KG 中的相应实体对齐。 没有直接在 KG 中使用基于图的事实,而是使用诸如 TransE之类的知识嵌入算法对 KG 的图结构进行编码,然后将信息实体嵌入作为 ERNIE 的输入。 基于文本和 KG 之间的对齐,ERNIE 将知识模块中的实体表示集成到语义模块的底层。

(2)设计了一个新的预训练目标。通过随机mask输入文本中的一些命名实体对齐并要求模型从 KG 中选择合适的实体来完成对齐。 与现有的仅利用局部上下文来预测标记的预训练语言表示模型不同,我们的目标是要求模型聚合上下文和知识事实以预测token和实体,并形成知识增强的语言表示模型。


方法论

符号说明

token序列表示为 { w 1 , . . . , w n } \{w_1,...,w_n\} {w1,...,wn} n n n 是token序列的长度;

与给定token对齐的实体序列表示为 { e 1 , . . . , e m } \{e_1,...,e_m\} {e1,...,em}, m m m 是实体序列的长度;

在大多数情况下 m m m不等于 n n n,因为并非每个token都可以与 KG 中的实体对齐;

包含所有token的整个词汇表表示为 V \mathcal{V} V

包含 KG 中所有实体的实体列表表示为 E \mathcal{E} E

如果标记 w ∈ V w\in \mathcal{V} wV 有相应的实体 e ∈ E e ∈ \mathcal{E} eE,则它们的对齐定义为 f ( w ) = e f( w) = e f(w)=e

在ERNIE中,作者将实体与其命名实体短语中的第一个标记对齐,如图 3 所示。

图3 左边是ERNIE的架构。 右边是 token 和 entity 的输入相互集成的聚合器。 信息融合层有两种输入:一种是 t o k e n   e m b e d d i n g token\ embedding token embedding,另一种是 t o k e n   e m b e d d i n g token\ embedding token embedding e n t i t y   e m b e d d i n g entity\ embedding entity embedding的串联。 信息融合后,它为下一层输出新的 t o k e n   e m b e d d i n g token\ embedding token embedding e n t i t y   e m b e d d i n g entity\ embedding entity embedding

ERNIE 的模型架构

如图 3左边所示,ERNIE 的整个模型架构由两个堆叠模块组成:

(1)底层文本编码器(T-Encoder)负责从输入标记中捕获基本的词汇和句法信息

给定一个token序列 { w 1 , . . . , w n } \{w_1,...,w_n\} {w1,...,wn},及其对应的实体序列 { e 1 , . . . , e m } \{e_1 , . . . , e_m \} {e1,...,em},文本编码器首先对每个token的 t o k e n   e m b e d d i n g token\ embedding token embedding s e g m e n t   e m b e d d i n g segment\ embedding segment embedding p o s i t i o n a l   e m b e d d i n g positional\ embedding positional embedding求和以计算其 i n p u t   e m b e d d i n g input\ embedding input embedding,计算 { w 1 , . . . , w n } \{\pmb{w}_1,...,\pmb{w}_n\} {www1,...,wwwn} 如下,
{ w 1 , . . . , w n } = T − E n c o d e r ( { w 1 , . . . , w n } ) \{\pmb{w}_1,...,\pmb{w}_n\}=T-Encoder(\{w_1,...,w_n\}) {www1,...,wwwn}=TEncoder({w1,...,wn})其中, T − E n c o d e r ( ⋅ ) T-Encoder(·) TEncoder() 是一个多层双向Transformer encoder,与BERT 中的实现相同。

(2)上层知识编码器 (K-Encoder) 负责将额外的面向token的知识信息整合到来自底层的文本信息中,以便将token和实体的异构信息表示到一个统一的特征空间中。

用实体嵌入 { e 1 , . . . , e m } \{\pmb{e}_1 , . . . , \pmb{e}_m\} {eee1,...,eeem}表示实体 { e 1 , . . . , e m } \{e_1 , . . . , e_m \} {e1,...,em},将来自K-Encoder的 { w 1 , . . . , w n } \{\pmb{w}_1,...,\pmb{w}_n\} {www1,...,wwwn}和 Trans E的编码结果 { e 1 , . . . , e m } \{\pmb{e}_1 , . . . , \pmb{e}_m\} {eee1,...,eeem}喂给K-Encoder,计算最终的 o u t p u t   e m b e d d i n g output \ embedding output embedding
{ w 1 o , . . . , w n o } , { e 1 o , . . . , e m o } = K − E n c o d e r ( { w 1 , . . . , w n } , { e 1 , . . . , e m } ) \{\pmb{w}_1^o,...,\pmb{w}_n^o\},\{\pmb{e}_1^o,...,\pmb{e}_m^o\}\\= K-Encoder(\{\pmb{w}_1,...,\pmb{w}_n\} ,\{\pmb{e}_1 , . . . , \pmb{e}_m\}) {www1o,...,wwwno},{eee1o,...,eeemo}=KEncoder({www1,...,wwwn},{eee1,...,eeem}) 其中, { e 1 , . . . , e m } \{\pmb{e}_1 , . . . , \pmb{e}_m\} {eee1,...,eeem}由知识嵌入模型 TransE 进行预训练, { w 1 o , . . . , w n o } 和 { e 1 o , . . . , e m o } \{\pmb{w}_1^o,...,\pmb{w}_n^o\}和\{\pmb{e}_1^o,...,\pmb{e}_m^o\} {www1o,...,wwwno}{eee1o,...,eeemo}将作为特征用于特定的任务。

作者将 T-Encoder 层数表示为 N N N,将 K-Encoder 层数表示为 M M M。(实验中 M = N M=N M=N)

ERNIE T-Encoder

T − E n c o d e r T-Encoder TEncoder 是一个多层双向Transformer encoder,与BERT 中的实现相同,详细可以看BERT这篇论文。

ERNIE 的K-Encoder

如图3所示,K-Encoder 由多个堆叠的聚合器组成,旨在编码tokens 和实体以及融合他们的异构信息

在第 i i i个聚合器中,将来自前面的聚合器的 i n p u t   t o k e n   e m b e d d i n g   { w 1 ( i − 1 ) , . . . , w n ( i − 1 ) } input\ token\ embedding\ \{\pmb{w}_1^{(i-1)},...,\pmb{w}_n^{(i-1)}\} input token embedding {www1(i1),...,wwwn(i1)} e n t i t y   e m b e d d i n g entity\ embedding entity embedding { e 1 ( i − 1 ) , . . . , e m ( i − 1 ) } \{\pmb{e}_1^{(i-1)},...,\pmb{e}_m^{(i-1)}\} {eee1(i1),...,eeem(i1)} 分别输入两个多头自注意力(MH-ATTs)
{ w ~ 1 (

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/352092
推荐阅读
相关标签