?

融合詞位字向量的軍事領域命名實體識別

2019-09-23 12:33車金立唐力偉鄧士杰蘇續軍
火炮發射與控制學報 2019年3期
關鍵詞:語料命名向量

車金立,唐力偉,鄧士杰,蘇續軍

(陸軍工程大學石家莊校區 火炮工程系,河北 石家莊 050003)

隨著信息時代的不斷發展,數據已逐漸成為一種資源甚至生產要素。與此同時,在現代軍事活動中也會產生海量的電子文本,例如有大量文本記錄了火炮射擊過程中的射擊體制、射擊模式等[1],如何處理并有效利用這些數據對于指導軍事活動具有重要意義。而準確識別軍事領域文本中的命名實體是對其進行深層次分析的基礎性工作。

命名實體識別(named entity recognition, NER)在通用領域中主要是指識別文本中的人名、地名、機構名、時間、貨幣等具有特定意義的實體[2]。目前,命名實體識別的主要方法包括基于規則的方法、基于統計機器學習的方法和基于深度神經網絡的方法三大類。

命名實體識別研究的初期主要是基于規則的方法,如文獻[3-4]都是通過人工構建的規則來完成命名實體識別。這類方法需要較強的領域知識及語言學知識來制定有效的規則,領域遷移性較差,且人工消耗較大,僅適用于簡單任務。因此,之后命名實體識別研究的重心逐漸轉移到基于統計機器學習的方法上。在將NER任務視作序列標注任務后,學者們首先將最大熵(maximum entropy, ME)[5]、隱馬爾科夫(hidden Markov model, HMM)[6]、條件隨機場(conditional random fields, CRF)[7]等模型用于英文的命名實體識別,并取得了一定的效果。之后面向中文的命名實體識別也開展了一系列研究,邱泉清等[8]在對特征模板進行設計后,使用CRF模型對微博數據完成了命名實體識別,且取得了較好的效果。然而這些方法的缺陷也顯而易見,模型性能的好壞嚴重依賴于人工設計特征的數量,但特征的增多,會導致模型訓練時間過長且容易過擬合,領域泛化性較差。

近年來,深度神經網絡依靠其可從原始數據中自動提取深層次抽象特征的優勢,避免了復雜的人工特征設計,使其在圖像處理、機器翻譯等領域取得了顯著成效[9-13]。與此同時,在NER任務中,深度學習也顯示出了其特有的優勢[14]。

而在軍事領域,有關研究相對較少,軍事命名實體識別任務面臨實體名稱語法結構較為復雜,且名稱較長等問題。為了解決這些難題,筆者基于深度神經網絡提出一種融合詞位字向量的軍事領域命名實體識別方法,該方法首先將單個漢字在分詞結果中的詞位信息加入到由大規模語料預訓練的字向量中,然后將得到的組合特征向量作為輸入,由改進得到的雙向門限循環單元條件隨機場(BI-GRU-CRF)網絡進行訓練,最后完成對軍事領域命名實體的識別。實驗結果表明,該方法較基于CRF的方法及使用基本字向量的深度神經網絡模型有較好的識別效果。

1 基于BI-GRU-CRF模型的軍事領域命名實體識別

受文獻[15-16]的啟發,筆者將命名實體識別任務抽象為序列標注任務,即由標注模型對輸入的文字序列進行輸出標簽序列的預測,為每個字打上“IOBES”標簽集中對應的標簽,進而標記出文中的命名實體。筆者在文獻[16]提出的雙向長短時記憶(bidirectional long short-term memory, BI-LSTM)標注模型的基礎上進行了改進,將LSTM單元替換為結構相對簡單且更易于訓練的門限循環單元(GRU),并在輸出層加入CRF層,利用預測標簽間的前后關系對整個標簽序列進行預測,構成雙向門限循環單元條件隨機場(BI-GRU-CRF)模型。

1.1 傳統RNN網絡

循環神經網絡(recurrent neural network, RNN)的基本結構如圖1所示,通常包括輸入層、隱藏層、 softmax層及輸出層。與卷積神經網絡不同,RNN在隱藏層節點間加入了相互連接,將隱藏層的前一狀態加入到隱藏層當前狀態的計算中,充分利用了歷史信息。

圖1中x(t)為輸入,在命名實體識別中代表t時刻的輸入字向量。s(t)則為RNN節點t時刻輸出的隱藏狀態,其計算依賴于前一時刻的隱藏狀態s(t-1)與當前時刻的輸入x(t):

