張 祺,李成軍,劉敬蜀
(中國人民解放軍91977部隊,北京100036)
命名實體識別(NER)是一種可以從一段自然語言文本中,提取出命名實體、位置等三大類、七小類信息的方法[1],三大類是指時間類、實體類和數(shù)字類,七小類是指時間、地點、人名、機構(gòu)名、百分比、日期和貨幣。命名實體識別的研究,有助于計算機更好地處理自然語言文本數(shù)據(jù)[2]。目前命名實體識別技術(shù)已廣泛應(yīng)用于知識圖譜構(gòu)建[3]、問答系統(tǒng)[4]等多種自然語言處理任務(wù)中。
目前命名實體識別的常用方法有:基于規(guī)則和詞典的方法、基于統(tǒng)計的方法以及統(tǒng)計與規(guī)則相結(jié)合的方法。基于規(guī)則和詞典的方法需要經(jīng)常完善詞典內(nèi)容,費時費力,且無法發(fā)現(xiàn)新實體,在識別率和召回率上很難再有新的突破[5]?;诮y(tǒng)計的命名實體識別方法主要依托于機器學(xué)習(xí),解決了無法發(fā)現(xiàn)新實體的問題。Morwal[6]使用隱馬爾可夫模型(HMM)算法解決序列標(biāo)注問題,實驗結(jié)果證明此模型具有一定的適用性,但由于輸出獨立性假設(shè)的局限性,使得文本中的上下文特征不能很好地發(fā)揮作用。MeCallum等[7]提出了最大熵隱馬模型(MEMM),通過使用局部最優(yōu)值方法解決了隱馬爾科夫模型的問題,但卻帶來了標(biāo)記偏見的問題。2001年,Laffrt等[8]提出了條件隨機場(CRF),該方法對最大熵模型和隱馬爾可夫模型進行了一定的融合,通過監(jiān)督學(xué)習(xí)的方式,使實體識別任務(wù)更加高效,還可以對新實體進行預(yù)測,但識別率較低。基于統(tǒng)計的方法通常缺少語料庫的輔助,識別率難以提高?;旌戏椒▌t融合了基于規(guī)則、詞典的方法和基于統(tǒng)計的方法的優(yōu)點,使最終的識別率得到了一定的提升。Google于2018年提出了一種基于雙向Transformer的大規(guī)模預(yù)訓(xùn)練語言模型(Bert)[9],該模型在解決命名實體識別領(lǐng)域的問題上取得了較好的效果。Strubell等[10]提出了一種Iterated Dilated CNN+CRF模型,該模型在命名實體識別領(lǐng)域取得了較好的效果,但存在召回率不夠理想的問題。Huang等[11]提出了Bi LSTM-CRF模型,該模型充分利用了文本中上下文的特征,識別率和召回率都有了一定的提升。趙耀全[12]等針對醫(yī)療領(lǐng)域提出了一種基于N-grams新詞發(fā)現(xiàn)的Lattice-LSTM的多粒度命名實體識別模型,構(gòu)建了一個醫(yī)療領(lǐng)域的詞典,適合醫(yī)療領(lǐng)域的命名實體識別問題,但不適合其他領(lǐng)域。同樣,周曉進[13]提出的面向中文電子病歷的多粒度模型也僅僅適用于醫(yī)療領(lǐng)域的中文電子病歷的識別。2020年,楊春明等[14]提出了一種基于BERT-Bi LSTM-CRF的命名實體識別模型,該模型主要針對政務(wù)領(lǐng)域的實體,政務(wù)領(lǐng)域?qū)嶓w具有長度較長、實體并列、別稱等特點,該模型能較好的解決政務(wù)領(lǐng)域的問題,但同樣不適用于其他領(lǐng)域。
上述模型或因方法問題,導(dǎo)致實體識別率和召回率不高,或因模型單一,領(lǐng)域性較強。本文提出了一種基于BERT-IDCNN-CRF的命名實體識別方法,融合BERT、IDCNN、CRF模型的優(yōu)點。通過BERT預(yù)訓(xùn)練語言模型得到字的上下文表示,再結(jié)合IDCNNCRF模型,在保持BERT模型優(yōu)點的同時,減少相應(yīng)的訓(xùn)練參數(shù),取得了較好效果。
近年來,在預(yù)訓(xùn)練神經(jīng)網(wǎng)絡(luò)作為語言模型的基礎(chǔ)上,使用微調(diào)的方式處理垂直任務(wù)取得了一定的效果。在典型的語言模型中,通過預(yù)訓(xùn)練模型可以獲得固定的詞向量,但固定的詞向量無法表示詞的多義性,BERT模型的提出解決了一詞多義的問題[15]。BERT模型可以表征句子結(jié)構(gòu)以及詞的多義性,并且可以獲得詞的上下文相關(guān)表示。BERT模型如圖1所示。
圖1 BERT預(yù)訓(xùn)練語言模型
為每個詞的表示都能夠融合詞的上下文信息,BERT模型的編碼器采用了雙向Transformer。雙向transformer編碼結(jié)構(gòu)也是BERT模型最重要的部分,其基于自注意力機制,替代了RNN循環(huán)式網(wǎng)絡(luò)結(jié)構(gòu),對文本進行建模。雙向Transformer編碼單元如圖2所示。
圖2 Transformer編碼單元
自注意力(Self-Attention)機制是編碼單元的核心機制,如公式(1)所示。
式中輸入詞向量矩陣Q、K、V分別表示Query、Key、Value向量,dk為輸入向量維度。
自注意力機制的核心思想認為,一段話中不同詞之間的聯(lián)系以及詞在一段話中的重要程度可以由詞與詞之間的關(guān)系所體現(xiàn)。因此Q KT表示計算詞向量之間的關(guān)系,并通過dk縮小后,使用softmax函數(shù)歸一化,得到每個詞的權(quán)重。這種新的表達方式不僅可以表達詞本身,也可以表達詞在所在句子中的上下文關(guān)系,這種表達方式相比傳統(tǒng)詞向量更能體現(xiàn)全局性。
為使模型在不同位置上都具備良好的表達能力,Transformer采用了“多頭(Multi Head)”模式,擴大注意力單元表示子空間,如公式(2)和(3)所示:
與其他預(yù)訓(xùn)練模型相比,BERT模型可以充分地利用詞的上下文信息,因此擁有較好的詞分布式表示。
膨脹卷積(dilated convolution)也叫空洞卷積,其主要目的是在不增加模型參數(shù)和保持模型速度前提下,增大模型的感受野[16]。
在典型的卷積神經(jīng)網(wǎng)絡(luò)中,卷積核在連續(xù)的區(qū)域內(nèi)滑動計算特征,而膨脹卷積在經(jīng)典的卷積神經(jīng)網(wǎng)絡(luò)中加入了膨脹寬度,在卷積核進行特征計算時會跳過膨脹寬度間的數(shù)據(jù),以此保證在卷積核的大小不變的前提下,可以得到更廣的輸入矩陣,增大卷積核的感受野。圖3為普通CNN與膨脹CNN結(jié)構(gòu)的對比。針對窗口大小為3的三層卷積神經(jīng)網(wǎng)絡(luò),在膨脹卷積神經(jīng)網(wǎng)絡(luò)第二層卷積時,跳過了中心相鄰節(jié)點,出現(xiàn)了2個空洞,直接捕獲了與中心相鄰的節(jié)點,膨脹率為2。因此,普通卷積神經(jīng)網(wǎng)絡(luò)的第三層中每個節(jié)點僅能捕捉到第二層前后三個節(jié)點的信息,但是膨脹卷積神經(jīng)網(wǎng)絡(luò)中在保持參數(shù)與模型速度不變的前提下,第三層的節(jié)點可以捕捉到第二層中前后九個節(jié)點的信息,此時膨脹率為4,出現(xiàn)了6個空洞。膨脹卷積最大程度上提高了模型的有效性和準(zhǔn)確性。
圖3 普通CNN與膨脹CNN結(jié)構(gòu)對比
膨脹卷積神經(jīng)網(wǎng)絡(luò)可以抽取語句特征,并使用softmax分類器對標(biāo)簽進行預(yù)測,但是softmax分類器沒有考慮標(biāo)簽間的依賴關(guān)系,因此,特征序列的聯(lián)合概率表示需要使CRF對數(shù)線性模型[17]。
若句子長度為n,句子序列為x=(x1,x2,x3,...,x n)且對應(yīng)預(yù)測標(biāo)簽為y=(y1,y2,y3,...,y n),則預(yù)測列總份數(shù)如公式(4)所示,其中轉(zhuǎn)換矩陣W,經(jīng)過線性映射得到的標(biāo)簽分數(shù)P。
因為預(yù)測序列存在多重可能性,且僅有一種是正確的,因此需要對所有可能序列進行處理,使其全局歸一化,如公式(5)所示:
BERT_IDCNN_CRF模型圖如圖4所示,以“美國空軍在華盛頓完成實驗”作為輸入語句為例,語句首先通過BERT預(yù)訓(xùn)練模型將語句轉(zhuǎn)化為向量表示,然后通過IDCNN提取詞句特征,最終通過CRF獲得預(yù)測結(jié)果。
環(huán)己烷主要用于制備環(huán)己酮、環(huán)己醇,在涂料工業(yè)中廣泛用作溶劑[1]。異丙醇也是重要的有機化學(xué)原料,用于化工、制藥工業(yè)、汽車和航空燃料中[2,3]。在生產(chǎn)過程中,它們會混合在一起,大量存在工業(yè)廢水中。因此,需對混合物分離和回收。常壓下,異丙醇-環(huán)己烷形成最低共沸物,共沸溫度:68.6℃,共沸組成:0.33(異丙醇質(zhì)量分數(shù))[4]。因此,該體系不能用普通精餾分離,需要用特殊精餾方法。
圖4 BERT-IDCNN-CRF模型圖
本文參數(shù)設(shè)置見表1。
表1 參數(shù)設(shè)置
由于本文的目標(biāo)是識別軍事命名實體,所以采集了一些軍事網(wǎng)站的相關(guān)報道作為標(biāo)注語料庫的原始語料,即生語料,然后對準(zhǔn)備好的生語料進行標(biāo)注。本實驗以字為單位進行標(biāo)注,采用BIO標(biāo)注模式進行標(biāo)注,將每個元素標(biāo)注為B-X、I-X和O。其中,B-X表示此字所在的詞語屬于X類型并且此字在此詞語的開頭,I-X表示此字所在的詞語屬于X類型并且此字在此詞語的非開始位置,O表示此字不屬于任何類型。本實驗的軍事命名實體標(biāo)注見表2。
表2 軍事命名實體標(biāo)注
標(biāo)注完成后,生語料就標(biāo)注成了熟語料,數(shù)據(jù)分布情況見表3。
表3 數(shù)據(jù)集劃分
對于本文的命名實體識別而言,依照慣例引入P,R,F(xiàn)1評測指標(biāo)來評價試驗結(jié)果如下:
對于部隊、軍事地名、武器裝備和人名4類軍事命名實體基于BERT_IDCNN_CRF的軍事命名實體識別效果見表4。
表4 基于BERT_IDCNN_CRF的各類軍事命名實體識別效果
為驗證BERT_IDCNN_CRF模型的有效性,本文對比了Bi LSTM_CRF,IDCNN_CRF,Lattice_LSTM_CRF等命名實體識別方法,實驗結(jié)果見表5。
表5 命名實體識別的對比結(jié)果
基于BERT_IDCNN_CRF的軍事命名實體識別模型效果明顯優(yōu)于Bi LSTM_CRF、IDCNN_CRF、Lattice_LSTM_CRF,且F1值分別提升了4.84%、5.86%、1.63%,相比于傳統(tǒng)的詞向量表示方法,BERT效果更好。
相較于其他的命名實體識別模型,基于BERT_IDCNN_CRF的軍事命名實體識別模型使用基于BERT的字向量生成模塊集合了文本的字特征、位置特征和句子特征,使用BERT微調(diào)機制進行特征向量的生成,使用IDCNN模型,經(jīng)過卷積層提取特征,再經(jīng)過映射層連接到CRF層。
基于CRF的編碼模塊,對序列進行全局最優(yōu)的標(biāo)簽預(yù)測。使得識別效果超過其他3種模型。
本文通過分析軍事實體的數(shù)據(jù)特征,結(jié)合現(xiàn)有命名實體識別算法特點,設(shè)計提出了基于BERT_IDCNN_CRF的軍事目標(biāo)命名實體識別模型,經(jīng)過對比,本文提出的模型在F1分數(shù)上效果更優(yōu)。未來工作中,將嘗試提升部隊、軍事實體別名等命名實體的識別效果,以彌補現(xiàn)有模型的缺陷。