游樂圻,裴忠民,羅章凱
(航天工程大學 復雜電子系統仿真重點實驗室,北京 101416)
與基于規則和統計的傳統命名實體識別(named entity recognition,NER)方法相比,深度學習有助于自動發現隱藏的特征,所以基于深度學習的方法在當前NER任務中占據主導地位。特別是預訓練語言模型BERT的出現,大大提高了中文NER模型的性能。但是BERT的不足之處同樣不可忽視:其訓練時間長、參數量大,這導致基于BERT的NER模型在工程應用受限[1]。如何在減少訓練時間的同時提高模型的識別性能成為現階段中文NER研究的關鍵難點。
對此,本文基于ALBERT,融合“自注意力”層能采集上下文相關語義信息的優點,提出ALBERT BiLSTM-Self-Attention-CRF模型。具體考慮如下:為了減少模型訓練時間,編碼層選用參數量少的ALBERT。但是參數量大量減少就不可避免帶來整體模型性能的損失。為此,模型又從兩個方面來彌補損失。一是結合了BiLSTM-CRF,原因是ALBERT內部使用的Transformer結構弱化了語言序列的方向信息和位置信息,而BiLSTM中特殊的記憶單元可以捕捉語言序列的每個位置的依賴信息;二是融合了“自注意力”機制,其作用就是使模型將有限的信息處理能力更多地關注在對識別模型而言有效的實體信息上,進而達到提高模型識別性能的目的。
預訓練語言模型的應用,使得NER模型性能有了顯著提高。2018年,預訓練語言模型BERT[2]橫空出世,研究者們將BERT應用于NER領域[3,4],發現基于BERT的中文NER取得了重大的突破,就算是在極小數據集的情況下,F1值都能達到92%以上的水平。但是BERT龐大的參數量使得模型抽取時存在訓練時間過長而導致專業領域應用受限。在提出BERT的原論文中,BERT就有3億的參數量,訓練一個BERT-Large更是要64個TPU工作4天才能完成。
近年來的NER研究都不能兼得訓練時間和模型性能。為解決BERT過大參數量的問題,文獻[5]提出了ALBERT,從分解嵌入、共享參數、改進任務3個方面對BERT改進,減少了模型參數的同時也略微降低模型性能。文獻[6]提出將ALBERT模型用于中文NER任務,達到了降低模型訓練時間和成本的效果,但是在識別性能上整體弱于基于BERT的模型。文獻[7]提出能在編碼時融入中文字符及詞匯信息的Lattice LSTM-CRF模型,模型識別效果遜色于基于BERT的模型。文獻[8]提出BiLSTM-CNN-CRF模型。該方法的結合了人工神經網絡可以卷積獲取字符和詞語表示,將此作為BiLSTM的輸入,取得了不錯的效果。文獻[9]將順序遺忘編碼融合進BiLSTM,在中文NER中取得了F1值91.65%的成績,效果仍不及BERT BiLSTM-CRF。
融合自注意力機制可以有效提高中文NER模型的性能。文獻[10]在BiLSTM-CRF模型基礎上加入自注意力機制,提高了領域實體識別精確率。文獻[11]在BiLSTM-CRF基礎上引入了一個多重的自注意力機制來把握因果詞語之間的依賴關系,有效改進了模型性能。文獻[12]設計了一種用于中文NER的名為“CAN”的卷積關注網絡,采用GRU單元捕捉相鄰字符和句子上下文的信息,比原來模型具有更高的識別性能。文獻[13]提出BQRNN-CRF+Attention模型,和BiLSTM-CRF相比在性能和效率上都有了提高。文獻[14]提出CWA-CNER模型。該模型融合了多頭注意力機制和中文字詞信息,在中文NER效果中取得新突破。
結合現有研究,本文提出ALBERT BiLSTM-Self-Attention-CRF模型,降低模型訓練成本的同時又提高了模型整體識別性能。該模型采用ALBERT預訓練語言模型,訓練時間大大減小;同時融合了自注意力機制能很好采集上下文信息的優點,進一步改善了模型性能。
本文提出的ALBERT BiLSTM-Self-Attention-CRF模型整體結構如圖1所示,由ALBERT層、BiLSTM層、自注意力層、CRF層4個模塊組成。模型組合順序考慮:ALBERT層將語句向量化,作為模型輸入層。CRF作用是對狀態序列的尋優和輸出,充當模型的輸出層。將自注意力層放在BiLSTM層和CRF層之間,主要是考慮“自注意力機制”是在向量層面尋找最優的序列,輸入和輸出的都是向量,而BiLSTM層輸出為帶有位置信息的序列向量,因此,在BiLSTM和CRF之間接入最為合適。