s(t)=tanh(W*x(t)+U*s(t-1)+B),

(1)

式中:W為連接輸入層到隱藏層的權值矩陣;U為前一時刻隱藏層到當前時刻隱藏層的權值矩陣;B為偏置參數矩陣;tanh為激活函數。

o(t)為輸出,在命名實體識別中表示t時刻輸出的標簽概率,其計算依賴于當前時刻節點的狀態:

o(t)=softmax(V*s(t)),

(2)

式中:V為連接隱藏層到輸出層的權值矩陣;softmax則作為分類函數。另外,為了減少參數數量,RNN網絡在訓練中的參數是共享的,即上文中的W,U,B,V權值矩陣在每一時刻的計算中相同。

1.2 GRU單元

理論上,RNN網絡可以利用隱藏層狀態s(t)來捕獲前面所有的輸入信息,然而現實卻并非如此完美。相關研究[17-18]表明,傳統的RNN網絡在處理長距離信息時,隱藏層節點只是簡單的使用tanh函數,使得訓練易于陷入梯度消失或梯度爆炸的問題當中。

因此為解決上述問題,LSTM[19]和GRU[20]單元先后被提出,用于替換傳統RNN網絡中的tanh函數層。GRU是一種改進模型,相對LSTM更加簡潔和高效,它只具有重置門和更新門兩個門結構。文獻[21]驗證了GRU模型在許多問題中比LSTM模型更易于訓練,且能夠取得與LSTM相當的結果。GRU單元的內部結構如圖2所示。

圖2可表示為

(3)

zt=σ(Wzxt+Uzht-1+bz) ,

(4)

而當前時刻隱藏節點的候選值計算為

(5)

式中;xt為輸入;σ為sigmoid函數;φ為tanh函數;⊙則表示逐元素(element-wise)相乘;rt表示重置門,其計算公式為

rt=σ(Wrxt+Urht-1+br).

(6)

式(4)~(6)中的Wz、Uz、bz、Wh、Uh、bh、Wr、Ur、br都是用于訓練的權重矩陣。通過重置門和更新門兩個門結構, GRU單元就具備了學習長距離信息的能力,改善了傳統RNN網絡結構訓練時所帶來的梯度消失或爆炸的難題。

1.3 雙向 GRU網絡

在處理中文的命名實體識別任務時,不僅需要文字序列左邊的前文信息,同時也需要文字序列右邊的后文信息。然而,單向的GRU網絡只包含一層正向的隱藏層,僅能夠利用輸入序列的前文信息,并不能很好地處理兩個方向的序列信息。因此,為了能夠同時利用輸入序列的前文信息和后文信息,筆者將采用雙向GRU(BI-GRU)網絡[22]作為模型的一部分來處理中文命名實體識別任務,BI-GRU網絡的基本結構如圖3所示。

從圖3中可以看出,雙向GRU網絡包含正向和反向兩個隱藏層,并同時將這兩個隱藏層都連接到了輸出層。因此,在將文字序列輸入到雙向GRU網絡中時,隱藏層可同時按照正向和反向兩個方向處理序列信息,在輸出層得到兩個方向的聯合信息。

1.4 BI-GRU-CRF模型

1.4.1 CRF模型

作為序列標注任務,命名體識別在預測最終的標簽序列時,標簽間的前后關系也十分重要,因此需要根據整條標記路徑的分值情況來判斷最終的標注結果。而CRF作為序列預測的一種概率模型,可以聯合考慮相鄰標簽間的相關性而得到全局最優的標簽序列作為結果,實現對整個標簽序列進行預測,其結構如圖4所示。

1.4.2 BI-GRU-CRF模型

BI-GRU-CRF模型就是將雙向GRU網絡與CRF層進行結合,在雙向GRU網絡的隱藏層后加入CRF層,其基本結構如圖5所示。

該模型可以有效利用雙向GRU網絡獲取輸入文本序列中的前后文信息作為特征,并通過CRF層對整個標簽序列進行預測,實現對文本序列的最優標注。

在該網絡模型中,對于給定的輸入文本序列x={x1,x2,…,xn},以及待預測的標簽序列y={y1,y2,…,yn},可定義

(7)

式中:p∈Rn×k為雙向GRU層輸出的概率矩陣;n為輸入文本序列中漢字的個數;k為輸出標簽的種類,即pi,j表示第i個字被標記為第j個標簽的概率;A為狀態轉移矩陣;Ai,j代表從第i個標簽轉移到第j個標簽的概率,則標簽序列為y的條件概率為

