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