丁建立,蘇偉
(中國(guó)民航大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,天津 300300)
在“互聯(lián)網(wǎng)+”時(shí)代,如何高效地組織信息以方便人們獲取和使用,成為眾多學(xué)者研究的課題。2012年,谷歌針對(duì)其搜索引擎優(yōu)化提出了用于語(yǔ)義搜索的知識(shí)圖譜,該技術(shù)常用于多源異構(gòu)的數(shù)據(jù)融合,可為用戶(hù)在海量信息中提供快速、準(zhǔn)確的語(yǔ)義關(guān)聯(lián)信息。作為知識(shí)圖譜的基本組成單元,實(shí)體關(guān)系三元組的主要獲取方式包括基于傳統(tǒng)機(jī)器學(xué)習(xí)和基于深度學(xué)習(xí)的實(shí)體關(guān)系抽取?;趥鹘y(tǒng)機(jī)器學(xué)習(xí)的實(shí)體關(guān)系抽取模型由于其前期需要人工設(shè)計(jì)特征與核函數(shù),具有主觀性強(qiáng)且工作量大的缺點(diǎn),已逐漸被深度學(xué)習(xí)模型所取代。
依據(jù)實(shí)體和關(guān)系類(lèi)型是否預(yù)定義,基于深度學(xué)習(xí)的實(shí)體關(guān)系抽取方法分為特定領(lǐng)域的實(shí)體關(guān)系抽取和開(kāi)放領(lǐng)域的實(shí)體關(guān)系抽取。開(kāi)放領(lǐng)域的實(shí)體關(guān)系抽取雖然不需要領(lǐng)域?qū)<襾?lái)預(yù)定義實(shí)體與關(guān)系類(lèi)型,但需要應(yīng)對(duì)自然語(yǔ)言中多種多樣的實(shí)體和關(guān)系,且提取到的實(shí)體和關(guān)系還需進(jìn)行預(yù)處理才能應(yīng)用到下游任務(wù)。因此,特定領(lǐng)域的實(shí)體關(guān)系抽取仍然是目前主流的方法。早期特定領(lǐng)域的實(shí)體關(guān)系抽取會(huì)將實(shí)體識(shí)別與關(guān)系抽取作為兩個(gè)子任務(wù)分開(kāi)進(jìn)行,也被稱(chēng)為流水線型的實(shí)體關(guān)系抽取。目前,基于該思想的實(shí)體關(guān)系抽取已經(jīng)取得了較多成果[1-8]。但隨著實(shí)體關(guān)系抽取問(wèn)題被廣泛關(guān)注,有學(xué)者發(fā)現(xiàn)流水線型的實(shí)體關(guān)系抽取會(huì)導(dǎo)致誤差傳播且子任務(wù)間的特征難以交互的問(wèn)題。因此,基于聯(lián)合學(xué)習(xí)思想的實(shí)體關(guān)系抽取被提出。文獻(xiàn)[9-10]通過(guò)共享編碼特征的方式,將實(shí)體關(guān)系抽取轉(zhuǎn)換成序列標(biāo)注問(wèn)題;文獻(xiàn)[11]將經(jīng)典的機(jī)器翻譯模型與注意力機(jī)制相結(jié)合,將預(yù)定義關(guān)系作為查詢(xún)向量,引導(dǎo)模型進(jìn)行對(duì)應(yīng)關(guān)系實(shí)體對(duì)的抽取。
然而,以上實(shí)體關(guān)系聯(lián)合抽取模型都將實(shí)體關(guān)系的聯(lián)合抽取作為一個(gè)多分類(lèi)問(wèn)題,導(dǎo)致模型結(jié)構(gòu)復(fù)雜,難以得到較高的準(zhǔn)確率。文獻(xiàn)[12]提出基于二分類(lèi)級(jí)聯(lián)關(guān)系抽取的CasRel 模型,并成功刷新了眾多關(guān)系抽取數(shù)據(jù)集的榜單。但是,CasRel 模型存在4 個(gè)問(wèn)題:①基于WordPiece 分詞后的詞片段序列在一定程度上模糊了詞的邊界信息;②采用主語(yǔ)在句中的開(kāi)始位置向量和結(jié)束位置向量的均值作為主語(yǔ)特征向量,引入了噪聲,影響特征分布;③采用主語(yǔ)特征向量與句子編碼向量求和作為融合主語(yǔ)特征的句子編碼向量(同問(wèn)題②);④關(guān)系賓語(yǔ)預(yù)測(cè)時(shí),沒(méi)有考慮首尾位置預(yù)測(cè)任務(wù)中可能存在的交互信息。針對(duì)以上問(wèn)題,提出基于預(yù)訓(xùn)練的BERT(bidirectional encoder representation from transformers)與CNN(convolutional neural network)編碼特征融合的實(shí)體關(guān)系聯(lián)合抽取方法,主要工作如下:
(1)在特征編碼層,采用BERT-CNN 模型來(lái)替代BERT 模型對(duì)輸入的詞片段序列進(jìn)行編碼;
(2)替代CasRel 模型的均值特征融合,采用主語(yǔ)在句中的開(kāi)始位置向量與結(jié)束位置向量乘積作為主語(yǔ)特征向量;
(3)替代CasRel 模型中求和方式的特征融合,采用主語(yǔ)特征向量與句子編碼向量乘積作為融合主語(yǔ)特征的句子編碼向量;
(4)為了增加預(yù)測(cè)關(guān)系賓語(yǔ)首尾位置信息的交互性,用一個(gè)全連接神經(jīng)網(wǎng)絡(luò)來(lái)同時(shí)預(yù)測(cè)其首尾位置信息。
為更好地利用實(shí)體識(shí)別與關(guān)系抽取子任務(wù)之間的交互信息,鑒于二分類(lèi)任務(wù)在多個(gè)領(lǐng)域中的優(yōu)秀表現(xiàn),提出基于BERT-CNN 編碼特征融合的實(shí)體關(guān)系聯(lián)合抽取方法。接下來(lái),將從模型結(jié)構(gòu)與模型算法描述兩方面進(jìn)行介紹。
首先是模型結(jié)構(gòu),圖1 詳細(xì)展示了模型內(nèi)部結(jié)構(gòu)及數(shù)據(jù)的轉(zhuǎn)換流程。
圖1 模型框架圖Fig.1 Frame diagram of model
依據(jù)數(shù)據(jù)處理流程,模型可分為以下5 個(gè)部分。
1)輸入層
該層負(fù)責(zé)將輸入句子通過(guò)WordPiece[13]算法轉(zhuǎn)換為詞片段序列。
2)特征編碼層
該層負(fù)責(zé)對(duì)輸入的詞片段序列進(jìn)行特征編碼。區(qū)別于基礎(chǔ)模型,本層的特征編碼包含兩個(gè)部分:①通過(guò)預(yù)訓(xùn)練的BERT 對(duì)輸入內(nèi)容提取上下文信息;②基于BERT 編碼后的上下文特征,采用多個(gè)卷積神經(jīng)網(wǎng)絡(luò)過(guò)濾詞邊界信息。最后,將兩部分特征拼接得到句子編碼向量。
3)主語(yǔ)預(yù)測(cè)層
該層用于預(yù)測(cè)實(shí)體關(guān)系三元組的頭部實(shí)體。其通過(guò)兩個(gè)全連接神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)主語(yǔ)的開(kāi)始與結(jié)束位置。
4)特征融合層
該層負(fù)責(zé)對(duì)不同的特征向量進(jìn)行特征組合,包含兩個(gè)階段:①通過(guò)預(yù)測(cè)的主語(yǔ)開(kāi)始位置和結(jié)束位置在句子編碼向量中索引得到主語(yǔ)開(kāi)始向量和主語(yǔ)結(jié)束向量,對(duì)其進(jìn)行特征組合得到主語(yǔ)特征向量;②通過(guò)對(duì)主語(yǔ)特征向量與句子編碼向量進(jìn)行特征組合,得到融合主語(yǔ)特征的句子編碼向量。不同于基礎(chǔ)模型,本模型為了保留更多基礎(chǔ)向量特征,在兩個(gè)階段均采用乘積方式來(lái)進(jìn)行特征融合。
5)關(guān)系賓語(yǔ)預(yù)測(cè)層
該層負(fù)責(zé)預(yù)測(cè)不同關(guān)系下對(duì)應(yīng)賓語(yǔ)的首尾位置。不同于CasRel 模型,本層在預(yù)測(cè)關(guān)系賓語(yǔ)位置時(shí),采用一個(gè)全連接神經(jīng)網(wǎng)絡(luò)來(lái)同時(shí)預(yù)測(cè)其首尾位置,加強(qiáng)了首尾位置任務(wù)間的信息交互。
模型的算法描述如下:
(1)模型的輸入為包含待抽取實(shí)體關(guān)系三元組句子的詞片段嵌入向量s 及其對(duì)應(yīng)的標(biāo)簽(包括目標(biāo)實(shí)體關(guān)系三元組的頭部實(shí)體、尾部實(shí)體在詞片段序列中的位置以及實(shí)體關(guān)系三元組對(duì)應(yīng)關(guān)系的索引);
(2)在特征編碼層,采用預(yù)訓(xùn)練模型BERT 對(duì)詞片段嵌入向量s 進(jìn)行編碼得到融合上下文語(yǔ)義信息的特征向量t1,再使用3 個(gè)不同卷積核大小的CNN 來(lái)對(duì)t1進(jìn)行一維卷積得到融合詞邊界信息的特征向量c1、c2、c3,然后將t1、c1、c2、c3進(jìn)行向量拼接得到同時(shí)融合上下文信息和詞邊界信息的句子編碼向量t2;
(3)主語(yǔ)預(yù)測(cè)層將句子編碼向量t2輸入到兩個(gè)獨(dú)立的全連接神經(jīng)網(wǎng)絡(luò)FCLayer 中去預(yù)測(cè)主語(yǔ)在詞片段中的開(kāi)始位置h1和結(jié)束位置h2;
(4)特征融合層通過(guò)h1和h2索引其在t2對(duì)應(yīng)位置的字編碼特征向量Shead與Stail,然后采用乘積方式的特征融合得到主語(yǔ)特征向量Ssub;
(5)在得到主語(yǔ)特征向量Ssub后,特征融合層將其與BERT-CNN 網(wǎng)絡(luò)編碼后的句子向量t2采用乘積方式的特征融合得到融合主語(yǔ)特征的句子編碼特征向量Vsub;
(6)關(guān)系賓語(yǔ)預(yù)測(cè)層將Vsub輸入到一個(gè)全連接神經(jīng)網(wǎng)絡(luò)FCLayer 中來(lái)同時(shí)預(yù)測(cè)不同關(guān)系所對(duì)應(yīng)賓語(yǔ)在句子中可能的開(kāi)始位置o1和結(jié)束位置o2,最終得到目標(biāo)關(guān)系三元組。
預(yù)訓(xùn)練語(yǔ)言模型BERT 是谷歌團(tuán)隊(duì)在2018 年提出的基于雙向Transformer[13]的雙向編碼表示模型。不同于其他預(yù)訓(xùn)練模型,該模型憑借基于多頭注意力機(jī)制的Transformer,在大規(guī)模語(yǔ)料庫(kù)預(yù)訓(xùn)練下,能夠較完整地獲取句子的上下文信息特征并支持下游諸多NLP(natural language processing)任務(wù)的微調(diào),極大地提升了NLP 領(lǐng)域中諸多任務(wù)的表現(xiàn)效果。預(yù)訓(xùn)練BERT模型的輸入由以下3 部分組成。
(1)WordPiece Embedding:輸入句子經(jīng)WordPiece算法分詞后的詞片段嵌入向量s。
(2)Position Embedding:詞片段嵌入向量s 中各詞片段在句中的位置編碼向量Q。
(3)Segment Embedding:用于區(qū)別不同句子的標(biāo)志向量Eseg。
設(shè)BERT 的subword 詞表大小為Nv,詞嵌入維度為Ne,輸入句子最大長(zhǎng)度為NBert_max_len,詞嵌入獨(dú)熱編碼矩陣為Eone-hot-s,位置嵌入獨(dú)熱編碼矩陣為Eone-hot-p,維度分別為(Nv,Ne)與(NBert_max_len,Ne),則BERT 輸入序列x 和BERT 編碼句子向量t1計(jì)算過(guò)程如下
然而,BERT 中WordPiece 嵌入會(huì)使得句子編碼中詞的界限模糊,對(duì)BERT 編碼的句子向量主語(yǔ)首尾位置預(yù)測(cè)構(gòu)成干擾。為避免該現(xiàn)象,將BERT 編碼后的句子向量t1輸入到不同卷積核大小的CNN 網(wǎng)絡(luò)中,在句子維度進(jìn)行一維卷積以增加詞邊界信息得到t2。其中,卷積神經(jīng)網(wǎng)絡(luò)的卷積核大小分別為1、3、5,卷積核數(shù)量均為64,該部分模型結(jié)構(gòu)如圖2 所示。
圖2 特征編碼層Fig.2 Feature coding layer
為獲得更好的主語(yǔ)特征向量,基于BERT-CNN 編碼特征預(yù)測(cè)得到了實(shí)體關(guān)系三元組中頭部實(shí)體的開(kāi)始位置h1和結(jié)束位置h2,再根據(jù)預(yù)測(cè)得到的開(kāi)始位置h1和結(jié)束位置h2來(lái)索引BERT-CNN 編碼特征向量對(duì)應(yīng)位置的向量Shead與Stail,對(duì)二者進(jìn)行特征融合以表示主語(yǔ)特征向量Ssub,為關(guān)系賓語(yǔ)預(yù)測(cè)任務(wù)提供導(dǎo)向。針對(duì)該層,通過(guò)采用均值、乘積、差值、求和4 種不同方式的特征融合進(jìn)行對(duì)比試驗(yàn),最終選用乘積方式作為本模型中主語(yǔ)首尾向量的特征融合方式。
為了在預(yù)測(cè)關(guān)系對(duì)應(yīng)的尾部實(shí)體位置時(shí)能夠考慮到主語(yǔ)特征,模型將句子編碼向量t2與預(yù)測(cè)主語(yǔ)特征向量Ssub進(jìn)行融合得到融合主語(yǔ)特征的句子編碼向量Vsub。針對(duì)該部分,設(shè)置了基于注意力機(jī)制、求和與乘積方式的特征融合對(duì)比試驗(yàn),并最終選用乘積方式來(lái)融合特征。
本模型將實(shí)體關(guān)系抽取任務(wù)視為一個(gè)基于句子編碼特征識(shí)別主語(yǔ)和關(guān)系賓語(yǔ)位置信息的二分類(lèi)任務(wù),主語(yǔ)預(yù)測(cè)層和關(guān)系賓語(yǔ)預(yù)測(cè)層均采用全連接神經(jīng)網(wǎng)絡(luò)FCLayer 與激活函數(shù)Sigmod 來(lái)預(yù)測(cè)其對(duì)應(yīng)的位置信息。在主語(yǔ)(關(guān)系賓語(yǔ))的實(shí)體開(kāi)始位置(結(jié)束位置)預(yù)測(cè)任務(wù)中,全連接神經(jīng)網(wǎng)絡(luò)將輸出與句子長(zhǎng)度相同的預(yù)測(cè)序列,默認(rèn)預(yù)測(cè)序列中的概率值大于等于0.5 為1、小于0.5 為0,其中1 的位置表示該位置是頭實(shí)體(尾實(shí)體)的開(kāi)始位置(結(jié)束位置)。頭實(shí)體與關(guān)系賓語(yǔ)位置預(yù)測(cè)公式如下
由于考慮到預(yù)測(cè)主語(yǔ)和關(guān)系賓語(yǔ)的首尾位置時(shí),預(yù)測(cè)的主語(yǔ)(關(guān)系賓語(yǔ))開(kāi)始位置可能會(huì)影響到其結(jié)尾位置信息的預(yù)測(cè),因此,該部分使用一個(gè)激活函數(shù)為Sigmod 的全連接神經(jīng)網(wǎng)絡(luò)來(lái)同時(shí)預(yù)測(cè)主語(yǔ)(關(guān)系賓語(yǔ))的開(kāi)始和結(jié)束位置。
文中使用的數(shù)據(jù)集是實(shí)體關(guān)系抽取任務(wù)的公共數(shù)據(jù)集NYT 與WebNLG。兩個(gè)數(shù)據(jù)集中的實(shí)體關(guān)系三元組根據(jù)不同關(guān)系中是否共用頭實(shí)體(尾實(shí)體)、同時(shí)共用頭尾實(shí)體以及沒(méi)有共用頭尾實(shí)體分為SEO(single entity overlap)、EPO(entity pair overlap)、Normal 3 種類(lèi)型,數(shù)據(jù)集所包含的訓(xùn)練集、測(cè)試集個(gè)數(shù)[14]如表1所示。
表1 數(shù)據(jù)集介紹Tab.1 Introduction of dataset
為了便于與其他實(shí)體關(guān)系抽取模型進(jìn)行性能對(duì)比,采用常見(jiàn)的評(píng)價(jià)指標(biāo),分別是準(zhǔn)確率P、召回率R以及F1值,計(jì)算公式如下
式中:TP 表示預(yù)測(cè)的實(shí)體關(guān)系三元組中主語(yǔ)、關(guān)系及其對(duì)應(yīng)的賓語(yǔ)同時(shí)被預(yù)測(cè)正確的個(gè)數(shù);FP 表示預(yù)測(cè)的實(shí)體關(guān)系三元組中的主語(yǔ)、關(guān)系及其對(duì)應(yīng)的賓語(yǔ)至少有1 個(gè)預(yù)測(cè)錯(cuò)誤的個(gè)數(shù);FN 表示目標(biāo)實(shí)體關(guān)系三元組中未被模型正確預(yù)測(cè)到的個(gè)數(shù)。模型實(shí)際預(yù)測(cè)到的實(shí)體關(guān)系三元組數(shù)量為T(mén)P 與FP 之和,目標(biāo)實(shí)體關(guān)系三元組數(shù)量為T(mén)P 與FN 之和。
模型針對(duì)內(nèi)部各部分均嘗試進(jìn)行了優(yōu)化實(shí)驗(yàn)。
模型實(shí)驗(yàn)的硬件環(huán)境:CPU 為i7-9750h;內(nèi)存為頻率2666MHz 的兩條8G,共16G;GPU 為1660Ti-MaxQ;軟件環(huán)境為Python3.7,PyCharm 編譯器等。
在模型參數(shù)設(shè)置上,由于NYT 數(shù)據(jù)集較大導(dǎo)致模型訓(xùn)練時(shí)間相對(duì)較長(zhǎng),文中各部分的對(duì)比實(shí)驗(yàn)結(jié)果均基于WebNLG 數(shù)據(jù)集的驗(yàn)證集得到,實(shí)驗(yàn)參數(shù)設(shè)置如表2 所示。其中:Batch_size 表示一次訓(xùn)練包含的樣本數(shù)量;Max_len 表示句子輸入模型的最大長(zhǎng)度;Learning rate 表示深度學(xué)習(xí)模型中調(diào)整各參數(shù)的初始比例;Drop-out rate 表示每次訓(xùn)練過(guò)程中不參加的神經(jīng)元比例;Patience 表示在Early Stopping(早停,在過(guò)擬合之前提前終止訓(xùn)練)機(jī)制中,允許模型在優(yōu)化器作用下找到更優(yōu)解所能容忍的最大Epoch 個(gè)數(shù);Optimizer 表示深度學(xué)習(xí)模型使用的優(yōu)化器算法。
表2 實(shí)驗(yàn)參數(shù)設(shè)置Tab.2 Experimental parameter setting
3.2.1 模型內(nèi)部對(duì)比實(shí)驗(yàn)
模型內(nèi)部對(duì)比實(shí)驗(yàn)是針對(duì)每層設(shè)置的不同對(duì)比實(shí)驗(yàn),除對(duì)比實(shí)驗(yàn)層外,其余層結(jié)構(gòu)與CasRel 模型結(jié)構(gòu)一致。
1)特征編碼層對(duì)比實(shí)驗(yàn)
針對(duì)該層,考慮到WordPiece 分詞會(huì)將1 個(gè)詞分為多個(gè)子詞的情況,使用3 個(gè)不同卷積核大小的卷積神經(jīng)網(wǎng)絡(luò)在WordPiece 分詞后的句子編碼特征序列上進(jìn)行一維卷積,得到c1、c2和c3,設(shè)卷積神經(jīng)網(wǎng)絡(luò)的卷積核個(gè)數(shù)為Filter_num,3 個(gè)特征向量的維度均為(Batch_size,Max_len,Filter_num)。針對(duì)卷積神經(jīng)網(wǎng)絡(luò)中不同卷積核大小與卷積核數(shù)量進(jìn)行了對(duì)比實(shí)驗(yàn),對(duì)比實(shí)驗(yàn)結(jié)果如表3 所示。實(shí)驗(yàn)序號(hào)5 為基于BERT 編碼的句子特征向量用于實(shí)體關(guān)系抽取。
表3 特征編碼層對(duì)比實(shí)驗(yàn)Tab.3 Comparison experiment for feature coding layer
由表3 可以看出,基于BERT-CNN 編碼的句子特征向量?jī)?yōu)于單純使用BERT 編碼的句子特征向量,擁有更豐富的表征能力。此外,卷積神經(jīng)網(wǎng)絡(luò)的卷積核數(shù)與卷積核大小均對(duì)三元組抽取效果有影響,卷積核數(shù)量為(1,3,5),卷積核數(shù)量為64 在模型中獲得更好的抽取效果。
2)主語(yǔ)預(yù)測(cè)層對(duì)比實(shí)驗(yàn)
由于在基于特征編碼向量預(yù)測(cè)主語(yǔ)首尾位置任務(wù)中,預(yù)測(cè)的主語(yǔ)開(kāi)始位置與主語(yǔ)結(jié)束位置可能會(huì)存在交互信息,針對(duì)是否使用同一神經(jīng)網(wǎng)絡(luò)來(lái)同時(shí)預(yù)測(cè)主語(yǔ)的首尾位置設(shè)置了對(duì)比實(shí)驗(yàn)。實(shí)驗(yàn)結(jié)果如表4所示。
表4 主語(yǔ)預(yù)測(cè)層對(duì)比實(shí)驗(yàn)Tab.4 Comparison experiment for subject prediction layer
通過(guò)表4 可以看到,主語(yǔ)預(yù)測(cè)層使用兩個(gè)獨(dú)立的神經(jīng)網(wǎng)絡(luò)仍然優(yōu)于使用一個(gè)神經(jīng)網(wǎng)絡(luò),這表明使用同一個(gè)神經(jīng)網(wǎng)絡(luò)同時(shí)預(yù)測(cè)主語(yǔ)的開(kāi)始和結(jié)束位置時(shí)存在干擾的情況,兩個(gè)獨(dú)立的神經(jīng)網(wǎng)絡(luò)能學(xué)習(xí)到更優(yōu)的特征表示。
3)特征融合層對(duì)比實(shí)驗(yàn)
由于采用均值與求和方式的特征融合可能會(huì)對(duì)融合前特征產(chǎn)生負(fù)面影響,本研究嘗試采用了其他方式的特征融合并設(shè)置對(duì)比實(shí)驗(yàn)。對(duì)比實(shí)驗(yàn)分為兩個(gè),分別是:①預(yù)測(cè)主語(yǔ)首尾向量的特征融合;②主語(yǔ)特征向量與句子編碼向量的特征融合。在第2 個(gè)實(shí)驗(yàn)中,由于使用注意力機(jī)制來(lái)調(diào)整句子編碼向量的結(jié)果較差,沒(méi)有列入實(shí)驗(yàn)表格中。實(shí)驗(yàn)結(jié)果如表5 和表6 所示。
表5 主語(yǔ)首尾向量特征融合Tab.5 Feature fusion of head and tail vectors of the subject
表6 主語(yǔ)特征向量與句子編碼向量特征融合Tab.6 Feature fusion of subject vector and sentence vector
通過(guò)對(duì)比表5 與表6 的實(shí)驗(yàn)結(jié)果,在主語(yǔ)首尾向量特征融合和主語(yǔ)特征向量與句子編碼向量特征融合過(guò)程中,采用乘積方式能夠高效捕捉到更有價(jià)值的信息,得到更好的融合向量。這是由于:①預(yù)訓(xùn)練語(yǔ)言模型BERT 由多個(gè)Transformer 組成,而每個(gè)Transformer 都包含Layer Normalizaiton層,其可以保證經(jīng)過(guò)BERT 編碼得到的融合上下文信息的字向量服從標(biāo)準(zhǔn)正態(tài)分布,因此Shead與Stail服從獨(dú)立的標(biāo)準(zhǔn)正態(tài)分布,而其采用乘積方式融合依然可以保證特征向量服從標(biāo)準(zhǔn)正態(tài)分布,更易尋找到最優(yōu)解;②乘積方式的特征融合更能體現(xiàn)原有特征之間的相關(guān)程度,如兩對(duì)特征向量值分別為(0.9,0.1)與(0.5,0.5)時(shí),在求和與均值方式的特征融合時(shí),特征值融合后均表現(xiàn)等于1 與0.5,導(dǎo)致其之間的差異性被忽略;而在差值方式的特征融合時(shí),融合后的特征值表現(xiàn)為0.8 與0,雖然從結(jié)果上看保留了原有特征之間的差異,但是特征值為0的概率增大,容易出現(xiàn)特征消失的情況;但是,在乘積方式的特征融合中,特征融合后表現(xiàn)為0.09 與0.25,不但保留了原有特征值之間的差異,還降低了特征值為0 時(shí)導(dǎo)致的特征消失情況發(fā)生。因此,采用乘積方式的特征融合更能保留原有特征之間的相關(guān)程度。
4)關(guān)系賓語(yǔ)預(yù)測(cè)層對(duì)比實(shí)驗(yàn)
由于該層任務(wù)和主語(yǔ)預(yù)測(cè)層任務(wù)相似,以是否使用同一神經(jīng)網(wǎng)絡(luò)來(lái)預(yù)測(cè)其開(kāi)始和結(jié)束位置設(shè)置了對(duì)比實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果如表7 所示。
表7 關(guān)系賓語(yǔ)預(yù)測(cè)層對(duì)比實(shí)驗(yàn)Tab.7 Comparison experiment for relative object prediction layer
通過(guò)對(duì)表7 結(jié)果分析,在關(guān)系賓語(yǔ)首尾位置預(yù)測(cè)任務(wù)中預(yù)測(cè)關(guān)系賓語(yǔ)的開(kāi)始位置與結(jié)束位置并不是相互獨(dú)立的,存在交互信息,使用同一個(gè)神經(jīng)網(wǎng)絡(luò)更能捕捉關(guān)系賓語(yǔ)首尾的位置特征。
3.2.2 模型性能對(duì)比
根據(jù)上述各層的對(duì)比實(shí)驗(yàn),確定最優(yōu)模型結(jié)構(gòu)如下。
特征編碼層:使用基于BERT-CNN 的網(wǎng)絡(luò)來(lái)進(jìn)行特征編碼,CNN 的卷積核個(gè)數(shù)為64,卷積核大小分別為1、3、5。
主語(yǔ)預(yù)測(cè)層:使用兩個(gè)獨(dú)立的全連接神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)主語(yǔ)的開(kāi)始和結(jié)束位置。
特征融合層:兩次特征融合均采用乘積方式。
關(guān)系賓語(yǔ)預(yù)測(cè)層:使用一個(gè)全連接神經(jīng)網(wǎng)絡(luò)來(lái)同時(shí)預(yù)測(cè)關(guān)系賓語(yǔ)對(duì)應(yīng)的開(kāi)始和結(jié)束位置。
模型對(duì)比目前WebNLG 數(shù)據(jù)集上表現(xiàn)最好的實(shí)體關(guān)系抽取模型GraphRel[15]、CopyRRL[14]、CasRel[12]、TPLinker-BERT[16],其表現(xiàn)結(jié)果如表8 所示。
表8 模型對(duì)比實(shí)驗(yàn)Tab.8 Model comparison experiment
由表8 可以看出,本文方法在NYT 與WebNLG兩個(gè)數(shù)據(jù)集上的綜合評(píng)估指標(biāo)F1分別達(dá)到了92.75%與93.19%,比基線模型CasRel 分別高3.15 個(gè)百分點(diǎn)與1.39 個(gè)百分點(diǎn),并且對(duì)比同數(shù)據(jù)集上的其他最新模型,在準(zhǔn)確率、召回率和F1值上均表現(xiàn)更優(yōu),更能勝任實(shí)體關(guān)系聯(lián)合抽取任務(wù),具有一定的實(shí)用價(jià)值。
基于二分類(lèi)任務(wù)在各領(lǐng)域中的優(yōu)秀表現(xiàn),提出基于BERT-CNN 編碼特征融合的實(shí)體關(guān)系聯(lián)合抽取方法:①基于BERT-CNN 網(wǎng)絡(luò)編碼輸入句子的特征向量;②采用乘積方式來(lái)融合預(yù)測(cè)主語(yǔ)的首尾特征向量,再將融合的主語(yǔ)特征向量與句子編碼向量使用乘積方式進(jìn)行融合得到帶有主語(yǔ)特征的句子編碼向量;③使用一個(gè)全連接神經(jīng)網(wǎng)絡(luò)來(lái)充分利用關(guān)系賓語(yǔ)首尾位置預(yù)測(cè)中的交互信息。在CasRel 模型基礎(chǔ)上進(jìn)行了各層的不同實(shí)驗(yàn)對(duì)比,經(jīng)過(guò)實(shí)驗(yàn)數(shù)據(jù)對(duì)比可知,本文方法在NYT 和WebNLG 數(shù)據(jù)集上表現(xiàn)效果優(yōu)于當(dāng)前最新模型,F(xiàn)1值分別達(dá)到了92.75%與93.19%。
實(shí)體關(guān)系抽取任務(wù)本質(zhì)上是服務(wù)于知識(shí)圖譜內(nèi)容的構(gòu)建。目前,本文方法雖然在關(guān)系抽取方面的多個(gè)數(shù)據(jù)集上表現(xiàn)突出,但由于其提取的實(shí)體必須在原句中存在,對(duì)數(shù)據(jù)集要求較高。因此,考慮在未來(lái)的研究中將風(fēng)格翻譯作為一個(gè)突破點(diǎn),解耦算法對(duì)數(shù)據(jù)格式的依賴(lài)。