袁泉,薛書鑫*
(1.重慶郵電大學(xué) 通信與信息工程學(xué)院,重慶 400065;2.重慶郵電大學(xué) 通信新技術(shù)應(yīng)用研究中心,重慶 400065)
在信息爆炸的時(shí)代,海量的數(shù)據(jù)在給人類帶來便捷的同時(shí)也讓大家困惑于如何快速有效地從中找到自己想要的信息。信息抽取技術(shù)應(yīng)運(yùn)而生,關(guān)系抽取是信息抽取中重要的任務(wù)之一。其為下游任務(wù)(如構(gòu)建知識(shí)圖譜和問答系統(tǒng))提供了技術(shù)基礎(chǔ),也在文本摘要、語言翻譯、情感分析等自然語言處理任務(wù)中有深遠(yuǎn)的意義。
關(guān)系抽取的目的是從非結(jié)構(gòu)化、無序的句子中抽取出兩個(gè)實(shí)體之間的關(guān)系。如在句子“蘇炳添出生自廣東省”中,選取“蘇炳添”和“廣東省”作為實(shí)體,可以在抽取結(jié)束后得到兩者為“出生地”關(guān)系,并構(gòu)成(蘇炳添,出生地,廣東?。┑娜M,如圖1 所示。
因此解析句子的結(jié)構(gòu)特征,明了詞語的語義特征是任務(wù)的關(guān)鍵。人們?cè)缙谝蕾囎匀徽Z言工具,構(gòu)建人工選擇的特征工程。盡管研究者采取了很多有效的構(gòu)建人工特征方法(如基于核函數(shù)和基于模式識(shí)別的方法),但是這些方法并不能保證所需特征的完整性并且會(huì)耗費(fèi)大量時(shí)間。因此研究者目前普遍使用Mintz等[1]提出的遠(yuǎn)程監(jiān)督的方法自動(dòng)學(xué)習(xí)特征,但該方法同樣也被大量的噪聲問題困擾,主要為以下兩種:
1)句子之間因錯(cuò)誤標(biāo)記產(chǎn)生的噪聲。遠(yuǎn)程監(jiān)督的關(guān)系抽取根據(jù)實(shí)體對(duì)在知識(shí)庫(Knowledge Base,KB)存在的某種關(guān)系將所有含有相同實(shí)體對(duì)的句子看作一個(gè)關(guān)系結(jié)果,然而事實(shí)上具有相同實(shí)體對(duì)的不同句子并不一定有相同的關(guān)系。如在句子“馬云創(chuàng)建了阿里巴巴公司”和句子“馬云在講阿里巴巴的故事”中,同樣選“馬云”和“阿里巴巴”作為實(shí)體對(duì),關(guān)系卻不相同,當(dāng)把其中一個(gè)句子的關(guān)系當(dāng)作正確結(jié)果,則另一個(gè)句子將成為噪聲。當(dāng)選取的句子在KB 中沒有關(guān)系時(shí),即KB 容量不足時(shí),也會(huì)產(chǎn)生噪聲。如句子“母親對(duì)兒子非常地包容”,應(yīng)該得到(母親,親人關(guān)系,兒子)這樣的關(guān)系結(jié)果,但若KB 中不存在親人關(guān)系,則該句子的抽取結(jié)果將被錯(cuò)誤地標(biāo)記為NA(其他結(jié)果)。
2)句子內(nèi)部詞語的噪聲。對(duì)于一個(gè)較長(zhǎng)的句子,句子中的兩個(gè)實(shí)體是句子的核心,句子中的其他字詞有時(shí)可以看作輔助判斷兩個(gè)實(shí)體關(guān)系的信息,但有時(shí)也可以看作影響判斷的噪聲,在包含信息比較多的句子或者是存在語義轉(zhuǎn)折的句子中影響更為明顯。如“小明的鄰居是鎮(zhèn)子上有名的裁縫”,選取“小明”和“鄰居”作為實(shí)體本應(yīng)該得到“鄰里”的關(guān)系,但是可能會(huì)受到“裁縫”這個(gè)詞語的干擾得到“工作職業(yè)”的關(guān)系。又如句子“秦始皇雖然覆滅了其他六國(guó),但創(chuàng)立了秦王朝”,應(yīng)得(秦始皇,創(chuàng)建,秦王朝),但是“覆滅”這個(gè)詞與“創(chuàng)建”的意思完全相反,會(huì)對(duì)模型的關(guān)系判斷造成干擾。
大量諸如上述的句子嚴(yán)重影響關(guān)系分類的性能,因此噪聲問題亟待解決。Hoffmann等[2]利用多實(shí)例學(xué)習(xí)(Multiple Instance Learning,MIL)方法對(duì)噪聲去強(qiáng)調(diào)。以包為一個(gè)整體,每個(gè)包里存在一組有相同實(shí)體對(duì)且未標(biāo)記的句子,對(duì)整個(gè)包預(yù)測(cè)關(guān)系結(jié)果。Zeng等[3]將深度學(xué)習(xí)的方法和MIL 相結(jié)合,利用分段卷積的網(wǎng)絡(luò)框架預(yù)測(cè)包中實(shí)體對(duì)的類別,但是并沒有使用包中全部的句子作為訓(xùn)練樣本,而僅僅采用包中標(biāo)簽概率最高的句子,顯然不能獲得全面的樣本分析。Lin等[4]將注意力(attention,att)機(jī)制應(yīng)用于關(guān)系抽取模型中,給包內(nèi)不同的句子分配不同的權(quán)重,注意力機(jī)制的應(yīng)用大幅度抑制了噪聲對(duì)訓(xùn)練的影響。在此基礎(chǔ)上不斷有人根據(jù)不同的場(chǎng)景和模型添加適合的注意力機(jī)制。如Zhang等[5]將注意力機(jī)制加入網(wǎng)文關(guān)系分類模型中;Bai等[6]將其加入藥物分類領(lǐng)域;諶予恒等[7]將注意力機(jī)制和殘差網(wǎng)絡(luò)相結(jié)合,探索出了更加有效的關(guān)系抽取模型。但隨著數(shù)據(jù)集的不斷擴(kuò)大、噪聲數(shù)量和種類的增多,研究者嘗試選擇更復(fù)雜的算法解決問題。Feng等[8]和Qin等[9]通過強(qiáng)化學(xué)習(xí)的方法生成標(biāo)簽,并與句子預(yù)測(cè)標(biāo)簽比對(duì),由此來決定是刪除還是保留句子。Chen等[10]從句子被標(biāo)記的多個(gè)關(guān)系中選擇最可靠的標(biāo)簽后再進(jìn)行訓(xùn)練。Yi等[11]通過訓(xùn)練樣本提取器刪除噪聲,挑選出有用的句子加入訓(xùn)練。
上述方法都取得了很好的降噪效果,但仍存在兩點(diǎn)弊端:第一,它們丟棄了大量被訓(xùn)練認(rèn)定為噪聲的句子,然而這些被認(rèn)定的“噪聲”可能存在有用的信息;第二,它們僅僅考慮了包內(nèi)句子間錯(cuò)誤標(biāo)注帶來的噪聲,而忽視了句子內(nèi)部的噪聲。事實(shí)上,大部分研究者對(duì)句子內(nèi)部噪聲處理都是強(qiáng)調(diào)已有的重要信息或是增加額外的有用信息,如Zeng等[12]給句子中的每個(gè)詞都加入位置向量,謝騰等[13]給輸入的句子加入關(guān)鍵詞信息。這些模型可以在一定程度上通過提高重要信息比重的方式降低句子內(nèi)部的噪聲的比重,但是這種方式不能剔除噪聲且會(huì)受到句子多樣性的影響。
為了解決句子內(nèi)部的噪聲問題,本文引用了Zhao等[14]在2020 年提出的殘差收縮網(wǎng)絡(luò)結(jié)構(gòu),該網(wǎng)絡(luò)創(chuàng)新性地將軟閾值化加入深度學(xué)習(xí)中來解決故障診斷中信號(hào)噪聲的問題。本文以此特性為基礎(chǔ),提出使用殘差收縮網(wǎng)絡(luò)解決關(guān)系抽取中句子內(nèi)部噪聲問題的算法。而對(duì)于包內(nèi)句子間標(biāo)注錯(cuò)誤的噪聲,本文則采用注意力機(jī)制處理。實(shí)驗(yàn)結(jié)果表明基于殘差收縮的網(wǎng)絡(luò)模型可以取得更高的預(yù)測(cè)精度,從而有效地解決遠(yuǎn)程監(jiān)督帶來的噪聲問題。
殘差收縮(Residual Shrinkage,RS)模塊由普通的殘差網(wǎng)絡(luò)上、軟閾值化和閾值訓(xùn)練子模塊組成,如圖2 所示。殘差收縮網(wǎng)絡(luò)[14]本質(zhì)是一種改進(jìn)的殘差網(wǎng)絡(luò)。在殘差路徑(shortcut 路徑)連接主體之前加入核心是軟閾值化的子模塊。該模塊會(huì)在訓(xùn)練中自動(dòng)生成閾值給不同的特征通道分配權(quán)重。它由兩個(gè)卷積層構(gòu)成,其中第二個(gè)卷積層選用Sigmoid 作為激活函數(shù),保證了閾值是個(gè)不會(huì)太大的正數(shù)。卷積層的輸出與原特征的絕對(duì)值乘積得到當(dāng)前特征的閾值。軟閾值化使用上述閾值對(duì)當(dāng)前通道的特征收縮,包含無用信息的通道特征將會(huì)被縮小或者刪除。由于這種算法可以根據(jù)不同的輸入自主生成適合當(dāng)前輸入的閾值降噪,針對(duì)不同類別的輸入語料都能得到不同的閾值,所以非常適合用于解決句子內(nèi)部的噪聲問題。上述的降噪原理類似于Hu等[15]提出的基于通道注意力機(jī)制的網(wǎng)絡(luò)模型,通過處理通道間特征實(shí)現(xiàn)降噪。不同在于RS 模塊不再使用通道注意力機(jī)制中的加權(quán)函數(shù),而是改用軟閾值化。通道注意力機(jī)制注重權(quán)重的分配,而RS 模塊則注重?zé)o用信息和邊緣信息的處理,更加契合降噪的目的。本章將會(huì)從軟閾值模塊和閾值訓(xùn)練子模塊兩個(gè)方面介紹。
軟閾值化在降低信號(hào)噪聲的處理中非常常見。首先將信號(hào)轉(zhuǎn)換到一個(gè)域中,該域接近0 的信號(hào)為噪聲信號(hào),然后通過軟閾值化處理這個(gè)域中信號(hào)。作用原理如式(1)所示,其中y為輸出,x為信號(hào)大小,τ為閾值。當(dāng)信號(hào)的絕對(duì)值低于閾值時(shí),該較低的部分將會(huì)被置零(式(1)中-τ≤x≤τ所示,噪聲置零),而其他的部分也將向零的方向減小(式(1)中x>τ和x<-τ所示,影響較小的信號(hào)減小)。
顯然軟閾值化存在兩點(diǎn)困難:1)軟閾值模塊需要在其工作的過程中默認(rèn)噪聲存在于零附近,所以信號(hào)降噪前經(jīng)常要使用小波變換或其他方法預(yù)處理信號(hào),使得操作更加復(fù)雜;2)軟閾值化需要根據(jù)信號(hào)收縮的閾值選擇不同的濾波器,這種濾波器的選擇需要專業(yè)的人才,即便如此,當(dāng)多種信號(hào)輪流輸入時(shí)濾波器的選擇將會(huì)異常復(fù)雜。
如果將軟閾值操作移植到深度學(xué)習(xí)中以上的兩個(gè)困難都可以迎刃而解。首先,深度學(xué)習(xí)的特征值大小可以決定輸入特征的關(guān)鍵程度,不需要對(duì)特征進(jìn)行復(fù)雜的處理。類比于卷積網(wǎng)絡(luò)中最大池化選擇最有效的特征值作為代表特征,在軟閾值中可以將較小的特征值,即接近零的特征值當(dāng)成是噪聲或是沒意義的特征消除,保證了軟閾值化后的模型將會(huì)保留主要的信息。不同于線性整流函數(shù)(Rectified Linear Unit,ReLU)那樣將負(fù)的特征置零,軟閾值化可以將負(fù)的、有用的特征保留下來。其次,深度學(xué)習(xí)是一個(gè)通過訓(xùn)練學(xué)習(xí)的算法,在選擇濾波器時(shí),只需要額外增加一個(gè)閾值訓(xùn)練子模塊便能根據(jù)不同的輸入特征學(xué)習(xí)不同的閾值,避免了濾波器選擇困難的問題。
考慮到軟閾值化和深度學(xué)習(xí)的兼容性,軟閾值化的導(dǎo)函數(shù)由式(2)給出,其中y′為輸出特征導(dǎo)數(shù)。可以看出式(2)結(jié)果都是值為0 或1 的整數(shù),說明軟閾值化深度學(xué)習(xí)的反向傳播過程中不會(huì)引起梯度爆炸或者梯度消失的問題,這一點(diǎn)也契合深度學(xué)習(xí)的訓(xùn)練過程。
閾值訓(xùn)練子模塊需要根據(jù)軟閾值化的特點(diǎn)設(shè)計(jì)。模型對(duì)于閾值至少有兩點(diǎn)要求:第一,閾值必須是正數(shù),若閾值為負(fù),代入式(1)將會(huì)產(chǎn)生錯(cuò)誤;第二,閾值不能過大,如果閾值即式(1)中τ很大,根據(jù)式(1)可以看出大量的信息x將會(huì)被置零,此時(shí)用于訓(xùn)練的特征將被大幅壓縮,若是閾值大到超越了信號(hào)量,即式(1)中τ<x時(shí),所有的特征都等于0,模型將無法訓(xùn)練。
根據(jù)以上要求設(shè)計(jì)的閾值訓(xùn)練子模塊如圖2 的右半部分所示,它由絕對(duì)值層、全局池化層和兩個(gè)全連接層組成。絕對(duì)值層將特征取為正數(shù),全局平均池化將特征轉(zhuǎn)化成一維向量,接著通過兩個(gè)全連接層進(jìn)行學(xué)習(xí)。需要注意的是第二個(gè)全連接層必須使用Sigmoid 作為激活函數(shù),Sigmoid 函數(shù)可以把輸出結(jié)果歸一化到0 和1 之間,由此可以防止閾值(閾值=全連接輸出結(jié)果×求絕對(duì)值后的特征)過大的問題。
由于上述所有過程都是在單獨(dú)的特征通道內(nèi)完成,所以每個(gè)特征通道都會(huì)根據(jù)當(dāng)前通道閾值減少無關(guān)信息的干擾,從而完成了句子內(nèi)部降噪的功能。
本文使用的基于殘差收縮網(wǎng)絡(luò)的模型結(jié)構(gòu)如圖3 所示。模型主要由嵌入層(詞嵌入+位置嵌入)、卷積層、分段池化層、注意力層、全連接層和Softmax 組成。嵌入層負(fù)責(zé)模型的輸入,卷積層負(fù)責(zé)特征的提?。ㄓ糜诮档蛦蝹€(gè)句子內(nèi)部噪聲的RS 模塊就包含在此層中),注意力層負(fù)責(zé)處理包內(nèi)句子之間的噪聲問題,最后全連接層和Softmax 則根據(jù)前面提取的特征輸出每種關(guān)系的預(yù)測(cè)概率。
2.1.1 嵌入層
為了讓深度學(xué)習(xí)模型能夠識(shí)別輸入用于訓(xùn)練的句子,嵌入層將輸入句子編碼成嵌入矩陣。嵌入矩陣中的每一條向量都是由詞嵌入和位置嵌入構(gòu)成,詞嵌入包含句子語義信息,位置嵌入則包含相對(duì)位置信息。
詞嵌入是一種對(duì)單詞的分布式表示。通俗來說就是將低維的單詞表示成高維的實(shí)值向量。由于詞嵌入從大量文本中預(yù)訓(xùn)練得到,由此捕獲了原單詞的部分語義信息。本文使用Word2vec 作為實(shí)驗(yàn)預(yù)訓(xùn)練模型。
在關(guān)系抽取過程中,相同的實(shí)體因在句中位置的不同可能導(dǎo)致不同關(guān)系結(jié)果,因此僅有語義信息并不能完整地反映輸入特征。位置嵌入提供了原句子中的每個(gè)單詞和兩個(gè)實(shí)體相對(duì)位置信息。如在句子“Alibaba was founded by Jack Ma in Hangzhou”中,“by”在“Alibaba”后第三個(gè)單詞位置,“Jack Ma”前一個(gè)單詞位置,所以它的位置映射可以用“3”和“-1”表示。這些位置映射通過隨機(jī)化初始向量的方法變?yōu)槲恢孟蛄俊?/p>
設(shè)輸入句子為s={W1,W2,…,Wi},其中Wi表示句子第i個(gè)單詞。設(shè)詞向量維度為dw,位置嵌入維度為dp,則輸入通過嵌入層后將得到特征向量qi(qi∈Rd),其中d為輸入向量的維度,d=dw+2 ×dp。
2.1.2 卷積層
卷積運(yùn)算借助卷積核在輸入矩陣上滑動(dòng)點(diǎn)積的方式獲得句子多個(gè)局部特征。計(jì)算過程如式(3)所示:
其中:b為偏置,f為激活函數(shù),qi為通過嵌入層后的特征。
實(shí)際卷積過程中,為了更好地捕捉語句特征,通常使用多個(gè)大小不同的卷積核,每個(gè)卷積核計(jì)算后都會(huì)得到一個(gè)特征通道。本文的軟閾值化便是在特征通道內(nèi)部進(jìn)行。如式(4)所示:
其中:W為待訓(xùn)練矩陣。經(jīng)過一層卷積后的特征將被送入多個(gè)殘差收縮模塊繼續(xù)訓(xùn)練。這些特征一方面將會(huì)被更高層網(wǎng)絡(luò)繼續(xù)細(xì)化學(xué)習(xí),另一方面也會(huì)在各自的特征通道中學(xué)習(xí)閾值并利用軟閾值化刪除不重要的部分進(jìn)而減少句子內(nèi)部噪聲。上述過程可以用式(5)表示:
其中:ci為卷積層后的輸出,F(xiàn)RS為殘差收縮模塊運(yùn)算。
2.1.3 分段池化層
為了獲取更全面的結(jié)構(gòu)信息,實(shí)驗(yàn)依照實(shí)體1 和實(shí)體2的位置將句子分成三段:句子開始到實(shí)體1 為第一段,實(shí)體1到實(shí)體2 為第二段,實(shí)體2 到句子結(jié)束為第三段。設(shè)實(shí)體1的位置為a,實(shí)體2 的位置為b,則三段句子經(jīng)過卷積層后的特征 表示為={c1,c2,…,ca},ci2={ca+1,ca+2,…,cb},={cb+1,cb+2,…,cb+n}。
由拼接池化后的三個(gè)向量x1、x2、x3得句子的最終特征表示X,如式(9)所示:
2.1.4 注意力層
注意力層主要解決包內(nèi)句子間噪聲問題。由于遠(yuǎn)程監(jiān)督的關(guān)系抽取會(huì)將所有擁有相同實(shí)體對(duì)的句子放在一個(gè)包中并以包為單位得到這兩個(gè)實(shí)體的關(guān)系,所以訓(xùn)練時(shí)需要通過分配權(quán)重的方式減少包中句子因錯(cuò)誤標(biāo)注帶來的噪聲干擾。
根據(jù)包中每個(gè)句子S={s1,s2,…,sn}的權(quán)重計(jì)算出整個(gè)包的加權(quán)和u,如式(10)所示:
其中:M為包中句子數(shù)量;ai為權(quán)重;Xi為包中第i個(gè)句子特征。
此處采用雙線性模型為每種關(guān)系和當(dāng)前句子的相關(guān)程度打分,如式(11)所示:
其中:r為和關(guān)系種類相關(guān)的查詢矩陣;W為待訓(xùn)練矩陣。由此權(quán)重ai可以用式(12)表示:
其中:N為關(guān)系數(shù)量。
2.1.5 Softmax層
得到包的加權(quán)和u后,先通過全連接層調(diào)整維度,維度的大小是最終分類的關(guān)系數(shù)量,再利用Softmax 預(yù)測(cè)每種關(guān)系存在的可能性,在輸入句子Si下預(yù)測(cè)關(guān)系rj的條件概率為:
本文采用交叉熵作為損失函數(shù)。設(shè)包的加權(quán)和u通過Softmax 后條件概率為p(r|S)。損失函數(shù)將根據(jù)包中句子S={s1,s2,…,sn}和其對(duì)應(yīng)的標(biāo)簽關(guān)系r={r1,r2,…,rn}給出如式(14)所示:
其中:|B|為包的數(shù)量;S為輸入句子;θ為模型的所有參數(shù)。
實(shí)驗(yàn)使用來自于Riedel等[16]的NYT(New York Times)公開數(shù)據(jù)集。該數(shù)據(jù)集共有522 611 個(gè)訓(xùn)練用例,17 448 個(gè)測(cè)試用例,具體數(shù)據(jù)參數(shù)如表1 所示。
表1 數(shù)據(jù)集參數(shù)Tab.1 Dataset parameters
本文通過精確率P(Precision)、召回率R(Recall)計(jì)算得到的F1 值與PR(Precision-Recall)曲線來評(píng)估網(wǎng)絡(luò)的優(yōu)劣性,如式(15)~(17)所示:
其中:TP(True Positive)為真正例(預(yù)測(cè)為正且真實(shí)為正);FP(False Positive)為假正例(預(yù)測(cè)為正且真實(shí)為反);FN(False Negative)為假反例(預(yù)測(cè)為反且真實(shí)為正);TN(True Negative)為真反例(預(yù)測(cè)為反且真實(shí)為反)。
每結(jié)束一次循環(huán)記錄F1值,如果當(dāng)前指標(biāo)值比記錄的高,則將記錄的指標(biāo)更新。
設(shè)使用Word2vec 的預(yù)訓(xùn)練模型詞嵌入維度為100,隨機(jī)化初始的位置嵌入維度為10。利用暖啟動(dòng)加上多項(xiàng)式遞減學(xué)習(xí)率,初始學(xué)習(xí)率設(shè)為1E-6,學(xué)習(xí)率逐漸增加到1E-3,再使用多項(xiàng)式衰減,結(jié)束學(xué)習(xí)率又回到1E-6。使用3、4、5 的卷積窗口每個(gè)窗口的卷積核為128(Feature maps),共384 個(gè)卷積核,如表2 所示。
表2 實(shí)驗(yàn)參數(shù)設(shè)置Tab.2 Experimental parameter setting
在模型訓(xùn)練過程中,可以使用一個(gè)殘差收縮模塊,也可以增加網(wǎng)絡(luò)的深度,堆疊多個(gè)殘差收縮模塊。為了探究多少個(gè)殘差模塊性能最好,分別使用了1、3、5、7、9 個(gè)殘差收縮模塊(RS-1、RS-3、RS-5、RS-7 和RS-9),實(shí)驗(yàn)結(jié)果如表3 所示。
表3 殘差收縮模塊數(shù)量對(duì)性能的影響Tab.3 Influence of number of residual shrinkage modules on performance
從表3 可以看出,使用1 個(gè)殘差模塊時(shí)的模型F1 值為0.667,使用3 個(gè)和5 個(gè)殘差模塊模型F1 值為0.681,模型性能提升了約1.40 個(gè)百分點(diǎn);但當(dāng)殘差模塊更多時(shí),F(xiàn)1 值的變化微乎其微。由此可以表明,在當(dāng)前數(shù)據(jù)集下,3 個(gè)殘差模塊便可使模型達(dá)到穩(wěn)定。
為了評(píng)估基于殘差收縮網(wǎng)絡(luò)構(gòu)建的模型,本文選擇分段卷積神經(jīng)網(wǎng)絡(luò)(Piecewise Convolutional Neural Network,PCNN)、雙向長(zhǎng)短期記憶(Bi-directional Long Short-Term Memory,BiLSTM)網(wǎng)絡(luò)以及殘差網(wǎng)絡(luò)(Residual Network,ResNet)模型作為基線模型。實(shí)驗(yàn)所得的PR 曲線如圖4所示。
在PR 曲線中,曲線下方的面積越大則模型的性能越好。通過觀察圖4 看出,本文模型明顯優(yōu)于其他3 個(gè)基線模型,原因是由多個(gè)殘差收縮模塊構(gòu)建的模型通過給不同特征通道軟閾值的方式減少了各個(gè)通道中干擾信息對(duì)特征提取的影響,進(jìn)而減小了句子內(nèi)部的噪聲影響,大幅提高了關(guān)系抽取模型的準(zhǔn)確性。
本文使用的殘差收縮模塊用于解決句子內(nèi)部的噪聲問題,注意力機(jī)制用于解決包內(nèi)句子的噪聲問題。為了驗(yàn)證兩種降噪的方式能否并行,將基線模型+注意力機(jī)制、殘差收縮網(wǎng)絡(luò)、殘差收縮網(wǎng)絡(luò)+注意力機(jī)制3 組對(duì)照又進(jìn)行了實(shí)驗(yàn),結(jié)果如表4 所示(其中att 表示注意力機(jī)制)。
表4 不同模型結(jié)合注意力機(jī)制的F1值對(duì)比Tab.4 Comparison of F1 scores of different models combined with attention mechanism
在實(shí)驗(yàn)過程中F1 值穩(wěn)定后會(huì)圍繞某數(shù)值產(chǎn)生輕微上下波動(dòng)。將每個(gè)模型選擇實(shí)驗(yàn)過程中能達(dá)到的最大F1 值作為數(shù)據(jù)。通過分析結(jié)果得到以下幾點(diǎn)結(jié)論:
1)對(duì)比PCNN+att、BiLSTM+att、ResNet+att 這3 個(gè)模型可看出,ResNet+att 模型的F1 值比PCNN+att 高4.60 個(gè)百分點(diǎn),比BiLSTM+att 高2.50 個(gè)百分點(diǎn),由此可以看出深層次的網(wǎng)絡(luò)模型在大數(shù)據(jù)集上有較好的效果。
2)對(duì)比PCNN+att、BiLSTM+att、ResNet+att 和RS+att 模型可看出,RS+att 模型比其他3 個(gè)模型的F1 值分別提高了6.00、3.90 和1.40 個(gè)百分點(diǎn),說明了殘差收縮模塊中的軟閾值化有效地減少了句子內(nèi)部的噪聲,從而獲得了F1 值的提升。
3)對(duì)比ResNet+att、RS、RS+att 這3 個(gè)模型可以看出,殘差收縮模型和注意力機(jī)制是可以共同作用的,在只使用殘差收縮的模型時(shí),F(xiàn)1 值為0.645;在只使用注意力機(jī)制時(shí),F(xiàn)1 值為0.667;當(dāng)模型同時(shí)使用兩者時(shí),F(xiàn)1 值高達(dá)0.681。兩種降噪方式共同作用取得了最高的F1 值。因?yàn)闅埐钍湛s模型處理的是句子內(nèi)部干擾兩個(gè)實(shí)體的噪聲,而注意力機(jī)制處理的是包中標(biāo)簽錯(cuò)誤帶來的噪聲問題,兩者并不矛盾,共同使用時(shí)可以更全面地去除噪聲從而獲得更好的抽取性能。
本文針對(duì)關(guān)系抽取中句子內(nèi)部單詞干擾產(chǎn)生的噪聲問題,提出了一種基于軟閾值模塊的殘差收縮網(wǎng)絡(luò)模型。所提模型從兩方面解決噪聲問題:一方面利用殘差收縮模塊降低句子內(nèi)部的噪聲;另一方面利用注意力機(jī)制減少包中錯(cuò)誤標(biāo)注的噪聲。實(shí)驗(yàn)結(jié)果證明殘差收縮網(wǎng)絡(luò)的關(guān)系抽取模型效果優(yōu)于基線模型。未來的工作有兩點(diǎn)展望:1)考慮到本文主要針對(duì)英文抽取,未來可能會(huì)將工作放到中文或者其他小語種的抽取上;2)嘗試在模型中加入更多特征,如同義詞向量表,提高模型魯棒性。