论文笔记--ERNIE: Enhanced Language Representation with Informative Entities
1. 文章简介
- 标题:ERNIE: Enhanced Language Representation with Informative Entities
- 作者:Zhengyan Zhang, Xu Han, Zhiyuan Liu, Xin Jiang, Maosong Sun, Qun Liu
- 日期:2019
- 期刊:ACL
2. 文章概括
文章提出了ERNIE(Enhanced Language Representation with Informative Entities),一种可以将外部知识融合进入预训练模型的方法。数值实验表明,ERNIE可以提升一些知识驱动的下游任务的表现,且在其它NLP任务上效果基本持平SOTA。
3 文章重点技术
3.1 模型框架
给定token序列 { w 1 , … , w n } \{w_1, \dots, w_n\} {
w1,…,wn},其中 n n n为序列长度,令 { e 1 , … , e m } \{e_1, \dots, e_m\} {
e1,…,em}表示对应的实体序列,其中 m m m为实体数。一般来说 m < n m<n m<n,这是因为不是每个token都可以映射为知识图谱(KG)中的实体(entity),且一个实体可能对应多个token,比如"bob dylan"两个token对应一个实体"Bob Dylan"。记所有token的词表为 V \mathcal{V} V,KG中所有实体的集合为 E \mathcal{E} E。如果对 v ∈ V v\in\mathcal{V} v∈V,存在与其对应的实体 e ∈ E e\in\mathcal{E} e∈E,则我们用 f ( v ) = e f(v)=e f(v)=e表示这种对齐关系。特别地,针对上述多个token对应单个实体的情况,我们将实体对齐给第一个token,例如句子中出现"bob dylan…"时, f ( "bob" ) = "Bob Dylan" f(\text{"bob"}) = \text{"Bob Dylan"} f("bob")="Bob Dylan"。
如下图所示,ERNIE的整体框架分为两部分:1) T-Encoder(Textual encoder),用于捕捉基本的词义和句法信息;2) K-Encoder(Knowledgeable encoder),用于将外部知识融合进入模型。记T-Encoder的层数为 N N N,K-Encoder的层数为 M M M。
具体来说,给定输入序列 { w 1 , … , w n } \{w_1, \dots, w_n\} {
w1,…,wn}和对应的实体序列 { e 1 , … , e m } \{e_1, \dots, e_m\} {
e1,…,em},T-encoder层首先将token序列、segment序列和位置序列输入得到词汇和句法层面的特征 { w 1 , … , w n } = T-Encoder ( { w 1 , … , w n } ) \{\bold{w}_1, \dots, \bold{w}_n\} = \text{T-Encoder}(\{w_1, \dots, w_n\}) {
w1,…,wn}=T-Encoder({
w1,…,wn}),其中T-Encoder结构和BERT[1]相同,基本架构为Transformer的Encoder层。
然后将上述特征传入到K-Encoder层。K-Encoder还会接受外部知识信息,首先我们会通过TransE生成 { e 1 , … , e m } \{e_1, \dots, e_m\} {
e1,…,em