何陽宇,晏 雷,易綿竹,李宏欣,3
(1.中國人民解放軍戰略支援部隊信息工程大學(洛陽校區),河南 洛陽 471003;2.昆明理工大學 信息工程與自動化學院,昆明 650500; 3.密碼科學技術國家重點實驗室,北京 100878)
隨著大數據時代的到來,互聯網已經成為軍事情報獲取的重要來源,但海量冗雜的數據也帶來了“信息過載”的問題,命名實體識別(Named Entity Recognition,NER)是解決這一問題的有效手段?!懊麑嶓w”是在第六屆消息理解會議(MUC-6)上首次使用的,可以簡單地定義為“任何一個可以被專有名稱指代的事物”[1]。在這次會議上,命名實體識別也作為信息抽取(Information Extraction,IE)的子任務被提出[2],之后迅速成為大數據分析、文本意義理解、語義表示、知識管理等研究領域的關鍵技術之一。近年來興起的以知識圖譜為基礎的智能檢索,其核心單元即為實體。
命名實體識別即識別文本中的專有名稱,并將其劃分到預先定義的類別。按照技術手段可以分為基于規則的方法、基于統計的方法以及深度學習的方法[3]。最早出現的命名實體識別系統大多是基于規則的,從20世紀90年代開始,統計方法逐漸成為主流。常用的統計模型有支持向量機(Support Vector Machine,SVM)、最大熵模型(Maximum Entropy,ME)、隱馬爾可夫模型(Hidden Markov Model,HMM)、條件隨機場(Conditional Random Fields,CRF)等,這類模型通常將實體識別任務形式化為從文本輸入到特定目標結構的預測,使用統計模型來建模輸入與輸出之間的關聯,并使用機器學習方法來學習模型的參數。例如,隱馬爾可夫模型將命名實體識別視為字符串分類問題[4],條件隨機場模型則將實體識別轉化為序列標注問題[5]。最近廣受歡迎的深度學習也被應用到了命名實體識別任務中,目前主要的命名實體深度學習架構有兩類[6]:一類是神經網絡-條件隨機場(NN-CRF)架構[7],在該架構中,卷積神經網絡(CNN)和長短期記憶(LSTM)網絡被用來學習每一個詞位置處的向量表示,基于該向量表示,NN-CRF解碼該位置處的最佳標簽;另一類是采用滑動窗口分類的思想使神經網絡學習句子中每一個N-gram的表示,然后預測該N-gram是否為一個目標實體[8]。深度學習的方法雖然省去了統計方法中特征選取的過程,但需要更大規模的訓練語料。對于老撾語這種低資源語言,構建大型標注語料庫所需的人力和物力成本短期內是暫時無法承受的,將大量未標注或少量人工標注的數據集用于訓練老撾語命名實體識別的統計模型更符合研究現狀[9],并且實踐證明單純基于統計的方法會使狀態搜索空間非常龐大,加入一定的規則等先驗性知識也是有必要的。
關于老撾語命名實體識別的成果較少,老撾國內幾乎沒有專門研究,僅有文獻[10]借助命名實體識別來提升老撾語分詞的效果,其中的實體識別部分主要是利用規則的方法對人名和地名進行識別。國內主要有昆明理工大學對此進行了研究,其成果基本都采用機器學習的方法[11-12],取得了一定的成果,但囿于語料規模和質量,其識別結果難以泛化[13-14]。如果直接移植到軍事領域,準確率可能會大幅下降。此外,盡管其中加入了一些規則和特征,但存在制定不準確、覆蓋不全等問題,這勢必也會影響識別效果。
本文提出一種融合CRF和規則的老撾語軍事領域命名實體識別方法。首先在分析老撾語軍事領域文本的基礎上,選取了詞、詞性、指界詞、通名和詞典等特征訓練得到CRF模型,從而實現老撾語軍事領域命名實體的自動識別。然后對輸出結果中的錯例進行分析,并通過人工制定規則來提升識別性能。
命名實體識別任務通常針對人名、地名和機構名三大類專有名詞,結合具體研究領域和任務,本文需在此基礎上進行增改。經綜合考量,最終將老撾語軍事領域命名實體分為人名(PER)、地名(LOC)、軍事機構名(ORG)、武器裝備名(WE)和軍用設施名(FAC)等類型。
從廣義上來講,人名包括本名、別名、乳名、筆名、藝名等,但本文僅識別本名,即人的正式姓名稱謂;地名是指某一特定空間位置上自然或人文地理實體的專有名稱,自然地理實體包括山、河、湖、海、島等,而人文地理實體包括國家、省、市、縣、村等,即通常所說的行政地名;軍事機構名可再分為指揮機構、編制單位、科研機構、軍工企業、教育培訓機構和醫療機構等幾大類;武器裝備名是武裝力量用于實施和保障戰斗行動的武器、武器系統和軍事技術器材等的名稱,包括槍械、火炮、坦克、裝甲戰斗車輛、作戰飛機、戰斗艦艇、彈藥、導彈、水雷等戰斗裝備以及雷達、聲吶、通信指揮器材、軍用測繪器材、野戰工程機械、軍用車輛、保障艦船、輔助飛機、情報處理裝備、電子對抗裝備等保障裝備[15];軍事設施名是指用于軍事目的的建筑、場地和設備等的專有名稱,主要包括指揮工程、作戰工程、軍用機場、港口、碼頭、營區、訓練場、試驗場、軍用洞庫、倉庫、軍用通信、偵察、導航、觀測臺站和測量、導航、助航標志、軍用公路、鐵路專用線、軍用通信輸電線路、軍用輸油輸水管道等。本文結合老撾實際情況,以軍事工程、軍事基地、軍事交通設施、各類場地和塔臺站為重點識別對象。
老撾語命名實體識別既有所有語言面臨的共同難點,也具有其獨特的個性難點,對此進行剖析有助于后續研究,具體如下:
1)英語等西方語言單詞之間一般都有空格,并且專有名稱首字母需大寫,因此其實體邊界非常易于確定,只需完成實體分類任務即可。而老撾語卻不具備這樣的先天優勢,其缺乏豐富的詞形變化和明顯的形態標志,并且沒有天然的詞邊界,分詞、淺層句法分析等過程都會影響老撾語命名實體識別的效果。
2)豐富的語料資源對于命名實體識別任務來說相當重要,這也正是老撾語的不足。研究力量薄弱、關注度低等原因造成了可供老撾語命名實體識別使用的語料極為匱乏,專門針對軍事領域的電子化資源則幾乎沒有,唯一的解決辦法就是通過多渠道自行構建。即便如此,因為命名實體是一個相對開放的集合,新的命名實體會不斷涌現,規模再大的語料庫也難以做到及時更新和完全覆蓋。
3)部分實體拼寫較為隨意,尤其是外來詞,有時甚至不符合老撾語的拼寫規則,老撾國內也沒有權威機構對此進行規范管理。

