呂江海,杜軍平,周 南,薛 哲
(北京郵電大學計算機學院智能通信軟件與多媒體北京市重點實驗室,北京 100876)
隨著移動互聯網的飛速發展,社交網絡隨時都在產生大量的數據,微博已經成為社交網絡中最為主要的數據來源之一。微博具有短文本、高實時、傳播迅速、用戶量大的特點,如何從社交網絡微博大數據中提取有關國民安全的實體名信息并將其進行結構化的展示,已經成為目前社交網絡輿情分析和監管的急切需求。
近年來,深度學習在自然語言處理(Natural Language Processing,NLP)領域取得了巨大的成功,而構建知識圖譜是自然語言處理的重要任務。利用大量短文本提取其中有效的特征,從而提取出實體名和實體關系是構建知識圖譜的關鍵。為了使提取的特征向量更加精確,深度學習模型廣泛采用注意力機制,注意力機制是由人類總結生活環境的習慣規律得到的。人類在觀察某一事物時,通常只關注事物的局部信息而往往忽略事物的不同局部信息之間的聯系以及不重要的冗余信息。為獲得事物的完整有效信息,需要引入注意力機制來學習不同局部信息的重要性,從而構建完整的事物特征。
本文提出一種基于迭代膨脹卷積神經網絡與注意力機制的實體名識別方法IDCNN-ATT-CRF。采用膨脹卷積提取文本特征,使向量矩陣感受野以指數增加的速度進行擴展,在模型訓練時利用GPU 的矩陣并行計算加快訓練網絡的收斂速度并準確提取文本的特征。本文利用單詞的詞性對提取出的特征進行注意力加權,從而優化模型結構。
對社交網絡中與國民安全相關的內容進行構建知識圖譜具有重要的研究意義,而實體名識別是構建知識圖譜的基礎。近年來,引入注意力機制對矩陣向量進行加權成為深度學習的一個研究熱點。此外,卷積神經網絡及其變種方法由于在實際使用中具有廣泛的應用場景和較好的學習性能,已成為神經網絡中最重要的模型之一。
文獻[1]提出了基于n-gram 特征的局部上下文和通過卷積神經網絡進行的字嵌入方法GRAM-CNN,該方法基于n-gram 和CNN 進行字嵌入,使用了單詞周圍的局部信息提升實體名識別效果。文獻[2]提出一種新穎的神經網絡架構,它通過使用雙向長短期記憶-條件隨機場(Bi-directional Long Short-Term Memory-Conditional Random Field,BLSTM-CRF)模型自動地從文本特征中提取出有效特征并結合文本語法規則,從而保證了文本特征向量中的規范性和準確度。文獻[3-4]提出一種基于SVM-BLSTM-CRF 的神經網絡模型,利用支持向量機(SVM)篩選出包含關鍵命名實體的句子,然后將正確包含此類實體的句子轉化為字符級向量作為輸入,并構建適合命名實體識別的雙向長短期記憶神經網絡-條件隨機場深層神經網絡模型。文獻[5-6]結合豐富的特征集,包括局部特征、全文特征和外部資源特征,根據不同的特征和不同的特征組合對系統的貢獻進行了評測和實驗,同時為進一步提高系統的性能,還引入了縮寫詞識別模塊和過濾器模塊。文獻[7]針對雙向長短時記憶網絡模型提取特征不充分的特點,將字向量和詞向量同時作為雙向長短時記憶網絡的輸入,并利用注意力機制分別提取兩者對當前輸出有用的特征,用維特比算法約束最終輸出的標簽序列,構建一種新的命名實體識別模型。文獻[8-9]提出了雙卷積神經網絡-長短期記憶神經網絡(Convolutional Neural Networks-Convolutional Neural Networks-Long Short-Term Memory,CNN-CNN-LSTM)模型,包括卷積字符和字編碼器以及長期短期記憶(LSTM)標簽解碼器。該模型在標準數據集上獲得了較好的性能,同時在計算復雜度上比其他模型更優。文獻[10-11]通過結合雙向LSTM、CNN和CRF介紹一種新穎的中性網絡體系結構,該結構受益于單詞和字符級表示,是真正的端到端系統,不需要任何功能工程或數據預處理,適用于各種序列標記任務。
文獻[12-13]提出一種結合注意機制的長文本分類方法。首先用段落向量表示一個句子,建立一個段落向量和文本類別的神經網絡注意模型來計算句子的注意力。然后根據句子對類別的貢獻對句子進行過濾,該值為句子注意向量的均方誤差。最后構造基于卷積神經網絡的分類器。過濾后的文本和注意矩陣分別作為網絡輸入,最大池用于特征過濾,使用隨機輟學來減少過度擬合。文獻[14]提出一種將LSTM 模型與注意力機制相結合的關系抽取方法。將文本特征矩陣投入雙向LSTM 模型,引入注意力機制對得到的特征矩陣賦予權重,最后將文本的局部特征和全局特征進行融合。文獻[15]提出一種基于實體對的注意力機制,該機制專門用于關系分類。對于特定實例(實體對,句子),相應的實體對信息作為先驗知識被合并,以自適應地計算注意力權重生成句子表示。文獻[16]提出一種基于注意力機制的LSTM 模型,以微博相關評論為目標事件文本,分析網絡用戶對該事件的情感趨向。
文獻[17]提出一種基于密集預測的卷積網絡模塊,該模塊使用膨脹卷積系統地聚合多尺度上下文信息來獲得特征。文獻[18]提出一種新型的VAE 解碼器:IDCNN。通過改變解碼器的擴張架構,該模型可以控制先前生成單詞的有效上下文。文獻[19-20]提出一種多尺度膨脹卷積深層神經網絡云識別方法,該方法包含深層特征編碼模塊、局部多尺度膨脹感知模塊以及云區預測解碼模塊,聯合多尺度膨脹卷積和池化層共同感知,每層操作連接非線性函數,以提升網絡模型的表達能力,實驗結果表明,該方法的檢測精度較高,Kappa 系數顯著提升。文獻[21]使用在線醫療問答網站的數據,采用{B,I,O}標注體系構建數據集,抽取疾病、治療、檢查和癥狀4個醫療實體,以BiLSTM-CRF 為基準模型,提出2 種深度學習模型IndRNN-CRF 和IDCNN-BiLSTM-CRF,并在自構建數據集上驗證模型的有效性。
本節主要介紹IDCNN-ATT-CRF 方法的具體流程及總體架構。
IDCNN-ATT-CRF 方法總體架構如圖1 所示,該架構主要分為嵌入模塊、膨脹卷積網絡模塊、注意力機制模塊和CRF 模塊。

