高學攀,杜 楚,吳金亮
(中國電子科技集團公司第五十四研究所,河北 石家莊 050081)
命名實體識別是自然語言處理中的一項基本研究任務,也是信息抽取的一個子任務,最早是在MUC-6會議上引入這一評測任務,作為信息抽取技術的子課題供廣大學者討論研究,旨在識別出自然語言文本中的專有名詞和有意義的數量短語,并加以分類。
通用領域的命名實體識別已經得到了廣泛研究,其識別方法可分為基于規則的方法和基于統計的方法2大類。基于規則的方法通過分析實體本身的詞匯特征和短語的搭配習慣,人工構建規則集抽取預先定義的各種類別的實體[1],需要具備大量的專業知識,召回率低、可移植性差?;诮y計的方法是從給定的、己標注好的訓練集出發,定義特征集合,并應用學習算法訓練統計模型,完成命名實體識別。目前常用的統計模型包括支持向量機(Support Vector Machine,SVM)[2-3]、隱馬爾可夫(Hidden Markov Models,HMM)[3-4]和條件隨機場(Conditional Random Fields,CRFs)[5-6]等,這些模型都需要人依靠邏輯直覺和訓練語料中的統計信息手工設計出大量的特征,其識別性能很大程度上依賴于所設計特征的準確度。目前,深度學習方法已在圖像處理任務中取得突破性進展[7-8];在自然語言處理領域,基于詞嵌入[9]的神經網絡方法也正在快速發展,并應用于各種文本分析任務中。相比傳統機器學習方法,該方法可從原始輸入中學習到更好的特征和表示,使原始數據表示經過逐層變換和抽象后得到優化,有助于提高實體識別的泛化性能。深度學習方法已成為當前命名實體識別領域的研究熱點[10-11]。
軍事命名實體識別屬于特定領域[12-15]的命名實體識別,仍屬于命名實體識別領域的研究,旨在從軍事文本中識別與軍事相關的各種命名實體,主要包括人物姓名、軍用地名、軍事機構名、武器裝備、設施目標和部隊番號等,是軍事數據庫建設、軍事知識圖譜和情報分析挖掘等上層應用的重要基礎工作。已有諸多學者開展對軍事命名實體識別的研究,宋瑞亮[16]提出Tri-Training算法對CRF模型進行迭代學習,能夠識別軍事文本中的命名實體。馮蘊天等[5]通過分析軍事文本語法特點構建特征集合,構建CRF模型并引入Self-Training算法對軍事命名實體進行識別,并利用詞典和規則的方法對識別結果進行修正,比僅用CRF模型進行識別效果要好。單赫源等[6]提出一種小粒度策略下基于CRF的軍事命名實體識別方法,在保證較優識別準確率的前提下,還能降低訓練集標注的復雜度。
現有的面向軍事文本的實體識別方法大多采取基于規則或基于淺層模型的學習方法,往往需要大量的特征工程,依靠從軍事文本數據中定制、提取特征的手段制定規則或學習模型,針對真實語料中的軍事命名實體的識別效果有待提高??紤]到軍事命名實體構成模式多樣、實體名稱組成復雜和結構嵌套等特點,對軍事命名實體的識別任務必須兼顧其語言規律和軍事特性,并充分考慮領域分詞困難以及缺乏大規模人工標注訓練語料等諸多問題。本文針對軍事命名實體識別,主要進行以下工作:
① 構建軍事語料庫,準確標注了十萬量級的軍事命名實體;
② 將軍事文本編碼為字向量序列作為輸入,能夠有效降低對分詞工具的依賴性,避免了分詞帶來的級聯誤差;
③ 提出BiLSTM-CRF模型,利用深度學習方法自動學習任務特征,提高了軍事命名實體識別效果。
基于BiLSTM-CRF的軍事命名實體識別方法將命名實體識別問題轉為序列標注問題,并采取BIO的數據標注模式,即定義3種實體范圍標簽:實體起始、實體內部和實體之外,分別用B,I,O進行標注。雙向長短時記憶神經網絡(Bi-directional Long-short Term Memory,BiLSTM)結合條件隨機場的序列標注方法[17-18],既具備BiLSTM能夠充分利用上下文語境信息的能力,也具備CRF能夠避免標注偏置問題的能力,同時也避免了CRF模型所需的復雜的特征工程,在序列標注問題中具備強大的建模能力以及良好的性能,總體流程如圖1所示。