5)老撾語中存在大量縮略詞,這些縮略詞往往就是命名實體,其形式較為多樣,很難總結出規則,且有時會出現多個命名實體對應同一縮略詞的現象。軍事領域具有特殊性,文本表達通常言簡意賅,因此縮略詞的使用更為常見。
6)根據不同的任務和目的,實體的類別不再局限于人名、地名和機構名,出現越來越多的開放類別實體,本文所要識別的“武器裝備名”等就屬于此種情況。為了提高識別精度,便于后續應用,實體劃分的顆粒度也越來越小,如本文中的地名可被細化為國家、省、市、縣、村等。

條件隨機場自2001年LAFFERTY等人[5]提出以來,因其簡單的操作原理和良好的性能在自然語言處理等領域迅速受到了廣泛歡迎。之后,MCCALLUM[16]率先將其用于命名實體識別。經過不斷改進,其成為目前命名實體識別中最成功的方法[17]。它是一種用于分割和標注序列數據的概率化結構模型,在已知觀察序列X的情況下,計算輸出標注序列Y的條件概率P(Y|X)。
與隱馬爾可夫模型(HMM)、最大熵馬爾可夫模型(MEMM)等其他序列標注模型相比,CRF弱化了獨立性假設,只需考慮已經出現的觀察序列的特性,能夠充分利用上下文信息,易于融合不同的特征,同時其在全局范圍內進行參數優化和解碼,避免了MEMM和其他判別式馬爾可夫模型會出現的標記偏置(Label Bias)問題。CRF和MEMM之間的關鍵區別在于,MEMM使用每個狀態的指數模型來確定當前狀態的下一個狀態的條件概率,而CRF則利用單個指數模型來計算整個標注序列和給定觀察序列的聯合概率。因此,在不同狀態下不同特征的權重可以相互替換[5]。
CRF可以被視作一種無向圖模型或者馬爾可夫隨機場[18]。從理論上來講,只要在標注序列中表示一定的條件獨立性,其圖結構可以是任意的,但一般用來解決序列標注問題的是最為簡單且常見的一階鏈式結構,如圖1所示。

