王 紅,祝 寒,林海舟
中國民航大學 計算機科學與技術學院,天津300300
航空安全事故因果關系的分析是預防和避免航空安全事故的有效手段,隨著民航業的發展,航空不安全事故的原因呈現多元性和復雜化,事故因果關系分析面臨新的難題。目前對航空安全事故因果關系分析的研究主要采用基于數據統計的方法分析事故原因的分布情況[1-2],或采用貝葉斯網絡[3]、復雜網絡[4]分析已知原因對事故結果的影響概率分布,這些方法均不能有效挖掘航空安全事故發生與發展的完整過程,故研究航空安全事故因果關系的抽取,對于航空安全事故的情景重現與深入分析具有重要的意義。
因果關系抽取是獲取事故發展過程的必要工作。根據文本中是否含有因果提示詞,因果關系一般可劃分為顯式因果關系和隱式因果關系,抽取方法包括基于模式匹配的方法和基于機器學習的方法兩大類[5]:(1)顯式因果關系抽取一般采用模式匹配法[6-9],該方法抽取的準確率較高、可解釋性強、過程透明,但不適用于隱式因果關系的抽取;(2)因果關系是關系的一種,關系抽取中常用的機器學習方法可用于隱式因果關系的抽取。常見的有卷積神經網絡[10-11](Convolutional Neural Network,CNN)、循環神經網絡[12](Recurrent Neural Network,RNN)、長短期記憶網絡[13-14](Long Short-Term Memory networks,LSTM)等,但上述模型大都需要借助外部知識庫或自然語言處理工具來選擇高質量的特征,關系抽取效果受所選特征優劣性的影響。Zhou 等[15]采用加入注意力機制的雙向LSTM 模型來抽取名詞性實體間的關系,僅將帶有實體位置指示的句子集作為輸入(Att_BiLSTM+PI),不依賴外部知識庫或自然語言處理工具的特征,就能捕獲句子的語義信息。由google機器翻譯團隊首次提出的自注意力機制[16],是對注意力機制的一種改進[17],減少了對外部信息的依賴,更擅長捕捉數據或特征的內部相關性。因此,本文充分利用自注意力機制能夠更全面地捕獲句子語義信息這一優勢,對Zhou 等提出的(Att_BiLSTM+PI)方法進行了改進(self-Att_BiLSTM+PI),并將改進后的方法應用于航空安全事故隱式因果關系的抽取,旨在獲得更好的因果關系抽取效果。
本文將模式匹配方法應用于航空安全事故顯式因果關系的抽取,將自注意力機制與雙向LSTM方法相結合,且僅將帶有事件觸發詞位置標識的句子集作為輸入(用self-Att_BiLSTM+PI表示),應用于航空安全事故隱式因果關系的抽取,研究思路如圖1所示。
(1)文本預處理。以從世界航空安全事故調查報告(http://safety.caac.gov.cn/index/initpage.act)中所提取的955 篇航空安全事故文本為基礎,通過去噪、分句等處理,生成有邏輯語義的句子,分詞并判斷句子中是否含因果提示詞,若有則進行顯式因果關系抽取,否則進行隱式因果關系抽取。
(2)顯式因果關系抽取。根據航空安全事故調查報告的文本特點歸納句法模式、構造抽取模板,并設計抽取規則,抽取原因子句和結果子句,采用依存句法分析得到子句中包含的事件元組,從而獲得顯式因果關系事件元組對。
(3)隱式因果關系抽取。采用詞性過濾和依存句法分析相結合的方法抽取每個句子中包含的事件,并兩兩組對,采用self-Att_BiLSTM+PI方法對事件元組對的關系進行分類,獲得隱式因果關系事件元組對。
(4)因果關系圖的生成。將所有事件元組映射為航空安全領域本體中的表示方式。對于每個事故,以事故文本標題中的事件為源節點,遍歷因果關系事件對集合查找與源節點相關的事件,生成因果關系圖。

圖1 航空安全事故因果關系抽取研究框架
顯式因果關系是指在句子中含有因果提示詞的因果關系,因果提示詞在句子中的位置主要分為居端式、居中式和配套式。本文在分析了數據集文本特征的基礎上,歸納了適用于本領域因果關系抽取的5類因果提示詞,每類提示詞對應的因果句法模式如表1 所示,其中pi表示第i 種句法模式。
為更準確地識別和抽取出句子中的原因和結果子句,設計了對應的5種抽取匹配規則:

表1 因果句法模式及因果提示詞對應表
(1)規則1
if w1∈cue1 and wi∈mark
then si∈p1
causep1={w2,w3,…,wi} and
effectp1={wi+1,wi+2,…,wn}
(2)規則2
if wi∈cue2 and w1?cue4
then si∈p2
causep2={ }w1,w2,…,wi-1and
effectp2={ }wi+1,wi+2,…,wn
(3)規則3
if wi∈cue3 and w1?cue6
then si∈p3
effectp3={ }w1,w2,…,wi-1and
causep3={ }wi+1,wi+2,…,wn
(4)規則4
if w1∈cue4 and wi∈cue5
then si∈p4
causep4={ }w2,w3,…,wn-1and
effectp4={ }wi+1,wi+2,…,wn
(5)規則5
if w1∈cue6 and wi∈cue7
then si∈p5
effectp5={w2,w3,…,wi-1} and
causep5={wi+1,wi+2,…,wn}
其中,si表示文本中的第i 個句子,{ }wm,…,wn表示句子中從第m 個詞到第n 個詞之間的文本內容,mark 表示句子中的標點符號逗號,cause 表示原因,effect 表示結果。
自注意力機制是注意力機制的改進,減少對外部信息的依賴,捕捉數據或特征的內部相關性,通過關注同一序列內部所有位置的詞來計算序列中某個位置的詞對句子語義的影響程度,能夠更好地學習句子的內部知識。位置標識是指事件元組中觸發詞在句中的位置,該特征是句子內部的一種特征。基于self-Att_BiLstm+PI的隱式因果關系抽取模型包括以下幾個層:
(1)Embedding層。一個包含n個詞的句子序列s,經訓練后得到該句子序列的向量化表示其中第i 個詞對應的詞向量表示是句子詞向量,是位置標識,而=是由該句中其他詞與觸發詞的相對位置構成的向量,vi是一個由0 和1 組成的向量,值為1 是觸發詞,為0則是其他詞。
(2)雙向LSTM 層。LSTM 模型中包含許多神經網絡模塊,這些模塊通過參數共享達到傳遞信息的目的。雙向LSTM 包含一個正向的■ →■ ■■ ■■■■■■ ■■和一個反向的,能夠更全面地捕獲上下文信息。

(3)自注意力層。為將變長的句子編碼成固定長度的向量或者矩陣,使用H 中n 個LSTM 隱向量的線性組合來表示。引入self-attention 機制,讓不同的詞有不同的重要性。

其中,H ∈Rn×2u是所有隱藏狀態h 的集合,u 是單向LSTM隱藏單元數量,w1是權重矩陣,w2是參數矩陣,由此得到矩陣級別的句子表示M 。
(4)輸出層。使用softmax 分類器得到句子s 中因果關系事件對的關系分類結果標簽

根據中國民用航空局《民用航空器事故和飛行事故征候調查規定(CCAR395-R1)》中的規定,航空器事故是航空器飛行事故和航空器地面事故的總稱。圖2 給出了領域本體中[18-19]的因果關系的主要構成,其中類別的下標格式為“X,XX,XXX,…”,即第1 位表示一級類別,2~3位表示二級類別,4~6位表示三級類別。
航空安全事故顯式因果關系的抽取,主要包括因果關系子句的抽取和子句中事件元組的抽取,抽取過程如圖3所示。
采用3.1節所述模式匹配方法抽取到句子中的原因子句和結果子句,此時的原因子句和結果子句仍是句子的形態,為便于將抽取結果構建成因果關系圖,把原因子句和結果子句中描述的事件以結構化的方式表示出來。事件觸發詞是文本中最能清晰表示事情發生的詞,多數情況下事件觸發詞為動詞。這里由于因果邊界已經明確,故采用詞性過濾法抽取事件觸發詞。事件的主語和賓語也是事件不可或缺的元素,本文采用依存句法分析抽取觸發詞的主語和賓語。為了表達完整語義,除了主語、觸發詞和賓語以外,保留了與其相關的一些重要成分:如觸發詞的否定詞、補語和狀語成分,主語、賓語的名詞組合、形容詞、限定詞和關聯修飾成分。

圖2 航空安全領域本體因果關系主要概念的構成

圖3 基于模式匹配的顯式因果關系抽取過程
抽取步驟為:(1)詞性過濾,將距離因果提示詞位置最近且詞性為動詞的詞作為事件觸發詞;(2)依存句法分析,獲取觸發詞對應的主語和賓語;(3)在依存句法分析結果中,分別篩選觸發詞、主語、賓語的相關成分;(4)確定事件元組表示形式{主語及其相關成分,觸發詞及其相關成分,賓語及其相關成分}。
航空安全事故顯式因果關系抽取效果如表2所示,其中匹配句子數指與5 種模式p1、p2、p3、p4、p5分別相匹配的句子數目,有效匹配數是指該模式匹配得到的句子中能夠表征因果關系的句子個數,有效事件對數則是指有效匹配的句子經過事件抽取后能夠正確表征因果關系的事件對的數目。準確率=有效事件對數/匹配句子數。

表2 顯式因果關系抽取效果
實驗效果表明,本文采用的模式匹配法在航空安全事故顯式因果關系抽取中的平均準確率為87.72%,取得了較好的效果。
隱式因果關系抽取與顯式因果關系抽取的不同之處在于隱式因果句中無法確定原因部分和結果部分的邊界,故隱式因果關系抽取首先要抽取出文本中包含的事件元組,然后再確定事件元組兩兩之間是否存在因果關系。隱式因果關系抽取過程如圖4所示。
隱式因果關系抽取中的事件元組抽取方法與顯式因果關系抽取中的事件元組抽取方法基本一致,僅是在觸發詞的選擇是通過詞性過濾,將詞性為動詞的保留,作為候選觸發詞。

圖4 基于self-Att_BiLstm+PI的隱式因果關系抽取過程
定義句子s 中包含n 個事件s={E1,E2,…,En} ,將句子包含的所有事件進行兩兩組對,如其 中1 ≤i ≠j ≤n ,lable ∈{ }0,1,2 指因果關系類型,lable=1 表示Ei是Ej的原因,lable=2 表示Ei是Ej的結果,lable=0 表示Ei與Ej沒有因果關系。則每個句子共能形成個事件對,其中n 表示句子中包含的事件個數。
將self-Att_BiLstm+PI 方法分別在公共數據集SemEval-2010 Task 8和航空安全事故數據集上進行了因果關系抽取的實驗,實驗效果如表3所示。實驗采用準確率P(Precision)、召回率R(Recall)和F 值(F-score)作為評價標準,其中P 是判斷正確的關系個數與輸出的所有關系個數之比,R 是判斷正確的關系個數與測試樣本中該關系的個數之比,F 值是實驗效果的綜合評價指標,計算公式如下:


表3 隱式因果關系抽取效果%
由表3 可以看出,在公共數據集SemEval-2010 Task 8上,加入自注意力機制的方法(self-Att_BiLSTM)比Att_BiLSTM 方法和BiLSTM 方法的F 值分別高出1.55%和4.61%,同樣加入位置標識時,加入自注意力的方法(self-Att_BiLSTM+PI)比Att_BiLSTM+PI 方法F值提高近6%,表明加入自注意力機制的方法對抽取效果有明顯提升。在航空安全事故數據集上,未加入位置標識的self-Att_BiLSTM與加入位置標識的Att_BiLSTM+PI 抽取效果已相近,而加入位置標識時,自注意力機制的方法比注意力機制的方法F 值高出近10%,證明該方法在航空安全事故因果關系抽取上是有效且有意義的。
經過上述顯式因果關系抽取和隱式因果關系抽取,獲得了因果關系事件元組對。為更直觀地描述事故因果發展的過程,本文對每一個事故,根據抽取所得的因果關系事件元組對生成因果關系圖。因果關系圖的生成步驟為:
(1)相似度計算。計算每個事件元組與航空安全領域本體中三元組的相似度,定義兩事件元組Ei=[ si,vi,oi] 和Ej=[ sj,vj,oj] ,兩事件元組的語義相似度Sim( Ei,Ej)即為其詞向量的夾角余弦:

Sim( vi,vj)和Sim(oi,oj)的計算方法與上式(10)同理。
(2)將所有事件元組映射成航空安全領域本體中的概念。將事件元組改寫成本體中與之相似度最高的那個元組。將改寫后的結果存入集合C 中,C={pairs1,pairs2,…,pairsn}。
(3)以事故標題中的事件元組作為根節點Re(root event),遍歷集合C 。若存在pairsm的Eeffect與Re 相同,則將新的元組存入新集合C′中,同時把Ecause放入隊列Q 中。
(4)取隊列Q 中的元素,重復步驟(3),直到隊列Q為空。
(5)輸出事件元組對集合C′。
(6)將C′中的因果關系事件元組對繪制成圖。
圖5給出了兩個航空事故所得因果關系圖的實例,圖5(a)是航空器地面事故(2008 年舊金山ABX 航空B762 停放時起火),圖5(b)是航空器飛行事故(2013 年10 月16 日老撾航空AT72 巴色機場復飛過程中墜河)。其中實線箭頭描述的是顯式因果關系對的抽取結果,虛線箭頭描述的是隱式因果關系對的抽取結果。
由因果關系圖可知,圖5(a)所示起火事故的直接原因是短路,間接原因是航空器的部件設計缺陷,該事故導致機體損壞。而圖5(b)所示地面事故的原因是天氣原因和機組操作不當共同導致航班墜河,事故結果為機上人員全部遇難。通過因果關系圖可以更加直觀地描述事故的發生過程,有助于事故因果關系分析。
統計結果顯示,航空安全事故文本中具有顯式因果關系的句子數約占28%,隱式因果關系約占72%,本文將模式匹配方法應用于航空安全事故顯式因果關系的抽取,抽取準確率達到了87.72%,所提出的self-Att_BiLSTM+PI方法有效解決了不含因果提示詞的隱式因果關系抽取的問題,在公共數據集和航空安全數據集上F 值比Att_BiLSTM+PI 方法分別提高近6%和10%,為航空安全事故發生過程分析提供了依據。未來將深入研究航空安全事故之間的因果鏈,為航空安全事故的預測預警提供更好的語義服務。