武國亮,徐繼寧
(北方工業大學電氣與控制工程學院,北京 100144)
近年來,公共安全突發事件頻發。網絡的普及使得公共事件相關的有價值的信息散布在各類網絡文本中,事件抽取(Event Extraction,EE)在這類信息的挖掘和提取方面有著極其重要的作用。事件發生時,對社交網絡上的相關事件描述文本進行事件抽取,能夠及時地了解事態信息,使應急部門快速做出反應。在事件發生后,通過事件抽取對報道中事件信息的結構化提取,建立相應的案例庫,從而為下一步的事件分析和制定防范預案做有力的支撐。
事件抽取主要分為模式匹配方法[1-4]和機器學習方法[5-8]。在基于機器學習的事件抽取方法中,數據和特征決定模型學習的上限,因此提高數據質量和優化特征選擇顯得尤為重要。前者屬于數據采集和數據預處理范疇,難以通過對模型的改進來提高,但后者可以通過語義特征挖掘來實現。命名實體識別(Named Entity Recognition,NER)和事件抽取是信息抽取的兩個子任務,實體是事件抽取內容的組成部分,基于此學者們通過命名實體識別進行實體語義信息的挖掘,進而提高事件抽取任務的學習效果。Li等[5]提出了一個結構化預測模型,能同時實現實體、關系和事件三個信息抽取任務。Yang等[6]提出了篇章內的事件和實體聯合抽取模型,通過采用聯合因子圖模型來聯合學習每個事件內部的結構化信息、篇章內不同事件間的關系和實體信息。吳文濤等[7]提出了一種混合神經網絡模型HNN-EE(Hybrid Neural Network for Entity and Event Extraction),能同時對實體和事件進行抽取,深度挖掘了兩者之間的依賴關系。仲偉峰等[8]利用基于注意力機制的序列標注模型聯合抽取句子級事件的觸發詞和實體,通過多層感知機判斷實體在事件中扮演的角色。上述文獻都證實了實體識別能夠明顯提高事件抽取效果。
與英文事件抽取不同的是,中文語料中表達語義的基本單位為詞語,但詞語間沒有顯示間隔,且中文語料中存在著大量的多義歧義詞,如果分詞錯誤則會使模型對句子語義理解造成明顯的誤差,從而對事件抽取結果帶來負面影響。因此直接對中文語料進行分詞預處理的效果大幅度依賴分詞工具的準確性,適用性較弱。針對該問題,Zhang 等[9]基于長短期記憶(Long Short-Term Memory,LSTM)網絡提出一種用于命名實體識別任務的Lattice(點陣)機制,通過該機制有效地利用豐富的詞語邊界信息,將詞典融合到字符級的中文語料中使其附加詞語語義信息。Liu 等[10]對前者的工作進行了優化和拓展,直接在字向量中融入詞語向量,并采用4 種不同的方法對多詞同首和多詞同尾的特殊情況進行處理。Xue 等[11]將自注意力機制與Lattice機制進行融合形成新型點陣變換編碼器,能夠以批處理模型捕獲字符與匹配的詞語之間的依存關系,使模型處理速度得到明顯的提高。針對上述研究現狀,本文以開放領域的中文突發事件數據作為研究對象,對僅能獲取字粒度語義信息的雙向長短期記憶網絡-條件隨機場(Bidirectional Long Short-Term Memory network-Conditional Random Field,BiLSTM-CRF)事件抽取模型進行詞語維度和實體維度的語義特征增強,提出一種基于命名實體識別任務反饋增強的事件抽取改進模型FB-Latiice-BiLSTM-CRF(FeedBack-Lattice-BiLSTM-CRF)。該模型增加了命名實體識別輔助任務并將其輸出反饋至輸入端,反饋信息與輸入融合得到動態實體分詞結果;將Lattice 機制與雙向長短期記憶(Bidirectional Long Short-Term Memory,BiLSTM)網絡進行結合,使反饋得到的動態實體分詞信息通過該機制輸入到模型后增強輸入的實體語義特征,句子其他部分通過自組詞查詢得到相關詞語結果;最后通過最大化同方差不確定性的最大高斯似然估計方法對各任務損失進行了平衡處理。實驗結果表明,本文提出的改進模型相較于基準模型在事件抽取各項評價指標和模型訓練收斂速度上都有明顯的提升。
本文使用的實驗數據來源之一是中文突發事件語料庫(Chinese Emergencies Corpus,CEC)[12],該語料庫是由上海大學語義智能實驗室所構建。根據國務院頒布的《國家突發公共事件總體應急預案》的分類體系,從互聯網上收集了合計332篇地震、火災、交通事故、恐怖襲擊和食物中毒共5類突發事件新聞報道作為生語料,然后再對生語料進行文本預處理、文本分析以及一致性檢查等處理,最后將結果保存到語料庫中。與ACE2005(Automatic Content Extraction 2005)中文語料庫和TimeBank 語料庫相比,CEC 語料庫對事件和事件要素的標注更為全面。
由于訓練本文提出的神經網絡模型需要一定數量的數據,因此需要對原語料庫進行擴充。以CEC 語料庫的數據為參考,本文爬取了國家突發事件預警信息發布網“近期突發事件”和微博平臺“中國新聞網”發布的公共突發事件報道,通過數據篩選和數據清洗后,與CEC語料庫合并最終得到1 847篇實驗語料,共計206 383字符。
經過打亂數據排列順序獲得特征分布近似均勻的數據后,本文按照8∶1∶1 的比例將數據劃分為訓練集、驗證集和測試集。訓練集用于訓練模型參數;驗證集用于每隔一定的迭代之后測試模型的效果,從而及時保存訓練過程中達到更好效果的模型參數;測試集用于評估訓練完成的模型效果。
根據數據特征種類及稀疏程度,同時參考CEC 語料庫的數據標簽及標注內容,本文將事件抽取標簽重新定義并分為七類:事件觸發詞(Event Trigger Word)、事件類型(Event Type)、事發時間(Happened Time)、事發地點(Location)、事件參與者(Event Participant)、受影響對象(Affect Object)和受影響對象狀態變化(Affect State)。其中,受影響對象狀態變化是指該對象自身狀態因受到事件發生的影響而產生的改變,如房屋“被摧毀”,車輛“被損壞”,人員“被困”“受傷”“死亡”等。
本文設計的算法中使用命名實體識別作為輔助學習任務,因此需要定義命名實體識別的標簽信息。根據數據的特征定義了五類標簽,分別是:時間(Time)、地點(Location)、組織(Orgnization)、人(Person)和設備(Equipment)。
在本文實驗中,事件抽取任務和命名實體識別任務全部轉化為序列標注問題,并選擇BIO 標注法對數據進行標注。尾字母B 表示標簽對應的第一個字,I表示標簽對應的中間或最后一個字,O 表示無關字符。對訓練集進行事件抽取和命名實體識別聯合標注,對驗證集和測試集僅依據事件抽取標簽進行了標注。
雖然事件抽取和命名實體識別的標簽定義中有重合部分,但在標注方法上存在以下不同:
1)EE標注僅針對描述事件的信息,NER 標注針對所有符合實體標簽的信息。以時間信息標注為例:“中新網4月12日電據鞏義市政府新聞辦公室官方微博消息,4 月10 日22 時左右,鞏義市發生一起自備火車沖出避難線傾覆事故。”EE 標注只關注后半句中的事發時間“4月10日22時左右”,而NER 標注將句中的兩個時間實體信息全部進行標注。
2)EE標注以事件要素整體為單位,NER 標注以實體為單位。以地點信息標注為例,EE 標注和NER 標注對比如表1所示。

