冷 根,周允升,余敦輝,2,孫 斌+
(1.湖北大學(xué) 計算機與信息工程學(xué)院,湖北 武漢 430062;2.湖北省教育信息化工程技術(shù)研究中心,湖北 武漢 430062)
關(guān)系抽取是自然語言處理中的一個核心任務(wù),主要通過對關(guān)系文本句進行特征提取后設(shè)計方法判斷實體間的關(guān)系,可應(yīng)用于自動問答、知識圖譜等[1]。本文主要研究在具備人物對實體且蘊含人物關(guān)系的樣本句中,通過關(guān)系抽取方法判斷人物間的關(guān)系。如對于“張智霖和未婚妻袁詠儀在2001年出國旅行時結(jié)婚了”例句,通過對句子進行建??芍獜堉橇亍⒃亙x的關(guān)系為“夫妻”。
關(guān)系抽取經(jīng)歷了從機器學(xué)習(xí)方法[2]到深度學(xué)習(xí)方法的演進,后者主要建立在循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)和卷積神經(jīng)網(wǎng)絡(luò)(CNN)及其變體之上[3,4]。近年來,以Transformer模型[5]為基礎(chǔ)的預(yù)訓(xùn)練模型[6]開始被廣泛應(yīng)用。由于中文具有語義多樣、句式復(fù)雜等特性,因此中文關(guān)系抽取具有較大的挑戰(zhàn)性[7]。此外,人物關(guān)系文本中通常有部分詞匯直接反映人物關(guān)系,如例句中,“未婚妻”與“夫妻”關(guān)系關(guān)聯(lián)較大,可將其稱作人物關(guān)系觸發(fā)詞。而目前主流的人物關(guān)系抽取方法均未充分利用這些詞匯,會導(dǎo)致文本重要語義的缺失。
為此,本文將人物關(guān)系觸發(fā)詞和文本深層句式語法特征融入網(wǎng)絡(luò)模型中,提出一種基于關(guān)系觸發(fā)詞與多特征的中文人物關(guān)系抽取方法。該方法將句子語義與位置、詞性、依存句法以及語義角色4個文本序列特征融合,并使用Transformer編碼器對原始文本進行編碼。此外,通過提取可直接反映人物關(guān)系的關(guān)系觸發(fā)詞,并將其引入注意力機制中,有效避免了文本重要語義的缺失。最后將其與分段卷積神經(jīng)網(wǎng)絡(luò)(PCNN)[8]組成雙通道,作用于編碼器的輸出,提取出蘊含人物關(guān)系特征的向量并完成人物關(guān)系抽取。
目前關(guān)系抽取主要圍繞著深度學(xué)習(xí)方法展開,主要分為有監(jiān)督和遠程監(jiān)督兩類,分別通過人工標注和對齊知識庫自動標注獲取數(shù)據(jù)集。有監(jiān)督關(guān)系抽取方法主要建立在RNN和CNN及其變體之上。Zhou等[9]基于LSTM網(wǎng)絡(luò)對文本進行編碼,使用注意力機制突出文本中的重要信息完成關(guān)系抽取。Shi等[10]首次將BERT預(yù)訓(xùn)練模型[6]用于關(guān)系抽取中,提出了BERT-LSTM模型,在不使用外部特征的情況下具有較好表現(xiàn)。為進一步挖掘預(yù)訓(xùn)練模型中的先驗知識,Han等[11]使用額外的提示(Prompt)將先驗知識遷移到下游任務(wù)上,并提出根據(jù)邏輯規(guī)則將與任務(wù)和類別相關(guān)的先驗知識進行表征,充分挖掘了預(yù)訓(xùn)練模型的先驗知識,為預(yù)訓(xùn)練模型在關(guān)系分類的應(yīng)用上提供了新的思路。
為避免人工標注數(shù)據(jù),學(xué)者們開始使用遠程監(jiān)督的方法構(gòu)造關(guān)系抽取任務(wù)的數(shù)據(jù)集[12],該方法的強假設(shè)會帶來一些噪聲樣本。針對此問題,Lin等[13]使用句子級別的注意力機制,將樣本句與包標簽的相似度作為權(quán)重,提高了正樣本的貢獻度,充分利用了更多的信息。Li等[14]提出實體感知嵌入與自關(guān)注模型來克服選擇性注意力機制框架[13]的缺陷,更好地緩解了遠程監(jiān)督的噪聲問題。由于中文的語法結(jié)構(gòu)復(fù)雜、詞義理解多樣等因素,部分英文關(guān)系抽取方法并不適用于中文文本關(guān)系抽取。孫紫陽等[15]提出一種最短依存路徑表示文本的深度學(xué)習(xí)方法,通過依存分析提取文本主要的語法結(jié)構(gòu),保證訓(xùn)練模型的可靠性。李衛(wèi)疆等[16]基于ATT-BiLSTM模型,通過融合詞匯、句法等多個文本特征提高了中文實體關(guān)系抽取效果。
在中文人物關(guān)系抽取方面,黃楊琛等[17]首先利用TF-IDF的過濾方法對遠程監(jiān)督獲取的初始數(shù)據(jù)進行去噪處理,進而結(jié)合詞法特征和句法特征來訓(xùn)練分類模型。謝明鴻等[18]通過同義詞詞林得到可體現(xiàn)人物關(guān)系的觸發(fā)詞數(shù)量,初步確定候選人物關(guān)系,并結(jié)合特定的人物關(guān)系文本結(jié)構(gòu)搭配規(guī)則來判斷人物關(guān)系。姚博文等[19]提出一種基于預(yù)訓(xùn)練和多層次信息的人物關(guān)系抽取模型,選用BERT預(yù)訓(xùn)練模型[6]對輸入數(shù)據(jù)進行向量編碼,結(jié)合雙向LSTM網(wǎng)絡(luò)和注意力機制捕捉句法結(jié)構(gòu)特征,最后融合句子特征、實體含義和實體與鄰近詞的依賴關(guān)系等信息完成關(guān)系分類。
上述模型都表現(xiàn)出了較好的性能,但均未充分利用文本中對關(guān)系抽取影響較大的核心詞,且難以提取中文復(fù)雜句式語法特征。
從互聯(lián)網(wǎng)資源獲取的初始數(shù)據(jù)存在較多噪聲樣本,為提高關(guān)系抽取效果,首先使用文獻[17]的去噪方法對數(shù)據(jù)進行了清洗,同時借助互聯(lián)網(wǎng)資源獲取了可表達同一人物關(guān)系的不同描述詞并進行泛化處理,得到了預(yù)定義關(guān)系描述詞表。其包含各人物關(guān)系對應(yīng)的關(guān)系描述詞集,將作為人物關(guān)系觸發(fā)詞獲取的依據(jù)。
對于原始文本句,首先將各詞語及4種額外特征映射為數(shù)字編碼,進而可通過網(wǎng)絡(luò)模型學(xué)習(xí)句子特征并完成人物關(guān)系抽取。本文設(shè)計并實現(xiàn)了基于關(guān)系觸發(fā)詞與多特征的中文人物關(guān)系抽取方法,可概括為文本核心特征提取、多特征句子編碼和融合注意力機制(ATT)與PCNN的雙通道關(guān)系抽取3部分,整體實現(xiàn)框架如圖1所示。
(1)文本核心特征提取:對于蘊含人物關(guān)系的樣本句,首先基于同義詞詞林與詞向量對句中的關(guān)鍵詞進行排序以提取人物關(guān)系觸發(fā)詞,同時借助語言工具提取對應(yīng)句子的位置、詞性、依存句法以及語義角色共4個維度的文本序列特征。
(2)多特征句子編碼:對于某一人物關(guān)系樣本句,在多嵌入層中,其分詞序列和4個文本序列特征將被映射成低維稠密向量,前者即通過詞嵌入得到語義嵌入矩陣,后者通過隨機初始化方式得到4個特征嵌入矩陣?;谕瑯拥姆椒?,可得到人物關(guān)系觸發(fā)詞的多特征嵌入向量。將樣本句的多個嵌入矩陣進行拼接,并使用Transformer編碼器對句子進行深層編碼,得到可表征人物關(guān)系的多特征句子編碼矩陣。
(3)融合ATT與PCNN的雙通道關(guān)系抽?。横槍Χ嗵卣骶渥泳幋a矩陣,利用注意力機制,以人物關(guān)系觸發(fā)詞為注意力導(dǎo)向得到各詞語的權(quán)重,捕捉句子級別高層特征;同時并行使用分段卷積神經(jīng)網(wǎng)絡(luò)從局部提取信息,得到蘊含人物關(guān)系特征的向量,最后輸入Softmax進行人物關(guān)系分類。
本文的主要貢獻如下:
(1)針對中文語言結(jié)構(gòu)的獨特性和語義復(fù)雜性,將語義與位置、詞性、依存句法和語義角色4個維度特征進行融合,保證最大化使用文本信息以適應(yīng)中文文本;同時使用Transformer模型代替循環(huán)網(wǎng)絡(luò)對文本進行深層編碼,具有更強的特征學(xué)習(xí)能力。
(2)提出基于同義詞詞林與詞向量的方法來提取人物關(guān)系觸發(fā)詞,并將其作為注意力導(dǎo)向引入注意力機制中,使得模型更加關(guān)注有效特征,避免了文本重要語義的缺失。
2.2.1 基于同義詞詞林與詞向量的關(guān)系觸發(fā)詞提取
人物關(guān)系觸發(fā)詞是文本中可直接反映人物關(guān)系的文本核心詞。本文設(shè)計并實現(xiàn)了一種人物關(guān)系觸發(fā)詞的提取算法:對于已標注關(guān)系類別的樣本句,首先通過查詢預(yù)定義關(guān)系描述詞表,得到樣本句對應(yīng)關(guān)系的關(guān)系描述詞集M,同時利用TextRank算法提取句子關(guān)鍵詞集W,然后將每個關(guān)鍵詞Wi與該關(guān)系描述詞集M中的所有描述詞計算相似度,最后將得分最高的關(guān)鍵詞作為關(guān)系觸發(fā)詞。對于未知關(guān)系和測試階段的樣本句,鑒于文獻[13]的處理思想,針對每一種關(guān)系類別的關(guān)系描述詞集提取一個候選關(guān)系觸發(fā)詞,然后將綜合相似度得分值最高的作為最終的關(guān)系觸發(fā)詞。
本文提出綜合同義詞詞林和Word2vec詞向量的相似度計算方法,具有詞匯量足、可適應(yīng)多義詞等優(yōu)勢。本文采用了文獻[20]提出的基于同義詞詞林的相似度計算方法,計算出某關(guān)鍵詞Wi與某關(guān)系描述詞Mj的相似度值為Sim1(Wi,Mj)。 具體思路即以兩詞語在詞林中的語義距離為衡量指標,將兩個詞語各自的義項兩兩匹配進行計算,最后取最大值作為兩個詞語的相似度值。詞向量將詞語語義使用數(shù)字向量進行表示,可以通過計算向量距離來衡量兩詞語的相似度,具體計算為式(1),其中,N即向量維度,x、y分別是兩個詞語對應(yīng)的N維向量。定義基于詞向量得到的相似度值為Sim2(Wi,Mj)
(1)
假設(shè)詞林的詞集為A,預(yù)訓(xùn)練詞向量詞集為B。經(jīng)測試驗證,本文獲取的預(yù)定義關(guān)系描述詞均包含于詞林和詞向量詞集中,即滿足M?(A∩B)。 但句子關(guān)鍵詞并不滿足,因此可為兩個相似度值分別賦予權(quán)重λ1和λ2, 其動態(tài)加權(quán)規(guī)則如下:
(1)Wi∈A且Wi∈B,取λ1=λ2=0.5。
(2)Wi∈A且Wi∈B,取λ1=λ2=0.5。
(3)Wi?A且Wi?B,取λ1=λ2=0。
根據(jù)式(2)可計算出綜合詞林和詞向量的相似度值
Sim(Wi,Mj)=λ1Sim1(Wi,Mj)+λ2Sim2(Wi,Mj)
(2)
對于某個關(guān)鍵詞Wi,其與對應(yīng)關(guān)系描述詞集M的平均相似度得分可由式(3)得到
(3)
其中,L為關(guān)系描述詞集M的詞語個數(shù)。最后將相似度得分最高的關(guān)鍵詞作為該樣本句的人物關(guān)系觸發(fā)詞。
關(guān)系觸發(fā)詞提取算法的偽代碼如下:
算法1:基于同義詞詞林與詞向量的關(guān)系觸發(fā)詞提取
input:預(yù)定義關(guān)系描述詞表,原始樣本句
output:樣本句中的關(guān)系觸發(fā)詞
(1)通過樣本句標注的關(guān)系從關(guān)系描述詞表中查詢得到關(guān)系描述詞集M
(2)利用TextRank算法提取得到句子的關(guān)鍵詞集W
(3)for (樣本句中的每個關(guān)鍵詞Wi∈W)
(4) for (樣本句對應(yīng)關(guān)系的每個關(guān)系描述詞Mi∈M)
(5) 計算得到基于同義詞詞林的相似度Sim1(Wi,Mj)
(6) 計算得到基于詞向量的相似度Sim2(Wi,Mj)
(7) 通過動態(tài)加權(quán)規(guī)則設(shè)定相似度權(quán)重λ1和λ2
(8) 利用式(2)計算得到綜合詞林和詞向量的相似度值Sim(Wi,Mj)
(9) end for
(10) 利用式(3)計算得到每個關(guān)鍵詞Wi與對應(yīng)關(guān)系描述詞集M的平均相似度得分Sim(Wi,M)
(11)end for
(13)return 關(guān)系觸發(fā)詞
2.2.2 文本序列特征提取
中文的復(fù)雜結(jié)構(gòu)和語義特征是文本特征中的重要信息,深度學(xué)習(xí)網(wǎng)絡(luò)能較好提取語義信息,但對語法結(jié)構(gòu)信息的提取效果有待提高。為此,本文引入分詞后各詞語的詞性、位置、語義角色以及依存句法4個文本深層特征,從而加強模型對中文復(fù)雜結(jié)構(gòu)和語義特征的提取能力。其中,位置特征是各詞語與實體對的相對距離,詞性特征是各詞語的語法屬性,語義角色特征是以核心謂詞為參照點,各詞語在句中承擔(dān)的角色,依存句法特征是通過分析句中各詞語間的依存關(guān)系,揭示其語法結(jié)構(gòu),可反映各詞語在句中的作用。以“張智霖和未婚妻袁詠儀在2001年出國旅行時結(jié)婚了”為例,其依存句法分析結(jié)果如圖2所示,每個詞語有且僅有一個依存父節(jié)點和對應(yīng)的依存結(jié)果。
2.3.1 多特征嵌入
為捕捉句子的語義和句式語法等信息,首先需要將每個詞以及其對應(yīng)的4個文本序列特征映射成低維稠密向量,對于分詞后的樣本句S=〈w1,w2,…,wn〉 為例。詞嵌入即由詞嵌入矩陣W∈V×w將每個詞wi轉(zhuǎn)換為詞向量。其中,V代表詞匯表總量,w代表詞向量維度。其過程可表示為式(4)
ei=WVi
(4)
其中,Vi是一個僅i位置為1,其余V-1個位置均為0的獨熱碼向量。通過詞嵌入可以將分詞序列轉(zhuǎn)換為語義嵌入矩陣We=[e1,e2,…,en]∈n×w。
與詞嵌入類似,其它特征序列會被分別轉(zhuǎn)換為對應(yīng)的特征嵌入矩陣:Sp∈n×2p、Sc∈n×c、Sd∈n×d、Sr∈n×r。 其中,p、c、d和r分別代表位置、詞性、依存句法和語義角色4個特征對應(yīng)向量的維度。
最后,本文將詞語語義特征與其它4個文本序列特征進行了初步融合,即將文本語義嵌入矩陣與位置、詞性、語義角色和依存句法的嵌入矩陣進行拼接作為輸出,得到原始文本多特征表示矩陣
Sm=[x1,x2,…,xn]∈n×(w+2p+c+d+r)
(5)
同時,基于上述嵌入策略得到樣本句中人物關(guān)系觸發(fā)詞的多特征向量sc。
2.3.2 基于Transformer的多特征句子編碼
在處理文本等序列信息時,常使用RNN、LSTM等循環(huán)網(wǎng)絡(luò)按時序進行運算,這種時序計算模式具有效率問題和梯度爆炸或消失問題。Transformer模型[5]使用注意力機制實現(xiàn)完全地并行處理,能夠同時處理句子中的所有詞,有效解決了RNN及其變體模型存在的兩個問題。
Transformer本質(zhì)上是一個Encoder-Decoder結(jié)構(gòu),包括編碼器和解碼器兩個部分。在中文人物關(guān)系抽取任務(wù)中,需要對蘊含人物關(guān)系的原始文本進行編碼,以便進一步提取蘊含人物關(guān)系特征的向量并識別人物關(guān)系。Transformer 編碼器通過多頭自注意力機制同時處理句子中的所有詞來更好地學(xué)習(xí)上下文依賴信息。因此本文使用了Transformer模型的編碼器部分對文本的上下文依賴特征進行建模,作用于多嵌入層的輸出,基于全局上下文完成多特征句子編碼。Transformer編碼器由多頭自注意力和前饋網(wǎng)絡(luò)(feed forward network,F(xiàn)FN)組成,F(xiàn)FN 是一種具有非線性轉(zhuǎn)換位置方式的多層感知器。本文使用的編碼器結(jié)構(gòu)如圖3所示。
圖3 Transformer編碼器
為了使得模型具備提取位置特征的能力,使用式(6)和式(7)對每個詞語的位置進行編碼
P(j,2i)=sin(j/100002i/dmodel)
(6)
P(j,2i+1)=cos(j/100002i/dmodel)
(7)
其中,j表示詞在序列中的位置,P(j)表示j位置對應(yīng)的向量,i指向量中的每個值的索引。dmodel為向量維度,與多嵌入層中拼接后的向量維度一致,將詞向量和位置向量疊加后作為編碼器的輸入,使得模型具備學(xué)習(xí)詞序信息的能力。單自注意力的處理過程可表示為式(8)
(8)
其中,輸入為疊加位置向量后的可表征人物關(guān)系的多特征編碼矩陣Sm。Q,K,V由3個權(quán)重矩陣WQ,WK,WV∈n×dk與Sm相乘得到。Transformer通過引入多頭機制提高特征提取能力,使用多組權(quán)重矩陣來提升自注意力的學(xué)習(xí)能力,其計算方式如下
(9)
head(h)=Attention(Q(h),K(h),V(h))
(10)
MultiHead(Sm)=[head(1);…;head(l)]WO
(11)
其中,h代表頭的索引,l代表頭的數(shù)量,通過合并多個單頭注意力和線性層維度轉(zhuǎn)換,使得輸出維度與原始句子嵌入維度相同。
在自注意力的結(jié)果輸出前,模型使用了FNN來增強非線性。最終編碼器的輸出為H=[h1,h2,…,hn]∈n×dmodel, 該矩陣包含了語義、依存句法和位置等多個文本特征,可表征文本中蘊含的人物關(guān)系特征,本文將其稱作多特征句子編碼矩陣。
受文獻[21]使用的雙通道網(wǎng)絡(luò)結(jié)構(gòu)啟發(fā),本文將注意力機制和PCNN作為高層特征抽取器并組成雙通道,對Transformer編碼器輸出的多特征編碼矩陣做進一步的特征抽取,以得到蘊含人物關(guān)系特征的句子表示向量(以下簡稱句向量),并利用此向量進行關(guān)系分類,即完成人物關(guān)系抽取。
2.4.1 雙通道句級別關(guān)系特征表示向量提取
(1)基于關(guān)系觸發(fā)詞的注意力句向量提取
受文獻[22]的注意力策略啟發(fā),本文設(shè)計并實現(xiàn)了一種以關(guān)系觸發(fā)詞為導(dǎo)向的注意力機制:將人物關(guān)系觸發(fā)詞作為Query, 即作為注意力向?qū)?,突出更能表征人物關(guān)系的詞語,減少噪聲詞語的干擾。本文使用的注意力層架構(gòu)如圖4所示,其中Keyi由Transformer編碼器得到的第i個詞的多特征向量hi映射變換得到,Query即多嵌入層得到的關(guān)系觸發(fā)詞多特征向量sc映射變換得到。
圖4 注意力機制
計算Attention的方式為式(8),此處Q的獲取方式與自注意力不同,是對關(guān)系觸發(fā)詞向量做線性變換得到的。為了使得注意力機制以關(guān)系觸發(fā)詞向量作為導(dǎo)向?qū)渥舆M行特征提取,需要輸入關(guān)系觸發(fā)詞向量作為注意力導(dǎo)向,同時輸入Transformer編碼后的句子矩陣H。本文注意力架構(gòu)中的Q,K,V計算方式如下
Q=scWQ,K=HWK,V=HWV
(12)
進而通過式(8)對蘊含人物關(guān)系特征的矩陣進行加權(quán)計算,得到以人物關(guān)系觸發(fā)詞為導(dǎo)向的句向量。
以關(guān)系觸發(fā)詞為導(dǎo)向的注意力機制偽代碼如下:
算法2:基于注意力機制的句向量提取
input:多特征句子編碼矩陣H,關(guān)系觸發(fā)詞多特征向量sc
output:基于注意力機制的句向量表達sa
(1) 利用式(12)計算得到映射向量Q(Query),K,V
(2) for (每個詞語的映射向量Keyi∈K)
(4) end for
(5) for (每個詞語與關(guān)系觸發(fā)詞的相似度simi∈sim)
(7) end for
(9) returnsa
(2)基于PCNN網(wǎng)絡(luò)的句向量提取
PCNN[8]是針對關(guān)系抽取任務(wù)的CNN變體,主要為卷積和分段池化兩個過程。對于多特征句子編碼矩陣H, 使用高度不同、寬度為句子矩陣向量維度的卷積核從局部提取句子特征。對于給定的卷積核t∈k×h,k為卷積核的高度。每次滑動窗口并進行卷積運算得到局部特征值fi的公式如下
(13)
池化操作即對卷積得到的特征向量做降維處理,保留與人物關(guān)系更相關(guān)的信息。傳統(tǒng)的最大池化策略可能導(dǎo)致丟失部分重要信息,本文采用文獻[8]提出的分段池化策略,將句子根據(jù)實體對劃分為3部分進行最大池化。每個卷積核得到的向量經(jīng)池化后為長度為3的向量Pi。 拼接所有Pi并進行非線性轉(zhuǎn)換,可得到蘊含人物關(guān)系特征的句向量sp
(14)
2.4.2 集成雙通道的關(guān)系分類
本文將注意力機制和PCNN組成雙通道,因此模型分類層的輸入有兩個,即注意力層加權(quán)后的句向量sa和PCNN池化得到的句向量sp。 分類層通過式(15)可得到兩個分布結(jié)果pA(y|sa)、pP(y|sp)
p(y|s)=softmax(Wss+bs)
(15)
分類層得到的分布結(jié)果保存了在所有人物關(guān)系類別上的評分,評分最高的類別即模型識別出的關(guān)系類別。最后將兩個關(guān)系分布結(jié)果pA與pP做對應(yīng)元素相乘,得到集成分布結(jié)果,公式如下
(16)
其中,Z為歸一化常數(shù),此分布將用于預(yù)測人物關(guān)系。
最終模型識別出的關(guān)系即關(guān)系分布中得分最高的關(guān)系
(17)
本文模型采用多分類任務(wù)中常用的交叉熵損失函數(shù)進行訓(xùn)練,具體公式如下
(18)
其中,m是樣本句的數(shù)量,ti是當(dāng)前樣本句的實際標簽的One-Hot向量,p(yi|si) 是對于當(dāng)前樣本句si, 模型預(yù)測出的每個關(guān)系類別的概率得分,θ代表模型中所有的參數(shù)。
表1 數(shù)據(jù)分布情況
本文采用準確率(P)、召回率(R)和F1值對結(jié)果進行評估,其中準確率指預(yù)測正確的樣本在模型檢測出的正樣本中的比例,召回率指預(yù)測正確的樣本占實際正樣本的比例,F(xiàn)1值是將二者進行綜合的指標,F(xiàn)1值的計算公式如下
(19)
3.2.1 超參數(shù)
本文使用LTP工具對文本進行了分詞并提取了詞性、語義角色等4個文本序列特征。在特征嵌入部分,語義詞向量通過預(yù)訓(xùn)練的騰訊詞向量矩陣完成嵌入,其它特征則采用隨機嵌入。
訓(xùn)練模型時采用Adam算法進行優(yōu)化,模型中的超參數(shù)通過參考其它文獻和交叉驗證來確認,相關(guān)超參數(shù)設(shè)置見表2。
表2 超參數(shù)設(shè)置
3.2.2 實驗環(huán)境
本文實驗環(huán)境配置為:硬件環(huán)境:Windows10操作系統(tǒng),CPU Intel i7-9750H,GPU RTX 1660Ti,內(nèi)存32.0 GB;軟件環(huán)境:Python3.6.12,深度學(xué)習(xí)框架Pytorch1.2.0。
3.2.3 對比模型
(1)基準對比模型
為驗證本文模型在中文人物關(guān)系抽取任務(wù)中的有效性,本文設(shè)置了多個對比模型:
CNN[3]:使用經(jīng)典的卷積和池化操作進行關(guān)系抽??;
BRNN[4]:使用更擅長提取序列特征的雙向RNN模型完成關(guān)系抽?。?/p>
BiLSTM-ATT[9]:使用雙向LSTM網(wǎng)絡(luò)對句子進行編碼,在注意力機制的作用下提取關(guān)鍵信息并完成關(guān)系分類;
R-BERT[24]:首先使用BERT預(yù)訓(xùn)練模型對句子進行嵌入,然后將句子向量與兩個實體的向量表示連接后進行關(guān)系分類;
REDN[25]:同樣使用BERT預(yù)訓(xùn)練模型得到句子的向量化表示,并使用矩陣表示實體之間的關(guān)系,利用實體對間的相關(guān)性等信息預(yù)測實體間的關(guān)系。
(2)本文模型及其變種
為驗證本文模型各部分的有效性,本文在模型基礎(chǔ)上設(shè)置了若干組消融實驗,其中前3個實驗在嵌入層中僅使用語義嵌入,即未融合位置、語義角色等多特征。為方便書寫,下文將Transformer簡寫為TF。
TF-FC:使用Transformer編碼器提取原始文本的語義特征,然后連接一個全連接層和Softmax層完成關(guān)系分類。
TF-PCNN:結(jié)合了Transformer模型和分段卷積網(wǎng)絡(luò)的基本組合模型,在Transformer完成句子編碼后,連接一個分段卷積網(wǎng)絡(luò)進一步從局部提取句子特征。
TF-ATT-PCNN:在基本組合模型基礎(chǔ)上引入注意力機制,并使用人物關(guān)系觸發(fā)詞作為注意力向?qū)?,將注意力機制與PCNN組成雙通道完成人物關(guān)系抽取。
TF-ATT-PCNN-MF:本文的完整模型,在上一個模型的基礎(chǔ)上,融合依存句法、語義角色等4個文本序列特征,充分利用更多文本信息,以更好地適應(yīng)中文文本。
3.3.1 超參數(shù)的影響
本文研究了對完整模型影響較大的核心超參數(shù)并確定了最佳數(shù)值,包括訓(xùn)練輪次epoch、文本最大長度max-length、批次大小batch-size和學(xué)習(xí)率learn-rate,具體結(jié)果如圖5所示。
根據(jù)圖5可以發(fā)現(xiàn),當(dāng)訓(xùn)練輪次為20時即可訓(xùn)練出最優(yōu)模型,訓(xùn)練過多可能會導(dǎo)致過擬合而影響測試效果。當(dāng)文本最大長度為40時效果最好,是因為該值過長則需要填充較多無效數(shù)據(jù),該值過短則會截取較多有效數(shù)據(jù),均可能導(dǎo)致文本語義缺失。批次大小和學(xué)習(xí)率分別為32和0.001時模型擬合程度較好,二者有一個共性:值過大可能會陷入局部最優(yōu),過小可能導(dǎo)致訓(xùn)練難以收斂。
3.3.2 損失迭代曲線
確認參數(shù)后可開始訓(xùn)練模型,在訓(xùn)練過程中記錄了模型在不同epoch下的損失值情況并進行了可視化,如圖6所示。
圖6 損失迭代曲線
觀察圖6可知,train-loss隨著迭代次數(shù)增加逐漸減小,第20次迭代后,在訓(xùn)練集和測試集上的損失值趨于收斂。此后,隨著迭代次數(shù)的增加train-loss基本不變,而eval-loss在后續(xù)出現(xiàn)了上升情況,說明模型出現(xiàn)了過擬合情況。因此本文將epoch設(shè)置為20。
3.3.3 模型結(jié)果對比
本文使用統(tǒng)一的人物關(guān)系數(shù)據(jù)對不同模型進行訓(xùn)練并測試,得到對比模型和消融實驗的對比結(jié)果,見表3。
表3 模型結(jié)果對比
從表3可以看出,本文提出的模型在3個指標下的結(jié)果分別為90.1%、89.3%、89.7%,在多個對比模型中表現(xiàn)最佳。在F1值上相較于BiLSTM-ATT、R-BERT、REDN模型分別提升了9.8、4.2、1.2個百分點,驗證了本文提出的人物關(guān)系觸發(fā)詞和多特征融合在中文人物關(guān)系抽取中的積極作用。
(1)對比模型分析
相比于標準CNN模型,BRNN網(wǎng)絡(luò)模型有略微提升,是由于本文數(shù)據(jù)集中實例樣本大多為一段完整語句,循環(huán)網(wǎng)絡(luò)可根據(jù)上下文提取深層信息,而本文數(shù)據(jù)集的實例樣本長度并不長,因此提升幅度較小。
雙向LSTM網(wǎng)絡(luò)融合注意力機制相較于基礎(chǔ)模型提升較大,是因為數(shù)據(jù)樣本中存在一些噪聲詞語,而注意力機制能夠自動過濾掉噪聲詞語并提高重要詞語的貢獻度,相比單一模型提升較大。
R-BERT和REDN均將預(yù)訓(xùn)練的BERT模型作為主體,前者融合句子向量和實體表示向量進行分類,后者針對關(guān)系抽取任務(wù)設(shè)計了一種具有新型損失函數(shù)的網(wǎng)絡(luò)結(jié)構(gòu)。二者使得模型具備了預(yù)訓(xùn)練階段學(xué)習(xí)的豐富知識,微調(diào)后均能很好地作用于關(guān)系抽取任務(wù)。相比于傳統(tǒng)模型,具有較大提升。
(2)本文模型各部分的有效性分析
相比于CNN和BRNN模型,使用Transformer模型作為文本編碼器具有明顯提升,說明Transformer模型相較于單一模型能夠提取到更多信息。
在使用Transformer作為文本編碼器的基礎(chǔ)上,進一步使用PCNN從局部進行特征提取,進一步提高了模型性能,是因為Transformer缺乏局部特征提取能力,而PCNN的加入彌補了此缺陷。
在TF+PCNN的基礎(chǔ)模型架構(gòu)上,引入注意力機制并將人物關(guān)系觸發(fā)詞作為注意力向?qū)Ш螅P托Ч玫搅嗣黠@提升,表明了人物關(guān)系觸發(fā)詞能夠引導(dǎo)模型關(guān)注文本中與人物關(guān)系更相關(guān)的詞語。
在引入注意力機制基礎(chǔ)上,融合多特征信息的TF-ATT-PCNN-MF模型,通過人物關(guān)系觸發(fā)詞來突出句中的重要成分,并引入多特征得到了更加豐富的特征表示,對提升模型分類效果起到了積極作用,達到了89.7%的最佳F1值。
3.3.4 不同關(guān)系類別上的模型結(jié)果對比
為了直觀感受不同模型在各個關(guān)系類別上的抽取效果,本文還將各模型在不同關(guān)系類別的實驗結(jié)果進行了對比,結(jié)果如圖7所示。
圖7 不同關(guān)系類別上的模型結(jié)果對比
從圖7可以看出,本文模型在不同關(guān)系類別的抽取效果表現(xiàn)較好,在大部分關(guān)系類別中取得了最佳效果,且在夫妻、兄弟姐妹、師生等關(guān)系上的提升效果較為明顯。分析具體數(shù)據(jù)可發(fā)現(xiàn)這類關(guān)系存在的共性是:基于樣本句提取的人物關(guān)系觸發(fā)詞能有效反映對應(yīng)的關(guān)系類別。此外,左側(cè)的關(guān)系抽取效果明顯高于右側(cè),這是由于左側(cè)的訓(xùn)練集較為充分,模型能夠從中學(xué)習(xí)到更豐富的關(guān)系特征。
本文提出一種基于人物關(guān)系觸發(fā)詞與中文文本多特征的人物關(guān)系抽取方法。針對中文的復(fù)雜句式語法等特性,將語義特征與4個深層文本特征融合,同時使用特征提取能力更強的Transformer編碼器對原始文本進行深層編碼;為避免文本重要語義的缺失,提出基于同義詞詞林和詞向量提取人物關(guān)系觸發(fā)詞,并將其引入注意力機制中,在多個對比實驗下驗證了本文方法的有效性。近年來,出現(xiàn)了更多復(fù)雜情況的關(guān)系抽取研究,如嵌套關(guān)系抽取、重疊關(guān)系抽取等,因此在未來的工作中,我們將研究更復(fù)雜的關(guān)系抽取。