范文婷,王 曉
(太原科技大學 計算機科學與技術學院,太原 030024)
隨著信息化技術在軍事領域的廣泛應用,當前軍事信息量激增,作為軍事領域信息抽取的基礎,軍事武器裝備名的識別對于分析和理解軍事信息具有重要作用,如有助實現(xiàn)軍事文本到自動標繪圖的智能轉換[1]、作戰(zhàn)命令的高精度分詞[2]等。研究如何實現(xiàn)準確、高效地從海量軍事文本中識別軍事命名實體具有重要意義[1-3]。
目前,軍事領域命名實體的識別方法同通用領域的命名實體識別任務[4-5]相似,主要包括三種類型:基于詞典的方法、基于規(guī)則的方法和基于統(tǒng)計機器學習的方法,或者三種方法的結合。例如,游飛等[6]采用基于統(tǒng)計機器學習的深度神經(jīng)網(wǎng)絡分類模型識別軍事文本中的武器名稱。馮蘊天等[7]建立了基于統(tǒng)計機器學習的條件隨機域模型對軍事命名實體進行識別,并使用詞典和規(guī)則對結果進行了校正,取得了90.9%的F值。
除了在機器學習模型的基礎上,使用規(guī)則或詞典進行對結果進行進一步優(yōu)化外,也可以將多個機器學習模型進行組合,利用各單個機器學習模型的優(yōu)勢,克服單個分類器的不足,實現(xiàn)優(yōu)勢互補,從而獲得更好的識別性能。例如:張曉艷等[8]采用混合統(tǒng)計模型(隱馬爾可夫和最大熵混合)分別從整體上和局部范圍對漢語命名實體的識別進行研究。姜文志[9]等采用多模型結合的方法,分別構建了支持向量機和條件隨機域模型對軍事命名實體進行識別。
本文采用兩層疊加方法,實現(xiàn)軍事領域中的命名實體——武器裝備名的識別。將第0層四個單獨分類器的識別結果進行組合作為第1層的輸入,使用第1層的模型對第0層的結果進行更充分的歸納學習,同時發(fā)現(xiàn)并糾正結果的誤差,克服單個分類器的局限,得到最終的識別結果。從實驗結果看,對軍事武器裝備名的識別,該方法獲得比各單獨分類器更好的性能。
參考兵器百科全書[10]的武器名,針對武器裝備名識別模型選擇以下5種特征建立特征函數(shù)。
1) 詞特征:對軍事文本進行分詞后的詞本身和它的上下文。
2) 詞性特征:對軍事文本進行分詞后得到的詞的詞性標注。研究表明[11],引入詞性特征可以顯著提高命名實體的識別性能。
3) 中心詞特征:軍事武器裝備名中通常包括一些特定名詞,這些詞很大程度上預示武器裝備名的出現(xiàn),這些詞稱為中心詞。如“PLZ-05型自行火炮”中的“火炮”為中心詞。
4) 詞形特征:武器裝備名通常包括英文字母、短橫線及數(shù)字的組合,即詞形通常由英文字母、短橫線及數(shù)字共同組成,如“WZ-10重型武裝直升機”。
5) 詞長特征:詞的長度信息,確定詞的長度是1、2、3-5、≥6中的一種。
基于條件隨機域CRF(Condition Random Field)、支持向量機SVM(Support Vector Machine)、最大熵ME(Maximum Entropy)三種不同的機器學習算法,構建了四個有差別的機器學習模型。
Mallet:使用MALLET工具包訓練出來的識別模型,MALLET工具包是常用的基于CRF原理和JAVA語言的序列標注工具。
CRF++:使用CRF++工具包訓練得到的識別模型,CRF++工具包在命名實體識別上具有較好的性能。
SVM:使用支持向量機SVM訓練得到的識別模型。
ME:使用Maximum Entropy工具包訓練得到的識別模型。
兩層疊加方法的核心思想是,將識別過程分為兩層進行,在第0層機器學習的基礎上進行第1層的再學習,從而得到最終的識別結果,其中每一層可以選擇適合的學習算法。本文中,兩層疊加方法的識別過程如下:
1) 第0層:
本層的主要工作是通過學習來構建第1層的訓練語料和測試語料,具體包括兩步:
①構建第1層的訓練語料。針對原始訓練語料集D,使用M個不同的學習算法(M為4,即Mallet、CRF++、SVM和Maximum Entropy),進行5倍交叉驗證得到M個分類器對訓練語料D的標注結果,將這M個標注結果組織成第1層的訓練語料集D1.
② 構建第1層的測試語料。針對原始測試語料集T,使用訓練語料集D和M個分類器對測試語料集T進行標注,將這M個標注結果作為特征,構建第1層測試語料集T1.
2) 第1層
使用第0層得到的D1作為訓練語料,T1作為測試語料,選擇CRF++工具包(CRF++在序列標注問題上性能較好),并結合一些其它特征(包含中心詞特征、詞形特征、詞長特征)進行再學習,從而得到最終的標注結果。兩層疊加方法的流程如圖1所示。
圖1 兩層疊加方法流程圖Fig.1 Flow chart of two-layer stacking architecture
軍事領域文本中的命名實體包括軍事機構名、人員軍職軍銜名、軍事武器裝備名以及軍用地名等多種類型,本文主要針對軍事武器裝備名進行識別。
由于目前沒有比較權威、開放的中文軍事語料,因此采用人工收集的方式構建軍事文本庫,爬取環(huán)球網(wǎng)、西陸軍事等軍事網(wǎng)站文章共6 000篇,對其進行分詞和武器裝備名標注后作為實驗語料,隨機抽取80%(4 800篇)作為訓練集,其余20%(1 200篇)作為測試集。針對這些軍事文本,本系統(tǒng)中設置了兩大組實驗。
實驗組一:采用單個分類器識別
分別采用1.2中的四個分類器對實驗語料中的武器裝備名進行識別,得到四個單獨分類器的識別結果。
實驗組二:使用兩層疊加方法識別
利用單獨分類器的性能和分類器之間的差異性,通過采用不同的組合策略和第1層的再學習得到兩層疊加方法的識別結果。
參考命名實體識別常用的測評方法,本文通過準確率P、召回率R和F值三項指標對武器裝備名的識別結果進行評測。
(1)單個分類器的結果
表1列出了四個單獨分類器的識別結果,同時在表1中給出了使用各單個分類器進行武器裝備名識別所需要的時間開銷。
從表1中可以看到,CRF++取得了86.48%的F值,識別效果比其它三個分類器要好,驗證了CRF++在命名實體識別上的優(yōu)勢所在。同時在時間開銷方面,由于語料比較大,整個訓練過程花費時間相對都比較長,其中CRF++性能最好同時消耗的時間也最少,需要8.5 h,而其它三個分類器的時間消耗都超過9 h.因此,在兩層疊加方法中,選擇CRF++作為第1層的分類器,對武器裝備名進行再識別。
表1 四個單獨分類器的識別結果Tab.1 Recognition results of four single classifiers
(2)兩層疊加方法的識別結果
許多基于兩層疊加方法的系統(tǒng)[12-13]表明,兩層疊加方法的性能依賴于參與組合的單個分類器的性能、分類器的個數(shù),不同分類器之間的差異性幾個因素。鑒于此,在第0層的分類器中,綜合考慮各分類器的性能和數(shù)目,使用不同的組合策略進行多個實驗。其中,由于CRF++的性能最好,將它作為基準,然后按分類器數(shù)目和分類器之間的差異性逐一向該基準中加入其它分類器進行實驗,得到最終兩層疊加方法的識別結果,如表2所示。
表2 兩層疊加方法的識別結果Tab.2 Recognition results of two-layer stacking architecture
表2的結果顯示,盡管ME在單個分類器中的性能最差,但CRF+++ME比CRF+++Mallet的識別結果要好,這是由于ME與CRF++采用完全不同的原理構建,而Mallet與CRF++都是使用條件隨機域算法進行實體識別,前者較后者差異性更大,因此性能也更好。同時從表2中也可以看到,CRF+++SVM+Mallet+ME的結果較CRF+++Mallet+ME差(從92.1%下降到90.98%,下降了1個百分點),即將四個分類器全部參與組合,性能反而降了,這說明并不是分類器的數(shù)目越多越好。
從表2中可以看到,CRF+++Mallet+ME取得了最好的識別性能,取得了92.1%的F值。
(3)兩層疊加方法和單個分類器的識別時間開銷比較
由于兩層疊加方法需要對訓練語料進行N倍交叉驗證,同時還需要在第0層學習的基礎上進行第1層的再學習,過程相對更復雜,所花費的時間也較長,為了評價性能和時間的綜合質量,選擇單個分類器和兩層疊加方法不同組合情況中性能最好的模型加入了時間開銷對比,結果如表3所示。
表3 各模型識別所需時間開銷對比Tab.3 Comparison of time cost for each recognition model
表3的結果顯示,由于兩層疊加組合模型CRF+++Mallet+ME要經(jīng)過第0層的交叉驗證和第1層的再學習,同時第1層CRF+++Mallet+ME所引入的特征數(shù)比單個CRF++要多,使得總花費時間相對比單個CRF++長一些,需要多花費4.6 h.但由于充分利用了分類器之間的差異性,兩層疊加方法的性能要比單個分類器有很大提升,從86.48%上升到92.1%,CRF+++Mallet+ME的F值要比單個CRF++高5.62%.作為軍事領域信息抽取的基礎,武器裝備名識別的高精度對后續(xù)任務具有重要意義,綜合考量時間開銷和性能提高,在有限的時間開銷內,獲得了較大的性能提升,兩層疊加方法是有效的。
(3)綜合分析
表1和表2綜合看到,相比于識別性能最好的單個CRF++分類器(86.48%的F值),兩層疊加方法性能更好,即使是最差的組合CRF+++Mallet也能取得86.83%的F值。這是由于兩層疊加方法可以在單個分類器的基礎上利用分類器之間的差異性,克服單個分類器的不足,同時在第0層學習的基礎上進行了第1層的再學習,從而產生較好的性能。
針對軍事武器裝備名,本文提出了兩層疊加方法的識別模型,并通過實驗驗證了它的有效性。相比于單個分類器識別,兩層疊加方法能在第0層學習的基礎上進行第1層的再學習,過程更加充分,在再學習的過程中,能夠充分利用各單獨分類器的優(yōu)勢和分類器之間的差異性,獲得較高的識別性能。
在今后的研究工作中,嘗試引入外部資源,如軍用詞典等信息,并結合武器裝備名命名規(guī)則,對識別結果進行修正,來進一步提高系統(tǒng)的識別性能。同時現(xiàn)在只是實現(xiàn)武器裝備名的統(tǒng)一識別,即不對識別出的武器裝備進行類別劃分,擬作為下一步研究的方向,即對現(xiàn)有語料進行類別標注,然后在此基礎上,提出和改進分類算法實現(xiàn)武器裝備名分類。