表1 在地點信息上標注事件抽取和命名實體識別Tab.1 Labeling event extraction and named entity identification on location information
BiLSTM-CRF 網絡結構如圖1 所示:首先將輸入文本通過Embedding 層進行字符編碼后輸入到BiLSTM 網絡中,再通過正反向傳播計算使得各字符融合相應的上下文語義信息;線性層對BiLSTM 層的輸出進行特征提取并將其維度調整到符合條件隨機場(Conditional Random Field,CRF)層的輸入維度要求;最后通過CRF 層學習標簽序列的潛在規則信息并計算出最優的預測序列進行輸出。

圖1 BiLSTM-CRF網絡結構Fig.1 BiLSTM-CRF network structure
BiLSTM-CRF 綜合了BiLSTM 對上下文的語義獲取能力和CRF 對序列預測結果的優化能力,使得其在處理事件抽取、命名實體識別等序列標注任務上展現出較好的效果。
2.1.1 LSTM
BiLSTM-CRF 的BiLSTM 網絡層主要由LSTM[13]神經元構成。LSTM是一種特殊的循環神經網絡,其單元內部結構如圖2所示。

圖2 LSTM單元內部結構Fig.2 Internal structure of LSTM unit
LSTM單元的內部結構為其增加了信息存儲和更新機制,而這些機制通過一系列門結構來實現,其中遺忘門ft選擇性丟棄一些傳遞信息,輸入門it整合該時刻的輸入信息,輸出門ot為輸出提供輸入分量信息,從而解決了循環神經網絡(Recurrent Neural Network,RNN)的長遠依賴問題。LSTM 單元內部信息計算公式如下:

