王 紅,祝 寒,林海舟
中國(guó)民航大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,天津300300
航空安全事故因果關(guān)系的分析是預(yù)防和避免航空安全事故的有效手段,隨著民航業(yè)的發(fā)展,航空不安全事故的原因呈現(xiàn)多元性和復(fù)雜化,事故因果關(guān)系分析面臨新的難題。目前對(duì)航空安全事故因果關(guān)系分析的研究主要采用基于數(shù)據(jù)統(tǒng)計(jì)的方法分析事故原因的分布情況[1-2],或采用貝葉斯網(wǎng)絡(luò)[3]、復(fù)雜網(wǎng)絡(luò)[4]分析已知原因?qū)κ鹿式Y(jié)果的影響概率分布,這些方法均不能有效挖掘航空安全事故發(fā)生與發(fā)展的完整過(guò)程,故研究航空安全事故因果關(guān)系的抽取,對(duì)于航空安全事故的情景重現(xiàn)與深入分析具有重要的意義。
因果關(guān)系抽取是獲取事故發(fā)展過(guò)程的必要工作。根據(jù)文本中是否含有因果提示詞,因果關(guān)系一般可劃分為顯式因果關(guān)系和隱式因果關(guān)系,抽取方法包括基于模式匹配的方法和基于機(jī)器學(xué)習(xí)的方法兩大類(lèi)[5]:(1)顯式因果關(guān)系抽取一般采用模式匹配法[6-9],該方法抽取的準(zhǔn)確率較高、可解釋性強(qiáng)、過(guò)程透明,但不適用于隱式因果關(guān)系的抽取;(2)因果關(guān)系是關(guān)系的一種,關(guān)系抽取中常用的機(jī)器學(xué)習(xí)方法可用于隱式因果關(guān)系的抽取。常見(jiàn)的有卷積神經(jīng)網(wǎng)絡(luò)[10-11](Convolutional Neural Network,CNN)、循環(huán)神經(jīng)網(wǎng)絡(luò)[12](Recurrent Neural Network,RNN)、長(zhǎng)短期記憶網(wǎng)絡(luò)[13-14](Long Short-Term Memory networks,LSTM)等,但上述模型大都需要借助外部知識(shí)庫(kù)或自然語(yǔ)言處理工具來(lái)選擇高質(zhì)量的特征,關(guān)系抽取效果受所選特征優(yōu)劣性的影響。Zhou 等[15]采用加入注意力機(jī)制的雙向LSTM 模型來(lái)抽取名詞性實(shí)體間的關(guān)系,僅將帶有實(shí)體位置指示的句子集作為輸入(Att_BiLSTM+PI),不依賴(lài)外部知識(shí)庫(kù)或自然語(yǔ)言處理工具的特征,就能捕獲句子的語(yǔ)義信息。由google機(jī)器翻譯團(tuán)隊(duì)首次提出的自注意力機(jī)制[16],是對(duì)注意力機(jī)制的一種改進(jìn)[17],減少了對(duì)外部信息的依賴(lài),更擅長(zhǎng)捕捉數(shù)據(jù)或特征的內(nèi)部相關(guān)性。因此,本文充分利用自注意力機(jī)制能夠更全面地捕獲句子語(yǔ)義信息這一優(yōu)勢(shì),對(duì)Zhou 等提出的(Att_BiLSTM+PI)方法進(jìn)行了改進(jìn)(self-Att_BiLSTM+PI),并將改進(jìn)后的方法應(yīng)用于航空安全事故隱式因果關(guān)系的抽取,旨在獲得更好的因果關(guān)系抽取效果。
本文將模式匹配方法應(yīng)用于航空安全事故顯式因果關(guān)系的抽取,將自注意力機(jī)制與雙向LSTM方法相結(jié)合,且僅將帶有事件觸發(fā)詞位置標(biāo)識(shí)的句子集作為輸入(用self-Att_BiLSTM+PI表示),應(yīng)用于航空安全事故隱式因果關(guān)系的抽取,研究思路如圖1所示。
(1)文本預(yù)處理。以從世界航空安全事故調(diào)查報(bào)告(http://safety.caac.gov.cn/index/initpage.act)中所提取的955 篇航空安全事故文本為基礎(chǔ),通過(guò)去噪、分句等處理,生成有邏輯語(yǔ)義的句子,分詞并判斷句子中是否含因果提示詞,若有則進(jìn)行顯式因果關(guān)系抽取,否則進(jìn)行隱式因果關(guān)系抽取。
(2)顯式因果關(guān)系抽取。根據(jù)航空安全事故調(diào)查報(bào)告的文本特點(diǎn)歸納句法模式、構(gòu)造抽取模板,并設(shè)計(jì)抽取規(guī)則,抽取原因子句和結(jié)果子句,采用依存句法分析得到子句中包含的事件元組,從而獲得顯式因果關(guān)系事件元組對(duì)。
(3)隱式因果關(guān)系抽取。采用詞性過(guò)濾和依存句法分析相結(jié)合的方法抽取每個(gè)句子中包含的事件,并兩兩組對(duì),采用self-Att_BiLSTM+PI方法對(duì)事件元組對(duì)的關(guān)系進(jìn)行分類(lèi),獲得隱式因果關(guān)系事件元組對(duì)。
(4)因果關(guān)系圖的生成。將所有事件元組映射為航空安全領(lǐng)域本體中的表示方式。對(duì)于每個(gè)事故,以事故文本標(biāo)題中的事件為源節(jié)點(diǎn),遍歷因果關(guān)系事件對(duì)集合查找與源節(jié)點(diǎn)相關(guān)的事件,生成因果關(guān)系圖。
圖1 航空安全事故因果關(guān)系抽取研究框架
顯式因果關(guān)系是指在句子中含有因果提示詞的因果關(guān)系,因果提示詞在句子中的位置主要分為居端式、居中式和配套式。本文在分析了數(shù)據(jù)集文本特征的基礎(chǔ)上,歸納了適用于本領(lǐng)域因果關(guān)系抽取的5類(lèi)因果提示詞,每類(lèi)提示詞對(duì)應(yīng)的因果句法模式如表1 所示,其中pi表示第i 種句法模式。
為更準(zhǔn)確地識(shí)別和抽取出句子中的原因和結(jié)果子句,設(shè)計(jì)了對(duì)應(yīng)的5種抽取匹配規(guī)則:
表1 因果句法模式及因果提示詞對(duì)應(yīng)表
(1)規(guī)則1
if w1∈cue1 and wi∈mark
then si∈p1
causep1={w2,w3,…,wi} and
effectp1={wi+1,wi+2,…,wn}
(2)規(guī)則2
if wi∈cue2 and w1?cue4
then si∈p2
causep2={ }w1,w2,…,wi-1and
effectp2={ }wi+1,wi+2,…,wn
(3)規(guī)則3
if wi∈cue3 and w1?cue6
then si∈p3
effectp3={ }w1,w2,…,wi-1and
causep3={ }wi+1,wi+2,…,wn
(4)規(guī)則4
if w1∈cue4 and wi∈cue5
then si∈p4
causep4={ }w2,w3,…,wn-1and
effectp4={ }wi+1,wi+2,…,wn
(5)規(guī)則5
if w1∈cue6 and wi∈cue7
then si∈p5
effectp5={w2,w3,…,wi-1} and
causep5={wi+1,wi+2,…,wn}
其中,si表示文本中的第i 個(gè)句子,{ }wm,…,wn表示句子中從第m 個(gè)詞到第n 個(gè)詞之間的文本內(nèi)容,mark 表示句子中的標(biāo)點(diǎn)符號(hào)逗號(hào),cause 表示原因,effect 表示結(jié)果。
自注意力機(jī)制是注意力機(jī)制的改進(jìn),減少對(duì)外部信息的依賴(lài),捕捉數(shù)據(jù)或特征的內(nèi)部相關(guān)性,通過(guò)關(guān)注同一序列內(nèi)部所有位置的詞來(lái)計(jì)算序列中某個(gè)位置的詞對(duì)句子語(yǔ)義的影響程度,能夠更好地學(xué)習(xí)句子的內(nèi)部知識(shí)。位置標(biāo)識(shí)是指事件元組中觸發(fā)詞在句中的位置,該特征是句子內(nèi)部的一種特征?;趕elf-Att_BiLstm+PI的隱式因果關(guān)系抽取模型包括以下幾個(gè)層:
(1)Embedding層。一個(gè)包含n個(gè)詞的句子序列s,經(jīng)訓(xùn)練后得到該句子序列的向量化表示其中第i 個(gè)詞對(duì)應(yīng)的詞向量表示是句子詞向量,是位置標(biāo)識(shí),而=是由該句中其他詞與觸發(fā)詞的相對(duì)位置構(gòu)成的向量,vi是一個(gè)由0 和1 組成的向量,值為1 是觸發(fā)詞,為0則是其他詞。
(2)雙向LSTM 層。LSTM 模型中包含許多神經(jīng)網(wǎng)絡(luò)模塊,這些模塊通過(guò)參數(shù)共享達(dá)到傳遞信息的目的。雙向LSTM 包含一個(gè)正向的■ →■ ■■ ■■■■■■ ■■和一個(gè)反向的,能夠更全面地捕獲上下文信息。
(3)自注意力層。為將變長(zhǎng)的句子編碼成固定長(zhǎng)度的向量或者矩陣,使用H 中n 個(gè)LSTM 隱向量的線性組合來(lái)表示。引入self-attention 機(jī)制,讓不同的詞有不同的重要性。
其中,H ∈Rn×2u是所有隱藏狀態(tài)h 的集合,u 是單向LSTM隱藏單元數(shù)量,w1是權(quán)重矩陣,w2是參數(shù)矩陣,由此得到矩陣級(jí)別的句子表示M 。
(4)輸出層。使用softmax 分類(lèi)器得到句子s 中因果關(guān)系事件對(duì)的關(guān)系分類(lèi)結(jié)果標(biāo)簽
根據(jù)中國(guó)民用航空局《民用航空器事故和飛行事故征候調(diào)查規(guī)定(CCAR395-R1)》中的規(guī)定,航空器事故是航空器飛行事故和航空器地面事故的總稱(chēng)。圖2 給出了領(lǐng)域本體中[18-19]的因果關(guān)系的主要構(gòu)成,其中類(lèi)別的下標(biāo)格式為“X,XX,XXX,…”,即第1 位表示一級(jí)類(lèi)別,2~3位表示二級(jí)類(lèi)別,4~6位表示三級(jí)類(lèi)別。
航空安全事故顯式因果關(guān)系的抽取,主要包括因果關(guān)系子句的抽取和子句中事件元組的抽取,抽取過(guò)程如圖3所示。
采用3.1節(jié)所述模式匹配方法抽取到句子中的原因子句和結(jié)果子句,此時(shí)的原因子句和結(jié)果子句仍是句子的形態(tài),為便于將抽取結(jié)果構(gòu)建成因果關(guān)系圖,把原因子句和結(jié)果子句中描述的事件以結(jié)構(gòu)化的方式表示出來(lái)。事件觸發(fā)詞是文本中最能清晰表示事情發(fā)生的詞,多數(shù)情況下事件觸發(fā)詞為動(dòng)詞。這里由于因果邊界已經(jīng)明確,故采用詞性過(guò)濾法抽取事件觸發(fā)詞。事件的主語(yǔ)和賓語(yǔ)也是事件不可或缺的元素,本文采用依存句法分析抽取觸發(fā)詞的主語(yǔ)和賓語(yǔ)。為了表達(dá)完整語(yǔ)義,除了主語(yǔ)、觸發(fā)詞和賓語(yǔ)以外,保留了與其相關(guān)的一些重要成分:如觸發(fā)詞的否定詞、補(bǔ)語(yǔ)和狀語(yǔ)成分,主語(yǔ)、賓語(yǔ)的名詞組合、形容詞、限定詞和關(guān)聯(lián)修飾成分。
圖2 航空安全領(lǐng)域本體因果關(guān)系主要概念的構(gòu)成
圖3 基于模式匹配的顯式因果關(guān)系抽取過(guò)程
抽取步驟為:(1)詞性過(guò)濾,將距離因果提示詞位置最近且詞性為動(dòng)詞的詞作為事件觸發(fā)詞;(2)依存句法分析,獲取觸發(fā)詞對(duì)應(yīng)的主語(yǔ)和賓語(yǔ);(3)在依存句法分析結(jié)果中,分別篩選觸發(fā)詞、主語(yǔ)、賓語(yǔ)的相關(guān)成分;(4)確定事件元組表示形式{主語(yǔ)及其相關(guān)成分,觸發(fā)詞及其相關(guān)成分,賓語(yǔ)及其相關(guān)成分}。
航空安全事故顯式因果關(guān)系抽取效果如表2所示,其中匹配句子數(shù)指與5 種模式p1、p2、p3、p4、p5分別相匹配的句子數(shù)目,有效匹配數(shù)是指該模式匹配得到的句子中能夠表征因果關(guān)系的句子個(gè)數(shù),有效事件對(duì)數(shù)則是指有效匹配的句子經(jīng)過(guò)事件抽取后能夠正確表征因果關(guān)系的事件對(duì)的數(shù)目。準(zhǔn)確率=有效事件對(duì)數(shù)/匹配句子數(shù)。
表2 顯式因果關(guān)系抽取效果
實(shí)驗(yàn)效果表明,本文采用的模式匹配法在航空安全事故顯式因果關(guān)系抽取中的平均準(zhǔn)確率為87.72%,取得了較好的效果。
隱式因果關(guān)系抽取與顯式因果關(guān)系抽取的不同之處在于隱式因果句中無(wú)法確定原因部分和結(jié)果部分的邊界,故隱式因果關(guān)系抽取首先要抽取出文本中包含的事件元組,然后再確定事件元組兩兩之間是否存在因果關(guān)系。隱式因果關(guān)系抽取過(guò)程如圖4所示。
隱式因果關(guān)系抽取中的事件元組抽取方法與顯式因果關(guān)系抽取中的事件元組抽取方法基本一致,僅是在觸發(fā)詞的選擇是通過(guò)詞性過(guò)濾,將詞性為動(dòng)詞的保留,作為候選觸發(fā)詞。
圖4 基于self-Att_BiLstm+PI的隱式因果關(guān)系抽取過(guò)程
定義句子s 中包含n 個(gè)事件s={E1,E2,…,En} ,將句子包含的所有事件進(jìn)行兩兩組對(duì),如其 中1 ≤i ≠j ≤n ,lable ∈{ }0,1,2 指因果關(guān)系類(lèi)型,lable=1 表示Ei是Ej的原因,lable=2 表示Ei是Ej的結(jié)果,lable=0 表示Ei與Ej沒(méi)有因果關(guān)系。則每個(gè)句子共能形成個(gè)事件對(duì),其中n 表示句子中包含的事件個(gè)數(shù)。
將self-Att_BiLstm+PI 方法分別在公共數(shù)據(jù)集SemEval-2010 Task 8和航空安全事故數(shù)據(jù)集上進(jìn)行了因果關(guān)系抽取的實(shí)驗(yàn),實(shí)驗(yàn)效果如表3所示。實(shí)驗(yàn)采用準(zhǔn)確率P(Precision)、召回率R(Recall)和F 值(F-score)作為評(píng)價(jià)標(biāo)準(zhǔn),其中P 是判斷正確的關(guān)系個(gè)數(shù)與輸出的所有關(guān)系個(gè)數(shù)之比,R 是判斷正確的關(guān)系個(gè)數(shù)與測(cè)試樣本中該關(guān)系的個(gè)數(shù)之比,F(xiàn) 值是實(shí)驗(yàn)效果的綜合評(píng)價(jià)指標(biāo),計(jì)算公式如下:
表3 隱式因果關(guān)系抽取效果%
由表3 可以看出,在公共數(shù)據(jù)集SemEval-2010 Task 8上,加入自注意力機(jī)制的方法(self-Att_BiLSTM)比Att_BiLSTM 方法和BiLSTM 方法的F 值分別高出1.55%和4.61%,同樣加入位置標(biāo)識(shí)時(shí),加入自注意力的方法(self-Att_BiLSTM+PI)比Att_BiLSTM+PI 方法F值提高近6%,表明加入自注意力機(jī)制的方法對(duì)抽取效果有明顯提升。在航空安全事故數(shù)據(jù)集上,未加入位置標(biāo)識(shí)的self-Att_BiLSTM與加入位置標(biāo)識(shí)的Att_BiLSTM+PI 抽取效果已相近,而加入位置標(biāo)識(shí)時(shí),自注意力機(jī)制的方法比注意力機(jī)制的方法F 值高出近10%,證明該方法在航空安全事故因果關(guān)系抽取上是有效且有意義的。
經(jīng)過(guò)上述顯式因果關(guān)系抽取和隱式因果關(guān)系抽取,獲得了因果關(guān)系事件元組對(duì)。為更直觀地描述事故因果發(fā)展的過(guò)程,本文對(duì)每一個(gè)事故,根據(jù)抽取所得的因果關(guān)系事件元組對(duì)生成因果關(guān)系圖。因果關(guān)系圖的生成步驟為:
(1)相似度計(jì)算。計(jì)算每個(gè)事件元組與航空安全領(lǐng)域本體中三元組的相似度,定義兩事件元組Ei=[ si,vi,oi] 和Ej=[ sj,vj,oj] ,兩事件元組的語(yǔ)義相似度Sim( Ei,Ej)即為其詞向量的夾角余弦:
Sim( vi,vj)和Sim(oi,oj)的計(jì)算方法與上式(10)同理。
(2)將所有事件元組映射成航空安全領(lǐng)域本體中的概念。將事件元組改寫(xiě)成本體中與之相似度最高的那個(gè)元組。將改寫(xiě)后的結(jié)果存入集合C 中,C={pairs1,pairs2,…,pairsn}。
(3)以事故標(biāo)題中的事件元組作為根節(jié)點(diǎn)Re(root event),遍歷集合C 。若存在pairsm的Eeffect與Re 相同,則將新的元組存入新集合C′中,同時(shí)把Ecause放入隊(duì)列Q 中。
(4)取隊(duì)列Q 中的元素,重復(fù)步驟(3),直到隊(duì)列Q為空。
(5)輸出事件元組對(duì)集合C′。
(6)將C′中的因果關(guān)系事件元組對(duì)繪制成圖。
圖5給出了兩個(gè)航空事故所得因果關(guān)系圖的實(shí)例,圖5(a)是航空器地面事故(2008 年舊金山ABX 航空B762 停放時(shí)起火),圖5(b)是航空器飛行事故(2013 年10 月16 日老撾航空AT72 巴色機(jī)場(chǎng)復(fù)飛過(guò)程中墜河)。其中實(shí)線箭頭描述的是顯式因果關(guān)系對(duì)的抽取結(jié)果,虛線箭頭描述的是隱式因果關(guān)系對(duì)的抽取結(jié)果。
由因果關(guān)系圖可知,圖5(a)所示起火事故的直接原因是短路,間接原因是航空器的部件設(shè)計(jì)缺陷,該事故導(dǎo)致機(jī)體損壞。而圖5(b)所示地面事故的原因是天氣原因和機(jī)組操作不當(dāng)共同導(dǎo)致航班墜河,事故結(jié)果為機(jī)上人員全部遇難。通過(guò)因果關(guān)系圖可以更加直觀地描述事故的發(fā)生過(guò)程,有助于事故因果關(guān)系分析。
統(tǒng)計(jì)結(jié)果顯示,航空安全事故文本中具有顯式因果關(guān)系的句子數(shù)約占28%,隱式因果關(guān)系約占72%,本文將模式匹配方法應(yīng)用于航空安全事故顯式因果關(guān)系的抽取,抽取準(zhǔn)確率達(dá)到了87.72%,所提出的self-Att_BiLSTM+PI方法有效解決了不含因果提示詞的隱式因果關(guān)系抽取的問(wèn)題,在公共數(shù)據(jù)集和航空安全數(shù)據(jù)集上F 值比Att_BiLSTM+PI 方法分別提高近6%和10%,為航空安全事故發(fā)生過(guò)程分析提供了依據(jù)。未來(lái)將深入研究航空安全事故之間的因果鏈,為航空安全事故的預(yù)測(cè)預(yù)警提供更好的語(yǔ)義服務(wù)。