謝 騰,楊俊安,劉 輝
(國(guó)防科技大學(xué) 電子對(duì)抗學(xué)院,合肥 230031)
隨著互聯(lián)網(wǎng)的快速發(fā)展以及網(wǎng)絡(luò)的廣泛應(yīng)用,產(chǎn)生的信息呈爆炸式地增長(zhǎng),讓人們無(wú)法在海量數(shù)據(jù)中快速有效地找到準(zhǔn)確的知識(shí).如何從海量信息中準(zhǔn)確高效地找到用戶所需要的信息成為目前的研究熱點(diǎn),因此,信息抽取技術(shù)受到學(xué)術(shù)界與工業(yè)界的廣泛關(guān)注.信息抽取技術(shù)作為自然語(yǔ)言處理的研究重點(diǎn)與熱點(diǎn).它的研究熱點(diǎn)主要包括實(shí)體抽取、關(guān)系抽取和事件抽取.其中的關(guān)系抽取則是作為其核心任務(wù).關(guān)系抽取主要解決的問(wèn)題是從非結(jié)構(gòu)化的文本語(yǔ)句中自動(dòng)抽取實(shí)體間的語(yǔ)義關(guān)系,并形成統(tǒng)一格式的結(jié)構(gòu)化信息.具體而言,就是預(yù)先給定語(yǔ)句和候選實(shí)體,關(guān)系抽取模型則需要依靠自身的特征提取能力來(lái)預(yù)測(cè)實(shí)體之間存在可能的語(yǔ)義關(guān)系.關(guān)系抽取處理海量數(shù)據(jù)有很強(qiáng)的優(yōu)勢(shì),因此其在機(jī)器翻譯、知識(shí)圖譜的構(gòu)建、問(wèn)答系統(tǒng)以及智能搜索等應(yīng)用中具有很大的研究?jī)r(jià)值.
實(shí)體關(guān)系抽取是自然語(yǔ)言處理的重要課題之一.隨著知識(shí)圖譜的發(fā)展,實(shí)體關(guān)系抽取已經(jīng)逐漸深入到其中,并發(fā)揮相當(dāng)重要的作用.就目前而言,實(shí)體關(guān)系抽取算法主要分為3 類:一是基于模板特征匹配的關(guān)系抽取算法;二是基于特征的關(guān)系抽取算法;三是基于神經(jīng)網(wǎng)絡(luò)的關(guān)系抽取算法.基于模式的關(guān)系抽取是通過(guò)預(yù)先設(shè)定規(guī)則和語(yǔ)法或語(yǔ)義模式,將其與文本進(jìn)行匹配,從而實(shí)現(xiàn)關(guān)系實(shí)例的抽取.該算法在小規(guī)模數(shù)據(jù)集上容易實(shí)現(xiàn)同時(shí)構(gòu)建較簡(jiǎn)單,并且能夠達(dá)到較高的準(zhǔn)確率,但是它所耗費(fèi)的人工成本相當(dāng)高,可移植性相當(dāng)差,而且這種算法很難定義文本中所有的關(guān)系模板,因此也進(jìn)而導(dǎo)致相對(duì)較低的召回率.
基于特征的關(guān)系抽取,它主要依賴于上下文的各種詞匯、句法以及語(yǔ)義信息等.具體而言,給出相應(yīng)的訓(xùn)練樣本,然后通過(guò)詞匯、句法和語(yǔ)義分析等對(duì)訓(xùn)練語(yǔ)料進(jìn)行特征提取,再將提取的特征結(jié)果輸入到分類器當(dāng)中進(jìn)行關(guān)系分類,從而完成關(guān)系抽取.該算法的實(shí)質(zhì)是將關(guān)系抽取看成是一個(gè)多分類問(wèn)題,通過(guò)構(gòu)建一個(gè)分類器類進(jìn)行實(shí)體關(guān)系抽取.該算法同樣是嚴(yán)重依賴人工選擇的特征,如果這些特征能夠?yàn)殛P(guān)系抽取提供有用的信息,那么算法性能就會(huì)有很大的提升;但是若這些特征無(wú)法給出相應(yīng)的有用信息,它們就會(huì)嚴(yán)重影響關(guān)系抽取的性能,尤其當(dāng)訓(xùn)練樣本的增多時(shí),這些特征反而會(huì)帶來(lái)嚴(yán)重的噪聲影響,從而使得關(guān)系抽取的性能變得極其之差
傳統(tǒng)的關(guān)系抽取算法需要消耗大量的人力去設(shè)計(jì)特征,對(duì)于大規(guī)模的抽取任務(wù)而言,人工設(shè)計(jì)的特征作用并不大,最重要的是語(yǔ)句中的一些隱性特征很難進(jìn)行定義,因而傳統(tǒng)算法難以勝任大規(guī)模的關(guān)系抽取任務(wù).而基于神經(jīng)網(wǎng)絡(luò)的關(guān)系抽取算法,它不再依賴于手工設(shè)計(jì)的特征,而是能夠自動(dòng)學(xué)習(xí)出有效的特征.這種方法可以在不使用自然語(yǔ)言處理工具的情況下,在多種自然語(yǔ)言處理任務(wù)能夠取得更優(yōu)良的性能.近幾年來(lái),神經(jīng)網(wǎng)絡(luò)模型已經(jīng)成為了關(guān)系抽取任務(wù)中的重要方法.
Socher 等[1]采用遞歸神經(jīng)網(wǎng)絡(luò)模型,使用矩陣向量表征分析樹(shù)的各個(gè)節(jié)點(diǎn),從而提取句子中重要的語(yǔ)義信息,但是同時(shí)因?yàn)榻柚俗匀徽Z(yǔ)言處理工具,容易引起錯(cuò)誤傳播問(wèn)題.為了更加準(zhǔn)確地捕捉句子的語(yǔ)義,Zhang和Wang[2]在2015年采用雙向循環(huán)網(wǎng)絡(luò)(BRNN)來(lái)對(duì)句子進(jìn)行建模,學(xué)習(xí)其中的語(yǔ)義信息.雙向的RNN可以從前向和后向獲取句子的信息,但是由于RNN 存在梯度消失和梯度爆炸問(wèn)題,胡新辰等[3]采用雙向長(zhǎng)短期記憶網(wǎng)絡(luò)(BiLSTM)來(lái)實(shí)現(xiàn)對(duì)句子特征的提取,同時(shí)又借助傳統(tǒng)的詞匯與句子特征來(lái)進(jìn)行關(guān)系抽取.羅計(jì)根等[4]提出一種融合梯度提升樹(shù)的BiLSTM 模型,在中醫(yī)領(lǐng)域上實(shí)現(xiàn)了關(guān)系抽取,并取得相當(dāng)不錯(cuò)的效果.近期注意力機(jī)制[5]在各大領(lǐng)域上有了比較成功的應(yīng)用.Zhou 等[6]在2016年就在雙向長(zhǎng)短期記憶網(wǎng)絡(luò)(BiLSTM)的基礎(chǔ)上加入注意力機(jī)制,并且在關(guān)系抽取任務(wù)上取得了更優(yōu)良的性能.周文燁等[7]則是融合了多層注意力機(jī)制與雙向長(zhǎng)短期記憶網(wǎng)絡(luò)進(jìn)行語(yǔ)義關(guān)系抽取,取得一定的效果.李衛(wèi)疆等[8]在ATT-BiLSTM模型基礎(chǔ)上引入多種外部特征來(lái)進(jìn)行關(guān)系分類.朱姍姍和唐慧豐[9]則是把ATT-BiLSTM 模型應(yīng)用到軍事領(lǐng)域上,同時(shí)結(jié)合詞性特征,在軍事類實(shí)體關(guān)系上取得較好的F1值.
卷積神經(jīng)網(wǎng)絡(luò)在關(guān)系抽取上也有長(zhǎng)足的應(yīng)用.Zeng[10]采用卷積神經(jīng)網(wǎng)絡(luò)模型,再結(jié)合詞向量以及位置特征,此算法無(wú)需提取復(fù)雜的特征就取得超越傳統(tǒng)方法的性能.隨后,Zeng 等[11]又基于實(shí)體位置信息,提出了分段池化的思想,根據(jù)實(shí)體位置將池化的向量分為3 段,然后各取這3 段的最大值進(jìn)行拼接.dos Santos 等[12]提出分段排序結(jié)構(gòu)來(lái)取代Softmax 分類層器,它有效地提高了不同實(shí)體類型的區(qū)分度,并且取得了相當(dāng)好的效果.Mou 等[13]和劉偉等[14]則利用樹(shù)形結(jié)構(gòu)的神經(jīng)網(wǎng)絡(luò)進(jìn)行關(guān)系抽并且取得很好的效果.Lin 等[15]改進(jìn)卷積神經(jīng)網(wǎng)絡(luò)模型,在此基礎(chǔ)上加入了注意力機(jī)制,解決了實(shí)體相對(duì)應(yīng)的句子噪音問(wèn)題,該模型可以使用有效的句子學(xué)習(xí),因而使得關(guān)系抽取性能進(jìn)一步提高.Bing 等[16]通過(guò)深度卷積神經(jīng)網(wǎng)絡(luò)模型提取句子的低級(jí)和高級(jí)特征,在NYT 數(shù)據(jù)集上取得較高的F1 值.Liu 等[17]利用循環(huán)神經(jīng)網(wǎng)絡(luò)對(duì)依存句法樹(shù)進(jìn)行建模,然后又利用卷積網(wǎng)絡(luò)對(duì)語(yǔ)句的最短依存路徑進(jìn)行建模,統(tǒng)一將兩者的語(yǔ)法分析結(jié)果添加到深度學(xué)習(xí)框架中.張曉斌等[18]則是利用卷積網(wǎng)絡(luò)和循環(huán)網(wǎng)絡(luò)兩者各自的優(yōu)點(diǎn),彌補(bǔ)相應(yīng)的不足,在此基礎(chǔ)上提出了一種結(jié)合CNN和LSTM的實(shí)體關(guān)系抽取算法,該算法取得了一定的效果.李孟穎等[19]利用CNN-BiLSTM 聯(lián)合模型在微生物生長(zhǎng)環(huán)境領(lǐng)域上進(jìn)行關(guān)系抽取,并取得了相當(dāng)不錯(cuò)的效果.Li 等[20]提出一種預(yù)訓(xùn)練CNN 模型來(lái)探索語(yǔ)義關(guān)系抽取并實(shí)現(xiàn)了較高的性能.
綜上所述,前兩者方法嚴(yán)重依賴人工特征,而構(gòu)建這些特征耗時(shí)耗力;對(duì)于現(xiàn)有的神經(jīng)網(wǎng)絡(luò)模型而言,根據(jù)Tang 等[21]的研究表明,相較于Transformer,神經(jīng)網(wǎng)絡(luò)的綜合特征提取能力有限以及語(yǔ)義表征能力較差,因而導(dǎo)致整個(gè)網(wǎng)絡(luò)模型無(wú)法獲取豐富的語(yǔ)義信息特征,因此在實(shí)體關(guān)系抽取上已經(jīng)很難再有所突破性進(jìn)展.而近期的BERT (Bidirectional Encoder Representations from Transformers)[22]模型在NLP 領(lǐng)域取得重大突破,憑借其獨(dú)特的網(wǎng)絡(luò)結(jié)構(gòu)在多個(gè)研究方向得到成功應(yīng)用,同時(shí)在關(guān)系抽取上也存在相應(yīng)的應(yīng)用.Wu 等[23]和Giorgio 等[24]利用BERT 模型實(shí)現(xiàn)過(guò)英文關(guān)系抽取,并取得相當(dāng)不錯(cuò)的效果,甚至優(yōu)于當(dāng)前的深度學(xué)習(xí)網(wǎng)絡(luò)模型.因此本文就引入BERT 模型來(lái)進(jìn)行中文實(shí)體關(guān)系抽取.本文的主要貢獻(xiàn)如下:
(1)在中文實(shí)體關(guān)系抽取任務(wù)上,大多數(shù)算法主要集中在循環(huán)神經(jīng)網(wǎng)絡(luò)模型和卷積神經(jīng)網(wǎng)絡(luò)模型等.而本文所采用的模型不同于之前的神經(jīng)網(wǎng)絡(luò)模型,本文則是使用了BERT 預(yù)訓(xùn)練模型來(lái)實(shí)現(xiàn)中文關(guān)系抽取任務(wù);
(2)在進(jìn)行中文實(shí)體關(guān)系抽取時(shí)添加了多種外部特征:關(guān)鍵詞、實(shí)體類型和實(shí)體對(duì)信息.這些特征能夠在詞匯和句法上體現(xiàn)出整個(gè)語(yǔ)句一定的語(yǔ)義信息,從而利用這種優(yōu)勢(shì)進(jìn)一步來(lái)加強(qiáng)BERT 模型的語(yǔ)義特征提取能力,因此可以進(jìn)一步提高中文實(shí)體關(guān)系抽取性能.
本文是基于BERT 預(yù)訓(xùn)練模型來(lái)實(shí)現(xiàn)中文關(guān)系抽取任務(wù)的.其整個(gè)訓(xùn)練過(guò)程如圖1所示,主要工作如下:
① 語(yǔ)料預(yù)處理,構(gòu)造語(yǔ)料特征(本文采用的外部特征有關(guān)鍵詞、實(shí)體類型和實(shí)體對(duì)信息);
② 建立相關(guān)的網(wǎng)絡(luò)模型(本文采用的是BERT 模型),其輸入是①中所處理的數(shù)據(jù),并獲取其相關(guān)的分布式詞向量特征;
③ 將得到的各種外部特征向量進(jìn)行拼接融合,通過(guò)全連接層得到最終的向量表征;
④ 采用Softmax 分類器,對(duì)最后的實(shí)驗(yàn)結(jié)果進(jìn)行關(guān)系分類.
本文的模型最大優(yōu)勢(shì)就在于不需要提前進(jìn)行額外的字向量或是詞向量訓(xùn)練,只要把語(yǔ)句直接輸入到BERT 預(yù)訓(xùn)練模型中即可,該模型會(huì)自動(dòng)將訓(xùn)練出帶有較豐富語(yǔ)義的特征向量,然后直接利用該特征向量進(jìn)行關(guān)系抽取.
圖1 基于BERT 模型的中文實(shí)體關(guān)系抽取流程
2.1.1 數(shù)據(jù)預(yù)處理
數(shù)據(jù)預(yù)處理的主要目的是獲取高質(zhì)量的訓(xùn)練數(shù)據(jù),其過(guò)程主要包括兩個(gè)方面:數(shù)據(jù)的整理標(biāo)注以及外部特征的提取融合.數(shù)據(jù)的整理標(biāo)注主要是處理成模型訓(xùn)練所需要的語(yǔ)料格式,而外部特征的提取融合則是整個(gè)數(shù)據(jù)預(yù)處理的重點(diǎn)所在,下面依次對(duì)外部特征的提取和融合進(jìn)行細(xì)致分析.
2.1.2 外部特征的提取
在中文實(shí)體關(guān)系抽取當(dāng)中,不同于英文實(shí)體關(guān)系抽取,中文實(shí)體關(guān)系抽取具有不同的語(yǔ)法結(jié)構(gòu),尤其是在特定的領(lǐng)域中,中文更是具有獨(dú)特的語(yǔ)法結(jié)構(gòu),因此為進(jìn)一步改善中文實(shí)體關(guān)系抽取的性能,本文將選取關(guān)鍵詞、實(shí)體類型和實(shí)體對(duì)信息作為外部特征.
(1)關(guān)鍵詞
在進(jìn)行關(guān)系抽取這個(gè)分類任務(wù)時(shí),引入關(guān)鍵詞對(duì)提高抽取性能具有一定輔助作用.提取出來(lái)的關(guān)鍵詞大都是有很高的區(qū)分度,甚至可以增強(qiáng)語(yǔ)義信息,因此關(guān)鍵詞特征與抽取的關(guān)系相關(guān)性越高,那么對(duì)關(guān)系抽取的性能提高就越大.關(guān)鍵詞作為一個(gè)顯式特征,它可以從另一個(gè)方面能夠彌補(bǔ)BERT 模型訓(xùn)練得到的特征的不足之處.例如,“天安門是北京市的一處旅游景點(diǎn)”,通過(guò)提取關(guān)鍵詞可以得到“旅游景點(diǎn)”,由此可以預(yù)測(cè)出關(guān)系可能是“地理位置關(guān)系”.因此提取一些類別關(guān)鍵詞更有利于關(guān)系抽取.對(duì)于任一個(gè)語(yǔ)句X而言,提取其中的關(guān)鍵詞后輸入到BERT 模型中進(jìn)行向量表征.如果ki表示為第i個(gè)關(guān)鍵詞的特征向量,那么所有關(guān)鍵詞的特征向量則為K=[k1,···,kn].
(2)實(shí)體類型
實(shí)體類型是作為一種淺層的語(yǔ)義特征,它主要為實(shí)體標(biāo)注一些特定的語(yǔ)義角色.實(shí)體類型通常在于淺層語(yǔ)義的理解,而對(duì)于語(yǔ)句的深層語(yǔ)義特征不進(jìn)行分析.在實(shí)際應(yīng)用過(guò)程中,淺層語(yǔ)義特征往往也顯得非常重要,甚至能學(xué)習(xí)到更多的語(yǔ)義信息.對(duì)于關(guān)系兩邊的實(shí)體類型,經(jīng)常是實(shí)體對(duì)的約束條件.例如,指定一個(gè)關(guān)系“出生地”,則可以知道主體的實(shí)體類型屬于“人物”,而客體的實(shí)體類型是“地點(diǎn)”.在此模型中,本文把語(yǔ)料中的候選實(shí)體替換為相應(yīng)的實(shí)體類型,然后再將整個(gè)語(yǔ)句輸入到BERT 模型中進(jìn)行學(xué)習(xí),從而提取語(yǔ)義特征.
(3)實(shí)體對(duì)信息
對(duì)于限定關(guān)系抽取而言,實(shí)體對(duì)是作為一種約束信息.例如給定“馬云”和“淘寶”,通過(guò)模型訓(xùn)練后,可以大概率將“出生地”或是“所在城市”等一些與之相關(guān)性不高的關(guān)系排除掉.因此它在一定程度上是可以得到相應(yīng)的語(yǔ)義信息,從而能夠幫助判斷實(shí)體關(guān)系類型.將實(shí)體對(duì)信息輸入到模型訓(xùn)練中,可以得到其特征向量:T=[t1,t2],其中t表示實(shí)體向量.
2.1.3 特征融合
在實(shí)現(xiàn)對(duì)外部特征的提取后,需要將所提取的特征進(jìn)一步地拼接融合,使得外部特征能夠顯示地表達(dá)出來(lái),從而利用其所表現(xiàn)出來(lái)的語(yǔ)義特征來(lái)強(qiáng)化模型訓(xùn)練,使模型輸出特征向量能夠盡可能地表達(dá)出更多的語(yǔ)義信息,進(jìn)而提升中文實(shí)體關(guān)系抽取效果.具體特征融合過(guò)程如圖2所示.
對(duì)于任意語(yǔ)句X=[x1,x2,···,xv],在數(shù)據(jù)處理階段時(shí)將其中的候選實(shí)體用相應(yīng)的實(shí)體類型進(jìn)行替換后,得到一個(gè)新的語(yǔ)句表示:
在X′當(dāng)中,其可以理解為把實(shí)體類型添加到語(yǔ)句當(dāng)中,通過(guò)替換實(shí)則是將不同實(shí)體之間的關(guān)系轉(zhuǎn)為兩種實(shí)體類型之間的關(guān)系,同時(shí)實(shí)體類型本身就帶有一定的語(yǔ)義信息,這兩者的共同作用降低了噪聲的干擾.隨后將X′輸入至模型訓(xùn)練,提取語(yǔ)句的語(yǔ)義特征,經(jīng)過(guò)訓(xùn)練后其語(yǔ)句的向量表征形式如下公式:
其次通過(guò)自然語(yǔ)言處理工具對(duì)整個(gè)語(yǔ)句X的關(guān)鍵詞進(jìn)行提取.關(guān)鍵詞是對(duì)語(yǔ)句內(nèi)容的一個(gè)整體性概括,關(guān)鍵詞排序越靠前的對(duì)語(yǔ)句的影響力就越大.關(guān)鍵詞最主要的作用就是提取語(yǔ)句中語(yǔ)義較豐富的特征詞,進(jìn)而降低無(wú)關(guān)的信息對(duì)關(guān)系抽取的影響,因此把提取出來(lái)的關(guān)鍵詞按序進(jìn)行排列.關(guān)鍵詞排序靠前的優(yōu)先作為外部特征的輸入.同時(shí)為了盡可能地豐富句子的語(yǔ)義,本文選取排序前20%的關(guān)鍵詞,而后續(xù)的關(guān)鍵詞已經(jīng)很難體現(xiàn)句子的語(yǔ)義信息,甚至可能會(huì)帶來(lái)額外的噪聲影響,從而使得關(guān)系抽取性能變差.在此用gi表示提取的第i個(gè)關(guān)鍵詞,經(jīng)過(guò)訓(xùn)練后的關(guān)鍵詞的向量表征形式如下:
圖2 特征融合
對(duì)于實(shí)體對(duì)信息而言,實(shí)體對(duì)是作為一種對(duì)關(guān)系的約束信息,同時(shí)能夠間接反映出實(shí)體所在的位置信息,對(duì)提高關(guān)系抽取性能很有幫助.而對(duì)于關(guān)系抽取而言,能夠利用各種信息加強(qiáng)對(duì)語(yǔ)義的理解都是可以作為一種有效的外部特征進(jìn)行輸入.在數(shù)據(jù)的處理過(guò)程中,實(shí)體對(duì)分為頭實(shí)體和尾實(shí)體,在此分別用s和o來(lái)表示,那么訓(xùn)練后的實(shí)體特征向量表示為如下:
三者訓(xùn)練過(guò)后得到了相應(yīng)的特征向量,緊接著就是將三者的特征融合在一起.特征融合主要有兩種方式:特征拼接和加權(quán)求和.兩種融合方式具體如圖3所示.
圖3 特征融合方式對(duì)比
從圖3可以看出,兩種特征融合方式都是可行的,但兩種方式各有所長(zhǎng).對(duì)于加權(quán)求和的特征融合方式,其優(yōu)點(diǎn)在將三者向量的一些關(guān)鍵信息融入到一起,降低了向量的維度,便于計(jì)算,但是其缺點(diǎn)是在加權(quán)的過(guò)程中容易造成某些關(guān)鍵的語(yǔ)義信息的缺失.而對(duì)于特征拼接而言,它把所有的向量都拼接在同一個(gè)向量中,雖然使得向量維度提高了,但它保留了最原始的語(yǔ)義信息特征,尤其對(duì)于關(guān)系抽取任務(wù)而言,它更加注重對(duì)整個(gè)語(yǔ)句的理解程度,因此從理論上來(lái)說(shuō),盡可能地保留更多的語(yǔ)義信息是有助于提高關(guān)系抽取的性能.因此本文就采用特征拼接的融合方式,而非所有特征加權(quán)求和,所以外部特征融合的向量表示如下:
圖2中的右邊展示的是無(wú)任何外部特征的加入,其訓(xùn)練出來(lái)的語(yǔ)句向量表示為如下:
從上述可以看出特征向量H主要包括兩種類型的向量:語(yǔ)句向量E1′和外部特征向量,前者又含有實(shí)體類型特征,后者則是包含關(guān)鍵詞和實(shí)體對(duì)信息的特征向量K、T.整體而言,本文將所選外部特征融合到一個(gè)向量表征中.而圖中右邊表示的是把原始語(yǔ)料輸入到模型之中進(jìn)行訓(xùn)練,得到只是一個(gè)單純的語(yǔ)句向量E1.因此兩者對(duì)比分析可以得到,本文輸出向量融合了外部特征向量,彌補(bǔ)了自動(dòng)學(xué)習(xí)特征的不足,因而能夠表征出更多的語(yǔ)義信息.
在處理自然語(yǔ)言過(guò)程中,詞向量是一種相當(dāng)重要的表征形式.目前而言,先進(jìn)的詞向量是一種分布式的表征形式,它是通過(guò)用一個(gè)低維的實(shí)數(shù)向量來(lái)表征一個(gè)詞語(yǔ).這樣的詞向量包含豐富的句法和語(yǔ)義信息特征.詞向量是通過(guò)對(duì)大量的無(wú)標(biāo)注文檔訓(xùn)練而得到的.在本文中,采用BERT 模型來(lái)訓(xùn)練詞向量,不同于以往的靜態(tài)詞向量,前者能夠在不同的語(yǔ)境下表征不同的語(yǔ)義,因此這樣的詞向量更加體現(xiàn)出強(qiáng)大的語(yǔ)義表征能力.其訓(xùn)練過(guò)程主要分兩步進(jìn)行的:一是對(duì)輸入語(yǔ)句的預(yù)處理,二是通過(guò)基于雙向Transformer的網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行訓(xùn)練.
本文詞向量的具體訓(xùn)練工作如下:
給定一個(gè)句子X(jué)=[x1,x2,···,xv],則可以表示為一個(gè)向量矩陣E=RV×dm,其中V是句子中詞語(yǔ)的個(gè)數(shù),dm是詞向量維度.
該句子X(jué)經(jīng)過(guò)數(shù)據(jù)預(yù)處理,將所得到的特征聯(lián)合拼接得到語(yǔ)句X',X就作為BERT 模型的輸入進(jìn)行預(yù)訓(xùn)練,其中句向量和外部特征向量的表征過(guò)程如圖4所示.
圖4 向量表征
從圖4來(lái)看,BERT 模型的整體框架是由12 層Transformer 搭建而成,但是在具體的訓(xùn)練過(guò)程需要按照實(shí)際的需求來(lái)確定Transformer 層數(shù),以此來(lái)達(dá)到最佳的訓(xùn)練效果.從理論上分析,數(shù)據(jù)量較大時(shí),Transformer層數(shù)可以選取較大的值,因此在訓(xùn)練過(guò)程中可以獲取更加深層次的語(yǔ)義信息;數(shù)據(jù)量較小時(shí),Transformer 層數(shù)可以選取較小的值,因?yàn)閿?shù)據(jù)量小,即使設(shè)置選取較大的值也很難獲取其中深層次的語(yǔ)義信息,反而容易導(dǎo)致“過(guò)學(xué)習(xí)”的狀態(tài),使得訓(xùn)練無(wú)法收斂,從而導(dǎo)致關(guān)系抽取的性能下降.從本文所選取的數(shù)據(jù)以及后期的實(shí)驗(yàn)結(jié)果來(lái)看,Transformer 層數(shù)應(yīng)該設(shè)置2 或3是最為合適的.
在經(jīng)過(guò)BERT 模型的預(yù)訓(xùn)練后,得到句子向量E'、關(guān)鍵詞向量K以及實(shí)體對(duì)向量T,隨后通過(guò)激活函數(shù),其具體表示如下:
緊接著通過(guò)全連接層將所有的向量拼接在一起,其表示如下:
最后經(jīng)由激活函數(shù)激活得到最終的輸出向量:
其中,W是權(quán)重矩陣,b是偏置向量.實(shí)驗(yàn)過(guò)程中融合了多種外部特征,使得訓(xùn)練出來(lái)的語(yǔ)句表征向量含有實(shí)體類型特征、關(guān)鍵詞特征以及實(shí)體對(duì)信息特征,而這些外部特征能夠更加便于整個(gè)模型理解句子的語(yǔ)義,從而更有利于解決關(guān)系抽取問(wèn)題.
在得到BERT 預(yù)訓(xùn)練模型輸出的組合特征向量后,將其輸入到全連接層,獲得一個(gè)含有豐富語(yǔ)義的向量H,隨后開(kāi)始進(jìn)行關(guān)系分類.本文采取的是Softmax 分類器.該分類器的主要作用是對(duì)最后的結(jié)果進(jìn)行歸一化處理,從而可以得到一組概率值,通過(guò)判斷概率的大小來(lái)進(jìn)行關(guān)系分類.向量H通過(guò)Softmax 分類器第i種關(guān)系的條件概率如下:
在訓(xùn)練過(guò)程中目標(biāo)函數(shù)采用的是交叉熵?fù)p失函數(shù).交叉熵是用來(lái)衡量多種分布之間的相似性,因此也可以判斷網(wǎng)絡(luò)結(jié)構(gòu)實(shí)際的輸出與期望的輸出的接近程度.其目標(biāo)函數(shù)loss計(jì)算如下:
其中,y,y′分別表示為真實(shí)值和預(yù)測(cè)值,M為樣本,n為樣本數(shù)量.模型優(yōu)化過(guò)程中采用隨機(jī)梯度下降法,模型參數(shù)的更新則采用反向傳播的方法進(jìn)行調(diào)整,計(jì)算過(guò)程如下:
其中,λ表示學(xué)習(xí)速率.
本文主要采用人工標(biāo)注的中文數(shù)據(jù)集進(jìn)行了相應(yīng)的實(shí)驗(yàn),實(shí)驗(yàn)過(guò)程主要分為以下兩組:
(1)在BERT 模型上依次添加外部特征,驗(yàn)證外部特征是否能夠有效地強(qiáng)化BERT 模型的學(xué)習(xí)能力;
(2)對(duì)比基于ATT-BiLSTM和CNN 模型的經(jīng)典方法,驗(yàn)證BERT 模型是否能夠達(dá)到預(yù)期效果.
本文采用的數(shù)據(jù)集是來(lái)源浙大知識(shí)引擎實(shí)驗(yàn)室人工標(biāo)注的中文數(shù)據(jù)集.該數(shù)據(jù)集主要分為訓(xùn)練集和測(cè)試集,其中訓(xùn)練數(shù)據(jù)集總共包含4000 條語(yǔ)句實(shí)例,測(cè)試集總共包含1000 條語(yǔ)句實(shí)例.該數(shù)據(jù)集的關(guān)系類型主要限定于以下10 種,具體如表1所示,部分語(yǔ)料樣本如圖5所示.
表1 候選實(shí)體關(guān)系類型
圖5 部分語(yǔ)料展示
對(duì)于實(shí)驗(yàn)結(jié)果評(píng)測(cè),本文采用官方數(shù)據(jù)集中的macroaveragedF1 進(jìn)行評(píng)價(jià)模型性能.macro-averagedF1的計(jì)算具體過(guò)程如下所示:
因此得到macro-averagedF1 值的公式如下所示:
實(shí)驗(yàn)超參數(shù)設(shè)置主要是為了使模型達(dá)到最佳性能.實(shí)驗(yàn)過(guò)程中為防止模型出現(xiàn)過(guò)擬合現(xiàn)象,訓(xùn)練過(guò)程中引入了dropout 策略.此外,模型采用Adam 優(yōu)化器進(jìn)行優(yōu)化.本文實(shí)驗(yàn)在參數(shù)設(shè)置過(guò)程中發(fā)現(xiàn)Learn_rate與Num_hidden_layers 這兩個(gè)參數(shù)對(duì)實(shí)驗(yàn)影響是最大的.為取得實(shí)驗(yàn)最佳效果,多次對(duì)這兩個(gè)參數(shù)進(jìn)行微調(diào),最終確定以下結(jié)果.具體超參數(shù)設(shè)置如表2所示.
表2 超參數(shù)設(shè)置
本文為驗(yàn)證所選特征的有效性以及對(duì)比經(jīng)典神經(jīng)網(wǎng)絡(luò)模型方法,主要做了以下兩組實(shí)驗(yàn),其中KW、EI、ET 分別代表關(guān)鍵詞、實(shí)體對(duì)信息和實(shí)體類型.衡量指標(biāo)采用macro-averageF1 進(jìn)行評(píng)價(jià)(以下的F1 均表示為macro-averageF1 值).
(1)實(shí)驗(yàn)一.驗(yàn)證特征的有效性
本文模型為提取更多的語(yǔ)義特征,引入了關(guān)鍵詞(KW)、實(shí)體對(duì)信息(EI)和實(shí)體類型(ET)三種特征.本文在中文數(shù)據(jù)集上做了相應(yīng)的實(shí)驗(yàn)來(lái)驗(yàn)證這3 種特征的有效性.實(shí)驗(yàn)結(jié)果如圖6和表3所示.
圖6 關(guān)鍵詞個(gè)數(shù)的影響
圖6展示了關(guān)鍵詞個(gè)數(shù)對(duì)模型性能的影響.從圖中可以看出,關(guān)鍵詞個(gè)數(shù)是對(duì)模型性能有影響的.起初,關(guān)鍵詞個(gè)數(shù)遞增,F1 也隨之上升,但是到達(dá)一定程度后,伴隨著關(guān)鍵詞個(gè)數(shù)的增加,F1 反而逐漸下降.在整個(gè)實(shí)驗(yàn)過(guò)程中,當(dāng)關(guān)鍵詞個(gè)數(shù)為2 至4 個(gè),實(shí)驗(yàn)效果表現(xiàn)最佳.從這可以看出,選取適量的關(guān)鍵詞,尤其是能夠體現(xiàn)出句子語(yǔ)義信息的關(guān)鍵詞,對(duì)模型性能是有提升的;但是當(dāng)選取的關(guān)鍵詞增多時(shí),由于其中開(kāi)始出現(xiàn)一些不相關(guān)的詞匯,而它們將會(huì)給關(guān)系抽取任務(wù)帶來(lái)額外的噪聲影響,從而使得模型性能下降.
表3 特征對(duì)BERT 模型的影響(%)
本文選取無(wú)任何外部特征加入的BERT 模型作為基準(zhǔn)模型.然后在該模型基礎(chǔ)上依次加入外部特征.從上述表3數(shù)據(jù)結(jié)果可以明顯地看出,所選取的這三種外部特征是能夠幫助關(guān)系分類的.其中,加入關(guān)鍵詞后,F1 提升了0.82%;再加入實(shí)體對(duì)信息,由于實(shí)體對(duì)信息對(duì)所屬關(guān)系具有一定的約束性,同時(shí)其能夠間接體現(xiàn)出實(shí)體的位置特征,因而使得模型性能提高了5.35%;最后加入實(shí)體類型,其是屬于淺層語(yǔ)法信息,能夠提取較為豐富的語(yǔ)義信息,因此模型性能得到了4.28%的提升.從上述分析可以得到,所選的外部特征能夠強(qiáng)化BERT 模型的學(xué)習(xí)能力.實(shí)體對(duì)信息和實(shí)體類型特征對(duì)性能提升效果明顯,而關(guān)鍵詞相較次之.
(2)實(shí)驗(yàn)二.與其他模型的對(duì)比實(shí)驗(yàn)
為了對(duì)比不同方法在關(guān)系抽取任務(wù)上的實(shí)驗(yàn)效果,而ATT-BiLSTM和CNN 模型常用于在關(guān)系抽取中,詞向量特征(WV)與位置特征(PF)是作為神經(jīng)網(wǎng)絡(luò)模型的固定特征.因此本文主要利用了這兩種經(jīng)典的神經(jīng)網(wǎng)絡(luò)模型和本文模型在同一數(shù)據(jù)上進(jìn)行測(cè)試比較.測(cè)試結(jié)果如表4和圖7所示.
表4 不同模型的實(shí)驗(yàn)對(duì)比(%)
通過(guò)表4可分析:
(1)ATT-BiLSTM 模型是一種最經(jīng)典的關(guān)系抽取模型,其優(yōu)勢(shì)主要在于其雙向結(jié)構(gòu),能夠獲取上下文信息,獲取整個(gè)語(yǔ)句的全局序列信息,因此在處理長(zhǎng)距離依賴問(wèn)題具有其他神經(jīng)網(wǎng)絡(luò)無(wú)可比擬的優(yōu)勢(shì),同時(shí)結(jié)合注意力機(jī)制,又融合詞向量與位置特征,在該數(shù)據(jù)集上取得84.83%的F1 值.然而該模型對(duì)于局部特征的重點(diǎn)語(yǔ)義信息很難捕捉到,且提取特征能力相對(duì)較差(相較于BERT的Transformer 結(jié)構(gòu)),因此在中文關(guān)系抽取上該模型性能并不占優(yōu).
(2)CNN 模型相較于ATT-BiLSTM 模型,它更善于提取句子的局部語(yǔ)義特征,同時(shí)結(jié)合詞向量與位置特征在本文中文數(shù)據(jù)集上達(dá)到了92.13%的F1 值,實(shí)驗(yàn)結(jié)果表明,相對(duì)于ATT-BiLSTM 模型而言,CNN 模型在關(guān)系抽取任務(wù)效果更好.但是CNN 過(guò)于注重局部信息而忽視了整體全局特征信息的重要性,因此CNN模型在全局特征的應(yīng)用和表征是有所欠缺的.
(3)BERT 預(yù)訓(xùn)練模型不同于BiLSTM和CNN 神經(jīng)網(wǎng)絡(luò),BERT 模型采用一種全新的Transformer 結(jié)構(gòu),它是基于注意力機(jī)制構(gòu)建的網(wǎng)絡(luò),該網(wǎng)絡(luò)把關(guān)注的重點(diǎn)放在每個(gè)句子中任意兩個(gè)詞之間的關(guān)聯(lián)程度,這樣的處理既可以獲取整個(gè)全局信息,同時(shí)又重點(diǎn)考慮了局部特征,可以說(shuō)該模型在很大程度上綜合這兩種神經(jīng)網(wǎng)絡(luò)模型的優(yōu)勢(shì).為了對(duì)比這3 種模型的性能,在不加任何外部特征的情況下對(duì)比其實(shí)驗(yàn)效果.正如表4所示,BERT 模型取得87.05%的F1 值,遠(yuǎn)高于ATTBiLSTM 模型和CNN 模型.因此也證實(shí)了BERT 模型在特征提取能力強(qiáng)于這兩者經(jīng)典神經(jīng)網(wǎng)絡(luò)模型.
對(duì)于關(guān)系抽取而言,該問(wèn)題的解決在很大程度上在于模型對(duì)整個(gè)文本的理解程度.因此為了使得模型更好地學(xué)習(xí)到數(shù)據(jù)的語(yǔ)義特征,本文在BERT 模型的基礎(chǔ)上融合了多種外部特征,減少了一些關(guān)鍵信息特征的丟失,從而讓模型更利于關(guān)系抽取.從實(shí)驗(yàn)結(jié)果來(lái)看,加入外部特征是有效可行的,這也表明了融合外部特征是可以進(jìn)一步加強(qiáng)BERT 模型的語(yǔ)義學(xué)習(xí)能力.與其他模型相比較,本文提出的模型具有相當(dāng)明顯的優(yōu)勢(shì).
圖7展示的是上述模型在前20 輪訓(xùn)練的F1 更新?tīng)顩r.從圖中可以看出,在訓(xùn)練初期時(shí),兩種神經(jīng)網(wǎng)絡(luò)就處于一個(gè)比較低的水平,只有在多次迭代訓(xùn)練后,性能才不斷往上升;而對(duì)于BERT 模型,一開(kāi)始就保持相當(dāng)高的水平,并且能夠穩(wěn)定保持,同時(shí)也能看到本文模型的F1 值始終處于BiLSTM和CNN 神經(jīng)網(wǎng)絡(luò)模型之上,這也就意味著B(niǎo)ERT 模型的性能穩(wěn)定性優(yōu)于ATT-BiLSTM 模型和CNN 模型.
圖7 F1的更新情況
本文主要探討了BERT 預(yù)訓(xùn)練模型在中文實(shí)體關(guān)系抽取的應(yīng)用.BERT 模型通過(guò)它特有的結(jié)構(gòu)能夠更好地學(xué)習(xí)到有效的語(yǔ)義特征,并在此基礎(chǔ)上融合了關(guān)鍵詞、實(shí)體信息以及實(shí)體類型三大外部特征,彌補(bǔ)了自動(dòng)提取特征的不足,又最大限度地降低了關(guān)鍵信息的損失,因此使模型學(xué)習(xí)到更多額外的語(yǔ)義特征,從而提升了關(guān)系抽取的性能.本文對(duì)數(shù)據(jù)稀疏和不均衡問(wèn)題沒(méi)有做過(guò)多的研究和分析,因此下一步需研究數(shù)據(jù)稀疏和不均衡問(wèn)題對(duì)該模型的影響.