姚博文,曾碧卿,蔡 劍,丁美榮
(華南師范大學(xué)軟件學(xué)院,廣東佛山 528225)
(?通信作者電子郵箱15797680180@163.com)
關(guān)系抽?。≧elation Extraction)是自然語言處理(Natural Language Processing,NLP)的熱點(diǎn)研究方向之一,該任務(wù)的目的是判斷自然語言文本中兩個(gè)實(shí)體之間的潛在語義關(guān)系,比如從句子“[華盛頓]是[美國]的首都”中,可以從兩個(gè)實(shí)體[華盛頓]和[美國]抽取出特定關(guān)系事實(shí),獲得關(guān)系三元組〈華盛頓,首都,美國〉。目前的大型知識庫Freebase、DBpedia 以及國內(nèi)的百度百科等,都存儲了大量的關(guān)系事實(shí)三元組,但距離反映現(xiàn)實(shí)世界中的所有關(guān)系還遠(yuǎn)遠(yuǎn)不夠。而關(guān)系抽取能夠從非結(jié)構(gòu)化文本提取關(guān)系事實(shí)三元組,達(dá)到擴(kuò)充知識庫中關(guān)系事實(shí)數(shù)量的目的,對知識圖譜的構(gòu)建與補(bǔ)全起到重要的推動作用。
關(guān)系抽取主要包括基于模式匹配、基于傳統(tǒng)機(jī)器學(xué)習(xí)和基于深度學(xué)習(xí)的方法。其中,深度學(xué)習(xí)方法具有較強(qiáng)的特征學(xué)習(xí)能力,并且不需要復(fù)雜的特征工程,因此是目前關(guān)系抽取領(lǐng)域使用最廣泛的方法,比如卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)、循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network,RNN)等被廣泛應(yīng)用于關(guān)系抽取。
目前,大部分關(guān)系抽取領(lǐng)域的研究都針對英文語料庫來開展,由于中文與英文在語言學(xué)上具有一定的差異性,因此一些在英文語料庫上表現(xiàn)良好的方法對中文語料并不適用。中文語料中存在著更為復(fù)雜的語法結(jié)構(gòu),進(jìn)行中文關(guān)系抽取更具有難度和挑戰(zhàn)性,而且由于目前中文自然語言處理研究基礎(chǔ)相對薄弱等原因,導(dǎo)致現(xiàn)在針對中文人物關(guān)系抽取語料的研究還不夠全面和徹底。同時(shí),傳統(tǒng)文本表示方法的局限也制約著關(guān)系抽取的性能,比如傳統(tǒng)的詞向量模型Glove、Word2Vec 等為每個(gè)詞生成固定的靜態(tài)向量表示,生成的詞向量表示不包含語境上下文相關(guān)的語義信息。BERT(Bidirectional Encoder Representations from Transformers)[1]、生成式預(yù)訓(xùn)練(Generative Pre-Training,GPT)[2]等大規(guī)模預(yù)訓(xùn)練模型的出現(xiàn)能克服該缺點(diǎn),解決一詞多義的問題,學(xué)習(xí)到更加豐富的詞特征表示,提升模型的性能。
針對中文語料語法結(jié)構(gòu)復(fù)雜、傳統(tǒng)文本表示方法存在局限性的問題,本文提出了一種基于預(yù)訓(xùn)練和多層次信息的中文人物關(guān)系抽取模型(Chinese Character Relation Extraction model based on Pre-training and Multi-level Information,CCREPMI),其中選取了BERT 預(yù)訓(xùn)練模型,將原始輸入數(shù)據(jù)初步建模成上下文語境相關(guān)的向量化表示。面對中文人物關(guān)系抽取文本語料中復(fù)雜的語法結(jié)構(gòu),CCREPMI 首先在句子信息提取層使用雙向長短時(shí)記憶(Bi-directional Long Short-Term Memory,BiLSTM)網(wǎng)絡(luò)和注意力機(jī)制的融合網(wǎng)絡(luò)捕捉句子的句法結(jié)構(gòu)特征,并且深入考慮句子中實(shí)體詞與鄰近詞之間的復(fù)雜依賴關(guān)系,例如句子“小明雇小紅為其提供勞動服務(wù)”,“雇”字對關(guān)系類型的判斷產(chǎn)生較大影響,揭示了兩個(gè)人物的上下級關(guān)系,于是CCREPMI在實(shí)體鄰近信息提取層捕捉并利用這種依賴關(guān)系,同時(shí)在實(shí)體信息提取層挖掘?qū)嶓w詞含義,最后在信息融合層將多個(gè)層次的信息融合成更具代表性的樣本特征向量,最終使用Softmax函數(shù)進(jìn)行關(guān)系的判斷。
本文使用CCREPMI模型在中文人物數(shù)據(jù)集上進(jìn)行實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果表明本文提出的CCREPMI 模型相比其他一些Baseline模型在性能上有所提升,驗(yàn)證了所提方法的有效性。
本文的主要工作有:
1)提出了一種結(jié)合預(yù)訓(xùn)練和多層次信息的中文人物關(guān)系抽取模型CCREPMI,將多層次信息和BERT 預(yù)訓(xùn)練模型整合到關(guān)系抽取的架構(gòu)中。
2)在中文人物關(guān)系數(shù)據(jù)集上對CCREPMI 模型的有效性進(jìn)行了測試,并通過與其他現(xiàn)有方法的實(shí)驗(yàn)對比,驗(yàn)證了本文CCREPMI 模型在中文關(guān)系抽取任務(wù)上的先進(jìn)性。還在SemEval2010-task8 數(shù)據(jù)集上對CCREPMI 模型在英文語料上的適應(yīng)性進(jìn)行了測試,驗(yàn)證了該模型對英文語料也具有一定的泛化能力。
在當(dāng)今時(shí)代中,面對互聯(lián)網(wǎng)上海量的數(shù)據(jù),如何挖掘并利用其中的有價(jià)值信息是一個(gè)重要的問題。其中關(guān)系抽取任務(wù)能從無結(jié)構(gòu)或半結(jié)構(gòu)文本中抽取結(jié)構(gòu)化三元組,促進(jìn)后續(xù)的信息檢索和知識圖譜構(gòu)建,因此得到了不少科研工作者的關(guān)注。目前的實(shí)體關(guān)系抽取研究工作主要圍繞深度學(xué)習(xí)方法展開,并且根據(jù)語料中的實(shí)體關(guān)系是人工標(biāo)注還是對齊知識庫自動標(biāo)注,可以簡單分為有監(jiān)督學(xué)習(xí)方法和遠(yuǎn)程監(jiān)督學(xué)習(xí)方法兩個(gè)大類。
有監(jiān)督的學(xué)習(xí)方法是目前關(guān)系抽取領(lǐng)域應(yīng)用最為廣泛的方法,通過在人工標(biāo)注樣本上訓(xùn)練模型以實(shí)現(xiàn)對關(guān)系的分類和預(yù)測。Socher 等[3]使用一種遞歸神經(jīng)網(wǎng)絡(luò)模型來學(xué)習(xí)一個(gè)用于計(jì)算任意類型的多詞序列的向量和矩陣表示,并在SemEval2010-task8 數(shù)據(jù)集上取得了良好的效果。Zeng 等[4]在CNN 的基礎(chǔ)網(wǎng)絡(luò)結(jié)構(gòu)上引入了位置編碼信息作為特征,提升了模型的表現(xiàn)。dos Santos 等[5]在此基礎(chǔ)上進(jìn)行改進(jìn),提出了基于排序進(jìn)行分類的卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network that performs Classification by Ranking,CRCNN)模型,并針對關(guān)系類型中的other 類做了特殊處理,在針對Semeval-2010 task8 數(shù)據(jù)集的評價(jià)指標(biāo)中取得領(lǐng)先。Xu 等[6]使用長短時(shí)記憶(Long Short-Term Memory,LSTM)網(wǎng)絡(luò)和最短依賴路徑(Shortest Dependency Paths,SDP)進(jìn)行關(guān)系抽取取得了良好效果。Lee等[7]設(shè)計(jì)了一種新的端到端遞歸神經(jīng)模型,能有效地利用實(shí)體及其潛在類型作為特征,取得了更高的關(guān)系抽取準(zhǔn)確率。
由于有監(jiān)督的方法采用的人工標(biāo)注需要大量人力物力,Mintz 等[8]提出一個(gè)假設(shè),如果文本中的實(shí)體對和外部知識庫中的實(shí)體對一致,就假設(shè)它們擁有一樣的關(guān)系。遠(yuǎn)程監(jiān)督(Distant Supervision)便是基于這種假設(shè),通過對齊外部知識庫自動獲得標(biāo)注好的訓(xùn)練數(shù)據(jù);其缺點(diǎn)在于自動標(biāo)注會產(chǎn)生很多噪聲數(shù)據(jù),影響模型性能。Lin 等[9]提出基于選擇性注意力機(jī)制(Selective Attention)的CNN+ATT和PCNN+ATT模型方法來完成遠(yuǎn)程監(jiān)督關(guān)系抽取任務(wù),通過選擇性注意方法削弱噪聲實(shí)例的影響,以解決遠(yuǎn)程監(jiān)督中的錯(cuò)誤標(biāo)簽問題。Peng等[10]對PubMed Central 中約100 萬篇醫(yī)學(xué)論文依靠遠(yuǎn)程監(jiān)督方法獲取訓(xùn)練數(shù)據(jù)集,并提出了一種基于圖LSTM 的關(guān)系抽取方法,可以實(shí)現(xiàn)跨句子的N元關(guān)系提取。Ji 等[11]提出的基于分段卷積神經(jīng)網(wǎng)絡(luò)的句子級注意模型(sentencelevel Attention model based on Piecewise Convolutional Neural Network,APCNN)用句子級注意力機(jī)制在一個(gè)包里選擇多個(gè)有效實(shí)例,并且引入實(shí)體描述信息進(jìn)行遠(yuǎn)程監(jiān)督關(guān)系抽取。Li 等[12]提出的SeG(Selective Gate)模型克服了選擇性注意力機(jī)制框架的缺陷,在NYT 數(shù)據(jù)集上的實(shí)驗(yàn)表明,該方法在AUC和Top-n精度指標(biāo)上都達(dá)到了新的水平。
此外,開放域關(guān)系抽取是有別于傳統(tǒng)領(lǐng)域關(guān)系抽取的一種新形式,無需預(yù)定義好的關(guān)系類型,自動抽取關(guān)系三元組。Banko 等[13]首次提出了開放信息抽取的概念,并設(shè)計(jì)了TEXTRUNNER 系統(tǒng)進(jìn)而提取更加多樣化的關(guān)系事實(shí)。Akbik等[14]提出一個(gè)專門用來捕獲N元事實(shí)的開放域關(guān)系抽取系統(tǒng)KrakeN,并通過實(shí)驗(yàn)表明,該系統(tǒng)能達(dá)到較高精度,相比現(xiàn)有其他開放域關(guān)系抽取方法能捕獲更多更具完整性的關(guān)系事實(shí)。
在中文人物關(guān)系抽取方面,王明波等[15]結(jié)合雙向門控循環(huán)單元(Gated Recurrent Unit,GRU)和分段卷積神經(jīng)網(wǎng)絡(luò)(Piecewise Convolutional Neural Network,PCNN),分別利用二者處理序列和提取局部特征的優(yōu)勢,在人物關(guān)系語料庫上取得了較優(yōu)的效果。劉鑒等[16]提出基于LSTM 和結(jié)構(gòu)化自注意力機(jī)制的方法來解決訓(xùn)練數(shù)據(jù)中存在的噪聲問題,能有效提高中文人物關(guān)系抽取的準(zhǔn)確率與召回率。
上述模型都表現(xiàn)出了出色的性能,但是如RNN、CRCNN等模型使用的是靜態(tài)詞向量,忽略了文本的上下文語境化信息;SeG 和APCNN 等模型雖然深入挖掘了實(shí)體信息特征,但對實(shí)體詞和鄰近詞的依賴特征考慮得還是不夠。為了克服上述模型的缺點(diǎn),本文提出的CCREPMI 模型通過BERT 預(yù)訓(xùn)練模型獲取文本的語境化表示,并同時(shí)考慮實(shí)體詞含義、實(shí)體詞與鄰近詞依賴關(guān)系、句子整體結(jié)構(gòu)三個(gè)方面,即從詞、局部、整體三個(gè)層次提取有效特征信息,取得了較好的效果。
本文針對語料庫數(shù)據(jù)的預(yù)處理策略共分6 步,如圖1所示:
圖1 數(shù)據(jù)預(yù)處理流程Fig.1 Process of data pre-processing
1)進(jìn)行數(shù)據(jù)的清洗,比如無效字符的刪除。
2)提取兩個(gè)實(shí)體詞在句子中的位置。
3)進(jìn)行截取處理。對于輸入的原始文本句子S={w1,w2,…,wn}以及實(shí)體對e1和e2,根據(jù)實(shí)體詞位置將實(shí)體的前c個(gè)詞以及后c個(gè)詞組成的序列截取出來,并稱之為實(shí)體鄰近 詞 序 列Seqi={wpos(ei)-c,…,wpos(ei)+c}(i∈{1,2}),其 中 的pos(ei)是指第i個(gè)實(shí)體在句子中的位置,c為鄰近詞窗口值,可通過超參數(shù)設(shè)置。具體截取方式如圖2 所示,若鄰近詞窗口值c=2,對于圖中實(shí)體e1而言,w2、w3、w4、w5皆為其鄰近詞,這些鄰近詞與實(shí)體詞組成的序列為實(shí)體鄰近詞序列,將該序列截取出來。
圖2 句子截取方式示例Fig.2 Example of sentence segmentation
4)若截取后實(shí)體鄰近詞序列沒有達(dá)到指定長度,則進(jìn)行Padding處理填充到指定長度。
5)將句子、實(shí)體詞、實(shí)體鄰近詞序列進(jìn)行token化處理,預(yù)訓(xùn)練模型通過詞表將token序列進(jìn)行向量化。
BERT模型具備學(xué)習(xí)到詞的上下文相關(guān)信息的能力,有力地克服了Word2Vec、FastText、Glove 等密集的分布式詞向量表示方法無法解決“一詞多義”問題的缺點(diǎn),在多個(gè)方面的NLP任務(wù)上都大幅刷新了精度,具備較強(qiáng)的泛化能力。
BERT 是使用多個(gè)Transformer 編碼器堆疊而成的網(wǎng)絡(luò)架構(gòu),其模型結(jié)構(gòu)如圖3 所示。與傳統(tǒng)的按照文本序列單向訓(xùn)練的語言模型不同,BERT 通過掩蓋語言模型(Mask Language Model,MLM)的預(yù)訓(xùn)練任務(wù),隨機(jī)將部分token 用[MASK]標(biāo)記掩蓋,以完形填空的形式利用上下文來預(yù)測被掩蓋的token,MLM 任務(wù)可以同時(shí)利用雙向的上下文得到包含單詞語境信息的特征表示。此外,BERT 通過下一句預(yù)測(Next Sentence Prediction,NSP)任務(wù)預(yù)測后一個(gè)句子是否應(yīng)該接在前一句之后,從而使得BERT可以學(xué)習(xí)到句子間的關(guān)系。
圖3 BERT模型Fig.3 BERT model
RNN 在自然語言處理領(lǐng)域常用于序列化非線性特征的學(xué)習(xí),針對RNN 無法捕捉長距離信息和梯度消失的問題,LSTM 網(wǎng)絡(luò)通過引入記憶單元和門控機(jī)制對RNN 作了一定程度的改進(jìn),在關(guān)系抽取任務(wù)中取得了較好的效果。LSTM單元結(jié)構(gòu)如圖4 所示,其中包含了遺忘門、輸入門和輸出門三種門結(jié)構(gòu),然后通過這種結(jié)構(gòu)來實(shí)現(xiàn)長期記憶能力。
圖4 LSTM結(jié)構(gòu)Fig.4 LSTM structure
LSTM模型公式如下所示:
其中:Wi、Wf、Wo、Wc和bi、bf、bo、bc分別表示不同的權(quán)重矩陣和偏置量;Xt表示在t時(shí)刻輸入的變量;ht-1表示在t-1 時(shí)刻的隱藏狀態(tài),ht表示t時(shí)刻隱藏層的隱藏狀態(tài);ct表示t時(shí)刻的細(xì)胞狀態(tài),表示t時(shí)刻候選細(xì)胞狀態(tài);it、ft、ot分別指輸入門、遺忘門、輸出門;σ是sigmoid 激活函數(shù);tanh 是雙曲正切激活函數(shù)。
BiLSTM 網(wǎng)絡(luò)如圖5 所示,它包括正向LSTM 和反向LSTM這兩個(gè)部分。
圖5 雙向LSTM層Fig.5 Bidirectional LSTM layer
注意力機(jī)制目前在自然語言處理領(lǐng)域任務(wù)中卓有成效,它類似于人類的注意力機(jī)制,聚焦目標(biāo)的關(guān)鍵信息,忽略重要程度較低的信息。為了提升信息捕捉效率,本文使用注意力機(jī)制使模型聚焦關(guān)鍵部分,計(jì)算得到注意力分布。
其中:H是輸入特征矩陣,α是注意力權(quán)重,O是注意力機(jī)制加權(quán)之后的特征表示,W是可訓(xùn)練的權(quán)重向量,tanh是雙曲正切激活函數(shù)。
本文CCREPMI 模型總體結(jié)構(gòu)如圖6 所示。主要分成以下三個(gè)部分:
1)輸入層:該層對于每個(gè)預(yù)定義好實(shí)體對的原始句子文本數(shù)據(jù),通過預(yù)處理操作將其分成三個(gè)部分后輸入到預(yù)訓(xùn)練模型中,編碼成分布式向量表示,以初步提取其語義特征。
2)多層次信息提取層:該層結(jié)構(gòu)包括三個(gè)并行的單元,單元之間使用不同的網(wǎng)絡(luò)結(jié)構(gòu),分別用于提取句子層次、實(shí)體層次和實(shí)體鄰近層次的信息。
3)信息融合層:該層將句子層次、實(shí)體層次和實(shí)體鄰近層次的信息三個(gè)方面的深層特征信息合并,獲得蘊(yùn)含關(guān)系特點(diǎn)的特征向量表示,經(jīng)過一個(gè)線性全連接層后最終輸入到Softmax函數(shù)中進(jìn)行最終關(guān)系預(yù)測。
對于文本序列X={x1,x2,…,xn},在文本序列的開頭加入[CLS]標(biāo)志,結(jié)尾加入[SEP]標(biāo)志。隨后使用BERT 預(yù)訓(xùn)練模型將該文本序列轉(zhuǎn)化為相應(yīng)的BERT 詞向量表示,從而獲得句子詞向量表示V,具體如式(1)所示:
本文使用上述公式將訓(xùn)練數(shù)據(jù)中樣本句子序列S轉(zhuǎn)化為向量化表示Vsen={E1,E2,…,En},En為序列中第n個(gè)單詞的詞向量表示;同時(shí)將樣本中兩個(gè)實(shí)體轉(zhuǎn)化為向量化表示,將兩個(gè)實(shí)體鄰近詞序列轉(zhuǎn)化為向量化表示。
本文的多層次信息提取層包括句子層次信息提取單元、實(shí)體層次信息提取單元、實(shí)體鄰近層次信息提取單元三個(gè)單元,具體如圖7 所示。不同的提取單元用于提取不同層次的特征信息,之后輸入到模型下一層進(jìn)行信息的融合。
圖7 多層次信息提取層Fig.7 Multi-level information extraction layer
在句子層次信息提取單元,首先將輸入層中的詞嵌入矩陣Vsen={E1,E2,…,En}送入BiLSTM 模型,經(jīng)過前向傳播和后向傳播的特征學(xué)習(xí)過程后,得到前向隱藏狀態(tài)和后向隱藏狀態(tài),隨后將二者合并起來作為BiLSTM 網(wǎng)絡(luò)層最終輸出的特征向量H=Concat(hfw,hbw)。在注意力層對其進(jìn)行優(yōu)化,最終得到注意力加權(quán)后的特征表示O。
在實(shí)體層次信息提取單元,為了更好地利用實(shí)體級別語義信息,CCREPMI模型將兩個(gè)實(shí)體的向量化表示輸入到兩個(gè)并行的線性全連接層中進(jìn)行特征信息學(xué)習(xí)。
實(shí)體鄰近層次信息提取單元同樣包含兩個(gè)并行的全連接層網(wǎng)絡(luò),將兩個(gè)實(shí)體鄰近詞序列的向量化表示輸入到全連接層進(jìn)行實(shí)體詞與鄰近詞依賴信息的提取。
在信息融合層,模型將上一層提取得到的三個(gè)層次信息合并,得到最終特征表示I:
將包含多層次信息的特征表示I送到一個(gè)線性全連接層中,并使用Softmax 函數(shù)計(jì)算關(guān)系預(yù)測的概率分布,可以用下列式子表示:
其中:p表示關(guān)系預(yù)測的概率分布;Nr表示關(guān)系類別數(shù)量;Mcls是權(quán)重矩陣;bcls是偏置量。為了得到模型參數(shù),將訓(xùn)練目標(biāo)最小化損失函數(shù)定義為:
其中:J表示目標(biāo)函數(shù);Ns是所有樣本句子數(shù);θ是模型參數(shù),訓(xùn)練過程中使用Adam 優(yōu)化器在多次訓(xùn)練后得到參數(shù)最優(yōu)的模型。
4.1.1 中文數(shù)據(jù)集
中文關(guān)系抽取實(shí)驗(yàn)數(shù)據(jù)集目前較為匱乏,本文實(shí)驗(yàn)使用的中文數(shù)據(jù)集是借助互聯(lián)網(wǎng)資源獲得的中文人物關(guān)系數(shù)據(jù)集,其中共包含朋友關(guān)系、同事關(guān)系等12類人物關(guān)系,實(shí)驗(yàn)隨機(jī)選取了人物關(guān)系語料中的18 000 個(gè)實(shí)例作為訓(xùn)練集,3 600個(gè)實(shí)例作為測試集。
4.1.2 英文數(shù)據(jù)集
為了充分驗(yàn)證模型效果,實(shí)驗(yàn)中也使用了英文SemEval2010-task8數(shù)據(jù)集,它包含9種帶有方向的關(guān)系和1種不帶方向的關(guān)系。該數(shù)據(jù)集訓(xùn)練集共8 000個(gè)樣本,測試集共2 717個(gè)樣本。
4.1.3 評價(jià)指標(biāo)
本文采用精度Pre(Precision)、召回率Rec(Recall)和F1(F1值)作為模型性能的評價(jià)指標(biāo)。具體公式分別如下所示:
其中:TP是真正例數(shù),F(xiàn)P是假正例數(shù),F(xiàn)N是假反例數(shù);F1是將精度和召回率進(jìn)行加權(quán)調(diào)和平均的結(jié)果。
表1列出了本文實(shí)驗(yàn)使用的超參數(shù),實(shí)驗(yàn)環(huán)境設(shè)置如表2所示。
表1 超參數(shù)設(shè)置Tab.1 Hyperparameter setting
表2 實(shí)驗(yàn)環(huán)境Tab.2 Experiment environment
4.3.1 不同預(yù)訓(xùn)練語言模型的影響
為了探究選擇的預(yù)訓(xùn)練模型對CCREPMI的影響,本文設(shè)計(jì)了以下3個(gè)變體模型進(jìn)行對比。
1)CCREPMI-BERT。
在輸入層以BERT 預(yù)訓(xùn)練語言模型[1]生成詞嵌入矩陣,BERT 使用維基百科數(shù)據(jù)進(jìn)行訓(xùn)練,通過MLM 訓(xùn)練任務(wù)獲得上下文相關(guān)的雙向特征。
2)CCREPMI-BERT-wwm。
在輸入層以BERT-wwm預(yù)訓(xùn)練語言模型[17]生成詞嵌入矩陣,BERT-wwm 面向中文語料,使用中文維基百科數(shù)據(jù)進(jìn)行訓(xùn)練,并使用全詞掩蓋機(jī)制對BERT進(jìn)行改進(jìn)。
3)CCREPMI-ERNIE。
在輸入層以ERNIE 預(yù)訓(xùn)練語言模型[18]生成詞嵌入矩陣,ERNIE面向中文語料,訓(xùn)練時(shí)額外使用了百度百科、百度貼吧等數(shù)據(jù),并且將實(shí)體向量與文本表示結(jié)合。
為了驗(yàn)證哪一種預(yù)訓(xùn)練模型的有效性最高,將三種模型進(jìn)行對比,將模型輸出的詞嵌入向量維度E都統(tǒng)一設(shè)置為768,并采用精度、召回率、F1 值作為模型的評價(jià)指標(biāo),預(yù)訓(xùn)練模型對實(shí)驗(yàn)結(jié)果的影響如表3所示。
表3 不同預(yù)訓(xùn)練模型的結(jié)果對比Tab.3 Result comparison of different pre-trained models
由表3 可以看出,CCREPMI-BERT 模型取得了最好的結(jié)果,比另外兩種模型在F1值上分別高出2.3和2.6個(gè)百分點(diǎn)。BERT、ERNIE、BERT-wwm 三個(gè)預(yù)訓(xùn)練模型各有側(cè)重,本文認(rèn)為實(shí)驗(yàn)中基于ERNIE 的模型和基于BERT-wwm 的模型表現(xiàn)不如基于BERT 的模型的原因可能是不夠貼合訓(xùn)練數(shù)據(jù)樣本,并且因?yàn)橹形姆衷~存在的錯(cuò)誤傳播問題,BERT-wwm 的全詞掩蓋和ERNIE 的實(shí)體mask 功能可能沒有發(fā)揮優(yōu)勢。此外ERNIE模型引入的外部知識對微博文本等非正式數(shù)據(jù)的建模會更加有效,在本文數(shù)據(jù)集上的表現(xiàn)并不突出。因此本文最終選擇了效果最佳的BERT 預(yù)訓(xùn)練模型,將其融入到CCREPMI的整體架構(gòu)中去。
4.3.2 對比模型
本文模型旨在提升中文人物關(guān)系數(shù)據(jù)集的準(zhǔn)確程度,因此將所提出方法分別與當(dāng)前一些較好的方法在本文實(shí)驗(yàn)環(huán)境進(jìn)行實(shí)驗(yàn)并對比分析。對比方法包括:
1)CNN[4]:使用標(biāo)準(zhǔn)的CNN 模型進(jìn)行關(guān)系抽取,卷積核大小為3,使用了位置編碼(Position Encoding)特征。
2)CRCNN[5]:在標(biāo)準(zhǔn)CNN 基礎(chǔ)上進(jìn)行改進(jìn),在損失函數(shù)部分使用ranking-loss機(jī)制,提升了關(guān)系抽取的效果。
3)BiLSTM-ATT[19]:基于BiLSTM 網(wǎng)絡(luò),同時(shí)利用輸入序列的正向和反向信息得到隱藏向量,然后再使用注意力機(jī)制捕捉關(guān)鍵信息進(jìn)行關(guān)系分類。
4)BERT[1]:基于BERT 預(yù)訓(xùn)練模型的方法,將文本轉(zhuǎn)化為BERT詞向量,直接輸入到分類器中進(jìn)行關(guān)系分類。
5)BERT-LSTM[20]:基于BERT 預(yù)訓(xùn)練模型的方法,將經(jīng)過BERT 層的句子向量送入LSTM 層進(jìn)行編碼,再將隱藏向量送入分類器。
6)RBERT[21]:使用BERT 預(yù)訓(xùn)練模型獲取文本的向量表示,將句子向量與兩個(gè)實(shí)體的向量表示連接后送入Softmax 分類器。
7)CCREPMI-S:在標(biāo)準(zhǔn)CCREPMI 網(wǎng)絡(luò)基礎(chǔ)上簡化了網(wǎng)絡(luò)結(jié)構(gòu),對句子建模過程中移除了在模型中的Attention 層,其余結(jié)構(gòu)與標(biāo)準(zhǔn)CCREPMI網(wǎng)絡(luò)相同。
8)CCREPMI-G:在標(biāo)準(zhǔn)CCREPMI 網(wǎng)絡(luò)基礎(chǔ)上更改網(wǎng)絡(luò)結(jié)構(gòu),對句子建模過程中使用BiGRU 網(wǎng)絡(luò)代替BiLSTM 網(wǎng)絡(luò),其余結(jié)構(gòu)與標(biāo)準(zhǔn)CCREPMI網(wǎng)絡(luò)相同。
通過對比分析表4 中的實(shí)驗(yàn)結(jié)果可知,本文CCREPMI 模型精度、召回率、F1 值分別為81.5%、82.3%、81.9%,相較于其他模型而言具有更優(yōu)的表現(xiàn)。該結(jié)果表明本文融合預(yù)訓(xùn)練模型和多層次信息的CCREPMI 模型對于提升關(guān)系抽取任務(wù)的性能具有一定的效果。
表4 不同模型的性能對比 單位:%Tab.4 Performance comparison of different models unit:%
其中,相比基準(zhǔn)模型如CNN、CRCNN、BiLSTM-Att 等模型,BERT-based 模型在精確率、召回率和F1 上均有顯著的提升,本文認(rèn)為原因是基準(zhǔn)模型的詞向量使用的是隨機(jī)初始化以及Glove兩種形式,所生成的靜態(tài)詞向量無法表征上下文信息,也就難以克服一詞多義現(xiàn)象,而BERT 模型在大規(guī)模語料庫進(jìn)行預(yù)訓(xùn)練,具有更強(qiáng)的文本理解能力,且包含語境上下文信息,能有效解決一詞多義的問題,由此可見,使用BERT 生成詞向量能更好地提升模型的性能,驗(yàn)證了預(yù)訓(xùn)練模型的重要性。
此外,CCREPMI 與BERT-based 的模型如RERT、BERT、BERT-LSTM 對比分別在F1 值上提高了0.7、8.9 和8.2 個(gè)百分點(diǎn)。首先,相對而言,BERT模型的表現(xiàn)較差,筆者認(rèn)為原因在于BERT 模型僅通過微調(diào)的方式進(jìn)行關(guān)系類型的判斷,提取的特征不夠豐富,而BERT-LSTM 模型使用BERT+LSTM 的聯(lián)合網(wǎng)絡(luò),有效地提高了模型提取序列信息的精確程度,相比BERT 的F1 值提升了0.7。但BERT-LSTM 單純使用LSTM 對句子結(jié)構(gòu)進(jìn)行粗粒度的整體分析,隨后輸入分類器進(jìn)行關(guān)系類型判斷,沒有考慮到句子中粒度更細(xì)的信息,限制了性能的進(jìn)一步提升。而RBERT 雖然深入考慮了實(shí)體詞的特征信息,但并未有效利用文本中實(shí)體詞與鄰近詞的潛在聯(lián)系,相比之下CCREPMI 模型在深度語義挖掘?qū)犹崛∪齻€(gè)層次關(guān)鍵語義信息,關(guān)注句子中實(shí)體詞本身的含義,并通過捕捉實(shí)體對鄰近詞的依賴關(guān)系,得到了相對豐富的特征表示,對提高模型的關(guān)系抽取效果起了積極作用,達(dá)到81.9%的最佳F1 值,由此可見關(guān)注實(shí)體詞與鄰近詞的依賴關(guān)系可以用于改進(jìn)關(guān)系抽取模型的性能。
最后我們注意到,CCREPMI-G 在F1 值上相比標(biāo)準(zhǔn)CCREPMI 低0.4 個(gè)百分點(diǎn),模型性能表現(xiàn)比較接近。筆者認(rèn)為BiGRU 網(wǎng)絡(luò)的特點(diǎn)是參數(shù)量較少,計(jì)算速度比較有優(yōu)勢,但BiLSTM相比之下具有更多的門控單元,在本次實(shí)驗(yàn)中表現(xiàn)出了更加強(qiáng)大的特征學(xué)習(xí)能力。CCREPMI-S移除了Attention層,結(jié)果F1 值比標(biāo)準(zhǔn)CCREPMI 低1.3 個(gè)百分點(diǎn),說明Attention機(jī)制對句子層次的信息提取具有良好的增益作用。
4.3.3 模型超參數(shù)對性能的影響
本文還探索了批次大?。╞atch-size)、文本最大長度(maxlength)、BiLSTM 層數(shù)(BiLSTM-Layer)以及丟棄率(Dropout)等四個(gè)模型超參數(shù)對性能的影響,結(jié)果如圖8所示。
圖8 超參數(shù)對模型性能的影響Tab.8 Influence of hyperparameters on model performance
由圖8 可知,批次大小從8 開始依次增加時(shí),模型效果隨之提升,直到大小為32 時(shí)模型性能達(dá)到最佳,之后可能因陷入局部收斂效果不升反降;文本最大長度設(shè)置為85 是最優(yōu)選擇,因?yàn)樵O(shè)置過長需要將大量樣本填充至該值,設(shè)置過短則需要將大量樣本截取至該值,均會導(dǎo)致文本語義的丟失;BiLSTM 網(wǎng)絡(luò)的層數(shù)設(shè)置為2 最佳,僅1 層會因?yàn)榫W(wǎng)絡(luò)深度不夠,導(dǎo)致特征提取效果不強(qiáng),而增加網(wǎng)絡(luò)深度至3 層可能因梯度消失問題的加劇,引起性能的下降;模型使用丟棄率來防止模型的過擬合現(xiàn)象,可以看出丟棄率為0.3 的時(shí)候模型擬合程度較好。
4.3.4 模型泛化能力分析
本文主要針對中文數(shù)據(jù)集的特點(diǎn)設(shè)計(jì)模型結(jié)構(gòu),為了測試CCREPMI 在英文數(shù)據(jù)集上的泛化能力,采用F1 值作為評價(jià)指標(biāo),在SemEval2010-task8 數(shù)據(jù)集上進(jìn)行實(shí)驗(yàn)測試模型效果。
根據(jù)表5可知,CCREPMI在不借助人工特征的條件下,通過預(yù)訓(xùn)練模型和引入多層次信息特征,增強(qiáng)了模型特征學(xué)習(xí)效果,在英文數(shù)據(jù)集上與基準(zhǔn)模型CNN、MVRNN 和FCM 等對比仍然存在領(lǐng)先的效果,說明CCREPMI在英文語料上具有一定的泛化能力。
表5 不同模型在英文數(shù)據(jù)集SemEval2010-task8上的實(shí)驗(yàn)結(jié)果對比 單位:%Tab.5 Results comparison of different models on English dataset SemEval2010-task8 unit:%
4.3.5 多層次信息的影響
為了分析本文中多層次信息融合結(jié)構(gòu)對模型性能的影響,設(shè)計(jì)了在CCREPMI多層次信息提取層中移除實(shí)體信息提取單元的CCREPMI-NoE 模型和移除實(shí)體鄰近層次信息提取單元的CCREPMI-NoEC 模型,以及將超參數(shù)鄰近詞窗口c值設(shè)置為2,即采用較長實(shí)體鄰近詞序列作為輸入的CCREPMILEC 模型等三種變體模型,并將以上模型與標(biāo)準(zhǔn)的CCREPMI-Standard模型進(jìn)行對比,結(jié)果如圖9所示。
圖9 變體模型對比結(jié)果Fig.9 Comparison results of variant models
圖9 是各個(gè)變體模型的F1 值和loss 值伴隨著訓(xùn)練批次的變化情況,可以看出四個(gè)模型最后均收斂到恒定值,其中CCREPMI-Standard 在F1 的最高值和loss 的下降情況上都優(yōu)于不考慮實(shí)體層次信息的CCREPMI-NoE 模型及不考慮實(shí)體鄰近層次信息的CCREPMI-NoEC 模型,從中可以得出結(jié)論:無論是實(shí)體層次信息或是實(shí)體鄰近層次信息都對模型識別關(guān)系的準(zhǔn)確程度有益。而模型CCREPMI-LEC 中雖然考慮了實(shí)體與鄰近詞的依賴信息,但輸入的實(shí)體鄰近詞序列長度較長,造成一些無關(guān)的鄰近詞對關(guān)系的判斷產(chǎn)生了負(fù)面影響,因此該模型的關(guān)系抽取效果相對不佳。
本文針對中文關(guān)系抽取數(shù)據(jù)集中語法結(jié)構(gòu)復(fù)雜的問題,提出了一種使用基于預(yù)訓(xùn)練和多層次信息的中文人物關(guān)系抽取模型,該模型先使用BERT 預(yù)訓(xùn)練模型,再結(jié)合句子整體結(jié)構(gòu)、實(shí)體含義以及實(shí)體詞與實(shí)體鄰近詞的依賴關(guān)系等特征信息進(jìn)行關(guān)系分類。本文在中文人物數(shù)據(jù)集上對模型進(jìn)行了實(shí)驗(yàn),結(jié)果表明模型對比基準(zhǔn)方法有所提升,并在英文數(shù)據(jù)集上驗(yàn)證了模型具有一定泛化能力。本文模型雖然取得了較好的效果,但仍然有一些局限性,使用的特征仍然不夠豐富,未來可能的工作是嘗試引入詞性和依存句法等特征提升模型性能。