孫 新,申長虹,姜景虎,崔家銘
(1.北京理工大學(xué) 計(jì)算機(jī)學(xué)院,北京 100081;2.復(fù)旦大學(xué) 信息科學(xué)與工程學(xué)院,上海 200433)
關(guān)系抽取是指從文本中發(fā)現(xiàn)與識(shí)別句子中已標(biāo)記實(shí)體對(duì)之間的語義關(guān)系,這種語義關(guān)系常以三元組<頭實(shí)體,關(guān)系,尾實(shí)體>的形式表達(dá)。關(guān)系抽取是信息抽取的關(guān)鍵技術(shù),在知識(shí)圖譜構(gòu)建、智能問答和語義檢索等方面被廣泛應(yīng)用。
在現(xiàn)有的實(shí)體關(guān)系抽取方法中,有監(jiān)督方法的準(zhǔn)確率較高,但缺點(diǎn)是費(fèi)時(shí)費(fèi)力,無法較好地完成大規(guī)模的關(guān)系抽取任務(wù)。為了能夠自動(dòng)獲取高質(zhì)量的標(biāo)注數(shù)據(jù),文獻(xiàn)[1]提出了遠(yuǎn)程監(jiān)督的方法,通過數(shù)據(jù)自動(dòng)對(duì)齊遠(yuǎn)程知識(shí)庫的方法解決開放域中大量無標(biāo)簽數(shù)據(jù)自動(dòng)標(biāo)注的問題。由于遠(yuǎn)程監(jiān)督的關(guān)系抽取方法能夠大幅減少標(biāo)注成本,因此近年來受到研究者的廣泛關(guān)注。
遠(yuǎn)程監(jiān)督方法最大的問題在于通過知識(shí)庫標(biāo)注的句子往往存在噪聲,如實(shí)體間存在多種關(guān)系,無法確定包含該實(shí)體對(duì)的句子具體表達(dá)哪種關(guān)系。此外,提取特征時(shí)引入的誤差傳播問題也會(huì)影響關(guān)系抽取的效果。針對(duì)這些問題,研究者提出多實(shí)例學(xué)習(xí)和多實(shí)例多標(biāo)簽學(xué)習(xí)的方法[2-3]來解決錯(cuò)誤標(biāo)注問題,并通過注意力機(jī)制對(duì)句子進(jìn)行賦權(quán)。文獻(xiàn)[4]將多實(shí)例學(xué)習(xí)與分段卷積神經(jīng)網(wǎng)絡(luò)模型(Piecewise Convolutional Neural Network,PCNN)相結(jié)合來進(jìn)行遠(yuǎn)程監(jiān)督的關(guān)系抽取,文獻(xiàn)[5]在此基礎(chǔ)上引入注意力機(jī)制,綜合利用句包中所有語句的信息,為不同的句子賦予不同的權(quán)重,同時(shí)丟棄一些噪音數(shù)據(jù),進(jìn)一步提升了關(guān)系抽取模型的性能。
雖然很多關(guān)系抽取方法[6-8]都使用了注意力機(jī)制,但是這些工作所采用的注意力機(jī)制只是將每個(gè)關(guān)系當(dāng)作獨(dú)立的個(gè)體來看待,孤立地選取適用于每種關(guān)系的語句,沒有充分利用關(guān)系之間存在的豐富關(guān)聯(lián)信息。例如,在句子“我喜歡吃蘋果”中,對(duì)于關(guān)系“喜歡”,此句就是高質(zhì)量句子,那么相應(yīng)地,可以認(rèn)為對(duì)于關(guān)系“討厭”,此句便為低質(zhì)量句子。對(duì)于蘊(yùn)含關(guān)聯(lián)信息的關(guān)系,句子的表征也有一定的相關(guān)性。
此外,現(xiàn)有方法往往集中在探索句子的語義信息層面上,忽略了實(shí)體的描述信息對(duì)關(guān)系抽取效果的影響。在上述例句中,如果沒有“蘋果”是一種水果的信息,則很難判斷該句表達(dá)的是哪種關(guān)系。在缺乏背景知識(shí)時(shí),“蘋果”可能是指電子設(shè)備,而句子并不表示關(guān)系“喜歡”。因此,實(shí)體本身的描述信息能夠幫助改善關(guān)系抽取的效果。
本文提出一種結(jié)合實(shí)體描述信息的跨句包關(guān)系抽取模型(PC2SAD)。利用PCNN 進(jìn)行句編碼,獲得更多與實(shí)體相關(guān)的上下文信息。同時(shí)為減弱錯(cuò)誤標(biāo)簽帶來的噪聲,使用跨關(guān)系跨句包注意力機(jī)制獲取關(guān)系特征,彌補(bǔ)傳統(tǒng)注意力機(jī)制孤立分析單個(gè)關(guān)系的不足,更好地從遠(yuǎn)程監(jiān)督的噪聲數(shù)據(jù)中鑒別有效的實(shí)例,從而學(xué)習(xí)到更準(zhǔn)確的關(guān)系表示。此外,為在跨關(guān)系跨句包注意力模塊中提供更好的實(shí)體表征,使用卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)從Freebase 知識(shí)庫與Wikipedia 文本中提取實(shí)體的描述信息,補(bǔ)充關(guān)系抽取任務(wù)所需的背景知識(shí)。
實(shí)體關(guān)系抽取能夠快速高效地從開放領(lǐng)域的文本中抽取出有效信息,是信息抽取的關(guān)鍵任務(wù)?,F(xiàn)有的關(guān)系抽取方法主要分為有監(jiān)督、半監(jiān)督、弱監(jiān)督、無監(jiān)督和遠(yuǎn)程監(jiān)督等方法[9-10],其中,有監(jiān)督關(guān)系抽取方法和遠(yuǎn)程監(jiān)督關(guān)系抽取方法是實(shí)體關(guān)系抽取的常用方法。
有監(jiān)督的關(guān)系抽取旨在從大規(guī)模標(biāo)注語料中獲取表達(dá)實(shí)體間語義關(guān)系的有效特征,在已標(biāo)注的數(shù)據(jù)基礎(chǔ)上訓(xùn)練分類器,主要方法有基于規(guī)則、基于特征工程、基于核函數(shù)和基于深度模型的方法等?;谝?guī)則的方法[11-12]主要采用模板匹配的方式進(jìn)行關(guān)系抽取,但是該方法依賴于專家經(jīng)驗(yàn),代價(jià)高且可移植性差,難以被推廣使用?;谔卣鞴こ痰姆椒ǎ?3-14]通過從句子中提取出相關(guān)詞法、語法和句法信息獲取有效特征?;诤撕瘮?shù)的方法[15-16]通過構(gòu)建結(jié)構(gòu)樹并計(jì)算關(guān)系距離以抽取關(guān)系實(shí)例,緩解了特性稀疏性問題?;谏疃饶P偷姆椒軌蜃詣?dòng)學(xué)習(xí)句子特征,避免特征提取的錯(cuò)誤傳播問題,提升關(guān)系抽取的效果。雖然有監(jiān)督的關(guān)系抽取方法準(zhǔn)確率高,但是需要大量人工標(biāo)注的語料,這限制了大規(guī)模的實(shí)體關(guān)系抽取。
為解決人工標(biāo)注語料嚴(yán)重缺乏的問題,文獻(xiàn)[1]提出一種不用人工標(biāo)注的遠(yuǎn)程監(jiān)督方法,其利用Freebase 知識(shí)庫與Wikipedia 文本進(jìn)行對(duì)齊,獲取大量關(guān)系三元組。遠(yuǎn)程監(jiān)督基于如下假設(shè):如果已知兩個(gè)實(shí)體間存在某種關(guān)系,那么所有包含這兩個(gè)實(shí)體的句子都潛在地表達(dá)了該關(guān)系。因此,可以借助外部知識(shí)庫將高質(zhì)量的實(shí)體關(guān)系對(duì)應(yīng)到大規(guī)模文本中,然后通過有監(jiān)督的方法訓(xùn)練得到關(guān)系抽取模型。
文獻(xiàn)[17]根據(jù)上述假設(shè),將基于遠(yuǎn)程監(jiān)督的關(guān)系抽取問題形式化為多實(shí)例單標(biāo)簽問題,只關(guān)注于句包體現(xiàn)了實(shí)體對(duì)間的哪些關(guān)系,選擇使關(guān)系概率最大的實(shí)例語句作為實(shí)體對(duì)的表示,從而更契合于實(shí)際應(yīng)用場(chǎng)景。文獻(xiàn)[2-3]考慮到在一個(gè)實(shí)體對(duì)中可能有不止一種關(guān)系成立,在多實(shí)例學(xué)習(xí)的基礎(chǔ)上,更進(jìn)一步地將該問題形式化為多實(shí)例多標(biāo)簽學(xué)習(xí)問題。
文獻(xiàn)[18]使用卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行關(guān)系抽取,輸入句子中所有單詞的詞向量和位置向量,通過卷積和池化操作提取句子特征,緩解了使用自然語言處理工具進(jìn)行特征提取可能導(dǎo)致的誤差傳播問題。文獻(xiàn)[4]在卷積神經(jīng)網(wǎng)絡(luò)的基礎(chǔ)上進(jìn)一步提出PCNN模型,根據(jù)實(shí)體在句中的位置將句子分段進(jìn)行池化,得到更多與實(shí)體相關(guān)的上下文信息,也有效解決了特征提取誤差傳播問題。PCNN 雖然結(jié)合多實(shí)例學(xué)習(xí)方法提升了遠(yuǎn)程監(jiān)督關(guān)系抽取的效果,但是多實(shí)例學(xué)習(xí)只給句包打標(biāo)簽,從包含實(shí)體對(duì)的句包的所有語句中只選擇一個(gè)句子,這會(huì)導(dǎo)致丟失大量有用句子的信息。
文獻(xiàn)[5]在文獻(xiàn)[4]的基礎(chǔ)上提出了基于注意力機(jī)制的多實(shí)例學(xué)習(xí)策略,使用關(guān)系向量作為注意力,對(duì)一個(gè)句包中的每個(gè)句子分配權(quán)重,以表示在該關(guān)系上不同句子的重要程度,并對(duì)句子向量進(jìn)行加權(quán)求和得到句包嵌入向量,在此基礎(chǔ)上直接對(duì)句包進(jìn)行分類。
文獻(xiàn)[19]提出雙向長短時(shí)記憶網(wǎng)絡(luò)來提取句子特征,同時(shí)應(yīng)用注意力機(jī)制識(shí)別噪聲句子。文獻(xiàn)[20]指出句包中的假正例仍然是影響關(guān)系抽取效果的主要因素,并且識(shí)別錯(cuò)誤標(biāo)注的句子應(yīng)該是決策問題而不是注意力的權(quán)重分配,在此基礎(chǔ)上提出一種基于強(qiáng)化學(xué)習(xí)框架來訓(xùn)練關(guān)系抽取器。文獻(xiàn)[21]提出的強(qiáng)化學(xué)習(xí)方法包含句子選擇器和關(guān)系抽取器,句子選擇器遍歷句子并做出動(dòng)作是否選擇當(dāng)前句子,關(guān)系抽取器用選擇出來的句子做關(guān)系分類并給出獎(jiǎng)勵(lì),該方法適用于句子級(jí)別的關(guān)系抽取而不是傳統(tǒng)的包級(jí)別。
盡管遠(yuǎn)程監(jiān)督關(guān)系抽取方法已經(jīng)取得了顯著的發(fā)展,但是仍然面臨一些亟待解決的問題:首先,多數(shù)工作孤立地對(duì)每個(gè)關(guān)系建模,忽略了關(guān)系之間豐富的相關(guān)性;其次,現(xiàn)有的關(guān)系抽取方法只關(guān)注從文本中直接抽取實(shí)體之間的關(guān)系,忽略了實(shí)體描述所提供的有用的背景知識(shí)。為解決上述問題,本文利用關(guān)系之間豐富的相關(guān)信息減少噪音句子的影響,設(shè)計(jì)結(jié)合實(shí)體描述信息的跨關(guān)系、跨句包注意力機(jī)制,以期提高關(guān)系抽取性能。
本文在PCNN 模型基礎(chǔ)上,提出一種結(jié)合實(shí)體描述信息的跨句包關(guān)系抽取模型PC2SAD,模型結(jié)構(gòu)如圖1 所示。首先利用PCNN 進(jìn)行句編碼,提取句子中的實(shí)體關(guān)系;然后利用跨關(guān)系跨句包注意力機(jī)制獲取關(guān)系特征,從而既充分利用關(guān)系的相關(guān)性,又減少知識(shí)庫中未出現(xiàn)或者過時(shí)事實(shí)的影響,尤其減少整包句子均為噪聲情況的影響;最后使用卷積神經(jīng)網(wǎng)絡(luò)模型從Freebase 和Wikipedia 中提取實(shí)體描述信息的特征向量,并通過增加對(duì)關(guān)系抽取模塊目標(biāo)函數(shù)的約束,使其接近相應(yīng)的實(shí)體向量。
圖1 PC2SAD 模型架構(gòu)Fig.1 Architecture of PC2SAD model
傳統(tǒng)的遠(yuǎn)程監(jiān)督特征提取主要是利用自然語言處理工具進(jìn)行數(shù)據(jù)集的特征提取,這會(huì)導(dǎo)致誤差逐層傳播,影響關(guān)系抽取的效果。本文選用PCNN 模型進(jìn)行句編碼,根據(jù)實(shí)體所在的位置將句子切分成3 段進(jìn)行池化,從而得到更多與實(shí)體相關(guān)的上下文信息,以解決特征提取的誤差傳播問題。為方便表述模型內(nèi)容,進(jìn)行以下符號(hào)說明:
1)將含有相同實(shí)體對(duì)的若干句子組成的句子集合稱為句包B。第i個(gè)句包記做其中,si,j是第i個(gè)句包Bi中包含相同實(shí)體對(duì)的第j個(gè)句子,j?[1,nb],nb為句包Bi中句子的數(shù)目。
2)句包B中的每個(gè)句子用s表示,句子s的分布式表示記做句子s的特征向量s′。
3)對(duì)于句包B中第j個(gè)句子s={w1,w2,…,wm},每個(gè)單詞wi經(jīng)過向量化處理成詞向量w′i,每個(gè)單詞wi的實(shí)體相對(duì)位置特征經(jīng)過向量化表示為位置向量pi。其中,m是句子s的單詞個(gè)數(shù),j?[1,nb],nb是句包中句子的個(gè)數(shù)。
為充分獲取句子的高維語義表示,解決句子特征提取的誤差傳播問題,PC2SAD 模型利用PCNN 模型將給定的句子轉(zhuǎn)換成對(duì)應(yīng)的特征向量,具體過程如下:
1)對(duì)于句子s,PC2SAD 模型拼接每個(gè)單詞的詞向量wi′與位置向量pi,作為模型的輸入向量xi。此處,xi?Rki,ki=kw+kp×2,其中,kw為單詞wi的詞向量維數(shù),kp為位置向量維數(shù)。型定義qi?Rl×d為第i個(gè)滑動(dòng)窗口內(nèi)的單詞輸入向量
2)對(duì)輸入的xi使用PCNN 模型進(jìn)行句編碼。模xi的拼接:
W為其卷積核矩陣,其中,dc是句子特征向量的維度大小。
卷積層的第i個(gè)卷積輸出為:
其中,b是一個(gè)偏置向量,f是激活函數(shù)。
經(jīng)過卷積之后,傳統(tǒng)的做法是直接進(jìn)行池化操作,如最大池化,但是簡(jiǎn)單地進(jìn)行最大池化并不能很好地捕捉實(shí)體詞在句子中的結(jié)構(gòu)信息,句法解析的準(zhǔn)確性將會(huì)隨著句長的增加而顯著降低[17]。考慮到實(shí)體對(duì)在句子中存在一定的結(jié)構(gòu)特征,即句包中的每個(gè)句子都被兩個(gè)實(shí)體詞分成三部分,利用這種內(nèi)部結(jié)構(gòu)信息將有助于捕捉實(shí)體間關(guān)系[4],因此,PCNN 模型使用分段最大池化操作以保留更細(xì)粒度的信息,獲取準(zhǔn)確的句編碼表示。
句子s的特征向量s′?的第j維通過分段池化操作得到:
此處,卷積層輸出的結(jié)果被頭實(shí)體和尾實(shí)體分成了三部分,i1和i2是句子s的頭實(shí)體和尾實(shí)體在句中的位置。
句子s的特征向量s′?為三部分池化結(jié)果的拼接:
通過分段池化操作將低層特征組合成高層特征,能夠在保留句子細(xì)粒度信息的同時(shí),避免利用自然語言處理工具進(jìn)行特征提取所導(dǎo)致的錯(cuò)誤傳播問題。
在遠(yuǎn)程監(jiān)督方法中,通過知識(shí)庫標(biāo)注的句子往往含有較多的噪聲,包含實(shí)體對(duì)的許多句子可能并沒有表達(dá)出該實(shí)體對(duì)的對(duì)應(yīng)關(guān)系,這個(gè)問題會(huì)嚴(yán)重影響關(guān)系抽取的性能。本文在句編碼的基礎(chǔ)上,構(gòu)建跨關(guān)系跨句包注意力機(jī)制,充分考慮和利用關(guān)系的相關(guān)性,以緩解錯(cuò)誤標(biāo)注句子對(duì)模型的影響。PC2SAD 模型先利用跨關(guān)系注意力為每種關(guān)系計(jì)算句包特征,減少噪音句子或者不匹配句子的影響,再利用跨包注意力為每種關(guān)系構(gòu)造一個(gè)關(guān)系包,使其能夠更多地關(guān)注高質(zhì)量的訓(xùn)練實(shí)例。
2.2.1 跨關(guān)系注意力
在利用句編碼將句包Bi中的每個(gè)句子si,j表示為s′i,j之后,依據(jù)句子和關(guān)系之間的相似度為每個(gè)句子計(jì)算其注意力得分:
其中,rk是第k個(gè)關(guān)系對(duì)應(yīng)的注意力參數(shù)。
為捕捉關(guān)系間的相關(guān)性,利用貝葉斯規(guī)則計(jì)算預(yù)期的注意力權(quán)重βj,k,可以得到:
其中,αj,k為第k個(gè)關(guān)系在第j個(gè)句子上的條件概率計(jì)算值,βj,k為第j個(gè)句子在第k個(gè)關(guān)系下的條件概率計(jì)算值。
第k個(gè)關(guān)系下句包Bi的特征向量計(jì)算為:
依據(jù)句子與所有關(guān)系之間的相似度來計(jì)算跨關(guān)系注意力,最終得到每個(gè)關(guān)系對(duì)應(yīng)的句包特征向量。
2.2.2 跨句包注意力
句子級(jí)別的注意力基于以下假定:如果兩個(gè)實(shí)體間存在某種關(guān)系,那么在所有這兩個(gè)實(shí)體共同出現(xiàn)的句子中,至少有一句表達(dá)了這種關(guān)系。然而,由于遠(yuǎn)程監(jiān)督中大量數(shù)據(jù)被錯(cuò)誤標(biāo)記,句包中存在過時(shí)事實(shí)或者不存在事實(shí)等噪音數(shù)據(jù),甚至整個(gè)句包都為噪音數(shù)據(jù)。因此,PC2SAD 利用關(guān)系包將注意力集中到更高質(zhì)量的訓(xùn)練實(shí)例上。
相同關(guān)系的句包組成的集合稱為關(guān)系包,其分布式表示向量稱為關(guān)系包的特征向量。對(duì)于關(guān)系包B={B1,B2,…Bns},ns是關(guān)系包的大小,句包Bi被標(biāo)記為表達(dá)第k個(gè)關(guān)系。
在跨關(guān)系注意力上,PC2SAD 模型捕捉句子之間的相關(guān)性,同時(shí)為每個(gè)句包構(gòu)建其特征向量。PC2SAD 模型利用注意力機(jī)制將這些特征向量組合在一起。
關(guān)系包B的特征向量f計(jì)算方法如下:
其中,bi,k是句包Bi在第k個(gè)關(guān)系下的特征向量,rk是第k個(gè)關(guān)系對(duì)應(yīng)的注意力參數(shù),可以用余弦相似度計(jì)算得到。
多實(shí)例方法[4]只使用句包中一個(gè)句子的實(shí)例信息,未能充分利用包中的訓(xùn)練實(shí)例。本文提出的跨包注意力機(jī)制不僅能夠解決這個(gè)問題,而且在綜合利用包中所有訓(xùn)練實(shí)例信息的基礎(chǔ)上,通過二次篩選和去除包中的無用信息,將關(guān)系相同的句子組合到一起,從而更好地改善遠(yuǎn)監(jiān)督關(guān)系抽取的效果。
實(shí)體描述信息可以為句子中的實(shí)體提供豐富的背景知識(shí)。PC2SAD 模型使用包含一個(gè)卷積層和一個(gè)池化層的CNN 模型,從實(shí)體的描述信息中提取特征。
在PC2SAD 模型中,為使實(shí)體的向量接近描述的向量,將它們之間的誤差定義為:
基于TransE[22]思想,關(guān)系可以表示為尾實(shí)體減去頭實(shí)體。例如,關(guān)系“/location/location/contains”可以表示為關(guān)系對(duì)應(yīng)的實(shí)體對(duì)“Belle Harbor”與“Queens”之差:r≈wBelle_Harbor-wQueens,也可以表示為實(shí)體對(duì)“Celina”與“Ohio”之差:r≈wCelina-wOhio。
理論上,對(duì)于同一關(guān)系,不同實(shí)體對(duì)的計(jì)算結(jié)果是相似的,并使用平均值表示關(guān)系。
實(shí)體描述信息來源于Freebase 和Wikipedia,在Freebase 中提取25 271 個(gè)實(shí)體描述信息,在Wikipedia 中提取14 257 個(gè)實(shí)體描述信息。
在訓(xùn)練過程中,首先使用極大似然函數(shù)來訓(xùn)練跨關(guān)系跨句包注意力模塊,然后再聯(lián)合訓(xùn)練實(shí)體描述模塊。
極大似然函數(shù)定義如下:
其中,nsb是訓(xùn)練過程中關(guān)系包的數(shù)目,li表示關(guān)系包的標(biāo)簽。
聯(lián)合訓(xùn)練的損失函數(shù)為:
在訓(xùn)練過程中采用隨機(jī)梯度下降來最小化目標(biāo)函數(shù),從訓(xùn)練集中隨機(jī)選擇數(shù)據(jù)進(jìn)行訓(xùn)練,不斷迭代,直到損失函數(shù)收斂。
為驗(yàn)證本文方法在緩解特征提取誤差傳播、減弱錯(cuò)誤標(biāo)簽噪聲數(shù)據(jù)影響以及補(bǔ)充實(shí)體背景信息方面的有效性,設(shè)計(jì)3 組實(shí)驗(yàn),分別從語料庫、句子和句子數(shù)量層面驗(yàn)證PC2SAD 模型的關(guān)系抽取效果。
實(shí)驗(yàn)使用文獻(xiàn)[2]所使用的數(shù)據(jù)集和NYT10 數(shù)據(jù)集[17]。文獻(xiàn)[2]所使用的數(shù)據(jù)集(本文中用NYT11表示)共包含395 個(gè)人工標(biāo)注的句子。NYT10 數(shù)據(jù)集[17]共包含53 種關(guān)系類型,其中,訓(xùn)練數(shù)據(jù)包含522 611 個(gè)句子、281 270 個(gè)實(shí)體對(duì)和18 252 個(gè)關(guān)系事實(shí),測(cè)試數(shù)據(jù)包含172 448 個(gè)句子、96 678 個(gè)實(shí)體對(duì)和1 950 個(gè)關(guān)系事實(shí)。表1 列出了實(shí)驗(yàn)中使用的所有訓(xùn)練參數(shù)。
表1 訓(xùn)練參數(shù)設(shè)置Table 1 Setting of training parameters
3.2.1 語料庫層面關(guān)系抽取方法比較
為證明PC2SAD 模型的有效性,本文以PCNN 模型作為句子編碼器,在NYT10 數(shù)據(jù)集上與以下模型進(jìn)行比較:
1)PCNN:將PCNN 作為遠(yuǎn)監(jiān)督關(guān)系抽取的基線模型。
2)PCNN+ATT:以PCNN 為句編碼模塊,結(jié)合普通注意力機(jī)制ATT,驗(yàn)證遠(yuǎn)監(jiān)督關(guān)系抽取中注意力模塊的有效性。
3)PCNN+C2SA:以PCNN 為句編碼模塊,驗(yàn)證C2SA 在關(guān)系抽取中的有效性。
實(shí)驗(yàn)采用準(zhǔn)確率-召回率曲線對(duì)不同方法性能進(jìn)行衡量,即通過對(duì)比測(cè)試集上每個(gè)句子在每個(gè)關(guān)系上概率的高低,逐一判斷每個(gè)句子在該關(guān)系上的正確性,計(jì)算得到準(zhǔn)確率-召回率曲線,如圖2 所示??梢钥闯?,PC2SAD 在整個(gè)召回率范圍內(nèi)顯著優(yōu)于基于人工特征的方法,這表明人工特征無法簡(jiǎn)潔地表達(dá)句子的語義含義,同時(shí),借助自然語言處理工具所帶來的錯(cuò)誤同樣也會(huì)影響關(guān)系抽取的性能。相比之下,PC2SAD 可以很好地表達(dá)關(guān)系抽取所需的句子語義信息。
圖2 不同關(guān)系抽取方法的準(zhǔn)確率-召回率曲線Fig.2 Precision-recall curves of different relation extraction methods
對(duì)于PCNN+ATT 模型,加入ATT 方法可以使模型相比于原始的PCNN 有更好的關(guān)系抽取效果,這表明加入ATT 可以有效過濾對(duì)關(guān)系沒有意義的句子,緩解遠(yuǎn)監(jiān)督關(guān)系抽取中存在的錯(cuò)誤標(biāo)注問題。
對(duì)于PCNN+C2SA 模型,圖2 的準(zhǔn)確率-召回率曲線驗(yàn)證了C2SA 方法的有效性,這表明跨關(guān)系跨句包注意力模塊對(duì)關(guān)系抽取的性能要優(yōu)于普通注意力方法ATT,跨關(guān)系注意力確實(shí)能夠提高實(shí)例選擇的質(zhì)量,而跨句包注意力對(duì)過濾知識(shí)庫事實(shí)不匹配或者不存在的噪音數(shù)據(jù)也有一定的緩解效果。
對(duì)于PC2SAD 模型,從圖2 中可以看出,該模型的效果優(yōu)于上述所有模型,這表明在PCNN 作為句編碼、C2SA 進(jìn)行實(shí)例權(quán)重選擇基礎(chǔ)上,加入實(shí)體描述信息,不僅為預(yù)測(cè)關(guān)系提供了更多的信息,同時(shí)也為注意力模塊帶來了更好的實(shí)體表征。
3.2.2 句子層面關(guān)系抽取方法比較
為進(jìn)一步驗(yàn)證PC2SAD 中加入跨關(guān)系跨句包注意力機(jī)制和實(shí)體描述信息后整個(gè)模型在句子級(jí)關(guān)系抽取方面的性能優(yōu)勢(shì),比較不同方法針對(duì)特定句子識(shí)別實(shí)體對(duì)的關(guān)系類型的性能。在文獻(xiàn)[2]所使用的數(shù)據(jù)集上,分別以PCNN、循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network,RNN)為編碼模塊,替換普通注意力網(wǎng)絡(luò)ATT、跨關(guān)系注意力CRSA、跨關(guān)系跨包注意力C2SA 以及加入實(shí)體描述信息后的模型,以此進(jìn)行實(shí)驗(yàn)對(duì)比,實(shí)驗(yàn)結(jié)果如表2 所示。
表2 句子層面不同關(guān)系抽取算法的F1 值比較Table 2 F1 value comparison on the sentence-level relation extraction
從表2 可以看出:
1)以PCNN 和RNN 為句編碼模塊的關(guān)系抽取效果相當(dāng),而PC2SAD 整體上優(yōu)于其他模型。這一實(shí)驗(yàn)結(jié)果驗(yàn)證了實(shí)體描述信息在關(guān)系抽取任務(wù)中的有效性,其與ATT、C2SA、PCNN 模型相結(jié)合后,關(guān)系抽取的效果得到了更好的提升。
2)PCNN+C2SA 模型效果優(yōu)于PCNN+ATT,這表明相比于ATT,C2SA 不僅具備ATT 已有的噪聲數(shù)據(jù)權(quán)重更低的優(yōu)勢(shì),更能充分利用關(guān)系的相關(guān)性,尤其是減少句包中所有句子均為噪聲數(shù)據(jù)時(shí)對(duì)模型性能的影響。
3)RNN/PCNN+CRSA 模型比PCNN+ATT 效果要好,這表明跨關(guān)系注意力機(jī)制通過計(jì)算句子與所有關(guān)系之間的相似度,對(duì)于噪聲數(shù)據(jù)或者錯(cuò)誤標(biāo)注的數(shù)據(jù)計(jì)算得到的權(quán)重會(huì)比較低,因此,可以降低錯(cuò)誤標(biāo)注的影響。而PCNN+C2SA 模型的效果要更好,這表明句包中的句子有些是過時(shí)的或者是不存在的事實(shí),跨包注意力將關(guān)系相同的句向量組合到一起,可以丟棄沒有價(jià)值的信息,從而關(guān)注更高質(zhì)量的訓(xùn)練實(shí)例。
3.2.3 句子數(shù)量對(duì)關(guān)系抽取性能的影響
在NYT10 原始測(cè)試數(shù)據(jù)集中,有74 857 個(gè)實(shí)體對(duì)僅對(duì)應(yīng)于一個(gè)句子,在所有實(shí)體對(duì)上占比接近3/4。由于PC2SAD 模型的優(yōu)勢(shì)在于能夠處理包含多個(gè)句子實(shí)體對(duì)的情況,因此本文比較CNN/PCNN+MIL、采用注意力機(jī)制的CNN/PCNN+ATT 和結(jié)合實(shí)體描述信息的PC2SAD 在具有多個(gè)句子的實(shí)體對(duì)集合上的表現(xiàn)。此處,MIL 是文獻(xiàn)[4,18]提出的多實(shí)例學(xué)習(xí)方法。
實(shí)驗(yàn)內(nèi)容如下:
1)One:對(duì)于每個(gè)測(cè)試實(shí)體對(duì),隨機(jī)選擇其對(duì)應(yīng)的句子集合中的1 個(gè)句子作為訓(xùn)練實(shí)例進(jìn)行關(guān)系預(yù)測(cè)。
2)Two:對(duì)于每個(gè)測(cè)試實(shí)體對(duì),隨機(jī)選擇其對(duì)應(yīng)的句子集合中的2 個(gè)句子作為訓(xùn)練實(shí)例進(jìn)行關(guān)系預(yù)測(cè)。
3)All:對(duì)于每個(gè)測(cè)試實(shí)體對(duì),選擇其對(duì)應(yīng)的句子集合中的所有句子作為訓(xùn)練實(shí)例進(jìn)行關(guān)系預(yù)測(cè)。
實(shí)驗(yàn)結(jié)果如表3 所示,可以看出:
表3 不同關(guān)系抽取方法的P@N 值比較Table 3 P@N value comparison for different relation extraction methods
1)隨著實(shí)例數(shù)量的增加,所有方法的性能都會(huì)有所提高。這進(jìn)一步表明,跨關(guān)系、跨句包注意力可以通過選擇高質(zhì)量的實(shí)例、丟棄無用實(shí)例來更好地利用句包信息。
2)以PCNN 為句編碼模型要優(yōu)于以CNN 為句編碼模型,這表明利用實(shí)體對(duì)將句子分成三部分進(jìn)行分段最大池化操作是有益的。相比于CNN 模型僅用單個(gè)最大池化操作,分段最大池化可以有效捕捉句子結(jié)構(gòu)信息。同時(shí)加入MIL 方法可以有更好的性能,這表明以PCNN 為句編碼模型可以一定程度緩解遠(yuǎn)監(jiān)督中存在的噪音問題。加入ATT 方法表明對(duì)每個(gè)句子賦予同等權(quán)重,同時(shí)也會(huì)從錯(cuò)誤標(biāo)注的數(shù)據(jù)中得到負(fù)面信息,進(jìn)而損害關(guān)系抽取的性能。
3)由于Freebase 知識(shí)庫不完整,導(dǎo)致NYT10 數(shù)據(jù)集[17]中許多句子被錯(cuò)誤標(biāo)注。soft-label 方法[6]是通過使用后驗(yàn)概率約束來校正可能不正確的句包關(guān)系類型,該方法可以從正確標(biāo)注的實(shí)體對(duì)中挖掘語義信息,從而在訓(xùn)練過程中動(dòng)態(tài)地糾正錯(cuò)誤的標(biāo)記。以PCNN 為句編碼模塊加入MIL 方法或ATT 方法,再結(jié)合soft-label 方法,比PCNN 加入MIL 方法或ATT 方法效果要好,校正了錯(cuò)誤標(biāo)注后的關(guān)系抽取效果優(yōu)于本就存在錯(cuò)誤標(biāo)注的NYT 數(shù)據(jù)集,這表明錯(cuò)誤標(biāo)注確實(shí)影響了遠(yuǎn)監(jiān)督關(guān)系抽取的效果。
4)以PCNN 為句編碼模型的抽取效果優(yōu)于以CNN 為句編碼模型的效果,這表明分段池化操作將低層特征組合成高層特征,既保留了句子中細(xì)粒度的信息,又避免了利用自然語言處理工具進(jìn)行特征提取可能會(huì)導(dǎo)致的錯(cuò)誤傳播問題。PC2SAD 模型的性能優(yōu)于CNN+C2SA+D,則從整體上驗(yàn)證了分段池化操作在關(guān)系抽取時(shí),考慮到句子的內(nèi)部結(jié)構(gòu)信息,能捕捉到更多與實(shí)體有關(guān)的上下文信息,緩解特征提取的誤差傳播問題。
5)PC2SAD 模型的性能優(yōu)勢(shì),進(jìn)一步說明本文提出的模型可以充分利用實(shí)體描述所提供的有用的背景知識(shí),有效過濾對(duì)關(guān)系抽取沒有意義的句子,緩解錯(cuò)誤標(biāo)注帶來的負(fù)面影響,改善關(guān)系抽取效果。
本文研究遠(yuǎn)程監(jiān)督的實(shí)體關(guān)系抽取方法,針對(duì)現(xiàn)有模型學(xué)習(xí)中只關(guān)注實(shí)例本身,沒有關(guān)注到各個(gè)關(guān)系之間的關(guān)聯(lián)信息,以及忽視實(shí)體描述信息的問題,構(gòu)建結(jié)合實(shí)體描述信息的跨句包關(guān)系抽取模型PC2SAD。該模型引入跨關(guān)系跨句包注意力機(jī)制用于遠(yuǎn)程監(jiān)督關(guān)系抽取,充分應(yīng)用關(guān)系層次中所蘊(yùn)含的相關(guān)性選擇有效的實(shí)例,并進(jìn)一步從Freebase 與Wikipedia 中提取實(shí)體的描述信息,補(bǔ)充關(guān)系抽取任務(wù)所需的背景知識(shí),利用該實(shí)體描述信息支撐關(guān)系預(yù)測(cè)任務(wù),同時(shí)為跨關(guān)系跨句包注意力模塊提供更好的實(shí)體表示。在大規(guī)?;鶞?zhǔn)數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果表明,本文模型能夠充分利用實(shí)體描述所提供的背景知識(shí)過濾對(duì)關(guān)系抽取沒有意義的句子,減小錯(cuò)誤標(biāo)注帶來的負(fù)面影響,改善關(guān)系抽取效果。下一步將研究現(xiàn)有多種注意力機(jī)制的變種形式,在此基礎(chǔ)上改進(jìn)注意力模塊,嘗試?yán)脧?qiáng)化學(xué)習(xí)進(jìn)行模型訓(xùn)練。