許晶航 左萬(wàn)利,2 梁世寧 王 英,2
1(吉林大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院 長(zhǎng)春 130012)2(符號(hào)計(jì)算與知識(shí)工程教育部重點(diǎn)實(shí)驗(yàn)室(吉林大學(xué)) 長(zhǎng)春 130012)
因果關(guān)系,即“原因”與“結(jié)果”之間的對(duì)應(yīng)關(guān)系,是一種重要的關(guān)系類型,在事件檢測(cè)和預(yù)測(cè)[1]、回答問(wèn)題[2]、情景生成[3]等任務(wù)中起著十分重要的作用.因此,因果關(guān)系抽取是文本挖掘中的一項(xiàng)基本任務(wù).自然語(yǔ)言文本或日常的信息交流中均存在大量的因果關(guān)系,例如新聞中報(bào)道交通狀況:“〈e1〉A(chǔ)ccident〈e1〉 causes 〈e2〉delays〈e2〉 on bw parkway.”,標(biāo)簽〈e1〉內(nèi)的單詞“accident”表示原因,標(biāo)簽〈e2〉內(nèi)的單詞“delays”表示結(jié)果,即“事故”導(dǎo)致了“堵塞”.
根據(jù)原因與結(jié)果之間的對(duì)應(yīng)關(guān)系可以將因果關(guān)系分為一因一果、一因多果、多因一果與多因多果.一因一果指1個(gè)原因與1個(gè)結(jié)果相對(duì)應(yīng),一因多果意為存在1個(gè)原因致使多個(gè)結(jié)果的發(fā)生,多因一果的含義為多個(gè)原因共同導(dǎo)致1個(gè)結(jié)果,多因多果則表示文本中存在多個(gè)原因共同導(dǎo)致了多個(gè)結(jié)果.還可以根據(jù)是否含有因果連接詞分為顯式因果關(guān)系與隱式因果關(guān)系.顯式因果關(guān)系指原因與結(jié)果之間有特定的語(yǔ)言成分連接,例如中文中的“導(dǎo)致”、“引起”等,英文中的“cause”,“result in”等.隱式因果關(guān)系常表現(xiàn)為單句內(nèi)不含因果連接詞,或因果分布在不同句中.
當(dāng)前針對(duì)因果關(guān)系抽取的研究主要包括3種類型.
1) 文本分類.判斷句子是否含有因果關(guān)系.
2) 關(guān)系抽取.給定句中的因果候選對(duì),判斷是否具有因果關(guān)系.
3) 序列標(biāo)注.對(duì)句子進(jìn)行序列標(biāo)注,抽取因果實(shí)體并確定因果關(guān)系方向.
主流方法雖對(duì)因果關(guān)系進(jìn)行了多角度研究,但仍存在3點(diǎn)局限:
1) 通?;诖罅刻卣饕蕴岣吣P湍芰?,但構(gòu)建特征的自然語(yǔ)言處理(natural language processing, NLP)工具由于自身缺陷會(huì)導(dǎo)致錯(cuò)誤傳播,且特征選擇過(guò)程十分繁瑣復(fù)雜;需要大量的NLP工作,如詞性標(biāo)注、語(yǔ)義分析等;需要因果關(guān)系背景知識(shí),如從大量的語(yǔ)料庫(kù)中總結(jié)出潛在含有因果關(guān)系的實(shí)體(例如“地震”與“死亡”,發(fā)生地震通常會(huì)導(dǎo)致人員的死亡)來(lái)提高因果關(guān)系抽取的準(zhǔn)確率.
2) 現(xiàn)有方法多是根據(jù)句子是否含有因果關(guān)系進(jìn)行分類,將問(wèn)題轉(zhuǎn)化為文本分類問(wèn)題;或根據(jù)給定的候選對(duì)判斷是否具有因果關(guān)系,問(wèn)題則被簡(jiǎn)化為關(guān)系抽取問(wèn)題.二者均未能做到真正的“抽取”.
3) 多數(shù)工作將因果數(shù)量限定為一因一果,未對(duì)多因多果的句式進(jìn)行探究;依賴因果連接詞,只能抽取帶標(biāo)記的顯式因果關(guān)系;限于句內(nèi)因果,無(wú)法探究跨句、跨段的因果關(guān)系.
本文采取序列標(biāo)注的方法抽取因果關(guān)系.隨著注意力機(jī)制的火熱,許多序列標(biāo)注模型通過(guò)引入注意力的思想提高模型的準(zhǔn)確度.傳統(tǒng)序列標(biāo)注模型中的注意力機(jī)制是在處理局部信息時(shí)同時(shí)關(guān)注整體的信息,數(shù)據(jù)是線性且互相獨(dú)立的,但實(shí)際的句子中詞之間存在很強(qiáng)的依賴關(guān)系.對(duì)句子進(jìn)行句法依存分析得到句法依存樹,通過(guò)樹中節(jié)點(diǎn)間的依存弧獲取詞間的依賴關(guān)系.但樹形結(jié)構(gòu)存在一定的局限性(例如弧是單向的),故本文將句法依存樹拓展到句法依存圖,使傳統(tǒng)注意力機(jī)制中互相獨(dú)立的線性數(shù)據(jù)轉(zhuǎn)化為具有依賴關(guān)系的圖形數(shù)據(jù).應(yīng)用圖注意力網(wǎng)絡(luò)(graph attention network, GAT)[4]到NLP中,引入了基于句法依存圖的圖注意力網(wǎng)絡(luò)(graph attention network based on syntactic dependency graph, S-GAT),并提出了Bi-LSTM+CRF+S-GAT因果關(guān)系抽取模型.模型在識(shí)別句中詞的因果標(biāo)簽時(shí),對(duì)詞在句法依存圖中的相鄰節(jié)點(diǎn)進(jìn)行注意力計(jì)算,為其分配不同的權(quán)重,從而關(guān)注作用較大的詞,忽視作用較小的詞,增加因果抽取的準(zhǔn)確度.
本文主要貢獻(xiàn)有3個(gè)方面:
1) 拓展句法依存樹到句法依存圖,將GAT應(yīng)用到NLP中,提出了S-GAT.句法依存圖中的頂點(diǎn)對(duì)應(yīng)句中的詞,圖中的邊表示詞之間的依賴關(guān)系,使傳統(tǒng)注意力機(jī)制中的線性數(shù)據(jù)轉(zhuǎn)化為圖形數(shù)據(jù).在計(jì)算注意力時(shí),根據(jù)句法依存圖中相鄰節(jié)點(diǎn)更新權(quán)重,使注意力更集中在表示“原因”和“結(jié)果”含義的詞上.
2) 提出Bi-LSTM+CRF+S-GAT因果關(guān)系抽取模型,根據(jù)輸入的詞向量生成句子中每個(gè)詞的因果標(biāo)簽.將傳統(tǒng)用在詞性標(biāo)注、命名實(shí)體識(shí)別等領(lǐng)域的序列標(biāo)注方法應(yīng)用在因果關(guān)系抽取中,標(biāo)注出因果實(shí)體并確定因果關(guān)系方向,實(shí)現(xiàn)了真正的“抽取”.將一因一果拓展到多因多果,不限于顯式因果關(guān)系,不需要構(gòu)建特征工程,不需要繁瑣的NLP工作和因果關(guān)系背景知識(shí).
3)對(duì)SemEval數(shù)據(jù)集進(jìn)行修正與拓展,針對(duì)其存在的缺陷制定規(guī)則重新標(biāo)注實(shí)驗(yàn)數(shù)據(jù).在拓展后的SemEval數(shù)據(jù)集上進(jìn)行實(shí)驗(yàn),結(jié)果表明,本文提出的因果關(guān)系抽取模型Bi-LSTM+CRF+S-GAT較現(xiàn)有模型的因果抽取效果有明顯的提升,相比Bi-LSTM+CRF+self-ATT模型的準(zhǔn)確率提高了0.064.
因果關(guān)系的抽取方法主要分為2種:基于模式匹配方法和基于機(jī)器學(xué)習(xí)方法.
1.1.1 基于模式匹配方法
文獻(xiàn)[5]分析了法語(yǔ)中具有因果含義的動(dòng)詞,實(shí)現(xiàn)了1個(gè)COATIS系統(tǒng)用于抽取含有“Cause Verb Effect”結(jié)構(gòu)的帶有標(biāo)記的顯示因果關(guān)系.文獻(xiàn)[6]認(rèn)為除動(dòng)詞之外,還有些介詞(“for”,“from”等)、狀語(yǔ)連接詞(“so”,“hence”,“therefore”等)以及子句(“that’s why”,“the result is”等)也能表達(dá)因果關(guān)系,采用模式匹配方法從人工標(biāo)注的Wall Street Journal語(yǔ)料中抽取帶標(biāo)記的因果關(guān)系.
1.1.2 基于機(jī)器學(xué)習(xí)方法
現(xiàn)階段基于機(jī)器學(xué)習(xí)或深度學(xué)習(xí)模型對(duì)因果關(guān)系抽取的研究主要包括3類.
1) 文本分類.對(duì)句子是否含有因果關(guān)系進(jìn)行分類.文獻(xiàn)[7]提出了2種方法:①基于知識(shí)特征的分類模型;②基于深度學(xué)習(xí)的方法,用卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural network, CNN)對(duì)因果關(guān)系進(jìn)行分類.該模型能夠識(shí)別顯式因果和隱式因果以及因果關(guān)系的方向.文獻(xiàn)[8]用平行的維基百科語(yǔ)料庫(kù)識(shí)別新的標(biāo)記(已知的因果短語(yǔ)的變體),通過(guò)遠(yuǎn)程監(jiān)督創(chuàng)建訓(xùn)練集,使用開放類標(biāo)記的特征與上下文信息的語(yǔ)義特征訓(xùn)練因果分類器.
2) 關(guān)系抽取.判斷給定的候選對(duì)是否含有因果關(guān)系.文獻(xiàn)[9]將SemEval數(shù)據(jù)集中的單詞擴(kuò)展到短語(yǔ),一因一果拓展到多因多果,提出了一種新的約束隱藏樸素貝葉斯模型提取文本中的顯式因果關(guān)系.文獻(xiàn)[10]用生成式對(duì)抗網(wǎng)絡(luò)(generative adversarial networks, GANs)的對(duì)抗學(xué)習(xí)特性,將帶有注意力機(jī)制的雙向門控循環(huán)單元網(wǎng)絡(luò)(bidirectional gated recurrent units networks, BGRU)與對(duì)抗學(xué)習(xí)相融合,提出了一種融合對(duì)抗學(xué)習(xí)的因果關(guān)系抽取方法,避免了繁瑣的特征工程.文獻(xiàn)[11]用多列卷積神經(jīng)網(wǎng)絡(luò)抽取因果關(guān)系,使用了從網(wǎng)絡(luò)文本中提取的背景知識(shí)以及從原始句子中提取的因果關(guān)系候選信息,需要大量的NLP預(yù)處理工作.
3) 序列標(biāo)注.標(biāo)注出因果實(shí)體.文獻(xiàn)[12]用層疊條件隨機(jī)場(chǎng)對(duì)事件間的因果關(guān)系進(jìn)行抽取,將因果關(guān)系擴(kuò)展到跨句、跨段、多因多果等多種類型,人工構(gòu)建大量的特征工程.文獻(xiàn)[13]利用單詞級(jí)別的詞向量及其語(yǔ)義特征,通過(guò)雙向長(zhǎng)短期記憶網(wǎng)絡(luò)(bidirectional long short-term memory, Bi-LSTM)標(biāo)注出句子中的原因、結(jié)果以及因果連接詞,并將標(biāo)記的單詞擴(kuò)展到短語(yǔ)(包括虛詞“of”等).文獻(xiàn)[14]利用因果關(guān)系的時(shí)間特性,將因果抽取重新定義為一種特殊的時(shí)間提取方法,通過(guò)引入多層條件隨機(jī)場(chǎng)模型將任務(wù)轉(zhuǎn)化成一個(gè)序列標(biāo)注的過(guò)程.
此外,文獻(xiàn)[15]針對(duì)告警關(guān)聯(lián)分析中因果知識(shí)難以自動(dòng)獲取的問(wèn)題,利用Markov鏈模型(Markov chain model, MCM)對(duì)因果知識(shí)進(jìn)行建模,提出了一種基于Markov性質(zhì)的因果知識(shí)挖掘方法.文獻(xiàn)[16]將充分必要條件與因果關(guān)系融合,引入了充分因果關(guān)系與必要因果關(guān)系的概念,提出一種模擬術(shù)語(yǔ)之間因果關(guān)系強(qiáng)度的度量方法,探究了短文本(短語(yǔ)和句子)之間常識(shí)性因果關(guān)系的推理問(wèn)題.
早期研究根據(jù)因果句子的結(jié)構(gòu)特點(diǎn)進(jìn)行模式匹配抽取因果關(guān)系,該方法只能抽取固定模式且?guī)?biāo)記的顯式因果關(guān)系.隨著機(jī)器學(xué)習(xí)理論的逐漸成熟,因果抽取的范圍逐漸擴(kuò)大,拓展到多因多果、隱式因果、跨句、跨段等多種形式的因果關(guān)系.支持向量機(jī)(support vector machine, SVM)、樸素貝葉斯模型(naive Bayesian model, NBM)等機(jī)器學(xué)習(xí)算法可以根據(jù)句子或句中的候選對(duì)是否含有因果關(guān)系進(jìn)行分類,條件隨機(jī)場(chǎng)等序列標(biāo)注模型能夠標(biāo)注出因果實(shí)體并確定因果關(guān)系方向.近些年隨著深度學(xué)習(xí)的火熱,卷積神經(jīng)網(wǎng)絡(luò)、循環(huán)神經(jīng)網(wǎng)絡(luò)(recurrent neural network, RNN)等深層網(wǎng)絡(luò)結(jié)構(gòu)被加入到因果關(guān)系抽取的模型中,與傳統(tǒng)的機(jī)器學(xué)習(xí)算法相比,基于深度學(xué)習(xí)的因果關(guān)系抽取模型的效果有明顯提升.由于文本分類與關(guān)系抽取的方法均未做到真正的因果“抽取”,本文采用序列標(biāo)注結(jié)合深度學(xué)習(xí)中的Bi-LSTM網(wǎng)絡(luò)與注意力機(jī)制抽取因果關(guān)系.
序列標(biāo)注是解決NLP問(wèn)題時(shí)經(jīng)常遇到的基本問(wèn)題之一,傳統(tǒng)方法有隱Markov模型(hidden Markov model, HMM)、條件隨機(jī)場(chǎng)(conditional random field, CRF)等.Lafferty等人[17]提出的CRF是一種無(wú)向圖模型,結(jié)合了最大熵模型與隱Markov模型的特點(diǎn),在分詞、詞性標(biāo)注等序列標(biāo)注任務(wù)中取得了很好的效果.
長(zhǎng)短期記憶網(wǎng)絡(luò)(long short-term memory, LSTM)有時(shí)序性和長(zhǎng)依賴的特點(diǎn),Bi-LSTM能夠獲取跨度較遠(yuǎn)的過(guò)去與將來(lái)時(shí)序的數(shù)據(jù)特征,挖掘更豐富的語(yǔ)義信息.結(jié)合CRF,文獻(xiàn)[18]提出了Bi-LSTM+CRF模型,使序列標(biāo)注的效果有了顯著的提升.
Google從自然語(yǔ)言本身的特性出發(fā),提出了一種完全基于注意力機(jī)制[19]的網(wǎng)絡(luò)框架Transformer.結(jié)合深度學(xué)習(xí)模型與注意力機(jī)制,文獻(xiàn)[20]提出了CNNRNNFNN(feed-forward neural network)+self-ATT模型進(jìn)行語(yǔ)義角色標(biāo)注.
圖卷積(graph convolutional networks, GCNs)[21]是一種用可擴(kuò)展的方法對(duì)圖形結(jié)構(gòu)數(shù)據(jù)進(jìn)行半監(jiān)督學(xué)習(xí)的網(wǎng)絡(luò)結(jié)構(gòu),是基于直接對(duì)圖進(jìn)行操作的卷積神經(jīng)網(wǎng)絡(luò)的一種有效變體,通過(guò)譜圖卷積的一階近似局部化來(lái)促進(jìn)卷積體系結(jié)構(gòu)的選擇.結(jié)合圖卷積與注意力機(jī)制,文獻(xiàn)[4]提出了圖注意力網(wǎng)絡(luò).GAT是基于圖形結(jié)構(gòu)化數(shù)據(jù)的新型神經(jīng)網(wǎng)絡(luò),根據(jù)相鄰節(jié)點(diǎn)進(jìn)行權(quán)重更新,利用掩碼的自注意力層解決圖卷積或與其近似的現(xiàn)有方法的缺點(diǎn).GAT的提出,將注意力機(jī)制中的線性數(shù)據(jù)轉(zhuǎn)化為圖形數(shù)據(jù),使原本互相獨(dú)立的數(shù)據(jù)通過(guò)“圖”產(chǎn)生聯(lián)系.
本文采用序列標(biāo)注抽取因果關(guān)系,在傳統(tǒng)序列標(biāo)注模型與注意力機(jī)制的基礎(chǔ)上,結(jié)合GAT提出了Bi-LSTM+CRF+S-GAT模型.
CRF是給定隨機(jī)變量X條件下,計(jì)算隨機(jī)變量Y的Markov隨機(jī)場(chǎng).
(1)
P(Y|X)表示當(dāng)前時(shí)刻標(biāo)記轉(zhuǎn)移ys-1→ys與輸入序列X的任意特征值.其中X是輸入變量,表示觀測(cè)序列;Y是輸出變量,表示標(biāo)記序列;ZX為歸一化因子;fl(ys-1,ys,X,s)是特征函數(shù).訓(xùn)練時(shí)通過(guò)極大似然估計(jì)得到條件概率模型,并用該模型進(jìn)行預(yù)測(cè).
CRF在詞性標(biāo)注、命名實(shí)體識(shí)別等序列標(biāo)注任務(wù)中取得了很好的效果.以詞性標(biāo)注為例,觀測(cè)序列為詞序列,輸出的標(biāo)簽為每個(gè)詞對(duì)應(yīng)的詞性.當(dāng)前詞與相鄰上一詞間滿足一定條件時(shí),其特征函數(shù)fl=1,否則fl=0.每個(gè)詞都用相同個(gè)數(shù)的特征函數(shù)進(jìn)行判斷,是全局最優(yōu)化值.預(yù)測(cè)的過(guò)程是用每種特征配置給標(biāo)簽打分并加權(quán)求和,得分最高的標(biāo)簽就是預(yù)測(cè)的結(jié)果.
CRF可以通過(guò)獲取相鄰詞的特征預(yù)測(cè)當(dāng)前詞的標(biāo)簽,但在一些序列標(biāo)注的任務(wù)中,需要通過(guò)獲取長(zhǎng)距離特征來(lái)提高序列標(biāo)注的準(zhǔn)確度.
2.2.1 循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)
RNN允許信息的持久化,利用其內(nèi)部記憶處理帶有時(shí)序性的數(shù)據(jù).含有因果關(guān)系的句子可以理解為1個(gè)時(shí)序性的序列,每個(gè)詞對(duì)應(yīng)1個(gè)時(shí)間的數(shù)據(jù).在處理當(dāng)前詞時(shí),RNN能夠獲取過(guò)去時(shí)序詞的特征.
2.2.2 長(zhǎng)短期記憶網(wǎng)絡(luò)(LSTM)
對(duì)于時(shí)序間隔較長(zhǎng)的數(shù)據(jù),RNN難以獲取句子中跨度較遠(yuǎn)詞的特征,而LSTM解決了這種長(zhǎng)期依賴的問(wèn)題.圖1為L(zhǎng)STM的細(xì)胞結(jié)構(gòu)圖.
Fig. 1 LSTM cellular structure圖1 LSTM細(xì)胞結(jié)構(gòu)
首先,當(dāng)前輸入信息xt與上一時(shí)刻隱藏層輸出ht-1通過(guò)函數(shù)sigmod得到從遺忘門中丟棄的信息ft.
ft=σ(Wf·[ht-1,xt]+bf).
(2)
it=σ(Wi·[ht-1,xt]+bi),
(3)
(4)
(5)
最后,輸入信息xt與上一時(shí)刻隱藏層輸出ht-1通過(guò)函數(shù)sigmod得到輸出信息ot,新細(xì)胞狀態(tài)Ct通過(guò)tanh層與ot相乘得到當(dāng)前時(shí)刻隱藏層的輸出ht.
ot=σ(Wo·[ht-1,xt]+bo),
(6)
ht=ot·tanh(Ct).
(7)
2.2.3 雙向長(zhǎng)短期記憶網(wǎng)絡(luò)(Bi-LSTM)
LSTM能夠獲取過(guò)去時(shí)序數(shù)據(jù)的特征,但在一些序列標(biāo)注任務(wù)中還需要考慮將來(lái)時(shí)序的數(shù)據(jù).Bi-LSTM由前向的LSTM與后向的LSTM組成,可以同時(shí)獲取過(guò)去和將來(lái)時(shí)序的數(shù)據(jù)特征,從而獲取上下文信息,其結(jié)構(gòu)如圖2所示:
Fig. 2 Bi-LSTM structure圖2 Bi-LSTM結(jié)構(gòu)
結(jié)合Bi-LSTM與CRF模型的結(jié)構(gòu)特點(diǎn),文獻(xiàn)[18]提出了Bi-LSTM+CRF模型進(jìn)行序列標(biāo)注,其結(jié)構(gòu)如圖3所示.首先對(duì)輸入的句子進(jìn)行向量化表示,再通過(guò)Bi-LSTM層獲取過(guò)去與將來(lái)的輸入信息并自動(dòng)提取句子特征,最后接入CRF層進(jìn)行句子級(jí)別的標(biāo)簽預(yù)測(cè).該模型能夠有效地根據(jù)過(guò)去與將來(lái)的標(biāo)簽信息預(yù)測(cè)當(dāng)前數(shù)據(jù)的標(biāo)簽.
Fig. 3 Bi-LSTM+CRF model structure圖3 Bi-LSTM+CRF模型結(jié)構(gòu)
以實(shí)體命名識(shí)別為例,如圖3所示,輸入為句子“EU rejects German call”,輸出為單詞對(duì)應(yīng)的實(shí)體標(biāo)簽.其中標(biāo)簽“ORG”表示“組織名”,“MISC”表示“雜項(xiàng)”,“O”表示“非實(shí)體”;“B”是用于劃分實(shí)體的邊界,表示實(shí)體標(biāo)簽的開始.該模型識(shí)別出“EU”為組織名,“German”為雜項(xiàng),意為其他實(shí)體.
該模型在序列標(biāo)注相關(guān)應(yīng)用中的效果優(yōu)于CRF,LSTM,Bi-LSTM等模型,因此Bi-LSTM+CRF成為了序列標(biāo)注的基本模型,現(xiàn)有的序列標(biāo)注工作大多是在該模型的基礎(chǔ)上進(jìn)行改進(jìn).
GAT[4]是將圖卷積和注意力機(jī)制結(jié)合的網(wǎng)絡(luò)結(jié)構(gòu),在輸入待處理的圖自身上計(jì)算注意力.每一個(gè)節(jié)點(diǎn)更新隱藏層輸出時(shí),都要對(duì)其相鄰節(jié)點(diǎn)進(jìn)行注意力計(jì)算,目的是為每個(gè)相鄰節(jié)點(diǎn)分配不同的權(quán)重,從而關(guān)注作用較大的節(jié)點(diǎn),忽略作用較小的節(jié)點(diǎn).其特點(diǎn)是計(jì)算高效,每一個(gè)節(jié)點(diǎn)與其相鄰節(jié)點(diǎn)計(jì)算注意力是并行的,且可以分配任意的權(quán)重給相鄰節(jié)點(diǎn).
句法依存分析是根據(jù)句子中詞與詞之間的依存關(guān)系表示詞語(yǔ)的句法結(jié)構(gòu)信息(如主謂、動(dòng)賓、定中等結(jié)構(gòu)關(guān)系),并用樹狀結(jié)構(gòu)表示句子結(jié)構(gòu)(如主謂賓、定狀補(bǔ)等)的一種NLP關(guān)鍵技術(shù).以句子“flu causes cold.”為例,對(duì)句子進(jìn)行句法依存分析,結(jié)果如圖4所示.根節(jié)點(diǎn)(Root)為單詞“causes”,“causes”分別為“flu”,“cold”,“.”的父節(jié)點(diǎn),“Nsubj”表示“flu”是“causes”的名詞性主語(yǔ).
Fig. 4 Syntactic dependency analysis圖4 句法依存分析
傳統(tǒng)的句法依存分析以樹形結(jié)構(gòu)存儲(chǔ),只能從父節(jié)點(diǎn)指向子節(jié)點(diǎn),即依賴關(guān)系是單向的,且節(jié)點(diǎn)本身不能指向自己.針對(duì)樹形結(jié)構(gòu)存在的缺陷,本文將句法依存樹拓展到圖并提出句法依存圖的概念.句法依存圖的生成規(guī)則為:句中的詞為句法依存圖的頂點(diǎn),根據(jù)句法分析得到的句法依存樹的弧生成句法依存圖的邊.忽略“Root”指向根節(jié)點(diǎn)的弧,其他句法依存樹的弧為句法依存圖的邊.由于句法依存圖注重詞之間的依賴關(guān)系,不關(guān)注句法結(jié)構(gòu)(如主謂等結(jié)構(gòu)關(guān)系),故不需要存儲(chǔ)句法依存樹中弧的標(biāo)簽信息(如“Nsubj”等).
本文以鄰接矩陣的方式存儲(chǔ)句法依存圖,有邊的對(duì)應(yīng)矩陣元素為1,否則為0.句法依存圖分為3類:
1) 有向圖.句法依存分析中的父節(jié)點(diǎn)指向子節(jié)點(diǎn),弧是單向的.
2) 無(wú)向圖.句法依存分析中父節(jié)點(diǎn)指向子節(jié)點(diǎn),同時(shí)子節(jié)點(diǎn)也指向父節(jié)點(diǎn),父子節(jié)點(diǎn)間有一個(gè)無(wú)向弧連接,鄰接矩陣為對(duì)稱矩陣.
3) 帶有“self-arc”的圖.節(jié)點(diǎn)自身指向自己,鄰接矩陣對(duì)角元素為1.
常用的句法依存圖有:有向圖、無(wú)向圖、有向圖+“self-arc”、無(wú)向圖+“self-arc”.根據(jù)圖4所示的句法依存樹生成相應(yīng)的句法依存圖,其鄰接矩陣如圖5所示.以生成無(wú)向圖+“self-arc”的句法依存圖為例,圖的頂點(diǎn)分別為句中單詞“flu”,“causes”,“cold”,“.”;忽略句法依存樹中的弧“Root→causes”,將其他的弧“causes→flu”,“causes→cold”,“causes→.”轉(zhuǎn)換成無(wú)向圖的邊,分別為正向邊“causes-flu”,“causes-cold”,“causes-.”,以及反向邊“flu-causes”,“cold-causes”,“.-causes”;此外,帶有“self-arc”圖的邊分別為“flu-flu”,“causes-causes”,“cold-cold”,“.-.”.所有的頂點(diǎn)與邊構(gòu)成無(wú)向圖+“self-arc”的句法依存圖,其鄰接矩陣如圖5(d)所示,是一個(gè)對(duì)角元素為1的對(duì)稱矩陣.
Fig. 5 The adjacency matrix of the syntactic dependency graph圖5 句法依存圖的鄰接矩陣
結(jié)合句法依存圖與圖注意力網(wǎng)絡(luò),本文提出了S-GAT.S-GAT中圖的頂點(diǎn)與句中的詞相對(duì)應(yīng),頂點(diǎn)的特征為詞的向量特征,圖的邊對(duì)應(yīng)句法依存圖的邊.
3.3.1 強(qiáng)化特征
h=(h1,h2,…,hI),hi∈RF,其中h為句子對(duì)應(yīng)的向量,在本文模型中為詞向量輸入到Bi-LSTM的隱藏層輸出.I為句子分詞后詞的個(gè)數(shù),F(xiàn)為隱藏層輸出的特征維度(詞向量維度).為了得到表達(dá)能力更強(qiáng)的Bi-LSTM隱藏層輸出,用1個(gè)可學(xué)習(xí)的線性變換將隱藏層輸出特征轉(zhuǎn)化為更高層次的特征,將W∈RF×F′的權(quán)重矩陣作用到Bi-LSTM的隱藏層輸出上得到強(qiáng)化后的特征.句中詞的個(gè)數(shù)I保持不變,改變了隱藏層輸出的特征維度F′值.
3.3.2 計(jì)算注意力系數(shù)
得到強(qiáng)化的特征后,對(duì)每個(gè)詞進(jìn)行自注意力(共享注意力機(jī)制a:RF×RF′→R)計(jì)算.
(8)
eij表示詞j對(duì)于詞i的重要程度.注意力機(jī)制a是1個(gè)單層前饋網(wǎng)絡(luò),將權(quán)重矩陣Wa∈R2F′作用在強(qiáng)化后的特征上;“‖”表示連接.如圖6所示,將詞i、詞j強(qiáng)化后的特征向量相連接,輸入到單層前饋網(wǎng)絡(luò),通過(guò)函數(shù)LeakyReLU非線性層得到eij.
(9)
式(9)計(jì)算卷積時(shí)用來(lái)加權(quán)求和的系數(shù)αij.設(shè)詞i在句法依存圖中直接相連的節(jié)點(diǎn)集合為Ni,eij通過(guò)函數(shù)softmaxj得到注意力系數(shù)αij.
Fig. 6 Attention coefficients圖6 注意力系數(shù)
(10)
3.3.3 多頭注意力機(jī)制
為了使模型結(jié)構(gòu)更穩(wěn)定,將3.3.2節(jié)方法拓展到多頭注意力機(jī)制(multi-head attention mechanism)[19].
(11)
(12)
對(duì)注意力特征取平均值得到輸出結(jié)果.
Fig. 7 Multi-head attention圖7 多頭注意力
3.3.4 復(fù)雜度分析
S-GAT的時(shí)間復(fù)雜度為O(|V|FF′+|E|F′),其中F為Bi-LSTM隱藏層輸出的特征維度(詞向量維度),F(xiàn)′為加強(qiáng)后的特征維度,|V|是句法依存圖中頂點(diǎn)的個(gè)數(shù)(即分詞后詞的個(gè)數(shù)I),|E|是句法依存圖中邊的個(gè)數(shù).S-GAT時(shí)間復(fù)雜度的計(jì)算分為2部分:計(jì)算注意力系數(shù)的時(shí)間復(fù)雜度與計(jì)算卷積的時(shí)間復(fù)雜度.
計(jì)算注意力系數(shù)時(shí),每個(gè)詞計(jì)算注意力的時(shí)間復(fù)雜度為O(FF′),且只計(jì)算與其在句法依存圖中直接相連的詞的系數(shù),即O(|V|),因此計(jì)算注意力系數(shù)的時(shí)間復(fù)雜度為O(|V|FF′).
計(jì)算卷積時(shí),每個(gè)句法依存圖的邊均對(duì)應(yīng)1個(gè)詞的Bi-LSTM隱藏層輸出乘上權(quán)重并包含到卷積的加權(quán)求和中,強(qiáng)化后的特征維度為F′,因此計(jì)算卷積的時(shí)間復(fù)雜度為O(|E|F′).
本文結(jié)合序列標(biāo)注傳統(tǒng)模型Bi-LSTM+CRF與S-GAT提出了Bi-LSTM+CRF+S-GAT模型,模型結(jié)構(gòu)如圖8所示,將LSTM Layer+Linear Layer+S-GAT Layer設(shè)為1個(gè)塊(block),堆疊N層.模型根據(jù)輸入的句子輸出句中詞對(duì)應(yīng)的因果標(biāo)簽.
1) 輸入層.輸入含有因果關(guān)系的句子,將句子分別輸入到神經(jīng)網(wǎng)絡(luò)層提取特征,以及句法分析層生成句法依存圖.
2) 神經(jīng)網(wǎng)絡(luò)層.利用訓(xùn)練好的GloVe模型對(duì)分詞后的句子進(jìn)行向量化表示,將輸入的語(yǔ)言文字轉(zhuǎn)化為特征向量,并通過(guò)Bi-LSTM網(wǎng)絡(luò)挖掘語(yǔ)義信息,充分利用上下文提取句子的深層語(yǔ)義特征,進(jìn)而探究語(yǔ)義中潛在的因果關(guān)系.
3) 句法分析層.對(duì)輸入的句子進(jìn)行句法分析,得到句法依存樹,根據(jù)3.2節(jié)中生成句法依存圖的方法生成相應(yīng)的鄰接矩陣.圖8中的頂點(diǎn)與句子中的單詞相對(duì)應(yīng),單詞間的依存弧為圖的邊,線性數(shù)據(jù)轉(zhuǎn)換為圖形數(shù)據(jù).
4) S-GAT層.將Bi-LSTM隱藏層輸出通過(guò)線性層轉(zhuǎn)化為更高層次的特征,獲取表達(dá)能力更強(qiáng)的隱藏層輸出.將強(qiáng)化后的特征與句法分析層生成的鄰接矩陣輸入到融合層,進(jìn)行圖注意力的計(jì)算.利用式(8)(9)計(jì)算注意力系數(shù),并根據(jù)式(10)進(jìn)行加權(quán)求和得到注意力特征.為了使模型結(jié)構(gòu)更穩(wěn)定,S-GAT采用多頭注意力機(jī)制的思想,將K個(gè)互相獨(dú)立的注意力特征根據(jù)式(11)進(jìn)行連接得到1層S-GAT的輸出,該層堆疊n次.S-GAT的輸出層是根據(jù)式(12)將注意力特征取平均值得到S-GAT的最終結(jié)果,S-GAT層數(shù)設(shè)為n′.S-GAT將強(qiáng)化后的線性特征轉(zhuǎn)化為圖形特征,原本互相獨(dú)立的詞特征通過(guò)句法依存圖的邊產(chǎn)生依賴關(guān)系.每個(gè)單詞在計(jì)算自身注意力時(shí),為其所有相鄰單詞分配不同的權(quán)重,進(jìn)而關(guān)注作用較大的單詞,忽略作用較小的單詞,使注意力更集中在要抽取的原因詞“flu”和結(jié)果詞“cold”上,進(jìn)一步加強(qiáng)了因果語(yǔ)義的特征.
5) CRF層.將S-GAT層的輸出通過(guò)CRF層得到最終的因果標(biāo)簽.CRF能夠獲取相鄰詞的信息,用多種特征函數(shù)給標(biāo)簽打分并加權(quán)求和,得分最高的標(biāo)簽為最終的輸出結(jié)果,是全局最優(yōu)化值.
6) 輸出層.最終的標(biāo)簽結(jié)果如圖8所示,其中標(biāo)簽“C”代表“cause”表示原因,“E”代表“effect”表示結(jié)果,“O”代表“other”表示無(wú)因果關(guān)系.
Fig. 8 Bi-LSTM+CRF+S-GAT model圖8 Bi-LS TM+CRF+S-GAT模型
模型輸入為句子“flu causes cold.”.首先將輸入的語(yǔ)言文字轉(zhuǎn)化為特征向量,并通過(guò)Bi-LSTM挖掘上下文的語(yǔ)義信息,初步提取句子的因果語(yǔ)義特征;同時(shí)對(duì)輸入的句子進(jìn)行句法分析得到句法依存圖,使句子中原本互相獨(dú)立的單詞之間產(chǎn)生依賴關(guān)系.然后,將初步提取的詞特征根據(jù)依賴關(guān)系通過(guò)S-GAT分配權(quán)重,進(jìn)一步強(qiáng)化因果語(yǔ)義特征.最后,通過(guò)CRF層提取近距離的數(shù)據(jù)特征,并輸出因果標(biāo)簽.得到的因果關(guān)系的抽取結(jié)果為:原因?yàn)椤癴lu”,結(jié)果為“cold”,即“flu”導(dǎo)致了“cold”,達(dá)到了因果抽取的目的.
4.1.1 數(shù)據(jù)來(lái)源
實(shí)驗(yàn)數(shù)據(jù)來(lái)自SemEval數(shù)據(jù)集與英文維基百科語(yǔ)料庫(kù).本文選取關(guān)系分類數(shù)據(jù)集SemEval (SemEval 2007 Task4與SemEval 2010 Task8)中含有因果關(guān)系的1 368個(gè)句子作為實(shí)驗(yàn)數(shù)據(jù).該數(shù)據(jù)量較少,不足以滿足實(shí)驗(yàn)需求,故需要對(duì)實(shí)驗(yàn)數(shù)據(jù)進(jìn)行擴(kuò)充.文獻(xiàn)[8]從英文維基百科語(yǔ)料庫(kù)中提取了含有因果關(guān)系的句子,本文從該數(shù)據(jù)集中挑選出1 632個(gè)句子進(jìn)行人工標(biāo)注,標(biāo)注的標(biāo)準(zhǔn)與SemEval數(shù)據(jù)集一致,最終得到了含有因果關(guān)系的3 000個(gè)句子作為實(shí)驗(yàn)數(shù)據(jù).
SemEval數(shù)據(jù)集原始數(shù)據(jù)的一個(gè)例子:
②WordNet(e1)="Zinc%1:27:00::",WordNet(e2)="growth%1:22:00::",Cause-Effect(e1,e2)="true",Query ="* is for growth"
第1行“011”代表句子序號(hào),引號(hào)內(nèi)是含有因果關(guān)系的句子,標(biāo)簽〈e1〉〈e1〉,〈e2〉〈e2〉內(nèi)的單詞表示原因或結(jié)果;第2行中Cause-Effect(e1,e2)="true"表示句子含有因果關(guān)系,且因果關(guān)系的方向是e1→e2,即“Zinc”是原因,“growth”是結(jié)果.
4.1.2 數(shù)據(jù)修正
SemEval是關(guān)系分類的數(shù)據(jù)集,用來(lái)識(shí)別給出候選對(duì)所具有的關(guān)系.該數(shù)據(jù)集只關(guān)注標(biāo)簽內(nèi)的詞是否具有因果關(guān)系,忽略了標(biāo)簽外的詞.原始數(shù)據(jù)集SemEval存在的問(wèn)題有:
1) 存在未標(biāo)記出的因果關(guān)系
原數(shù)據(jù)集中的句子只有一組候選對(duì),故對(duì)其進(jìn)行標(biāo)注只限于一因一果,但很多句子存在多因多果.例如句子“〈e1〉Frustrations〈e1〉, threats, and conflicts cause 〈e2〉stress〈e2〉.”,“frustrations”為原因,“stress”為結(jié)果.由語(yǔ)義可知,“threats”,“conflicts”也是“stress”的原因,但原數(shù)據(jù)集沒有進(jìn)行標(biāo)記.
2) 標(biāo)注長(zhǎng)度不一致
例句1:“Mr c notes 〈e1〉worsening〈e1〉 of seizures and cognition with sleep 〈e2〉deprivation〈e2〉 and stress.”;
例句2:“Mr c notes 〈e1〉 worsening〈e1〉 of seizures and cognition with 〈e2〉sleep deprivation〈e2〉 and stress.”.
例句1中〈e2〉標(biāo)簽內(nèi)為單詞“deprivation”,例句2中為短語(yǔ)“sleep deprivation”,標(biāo)注單詞還是短語(yǔ)存在歧義.
3) 連鎖因果關(guān)系
例如句子“The aircraft was written off in the accident due to the severe impact caused by the KLM aircraft,and the resulting fire.”,由語(yǔ)義可知,“impact”是“accident”的原因,同時(shí)也是“aircraft”,“fire”的結(jié)果,“impact”如何標(biāo)注存在歧義.
4) 包含性歧義
在英文中,存在例如“including”,“such as”等具有“包含”語(yǔ)義的詞會(huì)影響因果關(guān)系的標(biāo)注.例如句子“Most illnesses,including colds and 〈e1〉flu〈e1〉,cause a toxic overload that also increases the 〈e2〉stress〈e2〉 on the kidneys.”,句中的“illness”是“colds”和“flu”的統(tǒng)稱,“colds”和“flu”是“illness”的特例,標(biāo)記統(tǒng)稱“illness”還是特例“colds”,“flu”存在爭(zhēng)議.且“colds”和“flu”是并列關(guān)系,原數(shù)據(jù)集只標(biāo)記了“flu”.
5) “of”短語(yǔ)歧義
在英文中一些帶有“of”的短語(yǔ)在語(yǔ)義上是一個(gè)整體,由于SemEval數(shù)據(jù)集只標(biāo)記實(shí)體單詞,故只標(biāo)記了“of”短語(yǔ)的一部分.例如句子“A first 〈e1〉revolution〈e1〉 was triggered by the growing use of 〈e2〉reading〈e2〉 and writing”,在短語(yǔ)“use of reading and writing”中標(biāo)記“use”還是“reading”,“writing”存在歧義.
數(shù)據(jù)集中還存在其他問(wèn)題,本文不全部列出.
針對(duì)上述5個(gè)問(wèn)題本文對(duì)原數(shù)據(jù)集進(jìn)行了修正,規(guī)則為:
1) 人工標(biāo)注出原數(shù)據(jù)集未標(biāo)記的因果關(guān)系實(shí)體(例如多因多果).
2) 短語(yǔ)統(tǒng)一選取核心單詞進(jìn)行標(biāo)注(1個(gè)單詞).
3) 連鎖因果中既是原因又是結(jié)果的單詞與其后面因果單詞的標(biāo)記相同.
4) 包含性歧義統(tǒng)一標(biāo)記“統(tǒng)稱”的單詞,忽略“特例”的單詞.
5) 帶有“of”的短語(yǔ),在不影響語(yǔ)義的情況下優(yōu)先標(biāo)記“of”前的單詞.
數(shù)據(jù)集中其他問(wèn)題也做了相應(yīng)的修正,在標(biāo)記存在爭(zhēng)議時(shí)采用投票表決的方法決定最終的標(biāo)簽.英文維基百科數(shù)據(jù)集的標(biāo)注標(biāo)準(zhǔn)與上述規(guī)則完全一致.
4.1.3 標(biāo)注方法
本文采用序列標(biāo)注進(jìn)行因果關(guān)系抽取,故需要給句子中的每個(gè)詞標(biāo)記相應(yīng)的標(biāo)簽.為了簡(jiǎn)單明了地將因果關(guān)系用標(biāo)注的方法抽取出來(lái),本文選取“C”,“E”,“O”這3種標(biāo)簽進(jìn)行標(biāo)注,其中“C”代表“cause”表示原因,“E”代表“effect”表示結(jié)果,“O”代表“other”表示該詞不具有因果關(guān)系.
如4.1.2節(jié)所述,本文的原因與結(jié)果均由核心單詞(1個(gè)單詞)表示,故對(duì)于一因一果,標(biāo)注序列中含有1個(gè)標(biāo)簽“C”和1個(gè)標(biāo)簽“E”,一因多果則含有1個(gè)標(biāo)簽“C”和多個(gè)標(biāo)簽“E”,多因一果的標(biāo)注序列存在多個(gè)標(biāo)簽“C”和1個(gè)標(biāo)簽“E”,有多個(gè)標(biāo)簽“C”和“E”的標(biāo)注序列表示該句子含有多因多果.
由于本文涉及句法依存分析,故標(biāo)點(diǎn)符號(hào)也同單詞一樣進(jìn)行標(biāo)注(標(biāo)注為“O”).由于不標(biāo)注因果連接詞,本文的因果關(guān)系抽取不限于帶有標(biāo)記的顯式因果,標(biāo)注例子如表1所示:
Table 1 Example of Labeling表1 標(biāo)注例子
4.1.4 顯式因果與隱式因果
在因果關(guān)系抽取中,根據(jù)是否含有因果連接詞將句子分為顯式因果與隱式因果.根據(jù)文獻(xiàn)[22]的顯隱式因果分類方法對(duì)數(shù)據(jù)進(jìn)行分類.
1) 顯式因果
① 顯式連接詞,如“cause”,“result in”等具有明顯因果含義的動(dòng)詞.例句:The 〈e1〉pollution 〈e1〉 was caused by the 〈e2〉shipwreck〈e2〉.
② 模糊連接詞:無(wú)明顯的因果含義.
(i) 可以通過(guò)結(jié)果性和工具性的動(dòng)詞模式來(lái)實(shí)現(xiàn)因果含義的連接詞,如“increase”,“trigger”等.例句:The Maze procedure crates new pathways for the electrical 〈e1〉impulses〈e1〉 that trigger the 〈e2〉 heartbeat〈e2〉.
(ii) 使因果代理與產(chǎn)生情況不可分割的連接詞,如“plague( by)”,“generate(by)”等.例句:The noise 〈e1〉signal〈e1〉 was generated by a noise 〈e2〉diode 〈e2〉 (ENR=27 dB) and gated with a high-speed electronic switch.
(iii) 非動(dòng)詞模式,如“due to”,“from”等.例句:The best kept secret for avoiding abdominal weight 〈e1〉gain〈e1〉 due to 〈e2〉stress〈e2〉 is the use of adaptogens.
2) 隱式因果
4.1.5 數(shù)據(jù)統(tǒng)計(jì)
實(shí)驗(yàn)共有3 000個(gè)含有因果關(guān)系的句子,按4∶1∶1的比例分為訓(xùn)練集、驗(yàn)證集、測(cè)試集.據(jù)4.1.3節(jié)所述,根據(jù)原因與結(jié)果的對(duì)應(yīng)關(guān)系將句子分為一因一果、一因多果、多因一果與多因多果.由于數(shù)據(jù)規(guī)模有限(如4.3.3節(jié)的表5所示,測(cè)試集中含多因多果的句子僅有18個(gè)),為了便于實(shí)驗(yàn),本文將一因多果、多因一果統(tǒng)稱為多因多果;據(jù)4.1.4節(jié)所述,根據(jù)是否含有因果連接詞將句子分為顯式因果(顯式連接詞)、顯式因果(模糊連接詞)以及隱式因果.
數(shù)據(jù)統(tǒng)計(jì)如表2所示.由表2可知,數(shù)據(jù)中大部分為一因一果和帶有顯式連接詞的顯式因果關(guān)系,含隱式因果的句子十分稀少.
Table 2 Data Statistics表2 數(shù)據(jù)統(tǒng)計(jì)
4.2.1 參數(shù)設(shè)置
1) 整體實(shí)驗(yàn)
優(yōu)化器:Adam;詞向量維度:300;梯度裁剪值:5.0;學(xué)習(xí)率:0.001;迭代次數(shù):120.
2) Bi-LSTM層
隱藏層:300;丟失率:0.3.
3) S-GAT層
加強(qiáng)后的特征維度F′=50(原特征維度F=300);多頭注意力機(jī)制頭的個(gè)數(shù)K=8;S-GAT層數(shù)n′=2(n=1).
4.2.2 評(píng)估標(biāo)準(zhǔn)
1) 細(xì)粒度抽取準(zhǔn)確率
以句子為單位.模型對(duì)句子進(jìn)行序列標(biāo)注,根據(jù)標(biāo)簽序列的結(jié)果判斷因果抽取是否正確.句子中所有單詞的標(biāo)簽全部正確,則該句子的因果關(guān)系抽取正確,其中包括:
① 原因和結(jié)果抽取的單詞正確;
② 因果關(guān)系方向正確;
③ 原因和結(jié)果同時(shí)抽取;
④ 在多因多果中,多個(gè)原因和多個(gè)結(jié)果同時(shí)滿足上述3個(gè)條件,則抽取正確.
序列標(biāo)注的準(zhǔn)確率(accuracy)計(jì)算為
accuracy=mM,
(13)
其中,m為句中所有單詞的標(biāo)簽全部標(biāo)注正確的句子個(gè)數(shù),M為句子總數(shù).
2) 粗粒度抽取精確率(P)、召回率(R)、F1值
以標(biāo)簽為單位.實(shí)驗(yàn)是對(duì)句子中的每個(gè)單詞根據(jù)標(biāo)簽進(jìn)行三分類,即判斷單詞屬于“原因”(C)、“結(jié)果”(E)還是“其他”(O),故實(shí)驗(yàn)對(duì)比不同模型的3種標(biāo)簽“C”,“E”,“O”的P,R,F(xiàn)1值.由于句子中大部分單詞的標(biāo)簽為“O”,且實(shí)驗(yàn)的目的是抽取標(biāo)簽“C”(原因)和“E”(結(jié)果),故標(biāo)簽“O”的P,R,F(xiàn)1值不是本文比較的重點(diǎn).
4.2.3 對(duì)比模型
本文選取多種模型進(jìn)行對(duì)比實(shí)驗(yàn),具體包括:
1) Bi-LSTM+CRF.文獻(xiàn)[18]提出的序列標(biāo)注模型.本文將原模型中的標(biāo)簽修改為4.1.3節(jié)所述的因果標(biāo)簽,將其應(yīng)用在因果關(guān)系抽取中.
2) Bi-LSTM+self-ATT.文獻(xiàn)[20]提出的語(yǔ)義角色標(biāo)注模型.本文將模型中的語(yǔ)義角色標(biāo)簽修改為4.1.3節(jié)所述的因果語(yǔ)義標(biāo)簽進(jìn)行因果關(guān)系抽取.
3) Bi-LSTM+CRF+self-ATT.對(duì)文獻(xiàn)[20]提出的Bi-LSTM+self-ATT模型進(jìn)行改進(jìn),在注意力層后加入CRF層輸出因果標(biāo)簽.
4) L-BL.文獻(xiàn)[13]提出的基于語(yǔ)言信息的雙向長(zhǎng)短期記憶網(wǎng)絡(luò)(linguistically informed Bi-LSTM)因果關(guān)系抽取模型.
除此之外,還包括基準(zhǔn)模型:CRF,LSTM,LSTM+CRF,Bi-LSTM.
本文提出的因果關(guān)系抽取模型Bi-LSTM+CRF+S-GAT,根據(jù)3.2節(jié)中句法依存圖生成方式的不同,有4種變形.
1) 有向圖模型:Bi-LSTM+CRF+S-GAT(dir);
2) 無(wú)向圖模型:Bi-LSTM+CRF+S-GAT(undir);
3) 有向圖+“self-arc”模型:Bi-LSTM+CRF+S-GAT(dir+self);
4) 無(wú)向圖+“self-arc”模型:Bi-LSTM+CRF+S-GAT(undir+self).
在Bi-LSTM+CRF+self-ATT模型中,設(shè)Bi-LSTM層+self-ATT層為1個(gè)塊(block),堆疊N層,self-ATT層堆疊次數(shù)n′=4.如表3所示,Bi-LSTM+CRF+self-ATT-3表示塊堆疊3層,未作標(biāo)記模型中的塊不進(jìn)行堆疊.
Table 3 Accuracy of Fine-grained Extraction表3 細(xì)粒度抽取準(zhǔn)確率
Note: The numbers in bold represent the best results of the experiment.
細(xì)粒度抽取(序列標(biāo)注)準(zhǔn)確率如表3所示,粗粒度抽取(“C”,“E”,“O”標(biāo)簽)的P,R,F(xiàn)1值如表4所示:
Table 4 Value of Precision,Recall,F(xiàn)1 of Coarse-grained Extraction表4 粗粒度抽取精確率、召回率、F1值
Note: The numbers in bold represent the best results of the experiment.
4.3.1 細(xì)粒度抽取準(zhǔn)確率
如表3所示,本文提出的Bi-LSTM+CRF+S-GAT模型優(yōu)于其他模型,其中有向圖、塊堆疊3層的Bi-LSTM+CRF+S-GAT(dir)-3模型的準(zhǔn)確率最高,達(dá)到了0.8,較Bi-LSTM+CRF+self-ATT-3序列標(biāo)注模型提高了0.064,較L-BL因果關(guān)系抽取模型提高了0.068.后續(xù)提到的“本文提出的模型”或“Bi-LSTM+CRF+S-GAT模型”在沒有強(qiáng)調(diào)的情況下默認(rèn)為Bi-LSTM+CRF+S-GAT(dir)-3模型.以圖8所示的句子為例,單詞“causes”在計(jì)算自身注意力時(shí),為其在句法依存圖中所有的相鄰節(jié)點(diǎn)(“flu”,“cold”,“.”)分配不同的權(quán)重,使注意力更集中在單詞“flu”(原因)和“cold”(結(jié)果)上,增強(qiáng)了因果語(yǔ)義的特征,提高了因果抽取的準(zhǔn)確率.
本文提出的模型中,在塊不堆疊的條件下,無(wú)向圖(undir)、有向圖+“self-arc”(dir+self)、無(wú)向圖+“self-arc”(undir+self)這3種句法依存圖模型的準(zhǔn)確率較低,相比Bi-LSTM+CRF+self-ATT模型僅有輕微的提升,效果遠(yuǎn)不如有向圖(dir)模型.原因和結(jié)果是同時(shí)存在且相互依賴的,是具有方向性的,無(wú)向圖忽略了因果方向性的特征,導(dǎo)致準(zhǔn)確率降低;單詞本身不是自己的鄰居,帶有“self-arc”的圖在更新權(quán)重時(shí)增加了干擾信息,降低了準(zhǔn)確率.該實(shí)驗(yàn)結(jié)果說(shuō)明GAT中圖的選取會(huì)影響實(shí)驗(yàn)的結(jié)果.
在塊不堆疊的情況下,改進(jìn)后的Bi-LSTM+CRF+self-ATT模型相比文獻(xiàn)[20]提出的Bi-LSTM+self-ATT模型的準(zhǔn)確率提高了0.004,其他模型加入CRF層后的效果均略有改善.CRF可以獲取相鄰上一詞的特征,通過(guò)多種特征函數(shù)給標(biāo)簽打分再進(jìn)行加權(quán)求和得到預(yù)測(cè)結(jié)果,是全局最優(yōu)化值,故相比通過(guò)softmax分類器得到預(yù)測(cè)結(jié)果的準(zhǔn)確率略有提升.對(duì)于基準(zhǔn)模型CRF,輸入僅為詞向量,以往因果關(guān)系抽取的研究中是通過(guò)人工構(gòu)建特征來(lái)提高模型的準(zhǔn)確度,故未加入任何特征工程的CRF模型的準(zhǔn)確率十分低.
一因一果的準(zhǔn)確率高于多因多果.多因多果準(zhǔn)確率較低的原因有:
1) 存在標(biāo)簽具有爭(zhēng)議無(wú)法確定的實(shí)體,句子無(wú)法給出準(zhǔn)確的標(biāo)注序列.含多因多果的句子語(yǔ)義較為復(fù)雜,且個(gè)人對(duì)多因多果的理解存在差異,例如句子“The slow suffocation of the cells swiftly cause unconsciousness and shock, soon followed by death.”,有人認(rèn)為結(jié)果為“unconsciousness”與“shock”,“death”是伴隨行為不是結(jié)果,而有人認(rèn)為“death”是“suffocation”導(dǎo)致的最終結(jié)果,該句子為一因二果還是一因三果存在爭(zhēng)議,單詞“death”的標(biāo)簽是“E”還是“O”無(wú)法確定;在含連鎖因果關(guān)系的句子中,存在既是原因又是結(jié)果的實(shí)體,例如句子“The aircraft was written off in the accident due to the severe impact caused by the KLM aircraft,and the resulting fire.”,由語(yǔ)義可知“impact”是“accident”的原因同時(shí)也是“aircraft”,“fire”的結(jié)果,“impact”的標(biāo)簽是“C”還是“E”無(wú)法確定.由于數(shù)據(jù)自身具有爭(zhēng)議,存在標(biāo)簽無(wú)法確定的實(shí)體,其數(shù)據(jù)特征并不精確,故模型無(wú)法提取準(zhǔn)確的因果特征,易導(dǎo)致多因多果抽取失敗.
2) 因果實(shí)體數(shù)量較多.抽取多因多果時(shí)需要將句子中所有原因與結(jié)果的實(shí)體同時(shí)抽取出來(lái),且需保證所有因果實(shí)體的中心詞選取正確,難度較大.
顯式因果的準(zhǔn)確率高于隱式因果.隱式因果準(zhǔn)確率較低的原因有:1)數(shù)據(jù)中含有隱式因果的句子較少,無(wú)法滿足實(shí)驗(yàn)所需;2)不含因果連接詞,句法結(jié)構(gòu)雜亂無(wú)章,難以提取因果特征.顯式因果中,顯式連接詞的準(zhǔn)確率略高于模糊連接詞,是因?yàn)楹@式連接詞的句子因果語(yǔ)義明顯,句法結(jié)構(gòu)相對(duì)規(guī)整,故準(zhǔn)確率較高;模糊連接詞的因果語(yǔ)義特征較為模糊,句法結(jié)構(gòu)相對(duì)復(fù)雜.
4.3.2 粗粒度抽取精確率、召回率、F1值
如表4所示,本文提出模型的標(biāo)簽“C”,“E”的精確率相比Bi-LSTM+CRF+self-ATT-3模型分別提高了0.031 5,0.042 2;召回率分別提高了0.027 0,0.048 9;F1值分別提高了0.029 6,0.045 4.
4.3.3 復(fù)雜因果對(duì)應(yīng)關(guān)系分析
對(duì)于多因多果,可以細(xì)分為一因多果、多因一果與真正的多因多果(多個(gè)原因?qū)е露鄠€(gè)結(jié)果),其實(shí)驗(yàn)數(shù)據(jù)如表5所示:
Table 5 Data of Multi Causality表5 多因多果數(shù)據(jù)
本文提出的模型Bi-LSTM+CRF+S-GAT(dir)-3與對(duì)比模型Bi-LSTM+CRF+self-ATT-3、L-BL在一因多果、多因一果與多因多果的實(shí)驗(yàn)數(shù)據(jù)上的準(zhǔn)確率如表6所示:
Table 6 Accuracy of One-cause Multi-effect, Multi-cause One-effect, Multi-cause Multi-effect表6 一因多果、多因一果、多因多果的準(zhǔn)確率
如4.2.2節(jié)所述,句子中所有的實(shí)體標(biāo)簽全部識(shí)別正確則該句子因果抽取正確,故句中每個(gè)實(shí)體標(biāo)簽的預(yù)測(cè)效果均會(huì)影響該句子的因果抽取結(jié)果.由于模型對(duì)于原因?qū)嶓w與結(jié)果實(shí)體的識(shí)別能力具有差異(C-F1≠E-F1),故句子中原因與結(jié)果實(shí)體個(gè)數(shù)的多少(因果實(shí)體個(gè)數(shù)比例=原因?qū)嶓w個(gè)數(shù)結(jié)果實(shí)體個(gè)數(shù))會(huì)影響因果抽取的準(zhǔn)確率.由表4可知,L-BL,Bi-LSTM+CRF+self-ATT-3,Bi-LSTM+CRF+S-GAT(dir)-3這3個(gè)模型中標(biāo)簽“C”(原因)的F1值均略高于標(biāo)簽“E”(結(jié)果)的F1值,說(shuō)明模型對(duì)于“原因”的識(shí)別能力略優(yōu)于“結(jié)果”.通常情況下,含原因(F1值較高)實(shí)體個(gè)數(shù)越多的句子(如多因一果)準(zhǔn)確率相對(duì)越高,反之含結(jié)果(F1值較低)實(shí)體個(gè)數(shù)較多(如一因多果)會(huì)“拉低”該句子因果抽取正確的概率,故3種模型中多因一果的準(zhǔn)確率均高于一因多果.多因多果由于因果實(shí)體個(gè)數(shù)的比例(原因?qū)嶓w與結(jié)果實(shí)體哪種較多)不能確定,且測(cè)試集數(shù)據(jù)量較少(僅18個(gè)數(shù)據(jù)),其實(shí)驗(yàn)結(jié)果不具有普遍代表性,故多因多果的準(zhǔn)確率無(wú)法與一因多果和多因一果進(jìn)行比較.
對(duì)比6種模型Bi-LSTM+CRF,L-BL,Bi-LSTM+CRF+self-ATT,Bi-LSTM+CRF+self-ATT-3,Bi-LSTM+CRF+S-GAT(dir),Bi-LSTM+CRF+S-GAT(dir)-3訓(xùn)練集的損失值(loss)與驗(yàn)證集的準(zhǔn)確率,曲線如圖9,10所示.本文選取迭代過(guò)程中驗(yàn)證集準(zhǔn)確率最高的模型進(jìn)行測(cè)試,結(jié)果如表3,4所示.
由圖9可知,在塊堆疊層數(shù)相同的情況下,本文提出模型在訓(xùn)練過(guò)程中的收斂速度略慢于其他模型.同一模型隨著塊堆疊層數(shù)的增多,損失值增大.如圖10所示,本文提出的模型在訓(xùn)練初始階段驗(yàn)證集準(zhǔn)確率的上升速度較為緩慢,迭代25次左右時(shí)有明顯上升,50次后趨于平緩.隨著迭代次數(shù)的增多,準(zhǔn)確率逐漸高于其他模型,迭代110次時(shí)達(dá)到頂峰.其他模型迭代30次左右時(shí),驗(yàn)證集的準(zhǔn)確率趨近于平緩,60次迭代后趨于穩(wěn)定,并緩慢上升.模型隨著塊堆疊層數(shù)的增加,驗(yàn)證集準(zhǔn)確率的上升速度略有減緩,趨于平緩后相比塊不堆疊的模型的準(zhǔn)確率有所上升.
Fig. 9 Epoch-loss(train)圖9 迭代次數(shù)-損失值(訓(xùn)練集)
Fig. 10 Epoch-accuracy(val)圖10 迭代次數(shù)-準(zhǔn)確率(驗(yàn)證集)
在傳統(tǒng)注意力機(jī)制的基礎(chǔ)上,本文模型加入了圖的概念,模型結(jié)構(gòu)更為復(fù)雜,訓(xùn)練參數(shù)較多,故訓(xùn)練過(guò)程中的收斂速度與驗(yàn)證集準(zhǔn)確率的上升速度略慢于對(duì)比模型.同一模型隨著塊堆疊層數(shù)的增多,網(wǎng)絡(luò)結(jié)構(gòu)的復(fù)雜程度成倍增加,故損失值增大,但提取的特征更為精準(zhǔn),故準(zhǔn)確率上升.
本文提出的Bi-LSTM+CRF+S-GAT(dir)模型隨著塊堆疊層數(shù)的增加(N取值為1,2,3,4,5),序列標(biāo)注的準(zhǔn)確率(細(xì)粒度抽取)與標(biāo)簽“C”,“E”的F1值(粗粒度抽取)如圖11所示:
Fig. 11 Number of block stack layers-accuracyC-F1E-F1圖11 塊堆疊層數(shù)-準(zhǔn)確率C-F1E-F1
N取值為2,3時(shí),相比N=1時(shí)模型的準(zhǔn)確率分別提高了0.6,1.4.N=3時(shí),標(biāo)簽“C”,“E”的F1值較N=1時(shí)分別提高了0.0174,0.0011.N取值為4,5時(shí),實(shí)驗(yàn)結(jié)果因過(guò)擬合下降,故模型中塊的堆疊層數(shù)N=3.
模型預(yù)測(cè)錯(cuò)誤的數(shù)據(jù)類型及其所占百分比(占比前3)與錯(cuò)誤例子如表7所示.除表7中的錯(cuò)誤數(shù)據(jù)類型外,還有3種錯(cuò)誤數(shù)據(jù)類型及其所占比例,分別為:原因和結(jié)果沒有同時(shí)抽取占0.05;因果關(guān)系方向錯(cuò)誤占0.04;連鎖因果關(guān)系抽取錯(cuò)誤占0.04.
1) “Other”.其他類型錯(cuò)誤,因模型自身結(jié)構(gòu)導(dǎo)致因果關(guān)系抽取失敗.
2) 中心詞選取錯(cuò)誤.包括名詞短語(yǔ)、帶有“of”的短語(yǔ)、含有“including”等詞的句子,因中心詞選取不當(dāng)導(dǎo)致預(yù)測(cè)準(zhǔn)確率降低.如表7的例句中,真實(shí)數(shù)據(jù)中標(biāo)簽為“E”的單詞是“pain”,而模型預(yù)測(cè)的結(jié)果為單詞“pain”和“relief”,即短語(yǔ)“pain relief”.由語(yǔ)義可知,相比單詞“疼痛”,短語(yǔ)“緩解疼痛”更能完整地表達(dá)因果含義.這是由于因果邊界設(shè)定過(guò)于嚴(yán)格,中心詞的選取存在歧義導(dǎo)致的因果抽取錯(cuò)誤.
3) 多因多果錯(cuò)誤.多因多果抽取正確的判定條件較為苛刻,同時(shí)識(shí)別出句子中所有原因和結(jié)果的實(shí)體才算抽取正確.如表7的例句所示,句子為“四因三果”,預(yù)測(cè)結(jié)果因單詞“burrows”的標(biāo)簽的識(shí)別錯(cuò)誤(只抽取出“三因三果”)導(dǎo)致整個(gè)句子的因果抽取失敗.
此外,人工標(biāo)注的錯(cuò)誤與數(shù)據(jù)本身存在的爭(zhēng)議也會(huì)導(dǎo)致因果抽取的準(zhǔn)確率下降.
Table 7 Model Predicts the Wrong Data Types and their Percentages and Error Examples表7 模型預(yù)測(cè)錯(cuò)誤的數(shù)據(jù)類型及其所占百分比與錯(cuò)誤例子
因果關(guān)系是一種重要的關(guān)系類型,因果關(guān)系抽取是文本挖掘中的一項(xiàng)基本任務(wù).與傳統(tǒng)的文本分類或關(guān)系抽取的分類方法不同,序列標(biāo)注能夠抽取出句子中的因果實(shí)體,且識(shí)別出因果關(guān)系方向,做到真正的因果“抽取”.結(jié)合傳統(tǒng)的序列標(biāo)注模型與注意力機(jī)制,本文提出了Bi-LSTM+CRF+S-GAT因果抽取模型.該模型將GAT應(yīng)用到NLP中,拓展句法依存樹到句法依存圖并引入了S-GAT.將傳統(tǒng)注意力機(jī)制中的線性數(shù)據(jù)轉(zhuǎn)化為圖形數(shù)據(jù),原本互相獨(dú)立的詞通過(guò)句法依存圖產(chǎn)生依賴關(guān)系.句中的詞在計(jì)算自身注意力時(shí),為每個(gè)相鄰節(jié)點(diǎn)分配不同的權(quán)重,使注意力更集中在表示“原因”與“結(jié)果”含義的詞上,加強(qiáng)了因果語(yǔ)義特征,達(dá)到了因果抽取的目的.本文提出的模型較現(xiàn)有Bi-LSTM+CRF+self-ATT模型的準(zhǔn)確率提高了0.064.
由于語(yǔ)義的復(fù)雜性和標(biāo)注的歧義性,本文提出的因果關(guān)系抽取方法還存在一些缺點(diǎn)與不足:1)標(biāo)注方法的缺陷.因果邊界的選取過(guò)于嚴(yán)格,英文中有時(shí)短語(yǔ)更能完整地表達(dá)因果含義,連鎖因果關(guān)系無(wú)法給出準(zhǔn)確的標(biāo)注序列.2)抽取方法的缺陷.序列標(biāo)注的方法無(wú)法對(duì)原因或結(jié)果是子句(無(wú)法提取因果中心詞)的句子進(jìn)行因果關(guān)系抽取.3)實(shí)驗(yàn)數(shù)據(jù)的缺陷.因果關(guān)系抽取可進(jìn)行公開測(cè)評(píng)的數(shù)據(jù)集較少,本文采用人工擴(kuò)展SemEval數(shù)據(jù)集后的實(shí)驗(yàn)數(shù)據(jù)依舊不多,人工標(biāo)注速度較慢且存在錯(cuò)誤.實(shí)驗(yàn)數(shù)據(jù)中不涉及跨句、跨段的因果關(guān)系,且含隱式因果的數(shù)據(jù)量較少,無(wú)法深入探究隱式因果關(guān)系.
此外,GAT中圖的選取會(huì)影響因果抽取的效果,除本文采用的句法依存圖外,也可嘗試語(yǔ)義依存圖或構(gòu)建其他類型的圖進(jìn)行研究.進(jìn)一步拓展因果抽取范圍,如深入研究隱式因果關(guān)系,探究跨句、跨段等長(zhǎng)文本的因果關(guān)系抽取.除因果關(guān)系抽取外,本文提出的模型也可嘗試應(yīng)用在其他序列標(biāo)注的任務(wù)中.這些均是我們以后需要改進(jìn)和進(jìn)一步探究的問(wèn)題.