周煜坤,陳 渝,趙容梅,琚生根
1(四川大學(xué) 計(jì)算機(jī)學(xué)院,成都 610065)2(四川民族學(xué)院 理工學(xué)院,四川 康定 626001)
關(guān)系抽取任務(wù)的目標(biāo)是從文本中抽取出兩個(gè)目標(biāo)實(shí)體之間存在的語義關(guān)系,是信息抽取領(lǐng)域的一項(xiàng)子任務(wù).準(zhǔn)確地從非結(jié)構(gòu)化文本中提取語義關(guān)系對(duì)于許多自然語言應(yīng)用具有十分重要的意義,如信息抽取[1,2]、自動(dòng)問答[3,4]、機(jī)器翻譯[5]、知識(shí)圖譜[6]等.關(guān)系抽取方法主要分為兩類:有監(jiān)督方法和遠(yuǎn)程監(jiān)督方法.本文重點(diǎn)研究有監(jiān)督學(xué)習(xí)的關(guān)系抽取方法.
近年來,隨著深度學(xué)習(xí)的快速發(fā)展,最新的有監(jiān)督關(guān)系抽取研究主要集中于深度神經(jīng)網(wǎng)絡(luò)模型.這些模型解決關(guān)系抽取任務(wù)的方法大體上可以歸納為以下步驟:
1)從編碼器中獲得目標(biāo)句子的詞嵌入信息,例如,word2vec[7]詞向量,glove[8]詞向量,以及預(yù)訓(xùn)練語言模型BERT[9]詞向量等;
2)使用深度神經(jīng)網(wǎng)絡(luò),如循環(huán)神經(jīng)網(wǎng)絡(luò)RNN[10,11]、卷積神經(jīng)網(wǎng)絡(luò)CNN[12,13]、圖神經(jīng)網(wǎng)絡(luò)GNN[14,15]、預(yù)訓(xùn)練語言模型[16-20]等對(duì)整個(gè)句子的詞嵌入進(jìn)行編碼,以捕捉上下文信息作為全局特征,同時(shí)添加目標(biāo)實(shí)體信息作為局部特征,最終生成一個(gè)固定維度的向量作為關(guān)系表示;
3)將編碼獲得的關(guān)系表示作為分類器(如softmax分類器)的輸入,在標(biāo)記訓(xùn)練集上進(jìn)行訓(xùn)練.
但是,這些方法通常存在以下缺陷:以往的大量研究僅僅對(duì)從編碼器中獲得的信息(句向量、實(shí)體向量等)進(jìn)行簡單的拼接以作為關(guān)系表示,這意味著默認(rèn)每種信息將在關(guān)系抽取中扮演同等重要的角色.但實(shí)際上,在不同句子中,每種信息的重要性有很大的差異,這樣的方法限制了模型的性能.
本文以2019年的R-BERT模型[16]為例,從兩個(gè)方面討論這個(gè)問題.R-BERT模型是最早將BERT預(yù)訓(xùn)練語言模型用于關(guān)系抽取的模型之一,它將句子的[CLS]標(biāo)記所對(duì)應(yīng)的句向量以及兩目標(biāo)實(shí)體的隱向量三者連接構(gòu)成關(guān)系表示進(jìn)行分類,在Semeval2010 Task8數(shù)據(jù)集上的F1值為89.25,取得了state-of-the-art的效果.
首先,句向量代表了輸入序列的全局特征,聚焦于整個(gè)句子,而實(shí)體向量則是一種局部特征,聚焦于目標(biāo)實(shí)體.從經(jīng)驗(yàn)上來看,二者均是關(guān)系抽取任務(wù)中的關(guān)鍵因素:在不同的句子中,受到復(fù)雜語境的影響,有時(shí)全局特征起決定性影響,有時(shí)則是局部特征占據(jù)主導(dǎo)地位.因此,將句向量以及實(shí)體向量連接的方法忽略了二者在關(guān)系抽取中的不同貢獻(xiàn).
其次,從直覺上來看,將兩個(gè)實(shí)體向量連接的方法有一定的合理性,因?yàn)槎咦鳛榫植啃畔ⅲ陉P(guān)系抽取任務(wù)中扮演著同樣的角色.但實(shí)際上,由于復(fù)雜的語境變化及兩個(gè)實(shí)體的語義、位置、主賓關(guān)系等隱含信息的不同,二者在關(guān)系抽取中的貢獻(xiàn)往往也是不同的.
從BERT預(yù)訓(xùn)練語言模型的角度來看,關(guān)系抽取是一項(xiàng)分類任務(wù),在不添加外部知識(shí)和人工設(shè)計(jì)、不使用外部NLP工具的情況下,其重點(diǎn)在于如何充分且有效地利用給定句子及目標(biāo)實(shí)體的信息,可以自然地作為BERT模型的下游任務(wù).如上所述,以往的研究常常忽略了各種信息對(duì)分類所做出的不同貢獻(xiàn),而是將它們作為同等重要的信息送入分類器,這在一定程度上限制了模型的性能.
因此,本文提出了一種基于優(yōu)化信息融合策略(Optimized Information Fusion Strategy,OIFS)的關(guān)系抽取方法,針對(duì)關(guān)系抽取任務(wù)的特點(diǎn),為其設(shè)計(jì)了一個(gè)新的BERT下游任務(wù)模型,以解決上述問題:
1)考慮到全局特征和局部特征對(duì)于關(guān)系抽取的不同影響,從BERT模型獲得句向量以及實(shí)體向量后,將句向量分別融入到兩個(gè)實(shí)體向量中,以融合句子的全局信息和局部信息,獲得兩個(gè)復(fù)合特征,它們將類似地在關(guān)系抽取中具有不同的貢獻(xiàn)程度;
2)隨后,采用一種自適應(yīng)的信息學(xué)習(xí)策略,根據(jù)文本的具體結(jié)構(gòu)和語義信息組合兩種復(fù)合特征作為最終的關(guān)系表示,使得模型自動(dòng)聚焦于對(duì)分類更有價(jià)值的部分.最后將關(guān)系表示饋送到softmax分類器中進(jìn)行分類.
本文的主要貢獻(xiàn)如下:
1)基于BERT預(yù)訓(xùn)練語言模型,為關(guān)系抽取任務(wù)提出了一種新的下游任務(wù)模型框架OIFS,該框架能夠恰當(dāng)?shù)厝诤陷斎刖渥拥娜志渥犹卣骱途植繉?shí)體特征,并通過自適應(yīng)信息學(xué)習(xí)機(jī)制,自動(dòng)聚焦于對(duì)分類貢獻(xiàn)更大的信息,解決了以往模型忽略不同特征對(duì)分類的不同貢獻(xiàn)的缺點(diǎn);
2)在TACRED、TACREV、Semeval2010 Task8基準(zhǔn)數(shù)據(jù)集上,進(jìn)行了大量實(shí)驗(yàn),將本文的模型與多個(gè)基線系統(tǒng)進(jìn)行了比較,并進(jìn)行了一定的可視化分析.實(shí)驗(yàn)結(jié)果表明,該模型獲得了最先進(jìn)的性能;
3)本文的模型無需復(fù)雜的人工設(shè)計(jì)和外部知識(shí)輸入,對(duì)不同的數(shù)據(jù)集只涉及微小的改動(dòng),方法簡練而高效,具備良好的可擴(kuò)展性和可移植性.
傳統(tǒng)的有監(jiān)督關(guān)系抽取方法主要包括基于模式匹配的方法[21,22]和基于機(jī)器學(xué)習(xí)的方法.基于機(jī)器學(xué)習(xí)的方法又可以分為基于特征向量的方法[23,24]和基于核函數(shù)的方法[25,26].這些傳統(tǒng)的關(guān)系抽取方法高度依賴于人工特征選擇和提取,存在著嚴(yán)重的誤差傳播問題.因此,傳統(tǒng)關(guān)系抽取方法的性能非常有限.
基于深度學(xué)習(xí)有監(jiān)督方法進(jìn)行關(guān)系抽取,能解決經(jīng)典方法中存在的人工特征選擇、特征提取誤差傳播兩大主要問題,取得了良好的效果,是近年來關(guān)系抽取的研究熱點(diǎn).
最常見的深度學(xué)習(xí)關(guān)系抽取網(wǎng)絡(luò)結(jié)構(gòu)包括循環(huán)神經(jīng)網(wǎng)絡(luò)RNN[10,11]、卷積神經(jīng)網(wǎng)絡(luò)CNN[12,13]、圖神經(jīng)網(wǎng)絡(luò)GNN[14,15],均取得了一定的效果.但是,RNN及其變體在處理長序列時(shí)存在梯度消失的問題,且難以并行運(yùn)算,限制了模型的性能和適用性;CNN所建模的信息往往是局部的,限制了模型處理遠(yuǎn)程關(guān)系的能力.隨著深度學(xué)習(xí)技術(shù)的不斷發(fā)展以及新技術(shù)的出現(xiàn),基于RNN、CNN等的方法由于編碼能力的不足,已經(jīng)不再是關(guān)系抽取的主流方法.而基于GNN的方法高度依賴于高效的依存解析器,往往存在著難以解決的誤差傳播問題,限制了模型的效果.
近年來,預(yù)訓(xùn)練語言模型已經(jīng)被證明可以有效地改善許多自然語言處理任務(wù).其中,由Devlin[9]等人提出的BERT預(yù)訓(xùn)練語言模型在11個(gè)NLP任務(wù)上獲得了最新的研究成果,許多學(xué)者開始著手使用它來處理關(guān)系抽取問題.
2019年,Wu等人[16]首次將BERT預(yù)訓(xùn)練模型運(yùn)用到關(guān)系抽取任務(wù)中.由于句子的關(guān)系類型依賴于目標(biāo)實(shí)體的信息,作者在目標(biāo)實(shí)體前后添加位置標(biāo)記,一并輸入到BERT模型中,將實(shí)體嵌入以及句子[CLS]標(biāo)記嵌入連接并進(jìn)行分類.該文在SemEval2010 Task8數(shù)據(jù)集上實(shí)現(xiàn)了SOTA的效果,證實(shí)了BERT預(yù)訓(xùn)練模型對(duì)關(guān)系抽取任務(wù)的有效性.
2019年,Soares等人[17]提出了Matching the blanks的方法來預(yù)訓(xùn)練關(guān)系抽取模型.作者還測(cè)試了BERT的不同的輸入和輸出方式對(duì)關(guān)系抽取結(jié)果的影響,探討了如何對(duì)包含實(shí)體信息的語句進(jìn)行編碼以及如何輸出一個(gè)固定長度的關(guān)系表示更為合理,該模型在SemEval2010 Task8、KBP37、TACRED數(shù)據(jù)集上均達(dá)到了當(dāng)時(shí)的SOTA效果.
2020年,Wang等人[18]基于語言學(xué)知識(shí),提出了利用句法框架增強(qiáng)關(guān)系分類,將輸入的句子分解成句法上更短的塊,以獲得關(guān)系抽取所需的關(guān)鍵信息,將其作為額外特征與實(shí)體向量和句向量連接并分類,該文的方法在SemEval2010 Task8數(shù)據(jù)集上超過了最先進(jìn)的方法.
2021年,Zhou等人[19]提出了一個(gè)改進(jìn)的關(guān)系抽取基線模型,對(duì)模型中的實(shí)體表示和標(biāo)簽表示問題進(jìn)行了分析和改進(jìn),提出了一種新型的實(shí)體表示技術(shù),并基于BERT、RoBERTa預(yù)訓(xùn)練模型進(jìn)行實(shí)驗(yàn)和微調(diào),在TACRED數(shù)據(jù)集上取得了SOTA效果.
2021年,Park等人[20]提出了一種基于課程學(xué)習(xí)的關(guān)系抽取方法,根據(jù)數(shù)據(jù)難度將數(shù)據(jù)集分成若干組,并允許模型根據(jù)難度逐步學(xué)習(xí).使用RoBERTa編碼句子得到實(shí)體向量,再將實(shí)體間的上下文送入圖注意網(wǎng)絡(luò)中進(jìn)行編碼得到上下文向量,將二者連接后進(jìn)行分類,提升了關(guān)系抽取的效果.
以上方法往往只是將模型中的不同信息(局向量、實(shí)體向量、上下文向量、句法結(jié)構(gòu)特征等)進(jìn)行簡單的拼接構(gòu)成關(guān)系表示,忽略了句子中各種特征對(duì)關(guān)系抽取的不同影響.2018年,Zhao等人[27]提出了一種自適應(yīng)的學(xué)習(xí)方法用于文本分類任務(wù),恰當(dāng)?shù)厝诤狭司植空Z義和全局結(jié)構(gòu)信息.受Zhao等人[27]的啟發(fā),本文將該方法擴(kuò)展為融合模型的更多不同特征,并將其用于關(guān)系抽取任務(wù):使用預(yù)訓(xùn)練語言模型編碼句子后,充分考慮多種信息在關(guān)系抽取中所發(fā)揮的不同作用,恰當(dāng)?shù)亟M合各類特征,使模型聚焦于對(duì)分類更有幫助的部分,從而提升關(guān)系抽取的效果.
本文提出了一種基于自適應(yīng)信息融合機(jī)制的關(guān)系抽取方法.首先,通過BERT網(wǎng)絡(luò)編碼獲得目標(biāo)句子的句向量以及兩實(shí)體的隱狀態(tài)表示,并將句向量表示分別融入到兩個(gè)實(shí)體表示中,以獲得兩種復(fù)合特征,融合輸入序列的全局信息以及局部信息.隨后,采用一種自適應(yīng)的信息學(xué)習(xí)策略來確定兩種復(fù)合特征對(duì)關(guān)系抽取的重要程度.具體來說,將BERT模型的倒數(shù)第2層輸出作為句子的上下文特征向量,根據(jù)該特征向量賦予兩種復(fù)合特征適當(dāng)?shù)母怕手?,代表它們?duì)分類的貢獻(xiàn)程度.最后,根據(jù)兩個(gè)概率值融合兩種復(fù)合特征作為最終的關(guān)系表示,送入softmax分類層進(jìn)行分類.通過這種方法,使得模型能夠恰當(dāng)?shù)厝诤先中畔⒑途植啃畔?,并自?dòng)聚焦于對(duì)分類貢獻(xiàn)更大的部分,獲得了更高質(zhì)量的關(guān)系表示,提升了關(guān)系抽取的性能.模型整體框架如圖1所示.
圖1 模型整體框架
關(guān)系抽取任務(wù)的目標(biāo)是從一段文本中識(shí)別出兩個(gè)給定實(shí)體之間的語義關(guān)系.例如,給定文本:“The was composed for a famous Brazilian.”
其中,實(shí)體song和實(shí)體musician的位置信息分別由指示符,所標(biāo)示.此外,TACRED和TACREV數(shù)據(jù)集還額外提供了目標(biāo)實(shí)體的命名實(shí)體類型.模型的目標(biāo)為識(shí)別其關(guān)系類型:Product-Producer(e1,e2).
在將樣本句子輸入到BERT模型編碼之前,采用BERT模型的原始設(shè)置,在句子S開頭添加[CLS]標(biāo)記,以捕獲整個(gè)序列的信息,在句子結(jié)尾添加一個(gè)[SEP]標(biāo)記作為結(jié)束符號(hào).
現(xiàn)有的研究[16,19]已經(jīng)證明在實(shí)體前后添加顯式的標(biāo)記可以顯著提高關(guān)系抽取模型的性能.本文采取類似的方法為目標(biāo)實(shí)體添加特殊token(圖1中的ST).考慮到數(shù)據(jù)集中關(guān)系類型的不同特點(diǎn),對(duì)3個(gè)基準(zhǔn)數(shù)據(jù)集的樣本采用不同的預(yù)處理方法,如圖2所示.
圖2 樣本預(yù)處理
對(duì)于TACRED和TACREV數(shù)據(jù)集,沿用Zhou等[19]的設(shè)置,在實(shí)體1和實(shí)體2兩側(cè)分別添加位置標(biāo)記@和#,同時(shí),標(biāo)記兩實(shí)體類型并分別用*和^標(biāo)記位置,從而得到序列T.其中,person是實(shí)體Bill的NER類型,city是實(shí)體Seattle的NER類型,已由數(shù)據(jù)集給出.
對(duì)于Semeval2010 Task8數(shù)據(jù)集,在S中的兩個(gè)目標(biāo)實(shí)體兩側(cè)分別添加位置標(biāo)記[E11]、[E12]和[E21]、[E22]得到序列T.
BERT預(yù)訓(xùn)練語言模型是一個(gè)多層的雙向Transformer編碼器,基于注意力機(jī)制對(duì)序列進(jìn)行編碼以充分利用上下文信息.通過微調(diào),BERT能夠?yàn)閺V泛的NLP任務(wù)輸出有效的分布式表示,并取得良好的效果.
首先將序列T送入BERT編碼器中進(jìn)行編碼.在BERT模型中,每一個(gè)Transformer層均會(huì)輸出一組對(duì)應(yīng)于輸入序列T的隱狀態(tài)向量.從理論上來講,每個(gè)Transformer層的隱狀態(tài)向量均可以作為輸入序列T的詞嵌入,但是,一般來說,越深層次的Transformer隱狀態(tài)往往越適合用于進(jìn)行下游任務(wù)的微調(diào).因此,首先利用最后一層Transformer的隱向量.
在最后一層Transformer層的輸出中,設(shè)Hi至Hj對(duì)應(yīng)了實(shí)體1的隱狀態(tài),Hm至Hn對(duì)應(yīng)了實(shí)體2的隱狀態(tài),H[CLS]對(duì)應(yīng)了輸入序列中[CLS]標(biāo)記的隱狀態(tài).其中,Hi、Hj、Hm、Hn、H[CLS]∈Rh,h為隱狀態(tài)向量的維度.
對(duì)于TACRED和TACREV數(shù)據(jù)集,取兩實(shí)體的頭部token的隱狀態(tài)分別作為目標(biāo)實(shí)體的向量表示He1和He2;而對(duì)于Semeval2010 Task8數(shù)據(jù)集,則是使用平均運(yùn)算得到He1和He2:
(1)
(2)
對(duì)于[CLS]標(biāo)記的隱狀態(tài),不對(duì)其進(jìn)行額外的操作,直接將其記為輸入序列的句向量H0.即:
H0=H[CLS]
(3)
(4)
后續(xù)將在3.5節(jié)中詳細(xì)闡述上下文特征向量的作用.
至此,已經(jīng)獲得了輸入序列的句向量表示H0∈Rh,以及兩個(gè)目標(biāo)實(shí)體表示He1、He2∈Rh.其中,句向量表示是融合了整個(gè)輸入序列信息的全局特征,兩實(shí)體表示則是與目標(biāo)實(shí)體相關(guān)的局部特征,它們是關(guān)系抽取任務(wù)中起決定性作用的3種信息.為了提升關(guān)系抽取的效果,本節(jié)考慮如何更恰當(dāng)?shù)厝诤?種表示作為最終的分類依據(jù).
從經(jīng)驗(yàn)上來看,句向量和實(shí)體向量在不同的語境下中的作用是不同的:句向量由一個(gè)沒有明顯語義信息的[CLS]符號(hào)編碼得來,通過注意力機(jī)制融合文本中各個(gè)token的信息,是原始BERT模型所定義的分類任務(wù)的依據(jù).作為一種全局特征,句向量代表了整個(gè)句子的語義信息,即“理解”了整個(gè)句子;而實(shí)體向量則是一種局部特征,往往聚焦于與目標(biāo)實(shí)體更相關(guān)的token的語義信息,即“理解”了目標(biāo)實(shí)體.在關(guān)系抽取任務(wù)中,樣本的關(guān)系類型由眾多復(fù)雜的因素決定,除了與目標(biāo)實(shí)體相關(guān)外,有時(shí)還與某些關(guān)鍵的謂詞、介詞、文本段甚至整個(gè)句子的語義信息有關(guān).為了更好地說明句向量和實(shí)體向量的不同作用,在圖3中給出了4個(gè)例子.在句子S1中,通過實(shí)體room和實(shí)體house二者以及相關(guān)詞inside的局部語義特征即可判斷其關(guān)系類型為Component-Whole(e1,e2)(即部分-整體關(guān)系),全局信息的幫助較?。痪渥覵2的情況與S1類似;而在句子S3中,僅憑實(shí)體distraction和incident及其局部語義特征不足以準(zhǔn)確地判斷關(guān)系類型Cause-Effect(e1,e2)(即因-果關(guān)系),而需要整個(gè)句子的全局語義信息作為主導(dǎo),句子S4的情況與S3類似.
圖3 全局特征和局部特征的不同作用
以往的模型往往通過簡單的連接操作組合句向量和實(shí)體向量,這意味著給予它們以同等的重視程度.本文重新審視了這個(gè)問題,并提出了一種新的信息組合方式:
對(duì)于句向量表示H0,以及兩個(gè)目標(biāo)實(shí)體表示He1和He2,采用向量相加運(yùn)算對(duì)其進(jìn)行信息組合:
H1=He1+H0
(5)
H2=He2+H0
(6)
其中,H1、H2∈Rh.H1、H2融合了句向量表示和目標(biāo)實(shí)體表示,可以看作是一種復(fù)合特征.這種方法對(duì)全局特征進(jìn)行了更充分的利用,使得兩目標(biāo)實(shí)體所對(duì)應(yīng)的局部特征均與全局特征完成了融合.
H1、H2作為復(fù)合表示,在包含全局特征的同時(shí),還分別攜帶了不同的實(shí)體特征,由于兩個(gè)目標(biāo)實(shí)體的語義、位置、主賓關(guān)系等隱含信息的不同,加之在不同的語境影響下,二者在關(guān)系抽取中的貢獻(xiàn)程度往往也會(huì)呈現(xiàn)出不同大小的差異.因此,應(yīng)當(dāng)采用恰當(dāng)?shù)姆椒▽?duì)兩種復(fù)合特征進(jìn)行組合.在本實(shí)驗(yàn)中,采用一種自適應(yīng)信息學(xué)習(xí)策略來確定兩種表示對(duì)關(guān)系抽取的重要程度,并對(duì)兩種表示進(jìn)行恰當(dāng)?shù)娜诤?
在3.3節(jié)中,通過Transformer層的輸出得到了上下文特征向量Hs,它是輸入序列T在某一層面上的詞嵌入,隨著輸入句子的變化而變化,反映了文本的具體結(jié)構(gòu)和語義信息.因此,本文以Hs為特征向量,為復(fù)合特征H1、H2賦予特定的概率值,作為其在關(guān)系抽取中的重要程度,從而實(shí)現(xiàn)自適應(yīng)信息融合.
圖4描述了自適應(yīng)信息學(xué)習(xí)策略的簡單架構(gòu).根據(jù)上下文特征向量Hs,通過線性變換計(jì)算兩個(gè)特征表示S1、S2:
圖4 自適應(yīng)信息學(xué)習(xí)模塊
S1=HS×W1+b1
(7)
S2=HS×W2+b2
(8)
其中,W1、W2∈Rh×h為線性變換矩陣,b1、b2∈Rh,為偏置項(xiàng).S1、S2∈Rh.隨后,通過平均內(nèi)積運(yùn)算計(jì)算復(fù)合表示H1、H2與特征表示S1、S2之間的相似度來為復(fù)合表示對(duì)關(guān)系抽取的貢獻(xiàn)程度進(jìn)行打分,記為權(quán)值p1、p2:
p1=ρ(S1,H1)
(9)
p2=ρ(S2,H2)
(10)
最后,使用softmax函數(shù)對(duì)權(quán)值p1、p2進(jìn)行歸一化:
att1,att2=softmax(p1,p2)
(11)
其中,att1、att2是兩個(gè)歸一化權(quán)值,分別代表了復(fù)合表示H1、H2對(duì)關(guān)系抽取任務(wù)的貢獻(xiàn)程度.利用att1、att2對(duì)H1、H2進(jìn)行組合,獲得最終的關(guān)系表示X:
X=concat(att1×H1,att2×H2)
(12)
其中,X∈R2h.這種自適應(yīng)的信息學(xué)習(xí)策略,可以使模型聚焦于對(duì)分類更有幫助的部分,更好地完成信息融合,生成更高質(zhì)量的關(guān)系表示.
為了訓(xùn)練模型參數(shù)并預(yù)測(cè)樣本類別,將關(guān)系表示X送入全連接層和softmax層進(jìn)行分類:
h=(activation(X×W3+b3))×W4+b4
(13)
(14)
p=softmax(h)
(15)
其中,W3∈R2h×h,W4∈Rh×L,為線性變換矩陣,b3∈Rh,b4∈RL為線性變換的偏置項(xiàng),L為數(shù)據(jù)集中關(guān)系類型的個(gè)數(shù),activation為非線性激活函數(shù)ReLU或tanh.h、p∈RL,p中的各個(gè)元素代表了樣本屬于各個(gè)關(guān)系類型的歸一化概率.根據(jù)p,可以計(jì)算模型損失和預(yù)測(cè)樣本類別:
在模型訓(xùn)練過程中,計(jì)算歸一化概率p與樣本真實(shí)類別的one-hot向量之間的交叉熵?fù)p失作為損失函數(shù).為了防止模型過擬合,本文在模型中添加一個(gè)dropout層,以一定的概率丟棄某些網(wǎng)絡(luò)值.
在模型的預(yù)測(cè)階段,選擇歸一化概率p中的最大值所對(duì)應(yīng)的類別作為輸出:
(16)
本文采用的實(shí)驗(yàn)環(huán)境配置為:Ubuntu18.04.5操作系統(tǒng),Titan RTX顯卡,編程語言和框架分別為Python3.6和Pytorch1.9.0.
為了評(píng)估模型的性能,本文在公開數(shù)據(jù)集TACRED[28]、TACREV[29]以及SemEval-2010 Task8[30]上進(jìn)行了實(shí)驗(yàn).
TACRED數(shù)據(jù)集是關(guān)系抽取任務(wù)中最大規(guī)模的數(shù)據(jù)集之一,訓(xùn)練集、驗(yàn)證集、測(cè)試集的樣例總數(shù)分別為68124,22631,15509,共有42個(gè)關(guān)系類型,其中包含一個(gè)無關(guān)系類別“no_relation”;TACREV數(shù)據(jù)集是一個(gè)基于原始TACRED數(shù)據(jù)集構(gòu)建的數(shù)據(jù)集:在樣本數(shù)和關(guān)系類型不變的情況下,糾正了TACRED原始開發(fā)集和測(cè)試集中的錯(cuò)誤,而訓(xùn)練集保持不變.SemEval-2010 Task 8數(shù)據(jù)集是關(guān)系抽取任務(wù)的一個(gè)傳統(tǒng)數(shù)據(jù)集,包含10717個(gè)有標(biāo)記的實(shí)例,其中8000個(gè)用于訓(xùn)練,2717個(gè)用于測(cè)試.所有實(shí)例標(biāo)記了一個(gè)關(guān)系類型,其中包括9個(gè)關(guān)系類型以及一個(gè)其他類“Other”,考慮到關(guān)系的方向性,關(guān)系類型總數(shù)為2*9+1=19種.
對(duì)于TACRED和TACREV數(shù)據(jù)集,采用其官方評(píng)價(jià)腳本評(píng)測(cè)模型的Micro-F1值以衡量模型性能;對(duì)于Semeval2010 Task8數(shù)據(jù)集,同樣采用其官方評(píng)價(jià)指標(biāo):9個(gè)實(shí)際關(guān)系(不包括Other類)的Macro-F1值來評(píng)價(jià)模型.
在本文的實(shí)驗(yàn)中,使用RoBERTa-Large[31]配置作為TACRED和TACREV數(shù)據(jù)集樣本的編碼器,使用BERT-Large-Uncased[9]配置作為Semeval2010 Task8數(shù)據(jù)集樣本的編碼器.在反向傳播中,對(duì)3種數(shù)據(jù)集均采用AdamW[32]優(yōu)化器更新模型參數(shù).在TACRED和TACREV數(shù)據(jù)集實(shí)驗(yàn)中,將dropout層設(shè)置在激活函數(shù)后;在Semeval2010 Task8數(shù)據(jù)集實(shí)驗(yàn)中,將dropout層設(shè)置在He1、He2、H0的獲取過程中.實(shí)驗(yàn)中的主要超參數(shù)取值如表1所示.
表1 主要超參數(shù)取值
為了說明模型的有效性,將本文提出的OIFS模型的實(shí)驗(yàn)結(jié)果與近年來效果突出的大量主流基線模型的實(shí)驗(yàn)結(jié)果進(jìn)行了對(duì)比,包括:基于CNN/RNN的方法、基于GNN的方法和基于預(yù)訓(xùn)練語言模型的方法:
Attention-CNN[33]:將注意力機(jī)制引入卷積神經(jīng)網(wǎng)絡(luò)中,以捕獲對(duì)目標(biāo)實(shí)體影響最大的部分.
PA-LSTM[28]:面向關(guān)系抽取任務(wù)提出了一種認(rèn)知位置的神經(jīng)序列模型,充分結(jié)合基于語義相似度和位置的兩種attention機(jī)制.
C-GCN[14]:將圖卷積網(wǎng)絡(luò)應(yīng)用到關(guān)系抽取任務(wù)中,基于依存結(jié)構(gòu)對(duì)句子進(jìn)行編碼,并提出了新的修剪策略.
C-MDR-GCN[34]:提出了一種基于多種表征的圖神經(jīng)網(wǎng)絡(luò)模型,結(jié)合多種類型的依賴表示方法,同時(shí)引入了可調(diào)節(jié)的重正化參數(shù)γ.
R-BERT[16]:將BERT模型運(yùn)用到關(guān)系抽取任務(wù)中,將[CLS]標(biāo)記的嵌入和兩實(shí)體嵌入連接作為關(guān)系表示進(jìn)行分類.
KnowBERT[35]:聯(lián)合訓(xùn)練語言模型和實(shí)體鏈接器,并使用知識(shí)注意機(jī)制和重上下文化機(jī)制,將知識(shí)庫引入預(yù)訓(xùn)練模型,以形成知識(shí)增強(qiáng)的實(shí)體跨度表示形式.
MTB[17]:提出了Matching the blanks的方法來預(yù)訓(xùn)練關(guān)系抽取模型,并探討了如何對(duì)包含實(shí)體信息的語句進(jìn)行編碼以及如何輸出一個(gè)固定長度的關(guān)系表示更為合理.
Span-BERT[36]:提出了一個(gè)新的分詞級(jí)別的預(yù)訓(xùn)練方法,通過使用分詞邊界的表示來預(yù)測(cè)被添加Mask的分詞的內(nèi)容.
LUKE[37]:提出了一種專門用于處理與實(shí)體相關(guān)的任務(wù)的上下文表示方法,在大型文本語料庫和知識(shí)圖對(duì)模型進(jìn)行預(yù)訓(xùn)練,并提出了一種實(shí)體感知的自我注意機(jī)制.
ENT-BERT[38]:基于關(guān)系分類任務(wù)的特點(diǎn),結(jié)合BERT和注意力機(jī)制,利用句向量和實(shí)體向量進(jìn)行分類.
EC-BERT[39]:提出了一種結(jié)合句子特征向量、目標(biāo)實(shí)體以及實(shí)體上下文語句信息的BERT關(guān)系抽取方法,在Semeval2010 Task8數(shù)據(jù)集上表現(xiàn)良好.
Typed entity marker(punct)[19]:提出了一種新型的實(shí)體表示技術(shù),并基于BERT、RoBERTa模型進(jìn)行實(shí)驗(yàn)和微調(diào),在TACRED、TACREV數(shù)據(jù)集上取得了SOTA效果.
OIFS模型與上述基線模型的實(shí)驗(yàn)結(jié)果對(duì)比如表2所示.實(shí)驗(yàn)結(jié)果顯示,本文的模型在TACRED、TACREV、Semeval2010 Task8 3種數(shù)據(jù)集上分別取得了75.35、83.71、90.16的F1值.
表2 模型效果對(duì)比(F1值)
相比于基于CNN/RNN的方法、OIFS模型在3個(gè)數(shù)據(jù)集上所取得的F1值分別提高了8.35、10.41和4.26,證實(shí)了預(yù)訓(xùn)練語言模型相較于其他傳統(tǒng)編碼模型的強(qiáng)大能力;
相比于基于GNN的方法,OIFS模型取得的F1值分別提高了7.35、9.11和5.26,這表明基于圖神經(jīng)網(wǎng)絡(luò)的模型仍然存在著較為明顯的缺陷,如過度依賴于依存解析器所導(dǎo)致的錯(cuò)誤傳播問題;
相比于基于預(yù)訓(xùn)練語言模型的方法,OIFS模型在TACRED數(shù)據(jù)集上的F1值提升了0.75至3.85;在TACREV數(shù)據(jù)集上的F1值提升了0.51至4.41;在Semeval2010 Task8數(shù)據(jù)集上的F1值提升了0.47至0.91.在3個(gè)數(shù)據(jù)集上的效果均優(yōu)于當(dāng)前最先進(jìn)的模型,證明了本文方法的有效性,表明OIFS模型能夠有效地對(duì)模型中的各種特征信息進(jìn)行組合,解決了現(xiàn)有模型忽略不同特征對(duì)分類的不同貢獻(xiàn)的缺點(diǎn).
本節(jié)將OIFS模型與其他基于預(yù)訓(xùn)練模型的基線方法進(jìn)行了性能比較,從參數(shù)量大小以及是否使用外部知識(shí)兩個(gè)方面進(jìn)行分析,如表3所示.
表3 模型規(guī)模對(duì)比
KnowBERT(2019)[35]和MTB(2019)[17]使用了BERT-Base作為語言模型,因此參數(shù)量較小,但它們分別在微調(diào)階段和預(yù)訓(xùn)練階段融入了大量外部知識(shí)作為數(shù)據(jù)增強(qiáng);
本文提出的OIFS模型的參數(shù)量與大多數(shù)基線模型持平,且在不需要添加任何外部知識(shí)和復(fù)雜的人工設(shè)計(jì)的情況下,在3個(gè)數(shù)據(jù)集上的F1值均顯著優(yōu)于現(xiàn)有模型,顯示了本文方法的簡練性和高效性及其在關(guān)系抽取任務(wù)中的強(qiáng)大潛力.
為了使自適應(yīng)信息學(xué)習(xí)機(jī)制更好地發(fā)揮作用,進(jìn)行了上下文特征向量選擇實(shí)驗(yàn),分別選取RoBERTa模型(TACRED、TACREV)和BERT模型(Semeval2010 Task8)的最后6個(gè)Transformer層,依次作為上下文特征向量提供給自適應(yīng)信息選擇層,并對(duì)比模型效果,如圖5、圖6、圖7所示.
圖5 上下文特征向量選擇實(shí)驗(yàn)(TACRED)
圖6 上下文特征向量選擇實(shí)驗(yàn)(TACREV)
圖7 上下文特征向量選擇實(shí)驗(yàn)(Semeval2010 Task8)
圖中的水平參考線代表不使用自適應(yīng)信息學(xué)習(xí)模塊時(shí)的模型效果(即消融實(shí)驗(yàn)?zāi)P蛍/o AIL,將在4.8節(jié)中闡述).
實(shí)驗(yàn)結(jié)果表明,在3個(gè)數(shù)據(jù)集上,模型均在使用倒數(shù)第2個(gè)Transformer層作為上下文特征向量時(shí)達(dá)到了最好的效果.而使用倒數(shù)第1個(gè)Transformer層時(shí),模型效果有所下降,這可能是由于對(duì)該層的過度利用導(dǎo)致了模型的過擬合.因此,在本文的實(shí)驗(yàn)中,均選擇倒數(shù)第2個(gè)Transformer層作為上下文特征向量.
為了提升模型效果,進(jìn)行了特征維度(Hidden size)選擇實(shí)驗(yàn).RoBERTa-Large和BERT-Large模型輸出的隱狀態(tài)表示維度均默認(rèn)為1024,將后續(xù)特征維度分別設(shè)置為256、512、768、1024、1280,在3個(gè)數(shù)據(jù)集上分別進(jìn)行實(shí)驗(yàn),并對(duì)比模型效果,實(shí)驗(yàn)結(jié)果如圖8、圖9、圖10所示.
圖8 特征維度選擇實(shí)驗(yàn)(TACRED)
圖9 特征維度選擇實(shí)驗(yàn)(TACREV)
圖10 特征維度選擇實(shí)驗(yàn)(Semeval2010 Task8)
實(shí)驗(yàn)結(jié)果表明,在3個(gè)數(shù)據(jù)集上,模型均在特征維度為1024時(shí)達(dá)到了最好的效果.因此,在本文的實(shí)驗(yàn)中,均選擇將特征維度設(shè)置為1024.
為了揭示OIFS模型中各組成成分的有效性,本節(jié)設(shè)計(jì)了4個(gè)消融模型,并對(duì)比了實(shí)驗(yàn)結(jié)果:
w/o AIL:在得到復(fù)合向量H1、H2后,不使用自適應(yīng)信息學(xué)習(xí)層(Adaptive Information Learning,AIL),直接將二者連接后送入全連接層和softmax層進(jìn)行分類,其他設(shè)置不變.
w/o GLIF:在獲得句向量H0和實(shí)體向量He1、He2后,不對(duì)句向量和實(shí)體向量進(jìn)行融合,即全局信息和局部信息間的融合(Global and Local Information Fusion,GLIF),直接將三者送入自適應(yīng)信息學(xué)習(xí)層,其他設(shè)置不變.
w/o Entity1:在模型前饋過程中,不使用實(shí)體1的信息,即不獲取He1及其衍生表示H1,僅使用復(fù)合表示H2進(jìn)行分類.
w/o Entity2:在模型前饋過程中,不使用實(shí)體2的信息,即不獲取He2及其衍生表示H2,僅使用復(fù)合表示H1進(jìn)行分類.
表4報(bào)告了消融實(shí)驗(yàn)的結(jié)果.
表4 消融實(shí)驗(yàn)結(jié)果對(duì)比
在不使用自適應(yīng)信息學(xué)習(xí)層的情況下,模型在3個(gè)數(shù)據(jù)集上的F1值分別下降了0.53、0.26和0.26,表明自適應(yīng)信息學(xué)習(xí)機(jī)制確實(shí)有利于對(duì)模型特征進(jìn)行恰當(dāng)?shù)厝诤?,從而提升模型效果?/p>
在不對(duì)全局信息和局部信息進(jìn)行融合的情況下,模型的F1值分別下降了0.67、0.65和0.97,表明本文的方法有利于聚合模型中的全局句子特征和局部實(shí)體特征;
在不使用實(shí)體1和不使用實(shí)體2的情況下,模型在TACRED數(shù)據(jù)集上的F1值分別下降了1.01和1.24,在TACREV數(shù)據(jù)集上的F1值分別下降了1.72和1.31,在Semeval2010 Task8數(shù)據(jù)集上的F1值分別下降了0.70和0.92,取得了不同的效果,表明實(shí)體1和實(shí)體2在關(guān)系抽取中的作用確實(shí)存在差異,應(yīng)當(dāng)對(duì)其加以不同的考量.
為了進(jìn)一步說明OIFS模型的有效性,在表5中列出了模型在Semeval2010 Task8數(shù)據(jù)集中的每個(gè)類別上取得的查準(zhǔn)率(Precision)、查全率(Recall)以及F1值,并與Wu等人[16]的R-BERT模型進(jìn)行對(duì)比,該模型曾在Semeval2010 Task8數(shù)據(jù)集上取得了89.25的F1值.由于原論文沒有列出每個(gè)類別的具體數(shù)據(jù),本文選取Wang等人[18]對(duì)R-BERT模型進(jìn)行的復(fù)現(xiàn)實(shí)驗(yàn)的結(jié)果,其取得的F1值為89.26,與原論文持平.
表5 Semeval2010 Task8數(shù)據(jù)集上各類別的查準(zhǔn)率、查全率、F1值對(duì)比
實(shí)驗(yàn)結(jié)果表明,與R-BERT模型相比,本文的方法在6個(gè)類別上的查準(zhǔn)率有提升,在7個(gè)類別上的查全率有提升,在8個(gè)類別上的Macro-F1值有提升,進(jìn)一步證明了OIFS模型在關(guān)系抽取任務(wù)中的有效性.
為了更清晰地展示OIFS模型捕捉信息的能力,以Semeval2010 Task8數(shù)據(jù)集中的一個(gè)樣本:“[CLS]the minister attributed the slow production of the[E11]materials[E12]by the local[E21]industries[E22]to their limited capacities”為例,針對(duì)目標(biāo)實(shí)體“materials”,對(duì)模型中的最后一層Transformer的自注意力權(quán)重進(jìn)行了可視化,同時(shí),為了與現(xiàn)有模型進(jìn)行對(duì)比,本文復(fù)現(xiàn)了Wu等人[16]的R-BERT模型并對(duì)其進(jìn)行了類似的可視化,如圖11所示.
圖11 模型注意力權(quán)重可視化
在OIFS模型中,目標(biāo)實(shí)體materials對(duì)[CLS]、production、by等token有更高的注意力權(quán)重,這些信息有利于模型判斷樣本的關(guān)系類型“Product-Producer(e1,e2)”.而在R-BERT模型中,目標(biāo)實(shí)體materials對(duì)[CLS]、by的注意力權(quán)重有所下降,而將部分權(quán)重分配到了to、their等無關(guān)詞上.
可視化結(jié)果表明,OIFS模型能夠更準(zhǔn)確地聚焦于模型中的關(guān)鍵信息,降低了模型中噪聲信息的影響,有助于提升關(guān)系抽取的效果.
本文提出了一種基于優(yōu)化信息融合策略的關(guān)系抽取模型OIFS,針對(duì)以往模型對(duì)不同層次的信息一視同仁的缺陷,對(duì)BERT下游任務(wù)模型做出了改進(jìn):分析了關(guān)系抽取任務(wù)中不同信息在分類中的貢獻(xiàn),并針對(duì)每種信息提出了不同的信息融合策略,使得模型不僅恰當(dāng)?shù)厝诤狭巳直硎竞途植勘硎镜牟煌瑢哟蔚男畔ⅲ易詣?dòng)聚焦于對(duì)分類起更大作用的信息,從而得到了更高質(zhì)量的關(guān)系表示,提高了關(guān)系抽取的效果.在TACRED、TACREV和Semeval-2010 Task 8基準(zhǔn)數(shù)據(jù)集上,該文的方法在無需任何外部知識(shí)和人工設(shè)計(jì)的情況下,分別獲得了75.35,83.71,90.16的F1值,顯著優(yōu)于當(dāng)前的最優(yōu)模型.
在未來的工作中,將嘗試將本文的方法與其他預(yù)訓(xùn)練模型結(jié)構(gòu)相結(jié)合,同時(shí)考慮將自然語言推理的方法結(jié)合到模型當(dāng)中,并探究其在更多復(fù)雜關(guān)系抽取數(shù)據(jù)集以及遠(yuǎn)程監(jiān)督數(shù)據(jù)集中的表現(xiàn).