(8)

式中,Yx為所有可能的標簽序列的集合,在訓練中,則使用其似然函數:

(9)

通過式(10)可在預測時得到整體概率最大的一組標簽序列:

(10)

2 詞位字向量

2.1 字向量

將文本序列輸入到標注模型的第一步是要將每個漢字轉換為固定維度的實數向量,并將全部漢字與對應的向量儲存到查找層的字典D中。通過這個字典D,文本序列在經過查找層后,就可以轉換為對應的向量序列,可用于標注模型的訓練。

目前,最為常用的是基于深度神經網絡的字向量表示方法,該方法可通過多層的隱層網絡對字的特征進行深層次的抽象,將每個漢字表示成一個低維的實數向量。這種方法不僅可以有效避免數據稀疏的問題,還可以較好地表示漢字之間的語義關系。文獻[15]中處理多種自然語言處理任務時使用的就是一種基于深度神經網絡語言模型的向量化表示方法,其主要思想是使用一個字的周圍字來決定當前字的語義,從而將語義相近的字表示成向量空間中夾角較小的向量。文獻[23]中提出了兩種向量化表示方法,一種是使用周圍字來預測當前字的連續詞袋(continuous bag-of-words, CBOW)模型;另一種則正好相反,是使用當前字來預測周圍字的連續skip-gram模型。對比3種語言模型,skip-gram 模型在解決數據稀疏問題時具有更好的效果,因此筆者將使用skip-gram模型在大規模語料上訓練字向量。該模型在訓練中的優化目標則是最大化訓練語料的對數似然函數:

(11)

式中:k表示輸入漢字時的窗口大??;xi+j及xj則表示訓練語料中的漢字;概率p(xi+j|xj)可由公式(12)計算得到

(12)

式中:vxO及vxI表示對應漢字xO及xI的初始向量值;vx′則是輸出向量值。

2.2 詞位字向量

在軍事領域的命名實體識別中,軍事實體名稱語法結構較為復雜,且名稱較長,導致實體邊界難以劃分,識別性能有待提高。另外,中文里一字多音多義的現象繁多,單獨使用字向量極易造成語義混淆。因此,筆者將每個字在軍事詞語中的詞位信息融合到字向量中,形成詞位字向量,用于模型訓練,緩解了漢字在詞語中位置不同導致語義不同的問題。

詞位字向量包括兩個部分:第1部分是使用skip-gram模型基于大規模中文維基百科語料與爬蟲獲取的軍事領域語料聯合無監督訓練得到的字向量,維度為d;第2部分是基于軍事領域語料分詞結果采用獨熱編碼得到的詞位向量。由于字在詞中的位置只有詞的開頭字符、詞的末尾字符、詞的中間字符及單獨構成詞的字符4種,所以維度為4,并不會造成數據稀疏的問題。然后將字向量與詞位向量用首尾相接的方式進行拼接得到詞位字向量,使用該向量作為輸入,由筆者提出的BI-GRU-CRF模型進行訓練,具體訓練流程如圖6所示。

該模型通過查找操作將輸入的文本序列映射為詞位字向量序列,在訓練中引入了每個字在軍事詞語中的詞位特征。因此在軍事領域的實體識別中,該模型可以利用詞位字向量中蘊含的語言規律和語義知識來輔助軍事實體的識別,以提升實體識別的性能。

3 命名實體識別實驗

3.1 實驗數據

由于目前還沒有比較權威的軍事領域語料庫,因此筆者將采用網絡爬蟲技術收集中文百科網站中軍事領域的相關文本作為實驗語料,并對收集的文本進行特殊符號的處理、分詞、人工標注等預處理,總共獲得網絡軍事語料534 376字,并取其中80%作為訓練語料,剩余20%作為測試語料。另外,筆者在爬取數據時考慮到網絡百科頁面具有一定的結構性,因此制定了一系列爬蟲規則來預先獲取一部分實體,降低了標注實體的成本。

針對軍事領域主要定義了人名、軍用地名、軍事機構名、軍職軍銜、軍事裝備名、軍用物資名、軍事設施名7類實體,并采用“IOBES”標記方案對語料中的實體進行標記,具體標記方式如表1所示。

表1 軍事領域實體標記方案

3.2 實驗設置

