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

在这里插入图片描述

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,...,www

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

葫芦娃啊啊啊啊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值