劉月峰,段毅
(內(nèi)蒙古科技大學(xué)信息工程學(xué)院,包頭014010)
關(guān)系抽取[1]是自然語言處理領(lǐng)域的熱點任務(wù)之一,它是信息抽取、自動問答和知識圖譜補全等領(lǐng)域的子任務(wù)之一。關(guān)系抽取的目標是識別出文本語句中標記實體對之間的預(yù)先定義好的語義關(guān)系。例如,“姚明的妻子是葉莉”,姚明和葉莉是文本中的標記實體,關(guān)系抽取的目標就是去識別出姚明與葉莉兩個實體之間的夫妻關(guān)系。目前的關(guān)系抽取方法大致可以分為兩類,它們分別是基于依存句法關(guān)系的方法和基于序列的方法。基于依存句法關(guān)系的方法是將文本序列的語義依存樹提取到機器學(xué)習(xí)模型中,通過沿著語義依存樹形成的計算圖構(gòu)建出句子的分布式表示,然后再進行分類,但是這種方法易受符號間語義鴻溝的影響?;谛蛄械哪P蛯卧~序列進行編碼,使用卷積神經(jīng)網(wǎng)絡(luò)或循環(huán)神經(jīng)網(wǎng)絡(luò)將句子的文本序列編碼為向量化的語義特征,具有更高的魯棒性。另外,在實際環(huán)境下,由于人工數(shù)據(jù)標注的成本較為昂貴,精確而豐富的訓(xùn)練數(shù)據(jù)不易獲得,我們在實踐過程中收集到的往往是小樣本量的樣本數(shù)據(jù),現(xiàn)有的大多數(shù)機器學(xué)習(xí)模型往往依賴大量而且精確的訓(xùn)練數(shù)據(jù),并且由于樣本量過少,模型容易產(chǎn)生過擬合問題,導(dǎo)致在小樣本數(shù)據(jù)集上卻無法獲得令人滿意的結(jié)果。
本文提出一種基于密集連接思想的小樣本關(guān)系抽取框架。時間卷積網(wǎng)絡(luò)[2-3]如圖1所示,是一種在CNN的基礎(chǔ)上進行改進,能夠有效捕捉到更多長依賴數(shù)據(jù),減少信息損失,處理時間序列數(shù)據(jù)的網(wǎng)絡(luò)結(jié)構(gòu)。時間卷積網(wǎng)絡(luò)結(jié)合了全卷積和因果卷積的優(yōu)點,進行padding處理使模型的輸入和輸出長度相同,同時通過使用因果空洞卷積,獲取了更大的感受野,捕捉到了更長的語義依賴關(guān)系,卷積后的特征較少丟失。該框架借助于深度學(xué)習(xí)網(wǎng)絡(luò)強大的學(xué)習(xí)能力,將經(jīng)過預(yù)訓(xùn)練的文本序列的語義向量輸入到TCN網(wǎng)絡(luò),其中的空洞卷積過程能在問句向量序列中獲取更大的感受視野,提取到?jīng)]有“漏接”的過往問句語義信息,更好地減少了問句語義信息的損失。針對CNN[4-5]模型需要使用多層卷積才能延長對時間序列特征數(shù)據(jù)的建模問題,如圖1所示,TCN通過采用空洞卷積方法增大每層的感受野范圍,從而減少常規(guī)方法堆疊普通卷積層的數(shù)量??斩淳矸e與普通卷積的不同之處在于空洞卷積允許進行卷積操作時采用間隔采樣的方式,采樣率取決于膨脹因子設(shè)置的尺寸大小。增大TCN感受野有兩種方法:設(shè)置更大的卷積核尺寸和增加膨脹因子的大小。在空洞卷積操作過程中,膨脹因子的大小會隨著網(wǎng)絡(luò)深度的增加以指數(shù)方式增長,故卷積網(wǎng)絡(luò)能用較少的層數(shù)依然可以獲得較大的感受野。
圖1 原始TCN結(jié)構(gòu)圖
雖然TCN網(wǎng)絡(luò)結(jié)構(gòu)簡單,但是當使用小樣本數(shù)據(jù)集訓(xùn)練TCN網(wǎng)絡(luò)時,會十分容易產(chǎn)生過擬合現(xiàn)象。DenseNet網(wǎng)絡(luò)是計算機視覺領(lǐng)域中一個非常重要的結(jié)構(gòu)。DenseNet網(wǎng)絡(luò)將之前所有層的輸入和當前層輸出的特征向量拼接,再進行非線性變換。因為DenseNet通過這樣的拼接,所以輸出向量中包含了盡可能多的特征信息,該網(wǎng)絡(luò)每層卷積的通道數(shù)可以設(shè)計的相對較小。因此,針對小樣本數(shù)據(jù)集,它能很好地解決過擬合問題。本文的方法就是使用DenseNet密集連接的思想對時間卷積網(wǎng)絡(luò)進行在小樣本數(shù)據(jù)集進行改進。改進的密集連接時間卷積計算公式如公式(1)所示,f(x)代表時間卷積網(wǎng)絡(luò)的因果空洞卷積操作,y代表模型最終輸出的預(yù)測向量。
如圖2所示,改進TCN網(wǎng)絡(luò)使用密集連接思想取每個輸出通道的最后一個值進行拼接作為空洞卷積層的輸入特征,進行特征映射與空洞卷積操作。
圖2 小樣本知識庫預(yù)測框架
由于提取出來的部分特征直接來自于進行詞嵌入處理后的數(shù)據(jù),直接進行關(guān)系抽取,在這個數(shù)據(jù)集上最終的準確度會有所損失,因此需要再連接一個映射模塊將特征進一步處理,此處的映射模塊舍棄了池化層,由卷積核大小為3的卷積層和BatchNorm層構(gòu)成,該模塊利用卷積操作對特征進行處理的同時可減少通道數(shù)量,從而有效降低最后的特征維度,而BatchNorm層具有抑制過擬合的能力,能夠緩解過擬合問題,最后使用log_softmax函數(shù)對上一層輸出的特征進行處理就得到了對應(yīng)各個關(guān)系類別分類概率的概率預(yù)測向量,跟文本對應(yīng)的標簽對比,進行梯度更新。
本文使用的訓(xùn)練數(shù)據(jù)是從新華網(wǎng)、人民網(wǎng)、中國新聞網(wǎng)等網(wǎng)站中抽取出來的新聞?wù)Z料,這些新聞?wù)Z料都是國家權(quán)威新聞單位發(fā)布的,語料質(zhì)量比較可靠、客觀、規(guī)范。我們使用Python爬蟲技術(shù)爬取了從2019年12月1日至2019年12月31日新聞?wù)Z料,把這些語料排除標題、關(guān)鍵字,把新聞?wù)奈谋痉指畛鰡蝹€語義樣本,并進行關(guān)系標注,最后根據(jù)合理的比例把這些語義樣本隨機劃分為訓(xùn)練集、驗證集、測試集,構(gòu)建成為小樣本關(guān)系抽取數(shù)據(jù)集。關(guān)系抽取的任務(wù)是識別出單個語言樣本中的關(guān)系類別。
原始新聞?wù)Z料的提取使用Python爬蟲技術(shù),從獲得新聞網(wǎng)頁的URL地址到提取出新聞?wù)Z料的標題、關(guān)鍵字、正文,最終形成原始新聞?wù)Z料,需要進行以下幾個過程:首先,利用requests請求獲得新聞網(wǎng)頁的URL列表;然后在瀏覽器的開發(fā)者工具查看頁面的DOM樹,根據(jù)網(wǎng)站的DOM樹結(jié)構(gòu)映射出新聞頁面的標題、作者、正文的HTML標簽;最后利用XPath API提取出相應(yīng)的內(nèi)容,構(gòu)造出最后的原始新聞?wù)Z料。
實驗運行在谷歌CoLab平臺上,CoLab平臺顯卡型號為NVIDIA Tesla P100,驅(qū)動版本SIM為410.129,CUDA版本為10.0,顯存11G。所用深度學(xué)習(xí)框架為CUDA 10.1和PyTorch 1.6.0。本文采用Adam算法進行參數(shù)更新。我們采用glove詞向量,詞嵌入維度input_size設(shè)置為300,卷積核尺寸k設(shè)置為3,每層的隱藏單元數(shù)hidden設(shè)置為300,卷積層的dropout設(shè)置為0.45,初始學(xué)習(xí)率設(shè)置為0.03。網(wǎng)絡(luò)的膨脹因子設(shè)置為2,與TCN的膨脹因子相同。經(jīng)感受野計算公式可知,網(wǎng)絡(luò)至少需要6層卷積,網(wǎng)絡(luò)通道數(shù)設(shè)置為12。實驗采取早停機制,當在驗證集上在10個epochs訓(xùn)練獲得最好的結(jié)果,就停止訓(xùn)練,保存模型的參數(shù)列表。
實驗結(jié)果如表1所示,我們分別比較CNN、LSTM、原始TCN以及我們的基于密集連接思想的關(guān)系抽取模型進行關(guān)系預(yù)測的效果,實驗表明使用密集連接思想的改進TCN模型的關(guān)系預(yù)測方法性能有明顯提升,這是因為基于密集連接思想的關(guān)系抽取方法采用計算機視覺領(lǐng)域密集連接的思想,盡可能多地提取出文本序列中的語義信息,再進行關(guān)系抽取,緩解了模型過擬合問題,有效提高了小樣本預(yù)測分類的性能、取得了在小樣本關(guān)系預(yù)測問題上相對有競爭力的結(jié)果。
表1 關(guān)系抽取測試結(jié)果
為了更有效地證明基于密集連接思想的關(guān)系預(yù)測模型的有效性,本文對比了測試集上CNN模型和改進TCN模型的Top5準確度,如圖3所示,基于密集連接思想的關(guān)系預(yù)測模型(Improving TCN)在不同學(xué)習(xí)率設(shè)置的情況下,小樣本關(guān)系分類性能明顯優(yōu)于普通的CNN模型。
圖3 CNN和基于密集連接模型的準確率對比
本文為了能夠充分利用小樣本數(shù)據(jù)來訓(xùn)練關(guān)系抽取模型,更加有效地獲取小樣本訓(xùn)練數(shù)據(jù)中包含的語義信息,預(yù)防模型產(chǎn)生過擬合問題,借鑒計算機視覺領(lǐng)域的經(jīng)驗,提出了一種基于密集連接思想的小樣本關(guān)系預(yù)測模型,對文本序列數(shù)據(jù)使用因果空洞卷積操作取代堆疊CNN的方式捕捉文本序列依賴關(guān)系;使用密集連接機制取代殘差處理盡可能多地保留語義信息,能夠緩解由于數(shù)據(jù)量過少產(chǎn)生的過擬合問題,獲取更多的語義特征。實驗結(jié)果表明,本文使用的模型與其他單一模型相比在小樣本關(guān)系抽取的準確度上有著進一步的提高。