張曉海,操新文,高 源
(國防大學(xué)聯(lián)合作戰(zhàn)學(xué)院,河北石家莊 050084)
為適應(yīng)信息化戰(zhàn)爭的特點(diǎn),指揮文書信息數(shù)據(jù)化的概念被提出,并且取得了一定的研究成果。指揮文書信息數(shù)據(jù)化,是解決指揮文書信息的內(nèi)容如何轉(zhuǎn)變?yōu)楦谥笓]信息系統(tǒng)直接使用的數(shù)據(jù)的問題,其核心任務(wù)是信息抽取。作戰(zhàn)文書是指揮信息的一種重要載體,面向作戰(zhàn)文書的命名實(shí)體識(shí)別,是作戰(zhàn)文書信息抽取的基礎(chǔ)性研究工作,對于指揮文書信息數(shù)據(jù)化具有重要的研究價(jià)值。命名實(shí)體識(shí)別(Named Entity Recognition,簡稱NER),又稱作“專名識(shí)別”,是指識(shí)別文本中具有特定意義的實(shí)體,主要包括人名、地名、機(jī)構(gòu)名、專有名詞等。作戰(zhàn)文書命名實(shí)體識(shí)別中,主要是針對部隊(duì)編制、作戰(zhàn)編成、武器裝備、地點(diǎn)、坐標(biāo)、時(shí)間等實(shí)體進(jìn)行識(shí)別。
隨著深度學(xué)習(xí)的快速發(fā)展,文書信息抽取領(lǐng)域取得較大突破。然而,由于中文自身的特殊性,該領(lǐng)域的發(fā)展始終落后于國外的相關(guān)研究。在早期的作戰(zhàn)文書命名實(shí)體識(shí)別的相關(guān)研究中,均是基于規(guī)則、模板等傳統(tǒng)方法。這類方法較難對語料全面覆蓋,且規(guī)則和模板庫的設(shè)計(jì)和維護(hù)異常困難,因此基于統(tǒng)計(jì)的機(jī)器學(xué)習(xí)方法成為主流。其中,統(tǒng)計(jì)機(jī)器學(xué)習(xí)主要模型有:條件隨機(jī)場(Conditional Random Fields,CRF)、隱馬爾科夫(Hidden Markov Model,HMM)、支持向量機(jī)(Support Vector Machine,SVM)等。馮蘊(yùn)天[1]、單赫源[2]、姜文志[3]等人的研究比較具有代表性。單赫源等人針對組合嵌套特征較為明顯的實(shí)體類別進(jìn)行分析,提出的小粒度策略下的基于CRF的軍事命名實(shí)體識(shí)別方法,提高了實(shí)體識(shí)別準(zhǔn)確率;姜文志等人將CRF模型與基于規(guī)則的方法進(jìn)行了結(jié)合,并說明了方法的可行性,為后續(xù)的研究打下了一定的基礎(chǔ)。然而這一類統(tǒng)計(jì)模型普遍存在一個(gè)不足,即需要有經(jīng)驗(yàn)的人員進(jìn)行特征選取,且識(shí)別結(jié)果非常依賴選取特征的質(zhì)量,使得人工特征和領(lǐng)域知識(shí)在提高模型性能的同時(shí)也導(dǎo)致整個(gè)模型的魯棒性和泛化能力大大下降。
近年來,基于深度學(xué)習(xí)的軍事命名實(shí)體識(shí)別的相關(guān)研究越來越多,它們使用雙向長短期記憶網(wǎng)絡(luò)(Bi-directional Long Short-Term Memory,BiLSTM)和條件隨機(jī)場結(jié)合的神經(jīng)網(wǎng)絡(luò)模型,來完成命名實(shí)體識(shí)別的序列標(biāo)注問題。神經(jīng)網(wǎng)絡(luò)模型可以大大減少復(fù)雜的人工特征,從大量的語料中,自動(dòng)學(xué)習(xí)特征表示。目前已有的研究中,使用的方法和所解決的問題雖如出一轍,卻又不盡相同。如:游飛[4]等人利用一個(gè)四層神經(jīng)網(wǎng)絡(luò),進(jìn)行了面向武器裝備名稱的識(shí)別研究,對深度學(xué)習(xí)解決該類問題進(jìn)行了初步探索;王學(xué)峰[5]等人提出的基于BiLSTM-CRF的軍事命名實(shí)體識(shí)別,利用預(yù)訓(xùn)練的字向量作為輸入,在自建語料庫的測試中,F值達(dá)到98%;朱佳暉[6]等人面向網(wǎng)絡(luò)軍事文本,提出了15種命名實(shí)體類別的體系,與王學(xué)峰等人工作類似,使用BiLSTM-CRF模型進(jìn)行命名實(shí)體識(shí)別,并提出軍事命名實(shí)體的鏈接框架。
如圖1所示,本文的模型框架主要由三個(gè)部分組成,CNN、BiLSTM和CRF模塊。其首先對軍事領(lǐng)域語料進(jìn)行分詞和詞性標(biāo)注,將輸入的句子轉(zhuǎn)換為詞向量序列;其次通過CNN模塊對每個(gè)詞內(nèi)的字向量進(jìn)行卷積操作,以此作為字符級的特征,并采用獨(dú)熱編碼對詞性特征進(jìn)行向量表示;再將每個(gè)詞的詞向量、字符級向量、詞性向量進(jìn)行拼接,輸入BiLSTM網(wǎng)絡(luò),最終通過CRF模塊輸出預(yù)測標(biāo)注序列。
圖1 CNN-BiLSTM-CRF模型框架
卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Networks, CNN)主要包含卷積層和池化層,可以更好地表示數(shù)據(jù)的局部特征。Collobert[7]等人以整個(gè)句子作為當(dāng)前預(yù)測詞的輸入,引入詞在句中的相對位置特征,它使用了一層卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行特征的提取。Santos[8]等利用CNN獲取字符級特征,使得詞性標(biāo)注的效果得到提升。以上是較早將CNN用于自然語言處理任務(wù)的兩項(xiàng)研究工作,均證明了CNN在字符級特征提取中的優(yōu)勢。本文采用CNN提取字符級特征向量,與詞向量、詞性向量進(jìn)行拼接作為輸入,以提高模型性能。
圖2 字符級CNN模型
長短期記憶模型(Long Short-Term Memory,LSTM)[9]是一種循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network,RNN)模型[10],該模型可通過輸入、輸出和遺忘三個(gè)控制門,對上下文的信息進(jìn)行選擇性記憶傳遞,從而捕獲到長距離依賴信息。而記憶機(jī)制最大的貢獻(xiàn),則是解決了傳統(tǒng)RNN中存在的梯度消失和梯度爆炸的問題。公式(1)為LSTM網(wǎng)絡(luò)的形式化表示。
(1)
LSTM網(wǎng)絡(luò)很好地解決了RNN梯度彌散的問題,但單向LSTM只能通過前文信息對結(jié)果進(jìn)行預(yù)測,雙向LSTM對詞序列分別采取正序和逆序兩個(gè)方向進(jìn)行遞歸,如圖3所示。進(jìn)行正向計(jì)算時(shí),隱層t時(shí)刻的狀態(tài)與t-1時(shí)刻相關(guān),而反向計(jì)算時(shí),又與t+1時(shí)刻狀態(tài)相關(guān),最終將兩個(gè)向量拼接得到最終的隱層表示,因此可以更好地利用上下文信息。
圖3 雙向LSTM(BiLSTM)模型
CRF模型是一種基于條件概率分布的無向圖模型,它可以在給定輸入觀測序列的前提下,輸出最大概率的預(yù)測序列,常用在序列標(biāo)注任務(wù)中。
P表示BiLSTM的輸出,其中n為序列長度,k表示不同的標(biāo)簽個(gè)數(shù)。P為n×k的矩陣,Pi,j表示矩陣中第i行第j列的概率。那么,對于給定序列X={x1,x2,.…,xn},和預(yù)測標(biāo)注序列Y={y1,y2,.…,yn},該模型可定義為
(2)
Ai,j表示由標(biāo)簽i到j(luò)的狀態(tài)轉(zhuǎn)移概率,y0,yn為句子開始和結(jié)束的標(biāo)記,由此,矩陣A是一個(gè)維度為k+2的方陣。最后通過softmax計(jì)算得到標(biāo)簽序列Y的概率
(3)
訓(xùn)練中,標(biāo)記序列的似然函數(shù)
(4)
(5)
分詞及詞性標(biāo)注采用中科院開發(fā)的ICTCLAS工具進(jìn)行處理,詞向量采用Word2vec工具進(jìn)行訓(xùn)練。根據(jù)Ratinov[11]和Lample[12]的研究,語料庫采用效果更好的“BIOES”策略進(jìn)行手工標(biāo)注。其中,B表示實(shí)體的開始,I表示實(shí)體內(nèi)部,E表示實(shí)體結(jié)尾,O表示非實(shí)體部分,S表示該詞獨(dú)立成為實(shí)體。
對照組患者采用氯氮平片聯(lián)合碳酸鋰進(jìn)行治療:患者開始服用的劑量為每天50mg,14天內(nèi)增加藥物劑量至每天150mg到300mg之間,具體根據(jù)患者病情狀況進(jìn)行調(diào)整。整個(gè)治療過程中,氯氮平片的平均劑量為每天(210±31.5)mg,碳酸鋰的平均劑量為每天1g。
為了更好地表達(dá)不同實(shí)體的特征,本文將命名實(shí)體類別進(jìn)行了細(xì)分類,最終將位置、部隊(duì)、人員、物品、數(shù)量五大類細(xì)分為13個(gè)小類進(jìn)行標(biāo)注,標(biāo)注方法如表1所示。
表1 實(shí)體類別及標(biāo)注方法
例如對句子[合成預(yù)備隊(duì)由合成第2營編成,配置在王莊(22,34)東北100米。]經(jīng)預(yù)處理和實(shí)體標(biāo)注后,得到標(biāo)注序列如表2所示。
表2 訓(xùn)練集樣本示例
CRF模型在序列標(biāo)注任務(wù)中效果較好,而在神經(jīng)網(wǎng)絡(luò)中,通常在BiLSTM隱層輸出的基礎(chǔ)上,用CRF層代替softmax方法來計(jì)算上下文的聯(lián)合概率,從而得到最優(yōu)的預(yù)測序列。本文在此基礎(chǔ)上,利用CNN對分詞后的字符級向量特征進(jìn)行提取,從而在詞嵌入階段,更好地表示詞的語義信息。訓(xùn)練過程中,優(yōu)化器采用SGD,學(xué)習(xí)率0.1。同時(shí),為減輕過擬合問題,在BiLSTM的輸入和輸出中使用Dropout,取值0.5。
模型訓(xùn)練完畢后,通過測試集進(jìn)行識(shí)別效果的測評。采用召回率R、精確率P和F值3個(gè)指標(biāo)評判模型的性能,計(jì)算方法如下:
(6)
(7)
(8)
收集作戰(zhàn)文書100篇,通過分詞和手工標(biāo)注得到作戰(zhàn)文書語料庫,共計(jì)830句、39 347字。按照3:1的比例,隨機(jī)選擇207句作為測試集,其余作為訓(xùn)練集。
1)識(shí)別結(jié)果及模型對比分析
表3為CNN-BiLSTM-CRF模型實(shí)驗(yàn)結(jié)果,考慮到實(shí)體類別較多,因此僅選取幾個(gè)具有代表性數(shù)據(jù)進(jìn)行分析。
表3 CNN-BiLSTM-CRF作戰(zhàn)文書命名實(shí)體識(shí)別結(jié)果
得分相對較高的實(shí)體類別主要有編制、地名、坐標(biāo)、時(shí)間、職務(wù)等。首先,這類實(shí)體大多以相對規(guī)范的格式出現(xiàn),其次,地名實(shí)體一般緊鄰坐標(biāo)實(shí)體,編制實(shí)體通常以“旅、團(tuán)、營”等字結(jié)尾,這些實(shí)體的邊界特征比較明顯。作戰(zhàn)編成、姓名、武器裝備等類別得分較低,可能是由于該類別的訓(xùn)練語料不足所導(dǎo)致。
表4為不同模型的對比實(shí)驗(yàn)結(jié)果。首先,BiLSTM模型的精確率為89.49%,召回率為88.30%,F值為88.89%,F值比單向LSTM模型高出了2.91%??梢?雙向LSTM由于能夠更好地利用上下文信息,效果要優(yōu)于單向LSTM網(wǎng)絡(luò)。其次,增加CRF層后,BiLSTM的精確率、召回率、F值分別提高了2.32%、1.83%和2.07%。這是由于CRF模塊能夠通過聯(lián)合概率的計(jì)算,更加充分地利用標(biāo)簽的相鄰信息,比如“155自行加榴炮第1營”這類長度較大的編制實(shí)體在增加CRF后的模型可以正確識(shí)別,而在LSTM中則識(shí)別錯(cuò)誤。因此,通過增加CRF層來計(jì)算BiLSTM隱層輸出的聯(lián)合概率,可以一定程度上解決長距離實(shí)體的識(shí)別問題。為使詞向量能夠更好地表示語義信息,使用獨(dú)熱編碼對詞性(POS)進(jìn)行向量表示,將詞性向量與詞向量進(jìn)行拼接作為輸入。結(jié)果顯示,增加詞性特征的模型F值提高了1.25%。并在此基礎(chǔ)上,通過CNN對字符級特征進(jìn)行提取,由于字符級向量對于中英混合、包含特殊符號(hào)、邊界模糊等實(shí)體的特征獲取能夠更加充分,提升了如武器裝備類別的實(shí)體識(shí)別效果,精確率、召回率和F值最終分別達(dá)到94.40%、93.43%和93.91%。
表4 各模型對比實(shí)驗(yàn)結(jié)果
2)標(biāo)注策略的影響
作戰(zhàn)文書中,對于編制、作戰(zhàn)編成等類別的實(shí)體,常常出現(xiàn)復(fù)雜的嵌套組合現(xiàn)象。如:“集團(tuán)軍炮兵群/ORG”中,“集團(tuán)軍”是編制實(shí)體,“炮兵群”為作戰(zhàn)編成實(shí)體。因此,本文對于長度最小的可獨(dú)立成為實(shí)體的序列進(jìn)行標(biāo)注,即“集團(tuán)軍/ORG-BZ 炮兵群/ORG-BC”,這樣可以一定程度上避免對組合實(shí)體的錯(cuò)誤識(shí)別。通過模型預(yù)測出標(biāo)注序列后,再根據(jù)預(yù)先設(shè)定的規(guī)則對組合實(shí)體進(jìn)行連接,從而得到最終的實(shí)體名。根據(jù)這個(gè)思路,本文將最初的位置、部隊(duì)、人員、武器裝備及時(shí)間共5個(gè)類別的實(shí)體,細(xì)分成13類。將位置細(xì)分地名、坐標(biāo)、方位、作戰(zhàn)地域4類,部隊(duì)細(xì)分編制、編成和機(jī)構(gòu)部門3類,人員細(xì)分職務(wù)、姓名2類,數(shù)字細(xì)分時(shí)間、數(shù)、量3類。
表5 不同標(biāo)注語料結(jié)果對比
本文對相同的生語料,分別按5類和13類進(jìn)行手工標(biāo)注,得到兩個(gè)內(nèi)容相同但實(shí)體標(biāo)注類別不同的樣本集,并使用CNN-BiLSTM-CRF對兩個(gè)樣本集進(jìn)行對比實(shí)驗(yàn),結(jié)果如表5所示。細(xì)分類的語料集對模型性能有不小的提升,分析主要有兩方面原因:一方面,由于對實(shí)體類別進(jìn)行了細(xì)分類,使得實(shí)體特征更加突出;另一方面,這樣的標(biāo)注方法可以充分利用鄰近實(shí)體間的語義關(guān)系,對于嵌套組合現(xiàn)象突出的實(shí)體識(shí)別效果有所提升。
本文針對作戰(zhàn)文書的命名實(shí)體識(shí)別,使用CNN獲取字符級特征,并將字符級特征向量、詞性向量拼接到詞向量中,進(jìn)而構(gòu)建了CNN-BiLSTM-CRF模型,在自建語料上取得了較好的效果,結(jié)論如下:
1)傳統(tǒng)的統(tǒng)計(jì)機(jī)器學(xué)習(xí)中,模型的效果非常依賴人工特征的選取,而選取合適的特征需要豐富的經(jīng)驗(yàn)和大量的人工處理,導(dǎo)致成本較高;并且,由于需要根據(jù)特定任務(wù)選取不同的特征,泛化能力較弱。因此,采用神經(jīng)網(wǎng)絡(luò)模型可以自動(dòng)學(xué)習(xí)到特征信息,代替了人工選取,在語料充足的情況下,能夠獲得更好的效果。
2)通過CNN模塊,對字符級向量進(jìn)行卷積操作,提高了原BiLSTM-CRF模型對于包含特殊字符、中英混合等實(shí)體的識(shí)別效果;另外,將詞性向量作為外部特征,與字符級向量一起拼接到詞向量中,可以一定程度表達(dá)出更多的語義信息,對于模型性能的提升有一定幫助。
3)細(xì)分類的標(biāo)注策略,能夠更好地表現(xiàn)實(shí)體特征,一定程度減輕數(shù)據(jù)稀疏問題;同時(shí),還能更充分的表達(dá)相鄰實(shí)體間的語義關(guān)系,從而提高模型的整體性能。