呂海峰,冀肖榆,陳偉業(yè),邸臻煒
1.梧州學(xué)院 大數(shù)據(jù)與軟件工程學(xué)院,廣西 梧州 543002;2.梧州學(xué)院 廣西機器視覺與智能控制重點實驗室,廣西 梧州 543002;3.梧州學(xué)院 廣西高校圖像處理與智能信息系統(tǒng)重點實驗室,廣西 梧州 543002)
提取文本序列某些特定標(biāo)簽諸如機構(gòu)、地點、時間、人名等實體的過程稱為命名實體識別(Named Entity Recognition,NER)[1]。NER是關(guān)系抽取、對話系統(tǒng)、自動問答、信息檢索等任務(wù)的重要組成部分,NER是自然語言處理研究的一個基礎(chǔ)且重要的問題。
現(xiàn)階段主流的深度學(xué)習(xí)命名實體識別方法,大多利用循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network,RNN)或卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)作為編碼層抽取上下文特征,接著采用條件隨機場Conditional Random Field,CRF)解碼出正確標(biāo)簽序列,如(Collobert[2]、Peters[3]、Shao[4]、Rei[5]、Patrick[6]等),與條件隨機場模型[8-10]、隱馬爾可夫模型[7](Hidden Markov Model,HMM)。英文與中文在該任務(wù)不同,基于分詞的中文實體抽取不能處理分詞錯誤、數(shù)據(jù)稀疏、OOV(out-of-vocabulary)和過擬合問題,并且傳統(tǒng)如Word2vec、glove的靜態(tài)詞向量不能處理一詞多義問題[11]。因此,研究動態(tài)詞向量刻不容緩。(Embeddings from Language Model,ELMO )預(yù)訓(xùn)練語言模型被Matthew等[12]提出,能夠按照當(dāng)前上下文動態(tài)調(diào)整字或詞向量,可有效解決上述問題。2018年Google則提出一種雙向Transformer[19]的編碼表示方法(Bidirectional Encoder Representation for Transformers,BERT)[13],在文本分類、依存分析、序列標(biāo)注、相似度等11類NLP任務(wù)上均取得了很好的效果。盡管BERT應(yīng)用廣泛、效果很好,對各項NLP任務(wù)的提升都很顯著,但存在模型參數(shù)量大、效率低等問題。于是Lan等[14]提出了一個精簡版BERT模型,簡稱ALBERT,因式分解詞向量矩陣,對下游任務(wù)中所有層實現(xiàn)參數(shù)共享,不僅具有較少參數(shù)量,而且在SquAD、RACE、GLUE等任務(wù)表現(xiàn)方面取得最佳效果。
當(dāng)前,盡管有不少針對中文的實體識別方法,但識別效果依然不夠理想,有必要進(jìn)一步研究,通過改進(jìn)以及優(yōu)化現(xiàn)有實體識別模型,構(gòu)建基于預(yù)訓(xùn)練語言模型融合自定義詞典的新實體識別模型,以進(jìn)一步提升實體抽取效果。
基于深度學(xué)習(xí)、統(tǒng)計機器學(xué)習(xí)以及規(guī)則字典方法是NER任務(wù)中常用的3種方案。基于規(guī)則字典的方法需要依賴大量先驗知識,通過設(shè)計規(guī)則模板以提取對應(yīng)的實體信息,存在任務(wù)難度大、不可移植、效率低等缺點。結(jié)構(gòu)化單一數(shù)據(jù)集采用基于規(guī)則字典的方法比較可行,但在實際場景里,非結(jié)構(gòu)化數(shù)據(jù)往往占據(jù)大多數(shù)比例,建立規(guī)則模板難以覆蓋所有的非結(jié)構(gòu)化數(shù)據(jù)范圍。以隱馬爾可夫模型HMM和條件隨機場CRF等為代表的統(tǒng)計機器學(xué)習(xí)方法在實體識別任務(wù)上取得一定的效果,具備一定泛化能力。但即便如此,這些統(tǒng)計機器學(xué)習(xí)方法仍然依賴特征模板,不能自動提取特征,需要標(biāo)注大量的樣本,識別效果不夠明顯。
構(gòu)建基于深度學(xué)習(xí)的序列標(biāo)注模型識別實體被認(rèn)為是序列標(biāo)注任務(wù)?;贑NN網(wǎng)絡(luò)結(jié)構(gòu)的序列標(biāo)注模型由Collobert等[15]提出,并且擁有良好的提取效果。序列長距離上下文信息、固定長度輸入等問題得以解決是由于RNN的提出。由RNN派生出的各種版本,能夠在一定程度上降低反向傳播過程中出現(xiàn)梯度消失問題,有效保存和獲取序列上下文信息,最典型的RNN變體如GRU和LSTM。以BiLSTM作為編碼層,CRF作為解碼層的模型由Huang等[16]提出,實體抽取效果達(dá)到了當(dāng)時SOTA表現(xiàn)。
近年來,自然語言處理技術(shù)發(fā)展迅速,尤其是得益于深度神經(jīng)網(wǎng)絡(luò)方法在自然語言領(lǐng)域的廣泛應(yīng)用。以利用預(yù)訓(xùn)練字/詞向量技術(shù)的Word2vec、Glove等神經(jīng)網(wǎng)絡(luò)模型[17,18],較好地捕獲文本序列的上下文特征,但不能處理一詞多義問題,未有效考慮詞在序列的位置對詞意義的影響,屬于典型的靜態(tài)詞向量。于是ELMO模型被提出,能夠按照此刻上下文動態(tài)調(diào)整詞向量權(quán)重,有效解決上述問題。但ELMO還是使用LSTM結(jié)構(gòu)進(jìn)行特征抽取,上下文特征提取能力弱。2018年Devlin等人提出了在眾多測試集上獲得新SOTA表現(xiàn)的深度雙向表示預(yù)訓(xùn)練模型BERT[13]。盡管BERT應(yīng)用廣泛、效果很好,對各項NLP任務(wù)提升都很大,但存在模型參數(shù)量大、效率低等問題。于是Lan提出了一個精簡版BERT模型,簡稱ALBERT,因式分解詞向量矩陣,對下游任務(wù)中所有層實現(xiàn)參數(shù)共享,不僅具有比BERT更少參數(shù)量,而且在SquAD、RACE和GLUE等任務(wù)表現(xiàn)獲得當(dāng)時最佳效果。故在命名實體任務(wù)中怎樣高效融合ALBERT,以提高實體識別性能,無疑是當(dāng)前研究的熱門主題。
現(xiàn)階段實體抽取的研究存在問題主要有:(1)僅依賴詞或字符級別特征,長距離語義信息因為梯度彌散,導(dǎo)致文本語義信息容易丟失;(2)早期的類似Word2vec等上下文無關(guān)、靜態(tài)詞向量,導(dǎo)致不能解決一詞多義的問題。針對上述問題,本文提出了一種基于ALBERT-Attention-CRF模型的中文實體識別方法。采用ALBERT在命名實體任務(wù)進(jìn)行微調(diào),不僅解決了一詞多義問題,而且處理了詞級別出現(xiàn)數(shù)據(jù)稀疏、OOV、過擬合等問題,提升了模型對文本序列特征抽取能力。結(jié)合Attention機制編碼文本語義信息,不僅有效處理實體邊界模糊問題,而且比經(jīng)典BiLSTM模型利用更多文本語義信息、捕獲更長的距離依賴,最后在輸出層采用CRF模型,該方法能考慮到序列標(biāo)注直接的依存關(guān)系,有助于提高模型對實體識別準(zhǔn)確率。模型在人民日報數(shù)據(jù)集進(jìn)行驗證,測試集總體命名實體識別F1值達(dá)93.72%,結(jié)果表明本文所提方法與BERT相比,參數(shù)量更小,效率更高,有效降低模型大小和提高命名實體識別的整體效果。
傳統(tǒng)如Word2vec靜態(tài)詞向量僅考慮詞的局部信息,不能處理一詞多義問題,且缺少詞與局部窗口外詞的聯(lián)系?;贚STM結(jié)構(gòu)模型預(yù)訓(xùn)練詞向量,有效捕獲長間隔的語義特征,于是Matthew等[12]提出了有效捕獲序列兩側(cè)上下文信息的ELMO模型,它是基于兩層兩向的長短期記憶網(wǎng)絡(luò)結(jié)構(gòu),有效緩解單向信息學(xué)習(xí)的問題。Radford等[20]提出(Generative Pre-Training,GPT)模型。不同于ELMO,GPT采用單向Transformer預(yù)訓(xùn)練,下游具體NLP任務(wù)以微調(diào)模式實現(xiàn)。與LSTM相比,GPT缺點是單向的,但能夠捕獲更長上下文語義信息。使有效學(xué)習(xí)句子兩側(cè)上下文信息,基于雙向Transformer的BERT模型被提出,句子兩邊的上下文在全部層中得到相同依賴,雙向語言模型、特征提取能力得到改進(jìn)和提升。BERT模型就其他模型而言,達(dá)到了去粗取精的效果。在多種NLP任務(wù)上獲得了當(dāng)時的SOTA效果。BERT與ELMO、GPT模型結(jié)構(gòu)見圖1[13]。
2.1.1 BERT輸入表示
輸入表示可以是單個句子或者一個句子對構(gòu)成的詞序列。對給定的詞,其輸入表示由3個Embedding組成。Embedding可視化表示見圖2[13]。
圖2 BERT模型輸入表示
其中,本文以中文字向量作為Token Embeddings;首個Token是用在后續(xù)分類任務(wù)的CLS標(biāo)志;常用在句子級別分類任務(wù)的Segment Embeddings分割兩個句子;人為設(shè)置的序列位置向量是Position Embeddings。
2.1.2 BERT模型預(yù)訓(xùn)練任務(wù)
BERT模型分別使用Masked Language Model(Masked LM)和預(yù)測句子這兩個無監(jiān)督預(yù)測任務(wù)進(jìn)行預(yù)訓(xùn)練。在Masked LM任務(wù)中,為了訓(xùn)練編碼器是雙向Transformer深度表示,隨機遮掩15%字符(Token),然后對被遮擋的Token進(jìn)行預(yù)測。遮掩規(guī)則:(a)以符號Masked替代80%已遮掩的字符;(b)隨機字符代替10%;(c)被遮掩字符的10%不變。
此外,自然語言處理中有很多需要理解兩個句子之間關(guān)系的句子級別任務(wù),如自動問答、推理等任務(wù)。通常是以隨機替換方式,判斷兩個句子是否連貫的分類任務(wù)被加入到BERT預(yù)訓(xùn)練中。預(yù)測格式見表1。
表1 句子對預(yù)測格式
在學(xué)習(xí)文本表示時,一般預(yù)訓(xùn)練模型的參數(shù)越多,下游任務(wù)的效果就越好,如BERT模型。但是,有時候受到訓(xùn)練時長、TPU/GPU內(nèi)存制約等因素影響,模型參數(shù)增加導(dǎo)致模型使用效率低。針對上述難題,Google提出了參數(shù)量大大低于BERT的簡化版本 (A Lite BERT,ALBERT)[14]。
預(yù)訓(xùn)練模型擴展的關(guān)鍵瓶頸在ALBERT中提出的2種參數(shù)消減技術(shù)得到解決。一是因式分解向量參數(shù):將大詞向量矩陣變?yōu)?個小矩陣,因而相互分離詞向量與隱藏層的大小。該技術(shù)使得詞向量參數(shù)增加不明顯,且便于擴展隱藏層。二是可以共享不同層之間的參數(shù):它不會因擴大網(wǎng)絡(luò)層數(shù)而增多參數(shù)量。這2項技術(shù)都大大提高了參數(shù)效率,且明顯減少了BERT 的參數(shù)量。BERT-large配置與ALBERT相似,但前后者參數(shù)量之比約為18∶1,訓(xùn)練速度之比約為1∶1.7。上述削減參數(shù)技術(shù)提升泛化能力,使得訓(xùn)練比較穩(wěn)定,并具備一定正則化效果。
為了提高ALBERT性能,基于句子層面預(yù)測的(SOP)自監(jiān)督損失函數(shù)被研究者提出。SOP旨在處理傳統(tǒng)BERT中NSP任務(wù)loss效率低的問題,關(guān)注句間的連貫性。鑒于上述改進(jìn),ALBERT可以支持不同版本擴展,以明顯提升性能且參數(shù)量遠(yuǎn)低于BERT-large為目標(biāo)。
盡管通過Encoder的語義表示涵蓋充分的上下文特征,但由于其權(quán)值相同,難以對實體類別進(jìn)行有效區(qū)分。Attention 旨在捕獲上下文語義特征,它根據(jù)編碼層輸出的每個詞隱向量xi,通過S=∑αi·xi。其中αi為預(yù)設(shè)權(quán)值,s為由x1,x2,…,xn組成的文本序列。在注意力機制中,權(quán)值αi呈現(xiàn)字符間的關(guān)聯(lián)性,因為每個字符距離都是1,實體界限容易得到有效區(qū)分,因此字級別樣本集實體界限不易劃分的問題得到有效緩解。
多分類任務(wù)常用Softmax輸出每個類別的概率,由于Softmax分類器的輸出相互獨立,并未考慮標(biāo)簽之間的依存關(guān)系。因此,條件隨機場,即CRF模型[21]被常用來做序列標(biāo)注任務(wù)。該方法有效考慮到序列相鄰詞的標(biāo)注信息,能夠更全面預(yù)測標(biāo)簽。給定輸入序列X(x1,x2,…,xn),Y(y1,y2,…,yn)都是線性鏈的隨機序列。如果給出X前提下,Y的條件概率分布P(Y|X)是條件隨機場,如果符合下面假設(shè),則P(Y|X)為線性鏈條件隨機場。
P(Yi|X,Y1,Y2,…Yn)=P(Yi|X,Yi-1,Yi+1)
(1)
設(shè)P(n,k)為輸出層的權(quán)重矩陣,輸出標(biāo)簽序列Y的總得分S(x,y),即
(2)
其中,A是轉(zhuǎn)移得分矩陣,n表示句子長度,k表示標(biāo)簽種類個數(shù)。
對所有可能的序列路徑用softmax函數(shù)計算,產(chǎn)生關(guān)于輸出序列y的概率分布,即:
(3)
在訓(xùn)練過程中,常使用極大似然法求解P(y|x)的最大后驗概率,即
(4)
在解碼階段,預(yù)測最高總得分的序列即為最優(yōu)序列,即
(5)
CRF訓(xùn)練和解碼一般采用動態(tài)規(guī)劃算法Viterbi[22]來求解最優(yōu)序列。
模型由5層構(gòu)成,分別是輸入層、嵌入層、ALBERT特征編碼層、注意力層、CRF層。模型最先采用ALBERT向量化表示每個字符,獲取對應(yīng)字向量;然后利用ALBERT預(yù)訓(xùn)練模型中的雙向Transformer結(jié)構(gòu)對輸入字向量序列進(jìn)行特征提??;為了加強上下文語義表示,采用Attention機制獲取語義向量;最后使用CRF解碼語義向量,CRF能夠有效考慮到序列相鄰詞的標(biāo)注信息,得到概率最大的標(biāo)簽序列,進(jìn)而解析出序列中的實體。模型結(jié)構(gòu)如圖3所示。
圖3 ALBERT-Attention-CRF模型結(jié)構(gòu)
其中,x1,x2,…x7表示輸入文本“北京是我國首都”經(jīng)過ALBERT預(yù)訓(xùn)練語言模型向量化后的字向量;接著為ALBERT預(yù)訓(xùn)練語言模型編碼層,主要由多層雙向Transformers結(jié)構(gòu)組成,得到包含上下文信息的語義向量h1,h2,…h(huán)7。Fchar是計算2個字符之間關(guān)系權(quán)重的Attention層加權(quán)函數(shù),拼接向量為V。最后為CRF層,輸出輸入序列對應(yīng)的實體標(biāo)簽,如地點(LOC)、時間(T)等,其中“B-”為實體起始標(biāo)志,“I-”為實體中間或結(jié)尾。
為了檢驗?zāi)P陀行裕狙芯坷帽本┐髮W(xué)公開的1998年《人民日報》語料進(jìn)行驗證。該語料不僅已經(jīng)分詞,還標(biāo)注了地名、人名、組織機構(gòu)名等實體。標(biāo)記方式為“BIO”,實體起始標(biāo)志為B,實體其他部分為I,O表示該詞不是實體。地名采用LOC標(biāo)記,開始位置為B-LOC,其余位置為I-LOC;人名記為PER,開始位置為B-PER;組織機構(gòu)實體為ORG,開始位置為B-ORG。試驗中,取45 000條標(biāo)注數(shù)據(jù)作為訓(xùn)練集和驗證集,3 432條標(biāo)注數(shù)據(jù)作為測試集。
模型評價指標(biāo)采用精確率(Precision,P)、召回率(Recall,R)和F1值(F1-score)進(jìn)行衡量。
本研究采用Tensorflow深度學(xué)習(xí)框架構(gòu)建和訓(xùn)練所提出的ALBERT-Attention-CRF模型。參數(shù)設(shè)置有:輸入文本序列長度seq_length設(shè)為64,驗證集、訓(xùn)練集batch_size均為32,學(xué)習(xí)率為1e-10-5。為降低過擬合風(fēng)險,設(shè)置dropout=0.8。為預(yù)防在模型擬合中產(chǎn)生梯度爆炸,利用梯度裁剪技術(shù)(Gradient Clipping)并設(shè)置大小為5。
在數(shù)據(jù)集上,對CRF,BiLSTM,BiLSTM-CRF,BERT-CRF,ALBERT-Attention-CRF模型進(jìn)行性能分析,結(jié)果見表2。
表2 模型的實體識別試驗結(jié)果
由表2可知,基于神經(jīng)網(wǎng)絡(luò)的模型在各個指標(biāo)均優(yōu)于CRF模型。在BiLSTM和BiLSTM-CRF模型的對比中,采用CRF進(jìn)行實體識別的BiLSTM-CRF模型表現(xiàn)優(yōu)于前者,說明CRF在解碼時考慮了序列中全局標(biāo)注信息,因而提升了模型表現(xiàn)。在BiLSTM-CRF模型和BERT-CRF的對比中,后者比前者有接近4%的表現(xiàn)提升,說明基于Transformer架構(gòu)的BERT模型充分學(xué)習(xí)了文本序列上下文關(guān)系特征,比BiLSTM學(xué)習(xí)到更長的距離依賴語義關(guān)系。ALBERT-Attention-CRF模型比BERT-CRF高0.6%,兩者在精確率、召回率、F1值這3個指標(biāo)表現(xiàn)接近,但前者模型在效率上更高效,BERT-large配置與ALBERT相似,但前后者參數(shù)量之比約為18∶1,訓(xùn)練速度之比約為1∶1.7。在同樣的超參數(shù)設(shè)置下,本研究提出的ALBERT-Attention-CRF模型訓(xùn)練所得模型大小僅為BERT-CRF模型的1/10,運維部署比后者更便攜,效率更高。
本研究提出一種端到端神經(jīng)網(wǎng)絡(luò)命名實體識別模型ALBERT-Attention-CRF,采用ALBERT預(yù)訓(xùn)練語言模型對輸入文本序列進(jìn)行向量化和特征抽取,使模型能夠充分學(xué)習(xí)文本包含的語義信息,使字符之間的推理能力得到增強、實體識別效果得到進(jìn)一步提升。同時,為了進(jìn)一步增加上下文相關(guān)的語義信息,模型還使用注意力機制進(jìn)行有效區(qū)分實體類別,以及利用CRF模型作為輸出層,有效通過全局信息進(jìn)行預(yù)測實體標(biāo)簽,在1998年上半年《人民日報》語料上取得了理想的效果。試驗結(jié)果表明,基于ALBERT預(yù)訓(xùn)練模型的命名實體識別模型不僅能夠提升實體識別的效果,而且與BERT模型相比,存在參數(shù)量小、訓(xùn)練速度快、效率高等優(yōu)點,有一定的參考價值。