其中:[a,b]表示向量a與向量b進行拼接操作;ht-1和ht分別表示神經元上一時刻和該時刻狀態的輸出信息;ct-1和ct分別表示神經元上一時刻和該時刻狀態的細胞狀態信息;表示候選細胞狀態,Wf、Wi、Wc和Wo表示權重,對應的偏置項為bf、bi、bc和bo。
2.1.2 CRF
CRF 是一種特殊的隱馬爾可夫模型。在序列標注任務中,模型雖然能夠直接預測輸出,但每個輸出的標簽前后之間沒有關聯性,難以符合標簽序列中隱含的規則。CRF 能夠學習標簽序列中的規則信息,例如輸出序列不能以LOC-I開頭、LOC-I 不能接在TM-B 后面等,從而大幅度提升了序列標注任務的準確率。
若CRF 層的給定序列為x=,標簽序列為,其最大條件似然估計公式如下:

其中:P表示原序列到預測序列對應的概率。定義s(x,y)為輸入序列到標簽序列的評分函數,則概率P計算公式如下:

基于單任務事件抽取基準模型BiLSTM-CRF 的缺陷,本文提出了一種基于命名實體識別任務反饋增強的事件抽取改進模型FB-Latiice-BiLSTM-CRF,主要結構如圖3 所示。針對基準模型僅能學習到字粒度語義特征的問題,本文將Lattice機制融入BiLSTM網絡,借用詞向量對輸入語料的語義增強效果提高了模型對數據特征的學習能力;此外通過增加命名實體識別任務預測輸出反饋機制,使模型獲得動態實體信息,為Lattice-LSTM機制提供了定向的實體分詞結果,減少實體部分自組詞數量大帶來的運算負荷;針對多任務損失不平衡問題,本文使用最大高斯似然估計的方法,使各任務的損失同方差不確定性最大化,從而實現各任務損失達到平衡,同時增加主輔任務控制系數引導命名實體識別任務輔助事件抽取任務的學習。

圖3 FB-Lattice-BiLSTM-CRF結構Fig.3 FB-Lattice-BiLSTM-CRF structure
2.2.1 Lattice-LSTM機制
中文語料的事件抽取和命名實體識別關注的目標一般是詞語或是詞語構成的短語,所以與分詞具有很強的關聯性,He 等[14]通過研究證實了將分詞結果的詞語信息作為輸入能夠增加語義特征從而有效的提升模型的性能。在序列標注任務中,將分詞結果融入輸入序列通常有兩類方法:一類是使用第三方工具直接對輸入語料進行分詞預處理,然后通過Embedding 層進行詞粒度嵌入,但這種方法的效果很大程度上取決于分詞結果的準確性。例如“南京市長江大橋”應分詞為“南京市,長江大橋”,也可能被分詞為“南京,市長,江大橋”,后者出現了歧義詞,將會對模型訓練產生負面影響。另一類是將遍歷的詞信息融入字粒度的輸入中,代表方法是Zhang 等[9]基于LSTM 網絡提出的點陣長短期記憶網絡(Lattice-Long Short-Term Memory network,Latiice-LSTM)機制,其主要結構如圖4所示。

