何陽宇,易曉宇,唐 亮,易綿竹,李宏欣,2
(1.解放軍戰(zhàn)略支援部隊信息工程大學(xué) 洛陽校區(qū),河南 洛陽 471003;2.密碼科學(xué)技術(shù)國家重點實驗室,北京 100878)
隨著信息時代的快速發(fā)展,互聯(lián)網(wǎng)上與軍事相關(guān)的內(nèi)容大量涌現(xiàn),其中以老撾語形式發(fā)布的信息也越來越多,同時帶來了信息過載、不直觀、利用率低等問題,人工很難全面、準確、及時地對要點進行處理分析。因此,自動地從非結(jié)構(gòu)化文本中抽取所需信息成為解決這一難題的關(guān)鍵。
實體關(guān)系抽取作為信息抽取的主要任務(wù)之一,其目的是從非結(jié)構(gòu)化文本中抽取實體之間顯式或隱式的語義關(guān)聯(lián),解決關(guān)系分類問題。作為信息抽取的關(guān)鍵環(huán)節(jié),關(guān)系抽取在語義檢索、自動問答、知識圖譜等諸多領(lǐng)域具有廣闊的應(yīng)用前景。尤其對于老撾語來說,大量的文本尚以非結(jié)構(gòu)化的形式存在,迫切需要進行深入挖掘分析,為促進老撾語自然語言處理研究以及知識庫構(gòu)建提供數(shù)據(jù)基礎(chǔ)和技術(shù)支撐。
關(guān)系抽取經(jīng)歷了基于規(guī)則模板的方法、基于傳統(tǒng)統(tǒng)計模型的方法,發(fā)展到如今的深度學(xué)習(xí)方法,在英語、漢語等大語種中已經(jīng)取得了很好的效果。基于深度學(xué)習(xí)的關(guān)系抽取又可分為有監(jiān)督、弱監(jiān)督和無監(jiān)督三種,其中有監(jiān)督的方法目前具有更高的準確率和召回率,但是需要大量的標注語料。老撾語作為小語種,研究基礎(chǔ)薄弱,標注語料匱乏,為解決這一問題,該文提出了“硬匹配(hard matching)”與“軟匹配(soft matching)”相結(jié)合的啟發(fā)式方法,自行構(gòu)建了用于關(guān)系抽取的標注語料庫。
在自建語料庫的基礎(chǔ)上,該文提出將雙向長短期記憶網(wǎng)絡(luò)模型BLSTM和注意力機制用于老撾語軍事領(lǐng)域?qū)嶓w關(guān)系的抽取,BLSTM可以從正反兩個方向?qū)W習(xí)上下文特征,較好地捕捉雙向的長距離語義依賴關(guān)系,非常適合長句數(shù)量眾多的老撾語文本,而采用的多頭注意力機制能夠允許模型在不同的位置關(guān)注來自不同表征子空間的信息,進一步突出了老撾語句子中對語義關(guān)系具有重要影響的信息,克服了單頭注意力機制只能取平均值,從而可能導(dǎo)致某些重要信息被掩蓋的缺陷。
關(guān)系抽取的方法主要可分為兩大類:基于規(guī)則的方法和基于機器學(xué)習(xí)的方法。早期的關(guān)系抽取大多利用規(guī)則在文本中尋找與其相匹配的實例,從而推導(dǎo)出實體之間的語義關(guān)系。文獻[1]根據(jù)實體之間的謂語動詞來判斷它們的關(guān)系,文獻[2]通過語義注釋句法樹生成規(guī)則進行實體關(guān)系識別,此類方法對于特定領(lǐng)域的關(guān)系抽取準確率較高,但其擴展性和移植性較差,召回率普遍較低。文獻[3]綜合實體本身、實體類型、依存樹和解析樹等特征建立最大熵模型來判斷實體關(guān)系類型,文獻[4]在文本淺層解析的基礎(chǔ)上定義樹核函數(shù),并結(jié)合支持向量機和投票感知器抽取實體關(guān)系。隨著深度學(xué)習(xí)的興起,基于神經(jīng)網(wǎng)絡(luò)的關(guān)系抽取成為近年來的研究熱點,文獻[5]提出利用卷積神經(jīng)網(wǎng)絡(luò)(CNN)進行關(guān)系抽取,將詞匯級別特征和句子級別特征拼接得到的向量輸入softmax分類器中預(yù)測實體關(guān)系,文獻[6]引入循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)為解析樹的每個節(jié)點分配向量和矩陣,并通過模型學(xué)習(xí)命題邏輯和自然語言中運算符的含義,以此產(chǎn)生任意句法類型和長度的短語和句子的組合向量表示,最后用softmax進行關(guān)系分類。理論上,RNN可以處理任意長度的序列數(shù)據(jù),但在實際操作中,當(dāng)有用信息距離當(dāng)前處理信息較遠時,就容易導(dǎo)致RNN產(chǎn)生梯度消失或梯度爆炸等問題。針對這一現(xiàn)象,文獻[7]提出長短期記憶網(wǎng)絡(luò)(LSTM),通過引入門控機制大幅度提高了處理長序列數(shù)據(jù)的能力。此后,有研究者將LSTM改進為BLSTM,并將其用于關(guān)系分類,如文獻[8]利用雙向長短期記憶網(wǎng)絡(luò)(BLSTM)對完整序列進行建模,并嵌入了詞匯、句法等特征,實驗結(jié)果表明該方法進一步提升了關(guān)系分類性能。近年來,注意力機制也成功應(yīng)用到關(guān)系分類任務(wù)中,文獻[9]將BLSTM與注意力機制結(jié)合起來進行關(guān)系抽取,注意力層可以對BLSTM網(wǎng)絡(luò)的輸出進行加權(quán)變換,獲取句子中每個詞對語義關(guān)系的影響力權(quán)重,從而獲得更加準確的分類結(jié)果。該文在其基礎(chǔ)上,使用多頭自注意力機制,能夠更多地關(guān)注序列內(nèi)部結(jié)構(gòu),各注意力頭不僅能執(zhí)行不同的任務(wù),還能在一定程度上體現(xiàn)句法和語義特征。
另一方面,目前暫無老撾語關(guān)系抽取方面的研究,但是與關(guān)系抽取任務(wù)密切相關(guān)的分詞、詞性標注和命名實體識別等已有相關(guān)成果,這為該文提供了較好的基礎(chǔ)條件。此外,作為同源語言的泰語在關(guān)系抽取方面有少量研究可供參考,文獻[10]利用基于特征的方法在與犯罪相關(guān)的新聞?wù)Z料中進行關(guān)系抽取,文獻[11]提出基于最大熵的泰語句子級實體從屬關(guān)系抽取方法,以漢泰平行句對作為橋梁構(gòu)建語料庫,然后選擇符合泰語特點的上下文特征,使用最大熵模型進行訓(xùn)練,取得了不錯的效果,該方法對該文有一定的啟示意義,但缺乏高質(zhì)量的漢老平行語料,因此不能完全適用。
綜上,該文構(gòu)建了一種基于BLSTM和多頭自注意力機制的老撾語軍事領(lǐng)域?qū)嶓w關(guān)系抽取模型,首先采用半自動的方法自行構(gòu)建了相關(guān)語料庫,在一定程度上解決了標注語料稀缺的問題,然后利用模型進行訓(xùn)練,最后輸入softmax分類器進行關(guān)系分類??紤]到老撾語的研究現(xiàn)狀和應(yīng)用需求,該文主要探討句子級的二元關(guān)系抽取。
英語等大語種已有SemEval-2010 Task 8、ACE2004等專門用于關(guān)系抽取研究的公開標注數(shù)據(jù)集,而老撾語暫無類似資源。因此,該文需自行構(gòu)建相關(guān)語料庫——LREC(Lao relation extraction corpus),流程見圖1。
圖1 老撾語軍事領(lǐng)域?qū)嶓w關(guān)系語料庫構(gòu)建流程
語料的主要來源為老撾國防部、人民軍、老撾通訊社等官方網(wǎng)站的軍事類新聞以及《老撾國防政策白皮書》、《國防法》等官方文件,這些語料具有相關(guān)性強、質(zhì)量高等特點,符合該文需求。確定語料來源后,利用爬蟲技術(shù)進行爬取,然后過濾掉圖片、網(wǎng)頁標簽、未知符號等噪聲,最后得到所需的生語料。
得到生語料后需對其進行一系列的預(yù)處理:第一步是分句,以句號、問號、感嘆號等作為標志對文本進行切分,得到約11 500個句子組成的句子集。第二和第三步分別是對句子集進行分詞和詞性標注,現(xiàn)有的相關(guān)工具(由昆明理工大學(xué)信息工程與自動化學(xué)院開發(fā)。)主要面向通用領(lǐng)域,為提高在軍事領(lǐng)域的性能,該文在其基礎(chǔ)上融入了領(lǐng)域詞表,包括《老漢-漢老軍事詞典》[12]以及自建的老撾軍事領(lǐng)域人名、地名庫等。第四步是命名實體標注,方法沿用文獻[13]。最后對語料庫作進一步篩選,將所含實體數(shù)少于2個的句子剔除,操作后剩下9 211個句子。
首先,根據(jù)老撾語的語言特點和軍事領(lǐng)域的任務(wù)需求,預(yù)定義了10種關(guān)系類型,見表1。
表1 老撾語軍事領(lǐng)域?qū)嶓w關(guān)系類型
基于BLSTM和多頭注意力機制的老撾語軍事領(lǐng)域?qū)嶓w關(guān)系抽取模型整體架構(gòu)見圖2。該模型的第一步是將經(jīng)過預(yù)處理的句子輸入模型,提取初始特征;第二步通過嵌入層(embedding layer)將所有初始特征映射為低維稠密向量;第三步利用BLSTM從第二步獲取高層特征;第四步是引入注意力機制產(chǎn)生權(quán)重向量,并將其與BLSTM層輸出的向量加權(quán)求和,形成更高層次的特征向量;最后將所得向量輸入softmax分類器用于關(guān)系分類。
常用于關(guān)系抽取的特征包括詞、詞性、實體類型、上下位關(guān)系、相對位置關(guān)系、依存關(guān)系和語義角色等。由于老撾語缺乏依存解析、語義角色標注等工具,該文選擇詞、詞性、實體類型、相對位置關(guān)系作為初始特征,前三項特征可利用已有的自然語言處理工具得到,而位置特征則通過計算當(dāng)前詞xt到實體E1和E2的相對距離獲取。給定老撾語句子S={x1,x2,…,xn},其中n表示S中包含的詞數(shù),那么xt到E1和E2的相對距離D1、D2可分別通過式(1)、式(2)得出,式中t1和t2分別是E1和E2的索引下標,結(jié)果為負代表xt位于實體前,反之則位于實體后,見圖3。位置特征的加入使模型更加明確了哪兩個實體詞需要進行關(guān)系分類。
D1=t-t1
(1)
D2=t-t2
(2)
圖3 位置特征示例
綜上,從S中提取到的初始特征集可表示為K={k1,k2,…,kq},其中q為特征集大小,取值為4。
特征嵌入就是將初始特征映射為實數(shù)向量。通過訓(xùn)練模型可以將S轉(zhuǎn)化為一個可學(xué)習(xí)的多維參數(shù)矩陣W∈Rd×|V|,其中d表示詞向量維度,V表示詞表大小,xt通過矩陣向量積運算便可得到對應(yīng)的詞向量表示rt,如式(3),其中vt是關(guān)于xt的獨熱表示。
rt=Wvt
(3)
(4)
圖4 LSTM模塊結(jié)構(gòu)
將嵌入層得到的向量表示et作為LSTM層的輸入,計算第t個詞時LSTM各個狀態(tài)特征值的過程如下所示:
第一步由遺忘門決定上一個時間步內(nèi)部狀態(tài)信息的去向,計算方法如式(5),Wxf、Whf、Wcf和bf為ft對應(yīng)的權(quán)重矩陣和偏置(bias),式(6)~式(9)中的類似符號不再贅述。
ft=σ(Wxfet+Whfht-1+Wcfct-1+bf)
(5)
it=σ(Wxiet+Whiht-1+Wcict-1+bi)
(6)
(7)
第三步是對內(nèi)部狀態(tài)進行更新,即將ct-1更新為ct,如式(8)。
(8)
第四步是輸出。首先,確定內(nèi)部狀態(tài)的哪個部分被輸出,如式(9),然后利用tanh層對當(dāng)前時間步的內(nèi)部狀態(tài)ct進行處理得到最終輸出,如式(10)。
ot=σ(Wxoet+Whoht-1+Wcoct+bo)
(9)
ht=ottanh(ct)
(10)
由于時序信息是按照時間從前往后依次傳播,LSTM只能依據(jù)之前時刻的信息來預(yù)測當(dāng)前時刻的輸出,但在序列建模任務(wù)中,當(dāng)前時刻的輸出往往不僅與之前的狀態(tài)有關(guān),還與未來的狀態(tài)有關(guān)。BLSTM正是為解決這一問題提出的,它由一個正向LSTM和一個反向LSTM組成,這兩個獨立的循環(huán)網(wǎng)絡(luò)分別負責(zé)學(xué)習(xí)上文和下文的特征信息,最后拼接起來送入同一輸出層。在式(10)的基礎(chǔ)上可以得出,利用BLSTM處理句子S時,第t個詞的輸出如式(11):
(11)
M=tanh(H)
(12)
A=softmax(wnM)
(13)
B=HAn
(14)
H'=tanh(B)
(15)
(16)
以上公式中,A表示注意力權(quán)重矩陣,w是訓(xùn)練所得的參數(shù)向量,wn是w的轉(zhuǎn)置(transpose),B表示完成加權(quán)變換后所得的句子向量,H'表示單一注意力頭得到的輸出特征,假設(shè)一共進行l(wèi)次注意力計算,concat表示向量拼接,⊙表示逐元素點乘,最終得到的輸出為H''。
老撾語關(guān)系抽取實際上是一個分類問題,輸出層為softmax分類器,將注意力層得到的H''輸入其中便得到每個關(guān)系類別的條件概率,取其中概率最大的作為模型最終預(yù)測結(jié)果。計算過程如式(17)~式(19)所示:
p(y|H'')=softmax(WsH'')+bs
(17)
(18)
為了優(yōu)化模型,采用帶有L2懲罰項的交叉熵(cross entropy)損失作為目標函數(shù),如式(19)所示:
(19)
其中,θ為模型參數(shù),m為樣本數(shù),ti∈Rm是正樣例的獨熱向量表示,yi∈Rm是softmax計算出的每個關(guān)系類別的概率,λ是L2正則化超參數(shù)。
實驗所采用的語料均來自LREC,共包含5 063條數(shù)據(jù),10種預(yù)定義的關(guān)系類別,按照4∶1的比例分配訓(xùn)練語料和測試語料。
為了綜合評價系統(tǒng)性能,將準確率(P)、召回率(R)以及F測度值(F-measure)作為評價指標對模型進行測試,具體定義分別如式(20)~式(22):
(20)
(21)
(22)
選用批量的Adam[15]優(yōu)化方法訓(xùn)練模型,其中帶有交叉熵損失函數(shù)。由于實驗的參數(shù)較多,而用于老撾語關(guān)系抽取的語料相對較少,容易產(chǎn)生過擬合現(xiàn)象,因此,采用L2正則化來限制模型參數(shù)值,并且在嵌入層、BLSTM層和注意力層使用“丟棄法(dropout)”[16]策略。另外,將修正線性單元(rectified linear unit,ReLU)作為激活函數(shù)。對于具體參數(shù)值的設(shè)置,利用K折交叉驗證法和參考過往研究經(jīng)驗值的方法共同完成,見表2。
表2 參數(shù)取值情況
續(xù)表2
為了全方位地驗證該方法的有效性,一共設(shè)置四組對比實驗,變量分別是神經(jīng)網(wǎng)絡(luò)類型(實驗一)、注意力機制(實驗二)、嵌入特征(實驗三)和語料規(guī)模(實驗四),其他實驗環(huán)境和參數(shù)設(shè)置等客觀因素均保持一致,CNN等需特殊設(shè)置的方法另行闡述。
4.4.1 實驗一
本輪實驗選取了當(dāng)前常見的幾種神經(jīng)網(wǎng)絡(luò)模型:CNN、RNN、LSTM和BLSTM。其中CNN的架構(gòu)以及濾波器窗口尺寸和卷積核個數(shù)等設(shè)置借鑒文獻[5],RNN方法借鑒文獻[17],以上模型均暫不加入注意力機制,具體結(jié)果見表3。
表3 實驗一結(jié)果對比
從表3可知,從1到4號實驗結(jié)果總體呈上升趨勢。具體來看,幾種模型中CNN的效果最差,這是因為老撾語中長句較多,而CNN只能處理其窗口內(nèi)的信息,難以應(yīng)對長程依賴問題。RNN比CNN的結(jié)果略有上升,證明RNN可以在一定程度上緩解較長序列建模問題,但是提升能力有限,這是由于當(dāng)老撾語句子過長時,RNN會出現(xiàn)梯度消失或梯度爆炸等問題。加入門控機制后的LSTM,其結(jié)果有較大幅度的提高,這說明LSTM更適合處理時序數(shù)據(jù)。BLSTM方法的各項指標在單向LSTM的基礎(chǔ)上又有了6%左右的提升,這意味著在老撾語句子中兩個方向的語義信息對抽取結(jié)果都非常重要,尤其是在句子結(jié)構(gòu)較長且復(fù)雜的情況下,BLSTM在充分利用上下文信息方面更具優(yōu)勢。
4.4.2 實驗二
為了驗證注意力機制的有效性以及注意力頭數(shù)的作用,本輪實驗設(shè)計了三個模型,分別是BLSTM、BLSTM+ATT和BLSTM+Multi-Head ATT,具體結(jié)果見表4。
從表4可看出,加入注意力后,抽取結(jié)果指標均提升了4%左右,這說明注意力機制能夠充分獲取到老撾語句子內(nèi)部的有用特征,在較大程度上排除冗余信息的干擾。將單一注意力擴展為多頭注意力后,效果更加顯著,證明了多頭注意力機制可以更加全面地捕捉句子信息,進一步提高模型的特征表達能力。
表4 實驗二結(jié)果對比
4.4.3 實驗三
將詞、詞性、實體類型、相對位置關(guān)系四個特征分別記為k1、k2、k3、k4。為了測試各特征對結(jié)果的影響程度,選用“BLSTM+Multi-Head ATT”作為訓(xùn)練模型,依次加入以上特征進行對比。具體結(jié)果見表5。
表5 實驗三結(jié)果對比
從表5整體情況看,所選特征都是有效的,其中,詞性特征k2和實體類型特征k3的加入對性能的提升較為明顯,這是因為老撾語中表達語義關(guān)系的詞一般是動詞,k2可以幫助系統(tǒng)捕捉詞性信息,而在軍事領(lǐng)域關(guān)系抽取任務(wù)中,實體類型信息對正確預(yù)測關(guān)系也有較為顯著的作用,比如,“部署”關(guān)系一般連接的是“武器裝備”類實體和“地點”類實體。相比之下,位置特征k4的加入對效果的提升幫助不大,這可能是因為老撾語中部分詞的位置復(fù)雜多變,在一定程度上增加了k4的不確定性。
4.4.4 實驗四
為了考察語料規(guī)模對系統(tǒng)的影響,本輪實驗以500條訓(xùn)練語料為起點,以500條為單位增量進行模型訓(xùn)練,選用“BLSTM+Multi-Head ATT”作為訓(xùn)練模型,共有約4 000條訓(xùn)練語料,測試語料規(guī)模保持不變,其余參數(shù)設(shè)置和實驗環(huán)境等均一致,結(jié)果對比見圖5。
圖5 實驗四結(jié)果對比
從圖5可以看出,總體上的趨勢是隨著語料規(guī)模的增大,各項評價指標也隨之提高,這說明訓(xùn)練語料的數(shù)量是提高老撾語軍事領(lǐng)域關(guān)系抽取系統(tǒng)性能的關(guān)鍵因素。另一方面,在語料規(guī)模約為2 000條的時候,F(xiàn)值就達到了80%左右,這說明“BLSTM+Multi-Head ATT”的方法能夠在語料規(guī)模較小的時候,比較全面深入地挖掘已有語料的上下文信息和內(nèi)部特征,實現(xiàn)較好的效果,非常適合老撾語語料匱乏的研究現(xiàn)狀,但是在達到2 000條之后,評價指標的增速開始放緩,這可能是因為已有語料的句法類型等元素的豐富程度還不夠,模型能夠?qū)W習(xí)到的特征已經(jīng)達到相對飽和的狀態(tài)。
重點研究探討了老撾語軍事領(lǐng)域?qū)嶓w關(guān)系抽取問題。針對語料匱乏的情況,利用半自動的方法自行構(gòu)建了關(guān)系抽取語料庫,然后提出了基于BLSTM和多頭自注意力的老撾語軍事領(lǐng)域?qū)嶓w關(guān)系抽取模型,并結(jié)合老撾語語言特點和研究現(xiàn)狀引入了詞、詞性、實體類型、相對位置關(guān)系等特征,最后進行了四輪對比實驗,其結(jié)果證明了該模型的有效性和可靠性。盡管如此,仍然有較大的改進空間。比如,除了提及的特征以外,囿于基礎(chǔ)研究薄弱,還有依存分析、語義角色等特征未能使用,待今后相關(guān)工具完善后可融入其中。作為低資源語言的老撾語,語料問題也一直是困擾研究的難點,今后除了繼續(xù)加大語料建設(shè)以外,還要積極探索更多對語料依賴較小的方法。另外,將研究從軍事領(lǐng)域擴展到其他領(lǐng)域甚至開放領(lǐng)域也是將來的研究方向。