圖1 條件隨機場鏈式結構Fig.1 Chain structure of CRF
本文定義:X=x1,x2,…,xn為給定的觀察序列,即由n個詞組成的老撾語語料,Y=y1,y2,…,yn為輸出的標注序列,即為被預測出的實體標注序列。那么,輸出序列的條件概率可定義為:
(1)
其中,Z(X)為歸一化因子,它可使所有可能狀態序列概率之和為1,可由式(2)得出,tj(yi-1,yi,X,i)為轉移函數,表示對于觀察序列X在當前位置i及前一位置i-1上標注的轉移概率,sk(yi,X,i)為狀態函數,表示當前位置i的標注概率。以上兩個函數統稱為特征函數,都依賴于局部特征。在命名實體識別過程中,當滿足特征模板條件時,取值為1,否則取值為0,λj和μk分別為tj和sk對應的權值,可以通過最大似然函數在模型訓練集上估算出來。
(2)
在得出特征函數權值后,模型訓練過程便基本完成。將觀察序列X(即測試語料)輸入此模型,概率最大的命名實體標注序列Y′便可通過維特比算法解碼得出:
Y′=argmaxP(Y│X,λ)
(3)
在利用CRF模型進行命名實體識別的任務中,最為關鍵的一步就是構建與待識別對象相關聯的特征模板,它直接影響識別系統的性能。
在制定特征模板時,需要先確定“觀察窗口”,即當前位置詞的前后n個詞及其標注所構成的上下文語境。窗口大小的取值相當重要,開口過大會增加計算成本,影響模板通用性,出現過擬合現象;而開口太小則可能遺漏重要信息。結合老撾語軍事領域文本特點和老撾語語言規律,本文將窗口大小設置為5,即包括當前詞及其前后各2個詞。下面對所選取的各類原子特征進行闡釋:
1)詞特征:將詞本身作為特征,記為Fwi(i=-2,-1,0,1,2)(下同),w0表示當前詞,w-1表示當前詞左邊第1個詞,w-2表示當前詞左邊第2個詞,w+1表示當前詞右邊第1個詞,w+2表示當前詞右邊第2個詞。
2)詞性特征:該特征也是與待標注詞本身相關的特征,記為Fpi,pi對應wi的詞性。


表1 老撾語命名實體通名(部分)Table 1 General names of named entities in Laotian(partial)


表2 老撾語實體識別指界詞示例Table 2 Examples of Laotian entity recognition boundary words
5)詞典特征:表示為Fdi,英、漢語等的命名實體識別研究已證明這一特征具備高度預測能力,尤其是針對地名等規模相對穩定的實體類型非常有效。本文主要通過以下3個渠道構建常見詞詞典,即現有資源、網絡爬蟲和基于Word2vec的相似詞推薦。
現有資源包括《老漢-漢老軍事詞典》[20]和老撾國家統計局出版的《2017統計年鑒》[21]等。前者是目前國內唯一的老撾語軍事領域詞典,共收錄1.4萬余詞條;后者對老撾主要山脈、河流以及省、縣、村等行政單位進行了統計。
網路爬蟲主要針對老撾人民軍官網、老撾國防部官網以及維基百科老撾語版涉及軍事的頁面信息。前兩個網站內有專門介紹軍隊組織架構等方面的內容,可直接提取存入詞典。對于維基百科的爬取,只針對頁面標題,因為維基百科每一個頁面幾乎都是對該頁面標題的解釋,而每一個標題多數情況下都代表一個實體。
基于Word2vec的相似詞推薦的原理是訓練語料生成詞向量(Word Embedding)文件,然后以向量間的余弦距離(Cosine Distance)度量詞語之間的相似度??衫矛F有資源和網絡爬蟲獲得的實體作為種子詞集進行相似詞推薦,為保證質量,將推薦閾值設定為5,其余過程不再贅述。
將以上3個渠道獲取的實體詞條匯總后,根據準確性、廣泛性和相關性原則,需要刪除重復項、非名詞詞語、名詞化的動詞和形容詞以及領域相關性較低的詞,最終形成的常見詞詞典共包含5 134個實體詞條。
根據上述各原子特征,本文依次進行組合疊加,構成如表3所示的特征模板。

