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