圖1 ALBERT BiLSTM-Self-Attention-CRF模型結構
各層功能簡述:模型的第一層是ALBERT層,在此層中使用ALBERT預訓練模型獲取字向量標記序列X=(x1,x2,…,xn), 利用文本內部關系提取文本重要特征;其次是BiLSTM層,字向量傳入該層后,通過學習上下文特征信息得到特征權重;再經過自注意力層尋找序列內部聯系,并輸出得分序列;最后在CRF層中利用狀態轉移矩陣和相鄰信息獲得一個全局最優序列。
2.2.1 ALBERT層
和NLP中其它的預訓練語言模型一樣,ALBERT主要作用就是計算語言序列的所有的可能概率P(S)
(1)
ALBERT和BERT一樣都采用了Transformer作為編碼器,Transformer編碼單元主要是運用注意力機制來獲得序列內部的關系權重,如圖2所示。

圖2 Transformer編碼單元
ALBERT主要在以下3個方面對BERT進行改進:
(1)對嵌入的因式分解
BERT的參數量復雜度為o(V×H), 其中V是總參數量的詞匯表長度,H是每個詞嵌入隱藏層大小。ALBERT的改進思想是,因為融合了上下文信息,隱藏層包含的信息會多于詞匯表,則理論上有H?E。 ALBERT對字向量參數進行因式分解,將其分解成2個更小的矩陣,參數量的復雜度改變如式(2)
o(V×H)→o(V×E+E×H)
(2)
(2)跨層參數共享
Transformer的跨層共享參數可以分為共享所有參數、只共享FFN相關參數和只共享attention相關參數3種模式。ALBERT選擇了共享attention和FFN的相關參數,即把每個attention的參數共享給每個注意力頭。從結果上看,跨層參數共享可以很有效地壓縮參數總量,但副作用就是使得模型的性能有下滑。
(3)句間連貫性損失
ALBERT對下一句預測任務進行改進,方式是正樣本和選擇兩個同文檔中順序相連的句子,負樣本則是正樣本相同的兩個句子調換順序,這只需要對句子之間的關系進行推理,提高預測效率。
2.2.2 BiLSTM層
長短期記憶神經網(LSTM)是一種特定的循環神經網絡(RNN),其克服了傳統RNN的梯度爆炸問題。通過專門設計的柵格結構(如圖3所示),模型可以選擇性地保存上下文信息。LSTM的主要由遺忘門、輸入門和輸出門3種門控單元來控制輸入輸出

圖3 LSTM單元結構
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 自注意力層
文本信息經過BiLSTM層編碼成的隱向量具有相同的權重,因此進一步的特征區分很有必要。本文引入“自注意力”機制(如圖4所示)來彌補模型的準確性損失,自注意力機制只在序列內部完成注意力計算,尋找序列內部聯系。

圖4 自注意力機制
給定H作為BiLSTM層的輸出,注意力機制首先將矩陣H投影到矩陣:Q,K和V,并行計算注意力矩陣,最后通過并聯頭部產生的所有矩陣均勻,得出最終值Z。具體到每個詞的重要程度,使用SoftMax對score=Q·K處理得到,如式(10)
(10)

本文使用的多頭注意力機制就是分別讓每個頭獨立計算注意力矩陣,最終結果就是將各個頭的結果拼接,能多維度捕捉文本上下文特征
(11)
Multi(Q,W,V)=Concat(headi,…,headh)Wo
(12)
2.2.4 CRF層
條件隨機場(CRF)是使用機器學習處理NER的一種常用算法。CRF層可以通過考慮標簽序列的全局信息并將約束添加標記到最后預測結果中的方式學習上下文信息,組合標簽序列的全局概率和輸出層結果,并預測具有最高概率的標簽序列。對于給定句子,即輸入序列X=(x1,x2,…,xn) 和相對應的輸出標簽序列Y=(y1,y2,…,yn), 定義CRF評估分數為
(13)
其中,A和P分別是轉移得分矩陣和輸出得分矩陣。Ayi,yi+1表示從標簽i到標簽i+1的轉移分數。Pi,yi表示第i個中文字符的輸出分數yi。
用Softmax函數歸一化所有可能的序列之后,所產生的輸出序列的概率p(y|x) 可如式(14)表示
(14)

(15)
預測時,通過等式輸出具有最高概率的一組序列
(16)


表1 數據集實體個數統計
數據集使用BIEO模式標記,即將實體的首個字符標記為“B-(實體名稱)”,中間字符全部標記為“I-(實體名稱)”,結尾字符標記為“E-(實體名稱)”,其它不相關字符標記為O。
本文采用的NER評價標準主要包括精確率(P)、召回率(R)和F1值,并定義TP為模型正確識別到相關實體的樣本數,FP為模型將非相關實體誤識別為相關實體的樣本數,FN為模型未識別到其中所包含的相關實體的樣本數。具體如式(17)~式(19)
(17)
(18)
(19)
本文進行實驗時所采用的環境見表2。

表2 實驗環境配置
為更好對比研究模型性能,實驗的參數統一做如表3設置。