圖4 Lattice-LSTM結構Fig.4 Lattice-LSTM structure
Lattice-LSTM 機制定義了一個新神經單元,如圖4 中陰影單元所示,其內部結構與LSTM 單元相似,唯一不同的是該單元沒有輸出門,即傳遞信息中只有細胞狀態c而沒有直接輸出信息h。此外,字嵌入和詞嵌入過程分別使用不同的Embedding網絡Ec和Ew進行。
若詞的長度為n,詞首字對應時刻的LSTM 細胞狀態信息為c1,則新單元將c1作為輸入,計算得到新單元輸出的細胞狀態cw;Lattice-LSTM機制會把詞信息融入詞尾字作為輸入對應時刻LSTM 網絡的輸入細胞狀態cn-1中,即新單元輸出的細胞狀態cw和cn-1進行拼接形成新的細胞狀態[cw,cn-1],由于新的細胞狀態維度與原維度不同,因此需要定義一個新的門來進行轉換,公式如下:

如果多個自組詞的詞尾指向相同位置字符,則進行歸一化處理后求和得到融合后的細胞狀態如下:

針對Lattice-LSTM 自組詞的詞量多,語義泛化增強可能引起特征過度增加的問題,本文將通常作為輔助任務的命名實體識別結果反饋到輸入端,和原始語料數據進行融合,從而形成實體分詞信息;再將分詞信息輸入到Lattice-LSTM 機制中進行定向詞信息融入。一方面,分詞信息的加入對事件抽取任務具有增強效果;另一方面,定向的實體分詞使得命名實體識別任務形成正反饋,能夠有效加速模型的收斂過程。與對訓練數據進行分詞預處理效果不同的是,該模型融合反饋信息的分詞結果是動態的,會隨著命名實體識別任務效果的提高而不斷優化,避免了因分詞錯誤而產生歧義的問題。
對于除實體以外包含動詞、介詞等的剩余句子部分,進行逐個字符遍歷,同時分別查詢從當前字符起的前2、3、4 個連續字符組合是否存在于中文詞典中,如果存在則返回自組詞結果。由于歧義性大且自組詞數量較多的實體部分已經得到確定結果,句子整體的自組詞數量會明顯減少,從而使Lattice-LSTM部分的運算量得到有效的優化。
2.2.2 多任務損失平衡
為了解決多任務損失失衡問題,Cipolla 等[15]提出一種通過最大化同方差不確定性的最大高斯似然估計的方法。該方法以回歸任務和分類任務為例進行了任務分析、方法定義和相應的公式推導。參考該方法解決多任務損失平衡問題的思路,本文對CRF 層輸出的序列標注任務定義了如下概率分布函數:



其中:L1(W)、L2(W)分別為事件抽取任務和命名實體識別任務的交叉熵損失;σ1和σ2是可學習參數,通過網絡訓練進行更新。隨著σ1和σ2的優化,各任務的損失將逐漸趨于平衡。
在FB-Lattice-BiLSTM-CRF 模型中,命名實體識別只是事件抽取的輔助任務,為避免兩任務在模型訓練后期出現過度對抗競爭的問題,增加超參數主輔任務控制系數K作為事件抽取任務關聯項的系數,總損失如下:

在模型訓練過程中,σ1和σ2的更新受到學習率的限制,使得兩任務的損失不會迅速達到平衡,因而即使超參數K取相同的值仍可以在模型的迭代過程中持續影響σ1和σ2的更新。若希望K能夠全程調節主輔任務在網絡中的作用,則要求K為一個變量。
本文的實驗環境為:操作系統Ubuntu 18.04,CUDA 10.01;GPU 1080ti,顯存11 GB;編程語言Python 3.7,機器學習框架Pytorch 1.6;編譯器Pycharm Profession
實驗參數如表2所示。

