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