(江蘇自動化研究所 連云港 222006)
隨著指揮信息系統(tǒng)智能化的發(fā)展,指揮文書信息數(shù)據(jù)化的概念被提出。指揮文書信息數(shù)據(jù)化是解決如何將指揮文書信息的內(nèi)容轉(zhuǎn)變?yōu)橹悄芑瘮?shù)據(jù)的問題,其核心任務(wù)是知識抽取。作戰(zhàn)文書作為指揮信息的一種重要載體,面向作戰(zhàn)文書的知識抽取對于軍事知識圖譜建立[1]、軍事標(biāo)圖系統(tǒng)的自動標(biāo)繪[2]以及智能輔助決策等應(yīng)用都具有重要的研究價值。
知識抽取技術(shù)分為兩部分,分別是實體識別與關(guān)系抽取。對作戰(zhàn)文書的知識抽取,目前通用的技術(shù)是使用流水線模型。流水線模型是首先對作戰(zhàn)文書進(jìn)行實體識別,然后利用實體識別的結(jié)果開展關(guān)系抽取的任務(wù)。對作戰(zhàn)文書中軍事命名實體的識別開展的比較早,姜等[3]利用CRF模型學(xué)習(xí)文本特征;馮等[4]采用CRF結(jié)合詞典和規(guī)則的方法從作戰(zhàn)文書中提取文本特征,比僅用CRF識別效果更好。近年來,深度學(xué)習(xí)的方法被廣泛應(yīng)用在各個領(lǐng)域,在作戰(zhàn)文書的實體抽取中也得到了比較好的應(yīng)用。王等[5]提出的基于BiLSTM-CRF模型利用預(yù)訓(xùn)練的字向量作為輸入,實現(xiàn)了軍事命名實體識別;張等[6]提出的改進(jìn)的CNN-BiLSTM-CRF模型實現(xiàn)了軍事命名的細(xì)分類實體識別。對作戰(zhàn)文書的關(guān)系抽取也有相應(yīng)的研究。單等[7]通過結(jié)合詞語規(guī)則與SVM模型實現(xiàn)了一種作戰(zhàn)文書實體關(guān)系抽取的方法;朱等[8]使用深度學(xué)習(xí)中的BiLSTM模型實現(xiàn)了軍事領(lǐng)域的關(guān)系分類方法。
以上關(guān)于軍事知識抽取的模型均屬于流水線模型。然而流水線模型有一些共同的問題:由于關(guān)系抽取是建立在實體識別的結(jié)果上的,所以實體識別的誤差會傳遞到關(guān)系抽取中,對關(guān)系抽取造成較大的影響。另外,現(xiàn)有的關(guān)系抽取模型大多側(cè)重于在一個句子中處理單個關(guān)系的場景,但在一個句子中實體之間通常會存在多個關(guān)系。而這種多關(guān)系現(xiàn)象在作戰(zhàn)文書中出現(xiàn)的更多,比如“陸軍第7師從張莊(43,27),李莊(22,76)地段正面突破防御?!?,在這句中共出現(xiàn)了四個實體,三個關(guān)系,如圖1所示。
本文將序列生成模型[9~10]應(yīng)用到了知識抽取的任務(wù)中,將實體識別與關(guān)系抽取任務(wù)完全轉(zhuǎn)換為文本生成任務(wù),從而解決了流水線模型中的誤差傳遞問題。文中通過在序列生成模型中引入了位置注意力機制[11]結(jié)構(gòu),并通過控制生成概率來選擇當(dāng)前解碼時間是從原始輸入中復(fù)制單詞還是從詞匯表中生成單詞,實現(xiàn)了實體和關(guān)系的聯(lián)合提取并且實體可以在多個三元組中重復(fù),解決了重疊實體關(guān)系三元組的提取問題。
圖1 重疊實體關(guān)系示例
本文模型的目標(biāo)是生成一個或多個關(guān)系三元組,同時允許重復(fù)輸出實體。本模型給定訓(xùn)練數(shù)據(jù)[x,y],其中x表示模型的輸入文本,y表示目標(biāo)輸出。本文模型可以通過指針從源文本中復(fù)制單詞,也可以從預(yù)定義的詞匯表中生成單詞。模型的整體結(jié)構(gòu)如圖2所示。
圖2 本文模型結(jié)構(gòu)圖
1)Bi-LSTM編碼層
首先將給定句子轉(zhuǎn)化為詞向量矩陣x=[x1,x2,...,xn],其中xt∈Rd表示第t個單詞的嵌入向量。對于編碼層本文使用了Bi-LSTM[12]對序列進(jìn)行編碼,它由兩個獨立的LSTM層組成。前向LSTM層將輸入序列從x1到xn進(jìn)行編碼,后向LSTM層輸入序列從x到x進(jìn)行編碼。然后我n1們將連接起來表示第t個單詞的最終編碼信息,記為,這樣每一步的編碼向量就可以得到其上下文的語義信息。
2)解碼機制
式(1)中hi為編碼器第i個詞的隱藏狀態(tài)向量。
本文將上下文向量與解碼器狀態(tài)st連接,并通過線性層進(jìn)行反饋,生成詞匯表分布概率Pvocab。
其中V',V,bv和bv'是可學(xué)習(xí)的參數(shù),Pvocab是預(yù)定義詞匯表中所有單詞的概率分布。
在式(3)中P(w)是輸出詞典中的概率,其中輸出詞典包括兩部分內(nèi)容:一是事先定義的詞典其中包含有關(guān)系詞以及訓(xùn)練詞向量時的詞匯表,二是輸入序列中的詞。所以為了保證本模型有從預(yù)定義詞匯表中生成關(guān)系詞的能力,又有從源文本中復(fù)制單詞的能力,本文引入一種軟開關(guān)機制,即在每個解碼步驟中計算生成概率pg。
其中Wc、Ws、Wy、bg為可學(xué)習(xí)參數(shù),δ為Sig?moid函數(shù),pg由上下文向量ct,解碼器狀態(tài)st,解碼器輸入yt。pg的作用是用來決定當(dāng)解碼器在解碼時選擇單詞輸出從源文本復(fù)制的可能性更大還是預(yù)定義詞匯表生成的可能性更大?;谲涢_關(guān)機制本文模型得到最終的概率分布:
通過式(5)可以得到輸出詞典中的概率分布,輸出詞典包含輸入序列詞以及預(yù)定義關(guān)系詞。通過這種軟開關(guān)機制能夠使模型具有復(fù)制命名實體同時又能生成關(guān)系詞,從而實現(xiàn)實體與關(guān)系的聯(lián)合抽取。
本文對序列模型中的注意力機制進(jìn)行了改進(jìn),目前的序列模型的注意力機制是通過語義信息反饋輸入序列的重要程度。本文受到了Zhang等[11]以及Zeng等[13]的啟發(fā)對位置向量進(jìn)行處理。由于作戰(zhàn)文書中比較固定的句式,部隊名稱這種命名實體一般會出現(xiàn)在句子的開頭,軍事任務(wù)這種命名實體一般會出現(xiàn)在句子的末尾,因此詞語在句子中的全局位置就帶有一定規(guī)律,通過加入詞語的全局位置向量可以增強模型中注意力機制的效果。另一方面,對于關(guān)系抽取來說,句子中詞語的相對位置也有一定的規(guī)律,在作戰(zhàn)文書中,軍事任務(wù)這種命名實體的附近一般會出現(xiàn)時間,軍事任務(wù)和時間的相對距離就會比其他詞語要小。通過加入詞語的相對位置向量可以增強序列生成模型中的注意力機制的效果。如圖3所示,第一行表示句子的全局位置,第二行為“20日18時”與其他詞匯的相對位置。本文結(jié)合全局位置向量與相對位置向量來改善序列模型中的注意力機制。
句子在輸入到編碼器時,本身就有一個前后關(guān)系,因此通過輸入序列中詞的索引就能得到句子中每個單詞位置編碼向量。對于一組輸入序列x=[x1,x2,...,xn],其中它的全局位置向量為,對于某個詞的相對位置向量為。根據(jù)圖3中所示,注意力機制的權(quán)重大小由編碼器的隱藏層向量hi和解碼器的狀態(tài)向量st以及位置嵌入向量所決定。其中解碼器的狀態(tài)向量st是由位置注意力機制層的計算公式如式(6)、(7)所示。
圖3 輸入語句的全局位置與相對位置
本文根據(jù)作戰(zhàn)文書的特點[14~15]預(yù)定義了作戰(zhàn)文書中7種軍事命名實體分別是部隊番號、作戰(zhàn)編成、武器裝備、軍事人員、時間、地點、軍事任務(wù)。預(yù)定義了8種實體關(guān)系類別分別是實體與作戰(zhàn)編成的編成關(guān)系,部隊與軍事任務(wù)的執(zhí)行關(guān)系、部隊與地點的地理位置關(guān)系、任務(wù)與地點的目標(biāo)關(guān)系、任務(wù)與部隊的目標(biāo)關(guān)系、任務(wù)與時間的時間屬性關(guān)系、部隊與武器裝備的配置關(guān)系、軍事人員與部隊的指揮關(guān)系、部隊與部隊的敵對關(guān)系。
本文收集了248篇作戰(zhàn)文書作為數(shù)據(jù)集,其中總共含有18480個句子。在對數(shù)據(jù)進(jìn)行標(biāo)注時,關(guān)系詞的形式是將命名實體名稱與關(guān)系詞按三元組的形式進(jìn)行標(biāo)注,從而在提取關(guān)系時,對應(yīng)的頭實體與尾實體同時被提取出來。最終共標(biāo)注關(guān)系數(shù)35209。本文將訓(xùn)練集和測試集按8:2的形式進(jìn)行實驗驗證。本文的測試指標(biāo)使用了準(zhǔn)確率P、召回率R以及F1值。在進(jìn)行測試時,由于輸出序列是以三元組的形式進(jìn)行輸出,輸出得三元組的順序可能不與真實序列完全一致,但在輸出序列中有部分三元組可能是抽取正確的,因此為了使得測試方法更加合理,本文將輸出序列的三元組與真實序列進(jìn)行匹配來得到各項指標(biāo)。
在模型進(jìn)行訓(xùn)練過程中,根據(jù)一般的編碼器解碼器模型的經(jīng)驗,本文模型使用的隱藏層的維度為128維,詞向量的維度是200維,位置向量的維度是20維,根據(jù)本文的硬件條件將Batchsize的大小設(shè)置為128,模型使用Adam梯度下降算法來對數(shù)據(jù)進(jìn)行訓(xùn)練,學(xué)習(xí)率設(shè)為0.005,epoch的大小為50。
本文將使用了位置注意力機制的序列生成模型與未使用的序列生成模型進(jìn)行比較,分別測試比較了每種關(guān)系的測試指標(biāo),結(jié)果如表1所示。
表1 本文模型測試結(jié)果
從表1可以看出,其中位置注意力機制對于部隊編成關(guān)系、軍事任務(wù)時間關(guān)系、部隊位置關(guān)系以及軍事任務(wù)執(zhí)行關(guān)系有比較好的提升效果,對于這幾種關(guān)系它們對應(yīng)的頭實體與尾實體都能有比較固定的位置,作戰(zhàn)編成這種實體一般都是在句子的開頭,以及時間一般都會在軍事任務(wù)附近,因此語句中這種隱含的位置信息能夠被位置注意力機制所捕獲。另外結(jié)果還表明不管是否使用位置注意力機制,部隊的地理位置關(guān)系以及軍事任務(wù)執(zhí)行關(guān)系都沒有其他幾類關(guān)系的得分高,最終的F1值都沒有超過0.6。通過分析測試集的輸出序列結(jié)果發(fā)現(xiàn),位置關(guān)系與執(zhí)行關(guān)系一般存在于具有重疊實體關(guān)系的句子中,如而且對于部隊番號來說,部隊番號與其他的實體形成的關(guān)系最多,如表2所示為各個實體所參與的關(guān)系數(shù)。
表2 命名實體構(gòu)成三元組數(shù)量對比
從表2中可以看出部隊番號實體能夠與其他五種實體構(gòu)成三元組,并且由于它所在的三元組多出現(xiàn)在重疊實體關(guān)系句中。因此對地理位置關(guān)系以及執(zhí)行關(guān)系抽取時會導(dǎo)致召回率比較低的情況出現(xiàn)。
為了驗證本文模型抽取重疊實體關(guān)系的能力,本文將測試集中具有重疊實體關(guān)系的句子進(jìn)行細(xì)分類,根據(jù)每個句子中包含的重疊關(guān)系數(shù)將測試集劃分為5個子類,其中這5個子類分別包含1、2、3、4以及大于等于5的重疊實體關(guān)系數(shù)。最終測試結(jié)果如圖4所示。
圖4 抽取重疊實體關(guān)系測試
從圖4中可以發(fā)現(xiàn)隨著一個句子中包含關(guān)系的數(shù)量的增加,關(guān)系抽取的性能也就逐漸下降。但是當(dāng)句子有重復(fù)的一到三個關(guān)系三元組時,本文模型仍能保持一定的準(zhǔn)確率,當(dāng)重復(fù)關(guān)系數(shù)大于4時,關(guān)系抽取的能力會逐漸下降。圖4的實驗結(jié)果也說明了本文模型具有一定的識別重疊關(guān)系實體的能力。
為了驗證本文聯(lián)合抽取模型與其他流水線模型的區(qū)別。本文選擇了兩種流水線模型進(jìn)行對比,流水線模型將三元組抽取任務(wù)分為實體識別與關(guān)系抽取,由于一般的實體抽取任務(wù)所用到的模型需要使用BIOSE標(biāo)注的辦法進(jìn)行重新訓(xùn)練,本文數(shù)據(jù)集的標(biāo)注形式是直接按照三元組形式進(jìn)行的標(biāo)注,并不能直接用在實體抽取任務(wù)中。所以本文將實體抽取任務(wù)的準(zhǔn)確率設(shè)定為100%,在流水線模型中不將實體識別誤差引入后續(xù)的關(guān)系抽取模型。對于關(guān)系抽取任務(wù)本文選擇了兩種模型。其中一種是在中文文本關(guān)系抽取領(lǐng)域應(yīng)用比較廣泛的PCNN模型[16],PCNN模型是通過CNN提取句子的特征,并且結(jié)合句子中實體的相對位置特征將其與文本特征進(jìn)行拼接后送入分類器中。另一種是朱等[8]使用的BiLSTM-ATT模型,該模型通過BiLSTM層提取句子特征,經(jīng)過語義注意力機制層后輸入到分類器中實現(xiàn)了軍事文本關(guān)系抽取。由于這兩種模型都是關(guān)系分類模型,沒有識別重疊實體關(guān)系的能力,因此本文將作戰(zhàn)文書數(shù)據(jù)集中的非重疊實體關(guān)系句作為訓(xùn)練和測試集。在非重疊實體關(guān)系句中主要包含有三種關(guān)系:指揮關(guān)系、配置關(guān)系以及目標(biāo)關(guān)系,因此本次實驗主要統(tǒng)計這三種關(guān)系的指標(biāo)。本文對這三種模型使用相同的詞向量,并且使用相同的訓(xùn)練集與測試集進(jìn)行實驗。最終實驗結(jié)果如表3所示。總體指標(biāo)如圖5所示。
表3 非重疊實體關(guān)系能力對比
圖5 總體指標(biāo)對比
由于本文并未將實體識別的誤差引入到關(guān)系抽取中,因此實際流水線模型的抽取結(jié)果會低于文中的結(jié)果。但即使按照實體識別的準(zhǔn)確率達(dá)到100%,本文模型的總體指標(biāo)仍能高于現(xiàn)有的關(guān)系抽取模型。這也就證明了本文的聯(lián)合抽取模型的對作戰(zhàn)文書有較好的抽取效果。并且其中對于流水線模型中的PCNN與BiLSTM-ATT模型對配置關(guān)系和目標(biāo)關(guān)系的召回率不高,通過分析測試結(jié)果發(fā)現(xiàn)非重疊關(guān)系句子中有一部分句子包含多種關(guān)系,雖然這多種關(guān)系的實體不重疊,但對于分類器模型來說只能識別出其中一種關(guān)系,所以召回率相對較低。
本文針對作戰(zhàn)文書知識抽取的問題,改進(jìn)了軍事領(lǐng)域詞向量的訓(xùn)練方法,并提出了一種基于序列模型并結(jié)合位置注意力機制的實體和關(guān)系聯(lián)合抽取模型。通過實驗驗證,本文模型具有一定的識別作戰(zhàn)文書中的重疊關(guān)系實體的能力,并且能夠直接輸出三元組,避免了流水線模型中誤差傳遞的影響,對于非重疊實體關(guān)系的抽取,本文模型也有一定效果的提升。同時未來的工作會對本文模型在抽取復(fù)雜重疊實體關(guān)系時的準(zhǔn)確率較低的問題進(jìn)行更深入的研究。