魏明飛,潘冀,陳志敏,梅小華,石會鵬
(1.中國科學(xué)院大學(xué) 計算機(jī)科學(xué)與技術(shù)學(xué)院,北京 100049;2.國家空間科學(xué)中心,北京 100190;3.國家無線電監(jiān)測中心,北京 100037;4.華僑大學(xué) 信息科學(xué)與工程學(xué)院,福建 廈門 361021)
為了應(yīng)對新形勢下的航天競爭,相關(guān)國家的航天機(jī)構(gòu),諸如美國國家航空航天局(NASA)、歐洲航天局(ESA)、俄羅斯聯(lián)邦航天局(Roscosmos)等都在加快做航天情報收集工作.航天情報領(lǐng)域并非熱門領(lǐng)域,目前針對此領(lǐng)域的信息處理方法研究較少,所以沒有統(tǒng)一的處理范式.傳統(tǒng)情報領(lǐng)域的信息抽取任務(wù)一直是研究熱點(diǎn),例如金融[1-3]、軍事[4-5]等領(lǐng)域的情報信息抽取已經(jīng)有了比較成熟的研究.
深度學(xué)習(xí)技術(shù)的出現(xiàn),使自然語言處理(natural language processing,NLP)技術(shù)快速發(fā)展.命名實(shí)體識別(named entity recognition,NER)是自然語言處理領(lǐng)域的一個重要子任務(wù),同時也是文本信息抽取任務(wù)的關(guān)鍵技術(shù).作為信息抽取的關(guān)鍵技術(shù)之一,基于深度學(xué)習(xí)的命名實(shí)體識別技術(shù)在醫(yī)療[6]、金融[7]和新聞媒體等諸多領(lǐng)域都得到了成功的應(yīng)用.但是,在航天情報領(lǐng)域卻缺乏此類研究,主要是因為航天情報實(shí)體識別(aerospace intelligence entity recognition,AIER)面臨專業(yè)性強(qiáng)、消歧困難和缺乏標(biāo)注語料等3個問題,而缺乏標(biāo)注語料是AIER任務(wù)面臨的最大難題.標(biāo)注語料庫的方式按標(biāo)注者的不同,可以分類為人工標(biāo)注和自動標(biāo)注.當(dāng)前,語料庫主要是依靠人工進(jìn)行標(biāo)注[8-11].馮鸞鸞等[12]在其研究中提出一種人工輔助模型標(biāo)注的標(biāo)注框架,并標(biāo)注了國防領(lǐng)域的技術(shù)與術(shù)語語料庫.自動標(biāo)注語料庫的困難之處在于標(biāo)注規(guī)則的構(gòu)建[13-14].自從深度學(xué)習(xí)技術(shù)出現(xiàn)后,神經(jīng)網(wǎng)絡(luò)開始被用來解決命名實(shí)體識別問題,如卷積神經(jīng)網(wǎng)絡(luò)(CNN)、循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)[15-16]和RNN變體神經(jīng)網(wǎng)絡(luò),以及這些網(wǎng)絡(luò)結(jié)合Attention機(jī)制的復(fù)雜神經(jīng)網(wǎng)絡(luò)等都成功地應(yīng)用到了NER任務(wù)上[17-21].
預(yù)訓(xùn)練模型已經(jīng)被證明可以將內(nèi)部的語言模型應(yīng)用到下游的NLP任務(wù)中,研究人員將預(yù)訓(xùn)練模型框架應(yīng)用到許多NLP任務(wù)中,可以大幅度提升其性能.在標(biāo)注數(shù)據(jù)缺乏時,預(yù)訓(xùn)練模型顯的尤為有用.基于此,本文構(gòu)建基于預(yù)訓(xùn)練模型的航天情報識別系統(tǒng),將預(yù)訓(xùn)練模型的語言表示能力與條件隨機(jī)場(conditional random fields,CRF)的結(jié)構(gòu)化預(yù)測能力相結(jié)合,構(gòu)建BERT(bidirectional encoder representation from transformers)-CRF模型,并將其應(yīng)用到AIER任務(wù)中.
知識數(shù)據(jù)的來源包括記錄航天事件的數(shù)據(jù)庫,互聯(lián)網(wǎng)上整理的航天事件記錄,《航天科學(xué)技術(shù)敘詞表》,互聯(lián)網(wǎng)百科中關(guān)于航天的詞條和詞條關(guān)聯(lián)的短文描述,航天類科普、新聞、技術(shù)類文章.按照數(shù)據(jù)類型劃分,有結(jié)構(gòu)化數(shù)據(jù)、半結(jié)構(gòu)化數(shù)據(jù)和非結(jié)構(gòu)化數(shù)據(jù).其中數(shù)據(jù)庫中的數(shù)據(jù)是結(jié)構(gòu)化數(shù)據(jù),互聯(lián)網(wǎng)航天事件記錄和《航天科學(xué)技術(shù)敘詞表》為半結(jié)構(gòu)化數(shù)據(jù),其余來源都是非結(jié)構(gòu)化數(shù)據(jù).對于結(jié)構(gòu)化數(shù)據(jù)可以直接使用轉(zhuǎn)換工具進(jìn)行轉(zhuǎn)換,半結(jié)構(gòu)化數(shù)據(jù)可以用正則提取的方法提取知識.非結(jié)構(gòu)化數(shù)據(jù)選用智能化算法進(jìn)行知識的提取[8].
智能化算法提取模塊主要包括兩個部分:一是TF-IDF等算法提取主題詞,二是通用領(lǐng)域?qū)嶓w識別算法提取實(shí)體(選擇性使用識別結(jié)果,在文中僅保留識別的組織結(jié)構(gòu)實(shí)體).
假設(shè)航天情報信息抽取的目的信息可以被歸納為N個類別,等同于AIER任務(wù)中要抽取的N類實(shí)體,即得到實(shí)體標(biāo)簽集合V,V的大小為N.假設(shè)實(shí)體集合為E,E為無限集.E和V存在映射關(guān)系,對于E中的任一元素e,V中存在唯一元素v與之對應(yīng),v=f(e),即f:EV.AIER的任務(wù)可以描述為在給定數(shù)據(jù)集D中,識別所有實(shí)體e,e∈E,并為其標(biāo)注對應(yīng)的標(biāo)簽v,其中v=f(e).
E是無限集,人為構(gòu)建的領(lǐng)域知識庫無法囊括E中的所有元素.假設(shè)在構(gòu)建知識庫過程中,發(fā)現(xiàn)的所有實(shí)體,構(gòu)成實(shí)體集合Ekb,則Ekb?E.同時,將標(biāo)簽集合V和映射關(guān)系f也納入知識庫,最終構(gòu)建航天情報領(lǐng)域知識庫KBaie.KBaie本質(zhì)是包含實(shí)體、實(shí)體標(biāo)簽的二元組的集合,KBaie集合中任一元素為〈v,e〉,其中e∈Ekb,v=f(e).融合多源異構(gòu)知識建立知識庫的方法流程,如圖1所示.
圖1 航天鄰域知識庫的構(gòu)建
數(shù)據(jù)集的原始語料來源包括航天情報文檔、專業(yè)航天網(wǎng)站文章和相關(guān)航天論壇文章,其專業(yè)性程度依次遞減.
將實(shí)體識別的問題當(dāng)作序列標(biāo)注問題來解決.對于句子S,S={s1,s2,…,sn}.標(biāo)注模型的任務(wù)是找到標(biāo)注序列T,T={t1,t2,…,tn}.T不唯一,文中采用啟發(fā)式規(guī)則選取合適的標(biāo)注序列T.
標(biāo)注AIER數(shù)據(jù)集的第一步是構(gòu)建實(shí)體詞典.將KBaie內(nèi)的所有實(shí)體集合Ekb,存入前綴樹中.前綴樹(trie tree)又名字典樹,是字符串處理任務(wù)中常用到的數(shù)據(jù)結(jié)構(gòu).前綴樹可以將詞典存入樹結(jié)構(gòu)中,其邊用來存儲字符信息,節(jié)點(diǎn)記錄詞匯的終止信息,這樣存儲的好處是可以節(jié)省空間,同時方便查詢.從前綴樹的結(jié)構(gòu)和原理可以看出,其本質(zhì)就是一個確定有限狀態(tài)自動機(jī).在本研究中前綴樹被用來存儲實(shí)體詞典.
標(biāo)注AIER數(shù)據(jù)集的第二步是有詞典匹配,核心是匹配算法.最大匹配法(maximum matching,MM)是一種有詞典匹配算法,根據(jù)匹配初始位置的不同分為正向最大匹配(forward maximum matching,F(xiàn)MM),逆向最大匹配(backward maximum matching,BMM).文中選用的匹配算法是基于兩種匹配算法的啟發(fā)式匹配算法.假設(shè)標(biāo)注句子S,F(xiàn)MM輸出標(biāo)注序列T1,BMM輸出標(biāo)注序列T2,假設(shè)T1中的實(shí)體集合為E1.E1的實(shí)體個數(shù)為c1,包含的總字?jǐn)?shù)為w1,定義衡量因子m=w1/c1.匹配算法會生成若干種可能的標(biāo)注序列,選擇所有可能的標(biāo)注序列中衡量因子m最大的那一個作為標(biāo)注結(jié)果.算法流程如算法1.
算法1Heuristic MM
Input: 原始語料D和KBaie
1.Result ={};
2.While(D非空):
3.Get s from D
4.t1,…,tn=MM(s);
5.m=get M(t)
7.Result append t
8.End while;
Output: Result.
AIER任務(wù)可以抽象成對航天情報中的句子進(jìn)行序列標(biāo)注.通俗來講就是為句子中的每個字符標(biāo)注一個實(shí)體標(biāo)簽值.單個實(shí)體由一個字符或多個字符組成,所以在句子的位置可能占據(jù)一個字符,也可能橫跨多個字符.文中句子標(biāo)注格式選擇BIO標(biāo)注格式.文中的實(shí)體標(biāo)簽集合為V,對于句子中一個實(shí)體的開始位置,為其標(biāo)注B-e,對于實(shí)體的其他位置,為其標(biāo)注I-e,e∈V,句子中的字符不在實(shí)體內(nèi),則為其標(biāo)注為O.文中標(biāo)注的AIER數(shù)據(jù)集符合以上描述的標(biāo)注方法.AIER數(shù)據(jù)集的整體標(biāo)注流程,如圖2所示.
圖2 AIER數(shù)據(jù)集標(biāo)注流程
由此,最終將標(biāo)注完成的數(shù)據(jù)集按時間年份劃分為訓(xùn)練集和測試集.其中訓(xùn)練集是較早的年份,測試集是最新的年份.這樣做的目的是保證訓(xùn)練集中盡可能少地包含測試集里的信息.
預(yù)訓(xùn)練模型使用超大規(guī)模語料進(jìn)行訓(xùn)練,為下游任務(wù)提供精準(zhǔn)的詞向量表示.從2013年Mikolov等提出word2vec開始,使用無監(jiān)督學(xué)習(xí)算法從大規(guī)模語料學(xué)習(xí)精準(zhǔn)詞向量表示成為NLP的研究熱點(diǎn),如ELMo,一種堆疊Bi-LSTM的模型,能夠生產(chǎn)上下文相關(guān)的詞向量表示.在NLP任務(wù)中,精準(zhǔn)的詞向量表示能夠大幅提升下游任務(wù)的性能.預(yù)訓(xùn)練模型除了能夠?qū)W習(xí)通用語言表達(dá)形式,還具有更好的泛化性能,即預(yù)訓(xùn)練模型可以遷移到其他NLP任務(wù)上.同時,預(yù)訓(xùn)練模型可以很大程度地減輕深層網(wǎng)絡(luò)經(jīng)常遇到的過擬合問題.
BERT(bidirectional encoder representation from transformers)作為最出名的預(yù)訓(xùn)練模型,在各個方面性能都非常優(yōu)秀.與以往使用的單向語言模型不同,BERT使用深層雙向語言模型.Devlin等[18]指出以往的預(yù)訓(xùn)練模型在詞向量的表示學(xué)習(xí)上做的不夠,文本編碼器層數(shù)少,且是單向的.BERT在訓(xùn)練語言模型時使用Mask機(jī)制,即隨機(jī)遮蓋句子的一部分詞以達(dá)到雙向訓(xùn)練的目的,同時BERT堆疊深層Transformer的Encoder模塊,最終BERT可以得到深層雙向語言模型.BERT還借鑒word2vec中的負(fù)采樣技術(shù),使用句子級別的負(fù)采樣技術(shù)以學(xué)習(xí)詞向量表示,最終構(gòu)建NLP任務(wù)的解決框架.研究人員在使用BERT解決具體NLP任務(wù)時,只需為特定的任務(wù)定制一個輕量級的輸出層.BERT改變了以往需要為每一個NLP任務(wù)深層定制網(wǎng)絡(luò)的工作模式.
將AIER任務(wù)看作序列標(biāo)注問題,在使用BERT做序列標(biāo)注任務(wù)時,需要為上層定制輸出層,即標(biāo)簽解碼器.常見的標(biāo)簽解碼器有MLP+Softmax,CRFs,RNN和指針網(wǎng)絡(luò).MLP+Softmax解碼器標(biāo)注序列時都是根據(jù)對應(yīng)位置的上下文表示獨(dú)立預(yù)測的,并不考慮相鄰位置的標(biāo)簽值.RNN解碼則是一個貪心的過程,即先計算得到首位置的標(biāo)簽,序列后面位置的標(biāo)簽都是基于前面的標(biāo)簽值計算得出.這兩類解碼器都不能滿足AIER任務(wù)的需求.條件隨機(jī)場(CRF)以觀測序列為全局條件,求解結(jié)果為全局最優(yōu).同時,CRF被廣泛應(yīng)用于各種基于深度學(xué)習(xí)的NER模型中,并取得了不錯的效果.所以在文中的研究選擇CRF作為上層的標(biāo)簽解碼器.
CRF模型服從吉布斯分布,通常用來做結(jié)構(gòu)化預(yù)測.在AIER任務(wù)中,CRF可以學(xué)習(xí)相鄰標(biāo)簽值的依賴關(guān)系.CRF的參數(shù)會參與到模型訓(xùn)練,通過梯度下降算法學(xué)習(xí)到標(biāo)簽轉(zhuǎn)移概率矩陣.Lample等[16]的研究在使用CRF為生成的標(biāo)簽序列“語法”加幾個硬約束,因為標(biāo)簽序列的標(biāo)簽值是不滿足獨(dú)立性假設(shè)的,CRF為生成序列加的硬約束則可以保證NER任務(wù)中生成標(biāo)簽序列的合法性.
將AIER任務(wù)抽象為對航天情報數(shù)據(jù)集的序列標(biāo)注問題,對通過預(yù)訓(xùn)練后的BERT模型進(jìn)行fine-tune,并與CRF進(jìn)行結(jié)合來解決序列標(biāo)注問題.AIER模型由BERT模型、線性鏈條件隨機(jī)場組成,其中BERT模型頂層帶有字符級分類器,文中選用Softmax作為字符級分類器,頂層是線性鏈條件隨機(jī)場,主要事進(jìn)行結(jié)構(gòu)化預(yù)測.
對于輸入句子S,BERT輸出已編碼序列T,Softmax將T映射到標(biāo)簽值向量空間,即RHRN.其中H為BERT的隱藏層維度,N為標(biāo)簽集合大小.Softmax最終輸出標(biāo)簽域的概率矩陣P,P∈Rn×N.將P輸入CRF層進(jìn)行標(biāo)簽預(yù)測,CRF的參數(shù)本質(zhì)上是一個標(biāo)簽轉(zhuǎn)移概率矩陣A,A∈RN+2×N+2.文中研究中A包含額外兩個狀態(tài)“〈start〉”和“〈end〉”.Lample等[16]在其研究中介紹了序列標(biāo)注理論,依照其理論,對于句子S={s1,s2,…,sn},標(biāo)注序列y={y1,y2,…,yn},yi∈T,其標(biāo)注序列的得分為
然后,用Softmax函數(shù)對所有可能標(biāo)注序列的得分進(jìn)行歸一化,可得
BERT-CRF模型的訓(xùn)練目標(biāo)是最大化正確標(biāo)注序列得分的對數(shù)似然概率,訓(xùn)練階段的目標(biāo)函數(shù)為
文中的訓(xùn)練方式是fine-tuning,訓(xùn)練時BERT和CRF聯(lián)合參與訓(xùn)練.BERT-CRF模型的整體架構(gòu),如圖3所示.
圖3 BERT-CRF模型結(jié)構(gòu)圖
實(shí)驗中的數(shù)據(jù)集選擇在文中構(gòu)建的AIER數(shù)據(jù)集,預(yù)訓(xùn)練模型選擇谷歌使用大規(guī)模中文語料訓(xùn)練的bert-base-zh.模型重要參數(shù)設(shè)置如下:BERT隱藏層參數(shù)為768,注意力頭(attention head)數(shù)量為12,隱藏層個數(shù)為12,dropout為0.1,隱藏層的激活函數(shù)為gelu函數(shù),訓(xùn)練輪數(shù)epoch為14輪.
通過建立的基于預(yù)訓(xùn)練模型的AIER模型(BERT-CRF),與隱馬爾可夫模型(HMM)、條件隨機(jī)場(CRF)模型、雙向長短期記憶網(wǎng)絡(luò)加條件隨機(jī)場(BiLSTM-CRF)模型進(jìn)行實(shí)體識別實(shí)驗對比.該4組實(shí)驗中的模型均使用PyTorch框架構(gòu)建,并使用到numpy,sklearn等科學(xué)實(shí)驗包.
在研究中,實(shí)驗評價標(biāo)準(zhǔn)選擇3個NER任務(wù)中經(jīng)典的評價指標(biāo),分別是宏準(zhǔn)確率(P)、宏召回率(R)與宏F1值,指標(biāo)公式如下
由于AIER任務(wù)中更關(guān)心被準(zhǔn)確抽取的信息的占比,即召回率.所以,在文中實(shí)驗更看重召回率評價指標(biāo).
文中構(gòu)建了4個模型并在相同環(huán)境對4個模型進(jìn)行實(shí)驗,結(jié)果如表1所示.從表1可知:基于預(yù)訓(xùn)練模型解決AIER任務(wù)的效果,明顯優(yōu)于傳統(tǒng)統(tǒng)計機(jī)器學(xué)習(xí)模型和基于LSTM的深度學(xué)習(xí)模型.實(shí)驗表明預(yù)訓(xùn)練模型的表示學(xué)習(xí)能力在AIER任務(wù)仍然有效.
表1 實(shí)體識別實(shí)驗結(jié)果分析
BERT-CRF對AIER中實(shí)體識別的效果,如表2所示.從表2可知:VEH的識別效果最差,統(tǒng)計訓(xùn)練集和測試集實(shí)體個數(shù)時發(fā)現(xiàn)VEH實(shí)體的數(shù)量較少(數(shù)量最少的是LOC實(shí)體),同時VEH的命名具有較強(qiáng)的規(guī)則性且是多語言的,和一般語言的語法規(guī)律有差異.BERT預(yù)訓(xùn)練模型使用的是大規(guī)模中文通用語料進(jìn)行訓(xùn)練,其內(nèi)部學(xué)習(xí)的是中文通用語言的語言模型,可能由于VEH本身的多語言性加之命名語法規(guī)則特殊和數(shù)量不足,導(dǎo)致BERT-CRF模型對VEH實(shí)體識別效果不佳.
表2 BERT-CRF模型實(shí)體識別結(jié)果
為了快速處理航天情報,文中構(gòu)建了融合多源異構(gòu)知識的航天情報領(lǐng)域知識庫,并且基于知識庫和啟發(fā)式匹配算法標(biāo)注AIER任務(wù)數(shù)據(jù)集;最后訓(xùn)練基于預(yù)訓(xùn)練模型的AIER模型,取得了超過BiLSTM-CRF模型的效果.在一系列對比實(shí)驗中,結(jié)果表明:基于預(yù)訓(xùn)練模型的AIER模型表現(xiàn)最好,能夠取得93.68%的準(zhǔn)確率、97.56%的召回率和95.58%的F1值.