圖1 基于BiLSTM-CRF的軍事命名實體識別方法流程Fig.1 Procedure of military named entity recognition based on BiLSTM-CRF
歷史軍事文本數據經由簡繁轉換、全半角轉換等預處理后,一方面基于詞嵌入技術學習字符的分布式表示,得到字向量查找表,另一方面應用BIO標注方法對每個句子中的每個字符進行人工標注,得到標注樣本集;然后,基于標注樣本集和字向量查找表,利用BiLSTM神經網絡處理輸入的字符向量序列,統籌上下文語義學習任務特征,并將學習到的特征接入線性鏈式條件隨機場進行軍事命名實體標注,訓練生成用于軍事命名實體識別的模型;最后,對于待處理的軍事文本,經由簡繁轉換、全半角字符轉換等預處理后,輸入軍事命名實體識別的模型進行計算,標注文本中的軍事命名實體并輸出,完成軍事命名實體識別。
首先需要將輸入的軍事文本轉換為計算機能夠進行計算的向量形式。傳統針對字/詞的獨熱表示方法,無法捕捉字/詞之間的語義關系,且存在嚴重的維度災難和數據稀疏問題。分布式表示方法能夠把字/詞映射成固定長度的低維、稠密的實值向量表示,并且可以根據向量空間中字/詞的分布引入距離來衡量字/詞之間的語義相似性,能夠很好地克服獨熱表示的缺點。尤其是在2013年,Mikolov提出word2vec模型[13],分布式表示邁入實用化階段后,深度學習在自然語言處理領域中的應用達到了一個新高度。
相比于普通實體結構,軍事命名實體具有組成復雜、結構嵌套及較強的領域特點,如“F-22”戰斗機。為有效獲取軍事命名實體中字符間的緊密結合特征,并回避專業領域分詞對實體識別帶來的級聯誤差,本文采用字符級別的分布式表示方法,采用word2vec中的Skip-gram模型在大規模軍事文本預料上無監督訓練出字符向量查找表,將字符向量序列作為模型的初始化輸入。
訓練得到的字向量表中共5 000個字符(包括常用漢字、英文字母、數字、標點符號及其他特殊字符)以及它們的數值向量形式。每個數值向量有100維,每一維表示一個特征。字向量表查找的過程是讓原始軍事文本中每一個字符在表上查找對應的字向量,如果某字符在表中不存在,則被初始化為一個統一的數值向量。
用于軍事命名實體識別的BiLSTM-CRF序列標注模型架構如圖2所示。

圖2 BiLSTM-CRF模型架構Fig.2 Architecture of BiLSTM-CRF model
模型的第1層是字向量映射層。以軍事文本中的句子為單位,將一個含有n個字符的句子(由字符組成的序列)記作x=(x1,x2,...,xn),其中xi表示句子的第i個字符在字典中的ID,進而可以得到每個字符的獨熱向量,維數是字典大小。利用訓練得到的字向量查找表將軍事文本中的每個字符xi由獨熱向量映射為低維稠密的字向量ci∈Rd,d是字向量的維度,作為神經網絡初始輸入的特征向量。

pt=softmax(Wht+b),
式中,W為權值參數;b為偏置項。計算后,將隱狀態向量從m維映射到k維,k是標注集的標簽數,從而得到自動提取的動向文本句子特征,記作矩陣P=(p1p2...pn)∈Rn×k??梢园裵i的每一維pij都視作將字符xi分類到第j個標簽的打分值,值越高說明給當前字分配該維度對應標記的可能性越大。LSTM模型訓練選用交叉熵建立目標函數:

模型的第3層是CRF層,進行句子級的序列標注。CRF層的參數是一個(k+2)×(k+2)的矩陣A,Aij表示從第i個標簽到第j個標簽的轉移得分,進而在為一個位置進行標注的時候可以利用此前已經標注過的標簽。如果記一個長度等于句子長度的標簽序列為y=(y1,y2,...,yn),則模型對于句子x的標簽等于y的打分為:
整個序列的打分等于各個位置的打分之和,而每個位置的打分由2部分得到:LSTM輸出的pi和CRF的轉移矩陣A。模型訓練時通過最大化對數似然函數實現。
由于目前沒有比較統一的軍事語料庫,因此采用人工收集的方式構建軍事文本數據集。數據集共包括2 000篇軍事新聞和3 000份軍事報文,總計3 088 098個字符,共標注了人物姓名、軍用地名、軍事機構名、武器裝備名、設施目標名和部隊名稱6類共109 797個軍事命名實體。數據集統計結果如表1所示。

表1 數據集統計Tab.1 Statistics of the dataset
評價指標包括正確率P、召回率R和F1值:
為了測試本文所提方法在軍事命名實體識別上的效果,實驗采用了5折交叉驗證的方法,即將數據集隨機劃分為5份,依次使用4份進行訓練,用剩下的1份進行測試,對結果取平均值。6類軍事命名實體識別結果如表2所示。

表2 基于BiLSTM-CRF模型的軍事命名實體識別效果
另外,為了驗證基于BiLSTM-CRF模型的軍事命名實體識別方法的有效性,在實驗比較中設置了BiLSTM模型和LSTM-CRF模型作為對比,結果如表3所示。

表3 對比實驗結果Tab.3 Results of the comparison experiment 單位:%
通過對實驗結果的分析可得,基于BiLSTM-CRF模型的軍事命名實體識別方法在6類軍事命名實體識別的準確率和召回率均大于80%,且綜合識別性能均優于2種基準方法,驗證了本文所提方法的有效性。
針對軍事領域命名實體識別,通過對現有方法的研究與應用現狀的分析,結合軍事命名實體組成復雜、結構嵌套的特點,設計出了基于BiLSTM-CRF模型的軍事命名實體識別方法并對方法的實現過程進行了詳細論述。實驗結果表明,本文提出的方法在準確率和召回率上均優于基準方法,且對于每一類實體的識別均有較好的識別效果,驗證了方法的有效性,具備一定的應用前景。