為驗證文中所提出的軍事領域命名實體識別方法的性能,共設置了5個實驗。

實驗1:運用軍事知識及語言規律等構建特征模板,并基于特征模板使用訓練語料訓練條件隨機場模型,然后使用該模型在測試語料上進行命名實體識別,該實驗標記為CRF.

實驗2:使用由大規模語料無監督訓練得到的字向量構造查找層字典D,然后使用訓練語料訓練BI-LSTM模型,并用該模型在測試語料上進行命名實體識別,該實驗標記為BI-LSTM+CHAR.

實驗3:使用由2.2節所提出的詞位字向量構造查找層字典D,然后使用訓練語料訓練BI-LSTM模型,并用該模型在測試語料上進行命名實體識別,該實驗標記為BI-LSTM+POSI.

實驗4:使用由大規模語料無監督訓練得到的字向量構造查找層字典D,然后使用訓練語料訓練所提出的BI-GRU-CRF模型,并用該模型在測試語料上進行命名實體識別,該實驗標記為BI-GRU-CRF+CHAR.

實驗5:使用由2.2節所提出的詞位字向量構造查找層字典D,然后使用訓練語料訓練所提出的BI-GRU-CRF模型,并用該模型在測試語料上進行命名實體識別,該實驗標記為BI-GRU-CRF+POSI.

在訓練深度神經網絡模型時的超參數設置如表2所示。另外,筆者在模型訓練中還用到了防止訓練過擬合的Dropout技巧、緩和梯度消失或梯度爆炸的梯度裁剪技巧以及改進GRU單元輸出門的ReLU激活函數以提高模型的訓練效果。

表2 超參數數值

3.3 實驗結果分析

為了便于評估模型的識別性能,將采用SIGHAN規定的標準評估指標:準確率P,召回率R及F1值來對模型進行評估。其相應的計算公式如下:

(13)

(14)

(15)

在上述實驗設置下的5個實驗結果如表3所示。其中,表中所給出的準確率P、召回率R及F1值都是模型對各類命名實體識別效果的平均值。

表3 不同模型對軍事領域命名實體識別性能對比

對比分析表3中的實驗結果可知,筆者所提出的BI-GRU-CRF模型以及詞位字向量的方法對于提升軍事領域命名實體識別的性能均有一定的效果,且可以有效避免人工構建特征集。結合使用BI-GRU-CRF模型與詞位字向量的方法可以達到最好的效果,并且對軍事領域實體的識別效果接近于通用領域。具體而言,對比實驗4與實驗5(或實驗2與實驗3)可知,使用筆者提出的詞位字向量較基本字向量可以提升模型的識別性能,主要原因是詞位字向量將字在軍事詞語中的詞位信息引入到模型訓練中,使模型學習到了一定的軍事領域語言規律,可以更好地識別出語料中的復合詞實體,提升了模型性能。對比實驗2與實驗4(或實驗3與實驗5)可知,使用筆者提出的BI-GRU-CRF模型可以更加有效地識別出軍事領域實體,主要原因是該模型通過結合CRF層可以根據整條標記路徑的分值情況來判斷最終的標注結果,提升了模型的識別效果。

4 結束語

針對軍事領域命名實體識別準確率不高的問題,筆者根據其語言特點,提出了一種融合詞位字向量的命名實體識別方法。該方法利用詞位字向量將字在軍事詞語中的詞位信息引入到BI-GRU-CRF模型中進行訓練,有效增加了輸入向量的特征,并利用BI-GRU-CRF模型可較好完成序列標注任務的優勢,高效完成了軍事領域命名實體識別的任務。筆者在爬取的網絡百科軍事語料上對文中定義的人名、軍用地名、軍事機構名、軍職軍銜、軍事裝備名、軍用物資名、軍事設施名7類實體進行了命名實體識別,通過與其他命名實體識別模型以及基于基本字向量的方法進行對比,表明筆者所提出的方法可以較好地解決軍事領域命名實體識別的問題。下一步將對如何進一步融合領域特征提高命名實體識別效果進行研究。

猜你喜歡
語料命名向量
向量的分解
命名——助力有機化學的學習
聚焦“向量與三角”創新題
淺談視頻語料在對外漢語教學中的運用
可比語料庫構建與可比度計算研究綜述
有一種男人以“暖”命名
為一條河命名——在白河源
我是我自己的許多孩子〔外一首〕
向量垂直在解析幾何中的應用
向量五種“變身” 玩轉圓錐曲線
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合