田 昊,張驍雄,劉文杰,劉 瀏,3,劉姍姍,丁 鯤
(1.國防科技大學(xué) 第六十三研究所,江蘇 南京 210007;2.南京信息工程大學(xué) 計算機與軟件學(xué)院,江蘇 南京 210044;3.宿遷學(xué)院,江蘇 宿遷 223800)
知識圖譜通常是表示實體和關(guān)系的語義關(guān)系圖,存儲形式為三元組,三元組由頭實體h,尾實體t,以及它們之間的關(guān)系r組成,通常用這些三元組來描述事實。相較于傳統(tǒng)數(shù)據(jù)庫,知識圖譜更加直觀,搜索能力更加優(yōu)秀[1]。因此,知識圖譜被廣泛應(yīng)用于金融、軍事、醫(yī)療等領(lǐng)域[2]。
隨著知識圖譜的規(guī)模越來越大,其存儲的數(shù)據(jù)量增多,知識圖譜出現(xiàn)了圖譜稀疏和不完整問題,導(dǎo)致知識缺失現(xiàn)象發(fā)生,降低了圖譜質(zhì)量。如圖1所示,由三元組<約瑟夫·拜登,妻子,娜麗亞·亨特>、<娜麗亞·亨特,母子,博·拜登>以及<博·拜登,兄弟,亨特·拜登>,易得實體“約瑟夫·拜登”與實體“亨特·拜登”之間的關(guān)系為“父子”,但對于同樣的結(jié)構(gòu),知識圖譜可能就缺失了“威廉王子”和“路易斯王子”之間的關(guān)系。
知識補全是一項解決知識缺失問題的技術(shù),目的是使知識圖譜更加完整。知識補全的質(zhì)量一定程度影響知識圖譜的存儲質(zhì)量,從而影響下游應(yīng)用的質(zhì)量,如問答、搜索等[3]。知識補全技術(shù)首先需要對知識圖譜進行表示和建模,然后預(yù)測各個三元組中缺失的部分,并判斷預(yù)測后的三元組是否有效合理[4]。在知識圖譜構(gòu)建過程中,知識補全技術(shù)是知識加工的重要組成部分,在學(xué)術(shù)界和工業(yè)界都具有一定的現(xiàn)實意義[5]。
近年來,預(yù)訓(xùn)練語言模型在自然語言處理(Natural Language Processing,NLP)任務(wù)取得了良好的效果。例如,ELMo[6]借助雙向LSTM解決多義詞的表示問題,GPT[7]以Transformer的Decoder架構(gòu)完成分類、相似度等任務(wù);而BERT模型[8]綜合考慮ELMo雙向編碼和GPT使用Transformer編碼器的思路,采用Transformer雙向編碼器作為特征提取器,利用大量未標(biāo)記數(shù)據(jù)對模型進行預(yù)訓(xùn)練以獲取通用的語言表示,再利用少量的標(biāo)記數(shù)據(jù)進行微調(diào)以應(yīng)對具體任務(wù),解決了缺少大量高質(zhì)量標(biāo)記數(shù)據(jù)的問題,并有效地捕獲了上下文信息。考慮到BERT模型在多個NLP任務(wù)的優(yōu)異表現(xiàn),該文將BERT引入到知識補全任務(wù)中。
不過BERT在進行知識補全任務(wù)時,存在以下問題。首先,傳統(tǒng)BERT一般采用[CLS]輸出值對序列進行表征,但當(dāng)序列信息過多積壓在[CLS]輸出值上時,會造成不同知識數(shù)據(jù)特征近似,影響模型表征能力,降低下游任務(wù)效果。有相關(guān)研究工作證實此觀點,例如Reimers等人[9]在sentence-bert模型中認為,BERT傳統(tǒng)表征序列的方法效果不佳,在語義文本相似性任務(wù)上的效果甚至不如GloVe,原因就在于[CLS]輸出值難以有效表征序列信息,特征信息易形成重疊堆積[10];其次,BERT并行化處理文本,僅依靠位置嵌入向量表示文本之間的位置關(guān)系[8],無法像串行的神經(jīng)網(wǎng)絡(luò)模型一樣按照時間戳建模位置信息,從而弱化了字詞位置信息。
同時,就知識圖譜構(gòu)建過程而言,中文知識圖譜與英文知識圖譜在語法結(jié)構(gòu)、構(gòu)詞方法、句式邏輯結(jié)構(gòu)等方面存在差異[11],而中文語法結(jié)構(gòu)和語言邏輯更加靈活多變,同義詞、多義詞較多,中文文本的特征更加復(fù)雜,更易產(chǎn)生上述的特征重疊堆積問題[12],同時中文語序多變,語境相關(guān)性更強,相比英文更加依賴字詞間位置關(guān)系來表征文本語義,所以BERT在處理中文文本時問題更加突出。
針對上述BERT的模型問題以及中文文本的語言特點,該文改進了BERT模型,提出了一種名為MpBERT-BiGRU的知識補全模型,采用平均池化(mean-pooling)策略,在[CLS]輸出值的基礎(chǔ)上,計算字詞級別隱層特征的均值,使用更合適的均值特征取代[CLS]輸出值,緩解傳統(tǒng)方法特征信息重疊堆積的問題,增強BERT對句子的表征能力;同時,MpBERT-BiGRU模型通過雙向門控循環(huán)單元網(wǎng)絡(luò)(Bidirectional Gated Recurrent Unit,BiGRU)增強均值特征,BiGRU可以串行化處理輸入序列,并采用兩層GRU學(xué)習(xí)上下文的字詞依賴關(guān)系,并且GRU簡化了長短期記憶網(wǎng)絡(luò)(Long Short-Term Memory,LSTM)的門控結(jié)構(gòu),減少參數(shù)量的同時降低了過擬合風(fēng)險,提高了模型效率[13],這在時間消耗較大的知識補全任務(wù)中顯得尤為關(guān)鍵。
為了研究MpBERT-BiGRU模型在中文數(shù)據(jù)集上的知識補全效果,以及以往的知識補全模型是否適用于中文語境,而目前大多數(shù)的知識補全研究都以英文數(shù)據(jù)集為主,如FB15K-237[14]、UMLS[15]和WN18RR[15]等,缺乏高質(zhì)量中文標(biāo)記數(shù)據(jù),該文結(jié)合UMLS數(shù)據(jù)集和ownthink數(shù)據(jù)集(http://www.ownthink.com/),并通過數(shù)據(jù)預(yù)處理,構(gòu)造了UMLS+ownthink中文數(shù)據(jù)集。
主要貢獻如下:(1)構(gòu)建了中文數(shù)據(jù)集UMLS+ownthink,驗證知識補全模型在中文語料庫上的有效性;(2)提出了MpBERT-BiGRU模型,采用平均池化策略處理BERT模型輸出的特征向量,改進BERT模型表征三元組能力,并利用BiGRU學(xué)習(xí)序列位置關(guān)系,進一步增強特征向量表示能力;(3)驗證了MpBERT-BiGRU模型在中英文數(shù)據(jù)集上都有所提升,其中在UMLS+ownthink數(shù)據(jù)集上相較于以往方法,平均排名(Mean Rank,MR)指標(biāo)上提高10.39,前10命中率(Hit@10)指標(biāo)上提高4.63%。
現(xiàn)有的知識補全技術(shù)主要包括三種方法,分別是知識嵌入模型、基于深度學(xué)習(xí)的補全模型和基于預(yù)訓(xùn)練語言模型的知識補全模型。
知識嵌入模型思路類似于Word2Vector模型[16],使用向量來表示實體及其關(guān)系。Bordes等人[14]提出的TransE算法是經(jīng)典的知識嵌入算法,算法將實體間關(guān)系映射為兩個實體向量之間的變換關(guān)系,并調(diào)整向量表示以滿足h+r=t。隨后提出的TransH[17]、TransR[18]、TransD[19]等算法對TransE模型難以處理復(fù)雜關(guān)系的缺陷進行了改進,取得了較好的效果。Socher等人[20]提出了神經(jīng)張量網(wǎng)絡(luò)模型(Neural Tensor Network,NTN),利用實體名稱的平均詞向量表示每個實體,共享相似實體名稱中的文本信息,達到良好的鏈接預(yù)測效果。然而該模型的訓(xùn)練過程耗時較長[20],難以滿足特定的速度要求,無法簡單有效地處理大型知識圖譜。Yang等人[21]在NTN模型的基礎(chǔ)上,提出DistMult模型,使用對角矩陣簡化NTN模型的得分函數(shù),但是DistMult模型無法有效應(yīng)對非對稱關(guān)系。為此,Trouillon等人[22]提出的ComplEx模型在DistMult模型基礎(chǔ)上引入復(fù)數(shù)概念,將實體和關(guān)系映射到復(fù)數(shù)空間中,由于復(fù)數(shù)空間的共軛向量乘積不具有交換性,且保留了點積的優(yōu)勢,有效應(yīng)對非對稱關(guān)系。
知識嵌入模型從結(jié)構(gòu)層面進行研究,可以有效應(yīng)對結(jié)構(gòu)性較強、語義較簡單的知識圖譜,達到良好效果。不過在許多知識圖譜中,由于實體與關(guān)系語義信息復(fù)雜且豐富,知識嵌入模型忽略了文本描述等外部信息,同時在應(yīng)對知識補全任務(wù)時NTN等模型訓(xùn)練時間長,成本消耗大,效率較低。
為了更好地應(yīng)用文本中的語義信息,許多研究都將深度學(xué)習(xí)模型應(yīng)用在知識圖譜補全中。Dettmers等人[15]提出名為ConvE的多層卷積網(wǎng)絡(luò)模型,該模型利用2D卷積進行鏈接預(yù)測,在公共數(shù)據(jù)集上取得了良好的性能。Nguyen等人[23]提出了一種基于卷積神經(jīng)網(wǎng)絡(luò)的嵌入模型ConvKB,該模型將每個三元組表示為一個三列矩陣,將三列矩陣輸入卷積神經(jīng)網(wǎng)絡(luò),生成不同的特征圖,該模型在鏈接預(yù)測任務(wù)中也取得了良好的性能。
不過,ConvE模型在同一維度上的全局特征可能會丟失,影響模型補全性能,而ConvKB模型仍然將實體和關(guān)系視為獨立的元素,忽略其緊密聯(lián)系,導(dǎo)致關(guān)系隔離和特征丟失[24]。并且,基于深度學(xué)習(xí)的模型為了增強其泛化能力,需要在大規(guī)模標(biāo)記數(shù)據(jù)集上進行訓(xùn)練,但以現(xiàn)有的方法,獲取大規(guī)模的標(biāo)記數(shù)據(jù)十分費時費力,因此基于深度學(xué)習(xí)的模型局限性較大。
隨著預(yù)訓(xùn)練語言模型在NLP領(lǐng)域的應(yīng)用越來越廣泛,近年來已有研究使用預(yù)訓(xùn)練語言模型進行知識補全,取得了一定效果。
Zha等人[25]利用一種稱為BERTRL的一體化解決方案推理實體間關(guān)系,借助預(yù)訓(xùn)練語言模型,通過將關(guān)系實例及其可能的推理路徑作為訓(xùn)練樣本對模型進行微調(diào),達到了良好的效果。Liu等人[26]提出了一種基于XLNet的補全模型,將知識補全任務(wù)轉(zhuǎn)化為分類和評分任務(wù),根據(jù)不同任務(wù)構(gòu)建三種基于XLNet的知識圖譜補全模型。Yao等人[27]提出了名為KG-BERT的框架,該框架將知識補全任務(wù)轉(zhuǎn)化為句子分類問題,通過三元組序列進行微調(diào)模型,在鏈接預(yù)測、三元組分類和關(guān)系預(yù)測任務(wù)中實現(xiàn)了先進的性能。
不過基于預(yù)訓(xùn)練語言模型的知識補全模型存在一定問題,例如KG-BERT模型沒有證明在中文語境下的有效性,也沒有改進BERT輸出值以緩解[CLS]標(biāo)簽表征能力不足的問題,在處理字詞位置信息時,只采用了原始的位置編碼,無法完全有效地學(xué)習(xí)字詞位置信息。
以往大多研究都以英文數(shù)據(jù)集為主,不過近年來,有關(guān)中文知識圖譜的知識補全工作逐漸增多。
Zhang等人[28]提出BERT-KGC模型,該模型在KG-BERT模型[27]基礎(chǔ)上,融入實體類型信息,并根據(jù)專家制定的規(guī)則從公開數(shù)據(jù)源抽取中文文物實體,構(gòu)建中文文物知識圖譜數(shù)據(jù)集CCR20,驗證了模型在CCR20數(shù)據(jù)集上的有效性。Xie等人[29]以生成式Transformer模型為基礎(chǔ),提出GenKGC模型,將知識補全任務(wù)轉(zhuǎn)化為序列生成任務(wù),在中文知識圖譜AliopenKG500上取得了良好效果。不過,這些中文知識圖譜數(shù)據(jù)集大多沒有公開,并且上述方法并沒有根據(jù)中文特點,針對性地增強模型的特征表征能力和學(xué)習(xí)語序位置關(guān)系的能力。
針對現(xiàn)有BERT模型在知識補全任務(wù)上表征能力不足、字詞位置信息弱化的問題,以及中文文本易特征重疊堆積、依賴字詞間位置關(guān)系的特點,該文提出采用MpBERT-BiGRU模型完成知識補全任務(wù),其中BERT采用bert-base-chinese模型,以應(yīng)對中文知識圖譜語境,模型結(jié)構(gòu)如圖2所示。
圖2 MpBERT-BiGRU模型架構(gòu)
利用MpBERT-BiGRU模型進行知識補全的思路與先前的知識嵌入模型和深度學(xué)習(xí)模型的思路有所區(qū)別,主要是利用預(yù)訓(xùn)練語言模型進行初始編碼,然后經(jīng)過池化策略和神經(jīng)網(wǎng)絡(luò)增強特征信息,采用線性層輸出得分,將知識補全任務(wù)看做序列分類任務(wù)。該模型進行知識補全的主要流程為:
(1)輸入層:將頭尾實體和關(guān)系表示為三段文本,并將三段文本輸入模型,其中頭尾實體文本為對應(yīng)的描述文本;
(2)Bert編碼層:將輸入序列經(jīng)過BERT編碼和多頭自注意力機制等計算,得到包含上下文語義信息的初步特征向量;
(3)平均池化層:利用平均池化策略,獲取Bert編碼層編碼后的特征向量均值,緩解[CLS]標(biāo)簽信息堆積、特征重疊的問題;
(4)特征增強層:經(jīng)過BiGRU網(wǎng)絡(luò),利用串行化神經(jīng)網(wǎng)絡(luò)處理池化后的特征,充分學(xué)習(xí)中文文本字詞間位置關(guān)系,進一步增強特征信息;
(5)輸出層:通過線性分類層和激活函數(shù)處理BiGRU的強化特征,得到一個二分類得分結(jié)果,即將知識補全任務(wù)轉(zhuǎn)化為分類任務(wù),合理有效的三元組的得分較高。
(1)
圖3 增加實體描述的輸入序列
Bert編碼層主要以BertModel為基礎(chǔ),BertModel由BertEmbeddings和BertEncoder組成,BertEmbedd-ings負責(zé)對三元組輸入進行初始編碼,得到的向量由BertEncoder進一步進行語義信息融入。
定義L為輸入序列Seq(h,r,t)的長度,H為模型的隱藏層大小。BertEmbeddings負責(zé)處理序列化輸入,將輸入序列Seq(h,r,t)轉(zhuǎn)化為三種嵌入矩陣,分別是詞嵌入矩陣Ew、位置嵌入矩陣Ep和類型嵌入矩陣Et,其中Ew是每個字的嵌入值,Ep代表每個字的位置信息,Et用來區(qū)分三元組不同部分。再將3種嵌入矩陣求和,合并成輸出的嵌入矩陣X,如式(2)所示。
X=Ew+Ep+Et=(x1,x2,…,xL)T
(2)
其中,xi(i=1,2,…,L)是每個字的向量表示,xi維度為H×1,X維度為L×H。
BertEncoder是BertModel的編碼層,BertEncoder主要由N層BertLayer組成,每層BertLayer由BertAttention、BertIntermediate和BertOutput組成,BertLayer結(jié)構(gòu)如圖4所示。
圖4 BertLayer架構(gòu)
(3)
(4)
(5)
再將Q和K矩陣相乘,進行縮放點積操作,通過softmax函數(shù)并與V矩陣相乘,得到第i頭的注意力權(quán)重分量Yi,如式(6)所示,連接n頭注意力權(quán)重分量,得到多頭注意力權(quán)重Y,如式(7)所示。
(6)
Y=(Y1,Y2,…,Yn)
(7)
其中,Yi維度為H×d,Y維度為L×H。
BertSelfOutput層將BertSelfAttention層輸出的Y經(jīng)線性層、Dropout層和LayerNorm層歸一化,得到整個BertAttention層的輸出A,如式(8)和式(9)所示。
(8)
(9)
其中,參數(shù)矩陣Wdrp維度為H×H,偏置向量bdrp維度為1×H,αdrp∈[0,1)為Dropout率,A維度為L×H。
BertIntermediate層包含線性層和激活函數(shù),將A的維度從L×H擴大到L×S,如式(10)所示。
U=gelu(AWInt+bInt)
(10)
其中,參數(shù)矩陣WInt維度為H×S,偏置向量bInt維度為1×S,U維度為L×S。
BertOutput層和BertSelfOutput層類似,由線性層、Dropout層和LayerNorm層組成,線性層將矩陣U由維度L×S縮小到維度L×H,然后歸一化得到BertLayer的輸出,再將這個輸出作為輸入到下一層的BertLayer中,經(jīng)過N層的BertLayer疊加,得到充分融合上下文語義信息的特征矩陣Z,如式(11)和式(12)所示。
(11)
(12)
其中,參數(shù)矩陣Wdrp′維度為S×H,偏置向量bdrp′維度為1×H,αdrp′∈[0,1)為dropout率,Z維度為L×H。
(1)傳統(tǒng)BERT以[CLS]標(biāo)簽表征序列的思路為:
設(shè)特征矩陣Z在每個維度i(i=1,2,…,H)的第一個位置的隱層值h(i,0)為[CLS]標(biāo)簽值,并以各個維度的[CLS]標(biāo)簽值拼接為序列表征向量E'=(h(1,0),h(2,0),…,h(H,0))。
(2)采用的平均池化策略的主要思路為:
(13)
(14)
特征增強層由兩個GRU子網(wǎng)絡(luò)組成,分別進行前向傳播和后向傳播。GRU利用更新門控制當(dāng)前時刻t對前一時刻t-1的信息接收程度,并通過重置門控制對前一時刻t-1的信息忽略程度,單向GRU網(wǎng)絡(luò)結(jié)構(gòu)如圖5所示。
圖5 GRU網(wǎng)絡(luò)結(jié)構(gòu)
rt=σ(ht-1Wr+etWr+br)
(15)
(16)
zt=σ(ht-1Wz+etWz+bz)
(17)
(18)
E=(h1,h2,…,ht,…,hH)
(19)
(20)
其中,W為模型2×H的參數(shù)矩陣,Sco是一個二維向量,由兩部分Sco1,Sco2∈[0,1]組成,且Sco1+Sco2=1。
微調(diào)階段,由于數(shù)據(jù)集中的三元組都是事實,這些事實組成真樣本集D+,因此需要采用替換法構(gòu)造負樣本D-,具體做法如下:(1)對于真樣本三元組T=
D-={(h',r,t)|h'∈E∧h'≠
h∧(h',r,t)?D+}
∪{(h,r,t')|t'∈E∧t'≠
t∧(h,r,t')?D+}
(21)
因此,給定正負樣本集D+和D-,計算二進制交叉熵損失函數(shù)L,如式(22)所示。
(22)
其中,yT∈{0,1}為三元組T的標(biāo)簽(負樣本或真樣本),Sco1,Sco2∈[0,1]分別是三元組T屬于兩種標(biāo)簽的概率得分。
目前大多研究都使用FB15K-237[14]或WN18RR[15]等英文數(shù)據(jù)集,缺少合適的中文知識補全數(shù)據(jù)集。為驗證模型在中文數(shù)據(jù)集上的效果,該文構(gòu)建了數(shù)據(jù)集UMLS+ownthink,該數(shù)據(jù)集主要由中文UMLS數(shù)據(jù)集[15]和ownthink中文數(shù)據(jù)集的子數(shù)據(jù)集組成,并通過數(shù)據(jù)預(yù)處理、實體對齊等操作,解決了重復(fù)實體等問題。
其中UMLS是一個主要以醫(yī)藥領(lǐng)域為基礎(chǔ)的知識圖譜,以<實體,關(guān)系,實體>的三元組形式存儲數(shù)據(jù),包含了135個醫(yī)藥領(lǐng)域?qū)嶓w和46個實體間關(guān)系,以及6 000多條三元組數(shù)據(jù),整個圖譜結(jié)構(gòu)性完整,緊密性良好,原數(shù)據(jù)集為英文數(shù)據(jù)集,該文對英文數(shù)據(jù)集進行了裁剪和中文加工,構(gòu)建了中文的UMLS數(shù)據(jù)集。
ownthink數(shù)據(jù)集是一個擁有億級三元組的通用領(lǐng)域知識圖譜,但由于ownthink的存儲形式為<實體,屬性,值>,并不完全符合<實體,關(guān)系,實體>的三元組形式,加之原數(shù)據(jù)集稀疏性較大,數(shù)據(jù)構(gòu)成不規(guī)范、值缺失等,因此根據(jù)“所屬國家”“界”“軟件語言”等屬性,從龐大的ownthink數(shù)據(jù)集中抽取了部分高質(zhì)量數(shù)據(jù)形成ownthink數(shù)據(jù)集的子集,再按照子集的實體名稱,將實體的描述文本從ownthink數(shù)據(jù)集中抽出,將子數(shù)據(jù)集和描述文本加入中文UMLS數(shù)據(jù)集,融合組成UMLS+ownthink。
表1展示了ownthink數(shù)據(jù)集、ownthink子集、中文UMLS數(shù)據(jù)集以及所用的UMLS+ownthink數(shù)據(jù)集統(tǒng)計信息。
表1 中文數(shù)據(jù)集統(tǒng)計
為驗證和測試MpBERT-BiGRU模型的有效性,將如下模型作為基線模型:TransE模型[14],由Bordes等人于2013年提出,將實體間關(guān)系表示為實體間的平移向量;TransH模型[17],于2014年由Wang等人提出,改進了TransE模型,將三元組映射到基于關(guān)系的超平面;TransD模型[19],由Ji等人于2015年提出,模型提供兩種動態(tài)投影矩陣來投影實體;DistMult模型[21],由Yang等人于2015年提出,采用對角矩陣替代關(guān)系矩陣,簡化了模型復(fù)雜度;ComplEx模型[22],于2016年由Trouillon等人提出,引入復(fù)數(shù)概念,較好地處理了非對稱關(guān)系嵌入;KG-BERT模型[27]由Yao等人在2019年提出,將預(yù)訓(xùn)練語言模型應(yīng)用于英文知識補全任務(wù)。
實驗部分采用Pytorch框架實現(xiàn),實驗環(huán)境為24G顯存的GeForce RTX 3090 GPU,模型的BertModel部分選擇bert-base-chinese模型,參數(shù)總數(shù)量為110 M,隱層大小為768,BertLayer層數(shù)為12,多頭注意力機制頭的數(shù)目為12。
經(jīng)過實驗調(diào)整,模型的超參數(shù)設(shè)置:最大輸入序列長度為30,訓(xùn)練批次為5,批處理大小為256,激活函數(shù)為gelu,Adam優(yōu)化器的學(xué)習(xí)率為5×10-5,dropout率為0.1。
鏈接預(yù)測是知識補全領(lǐng)域的典型任務(wù)之一,用于評估知識補全效果,給定三元組
(23)
(24)
鏈接預(yù)測的主要評估指標(biāo)為平均排名(Mean Rank,MR)和前k命中率(Hit@k)。MR指目標(biāo)三元組的平均排名,此指標(biāo)越小代表模型性能越好;Hit@k指目標(biāo)三元組排名在前k名的比率,此指標(biāo)越大代表模型性能越好。實驗排除了替換后的其余正確三元組對目標(biāo)三元組排名的影響,使用Filtered Mean Rank和Filtered Hits@k指標(biāo),分別表示刪去了其他正確三元組后目標(biāo)三元組的平均排名和刪去了其他正確三元組后目標(biāo)三元組在前k個三元組中出現(xiàn)的概率。
在中文數(shù)據(jù)集UMLS+ownthink上的鏈接預(yù)測實驗結(jié)果如表2所示。該文使用開源知識圖譜嵌入工具包OpenKE[30]對TransE模型[14]、TransH模型[17]、TransD模型[19]、DistMult模型[21]、ComplEx模型[22]進行鏈接預(yù)測實驗,KG-BERT模型[27]在原模型基礎(chǔ)上,將英文BERT模型bert-base-cased更改為bert-base-chinese模型進行鏈接預(yù)測實驗。
表2 中文數(shù)據(jù)集鏈接預(yù)測實驗結(jié)果
實驗結(jié)果表明,提出的MpBERT-BiGRU模型在UMLS+ownthink中文數(shù)據(jù)集取得了最優(yōu)的指標(biāo)效果。具體分析如下:
(1)在MR指標(biāo)上,MpBERT-BiGRU模型相較于第二名KG-BERT模型提高了10.39(提升了21.07%),相較于第三名TransH模型更是提高了808.55(提升了95.41%),而KG-BERT模型相較于第三名TransH模型也提升了798.16(提升了94.18%),說明在模型的平均性能上,預(yù)訓(xùn)練語言模型提升十分明顯,這得益于預(yù)訓(xùn)練語言模型獨特的訓(xùn)練機制和融入的實體知識信息;在Hit@10、Hit@3和Hit@1指標(biāo)上,MpBERT-BiGRU模型相較于第二名KG-BERT模型,分別提高了4.63百分點(提升了8.13%)、4.77百分點(提升了10.48%)、4.2百分點(提升了11.37%),這說明在預(yù)測目標(biāo)三元組時,MpBERT-BiGRU模型都有更大幾率預(yù)測正確;這說明了該模型利用BERT模型結(jié)合平均池化策略和BiGRU的方法相比較原始BERT補全模型,取得了一定進步;
(2)DistMult模型和ComplEx模型采用雙線性乘法運算,比較依賴實體相似性特征,因此在應(yīng)對UMLS+ownthink這種多實體少關(guān)系的稀疏圖譜時,難以發(fā)揮其優(yōu)勢,在MR和Hit@10上表現(xiàn)并不突出,不過在Hit@1上表現(xiàn)良好;
(3)Trans系列模型相較于DistMult模型和ComplEx模型,采用了向量平移方法,針對稀疏圖譜時可以捕捉實體信息,有效地進行實體和關(guān)系建模,因此在中文數(shù)據(jù)集上的Hit@10的指標(biāo)比DistMult模型和ComplEx模型都好,尤其是TransH模型根據(jù)不同的關(guān)系構(gòu)建對應(yīng)的超平面,將三元組映射到不同超平面上,在關(guān)系較少時,可以有效建模三元組。不過,Trans系列模型在Hit@1指標(biāo)上表現(xiàn)不佳,說明了Trans系列模型在面對較多候選實體時,難以做出準確預(yù)測,模型有一定局限性。
3.6.1 池化策略對比
表3 BERT池化策略對比實驗結(jié)果
表4 BERT-BiGRU池化策略對比實驗結(jié)果
(25)
(26)
實驗結(jié)果表明,無論是否有BiGRU模塊,平均池化策略在MR、Hit@3、Hit@1指標(biāo)上都有所提高,具體分析如下:
(1)不疊加BiGRU的BERT模型在采用平均池化策略后(即MpBERT模型),在MR指標(biāo)上相比第二名提高了0.32,基本持平,不過在Hit@3和Hit@1指標(biāo)上相比第二名分別提高1.04百分點和2.85百分點,說明平均池化策略有助于BERT模型預(yù)測出正確三元組;
(2)疊加了BiGRU的BERT模型在采用平均池化策略后(即MpBERT-BiGRU模型),在MR、Hit@3和Hit@1指標(biāo)上相比第二名分別提高了1.0、1.65百分點和0.28百分點,說明平均池化策略的有效性,總體上改善了模型對三元組序列的表征能力,提升了鏈接預(yù)測的實驗效果。
3.6.2 特征增強策略對比
為了驗證BiGRU網(wǎng)絡(luò)增強特征的有效性,對BERT疊加不同的神經(jīng)網(wǎng)絡(luò)模型(BERT-RNN、BERT-BiLSTM、BERT-BiGRU)進行鏈接預(yù)測對比實驗,并舍棄平均池化策略以排除其影響,鏈接預(yù)測實驗結(jié)果如表5所示。同時,為了驗證GRU運行效率比LSTM更高,設(shè)置不同訓(xùn)練批次,對比了BERT-BiGRU模型與BERT-BiLSTM模型實驗時長,如圖6所示。
表5 不同神經(jīng)網(wǎng)絡(luò)模塊實驗結(jié)果
圖6 不同神經(jīng)網(wǎng)絡(luò)模塊實驗時長
實驗表明,BiGRU網(wǎng)絡(luò)在實驗效果和運行時間方面都取得了良好的效果,具體分析如下:
(1)BERT-BiGRU模型相較于無BiGRU網(wǎng)絡(luò)的BERT模型,MR提高7.71,Hit@10提高3.87百分點,Hit@3提高1.9百分點,Hit@1提高0.82百分點,說明了疊加了BiGRU網(wǎng)絡(luò)的BERT模型在總體性能上有所提高,BiGRU網(wǎng)絡(luò)有助于BERT預(yù)測正確實體,提高了知識補全效率;
(2)BERT-BiGRU模型除了在Hit@1指標(biāo)略低于BERT-BiLSTM模型外,MR、Hit@10和Hit@3指標(biāo)相比于BERT-BiLSTM模型分別提高了12.75、3.75百分點和1.06百分點,而BERT-RNN模型在各項指標(biāo)上都不如BERT-BiGRU模型,在Hit@10、Hit@3和Hit@1指標(biāo)上甚至不如原BERT模型,說明了在鏈接預(yù)測任務(wù)中,BiGRU網(wǎng)絡(luò)相較于RNN或BiLSTM網(wǎng)絡(luò)更加有效;
(3)不同神經(jīng)網(wǎng)絡(luò)模塊的實驗時長顯示,BERT-BiGRU模型相較于BERT-BiLSTM模型,在各個訓(xùn)練批次數(shù)下都具有更快的運行速度,訓(xùn)練用時較少,證明了BiGRU模塊較BiLSTM模塊效率更高;
(4)對比表3和表4可知,采用不同池化策略的模型在疊加了BiGRU模塊之后,在各個指標(biāo)上都有一定提升,其中MpBERT-BiGRU模型相比MpBERT模型在4種指標(biāo)上分別提升了10.07、5.65百分點、3.3百分點和1.35百分點,說明BiGRU網(wǎng)絡(luò)是有效的,有助于模型預(yù)測正確的實體,改善模型的補全效果。
針對傳統(tǒng)BERT知識補全模型表征能力不足、字詞位置信息學(xué)習(xí)能力不足的問題,以及中文文本易特征重疊堆積、依賴字詞間位置關(guān)系的特點,提出名為MpBERT-BiGRU的中文知識圖譜補全模型,采用平均池化策略,緩解了傳統(tǒng)BERT模型將[CLS]標(biāo)簽輸出值作為表征向量,序列表征能力不足的問題,以及中文文本特征相似重合的問題,并且疊加BiGRU網(wǎng)絡(luò),充分學(xué)習(xí)中文文本字詞間位置關(guān)系,緩解BERT模型并行運算帶來的弱化位置信息的負面影響;同時模型將三元組轉(zhuǎn)化為文本序列,注入實體描述信息作為模型輸入,賦予實體具體的背景語義信息,疊加線性分類層,將知識補全任務(wù)看作句子分類任務(wù),利用預(yù)訓(xùn)練語言模型優(yōu)勢,克服傳統(tǒng)方法忽視語義特征的缺點,并使用少量標(biāo)記數(shù)據(jù)進行微調(diào)模型,減少數(shù)據(jù)收集處理成本和模型訓(xùn)練成本。
為了驗證方法在中文語料庫的性能,構(gòu)建了UMLS+ownthink中文數(shù)據(jù)集,并在此語料庫上完成鏈接預(yù)測實驗和對應(yīng)消融實驗。結(jié)果表明,MpBERT-BiGRU模型性能相較于以往方法有一定提升,平均池化策略和BiGRU網(wǎng)絡(luò)具有一定合理性,驗證了MpBERT-BiGRU模型在中文語料庫上的知識補全是有效的。
未來研究方向應(yīng)包含如下幾點:采用更適合的預(yù)訓(xùn)練語言模型替代BERT模型;針對Hit系列指標(biāo)不突出問題,采用更適合的池化策略,或考慮如何更好地融入實體間關(guān)系特征;該文研究的是靜態(tài)知識圖譜補全,下一步應(yīng)研究如何運用到動態(tài)知識圖譜補全領(lǐng)域。