表3 老撾語軍事領域命名實體識別組合特征模板Table 3 Combined feature templates of named entity recognition in Laotian military field
老撾語目前還沒有公開的命名實體標注語料,本文實驗所采用的語料均為精通老撾語人士手工構建,主要來源為老撾人民軍、老撾國防部等官方網站以及老撾通訊社KPL、ABClaosnews等老撾語主流網站的軍事類新聞,語料規模約為22.5M。將這些語料進行分詞和詞性標注等預處理后,由人工按照表4所示方法進行實體標注,然后使用標簽集BISO對實體進行編碼表示,B表示實體的首詞部分,I表示實體的非首詞部分,S表示單個詞構成的實體,O表示非實體。本文5個類型實體對應的標簽分別為{BPER,IPER,SPER,BLOC,ILOC,SLOC,BORG,IORG,SORG,BWE,IWE,SWE,BFAC,IFAC,SFAC,O}。最終經過處理獲得實驗所需語料,其中,4/5作為訓練語料,1/5作為測試語料。

表4 老撾語命名實體人工標注示例Table 4 Examples of named entities manual labeling in Laotian
為綜合評價系統性能,模型訓練完成后,將準確率(P)、召回率(R)以及F測度值(F-measure)作為評價指標進行測試,具體定義分別為:

(4)

(5)
(6)
本文針對不同的組合特征進行了5組實驗,以對比各個特征對識別結果的影響,如表5~表9所示。

表5 基于組合特征1的識別結果(實驗1)Table 5 Recognition results based on combined feature 1 (experiment 1) %

表6 基于組合特征2的識別結果(實驗2)Table 6 Recognition results based on combined feature 2 (experiment 2) %

表7 基于組合特征3的識別結果(實驗3)Table 7 Recognition results based on combined feature 3 (experiment 3) %

表8 基于組合特征4的識別結果(實驗4)Table 8 Recognition results based on combined feature 4 (experiment 4) %

表9 基于組合特征5的識別結果(實驗5)Table 9 Recognition results based on combined feature 5 (experiment 5) %

完成基于CRF模型的實體識別之后,本文對錯誤識別結果進行了分析,嘗試加入適當的先驗性知識,即能夠表達語言確定性的規則,以期能夠進一步提升系統性能。部分規則描述如下:
1)人名規則:造成人名錯誤識別的原因是當上下文無明顯特征時,將臨近的詞作為人名的一部分或者將人名的一部分歸入其他詞,這可以通過詞長LPER(即音節數量)規則來處理。本文以隨機搜集的500個老撾人名為樣本,進行音節數量的分布統計,如圖2所示。從圖2可以看出,老撾人名詞長一般介于3~8之間,其中以5和6居多,占樣本總數的84.6%,因此可制定人名識別規則為3≤LPER≤8。

圖2 老撾人名詞長分布Fig.2 Word length distribution of Lao name


4)武器裝備名規則:武器裝備名絕大部分是以其型號結尾,而型號主要由大寫英文字母、阿拉伯數字、羅馬數字和符號“-”“+”等要素構成,同時規定有無通名等價。
5)軍事設施名規則:軍事設施名面臨的識別難點同樣是人名和地名的嵌套現象,因此可采用與機構名類似的規則。
規則制定完成后,選擇上述識別結果最好的實驗5作為基礎,利用規則進行后處理,結果如表10所示。與前5個實驗的總體識別結果對比如圖3所示。

表10 加入規則后的識別結果(實驗6)Table 10 Recognition results after adding rules (experiment 6) %

圖3 老撾語命名實體識別總體結果變化趨勢Fig.3 Change trend of overall results of Laotian named entity recognition
可以看出,加入規則后的系統實體識別能力有了較為顯著的提升,其中機構名、武器裝備名和軍事設施名的準確率、召回率和F測度值均提高了4個到5個百分點。由此證明了融合CRF和規則的方法具有可行性和有效性,可以在一定程度上彌補CRF模型的不足。
本文采用融合CRF和規則的方法對老撾語軍事領域命名實體識別進行了研究。通過分析領域實體特點,選取詞、詞性、通名、指界詞和詞典等特征進行組合作為CRF模型的特征模板,利用測試語料進行測試,并對測試結果進行錯例分析,人工制定具有針對性的規則進行后處理,進一步提升識別效果。實驗結果表明,該選取特征可有效解決老撾語軍事領域命名實體識別問題。由于目前沒有公開的老撾語大型實體標注語料庫,本文所用語料庫為自行構建并且初次使用,語料的規模和質量還需進一步加強,下一步將嘗試引入遷移學習技術[22]和自學習技術[23]來解決老撾語資源缺乏的現狀,同時將對軍事文件名、軍事活動名等更多類別的軍事領域實體識別進行研究。