圖1 IDCNN-ATT-CRF 實體名識別的網絡結構Fig.1 Network structure of IDCNN-ATT-CRF entity name recognition
嵌入模塊負責將數字標號映射到對應的向量空間中,文字的向量空間由Word2vec 模型訓練得到,單詞長度、詞性的向量空間由隨機正態分布進行嵌入。膨脹卷積網絡模塊對文本矩陣和單詞長度矩陣進行特征提取。普通CNN 模型卷積之后,末層神經元只能獲取原始輸入數據中一小塊的信息。而在實體名識別任務中,輸入文本中的每個字都有可能影響當前字符的標簽。為了覆蓋到全部的輸入文本就需要添加更多的卷積層,導致卷積層數變深,參數大幅增加。而防止模型出現過擬合又要加入更多的Dropout 層之類的正則化,引入更多的超參數,整個模型變得龐大且難以訓練,為增大卷積的感受野,傳統CNN 模型的一個解決方法是增加Pooling 層減小矩陣尺寸增大感受野,然后通過Upsampling 層擴大矩陣尺寸,在經過Pooling 層和Upsampling 層后,一些矩陣信息會丟失,造成信息特征提取結果不準確。而BLSTM 雖然能夠完美地解決長距離依賴問題,且模型參數較少,不會產生過擬合問題,但它本質上是一個序列模型,在對GPU 并行計算的利用上不如CNN 強大,造成訓練時間較長。為利用GPU 高效的矩陣并行計算能力,又能不通過Pooling 也能有較大的感受野看到更多的信息,使模型的參數不會過擬合并充分保證文本信息的完整性和文本的上下文關聯信息,本文提出基于膨脹卷積迭代的特征提取方法為GPU 提供一個運行環境,像LSTM 一樣用簡單的結構記住盡可能多的輸入信息,從而解決長距離依賴而產生的上下文相關性丟失的問題。
膨脹卷積為濾波器設置了一個膨脹步長序列,它會忽略所有處于膨脹步長中的輸入數據,同時保持濾波器的大小不變。隨著卷積層數的增加,模型的參數線性增加,而視野域卻是指數擴散的。本文的文本矩陣大小相對于圖片矩陣較小,故每個膨脹卷積單元設置3 次迭代循環,由于單個膨脹卷積單元未考慮處于膨脹步長中間的輸入數據,為充分利用輸入數據的有效信息,因此將單個膨脹卷積單元的前2 次循環的膨脹步長都設置為1,使數據向量的每一個特征都會被膨脹卷積所提取,膨脹卷積的感受野擴展為3×3,第3 次循環的膨脹步長設置為2,以加快向量特征的提取速度。使膨脹卷積的感受野由3×3 的窗口擴展為7×7 的窗口。雖然將前2 次膨脹步長設置為1 會造成訓練時間變長,但是膨脹卷積模型的訓練速度依然比傳統的LSTM 模型速度大幅提高,若只設置第一次膨脹步長為1,會造成輸入數據特征提取一定程度的失真,使最后的評價指標降低。為兼顧特征提取的準確性和模型運算速度,將膨脹步長前2 次設置為1 是比較有效的方法。為保證向量特征提取的有效性又不至于使參數過多,采用4 個膨脹卷積單元進行迭代和堆積,其中前一個膨脹卷積單元的輸出結果作為后一個膨脹卷積單元的輸出結果,然后將每一個膨脹卷積單元的輸出結果進行堆疊作為膨脹卷積模塊的輸出向量,充分提取了輸入數據的有效特征。使用注意力機制模塊,給每一個特征分配權重,使經過膨脹卷積模塊后得到文本和單詞的向量特征更加精確。注意力機制的基本思想就是讓系統學會注意力——能夠忽略無關信息而關注重點信息,從而使矩陣中的有效特征放大,無效特征得以忽略。
本文采用軟注意力機制,該注意力更關注區域特征信息,而且軟注意力是確定性的注意力,訓練學習完成后可以直接通過網絡生成,最重要的是軟注意力是可微的,可微分的注意力就可以通過神經網絡算出梯度,并且根據前向傳播和后向反饋來學習得到注意力的權重。而強注意力是更加關注局部點,它是一個隨機的預測過程,更關注動態變化,關鍵是強注意力是一個不可微的,訓練過程不能通過神經網絡的反饋活動進行學習,通常只能通過增強學習來完成。軟注意力機制模塊首先定義一個初始的權重變量,利用詞性向量矩陣對權重變量進行校正,得到權重矩陣對文本和單詞特征進行加權,輸出注意力加權后的特征向量。首先對于不加CRF 層的模型網絡,往往每個輸出的標簽是貪心地進行選取得到,這種方案的結果沒有考慮到標簽之間的關系,往往會造成最后的結果不符合正常模式,加入CRF層后,CRF 層會根據訓練語料去學習其中存在的模式。CRF 有兩個概念,即注意力加權后的向量矩陣和轉移矩陣。注意力加權后的向量矩陣為神經網絡輸出各個Tag 的置信度;轉移矩陣為CRF 層中各個Tag 之前的轉移概率。CRF 模塊利用一個傳輸矩陣將注意力加權后的向量和標簽向量進行聯合訓練,得到網絡的損失函數值和更新后的傳輸矩陣。
社交網絡國民安全的微博數據集經過去停用詞、去無效文本后得到規范的數據集。定義數據集由n個四元組構成,O=其中,ci表示文本的字符數據,wi表示詞語的長度信息,若詞語長度為1,則標記為0,若詞語長度大于1,則首尾分別標記為1、3,中間字符標記為2,pi表示詞語的詞性信息,每一個字符都需要標記詞性,yi表示對應的實體標簽。數據oi=(ci,wi,pi,yi)經過詞嵌入模塊后得到,分別為char、seg、pos、tag,其中,char 和seg 輸入IDCNN 網絡,設置膨脹步長θ={1,1,2},分別經過不同擴展步長的膨脹卷積迭代,并循環提取4 次膨脹卷積特征后輸出4 個高維度特征的膨脹向量。將4 個膨脹向量進行堆疊得到文本的邏輯向量H和詞性向量pos,同時投入到注意力機制模塊中,pos 利用軟注意力機制對邏輯向量H進行加權,輸出注意力加權后的向量logits。將logits 和tag 投入到CRF 模塊中,CRF 模塊會利用一個傳輸矩陣對logits 進行修正,最終輸出預測結果和loss 值。
采用迭代膨脹卷積網絡能反復利用單位迭代膨脹卷積,將每一次輸出的結果作為下一次單位迭代膨脹卷積的輸入,使參數以線性速度增加的同時,卷積視野域以指數速度增加。將向量xt作為網絡輸入,t表示向量的序號,0≤t 將膨脹卷積結果投入膨脹卷積網絡進行迭代,經過j次迭代后,第一次循環的迭代方程式如式(2)所示: 第k次循環中3 次迭代結束后得到第k次循環的膨脹向量重新投入膨脹卷積網絡模塊中,重置j=1,k=k+1最終輸出第k次循環后的膨脹向量結果如式(3)所示: 定義堆疊函數為B(·),為了在沒有過擬合的情況下加入更廣泛的上下文且不引入額外的參數,對膨脹向量進行堆疊,當k≥1 時如式(4)所示: 堆疊4 次膨脹向量的結果,最終得到膨脹卷積網絡模塊的輸出為了防止過擬合,使用dropout(·)函數對進行隨機失活得到邏輯向量H,如式(5)所示: 本文引入注意力機制從邏輯向量集合中抽取特定的向量進行加權組合,輸出結果取決于注意力矩陣對輸入矩陣賦予的權重。定義邏輯向量集合為H={h0,h1,…,hn},額外信息為詞性矩陣P={p0,p1,…,pn},tanh(·)為激活函數。為了使詞性信息能對目標向量集合賦予權重,分別使用權重矩陣W1、W2對H和P進行仿射變換使向量空間維度相同。將變換結果輸入tanh(·)激活函數中得到聯合特征向量,如式(6)所示: 本文采用軟注意力機制,為了歸一化聯合特征向量的權重矩陣,利用softmax(·)函數對進行權重打分得到每一個輸入的權重,如式(7)所示: CRF 層可以向最后預測的標簽添加一些語法約束,以確保預測的標簽是合理的。本文在CRF 中輸入加權后的文本向量矩陣,就可以輸出得到每個單詞的標簽的概率矩陣。根據真實標簽,在概率分布矩陣中找到相對應的預測標簽值。比較標簽路徑,產生整個句子的誤差,并將該誤差反饋給CRF 層的訓練網絡,調整傳輸矩陣的參數并返回損失函數值和最終的標簽預測值。 本文采用2 個數據集對各實體名識別方法進行性能評測。第1 個數據集采用搜狗新聞數據集,搜狗新聞數據集一共有50 452 條微博,合計2 397 767 個字。由于搜狗新聞數據集是官方公布的數據集,因此該數據集比較準確且噪聲較小,可全部用于實驗訓練及測試。47 176條數據合計2 220 536個字符樣本用于訓練,342 890 個字符為實體字符,另外3 276 條數據合計177 231 個字符樣本用于測試,27 849 個字符為實體字符。社交網絡國民安全的微博數據集主要爬取了天津爆炸事件相關數據集,它包含了較大的噪聲和無效數據,對其進行數據預處理后得到9 734 條微博數據。通過人工標注標簽,7 784 條微博數據總共428 019 個字用于模型訓練,其中73 332個字符為實體字符,1 950條微博數據總共105 210 個字的樣本用于測試,其中19 403 個字符為實體字符。各個模型分別對不同數據集訓練迭代20 次。 使用BLSTM、BLSTM-CRF、BLSTM-ATT-CRF、IDCNN、IDCNN-CRF、IDCNN-ATT-CRF 等方法分別在搜狗新聞數據集和社交網絡國民安全的新浪微博數據集進行對比實驗,實驗分別測量人名PER、地名LOC、組織名ORG、時間名TIME 在Precision、Recall、F1-score 等指標的結果以及各模型訓練的耗時。對于BLSTM 做文本分類,相當于將每個詞作為一個時間節點,把詞向量作為每個單元的輸入特征,組合前向以及后向來構成雙向特征,計算后每個單元有個狀態特征以及輸出特征,文本分類一般組合每一個單元的輸出特征,然后通過注意力層給輸出特征進行加權,最后用一個全連接層來做分類。BLSTM 最大的優勢是考慮了兩個單詞之間的長距離依賴關系,擁有強大的記憶能力,且對變長的文本處理具有較大優勢。 本文的輸入數據為定長的文本向量,每個字符進行詞向量嵌入,構成具有圖片數據類似的文本輸入向量。對于迭代膨脹卷積的好處是不做Pooling損失信息的情況下,加大了感受野,讓每個卷積輸出都包含較大范圍的信息,通過設置兩個大小為1 的膨脹步長來保證膨脹卷積單元提取完整的文本信息,設置大小為2 的膨脹步長來擴散膨脹卷積單元的視野域,并且IDCNN 可以充分利用GPU 進行并行計算的優化能力并且保持了文本上下文之間的相關性,在模型指標相差不大的情況下使得模型的訓練速度比BLSTM 模型大幅提升。采用軟注意力機制,注意力權重矩陣會對每一個單詞的重要程度給予文本向量特征分配不同大小的權重,訓練學習一個權重向量來得到最好的輸出向量。表1~表4 為各模型在搜狗新聞數據集訓練迭代20 次的實驗結果。F1-score 是Precision 和Recall 的調和平均數,能綜合反映Precision 和Recall,故主要從F1-score 指標進行結果分析。 表1 人名實體在各模型的指標比較Table 1 Comparison of indicators of human name entity in each model 表2 地名實體在各模型的指標比較Table 2 Comparison of indicators of place name entity in each model 表3 組織名實體在各模型的指標比較Table 3 Comparison of indicators of organization name entity in each model 表4 時間實體在各模型的指標比較Table 4 Comparison of indicators of time entity in each model 由表1 可知,在新聞數據集中,BLSTM 與IDCNN在人名實體上的F1-score 值分別為82.10%與81.50%。添加CRF 模塊后,F1-score 值分別是89.70%與88.50%,評價指標分別提升了8.6%與7%,引入注意力機制后,F1-score 指標分別達到91.08%與90.25%,評價指標再度提升1.38%與1.75%。由表2 可以看出,在地名實體上的F1-score 值分別為80.80%與81.25%,添加CRF 模塊后,F1-score 值分別是90.94%與90.01%,評價指標提升了10.14%與8.76%,引入注意力機制后,F1-score 指標分別達到91.70%與91.35%,評價指標再度提升0.76%與1.34%。由于中文人名和地名實體在語法的位置相對固定,因此添加CRF 模塊后,人名和地名實體的識別率提升了8%~10%左右。由于添加CRF 模塊后人名與地名的評價指標已經高達90%左右,引入注意力機制后的評價指標的提升效果不明顯,只提升了1%~2%。由表3 可以看出,在新聞數據集中,BLSTM 與IDCNN在組織名實體上的F1-score值分別為74.69%與73.74%,添加CRF 模塊后,F1-score 值分別是85.08%與82.45%,評價指標分別提升了10.77%與8.71%,引入注意力機制后,F1-score 指標分別達到86.63%與84.33%,評價指標再度提升1.55%與1.88%。由表4 可以看出,在新聞數據集中,BLSTM 與IDCNN 在時間實體上的F1-score值分別為88.85%與73.74%,添加CRF 模塊后,F1-score值分別是98.23%與97.05%,評價指標分別提升了9.38%與8.53%,引入注意力機制后,F1-score 指標分別達到99.30%與99.43%,評價指標再度提升1.07%與2.38%。 對比表1~表4 可以看出,各模型方法在組織名實體識別的評價指標比人名與地名實體的評價指標低6%~8%,比時間實體的評價指標低14%左右。這是由于組織名具有口語化的特點,例如國家發展和改革委員會簡稱發改委,然而實驗模型可能無法理解發改委的含義,導致組織名識別錯誤。組織名實體還具有語言結構不規則的特點,例如北京紅十字會,模型可能將其識別為地名和組織名兩種類型的實體,導致實體識別不完整,影響了組織名實體的評價指標。值得注意的是,時間實體識別的評價指標非常高,時間實體包含典型的字符,例如數字后為年、月、日,或出現比較明顯的代表時間含義的字符,故識別效果非常好。對比各模型新聞數據集在迭代訓練20次的耗時長短,可以看出CNN 模型耗時12 min左右,而LSTM 模型耗時30 min 以上,訓練速度提升290%左右。綜合而言,在評價指標相差不大的同時,基于CNN 的模型比基于LSTM 的模型具有更低的訓練耗時?;谧⒁饬C制的訓練方法比無注意力機制的訓練方法實體名識別率提升2%左右。 圖2 顯示了各模型在微博數據集每次迭代的耗時及其對應的F1-score 值。由圖2 可以得知,在微博數據集上,BLSTM 模型前幾次迭代的F1-score 值比IDCNN 高,且樣本訓練較少的輪次就可以得到較高F1-score 值,但20 次訓練迭代結束后,IDCNN 與BLSTM最終的F1-score 值幾乎相同,而BLSTM 模型迭代訓練20 次的總耗時為701 s,與之相比IDCNN 僅需262 s 就可以完成20 次迭代訓練。 圖2 各個實體名識別方法的訓練時長及其對應的平均F1-score 值Fig.2 Training time and average F1-score value for each entity name recognition method 圖3 展示了在社交網絡微博數據集上不同模型指標的對比情況。從圖3 可以看出,微博數據集的評價指標普遍低于新聞數據集,這是由于微博數據量較少,且微博數據具有不規則、字符信息雜亂、表達口語化、文本稀疏等問題,從而造成文本數據的特征缺乏有效性,模型無法得到充分的訓練,最終導致各指標均比新聞數據低3 個~10 個百分點,其中人名實體和地名指標降低了4%左右,組織名實體指標降低了10%左右,時間實體指標降低了0.5%左右。微博數據集在不同模型之間的性能對比和新聞數據集具有相似的結果。單一的深度學習模型IDCNN 與BLSTM 在人名實體的F1-score 值為73%左右,引入注意力機制加權且添加CRF 模塊修正后F1-score 值大約提升13%左右;在地名實體的F1-score 值為75%左右,引入注意力機制且添加CRF 模塊后F1-score值大約提升11%左右;在組織實體的F1-score 值相對其他類型實體較低,大約為65%,引入注意力機制加權且添加CRF 模塊修正后F1-score 值大約提升10%左右;在時間實體名識別的F1-score 值非常高,達到87%左右,經引入注意力機制且添加CRF 模塊后F1-score 值大約提升12%左右。 圖3 人、地、組織和時間實體在各模型的指標比較Fig.3 Comparison of indicators of human names,place names,organizations and time entity in each model 綜合而言,IDCNN 與BLSTM訓練20 輪次后在F1-score 值相差不大,添加CRF 模塊后F1-score 值提升了7%~11%,引入Attention 機制后模型的F1-score值提高1%~3%,訓練速度IDCNN 比BLSTM 提高了267%。 本文提出一種基于迭代膨脹卷積神經網絡與注意力機制的實體名識別方法。采用特殊步長的膨脹卷積模塊對文本信息進行特征提取,引入注意力機制使文本特征更加精確,并添加CRF 模塊使文本特征符合語法約束。實驗結果表明,本文實體名識別方法較BLSTM 等典型方法訓練速度大幅提升,實體名識別的準確性也明顯提高,能夠有效兼顧實體名識別的準確率和模型的訓練速度。構建知識圖譜的基礎是實體名識別和實體關系抽取,下一步將對實體關系進行抽取,利用基于BERT 的BGRU-CRF 模型抽取文本中的實體關系(三元組)來提高實體關系抽取的準確性,最終運用實體名識別的結果結合實體關系的結果進行知識圖譜的構建。




3.2 注意力網絡層



4 實驗結果與分析
4.1 實驗數據集
4.2 新聞數據集下各模型的實驗對比




4.3 微博數據集下各模型的實驗對比


5 結束語