姚貴斌,張起貴
太原理工大學 信息與計算機學院,山西 晉中030600
命名實體識別是自然語言處理中的一項基礎(chǔ)任務,旨在識別出文本中的人名、地名、機構(gòu)名等具有實體意義的詞匯。隨著該技術(shù)在更多領(lǐng)域的不斷普及,比如醫(yī)療、生物和軍事領(lǐng)域,某種藥物、疾病或武器也可以稱作是命名實體。識別出這些實體對提取關(guān)鍵信息有極大的幫助,對抽取實體關(guān)系三元組和完善知識圖譜有著重要的影響。傳統(tǒng)命名實體識別方法有基于規(guī)則和統(tǒng)計的方法,這兩種方法須依賴于人工制定的規(guī)則,代價昂貴。隨著深度學習在自然語言處理中的廣泛應用,可以利用特征抽取模型自動學習到文本特征。張俊飛等[1]通過將字向量和分詞得到的字信息特征組合在一起輸入BLSTM-CRF中并取得了不錯的識別效果。Zhang等[2]提出Lattice LSTM(Long Short Term Memory)網(wǎng)絡,對輸入字符序列和所有匹配詞典的潛在詞匯進行編碼,與基于字符的方法相比,該模型利用了詞和詞序信息,與基于詞的方法相比又不會出現(xiàn)分詞錯誤。并在四個數(shù)據(jù)集上優(yōu)于論文中的其他模型。李博等[3]以transformer為基礎(chǔ)模型,針對中文電子病歷命名實體識別傳統(tǒng)模型識別效果不佳的問題,提出一種完全基于注意力機制的神經(jīng)網(wǎng)絡模型,F(xiàn)1值高達95.02%。卷積神經(jīng)網(wǎng)絡模型主要用于圖像領(lǐng)域,劉小安等[4]通過利用卷積神經(jīng)網(wǎng)絡充分對文本的局部信息特征進行抽象化抽取和表示,對文本進行空間建模,實現(xiàn)了對景點實體的識別。楊飄等[5]將Bert(Bidirectional Encoder Representations from Transformers)語言模型應用在命名實體識別任務上,并在MSRA語料上的識別結(jié)果優(yōu)于Lattice網(wǎng)絡??紤]到之前的工作在詞向量的語義表征方面存在不足,影響了命名實體識別率。本文提出一種基于XLnet語言模型的中文命名實體識別框架,首先用LSTM初步提取,再經(jīng)過CNN提取空間特征,然后把得到的詞向量輸入到XLnet語言模型中進行更深層次的特征提取,該方法可以得到更為精確的詞向量表示。
傳統(tǒng)的語言模型不能有效表達句子中上下文的關(guān)系,長期依賴性差,并且數(shù)據(jù)稀疏嚴重。隨著深度學習的發(fā)展,神經(jīng)網(wǎng)絡語言模型更能準確地用結(jié)構(gòu)化數(shù)據(jù)表示文本。Mikolov等[6]提出了Word2vector模型,可以根據(jù)上下文去預測目標單詞,但由于生成的詞向量是靜態(tài)的,無法處理多義詞的現(xiàn)象。Peters等[7]提出了一種深層語境化的詞匯表示(Deep contextualized word representations,ELMO)法,詞向量不再是靜態(tài)的,而是隨語境改變的學習函數(shù),該模型有效地緩解了一詞多義的問題。Radford等[8]摒棄了先前的利用LSTM網(wǎng)絡結(jié)構(gòu)進行特征抽取,改用transformer模型,在提取長距離依賴信息有突出表現(xiàn)。但該模型(Generative Pre-Training,GPT)還是延續(xù)單向語言模型的特點,無法從上下文不同方向同時進行預測。Devlin等[8]提出的Bert語言模型強調(diào)了雙向預訓練對于語義表示的重要性,但由于其掩體與被掩體之間的獨立性和預訓練和微調(diào)階段的差異性,在應用到具體任務上時會影響結(jié)果的精確度。Yang等[10]提出了廣義自回歸語言模型(XLnet)。它利用了排列組合的原理,實現(xiàn)了雙向預測,展現(xiàn)出強大的表義能力。
鑒于XLnet在語言表義方面的優(yōu)勢,本文在中文命名實體識別任務上加入XLnet語言模型增強字的語義表示,設(shè)計了如圖1所示的網(wǎng)絡結(jié)構(gòu),直觀地把模型分為四層結(jié)構(gòu),向量處理(Char And Word,CAW)層、XLnet層、正反向GRU層和CRF層。字詞向量嵌入層中底層為字向量,高層是經(jīng)過分詞預測和矩陣運算得到的詞向量;XLnet層用于對處理過的詞向量提取出隱藏的語義信息,其中用到了由Dai等[11]提出的transformer-xl(Attentive language models beyond a fixed-length context)特征抽取器,在面對長文本時有更好的特征抽取能力,可以得到更強的語義表示;GRU層進一步對獲得的語義表示編碼;CRF層通過轉(zhuǎn)移概率矩陣輸出概率最大的標簽序列。
圖1 中文命名實體識別模型圖Fig.1 Chinese named entity recognition model
圖1中的輸出標注方式選擇了信息更加全面的BIOES格式。B表示實體開始,I表示實體中間,E表示實體結(jié)束,S表示單字實體,O表示不是實體。以“新華社”為例,“新”是首字,用“B”表示;“華”位于中間,用“I”表示;“社”居文末,所以用“E”表示。并且用到的《人民日報》1998年的數(shù)據(jù)語料設(shè)置了三個類別,如表1所示。其屬于三個類別中的機構(gòu)名,后面加上“ORG”,便得到了如圖1所示的標注結(jié)果。
表1 實體類別及編碼Table 1 Entity category and code
命名實體識別任務可以在字向量和詞向量上分別進行特征提取,中文詞語中包含了更加豐富的語義信息,但分詞結(jié)果會對識別結(jié)果產(chǎn)生影響,將字向量和詞向量進行拼接是常規(guī)做法,殷章志等[12]提出了一種融合字詞BiLSTM模型的命名實體識別方法,其使用支持向量機(SVM)對訓練得到的字向量和詞向量進行模型融合。研究人員考慮利用字向量特征和分詞信息一起生成詞向量,而不是直接利用分詞結(jié)果訓練得到詞向量,比如在圖1所示中輸入文本“新華社拉薩”,底部為用Word2vec語言模型在大規(guī)模語料庫上預訓練得到的字向量,為了能夠讓文本自動學習到詞向量級別的語義,這里不直接給出分詞信息,而是給出一個預測矩陣來預測組合詞語的分數(shù),這樣前向LSTM階段的組合詞向量概率分數(shù)可以表示為:
其中,Wi表示當前預測詞,Xi0,Xi1,…,Xin表示組成Wi的字,WWi表示W(wǎng)i的預測權(quán)重矩陣,Lfi表示前向LSTM編碼輸出,bWi表示偏置矩陣。同樣可以得到后向LSTM階段的預測組合詞向量分數(shù)表示:
損失函數(shù)設(shè)置為:
通過引入目標預測矩陣,運用反向傳播算法原理不斷更新詞向量預測分數(shù)值,前向LSTM特征提取階段“社”包含了“新”“華”信息,后向LSTM提取階段“新”包含了“社”“華”信息,將這兩個向量矩陣運算后得到“新華社”的詞向量表示,同樣的方法可以得到“拉薩”的詞向量表示,此方法可以充分利用詞語內(nèi)部的字信息特征,文本可以自動學習到詞語內(nèi)部更深的語義表示。
考慮到在圖像語義分析領(lǐng)域,圖像中的語言文字被看作是圖像的一部分,其中也包含了空間信息。在本次任務中引入了CNN模塊來提取詞語與詞語之間的空間特征,設(shè)給定輸入句子變量具有n個詞V=(W1,W2,…,Wn),首先計算每個詞向量及其相鄰詞向量的空間特征表示:Vc=fCNN(V),其中fCNN(?)表示CNN的功能函數(shù)。這是通過一個大小為Nw×No的濾波器實現(xiàn)的,其中設(shè)置了窗口大小為Nw,這表示一次處理的詞向量個數(shù),No是與輸出矢量有關(guān)的超參數(shù)。另外,在邊界處設(shè)置
圖2 f CNN(?)功能實現(xiàn)示意圖Fig.2 F_Schematic diagram of f CNN(?)function implementation
XLnet,即語義理解的廣義自回歸預訓練。它避免了原始的自回歸和自編碼語言模型的缺點,在自回歸語言模型上實現(xiàn)了雙向預測。該模型的核心思想是以排列組合的方式重構(gòu)輸入文本。與Bert不同的是,XLnet并不是在輸入階段對文本進行排列組合,這在微調(diào)階段是不允許的,它是在transformer內(nèi)部通過attention mask矩陣來實現(xiàn)的,通過attention mask矩陣可以得到不同的排列組合,使模型的訓練充分融合上下文特征,同時不會造成Mask機制下的有效信息缺失,克服了Bert模型的缺陷。如圖3所示為XLnet掩蔽機制實現(xiàn)方式舉例,圖中假設(shè)原始輸入句子為[新,華,社,拉,薩],如果隨機生成序列為[社,華,新,薩,拉],但輸入XLnet的句子仍然是[新,華,社,拉,薩],那么在XLnet內(nèi)部是以如下掩碼矩陣實現(xiàn)的。對于排列后的“新”字來說,它只能利用到“華”和“社”兩字的信息,所以在第一行中保留了第二個和第三個位置的信息(用空心表示),而其他位置的信息被掩蓋掉(用實心表示)。再比如排列后的“社”字位于第一個位置,沒有可以利用的信息,所以在第三行中全部以實心表示。
圖3 XLnet模型掩蔽機制示例Fig.3 Example of XLnet model masking mechanism
對于XLnet的核心部分——transformer-xl,它在繼承了原先transformer結(jié)構(gòu)的基礎(chǔ)上引入了循環(huán)機制和相對位置編碼的概念。為了處理數(shù)據(jù)方便,在擬合數(shù)據(jù)階段需要將輸入的序列分割為固定長度的片段,transformer可以快速提取到這一片段的信息,但就全文來看,它損失了相鄰片段甚至長期相關(guān)重要的信息,在長期依賴方面還不如RNN。有了RNN提取隱狀態(tài)信息作為長期依賴的依據(jù),transformer-xl設(shè)法在片段與片段之間插入隱狀態(tài)信息,在提取出上一片段信息后預先存儲起來以備下一片段預測使用,這樣可以充分挖掘長距離文本信息。圖4所示為兩個片段之間引入循環(huán)機制實現(xiàn)信息傳遞方式圖。灰線表示前一片段保留的記憶。在Bert模型中由于缺失灰線表示的記憶信息,在預測c5時沒有可以利用的信息。而在XLnet模型中則可以利用前一片段的c2、c3、c4保留的信息,實現(xiàn)了信息的傳遞。
圖4 XLnet循環(huán)機制實現(xiàn)信息傳遞Fig.4 XLnet loop mechanism to realize information transmission
而對于位置編碼來說,基線transformer是忽略了不同片段中出現(xiàn)同一個詞的可能性為前提的,但這種情況也是可見的,如果沿用絕對位置編碼,那么同一個詞不同片段向量表示完全一樣,無法表征字的多義性。絕對位置編碼公式如下所示:
其中,Vt表示當前片段向量編碼,Vt-1表示上一片段向量編碼,TVt表示當前片段文本向量編碼,PV1:l表示當前片段位置向量編碼,可以看出不同片段中PV1:l總是不變。如果兩個片段中存在共有詞,那么該詞的向量表示是一樣的。為了更直觀地看出絕對位置編碼與相對位置編碼的異同,以下列出了原transformer模型中段內(nèi)序列之間self-attention公式:
其中Exi、Exj分別表示詞i、j的文本向量,Ui、Uj分別表示詞i、j的位置向量,這里的Ui=Uj,W代表權(quán)重矩陣。引入相對編碼機制后,以上公式變?yōu)椋?/p>
XLnet語言模型以transformer-xl框架為核心,通過引入循環(huán)機制和相對位置編碼,可以充分利用到上下文語義信息,挖掘出隱藏在初始文本向量內(nèi)部的潛在關(guān)系,獲得更為準確的詞向量表示。
GRU(Gated Recurrent Unit)[13]由Cho等提出,實際上是對LSTM的簡化,它通過門控制信息的傳遞與截止。其最初在統(tǒng)計機器翻譯方面取得了出色的效果,主要由重置門和更新門構(gòu)成,參數(shù)設(shè)置方面較少,訓練速度更快。在處理序列化數(shù)據(jù)方面有諸多應用[14-15],圖5為單個GRU結(jié)構(gòu)示意圖。
圖5 GRU編碼單元信息流Fig.5 Information flow of GRU coding unit
箭頭表示信息傳遞的方向,具體實現(xiàn)公式如下:
其中,σ為sigmoid函數(shù),取值[0,1]之間,zt和rt分別為更新門和重置門,主要由當前時刻xt和上一時刻的隱藏向量ht-1決定,控制信息的保留和丟棄。ht作為當前時刻的輸出和下一時刻隱藏向量的輸入。本次實驗采取雙向GRU循環(huán)結(jié)構(gòu)以達到對上下文信息的共同編碼。
理論上雙向GRU網(wǎng)絡的輸出可以得到各個標簽的分數(shù)值,只需要輸出其中最大的分數(shù)值即可作為輸入文本的標簽類別。但這樣做忽略了輸出類別標簽之間的依賴性,標簽依賴性對于序列標記任務至關(guān)重要,這種依賴性可以理解為約束條件。例如:實體標記的第一個字可以是“B_”“S_”,不能是“I_”或“E_”;一個實體標記中必須以“E_”結(jié)尾;同一個實體標記中不能出現(xiàn)不同的類別,即“B_LOC,I_ORG”是不合理的等。而CRF(Conditional Random Fields)可以通過轉(zhuǎn)移矩陣避免上述等不合理的情況出現(xiàn),降低實體標簽識別錯誤率。
對于輸入實例Xi,假設(shè)通過GRU編碼單元的輸出為Zi,經(jīng)過CRF層后輸出Yi的概率可以表示為:
其中,wyi-1,yi表示前一個輸出標記相對于當前輸出標記的轉(zhuǎn)移權(quán)重矩陣,byi-1,yi為偏差矩陣,這樣可以將損失函數(shù)表示為:
本文采用的是《人民日報》1998年1月份數(shù)據(jù)集,大約35 980條句子,其中各個實體類別的數(shù)量如表2所示,并且將數(shù)據(jù)集按8∶1∶1分為了訓練集、驗證集和測試集。
表2 實驗數(shù)據(jù)集Table 2 Experimental data set
2.2.1 環(huán)境配置
實驗用到的運行環(huán)境如表3所示。
表3 環(huán)境配置Table 3 Environment configuration
2.2.2 參數(shù)配置
實驗中的參數(shù)配置如表4所示。
表4 參數(shù)配置Table 4 Parameter configuration
命名實體識別作為標簽序列分類模型中的一項基礎(chǔ)任務,其評價指標通常以準確率(P)、召回率(R)和F值作為評判標準。其公式為:
其中,correct為識別到正確實體標簽的個數(shù),wrong為識別到錯誤實體標簽的個數(shù),miss為未識別出實體標簽的個數(shù)。
為了驗證本文提出的模型的優(yōu)良性,根據(jù)提出的網(wǎng)絡結(jié)構(gòu),首先用不同的語言模型設(shè)置了五組不同的實驗,F(xiàn)1值變化如圖6所示。
從圖6中可以看出本實驗提出的CAW-XLnet-BiGRUCRF模型達到了最好的識別結(jié)果,比CAW-Bert-BiGRUCRF模型略好,且明顯優(yōu)于其他三組模型?;贓LMO和GPT語言模型的實驗結(jié)果圖基本一致,但由于GPT利用了transformer特征提取器,對較長距離的上下文語義表征能力更強,所以在識別效果上優(yōu)于ELMO模型。而對于Word2vec語言模型,其只是在句子的表面對上下文信息進行提取表示,沒有融入更多內(nèi)部特征,所以表現(xiàn)出較差的F1值。模型中不同類別的識別結(jié)果如表5所示。
圖6 不同模型F1值對比Fig.6 Comparison of F1 values of different models
表5 不同模型類別識別結(jié)果Table 5 Identification results of different model categories %
可以看出基于XLnet的語言模型在3個類別上的F值均為最優(yōu),分別高出基于Bert、Word2vec、ELMO、GPT模型0.81、18.01、4.17、2.97個百分點。且在同一個模型中ORG類的F值明顯低于其他類別,嚴重影響了整體的F1值。這是由于機構(gòu)名的命名規(guī)則極其復雜,且嵌套現(xiàn)象大量存在,長度也很不穩(wěn)定等因素造成的。比如在對“外經(jīng)貿(mào)”的預測中,由于缺少上下文信息對其描述,并沒有識別出其屬于組織機構(gòu)類。像“國務院僑辦”“國家語委”等縮寫名詞,基于Word2vec模型的識別結(jié)果錯誤率非常高。表6對比了XLnet與Bert模型部分預測實體的示例。
表6 XLnet與Bert模型部分預測示例Table 6 Some prediction examples of XLnet and Bert models
通過以上識別結(jié)果分析,Bert模型對實體的識別準確度不夠,比如在第一個實體中雖然徐虎是人名,但結(jié)合上文語境,此為紀念此人成立的一所機構(gòu)。在對第二個實體的識別中由于在上下文中缺少對“外經(jīng)貿(mào)”的描述,兩種模型都無法識別出正確結(jié)果。在第三個實體中出現(xiàn)了連續(xù)嵌套的機構(gòu)名,Bert模型只識別出了一部分,XLnet模型雖然識別出了全部的實體,但結(jié)果也不準確,其將“部門”之前的相關(guān)機構(gòu)合并為了一個機構(gòu)。
另外,為了驗證本文提出的CAW字詞結(jié)合模型的有效性,直接將Word2vec預訓練得到的字向量和詞向量加入到實驗中作對比分析,分別記為C-XLnet-BiGRUCRF和W-XLnet-BiGRU-CRF。實驗結(jié)果如圖7所示。
從F1值變化趨勢圖上可以看出,本文所提出的字詞結(jié)合的模型均優(yōu)于單獨的基于字或詞的模型,且基于字的模型表現(xiàn)效果最差。表7為提出的模型的識別結(jié)果與文獻[12]中的模型在同一數(shù)據(jù)集上的數(shù)據(jù)對比。
表7 與其他模型的實驗對比Fig.7 Experimental comparison with other models%
通過以上數(shù)據(jù)對比可以看到,在字模型方面,PER、LOC類別上F值分別提高了3.25和6.52個百分點,而ORG類下降了0.33個百分點。在詞模型方面,PER、LOC、ORG類別上分別提高了2.17、4.5和0.15個百分點。在字詞結(jié)合方面,PER、LOC、ORG類別上分別提高了2.64、2.68和3.55個百分點。驗證了本文所提模型在處理命名實體識別任務上的有效性。
本文對目前中文命名實體識別性能作了改善,從字的語義表示方面著手,提出了基于XLnet語言模型的CAW-XLnet-BiGRU-CRF網(wǎng)絡框架,并在《人民日報》1998年1月份數(shù)據(jù)集上用不同的語言模型設(shè)置了五組實驗進行了對比分析,驗證了本文提出的CAW-XLnet-BiGRU-CRF模型在處理中文命名實體識別任務上的優(yōu)越性。還分別從字向量和詞向量級別上作了實驗對比,驗證了本文提出的從字向量特征預測提取詞向量特征的有效性。但研究也存在不足之處,從數(shù)據(jù)中可以看出在識別嵌套命名實體方面,尤其在機構(gòu)名類別中,優(yōu)秀的語言模型還是不能妥善的解決此問題,研究人員下一步試圖從規(guī)則方面入手,將深度學習網(wǎng)絡和人工制定規(guī)則結(jié)合起來,并在實體關(guān)系抽取上做進一步研究。