趙基藤,李國正,汪 鵬,柳沿河
(東南大學(xué) 計算機(jī)科學(xué)與工程學(xué)院,江蘇 南京 211189)
人和動物擁有在其一生中不斷地獲得和遷移知識的能力,這種能力被稱為終身學(xué)習(xí)(Lifelong Learning)或持續(xù)學(xué)習(xí)[1-3](Continual Learning, CL)。持續(xù)學(xué)習(xí)近年來在人工智能領(lǐng)域得到了越來越多的關(guān)注,其在生物和神經(jīng)學(xué)領(lǐng)域的主要理論依據(jù)為互補(bǔ)學(xué)習(xí)系統(tǒng)(Complementary Learning System, CLS)理論[4]。該理論認(rèn)為大腦的工作有學(xué)習(xí)和記憶兩項;大腦的海馬體表現(xiàn)出短期的適應(yīng)力,允許快速學(xué)習(xí)新信息,這些新信息將隨著時間的推移回放到新皮層以實(shí)現(xiàn)長期記憶。
在傳統(tǒng)的機(jī)器學(xué)習(xí)中,模型只學(xué)習(xí)單個靜態(tài)任務(wù)的數(shù)據(jù)分布,模型訓(xùn)練好后其結(jié)構(gòu)和參數(shù)通常不變。但在現(xiàn)實(shí)應(yīng)用中,從非平穩(wěn)的數(shù)據(jù)分布中不斷遞增地獲取可用信息通常會導(dǎo)致災(zāi)難性遺忘[1](Catastrophic Forgetting),即用新數(shù)據(jù)訓(xùn)練模型的時候會干擾先前學(xué)習(xí)的知識。在現(xiàn)實(shí)場景的自然語言處理(Natural Language Processing, NLP)應(yīng)用中,這些應(yīng)用每天要和不同的用戶打交道,語言用法也在時刻更新;在知識圖譜(Knowledge Graph, KG)系統(tǒng)的構(gòu)建中也常常出現(xiàn)新知識,系統(tǒng)應(yīng)具備不斷處理新出現(xiàn)的知識資源的能力。因此在自然語言處理及知識圖譜系統(tǒng)中運(yùn)用持續(xù)學(xué)習(xí)非常重要。
關(guān)系抽取[5, 6](Relation Extraction, RE)是信息抽取、句法分析、智能問答等眾多任務(wù)的重要基礎(chǔ)工具。傳統(tǒng)的關(guān)系抽取方法通常需要一組固定的預(yù)定義關(guān)系。這種要求在許多實(shí)際應(yīng)用中很難滿足,尤其是當(dāng)每次出現(xiàn)新的數(shù)據(jù)和關(guān)系時,存儲所有數(shù)據(jù)并重新訓(xùn)練整個模型的計算成本很高,并且當(dāng)存儲限制或安全問題限制了對該數(shù)據(jù)的訪問時,為新的關(guān)系類型重新注釋原始訓(xùn)練數(shù)據(jù)的代價可能是昂貴的;隨著類型的增多,為所有關(guān)系注釋新的數(shù)據(jù)集變得不切實(shí)際。
為了適應(yīng)這種情況,最近的一些研究提出了持續(xù)關(guān)系抽取[7-8](Continual Relation Extraction, CRE)。與傳統(tǒng)的RE相比,CRE更側(cè)重于幫助模型在學(xué)習(xí)新關(guān)系的同時保持對舊關(guān)系的穩(wěn)定理解,即隨著新關(guān)系對應(yīng)的數(shù)據(jù)不斷引入,CRE模型依然能夠在舊關(guān)系對應(yīng)的數(shù)據(jù)上展現(xiàn)較為穩(wěn)定的效果?,F(xiàn)有的CRE方法主要是通過選擇每個任務(wù)中具有代表性的樣本和計算關(guān)系原型[8](Relation Prototype),再通過在訓(xùn)練新任務(wù)的同時重放舊任務(wù)的樣本,使得模型具備記憶舊知識的能力。這些方法能在一定程度上緩解傳統(tǒng)關(guān)系抽取中的災(zāi)難性遺忘,但在整個訓(xùn)練過程中依然存在最近任務(wù)偏倚等問題。因此,開展進(jìn)一步的研究是很有必要的。
當(dāng)前持續(xù)關(guān)系抽取任務(wù)的主要難點(diǎn)在于特征嵌入不相容的問題和最近任務(wù)偏倚(Task-recency Bias)問題。EA-EMR[7]提出,在新任務(wù)上訓(xùn)練模型時,嵌入空間可能會發(fā)生扭曲,或者說當(dāng)新的關(guān)系出現(xiàn)時,存在特征嵌入不相容的問題。具體地說,新關(guān)系所對應(yīng)的樣本嵌入會覆蓋舊關(guān)系,導(dǎo)致模型對于以前的任務(wù)變得不可行。同時,在單個關(guān)系抽取任務(wù)中,基本的關(guān)系抽取模型通常采用編碼器和softmax分類器進(jìn)行分類,現(xiàn)有的基于重放的持續(xù)關(guān)系抽取方法大多也沿用這種組合。但在持續(xù)學(xué)習(xí)的設(shè)置下,模型的分類預(yù)測往往傾向于最近的任務(wù)。這是因?yàn)閭鹘y(tǒng)的交叉熵?fù)p失主要是通過在全連接(Fully-connected, FC)層用softmax函數(shù)和標(biāo)簽的值來訓(xùn)練模型,但在持續(xù)學(xué)習(xí)設(shè)置下需要不斷地增加FC層的權(quán)值數(shù)量。Mai等人[9]觀察到FC層在新類上的權(quán)重值往往較高,這也是造成分類任務(wù)中災(zāi)難性遺忘的一個重要原因。
這些問題可以通過在持續(xù)學(xué)習(xí)過程中不斷學(xué)習(xí)一個區(qū)分性較好的嵌入空間來緩解。本文受到度量學(xué)習(xí)和對比學(xué)習(xí)的啟發(fā),主要從以下兩個方面進(jìn)行研究:
(1) 研究一種基于監(jiān)督對比重放的持續(xù)關(guān)系抽取方法。利用監(jiān)督對比損失[10],首先設(shè)計一種基于逐實(shí)例監(jiān)督對比學(xué)習(xí)的重放機(jī)制。同時,在對比學(xué)習(xí)的框架下將一般關(guān)系分類中使用的softmax分類器改進(jìn)為最近類均值(Nearest Class Mean, NCM)分類器。
(2) 研究利用原型增強(qiáng)的監(jiān)督對比重放方法。該方法在上述方法的基礎(chǔ)上,為解決逐實(shí)例監(jiān)督對比重放中可能出現(xiàn)過擬合的問題,將關(guān)系原型加入到監(jiān)督對比損失函數(shù)中。同時設(shè)計了一個可學(xué)習(xí)的密度參數(shù)來調(diào)整各個簇的松散程度,以學(xué)習(xí)一個更一致和均勻的嵌入空間。
本文在FewRel和TACRED兩個數(shù)據(jù)集上評估所提出方法的效果。實(shí)驗(yàn)結(jié)果表明,本文所提出的方法能夠達(dá)到與當(dāng)前最先進(jìn)的持續(xù)關(guān)系抽取模型相當(dāng)?shù)男Ч?。并?隨著任務(wù)數(shù)量的增加,在訓(xùn)練至5個任務(wù)以后,本文模型比最先進(jìn)的模型效果高約1%。本文的方法可以有效緩解持續(xù)關(guān)系抽取中的特征嵌入空間不相容和最近任務(wù)偏倚等問題。
持續(xù)學(xué)習(xí)研究從連續(xù)的數(shù)據(jù)流中不斷學(xué)習(xí)新知識。與遷移學(xué)習(xí)等其他領(lǐng)域相比,持續(xù)學(xué)習(xí)更強(qiáng)調(diào)解決模型訓(xùn)練時對舊知識的災(zāi)難性遺忘問題。目前,持續(xù)學(xué)習(xí)領(lǐng)域主要有三類主流的方法,分別為: 基于正則化的方法、基于網(wǎng)絡(luò)架構(gòu)的方法和基于重放的方法。
(1) 基于正則化的方法[1, 11]通過在損失函數(shù)中添加正則項來約束模型參數(shù)更新,得到在新舊任務(wù)上同時取得較好性能的參數(shù)。
(2) 基于網(wǎng)絡(luò)架構(gòu)的方法將模型參數(shù)的不同子集分配給不同的任務(wù),使每個任務(wù)擁有部分其對應(yīng)的網(wǎng)絡(luò),具體操作分為固定網(wǎng)絡(luò)大小[12]和擴(kuò)展網(wǎng)絡(luò)結(jié)構(gòu)[13]兩種。
(3) 基于重放的方法的理論依據(jù)主要為James L. McClelland于1995年提出的互補(bǔ)學(xué)習(xí)系統(tǒng)理論[4]。該理論認(rèn)為人腦學(xué)習(xí)是兩個互補(bǔ)學(xué)習(xí)系統(tǒng)的綜合產(chǎn)物,一個是大腦新皮質(zhì)學(xué)習(xí)系統(tǒng),通過接受體驗(yàn),慢慢地對知識與技能進(jìn)行學(xué)習(xí);另一個是海馬體學(xué)習(xí)系統(tǒng),記憶特定的體驗(yàn),并讓這些體驗(yàn)?zāi)軌蜻M(jìn)行重放,從而與新皮質(zhì)學(xué)習(xí)系統(tǒng)有效集成?;谥胤诺某掷m(xù)學(xué)習(xí)方法[2, 3]借鑒CLS理論,在模型訓(xùn)練中增加情景記憶模塊,存儲從過去任務(wù)中采樣的數(shù)據(jù),在對新任務(wù)進(jìn)行訓(xùn)練的同時重放過去任務(wù)的數(shù)據(jù),從而達(dá)到緩解遺忘的目的。
現(xiàn)有的一些工作已經(jīng)表明,在NLP領(lǐng)域,基于重放的方法是較為有效的持續(xù)學(xué)習(xí)方法[14]。LAMOL[15]提出了一種簡單而有效的基于語言建模的終身語言學(xué)習(xí)方法;其重放以前任務(wù)的偽樣本,而不需要額外的存儲或模型容量。除此之外,在持續(xù)學(xué)習(xí)中運(yùn)用知識蒸餾的方法也是一個熱門趨勢。L2KD[16]受到知識蒸餾的啟發(fā),在LAMOL的基礎(chǔ)上將來自不同任務(wù)的知識壓縮到一個緊湊的單一模型中。在知識抽取領(lǐng)域,Monaikul等人[17]將知識蒸餾的框架運(yùn)用到命名實(shí)體識別任務(wù)的持續(xù)學(xué)習(xí)中。
EA-EMR[7]最先提出了終身關(guān)系抽取(即持續(xù)關(guān)系抽取)這樣一個具有挑戰(zhàn)性的問題。首先提出了一個修正版本的帶有重放記憶的隨機(jī)梯度方法,然后進(jìn)一步利用一個顯式對齊模型來減輕模型的句子嵌入失真,通過錨定句子的嵌入空間來緩解災(zāi)難性遺忘問題。EMAR[8]將情景記憶激活和再鞏固引入到持續(xù)關(guān)系學(xué)習(xí)中。在對當(dāng)前任務(wù)進(jìn)行初始訓(xùn)練和重放訓(xùn)練后,利用關(guān)系原型進(jìn)行記憶再鞏固訓(xùn)練,以改善重放導(dǎo)致的對選中樣本的過擬合。RP-CRE[18]在EMAR的基礎(chǔ)上,提出一個基于注意力的記憶網(wǎng)絡(luò),將原型用于改進(jìn)CRE中的樣本嵌入,從而恢復(fù)訓(xùn)練任務(wù)造成的樣本嵌入空間的損壞。CML[19]提出了一種課程元學(xué)習(xí)方法,將元學(xué)習(xí)和課程學(xué)習(xí)相結(jié)合,以快速調(diào)整模型參數(shù)適應(yīng)新任務(wù),并減少先前任務(wù)對當(dāng)前任務(wù)的干擾。IncreProtoNet[20]是第一個關(guān)注增量少樣本關(guān)系抽取的工作,提出了一個具有原型注意對齊和三元損失的兩階段原型網(wǎng)絡(luò)。該網(wǎng)絡(luò)能夠在只需要少量支持實(shí)例的情況下動態(tài)識別新關(guān)系,同時不會忘記基本關(guān)系。
對于任務(wù)序列,CRE模型應(yīng)當(dāng)具備在學(xué)習(xí)完第k個任務(wù)后,盡可能維持其在前k-1個任務(wù)上的性能的能力。對于第k個任務(wù)Tk,其訓(xùn)練集為Dk,查詢集為Qk,關(guān)系集合為Rk,且對任意j≠k,Rk∩Rj=?。Dk中每個訓(xùn)練樣本表示為(xi,ti,ri),其中ti為文本xi所包含的實(shí)體對,ri表示文本xi中實(shí)體對ti之間的關(guān)系,且ri∈Rk。訓(xùn)練時將(xi,ti)進(jìn)行編碼得到特征表示,將ri作為目標(biāo)。在測試階段,對于查詢集合Qk中的每個樣本qi,判斷其是否屬于已見關(guān)系中的某一類別。
本文提出的基于監(jiān)督對比學(xué)習(xí)的持續(xù)關(guān)系抽取的整體框架如圖1所示,此圖展示的是在第k個任務(wù)階段模型執(zhí)行的操作。訓(xùn)練和測試流程具體可以分為以下幾個階段:
圖1 模型訓(xùn)練和測試流程
新任務(wù)訓(xùn)練對于每個新任務(wù)Tk,在基于BERT的編碼器E(預(yù)訓(xùn)練過的語言模型)上用Dk中的樣本進(jìn)行微調(diào)訓(xùn)練。
(1)
監(jiān)督對比重放訓(xùn)練將目前存儲器中的所有樣本通過監(jiān)督對比學(xué)習(xí)的方式訓(xùn)練編碼器E。將同類樣本作為正樣本對,不同類樣本作為負(fù)樣本對,通過最小化監(jiān)督對比損失,使得同類樣本之間的距離更近,不同類樣本之間的距離較遠(yuǎn)。關(guān)于這部分的具體原理將在2.3節(jié)和2.4節(jié)中展開介紹。
最近類均值分類在每一個新任務(wù)訓(xùn)練及重放訓(xùn)練結(jié)束后,獲得當(dāng)前編碼器E的權(quán)重下各個關(guān)系類別對應(yīng)樣本嵌入的均值,即關(guān)系原型pi。對于查詢集Qk中的每個樣本qi,計算其到各個關(guān)系原型的距離。最小距離所對應(yīng)的關(guān)系原型的類別即被標(biāo)記為該查詢樣本的類別。
Google在2020年提出的監(jiān)督對比學(xué)習(xí)[10]中指出,對比損失函數(shù)是一個具備困難負(fù)樣本自發(fā)現(xiàn)性質(zhì)的損失函數(shù),其含義是對比損失能夠使分類邊界上的負(fù)樣本遠(yuǎn)離正樣本,從而能夠?qū)W習(xí)到一個區(qū)分性較強(qiáng)的嵌入空間。
經(jīng)典的對比損失函數(shù)InfoNCE[21]的形式如式(2)所示。
(2)
如果忽略τ,那么InfoNCE損失其實(shí)就是交叉熵?fù)p失。唯一的區(qū)別是,在交叉熵?fù)p失中,k指的是數(shù)據(jù)集里類別的數(shù)量,而在對比學(xué)習(xí)的InfoNCE損失中,k指的是負(fù)樣本的數(shù)量。在公式(2)中,分母的求和是在1個正樣本和k個負(fù)樣本上做的。InfoNCE損失其實(shí)做的是一個k+1類的分類任務(wù),目的就是把q這個實(shí)例分到k+1這個類。
在本文模型中我們首先提出一個逐實(shí)例的監(jiān)督對比損失如式(3)所示。
(3)
其中,B(i)為除了zi以外的樣本嵌入的下標(biāo)集合,zs代表標(biāo)簽與zi相同的樣本嵌入,S(i)={s∈B(i):ys=yi}。τ代表溫度參數(shù),這是一個超參數(shù),用于調(diào)節(jié)對比學(xué)習(xí)過程中對困難樣本的關(guān)注程度。溫度系數(shù)小則代表將正樣本和最相似的困難負(fù)樣本分離開,對比損失則會自動地給距離更近、相似度更高的負(fù)樣本更多的懲罰。而如果溫度系數(shù)設(shè)得過大,那么對比損失會對所有的負(fù)樣本沒有區(qū)分度,導(dǎo)致模型學(xué)習(xí)沒有輕重。
逐實(shí)例對比學(xué)習(xí)利用逐個樣本之間的相似度度量來學(xué)習(xí)特征空間。然而其在持續(xù)學(xué)習(xí)設(shè)置下可能存在一些問題。由于每個類別重放的樣本數(shù)量相對較少,隨著任務(wù)數(shù)量的不斷增加,可能會導(dǎo)致模型越來越趨近于過擬合存儲器中的樣本。因此,本文在監(jiān)督對比重放訓(xùn)練階段加入關(guān)系原型來進(jìn)行輔助增強(qiáng),目的是學(xué)習(xí)到各個關(guān)系類別的整體特征,以解決逐實(shí)例對比學(xué)習(xí)的缺陷。
除此之外,由于在逐實(shí)例對比學(xué)習(xí)中,損失函數(shù)的作用主要是拉開不同類別樣本之間的距離。為了學(xué)習(xí)一個全局更均勻的特征空間,動態(tài)調(diào)整簇的松散程度,本文在加入原型對比損失時,將逐實(shí)例對比損失中的溫度參數(shù)τ替換為一個可學(xué)習(xí)的密度參數(shù)φ,它表示各個原型所對應(yīng)類別的樣本在嵌入空間中分布的松散程度?;陉P(guān)系原型的監(jiān)督對比損失如式(4)所示。
(4)
其中,P為原型嵌入的集合,ps代表標(biāo)簽與zi相同的原型嵌入,φ是一個用于調(diào)整簇松散度的動態(tài)更新的可學(xué)習(xí)參數(shù),通過計算每個簇的密度得到:
(5)
其中,α是一個平滑參數(shù),用以確保φi的值不會過大。
最終,本文得到的損失函數(shù)如式(6)所示,用于最終的模型訓(xùn)練。
(6)
盡管基于Softmax函數(shù)和交叉熵?fù)p失的分類器已成為神經(jīng)網(wǎng)絡(luò)分類任務(wù)中的標(biāo)準(zhǔn)方法,但是在持續(xù)學(xué)習(xí)任務(wù)中,Softmax分類器可能會存在一些問題: ①當(dāng)訓(xùn)練新的任務(wù)時,會引入未見過的新類別,由此需要在全連接層中增加新的權(quán)重以適應(yīng)新的類別;②全連接層中新類的權(quán)重大大高于舊類,導(dǎo)致模型預(yù)測時更傾向于新類別,即最近任務(wù)偏倚問題。因此,本文工作使用最近類均值分類器,利用NCM分類器進(jìn)行預(yù)測的函數(shù)如式(7)所示。
(7)
由于NCM分類器是將測試樣本的嵌入和原型進(jìn)行比較,因此它不需要額外的全連接層,持續(xù)學(xué)習(xí)過程中可以在不修改模型架構(gòu)的情況下添加新類別。與此同時,NCM分類器也可以避免FC層中的權(quán)重偏差而導(dǎo)致的任務(wù)偏倚。NCM分類器的優(yōu)勢在于規(guī)避了傳統(tǒng)神經(jīng)網(wǎng)絡(luò)中需要提前設(shè)置好類別數(shù)的問題,直接利用模型輸出的特征向量,按照相似度度量分類給最近的類別。
本文在以下兩個關(guān)系抽取的數(shù)據(jù)集上進(jìn)行CRE實(shí)驗(yàn):
FewRelFewRel是為少樣本關(guān)系抽取(關(guān)系分類)提出的數(shù)據(jù)集,該數(shù)據(jù)集由Wikipedia上的100種關(guān)系中的70 000個樣本組成,并由眾包工作者進(jìn)行注釋。在持續(xù)關(guān)系抽取的設(shè)置中,FewRel被分成10個關(guān)系簇,作為持續(xù)學(xué)習(xí)的10個任務(wù),每個關(guān)系只屬于其中一個任務(wù)。我們使用已經(jīng)用于CRE的80個關(guān)系的版本,每個關(guān)系包含700個樣本,形成訓(xùn)練集和測試集。
TACREDTACRED是由StanfoldNLP開發(fā)的一個大規(guī)模關(guān)系抽取數(shù)據(jù)集,包含42個關(guān)系和21 784個樣本。這些樣本構(gòu)建于英語新聞專線和網(wǎng)絡(luò)文本之上。與FewRel類似,將TACRED分成10個關(guān)系簇來構(gòu)建10個任務(wù)。為了控制TACRED樣本的不平衡,將每個關(guān)系的訓(xùn)練樣本數(shù)量限制在320個,每個關(guān)系的測試樣本數(shù)量限制在40個[18]。
本文工作的軟件環(huán)境為64位Ubuntu 16.04.7 LTS操作系統(tǒng)以及基于Anaconda的Python環(huán)境,硬件環(huán)境為GeForce RTX 2080Ti顯卡。
實(shí)驗(yàn)中每個類別記憶樣本的數(shù)量設(shè)置為20個,溫度參數(shù)設(shè)置為0.1,密度參數(shù)初始化為0.1。
3.2.1 基線模型和評價指標(biāo)
本實(shí)驗(yàn)對EA-EMR、EMAR、CML和RP-CRE等幾種持續(xù)關(guān)系抽取方法進(jìn)行了對比。并且,由于本文提出的方法涉及度量學(xué)習(xí)及關(guān)系原型的思想,因此在對比時加入了基于原型網(wǎng)絡(luò)[22-23](Prototypical Network)的方法,在基于CNN和基于BERT的原型網(wǎng)絡(luò)模型上都進(jìn)行了持續(xù)關(guān)系抽取的對比實(shí)驗(yàn)。此外,也比較了IncreProtoNet這一增量少樣本關(guān)系抽取的方法。
由于持續(xù)關(guān)系抽取關(guān)注的是災(zāi)難性遺忘的緩解程度以及模型在接受新任務(wù)訓(xùn)練后對舊關(guān)系理解的穩(wěn)定性,本文使用的評價指標(biāo)主要為模型在學(xué)習(xí)當(dāng)前任務(wù)階段所有已觀察到的關(guān)系的分類準(zhǔn)確率。在第k個任務(wù)訓(xùn)練完成后,模型在所有k個任務(wù)上已見關(guān)系的測試準(zhǔn)確率如式(8)所示。
(8)
其中,Ak為第k個關(guān)系對應(yīng)的查詢集合中分類準(zhǔn)確的樣本集合。
3.2.2 災(zāi)難性遺忘驗(yàn)證實(shí)驗(yàn)
為了驗(yàn)證災(zāi)難性遺忘在關(guān)系抽取的一般模型中的確存在,證明研究持續(xù)關(guān)系抽取的必要性,本文在編碼器加Softmax分類器的模型結(jié)構(gòu)下進(jìn)行了持續(xù)學(xué)習(xí)設(shè)置的關(guān)系抽取的實(shí)驗(yàn)。圖2展示了分別使用BiLSTM和BERT兩個編碼器在FewRel和TACRED數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果。
圖2 災(zāi)難性遺忘驗(yàn)證實(shí)驗(yàn)
從實(shí)驗(yàn)結(jié)果中可以看出,利用BiLSTM作為編碼器時,模型效果下降的情況是很顯著的,在進(jìn)行第二個任務(wù)的訓(xùn)練后,模型對第一個任務(wù)的遺忘程度就已較大。而當(dāng)編碼器使用的是BERT時,可以觀察到盡管依然有遺忘現(xiàn)象的存在,但在大規(guī)模預(yù)訓(xùn)練模型的加持下,在訓(xùn)練幾個任務(wù)以后,關(guān)系抽取模型在所有已觀察到的關(guān)系上依然能維持一個不太差的效果;從某種程度上來說,BERT加Softmax分類器在做持續(xù)關(guān)系抽取時,遺忘并不算是災(zāi)難性的。一方面這是由于BERT在大量語料庫上預(yù)訓(xùn)練過,另一方面是因?yàn)樵诒緦?shí)驗(yàn)中各個任務(wù)使用的是同一領(lǐng)域的數(shù)據(jù)集。
3.2.3 模型性能實(shí)驗(yàn)
本文提出的基于監(jiān)督對比重放(SCR)原型增強(qiáng)的監(jiān)督對比重放(Proto-enhanced SCR)的持續(xù)關(guān)系抽取以及與其他方法對比的實(shí)驗(yàn)結(jié)果如表1和表2 所示,準(zhǔn)確率用百分比表示。其中Proto(CNN)、Proto(BERT)和IncreProtoNet的實(shí)驗(yàn)結(jié)果通過運(yùn)行公開源碼得到,其余持續(xù)關(guān)系抽取方法的實(shí)驗(yàn)結(jié)果來自Cui等人[18]。
表1 模型在FewRel上的實(shí)驗(yàn)結(jié)果 (單位: %)
表2 模型在TACRED上的實(shí)驗(yàn)結(jié)果 (單位: %)
從表1和表2的實(shí)驗(yàn)結(jié)果可以看出,在訓(xùn)練完10個任務(wù)以后,本文模型在FewRel和TACRED數(shù)據(jù)集上依舊分別能維持83.6%和78.2%的準(zhǔn)確率,說明Proto-enhanced SCR能夠很好地緩解持續(xù)關(guān)系抽取過程中的災(zāi)難性遺忘。本文的模型與最先進(jìn)的RP-CRE相比,能夠達(dá)到與之相當(dāng)?shù)男Ч?并且在訓(xùn)練一半數(shù)量的任務(wù)后優(yōu)于RP-CRE。
同時可以看出,編碼器基于BERT的關(guān)系抽取模型相比于其他編碼器在持續(xù)學(xué)習(xí)設(shè)置中能夠?qū)Y(jié)果有一個穩(wěn)定的提升,并且能在很大程度上減緩模型災(zāi)難性遺忘的趨勢。模型在TACRED數(shù)據(jù)集上的效果FewRel上差一些,從訓(xùn)練完第五個任務(wù)開始,模型在TACRED上的分類準(zhǔn)確率大約比FewRel低6%~7%。這是因?yàn)門ACRED是一個不平衡的數(shù)據(jù)集。
同時,為了表明我們的模型具有學(xué)習(xí)到較好的嵌入空間的能力,本工作在前兩個任務(wù)訓(xùn)練結(jié)束后各取兩個關(guān)系類別,并用t-SNE將這些類別對應(yīng)的記憶樣本集合進(jìn)行降維,對樣本的嵌入空間進(jìn)行可視化展示。如圖3所示,其中虛線框出的數(shù)據(jù)點(diǎn)對應(yīng)第一個任務(wù)中的兩個類別,實(shí)線框出的數(shù)據(jù)點(diǎn)對應(yīng)第二個任務(wù)中的兩個類別。
圖3 降維后的嵌入空間可視化
從圖3中可以看出,利用監(jiān)督對比重放的方法得到的嵌入空間可以有效地拉開不同類別的樣本之間的距離,而不會再出現(xiàn)不同類別的樣本分布有重合的情況,但是不同任務(wù)對應(yīng)的簇的松散程度仍有所差異,而原型增強(qiáng)的監(jiān)督對比重放方法可以有效地調(diào)整簇的松散程度,使得各個關(guān)系類別對應(yīng)的樣本嵌入分布的差異較小,整體的嵌入空間較為均勻。這說明,此方法在一個已學(xué)習(xí)好的嵌入空間上能夠達(dá)到預(yù)期的效果。
3.2.4 消融實(shí)驗(yàn)
為了觀察使用密度參數(shù)φ來調(diào)整各類別嵌入松散程度對模型效果的影響,本文設(shè)計了一個消融實(shí)驗(yàn),在公式(4)中用τ替代φ,即僅僅進(jìn)行原型的重放而不調(diào)整簇密度來進(jìn)行實(shí)驗(yàn),觀察到模型效果下降了1.7%~1.8%(如表3所示)。這說明使用一個可調(diào)整的密度參數(shù)能夠提升模型效果。
表3 消融實(shí)驗(yàn)結(jié)果 (單位: %)
本文針對持續(xù)關(guān)系抽取問題中面臨的特征空間不相容和最近任務(wù)偏倚問題,提出了一種基于監(jiān)督對比重放的持續(xù)關(guān)系抽取方法,并利用關(guān)系原型進(jìn)行輔助增強(qiáng)。此方法基于對比學(xué)習(xí)的特點(diǎn),結(jié)合NCM分類器,能夠達(dá)到在持續(xù)關(guān)系抽取任務(wù)中學(xué)習(xí)一個區(qū)分能力強(qiáng)、分布均勻一致的嵌入空間的目的。本文的方法在訓(xùn)練任務(wù)數(shù)量增多時性能優(yōu)于最先進(jìn)的方法。