表3 實驗參數設置
為使得模型結果最優,在《人民日報》數據集上分析參數不同取值對模型性能的影響。其中,batch size、rnn units、dropout這3個參數對模型的訓練時間和性能具有重要作用。圖5選取batch size為16、32進行實驗,繼續增大時出現不適用的情況;圖6為rnn unit設置為32、64、128、256實驗結果;圖7為dropout從0.1變化到0.9時模型性能的變化。

圖5 不同batch size時的模型性能

圖6 不同rnn units時的模型性能

圖7 dropout對模型性能的影響
綜合圖5、圖6、圖7可知,當batch size=32,rnn units=64,dropout=0.5時,模型的性能最佳,并且具有較好的泛化能力。
本文實驗主要是從兩個方面來驗證本文提出模型的有效性:一是對ALBERT同系列模型內對比,目的是為了驗證融合“自注意力”機制對模型性能的作用;二是和近年來的NER模型對比,目的驗證本文模型的優越性。
3.4.1 與ALBERT同系列模型對比
本小節設置了ALBERT BiLSTM-CRF、ALBERT CRF兩個對照實驗,實驗在《人民日報》數據集上進行,從損失函數和精確率兩個角度分析模型性能。
為了分析模型在訓練過程中損失和精確率隨著訓練程度的變化情況,本文每隔70個數據條選取1個節點,統計分析總共48個節點的損失和精確率。得到損失和精確率變化曲線如圖8、圖9所示。

圖8 損失變化曲線

圖9 精確率變化曲線
綜合圖8、圖9,對比個模型的損失函數曲線和精確率曲線可知,訓練達到一定的階段后,ALBERT BiLSTM-Self-Attention-CRF模型的損失函數小于其余兩個模型,精確率大于其余兩個模型。由此可以看出,融合“自注意力機制”可以提升模型性能。但是,可以發現所提模型收斂速度是三者中最慢的。究其原因,模型層數的增加收斂速度變慢,增加自注意力機制造成的結果是需要更多的訓練來使模型達到最優性能。具體實體識別效果見表4。

表4 ALBERT系列模型實體識別效果
由表4可知:
(1)ALBERT BiLSTM-CRF相比于ALBERT CRF模型各個指標都更優。可見,加入BiLSTM層能夠更好地利用上下文信息,提高模型的識別性能。
(2)ALBERT BiLSTM-Self-Attention-CRF模型相比于ALBERT BiLSTM-CRF模型,精確率P提高了1.82%、召回率R增加了0.41%,F1值增加了0.97%。由此可知,融合“自注意力”機制能多維度捕捉文本上下文特征的特點,可以進一步改善模型性能。
3.4.2 和近年來NER模型對比
本小節設置了3個對比實驗,分別在兩個數據集上都進行對比實驗。3個對比模型如下:
BERT CRF模型,是2017年由文獻[2]提出的BERT組合CRF層。
BERT BiLSTM-CRF模型,由文獻[3]于2019年提出,是當前使用最廣泛的NER模型,許多研究也是此模型基礎上改進或者以此作對比驗證。
Lattice-LSTM-CRF模型,2018年由文獻[7]提出,該模型只針對中文NER,融合了中文字符與詞序信息,在MSRA數據集上取得了當時最優識別結果。
各NER模型實驗結果見表5。

表5 各NER模型實體識別效果
在《人民日報》數據集上對比所提模型和BERT BiLSTM-CRF每epoch所需的訓練時間,見表6。

表6 兩模型運行時間統計
綜合表5、表6可得:
(1)Lattice-LSTM-CRF識別效果遠低于其它3個模型,這表明Lattice-LSTM-CRF雖然融合了文字字符詞匯信息可以提升模型識別效果,但是神經網絡模型處理語言信息的能力弱于預訓練語言模型。
(2)本文所提模型相比基于BERT的NER模型P、R、F1在兩個數據集上均提升0.8%左右,訓練時間比BERT BiLSTM-CRF減少約13.8%。所提模型達到了減少訓練時間、提升模型性能的效果。
此外,為了進一步驗證本文研究的先進性,將本文模型和近年來對中文NER的研究對比,語料都采用《人民日報》數據集。
由表7可知,前4種中文NER模型都是在神經網絡的基礎上進行融合詞匯、字符等信息的方式提高模型的識別效果,但是性能都遜色于本文模型,這驗證了本文在ALBERT基礎上融合自注意力做法的有效性。

表7 各中文NER研究對比
針對現階段中文NER模型識別性能有待提高和訓練時間過長的不足,本文提出ALBERT BiLSTM-Self-Attention-CRF模型,和BERT BiLSTM-CRF相比,提升了性能的同時還減少了模型訓練時間。該方法的貢獻在于:①將“自注意力機制”、ALBERT、BiLSTM-CRF三者相融合,和基線模型相比,在更少的訓練時間下取得了更優的識別效果,一定程度上解決了預訓練語言模型在中文NER任務中的應用受限問題;②和在中文NER模型中融合詞典、詞匯、詞序等平行研究相比,本文模型取得了最優的識別效果,為中文NER后續的研究方向提供參考。