游樂(lè)圻,裴忠民,羅章凱
(航天工程大學(xué) 復(fù)雜電子系統(tǒng)仿真重點(diǎn)實(shí)驗(yàn)室,北京 101416)
與基于規(guī)則和統(tǒng)計(jì)的傳統(tǒng)命名實(shí)體識(shí)別(named entity recognition,NER)方法相比,深度學(xué)習(xí)有助于自動(dòng)發(fā)現(xiàn)隱藏的特征,所以基于深度學(xué)習(xí)的方法在當(dāng)前NER任務(wù)中占據(jù)主導(dǎo)地位。特別是預(yù)訓(xùn)練語(yǔ)言模型BERT的出現(xiàn),大大提高了中文NER模型的性能。但是BERT的不足之處同樣不可忽視:其訓(xùn)練時(shí)間長(zhǎng)、參數(shù)量大,這導(dǎo)致基于BERT的NER模型在工程應(yīng)用受限[1]。如何在減少訓(xùn)練時(shí)間的同時(shí)提高模型的識(shí)別性能成為現(xiàn)階段中文NER研究的關(guān)鍵難點(diǎn)。
對(duì)此,本文基于ALBERT,融合“自注意力”層能采集上下文相關(guān)語(yǔ)義信息的優(yōu)點(diǎn),提出ALBERT BiLSTM-Self-Attention-CRF模型。具體考慮如下:為了減少模型訓(xùn)練時(shí)間,編碼層選用參數(shù)量少的ALBERT。但是參數(shù)量大量減少就不可避免帶來(lái)整體模型性能的損失。為此,模型又從兩個(gè)方面來(lái)彌補(bǔ)損失。一是結(jié)合了BiLSTM-CRF,原因是ALBERT內(nèi)部使用的Transformer結(jié)構(gòu)弱化了語(yǔ)言序列的方向信息和位置信息,而B(niǎo)iLSTM中特殊的記憶單元可以捕捉語(yǔ)言序列的每個(gè)位置的依賴信息;二是融合了“自注意力”機(jī)制,其作用就是使模型將有限的信息處理能力更多地關(guān)注在對(duì)識(shí)別模型而言有效的實(shí)體信息上,進(jìn)而達(dá)到提高模型識(shí)別性能的目的。
預(yù)訓(xùn)練語(yǔ)言模型的應(yīng)用,使得NER模型性能有了顯著提高。2018年,預(yù)訓(xùn)練語(yǔ)言模型BERT[2]橫空出世,研究者們將BERT應(yīng)用于NER領(lǐng)域[3,4],發(fā)現(xiàn)基于BERT的中文NER取得了重大的突破,就算是在極小數(shù)據(jù)集的情況下,F(xiàn)1值都能達(dá)到92%以上的水平。但是BERT龐大的參數(shù)量使得模型抽取時(shí)存在訓(xùn)練時(shí)間過(guò)長(zhǎng)而導(dǎo)致專業(yè)領(lǐng)域應(yīng)用受限。在提出BERT的原論文中,BERT就有3億的參數(shù)量,訓(xùn)練一個(gè)BERT-Large更是要64個(gè)TPU工作4天才能完成。
近年來(lái)的NER研究都不能兼得訓(xùn)練時(shí)間和模型性能。為解決BERT過(guò)大參數(shù)量的問(wèn)題,文獻(xiàn)[5]提出了ALBERT,從分解嵌入、共享參數(shù)、改進(jìn)任務(wù)3個(gè)方面對(duì)BERT改進(jìn),減少了模型參數(shù)的同時(shí)也略微降低模型性能。文獻(xiàn)[6]提出將ALBERT模型用于中文NER任務(wù),達(dá)到了降低模型訓(xùn)練時(shí)間和成本的效果,但是在識(shí)別性能上整體弱于基于BERT的模型。文獻(xiàn)[7]提出能在編碼時(shí)融入中文字符及詞匯信息的Lattice LSTM-CRF模型,模型識(shí)別效果遜色于基于BERT的模型。文獻(xiàn)[8]提出BiLSTM-CNN-CRF模型。該方法的結(jié)合了人工神經(jīng)網(wǎng)絡(luò)可以卷積獲取字符和詞語(yǔ)表示,將此作為BiLSTM的輸入,取得了不錯(cuò)的效果。文獻(xiàn)[9]將順序遺忘編碼融合進(jìn)BiLSTM,在中文NER中取得了F1值91.65%的成績(jī),效果仍不及BERT BiLSTM-CRF。
融合自注意力機(jī)制可以有效提高中文NER模型的性能。文獻(xiàn)[10]在BiLSTM-CRF模型基礎(chǔ)上加入自注意力機(jī)制,提高了領(lǐng)域?qū)嶓w識(shí)別精確率。文獻(xiàn)[11]在BiLSTM-CRF基礎(chǔ)上引入了一個(gè)多重的自注意力機(jī)制來(lái)把握因果詞語(yǔ)之間的依賴關(guān)系,有效改進(jìn)了模型性能。文獻(xiàn)[12]設(shè)計(jì)了一種用于中文NER的名為“CAN”的卷積關(guān)注網(wǎng)絡(luò),采用GRU單元捕捉相鄰字符和句子上下文的信息,比原來(lái)模型具有更高的識(shí)別性能。文獻(xiàn)[13]提出BQRNN-CRF+Attention模型,和BiLSTM-CRF相比在性能和效率上都有了提高。文獻(xiàn)[14]提出CWA-CNER模型。該模型融合了多頭注意力機(jī)制和中文字詞信息,在中文NER效果中取得新突破。
結(jié)合現(xiàn)有研究,本文提出ALBERT BiLSTM-Self-Attention-CRF模型,降低模型訓(xùn)練成本的同時(shí)又提高了模型整體識(shí)別性能。該模型采用ALBERT預(yù)訓(xùn)練語(yǔ)言模型,訓(xùn)練時(shí)間大大減??;同時(shí)融合了自注意力機(jī)制能很好采集上下文信息的優(yōu)點(diǎn),進(jìn)一步改善了模型性能。
本文提出的ALBERT BiLSTM-Self-Attention-CRF模型整體結(jié)構(gòu)如圖1所示,由ALBERT層、BiLSTM層、自注意力層、CRF層4個(gè)模塊組成。模型組合順序考慮:ALBERT層將語(yǔ)句向量化,作為模型輸入層。CRF作用是對(duì)狀態(tài)序列的尋優(yōu)和輸出,充當(dāng)模型的輸出層。將自注意力層放在BiLSTM層和CRF層之間,主要是考慮“自注意力機(jī)制”是在向量層面尋找最優(yōu)的序列,輸入和輸出的都是向量,而B(niǎo)iLSTM層輸出為帶有位置信息的序列向量,因此,在BiLSTM和CRF之間接入最為合適。
圖1 ALBERT BiLSTM-Self-Attention-CRF模型結(jié)構(gòu)
各層功能簡(jiǎn)述:模型的第一層是ALBERT層,在此層中使用ALBERT預(yù)訓(xùn)練模型獲取字向量標(biāo)記序列X=(x1,x2,…,xn), 利用文本內(nèi)部關(guān)系提取文本重要特征;其次是BiLSTM層,字向量傳入該層后,通過(guò)學(xué)習(xí)上下文特征信息得到特征權(quán)重;再經(jīng)過(guò)自注意力層尋找序列內(nèi)部聯(lián)系,并輸出得分序列;最后在CRF層中利用狀態(tài)轉(zhuǎn)移矩陣和相鄰信息獲得一個(gè)全局最優(yōu)序列。
2.2.1 ALBERT層
和NLP中其它的預(yù)訓(xùn)練語(yǔ)言模型一樣,ALBERT主要作用就是計(jì)算語(yǔ)言序列的所有的可能概率P(S)
(1)
ALBERT和BERT一樣都采用了Transformer作為編碼器,Transformer編碼單元主要是運(yùn)用注意力機(jī)制來(lái)獲得序列內(nèi)部的關(guān)系權(quán)重,如圖2所示。
圖2 Transformer編碼單元
ALBERT主要在以下3個(gè)方面對(duì)BERT進(jìn)行改進(jìn):
(1)對(duì)嵌入的因式分解
BERT的參數(shù)量復(fù)雜度為o(V×H), 其中V是總參數(shù)量的詞匯表長(zhǎng)度,H是每個(gè)詞嵌入隱藏層大小。ALBERT的改進(jìn)思想是,因?yàn)槿诤狭松舷挛男畔?,隱藏層包含的信息會(huì)多于詞匯表,則理論上有H?E。 ALBERT對(duì)字向量參數(shù)進(jìn)行因式分解,將其分解成2個(gè)更小的矩陣,參數(shù)量的復(fù)雜度改變?nèi)缡?2)
o(V×H)→o(V×E+E×H)
(2)
(2)跨層參數(shù)共享
Transformer的跨層共享參數(shù)可以分為共享所有參數(shù)、只共享FFN相關(guān)參數(shù)和只共享attention相關(guān)參數(shù)3種模式。ALBERT選擇了共享attention和FFN的相關(guān)參數(shù),即把每個(gè)attention的參數(shù)共享給每個(gè)注意力頭。從結(jié)果上看,跨層參數(shù)共享可以很有效地壓縮參數(shù)總量,但副作用就是使得模型的性能有下滑。
(3)句間連貫性損失
ALBERT對(duì)下一句預(yù)測(cè)任務(wù)進(jìn)行改進(jìn),方式是正樣本和選擇兩個(gè)同文檔中順序相連的句子,負(fù)樣本則是正樣本相同的兩個(gè)句子調(diào)換順序,這只需要對(duì)句子之間的關(guān)系進(jìn)行推理,提高預(yù)測(cè)效率。
2.2.2 BiLSTM層
長(zhǎng)短期記憶神經(jīng)網(wǎng)(LSTM)是一種特定的循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN),其克服了傳統(tǒng)RNN的梯度爆炸問(wèn)題。通過(guò)專門設(shè)計(jì)的柵格結(jié)構(gòu)(如圖3所示),模型可以選擇性地保存上下文信息。LSTM的主要由遺忘門、輸入門和輸出門3種門控單元來(lái)控制輸入輸出
圖3 LSTM單元結(jié)構(gòu)
it=σ(Wi·[ht-1,xt]+bi)
(3)
ft=σ(Wfhht-1+Wfxxt+bf)
(4)
ot=σ(Wo·[ht-1,xt]+bc)
(5)
(6)
(7)
ht=ot°tanh(ct)
(8)
(9)
2.2.3 自注意力層
文本信息經(jīng)過(guò)BiLSTM層編碼成的隱向量具有相同的權(quán)重,因此進(jìn)一步的特征區(qū)分很有必要。本文引入“自注意力”機(jī)制(如圖4所示)來(lái)彌補(bǔ)模型的準(zhǔn)確性損失,自注意力機(jī)制只在序列內(nèi)部完成注意力計(jì)算,尋找序列內(nèi)部聯(lián)系。
圖4 自注意力機(jī)制
給定H作為BiLSTM層的輸出,注意力機(jī)制首先將矩陣H投影到矩陣:Q,K和V,并行計(jì)算注意力矩陣,最后通過(guò)并聯(lián)頭部產(chǎn)生的所有矩陣均勻,得出最終值Z。具體到每個(gè)詞的重要程度,使用SoftMax對(duì)score=Q·K處理得到,如式(10)
(10)
本文使用的多頭注意力機(jī)制就是分別讓每個(gè)頭獨(dú)立計(jì)算注意力矩陣,最終結(jié)果就是將各個(gè)頭的結(jié)果拼接,能多維度捕捉文本上下文特征
(11)
Multi(Q,W,V)=Concat(headi,…,headh)Wo
(12)
2.2.4 CRF層
條件隨機(jī)場(chǎng)(CRF)是使用機(jī)器學(xué)習(xí)處理NER的一種常用算法。CRF層可以通過(guò)考慮標(biāo)簽序列的全局信息并將約束添加標(biāo)記到最后預(yù)測(cè)結(jié)果中的方式學(xué)習(xí)上下文信息,組合標(biāo)簽序列的全局概率和輸出層結(jié)果,并預(yù)測(cè)具有最高概率的標(biāo)簽序列。對(duì)于給定句子,即輸入序列X=(x1,x2,…,xn) 和相對(duì)應(yīng)的輸出標(biāo)簽序列Y=(y1,y2,…,yn), 定義CRF評(píng)估分?jǐn)?shù)為
(13)
其中,A和P分別是轉(zhuǎn)移得分矩陣和輸出得分矩陣。Ayi,yi+1表示從標(biāo)簽i到標(biāo)簽i+1的轉(zhuǎn)移分?jǐn)?shù)。Pi,yi表示第i個(gè)中文字符的輸出分?jǐn)?shù)yi。
用Softmax函數(shù)歸一化所有可能的序列之后,所產(chǎn)生的輸出序列的概率p(y|x) 可如式(14)表示
(14)
(15)
預(yù)測(cè)時(shí),通過(guò)等式輸出具有最高概率的一組序列
(16)
表1 數(shù)據(jù)集實(shí)體個(gè)數(shù)統(tǒng)計(jì)
數(shù)據(jù)集使用BIEO模式標(biāo)記,即將實(shí)體的首個(gè)字符標(biāo)記為“B-(實(shí)體名稱)”,中間字符全部標(biāo)記為“I-(實(shí)體名稱)”,結(jié)尾字符標(biāo)記為“E-(實(shí)體名稱)”,其它不相關(guān)字符標(biāo)記為O。
本文采用的NER評(píng)價(jià)標(biāo)準(zhǔn)主要包括精確率(P)、召回率(R)和F1值,并定義TP為模型正確識(shí)別到相關(guān)實(shí)體的樣本數(shù),F(xiàn)P為模型將非相關(guān)實(shí)體誤識(shí)別為相關(guān)實(shí)體的樣本數(shù),F(xiàn)N為模型未識(shí)別到其中所包含的相關(guān)實(shí)體的樣本數(shù)。具體如式(17)~式(19)
(17)
(18)
(19)
本文進(jìn)行實(shí)驗(yàn)時(shí)所采用的環(huán)境見(jiàn)表2。
表2 實(shí)驗(yàn)環(huán)境配置
為更好對(duì)比研究模型性能,實(shí)驗(yàn)的參數(shù)統(tǒng)一做如表3設(shè)置。
表3 實(shí)驗(yàn)參數(shù)設(shè)置
為使得模型結(jié)果最優(yōu),在《人民日?qǐng)?bào)》數(shù)據(jù)集上分析參數(shù)不同取值對(duì)模型性能的影響。其中,batch size、rnn units、dropout這3個(gè)參數(shù)對(duì)模型的訓(xùn)練時(shí)間和性能具有重要作用。圖5選取batch size為16、32進(jìn)行實(shí)驗(yàn),繼續(xù)增大時(shí)出現(xiàn)不適用的情況;圖6為rnn unit設(shè)置為32、64、128、256實(shí)驗(yàn)結(jié)果;圖7為dropout從0.1變化到0.9時(shí)模型性能的變化。
圖5 不同batch size時(shí)的模型性能
圖6 不同rnn units時(shí)的模型性能
圖7 dropout對(duì)模型性能的影響
綜合圖5、圖6、圖7可知,當(dāng)batch size=32,rnn units=64,dropout=0.5時(shí),模型的性能最佳,并且具有較好的泛化能力。
本文實(shí)驗(yàn)主要是從兩個(gè)方面來(lái)驗(yàn)證本文提出模型的有效性:一是對(duì)ALBERT同系列模型內(nèi)對(duì)比,目的是為了驗(yàn)證融合“自注意力”機(jī)制對(duì)模型性能的作用;二是和近年來(lái)的NER模型對(duì)比,目的驗(yàn)證本文模型的優(yōu)越性。
3.4.1 與ALBERT同系列模型對(duì)比
本小節(jié)設(shè)置了ALBERT BiLSTM-CRF、ALBERT CRF兩個(gè)對(duì)照實(shí)驗(yàn),實(shí)驗(yàn)在《人民日?qǐng)?bào)》數(shù)據(jù)集上進(jìn)行,從損失函數(shù)和精確率兩個(gè)角度分析模型性能。
為了分析模型在訓(xùn)練過(guò)程中損失和精確率隨著訓(xùn)練程度的變化情況,本文每隔70個(gè)數(shù)據(jù)條選取1個(gè)節(jié)點(diǎn),統(tǒng)計(jì)分析總共48個(gè)節(jié)點(diǎn)的損失和精確率。得到損失和精確率變化曲線如圖8、圖9所示。
圖8 損失變化曲線
圖9 精確率變化曲線
綜合圖8、圖9,對(duì)比個(gè)模型的損失函數(shù)曲線和精確率曲線可知,訓(xùn)練達(dá)到一定的階段后,ALBERT BiLSTM-Self-Attention-CRF模型的損失函數(shù)小于其余兩個(gè)模型,精確率大于其余兩個(gè)模型。由此可以看出,融合“自注意力機(jī)制”可以提升模型性能。但是,可以發(fā)現(xiàn)所提模型收斂速度是三者中最慢的。究其原因,模型層數(shù)的增加收斂速度變慢,增加自注意力機(jī)制造成的結(jié)果是需要更多的訓(xùn)練來(lái)使模型達(dá)到最優(yōu)性能。具體實(shí)體識(shí)別效果見(jiàn)表4。
表4 ALBERT系列模型實(shí)體識(shí)別效果
由表4可知:
(1)ALBERT BiLSTM-CRF相比于ALBERT CRF模型各個(gè)指標(biāo)都更優(yōu)??梢?jiàn),加入BiLSTM層能夠更好地利用上下文信息,提高模型的識(shí)別性能。
(2)ALBERT BiLSTM-Self-Attention-CRF模型相比于ALBERT BiLSTM-CRF模型,精確率P提高了1.82%、召回率R增加了0.41%,F(xiàn)1值增加了0.97%。由此可知,融合“自注意力”機(jī)制能多維度捕捉文本上下文特征的特點(diǎn),可以進(jìn)一步改善模型性能。
3.4.2 和近年來(lái)NER模型對(duì)比
本小節(jié)設(shè)置了3個(gè)對(duì)比實(shí)驗(yàn),分別在兩個(gè)數(shù)據(jù)集上都進(jìn)行對(duì)比實(shí)驗(yàn)。3個(gè)對(duì)比模型如下:
BERT CRF模型,是2017年由文獻(xiàn)[2]提出的BERT組合CRF層。
BERT BiLSTM-CRF模型,由文獻(xiàn)[3]于2019年提出,是當(dāng)前使用最廣泛的NER模型,許多研究也是此模型基礎(chǔ)上改進(jìn)或者以此作對(duì)比驗(yàn)證。
Lattice-LSTM-CRF模型,2018年由文獻(xiàn)[7]提出,該模型只針對(duì)中文NER,融合了中文字符與詞序信息,在MSRA數(shù)據(jù)集上取得了當(dāng)時(shí)最優(yōu)識(shí)別結(jié)果。
各NER模型實(shí)驗(yàn)結(jié)果見(jiàn)表5。
表5 各NER模型實(shí)體識(shí)別效果
在《人民日?qǐng)?bào)》數(shù)據(jù)集上對(duì)比所提模型和BERT BiLSTM-CRF每epoch所需的訓(xùn)練時(shí)間,見(jiàn)表6。
表6 兩模型運(yùn)行時(shí)間統(tǒng)計(jì)
綜合表5、表6可得:
(1)Lattice-LSTM-CRF識(shí)別效果遠(yuǎn)低于其它3個(gè)模型,這表明Lattice-LSTM-CRF雖然融合了文字字符詞匯信息可以提升模型識(shí)別效果,但是神經(jīng)網(wǎng)絡(luò)模型處理語(yǔ)言信息的能力弱于預(yù)訓(xùn)練語(yǔ)言模型。
(2)本文所提模型相比基于BERT的NER模型P、R、F1在兩個(gè)數(shù)據(jù)集上均提升0.8%左右,訓(xùn)練時(shí)間比BERT BiLSTM-CRF減少約13.8%。所提模型達(dá)到了減少訓(xùn)練時(shí)間、提升模型性能的效果。
此外,為了進(jìn)一步驗(yàn)證本文研究的先進(jìn)性,將本文模型和近年來(lái)對(duì)中文NER的研究對(duì)比,語(yǔ)料都采用《人民日?qǐng)?bào)》數(shù)據(jù)集。
由表7可知,前4種中文NER模型都是在神經(jīng)網(wǎng)絡(luò)的基礎(chǔ)上進(jìn)行融合詞匯、字符等信息的方式提高模型的識(shí)別效果,但是性能都遜色于本文模型,這驗(yàn)證了本文在ALBERT基礎(chǔ)上融合自注意力做法的有效性。
表7 各中文NER研究對(duì)比
針對(duì)現(xiàn)階段中文NER模型識(shí)別性能有待提高和訓(xùn)練時(shí)間過(guò)長(zhǎng)的不足,本文提出ALBERT BiLSTM-Self-Attention-CRF模型,和BERT BiLSTM-CRF相比,提升了性能的同時(shí)還減少了模型訓(xùn)練時(shí)間。該方法的貢獻(xiàn)在于:①將“自注意力機(jī)制”、ALBERT、BiLSTM-CRF三者相融合,和基線模型相比,在更少的訓(xùn)練時(shí)間下取得了更優(yōu)的識(shí)別效果,一定程度上解決了預(yù)訓(xùn)練語(yǔ)言模型在中文NER任務(wù)中的應(yīng)用受限問(wèn)題;②和在中文NER模型中融合詞典、詞匯、詞序等平行研究相比,本文模型取得了最優(yōu)的識(shí)別效果,為中文NER后續(xù)的研究方向提供參考。