金浩哲,董寶良,楊誠(chéng)
(華北計(jì)算技術(shù)研究所系統(tǒng)四部,北京 100083)
軍事命名實(shí)體識(shí)別是軍事信息抽取的一個(gè)基礎(chǔ)而重要的環(huán)節(jié),用于從軍事文本中檢測(cè)相關(guān)軍事實(shí)體,并將其分類為預(yù)先定義的類別,如人物、武器、地點(diǎn)、任務(wù)和組織等,從而可以從原始數(shù)據(jù)中提取有價(jià)值的信息。
目前,軍事命名實(shí)體識(shí)別在知識(shí)圖的構(gòu)建、智能問答系統(tǒng)、信息檢索等方面有著廣泛的應(yīng)用[1-2]。在軍事命名實(shí)體識(shí)別的過程中,主要有三個(gè)難點(diǎn):1)軍事領(lǐng)域?qū)嶓w存在大量的嵌套、組合、縮寫等形式。并且由于軍事文本沒有固定的表達(dá)模式,軍方也未對(duì)全部?jī)?nèi)容進(jìn)行統(tǒng)一規(guī)范,難以構(gòu)建全面合理的實(shí)體特征;2)現(xiàn)有的分詞模型主要適用于通用領(lǐng)域,軍事領(lǐng)域的分詞準(zhǔn)確率不高,也缺少專業(yè)軍事術(shù)語的相關(guān)數(shù)據(jù)。即使加入軍隊(duì)語言詞典也難以囊括所有軍事實(shí)體;3)目前還沒有公開權(quán)威的軍事文本語料庫(kù),而自構(gòu)建的語料庫(kù)數(shù)據(jù)數(shù)量、分布及準(zhǔn)確性也有待提高。文中以軍事領(lǐng)域文本為研究主體,通過BERT(Bidirectional Encoder Representations from Transformers)模型進(jìn)行詞向量的構(gòu)建,并結(jié)合BiLSTM(Bidirectional Long Short-Term Memory)與CRF(Conditional Random Fields)模型和注意力機(jī)制(Attention,ATT),構(gòu)建BERT-BiLSTM-ATT-CRF 模型,完成軍事命名實(shí)體識(shí)別的任務(wù)。
命名實(shí)體識(shí)別(Name Entity Recognition,NER)的概念最早是在Message Understanding Conference-6上提出的,對(duì)NER 的相關(guān)研究工作至今已經(jīng)進(jìn)行了20 多年。由于漢語命名實(shí)體識(shí)別研究起步較晚且漢語固有的特殊性及其結(jié)構(gòu)的復(fù)雜性,難度大于英語命名實(shí)體識(shí)別。目前,NER 的方法主要包括基于規(guī)則、基于機(jī)器學(xué)習(xí)[3]和基于神經(jīng)網(wǎng)絡(luò)[4-5]的方法。
NER 研究的初期主要是基于規(guī)則的方法,該方法由語言專家人工構(gòu)建規(guī)則,并為每條規(guī)則分配權(quán)重,然后根據(jù)實(shí)體和規(guī)則的符合性來確定類型。然而這種方法依賴于大量手工設(shè)定的識(shí)別規(guī)則,很難對(duì)語料進(jìn)行全面覆蓋。因此,后續(xù)的研究重心逐漸轉(zhuǎn)移到基于統(tǒng)計(jì)機(jī)器學(xué)習(xí)的方法上。目前常用的統(tǒng)計(jì)模型包括支持向量機(jī)[6]、隱馬爾可夫[7]和CRF[8]等。單赫源[9]等提出了一種小粒度策略下基于條件隨機(jī)場(chǎng)的軍事命名實(shí)體識(shí)別方法。運(yùn)用小粒度策略,結(jié)合手工構(gòu)建的軍事命名實(shí)體標(biāo)注語料進(jìn)行建模,采用CRF 模型識(shí)別出不可再分的小粒度,再通過對(duì)小粒度的組合得到完整的軍事實(shí)體。
隨著深度學(xué)習(xí)的發(fā)展,研究人員逐漸將深度學(xué)習(xí)方法應(yīng)用到NER 的任務(wù)中,從而避免了繁瑣的特征工程,基于深度學(xué)習(xí)的方法也逐漸成為了NER 任務(wù)的主流方法。高學(xué)攀[10]等提出一種基于BiLSTMCRF 的實(shí)體識(shí)別方法,使用詞嵌入方法自動(dòng)學(xué)習(xí)中文字符的分布式表示作為模型輸入,旨在識(shí)別軍事文本中的人名、軍用地名、軍事機(jī)構(gòu)名、武器裝備、設(shè)施目標(biāo)、部隊(duì)番號(hào)等軍事命名實(shí)體。李麗雙[11]等提出了一種基于CNN-BiLSTM-CRF 的作戰(zhàn)文書命名實(shí)體識(shí)別方法,分析命名實(shí)體在不同分類標(biāo)注情況下,對(duì)模型性能所產(chǎn)生的影響,取得了較好的準(zhǔn)確率與召回率。此外,還有部分研究將LSTM 神經(jīng)網(wǎng)絡(luò)替換為Gate Recurrent Unit 網(wǎng)絡(luò)[12],或者使用注意力機(jī)制[13-14],均在一定程度提升了模型識(shí)別的準(zhǔn)確率。
為了增強(qiáng)深度學(xué)習(xí)在特征提取方面的能力,Devlin[15]等基于Transformer提出了BERT模型,它是一個(gè)預(yù)訓(xùn)練的語言表征模型,采用新的MLM(Masked Language Model),以生成深度的雙向語言表征,該模型發(fā)表時(shí)在11 個(gè)自然語言處理領(lǐng)域獲得SOTA(Satte-Of-The-Art)的結(jié)果。BERT 模型極大地緩解了傳統(tǒng)深度學(xué)習(xí)依賴數(shù)據(jù)集的不足,對(duì)于小規(guī)模訓(xùn)練語料和序列標(biāo)注任務(wù)有良好的適應(yīng)性和處理能力。屈倩倩[16]等提出了一種基于BERT-BiLSTMCRF 的中醫(yī)文本命名實(shí)體識(shí)別,通過BERT 模型進(jìn)行詞向量的構(gòu)建,并結(jié)合BiLSTM 與CRF 模型完成生物醫(yī)學(xué)命名實(shí)體識(shí)別的任務(wù)。
近年來,將傳統(tǒng)的命名實(shí)體識(shí)別問題轉(zhuǎn)化為序列標(biāo)注任務(wù)是漢語NER 深度學(xué)習(xí)模型的基本思想。BERT-BiLSTM-ATT-CRF 模型結(jié)構(gòu)如圖1 所示,模型整體由4 個(gè)模塊組成,分別是BERT 預(yù)訓(xùn)練模型、BiLSTM 模塊、注意力機(jī)制以及CRF 層。首先,通過BERT 層用基于上下文信息的詞向量表示標(biāo)注語料庫(kù),然后將詞向量輸入BiLSTM 層進(jìn)一步進(jìn)行訓(xùn)練,并通過注意力機(jī)制獲得句子中的重要語義特征。最后,對(duì)輸出結(jié)果進(jìn)行CRF 解碼,得到最優(yōu)句子級(jí)別的標(biāo)簽序列,然后對(duì)序列中的每個(gè)實(shí)體進(jìn)行提取分類,完成軍事文本實(shí)體識(shí)別任務(wù)。
圖1 BERT-BiLSTM-ATT-CRF 模型結(jié)構(gòu)
在自然語言處理領(lǐng)域中,采用詞嵌入方法將詞映射到低維空間中,有效地解決了文本特征稀疏的問題,使語義空間中的相似詞的距離更近。傳統(tǒng)的詞向量生成方法,如one hot、word2vec、Elmo[17]等預(yù)訓(xùn)練的語言模型大多不依賴于詞的上下文信息,難以準(zhǔn)確表示詞的多義性。而BERT 模型可以根據(jù)單詞的上下文信息以無監(jiān)督的方式表示單詞,可以有效地解決一詞多義的表示問題。
BERT 模型以雙向Transformer 神經(jīng)網(wǎng)絡(luò)作為編碼器,并利用大規(guī)模文本數(shù)據(jù)的自監(jiān)督性質(zhì)構(gòu)建了兩個(gè)預(yù)訓(xùn)練任務(wù),分別是MLM 和NSP(Next Sentence Prediction)。MLM 是BERT 能夠不受單向語言模型限制的原因。簡(jiǎn)單來說就是隨機(jī)將句子中15%的詞語進(jìn)行遮蓋,結(jié)合上下文的語句預(yù)測(cè)出遮蓋處的原有詞語,很好地解決了一詞多義的問題。NSP 通過將成對(duì)的句子作為輸入來預(yù)測(cè)兩個(gè)句子是否連在一起,從而理解句子間的前后關(guān)系。
BERT 模型將文本中各個(gè)字的詞向量作為模型的輸入,一般利用word2vec 算法將文字轉(zhuǎn)換為字向量作為初始值;模型輸出則是輸入各字對(duì)應(yīng)的融合全文語義信息后的向量。
如圖2 所示,BERT 模型同時(shí)將字向量、句子向量和位置向量進(jìn)行加和作為模型輸入。句子向量的取值在模型訓(xùn)練過程中自動(dòng)生成,用于刻畫句子的全局語義信息,并與單字的語義信息相融合;位置向量用于區(qū)分不同位置的字所攜帶語義信息的差異。
圖2 BERT 詞向量
LSTM 是一種特殊的循環(huán)神經(jīng)網(wǎng)絡(luò),其網(wǎng)絡(luò)結(jié)構(gòu)如圖3 所示。
圖3 LSTM網(wǎng)絡(luò)結(jié)構(gòu)
與循環(huán)神經(jīng)網(wǎng)絡(luò)不同的是,LSTM 通過遺忘門、輸入門、輸出門來遺忘句子中需要拋棄的信息并加入新信息,從而更好地提取文本中上下文之間的關(guān)系。LSTM 層的主要結(jié)構(gòu)的計(jì)算公式如下表示:
式中,σ是sigmoid 激活函數(shù),xt為輸入向量,ht為輸出向量,ft、it、ct和ot分別代表遺忘門、輸入門、記憶單元和輸出門,w是參數(shù)矩陣,b是偏置向量。
但LSTM 模型忽略了當(dāng)前信息的下文信息,為了充分地利用文本中的上文信息,提出了BiLSTM 模型。BiLSTM 模型由一個(gè)前向LSTM 和一個(gè)后向LSTM 模型組成。前向LSTM 處理正向的序列數(shù)據(jù),后向LSTM 處理反向的序列數(shù)據(jù)。對(duì)于每個(gè)時(shí)刻,來自前向LSTM 的隱藏狀態(tài)向量和來自后向LSTM 的隱藏狀態(tài)向量被組合,以形成最終輸出。
注意力機(jī)制借鑒人類的視覺注意力機(jī)制,通過快速掃描獲得需要重點(diǎn)關(guān)注的目標(biāo)區(qū)域。近年來,注意機(jī)制被廣泛應(yīng)用于圖像識(shí)別、自然語言理解等領(lǐng)域,以打破傳統(tǒng)編碼器-解碼器結(jié)構(gòu)的局限性,從而從輸入序列中提取盡可能多的特征信息。為了提取到句子中重要的特征信息,該模型將BiLSTM 與注意力機(jī)制結(jié)合,深入捕捉詞匯中的語義信息。在NER 任務(wù)中,句子中每個(gè)漢字的語義對(duì)該任務(wù)的影響并不相同,該機(jī)制通過為每個(gè)字分配不同的權(quán)重,從而可以自動(dòng)聚焦于在實(shí)體識(shí)別中起到?jīng)Q定性作用的文字。通過捕獲輸入序列中的重要語義信息,提高模型的整體效果。
文本信息中的標(biāo)注序列存在依賴關(guān)系。以BIO標(biāo)注為例,一個(gè)合法的實(shí)體的標(biāo)識(shí)可能會(huì)是“B-W,I-W,I-W”。如果標(biāo)識(shí)過程不受控制,可能會(huì)出現(xiàn)“B-P,I-W”的非法標(biāo)識(shí),然而BiLSTM 層主要關(guān)注輸入序列的上下文信息和句子特征,無法學(xué)習(xí)這些注釋規(guī)則。
CRF 層在預(yù)測(cè)標(biāo)簽時(shí)將標(biāo)簽之間的依賴信息轉(zhuǎn)化為約束,以保證預(yù)測(cè)的準(zhǔn)確性。對(duì)于給定的輸入x,輸出預(yù)測(cè)結(jié)果y的得分計(jì)算表示如下:
式中,Zi,yi表示字符i是標(biāo)簽yi的概率,Ayi,yi+1表示標(biāo)簽從yi轉(zhuǎn)移到y(tǒng)i+1的概率。然后使用softmax計(jì)算歸一化概率:
在最終解碼階段,使用Viterbi 算法獲得所有序列中得分最高的標(biāo)記序列,并將全局最優(yōu)序列作為軍事命名實(shí)體識(shí)別的最終結(jié)果,完成模型訓(xùn)練。
由于目前沒有統(tǒng)一的軍事數(shù)據(jù)集,故使用Scrapy框架從互聯(lián)網(wǎng)爬取公開軍事文本數(shù)據(jù),來源包括環(huán)球軍事網(wǎng)、新浪軍事、中國(guó)軍網(wǎng)等。獲得文本語料后,軍事領(lǐng)域相關(guān)人員通過人工對(duì)良莠不齊的數(shù)據(jù)進(jìn)行篩選,去除不符合主題或相關(guān)性不大的語句,最終獲得共計(jì)3 628 條語句。依托以上語料將實(shí)體類別分為五大類,分別為軍事人物、軍事地點(diǎn)、組織機(jī)構(gòu)、武器裝備、軍事事件。
使用YEDDA 對(duì)實(shí)體進(jìn)行人工標(biāo)注。對(duì)于以上數(shù)據(jù)采用BIO 標(biāo)注法,即“B-實(shí)體類別”表示實(shí)體的第一個(gè)字,“I-實(shí)體類別”表示實(shí)體的后續(xù)內(nèi)容,“O”表示非實(shí)體。以上五類數(shù)據(jù)經(jīng)過BIO 標(biāo)注后共分為11 類:B-PER,I-PER,B-LOC,I-LOC,B-ORG,I-ORG,B-WPN,I-WPN,B-EVT,I-EVT,O。具體標(biāo)注方案如表1 所示。
表1 軍事實(shí)體標(biāo)注方案
實(shí)驗(yàn)采用準(zhǔn)確率(P)、召回率(R)和F1 值(Fscore)來對(duì)實(shí)驗(yàn)結(jié)果進(jìn)行評(píng)價(jià),其中F1 值能夠體現(xiàn)整體測(cè)試效果。
該實(shí)體識(shí)別模型實(shí)驗(yàn)基于Python3.6 環(huán)境以及Tensorflow1.15 版本下進(jìn)行的。其中最大句子長(zhǎng)度設(shè)置為128,batchsize 為128,學(xué)習(xí)率為0.001,epoch 為60,dropout 為0.2,BERT 模型為谷歌發(fā)布的Bert-Base-Chinese 版本,未對(duì)其參數(shù)進(jìn)行修改。
為了驗(yàn)證實(shí)驗(yàn)的有效性,在實(shí)驗(yàn)中加入CRF,BiLSTM-CRF,CNN-BiLSTM-CRF 三種模型進(jìn)行對(duì)比實(shí)驗(yàn),三組模型使用word2vec 進(jìn)行詞向量構(gòu)建。實(shí)驗(yàn)的最終結(jié)果如表2 所示。
表2 不同模型最終結(jié)果對(duì)比
實(shí)驗(yàn)結(jié)果表明,相較于CRF 模型,BiLSTM 結(jié)構(gòu)可以更好地提取出文本中的特征信息,F(xiàn)1 值提高了11.54%;在BiLSTM 結(jié)構(gòu)前加上CNN 模型使得模型的識(shí)別效果在三個(gè)維度上均略有提升。BERT-BiLSTMATT-CRF 通過BERT 預(yù)訓(xùn)練模型構(gòu)建的詞向量更有效地保證了軍事實(shí)體的特征提取,相比于BiLSTMCRF 與CNN-BiLSTM-CRF 模型的F1 值分別提升了4.83%與4.23%。實(shí)驗(yàn)結(jié)果表明,BERT-BiLSTM-ATTCRF 模型在軍事領(lǐng)域?qū)嶓w識(shí)別中準(zhǔn)確度較高,可以運(yùn)用到相關(guān)領(lǐng)域之中?;贐ERT-BiLSTM-ATTCRF 模型對(duì)各類別實(shí)體識(shí)別效果如表3 所示。
表3 各類別實(shí)體識(shí)別效果
針對(duì)傳統(tǒng)方法不能充分表達(dá)軍事文本語義特征信息的問題,文中提出了一種基于BE-RT-BiLSTMATT-CRF 模型的軍事命名實(shí)體識(shí)別方法。該方法使用BERT 模型根據(jù)文本的特征表達(dá)構(gòu)建出詞向量,并通過BiLSTM-ATT-CRF 來提取文本中的特征信息生成全局最優(yōu)序列,最終完成軍事命名實(shí)體識(shí)別任務(wù)。實(shí)驗(yàn)結(jié)果表明,該模型在軍事領(lǐng)域命名實(shí)體識(shí)別任務(wù)中能夠取得較好的效果,準(zhǔn)確率和召回率都高于基準(zhǔn)方法。未來,將擴(kuò)展軍事命名實(shí)體語料庫(kù),整合更多文本數(shù)據(jù)資源,增加更多實(shí)體類型,進(jìn)一步提高軍事命名實(shí)體識(shí)別的效率。