何陽宇,晏 雷,易綿竹,李宏欣,3
(1.中國人民解放軍戰(zhàn)略支援部隊信息工程大學(xué)(洛陽校區(qū)),河南 洛陽 471003;2.昆明理工大學(xué) 信息工程與自動化學(xué)院,昆明 650500; 3.密碼科學(xué)技術(shù)國家重點實驗室,北京 100878)
隨著大數(shù)據(jù)時代的到來,互聯(lián)網(wǎng)已經(jīng)成為軍事情報獲取的重要來源,但海量冗雜的數(shù)據(jù)也帶來了“信息過載”的問題,命名實體識別(Named Entity Recognition,NER)是解決這一問題的有效手段。“命名實體”是在第六屆消息理解會議(MUC-6)上首次使用的,可以簡單地定義為“任何一個可以被專有名稱指代的事物”[1]。在這次會議上,命名實體識別也作為信息抽取(Information Extraction,IE)的子任務(wù)被提出[2],之后迅速成為大數(shù)據(jù)分析、文本意義理解、語義表示、知識管理等研究領(lǐng)域的關(guān)鍵技術(shù)之一。近年來興起的以知識圖譜為基礎(chǔ)的智能檢索,其核心單元即為實體。
命名實體識別即識別文本中的專有名稱,并將其劃分到預(yù)先定義的類別。按照技術(shù)手段可以分為基于規(guī)則的方法、基于統(tǒng)計的方法以及深度學(xué)習(xí)的方法[3]。最早出現(xiàn)的命名實體識別系統(tǒng)大多是基于規(guī)則的,從20世紀(jì)90年代開始,統(tǒng)計方法逐漸成為主流。常用的統(tǒng)計模型有支持向量機(jī)(Support Vector Machine,SVM)、最大熵模型(Maximum Entropy,ME)、隱馬爾可夫模型(Hidden Markov Model,HMM)、條件隨機(jī)場(Conditional Random Fields,CRF)等,這類模型通常將實體識別任務(wù)形式化為從文本輸入到特定目標(biāo)結(jié)構(gòu)的預(yù)測,使用統(tǒng)計模型來建模輸入與輸出之間的關(guān)聯(lián),并使用機(jī)器學(xué)習(xí)方法來學(xué)習(xí)模型的參數(shù)。例如,隱馬爾可夫模型將命名實體識別視為字符串分類問題[4],條件隨機(jī)場模型則將實體識別轉(zhuǎn)化為序列標(biāo)注問題[5]。最近廣受歡迎的深度學(xué)習(xí)也被應(yīng)用到了命名實體識別任務(wù)中,目前主要的命名實體深度學(xué)習(xí)架構(gòu)有兩類[6]:一類是神經(jīng)網(wǎng)絡(luò)-條件隨機(jī)場(NN-CRF)架構(gòu)[7],在該架構(gòu)中,卷積神經(jīng)網(wǎng)絡(luò)(CNN)和長短期記憶(LSTM)網(wǎng)絡(luò)被用來學(xué)習(xí)每一個詞位置處的向量表示,基于該向量表示,NN-CRF解碼該位置處的最佳標(biāo)簽;另一類是采用滑動窗口分類的思想使神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)句子中每一個N-gram的表示,然后預(yù)測該N-gram是否為一個目標(biāo)實體[8]。深度學(xué)習(xí)的方法雖然省去了統(tǒng)計方法中特征選取的過程,但需要更大規(guī)模的訓(xùn)練語料。對于老撾語這種低資源語言,構(gòu)建大型標(biāo)注語料庫所需的人力和物力成本短期內(nèi)是暫時無法承受的,將大量未標(biāo)注或少量人工標(biāo)注的數(shù)據(jù)集用于訓(xùn)練老撾語命名實體識別的統(tǒng)計模型更符合研究現(xiàn)狀[9],并且實踐證明單純基于統(tǒng)計的方法會使?fàn)顟B(tài)搜索空間非常龐大,加入一定的規(guī)則等先驗性知識也是有必要的。
關(guān)于老撾語命名實體識別的成果較少,老撾國內(nèi)幾乎沒有專門研究,僅有文獻(xiàn)[10]借助命名實體識別來提升老撾語分詞的效果,其中的實體識別部分主要是利用規(guī)則的方法對人名和地名進(jìn)行識別。國內(nèi)主要有昆明理工大學(xué)對此進(jìn)行了研究,其成果基本都采用機(jī)器學(xué)習(xí)的方法[11-12],取得了一定的成果,但囿于語料規(guī)模和質(zhì)量,其識別結(jié)果難以泛化[13-14]。如果直接移植到軍事領(lǐng)域,準(zhǔn)確率可能會大幅下降。此外,盡管其中加入了一些規(guī)則和特征,但存在制定不準(zhǔn)確、覆蓋不全等問題,這勢必也會影響識別效果。
本文提出一種融合CRF和規(guī)則的老撾語軍事領(lǐng)域命名實體識別方法。首先在分析老撾語軍事領(lǐng)域文本的基礎(chǔ)上,選取了詞、詞性、指界詞、通名和詞典等特征訓(xùn)練得到CRF模型,從而實現(xiàn)老撾語軍事領(lǐng)域命名實體的自動識別。然后對輸出結(jié)果中的錯例進(jìn)行分析,并通過人工制定規(guī)則來提升識別性能。
命名實體識別任務(wù)通常針對人名、地名和機(jī)構(gòu)名三大類專有名詞,結(jié)合具體研究領(lǐng)域和任務(wù),本文需在此基礎(chǔ)上進(jìn)行增改。經(jīng)綜合考量,最終將老撾語軍事領(lǐng)域命名實體分為人名(PER)、地名(LOC)、軍事機(jī)構(gòu)名(ORG)、武器裝備名(WE)和軍用設(shè)施名(FAC)等類型。
從廣義上來講,人名包括本名、別名、乳名、筆名、藝名等,但本文僅識別本名,即人的正式姓名稱謂;地名是指某一特定空間位置上自然或人文地理實體的專有名稱,自然地理實體包括山、河、湖、海、島等,而人文地理實體包括國家、省、市、縣、村等,即通常所說的行政地名;軍事機(jī)構(gòu)名可再分為指揮機(jī)構(gòu)、編制單位、科研機(jī)構(gòu)、軍工企業(yè)、教育培訓(xùn)機(jī)構(gòu)和醫(yī)療機(jī)構(gòu)等幾大類;武器裝備名是武裝力量用于實施和保障戰(zhàn)斗行動的武器、武器系統(tǒng)和軍事技術(shù)器材等的名稱,包括槍械、火炮、坦克、裝甲戰(zhàn)斗車輛、作戰(zhàn)飛機(jī)、戰(zhàn)斗艦艇、彈藥、導(dǎo)彈、水雷等戰(zhàn)斗裝備以及雷達(dá)、聲吶、通信指揮器材、軍用測繪器材、野戰(zhàn)工程機(jī)械、軍用車輛、保障艦船、輔助飛機(jī)、情報處理裝備、電子對抗裝備等保障裝備[15];軍事設(shè)施名是指用于軍事目的的建筑、場地和設(shè)備等的專有名稱,主要包括指揮工程、作戰(zhàn)工程、軍用機(jī)場、港口、碼頭、營區(qū)、訓(xùn)練場、試驗場、軍用洞庫、倉庫、軍用通信、偵察、導(dǎo)航、觀測臺站和測量、導(dǎo)航、助航標(biāo)志、軍用公路、鐵路專用線、軍用通信輸電線路、軍用輸油輸水管道等。本文結(jié)合老撾實際情況,以軍事工程、軍事基地、軍事交通設(shè)施、各類場地和塔臺站為重點識別對象。
老撾語命名實體識別既有所有語言面臨的共同難點,也具有其獨(dú)特的個性難點,對此進(jìn)行剖析有助于后續(xù)研究,具體如下:
1)英語等西方語言單詞之間一般都有空格,并且專有名稱首字母需大寫,因此其實體邊界非常易于確定,只需完成實體分類任務(wù)即可。而老撾語卻不具備這樣的先天優(yōu)勢,其缺乏豐富的詞形變化和明顯的形態(tài)標(biāo)志,并且沒有天然的詞邊界,分詞、淺層句法分析等過程都會影響老撾語命名實體識別的效果。
2)豐富的語料資源對于命名實體識別任務(wù)來說相當(dāng)重要,這也正是老撾語的不足。研究力量薄弱、關(guān)注度低等原因造成了可供老撾語命名實體識別使用的語料極為匱乏,專門針對軍事領(lǐng)域的電子化資源則幾乎沒有,唯一的解決辦法就是通過多渠道自行構(gòu)建。即便如此,因為命名實體是一個相對開放的集合,新的命名實體會不斷涌現(xiàn),規(guī)模再大的語料庫也難以做到及時更新和完全覆蓋。
3)部分實體拼寫較為隨意,尤其是外來詞,有時甚至不符合老撾語的拼寫規(guī)則,老撾國內(nèi)也沒有權(quán)威機(jī)構(gòu)對此進(jìn)行規(guī)范管理。
5)老撾語中存在大量縮略詞,這些縮略詞往往就是命名實體,其形式較為多樣,很難總結(jié)出規(guī)則,且有時會出現(xiàn)多個命名實體對應(yīng)同一縮略詞的現(xiàn)象。軍事領(lǐng)域具有特殊性,文本表達(dá)通常言簡意賅,因此縮略詞的使用更為常見。
6)根據(jù)不同的任務(wù)和目的,實體的類別不再局限于人名、地名和機(jī)構(gòu)名,出現(xiàn)越來越多的開放類別實體,本文所要識別的“武器裝備名”等就屬于此種情況。為了提高識別精度,便于后續(xù)應(yīng)用,實體劃分的顆粒度也越來越小,如本文中的地名可被細(xì)化為國家、省、市、縣、村等。
條件隨機(jī)場自2001年LAFFERTY等人[5]提出以來,因其簡單的操作原理和良好的性能在自然語言處理等領(lǐng)域迅速受到了廣泛歡迎。之后,MCCALLUM[16]率先將其用于命名實體識別。經(jīng)過不斷改進(jìn),其成為目前命名實體識別中最成功的方法[17]。它是一種用于分割和標(biāo)注序列數(shù)據(jù)的概率化結(jié)構(gòu)模型,在已知觀察序列X的情況下,計算輸出標(biāo)注序列Y的條件概率P(Y|X)。
與隱馬爾可夫模型(HMM)、最大熵馬爾可夫模型(MEMM)等其他序列標(biāo)注模型相比,CRF弱化了獨(dú)立性假設(shè),只需考慮已經(jīng)出現(xiàn)的觀察序列的特性,能夠充分利用上下文信息,易于融合不同的特征,同時其在全局范圍內(nèi)進(jìn)行參數(shù)優(yōu)化和解碼,避免了MEMM和其他判別式馬爾可夫模型會出現(xiàn)的標(biāo)記偏置(Label Bias)問題。CRF和MEMM之間的關(guān)鍵區(qū)別在于,MEMM使用每個狀態(tài)的指數(shù)模型來確定當(dāng)前狀態(tài)的下一個狀態(tài)的條件概率,而CRF則利用單個指數(shù)模型來計算整個標(biāo)注序列和給定觀察序列的聯(lián)合概率。因此,在不同狀態(tài)下不同特征的權(quán)重可以相互替換[5]。
CRF可以被視作一種無向圖模型或者馬爾可夫隨機(jī)場[18]。從理論上來講,只要在標(biāo)注序列中表示一定的條件獨(dú)立性,其圖結(jié)構(gòu)可以是任意的,但一般用來解決序列標(biāo)注問題的是最為簡單且常見的一階鏈?zhǔn)浇Y(jié)構(gòu),如圖1所示。
圖1 條件隨機(jī)場鏈?zhǔn)浇Y(jié)構(gòu)Fig.1 Chain structure of CRF
本文定義:X=x1,x2,…,xn為給定的觀察序列,即由n個詞組成的老撾語語料,Y=y1,y2,…,yn為輸出的標(biāo)注序列,即為被預(yù)測出的實體標(biāo)注序列。那么,輸出序列的條件概率可定義為:
(1)
其中,Z(X)為歸一化因子,它可使所有可能狀態(tài)序列概率之和為1,可由式(2)得出,tj(yi-1,yi,X,i)為轉(zhuǎn)移函數(shù),表示對于觀察序列X在當(dāng)前位置i及前一位置i-1上標(biāo)注的轉(zhuǎn)移概率,sk(yi,X,i)為狀態(tài)函數(shù),表示當(dāng)前位置i的標(biāo)注概率。以上兩個函數(shù)統(tǒng)稱為特征函數(shù),都依賴于局部特征。在命名實體識別過程中,當(dāng)滿足特征模板條件時,取值為1,否則取值為0,λj和μk分別為tj和sk對應(yīng)的權(quán)值,可以通過最大似然函數(shù)在模型訓(xùn)練集上估算出來。
(2)
在得出特征函數(shù)權(quán)值后,模型訓(xùn)練過程便基本完成。將觀察序列X(即測試語料)輸入此模型,概率最大的命名實體標(biāo)注序列Y′便可通過維特比算法解碼得出:
Y′=argmaxP(Y│X,λ)
(3)
在利用CRF模型進(jìn)行命名實體識別的任務(wù)中,最為關(guān)鍵的一步就是構(gòu)建與待識別對象相關(guān)聯(lián)的特征模板,它直接影響識別系統(tǒng)的性能。
在制定特征模板時,需要先確定“觀察窗口”,即當(dāng)前位置詞的前后n個詞及其標(biāo)注所構(gòu)成的上下文語境。窗口大小的取值相當(dāng)重要,開口過大會增加計算成本,影響模板通用性,出現(xiàn)過擬合現(xiàn)象;而開口太小則可能遺漏重要信息。結(jié)合老撾語軍事領(lǐng)域文本特點和老撾語語言規(guī)律,本文將窗口大小設(shè)置為5,即包括當(dāng)前詞及其前后各2個詞。下面對所選取的各類原子特征進(jìn)行闡釋:
1)詞特征:將詞本身作為特征,記為Fwi(i=-2,-1,0,1,2)(下同),w0表示當(dāng)前詞,w-1表示當(dāng)前詞左邊第1個詞,w-2表示當(dāng)前詞左邊第2個詞,w+1表示當(dāng)前詞右邊第1個詞,w+2表示當(dāng)前詞右邊第2個詞。
2)詞性特征:該特征也是與待標(biāo)注詞本身相關(guān)的特征,記為Fpi,pi對應(yīng)wi的詞性。
表1 老撾語命名實體通名(部分)Table 1 General names of named entities in Laotian(partial)
表2 老撾語實體識別指界詞示例Table 2 Examples of Laotian entity recognition boundary words
5)詞典特征:表示為Fdi,英、漢語等的命名實體識別研究已證明這一特征具備高度預(yù)測能力,尤其是針對地名等規(guī)模相對穩(wěn)定的實體類型非常有效。本文主要通過以下3個渠道構(gòu)建常見詞詞典,即現(xiàn)有資源、網(wǎng)絡(luò)爬蟲和基于Word2vec的相似詞推薦。
現(xiàn)有資源包括《老漢-漢老軍事詞典》[20]和老撾國家統(tǒng)計局出版的《2017統(tǒng)計年鑒》[21]等。前者是目前國內(nèi)唯一的老撾語軍事領(lǐng)域詞典,共收錄1.4萬余詞條;后者對老撾主要山脈、河流以及省、縣、村等行政單位進(jìn)行了統(tǒng)計。
網(wǎng)路爬蟲主要針對老撾人民軍官網(wǎng)、老撾國防部官網(wǎng)以及維基百科老撾語版涉及軍事的頁面信息。前兩個網(wǎng)站內(nèi)有專門介紹軍隊組織架構(gòu)等方面的內(nèi)容,可直接提取存入詞典。對于維基百科的爬取,只針對頁面標(biāo)題,因為維基百科每一個頁面幾乎都是對該頁面標(biāo)題的解釋,而每一個標(biāo)題多數(shù)情況下都代表一個實體。
基于Word2vec的相似詞推薦的原理是訓(xùn)練語料生成詞向量(Word Embedding)文件,然后以向量間的余弦距離(Cosine Distance)度量詞語之間的相似度。可利用現(xiàn)有資源和網(wǎng)絡(luò)爬蟲獲得的實體作為種子詞集進(jìn)行相似詞推薦,為保證質(zhì)量,將推薦閾值設(shè)定為5,其余過程不再贅述。
將以上3個渠道獲取的實體詞條匯總后,根據(jù)準(zhǔn)確性、廣泛性和相關(guān)性原則,需要刪除重復(fù)項、非名詞詞語、名詞化的動詞和形容詞以及領(lǐng)域相關(guān)性較低的詞,最終形成的常見詞詞典共包含5 134個實體詞條。
根據(jù)上述各原子特征,本文依次進(jìn)行組合疊加,構(gòu)成如表3所示的特征模板。
表3 老撾語軍事領(lǐng)域命名實體識別組合特征模板Table 3 Combined feature templates of named entity recognition in Laotian military field
老撾語目前還沒有公開的命名實體標(biāo)注語料,本文實驗所采用的語料均為精通老撾語人士手工構(gòu)建,主要來源為老撾人民軍、老撾國防部等官方網(wǎng)站以及老撾通訊社KPL、ABClaosnews等老撾語主流網(wǎng)站的軍事類新聞,語料規(guī)模約為22.5M。將這些語料進(jìn)行分詞和詞性標(biāo)注等預(yù)處理后,由人工按照表4所示方法進(jìn)行實體標(biāo)注,然后使用標(biāo)簽集BISO對實體進(jìn)行編碼表示,B表示實體的首詞部分,I表示實體的非首詞部分,S表示單個詞構(gòu)成的實體,O表示非實體。本文5個類型實體對應(yīng)的標(biāo)簽分別為{BPER,IPER,SPER,BLOC,ILOC,SLOC,BORG,IORG,SORG,BWE,IWE,SWE,BFAC,IFAC,SFAC,O}。最終經(jīng)過處理獲得實驗所需語料,其中,4/5作為訓(xùn)練語料,1/5作為測試語料。
表4 老撾語命名實體人工標(biāo)注示例Table 4 Examples of named entities manual labeling in Laotian
為綜合評價系統(tǒng)性能,模型訓(xùn)練完成后,將準(zhǔn)確率(P)、召回率(R)以及F測度值(F-measure)作為評價指標(biāo)進(jìn)行測試,具體定義分別為:
(4)
(5)
(6)
本文針對不同的組合特征進(jìn)行了5組實驗,以對比各個特征對識別結(jié)果的影響,如表5~表9所示。
表5 基于組合特征1的識別結(jié)果(實驗1)Table 5 Recognition results based on combined feature 1 (experiment 1) %
表6 基于組合特征2的識別結(jié)果(實驗2)Table 6 Recognition results based on combined feature 2 (experiment 2) %
表7 基于組合特征3的識別結(jié)果(實驗3)Table 7 Recognition results based on combined feature 3 (experiment 3) %
表8 基于組合特征4的識別結(jié)果(實驗4)Table 8 Recognition results based on combined feature 4 (experiment 4) %
表9 基于組合特征5的識別結(jié)果(實驗5)Table 9 Recognition results based on combined feature 5 (experiment 5) %
完成基于CRF模型的實體識別之后,本文對錯誤識別結(jié)果進(jìn)行了分析,嘗試加入適當(dāng)?shù)南闰炐灾R,即能夠表達(dá)語言確定性的規(guī)則,以期能夠進(jìn)一步提升系統(tǒng)性能。部分規(guī)則描述如下:
1)人名規(guī)則:造成人名錯誤識別的原因是當(dāng)上下文無明顯特征時,將臨近的詞作為人名的一部分或者將人名的一部分歸入其他詞,這可以通過詞長LPER(即音節(jié)數(shù)量)規(guī)則來處理。本文以隨機(jī)搜集的500個老撾人名為樣本,進(jìn)行音節(jié)數(shù)量的分布統(tǒng)計,如圖2所示。從圖2可以看出,老撾人名詞長一般介于3~8之間,其中以5和6居多,占樣本總數(shù)的84.6%,因此可制定人名識別規(guī)則為3≤LPER≤8。
圖2 老撾人名詞長分布Fig.2 Word length distribution of Lao name
4)武器裝備名規(guī)則:武器裝備名絕大部分是以其型號結(jié)尾,而型號主要由大寫英文字母、阿拉伯?dāng)?shù)字、羅馬數(shù)字和符號“-”“+”等要素構(gòu)成,同時規(guī)定有無通名等價。
5)軍事設(shè)施名規(guī)則:軍事設(shè)施名面臨的識別難點同樣是人名和地名的嵌套現(xiàn)象,因此可采用與機(jī)構(gòu)名類似的規(guī)則。
規(guī)則制定完成后,選擇上述識別結(jié)果最好的實驗5作為基礎(chǔ),利用規(guī)則進(jìn)行后處理,結(jié)果如表10所示。與前5個實驗的總體識別結(jié)果對比如圖3所示。
表10 加入規(guī)則后的識別結(jié)果(實驗6)Table 10 Recognition results after adding rules (experiment 6) %
圖3 老撾語命名實體識別總體結(jié)果變化趨勢Fig.3 Change trend of overall results of Laotian named entity recognition
可以看出,加入規(guī)則后的系統(tǒng)實體識別能力有了較為顯著的提升,其中機(jī)構(gòu)名、武器裝備名和軍事設(shè)施名的準(zhǔn)確率、召回率和F測度值均提高了4個到5個百分點。由此證明了融合CRF和規(guī)則的方法具有可行性和有效性,可以在一定程度上彌補(bǔ)CRF模型的不足。
本文采用融合CRF和規(guī)則的方法對老撾語軍事領(lǐng)域命名實體識別進(jìn)行了研究。通過分析領(lǐng)域?qū)嶓w特點,選取詞、詞性、通名、指界詞和詞典等特征進(jìn)行組合作為CRF模型的特征模板,利用測試語料進(jìn)行測試,并對測試結(jié)果進(jìn)行錯例分析,人工制定具有針對性的規(guī)則進(jìn)行后處理,進(jìn)一步提升識別效果。實驗結(jié)果表明,該選取特征可有效解決老撾語軍事領(lǐng)域命名實體識別問題。由于目前沒有公開的老撾語大型實體標(biāo)注語料庫,本文所用語料庫為自行構(gòu)建并且初次使用,語料的規(guī)模和質(zhì)量還需進(jìn)一步加強(qiáng),下一步將嘗試引入遷移學(xué)習(xí)技術(shù)[22]和自學(xué)習(xí)技術(shù)[23]來解決老撾語資源缺乏的現(xiàn)狀,同時將對軍事文件名、軍事活動名等更多類別的軍事領(lǐng)域?qū)嶓w識別進(jìn)行研究。