表2 實驗參數設置Tab.2 Experimental parameter setting
可學習參數σ1和σ2初始值為0.1。此外,經實驗測定K滿足{K|K2=d+4,K>0}時,模型有較好效果,其中d為迭代次數。
本文實驗中使用序列標注任務常用的準確率P(Precision)、召回率R(Recall)和F1(F1 值)作為模型性能的評價指標,計算公式如下:

其中:TP(True Positive)表示測試集中被正確識別的標簽數量,FP(False Positive)表示被錯誤識別的標簽數量,FN(False Negative)表示測試集中沒有被識別的標簽數量。
為了驗證模型的有效性,本文設置了三組對比實驗,各對比實驗模型分別是:
1)BiLSTM-CRF(單任務):基于BiLSTM-CRF 的單任務事件抽取模型,在本實驗中該模型為基準模型;
2)BiLSTM-CRF(多任務):基于BiLSTM-CRF 的事件抽取和命名實體識別多任務聯合學習模型,較基準模型增加了對實體語義特征的提取;
3)BiLSTM-CRF(多任務+Lattice 機制):基于Lattice-BiLSTM-CRF 的事件抽取和命名實體識別多任務聯合學習模型,該模型中的Lattice機制全部使用自組詞查詢結果,較基準模型增加對實體語義特征提取的同時,將詞語語義信息融入相應的字向量中。
此外,由于FB-Latiice-BiLSTM-CRF 模型存在輸出反饋機制,在訓練方式上與對比實驗模型不同。該模型單次迭代的訓練過程如圖5所示。

圖5 FB-Latiice-BiLSTM-CRF單次迭代訓練過程Fig.5 Single iteration training process of FB-Latiice-BiLSTM-CRF
四種模型在相同的超參數設置下進行訓練,訓練過程中分別取驗證集上有最好結果的模型進行保存,最后在測試集上進行事件抽取的預測結果如表3 所示。可以看出,實體維度和詞語維度的語義增強都對基準模型有明顯提升;同時,本文提出的FB-Latiice-BiLSTM-CRF 相較于基準模型,在準確率、召回率和F1 值分別提升了7.63、4.41 和5.95 個百分點,驗證了針對基準模型缺陷進行的模型結構改進和損失平衡優化是有效的。

表3 四種事件抽取模型在測試集的結果評價 單位:%Tab.3 Result evaluation of four event extraction models on test set unit:%
FB-Latiice-BiLSTM-CRF 模型由于將輸出結果反饋到輸入,實體分詞位置信息與結果預測的實體位置信息相同,在命名實體識別任務上相當于正反饋作用,這會加速該任務的訓練過程,進而提高整個模型訓練的收斂速度。本模型和基準模型在驗證集上F1值評價變化如圖6所示。

圖6 模型訓練過程中在驗證集上的F1值曲線Fig.6 F1 value during model training on verification set
針對BiLSTM-CRF 模型在中文突發事件抽取任務上可學習語義特征維度較低的問題,本文提出了端到端的改進模型FB-Latiice-BiLSTM-CRF。該模型通過增加命名實體識別任務輸出反饋機制和Lattice 機制,使用最大化同方差不確定性的最大高斯似然估計方法平衡各任務損失,提高了模型對詞語和實體語義特征的學習能力。對比實驗表明,改進后的模型在準確率、召回率和F1 值上均有明顯提升,同時提高了模型訓練中的收斂速度。該改進方法未對模型中間層進行限制,因此也可應用于其他使用LSTM 或門控循環單元(Gate Recurrent Unit,GRU)網絡為底層網絡的語言模型中,例如增加注意力機制的BiLSTM-Att-CRF(Bidirectional Long Short-Term Memory network-Attention-Conditional Random Field)模型,以BiLSTM 作為Encoder 的Seq2Seq 模型,預訓練語言模型ELMo(Embeddings from Language Models)等。
本文提出的模型由于存在輸出反饋機制,使用通用方法進行模型訓練時,復雜度有所提高;此外,模型中主輔任務控制系數K的測定還缺少針對性的研究,目前只是在小范圍值域內進行了局部優化。今后將針對這兩個方向做進一步研究探索。