1. 文章簡(jiǎn)介
- 標(biāo)題: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),一種可以將外部知識(shí)融合進(jìn)入預(yù)訓(xùn)練模型的方法。數(shù)值實(shí)驗(yàn)表明,ERNIE可以提升一些知識(shí)驅(qū)動(dòng)的下游任務(wù)的表現(xiàn),且在其它NLP任務(wù)上效果基本持平SOTA。
3 文章重點(diǎn)技術(shù)
3.1 模型框架
??給定token序列
{
w
1
,
…
,
w
n
}
\{w_1, \dots, w_n\}
{w1?,…,wn?},其中
n
n
n為序列長(zhǎng)度,令
{
e
1
,
…
,
e
m
}
\{e_1, \dots, e_m\}
{e1?,…,em?}表示對(duì)應(yīng)的實(shí)體序列,其中
m
m
m為實(shí)體數(shù)。一般來說
m
<
n
m<n
m<n,這是因?yàn)椴皇敲總€(gè)token都可以映射為知識(shí)圖譜(KG)中的實(shí)體(entity),且一個(gè)實(shí)體可能對(duì)應(yīng)多個(gè)token,比如"bob dylan"兩個(gè)token對(duì)應(yīng)一個(gè)實(shí)體"Bob Dylan"。記所有token的詞表為
V
\mathcal{V}
V,KG中所有實(shí)體的集合為
E
\mathcal{E}
E。如果對(duì)
v
∈
V
v\in\mathcal{V}
v∈V,存在與其對(duì)應(yīng)的實(shí)體
e
∈
E
e\in\mathcal{E}
e∈E,則我們用
f
(
v
)
=
e
f(v)=e
f(v)=e表示這種對(duì)齊關(guān)系。特別地,針對(duì)上述多個(gè)token對(duì)應(yīng)單個(gè)實(shí)體的情況,我們將實(shí)體對(duì)齊給第一個(gè)token,例如句子中出現(xiàn)"bob dylan…"時(shí),
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),用于將外部知識(shí)融合進(jìn)入模型。記T-Encoder的層數(shù)為
N
N
N,K-Encoder的層數(shù)為
M
M
M。
??具體來說,給定輸入序列
{
w
1
,
…
,
w
n
}
\{w_1, \dots, w_n\}
{w1?,…,wn?}和對(duì)應(yīng)的實(shí)體序列
{
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結(jié)構(gòu)和BERT[1]相同,基本架構(gòu)為Transformer的Encoder層。
??然后將上述特征傳入到K-Encoder層。K-Encoder還會(huì)接受外部知識(shí)信息,首先我們會(huì)通過TransE生成
{
e
1
,
…
,
e
m
}
\{e_1, \dots, e_m\}
{e1?,…,em?}對(duì)應(yīng)的預(yù)訓(xùn)練實(shí)體嵌入
{
e
1
,
…
,
e
m
}
\{\bold{e}_1, \dots, \bold{e}_m\}
{e1?,…,em?},然后將該嵌入同上述特征
{
w
1
,
…
,
w
n
}
\{\bold{w}_1, \dots, \bold{w}_n\}
{w1?,…,wn?}一起輸入K-Encoder層從而得到融合外部知識(shí)的輸出嵌入:
{
w
1
o
,
…
,
w
n
o
}
,
{
e
1
o
,
…
,
e
m
o
}
=
K-Encoder
(
{
w
1
,
…
,
w
n
}
,
{
e
1
,
…
,
e
m
}
)
\{\bold{w}_1^o, \dots, \bold{w}_n^o\},\{\bold{e}_1^o, \dots, \bold{e}_m^o\} = \text{K-Encoder}(\{\bold{w}_1, \dots, \bold{w}_n\},\{\bold{e}_1, \dots, \bold{e}_m\})
{w1o?,…,wno?},{e1o?,…,emo?}=K-Encoder({w1?,…,wn?},{e1?,…,em?}),上述輸出嵌入后續(xù)可用來作為特征參與下游任務(wù)。
3.2 K-Encoder(Knowledgeable Encoder)
??如上圖所示,K-Encoder包含堆疊的聚合器,每個(gè)聚合器包含token和實(shí)體兩部分輸入。在第 i i i個(gè)聚合器中,輸入為來自上層聚合器的嵌入 { w 1 ( i ? 1 ) , … , w n ( i ? 1 ) } \{\bold{w}_1^{(i-1)}, \dots, \bold{w}_n^{(i-1)}\} {w1(i?1)?,…,wn(i?1)?}和實(shí)體嵌入 { e 1 ( i ? 1 ) , … , e m ( i ? 1 ) } \{\bold{e}_1^{(i-1)}, \dots, \bold{e}_m^{(i-1)}\} {e1(i?1)?,…,em(i?1)?},然后將token和實(shí)體嵌入分別傳入到兩個(gè)多頭自注意力機(jī)制MH-ATTs得到各自的輸出: { { w ~ 1 ( i ) , … , w ~ n ( i ) } = MH-ATT ( { w 1 ( i ? 1 ) , … , w n ( i ? 1 ) } ) { e ~ 1 ( i ) , … , e ~ m ( i ) } = MH-ATT ( { e 1 ( i ? 1 ) , … , e m ( i ? 1 ) } ) \begin{cases}\{\bold{\tilde{w}}_1^{(i)}, \dots, \bold{\tilde{w}}_n^{(i)}\} = \text{MH-ATT}(\{\bold{w}_1^{(i-1)}, \dots, \bold{w}_n^{(i-1)}\})\\ \{\bold{\tilde{e}}_1^{(i)}, \dots, \bold{\tilde{e}}_m^{(i)}\} = \text{MH-ATT}(\{\bold{e}_1^{(i-1)}, \dots, \bold{e}_m^{(i-1)}\})\end{cases} {{w~1(i)?,…,w~n(i)?}=MH-ATT({w1(i?1)?,…,wn(i?1)?}){e~1(i)?,…,e~m(i)?}=MH-ATT({e1(i?1)?,…,em(i?1)?})?。然后模型通過將每個(gè)token與其對(duì)應(yīng)的實(shí)體進(jìn)行拼接,將外部實(shí)體信息融合進(jìn)入嵌入。具體來說,針對(duì)一個(gè)有與之對(duì)應(yīng)的實(shí)體的token,假設(shè) e k = f ( w j ) e_k=f(w_j) ek?=f(wj?),則 h j = σ ( W ~ t ( i ) w ~ j ( i ) + W ~ e ( i ) e ~ k ( i ) + b ~ ( i ) ) \bold{h}_j = \sigma(\bold{\tilde{W}}_t^{(i)} \bold{\tilde{w}}_j^{(i)} + \bold{\tilde{W}}_e^{(i)} \bold{\tilde{e}}_k^{(i)} + \bold{\tilde}^{(i)}) hj?=σ(W~t(i)?w~j(i)?+W~e(i)?e~k(i)?+b~(i))為整合了實(shí)體和token信息的隱藏層輸出, w j ( i ) = σ ( W t ( i ) h j + b ~ t ( i ) ) e k ( i ) = σ ( W e ( i ) h j + b ~ e ( i ) ) \bold{w}_j^{(i)} = \sigma (\bold{W}_t^{(i)} \bold{h}_j + \bold{\tilde}_t^{(i)})\\\bold{e}_k^{(i)} = \sigma (\bold{W}_e^{(i)} \bold{h}_j + \bold{\tilde}_e^{(i)}) wj(i)?=σ(Wt(i)?hj?+b~t(i)?)ek(i)?=σ(We(i)?hj?+b~e(i)?)表示當(dāng)前聚合器的輸出嵌入,其中 σ \sigma σ為GELU激活函數(shù)。對(duì)于沒有與之對(duì)應(yīng)實(shí)體的token,只需要把上述涉及 e e e的部分拿掉即可: h j = σ ( W ~ t ( i ) w ~ j ( i ) + b ~ ( i ) ) w j ( i ) = σ ( W t ( i ) h j + b ~ t ( i ) ) \bold{h}_j = \sigma(\bold{\tilde{W}}_t^{(i)} \bold{\tilde{w}}_j^{(i)} + \bold{\tilde}^{(i)})\\\bold{w}_j^{(i)} = \sigma (\bold{W}_t^{(i)} \bold{h}_j + \bold{\tilde}_t^{(i)}) hj?=σ(W~t(i)?w~j(i)?+b~(i))wj(i)?=σ(Wt(i)?hj?+b~t(i)?)
3.3 預(yù)訓(xùn)練任務(wù)
??為了將知識(shí)融合進(jìn)入語言表達(dá),文章提出了一種新的預(yù)訓(xùn)練任務(wù):dEA(denoising entity auto-encoder):隨機(jī)掩碼一些token-entity的對(duì)齊,然后讓模型給予對(duì)齊的tokens來預(yù)測(cè)被掩碼的實(shí)體。具體來說,給定輸入序列
{
w
1
,
…
,
w
n
}
\{w_1, \dots, w_n\}
{w1?,…,wn?}和對(duì)應(yīng)的實(shí)體序列
{
e
1
,
…
,
e
m
}
\{e_1, \dots, e_m\}
{e1?,…,em?},通過下述公示預(yù)測(cè)token
w
i
w_i
wi?對(duì)應(yīng)的實(shí)體分布:
p
(
e
j
∣
w
i
)
=
exp
?
(
linear
(
w
i
o
)
?
e
j
)
∑
k
=
1
m
exp
?
(
linear
(
w
i
o
)
?
e
k
)
p(e_j|w_i) = \frac {\exp (\text{linear}(\bold{w}_i^o) \cdot \bold{e}_j)}{\sum_{k=1}^m \exp (\text{linear}(\bold{w}_i^o) \cdot \bold{e}_k)}
p(ej?∣wi?)=∑k=1m?exp(linear(wio?)?ek?)exp(linear(wio?)?ej?)?。
??考慮到實(shí)際對(duì)齊過程中可能存在一些錯(cuò)誤,我們?cè)黾尤缦虏呗裕?)5%的時(shí)間用隨機(jī)的實(shí)體替代當(dāng)前實(shí)體,使得模型糾正token-實(shí)體對(duì)齊錯(cuò)誤的情況 2)15%的時(shí)間將token-實(shí)體對(duì)齊進(jìn)行掩碼,使得模型可以糾正當(dāng)實(shí)體對(duì)齊為被識(shí)別到的情況 3)其余時(shí)間保持token-實(shí)體對(duì)齊不變,從而使得模型學(xué)習(xí)到token和實(shí)體之間的對(duì)齊方法。
??最終,ERNIE使用MLM、NSP和上述dEA三種訓(xùn)練目標(biāo)。
3.4 微調(diào)
??類似于BERT,我們使用[CLS]的嵌入作為句子的最終嵌入表示來進(jìn)行分類。針對(duì)關(guān)系分類任務(wù),我們?cè)黾覽HD]和[TL]表示head/tail實(shí)體的開頭和結(jié)尾;針對(duì)實(shí)體抽取任務(wù),我們?cè)黾覽ENT]表示實(shí)體位置。
4. 文章亮點(diǎn)
??文章提出了一種可以將外部信息融合至預(yù)訓(xùn)練的ERNIE模型。實(shí)驗(yàn)表明,ERNIE可以有效地將KG中的信息注入到預(yù)訓(xùn)練模型,從而使得模型在處理實(shí)體提取、關(guān)系分類等需要外部知識(shí)的任務(wù)時(shí)更加出色,且實(shí)驗(yàn)證明外部知識(shí)可以幫助模型充分利用少量的訓(xùn)練集。
5. 原文傳送門
ERNIE: Enhanced Language Representation with Informative Entities文章來源:http://www.zghlxwxcb.cn/news/detail-600349.html
6. References
[1] 論文筆記–BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding
[2] 百度ERNIE論文筆記–ERNIE: Enhanced Representation through Knowledge Integration文章來源地址http://www.zghlxwxcb.cn/news/detail-600349.html
到了這里,關(guān)于論文筆記--ERNIE: Enhanced Language Representation with Informative Entities的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!