王琦菲,張大為
(遼寧師范大學(xué) 計(jì)算機(jī)與信息技術(shù)學(xué)院,遼寧 大連 116000)
隨著深度學(xué)習(xí)和大數(shù)據(jù)技術(shù)的發(fā)展,文本分類取得了巨大的成功,但在實(shí)際應(yīng)用中,常常存在小樣本和類別不均衡現(xiàn)象。小樣本學(xué)習(xí)(Few-shot Learning)指的是通過有限的數(shù)據(jù)樣本使模型獲得較為穩(wěn)定分類效果的機(jī)器學(xué)習(xí)方法[1]。最早在計(jì)算機(jī)視覺領(lǐng)域被提出,在圖像領(lǐng)域也取得了許多較好的研究成果,受限于文本特征提取比圖像更加困難,在自然語言處理領(lǐng)域發(fā)展較為緩慢。近年來在文本領(lǐng)域的小樣本學(xué)習(xí)研究工作主要集中在基于微調(diào)、基于數(shù)據(jù)增強(qiáng)和基于遷移學(xué)習(xí)等領(lǐng)域。遷移學(xué)習(xí)是目前最為前沿的方法,主要包括基于度量學(xué)習(xí)、基于元學(xué)習(xí)和基于圖神經(jīng)網(wǎng)絡(luò)等方法。
基于圖神經(jīng)網(wǎng)絡(luò)的方法由于性能較好、易于解釋,已經(jīng)成為一種廣泛應(yīng)用的方法。Yao L[2]認(rèn)為傳統(tǒng)的深度學(xué)習(xí)文本分類方法,例如RNN(Recurrent Neural Networks,簡稱RNN)、LSTM(Long Short Term Memory,簡稱LSTM)等存在忽略詞共現(xiàn)和需要大數(shù)量訓(xùn)練樣本的問題,只優(yōu)先考慮文本的局部信息和遠(yuǎn)距離文本信息,而不考慮全局的詞共現(xiàn)信息,可能導(dǎo)致詞共現(xiàn)中包含的長距離和不連續(xù)的語義信息缺失,需要大量的數(shù)據(jù)樣本進(jìn)行訓(xùn)練,致使小樣本文本分類難以達(dá)到理想效果。考慮到上述不足,Yao 提出TextGCN(Text Graph Convolutional Networks,簡稱TextGCN)模型,通過構(gòu)建一個(gè)大型的異構(gòu)文本圖,將單詞和文檔作為圖的點(diǎn),邊由詞節(jié)點(diǎn)和詞節(jié)點(diǎn)的權(quán)重、詞節(jié)點(diǎn)和文檔節(jié)點(diǎn)的權(quán)重兩部分構(gòu)成,使用兩層圖卷積網(wǎng)絡(luò)實(shí)現(xiàn)文本分類,該模型首次將圖神經(jīng)網(wǎng)絡(luò)從圖像領(lǐng)域遷移到文本領(lǐng)域,并取得良好的分類效果;Huang[3]針對TextGCN 在整個(gè)語料庫中建圖需要消耗大量存儲空間的問題進(jìn)行改進(jìn),對每個(gè)輸入的文本數(shù)據(jù)單獨(dú)構(gòu)圖,并引入滑動窗口記作p,將文本中的單詞只與左右p個(gè)單詞相連,而非全部單詞節(jié)點(diǎn)相連,該方法減少了單個(gè)文本與整個(gè)語料庫之間的依賴,降低了存儲空間的消耗;Zhang[4]為了引入文本之間非連續(xù)和長距離的單詞交互,提出TextING 分類模型,通過圖神經(jīng)網(wǎng)絡(luò)模型來學(xué)習(xí)局部結(jié)構(gòu)的單詞表示;針對GCN(Graph Convolutional Networks,簡稱GCN)模型采用對稱的拉普拉斯矩陣,不能直接用于有向圖,無法為每個(gè)鄰居分配不同的權(quán)重問題,Velikovi[5]提出圖注意力網(wǎng)絡(luò)GAT,為不同的節(jié)點(diǎn)分配不同的權(quán)重,同時(shí)訓(xùn)練時(shí)不依賴具體的網(wǎng)絡(luò)結(jié)構(gòu),該結(jié)構(gòu)只依賴成對的相鄰節(jié)點(diǎn),可以很好地解決GCN 的缺陷。
通過觀察GAT 模型在真實(shí)和公開數(shù)據(jù)集的分類效果,可以看出對數(shù)據(jù)樣本的均衡性有很高的要求。在實(shí)際應(yīng)用中小樣本和不均衡的文本數(shù)據(jù)分類的需求隨處可見,導(dǎo)致GAT 的分類效果難以體現(xiàn)。本文以主觀作業(yè)的主題分類為例,針對作業(yè)規(guī)模較小、負(fù)主題樣本較小的情況,提出采用均衡補(bǔ)償方法進(jìn)行少樣本補(bǔ)償?shù)腂C-GAT 主題分類方法。通過公開和真實(shí)數(shù)據(jù)集的實(shí)驗(yàn)表明,主題分類效果得到了顯著改善。
本文采用基本GAT 模型作為小樣本文本數(shù)據(jù)主題分類器,通過前饋神經(jīng)網(wǎng)絡(luò)計(jì)算注意力系數(shù),eij表示j節(jié)點(diǎn)對i節(jié)點(diǎn)的注意力系數(shù),計(jì)算公式(1):
其中,Ni表示i節(jié)點(diǎn)的鄰居節(jié)點(diǎn);∝表示圖注意力計(jì)算函數(shù);hi表示輸入層的節(jié)點(diǎn)特征;W表示矩陣。
為了使系數(shù)在不同節(jié)點(diǎn)之間的相互比較,使用softmax 函數(shù)將所有鄰居節(jié)點(diǎn)的注意力系數(shù)歸一化作為特征權(quán)重,通過將鄰居節(jié)點(diǎn)加權(quán)求和的方式得到新的特征。節(jié)點(diǎn)j到i的注意力系數(shù)αij計(jì)算方式為
其中,LeakyReLU為激活函數(shù),“‖”為向量拼接操作。
本文對數(shù)據(jù)增強(qiáng)采用EDA 算法和網(wǎng)絡(luò)爬蟲兩種方式,其中EDA 算法主要采用同義詞替換、隨機(jī)插入、隨機(jī)交換、隨機(jī)刪除4 種方式[6];而網(wǎng)絡(luò)爬蟲方法則利用Requests 庫中的GET 方式向?yàn)g覽器發(fā)出關(guān)鍵詞搜索請求,獲取相應(yīng)的網(wǎng)頁信息并對其進(jìn)行過濾,利用Lxml 網(wǎng)頁解析器對網(wǎng)頁信息進(jìn)行解析從而實(shí)現(xiàn)文本擴(kuò)充。
補(bǔ)償樣本關(guān)鍵詞的提取方法采用TextRank 算法,將文本抽象為詞圖模型記作G =(E,V),V是由候選關(guān)鍵詞矩陣組成的節(jié)點(diǎn)集,E是利用共現(xiàn)窗口構(gòu)建圖中兩節(jié)點(diǎn)之間的邊,迭代計(jì)算每個(gè)頂點(diǎn)的權(quán)值,收斂時(shí)權(quán)值排名在前的點(diǎn)即為文本關(guān)鍵詞。每個(gè)頂點(diǎn)權(quán)值的計(jì)算公式為
其中,d為阻尼系數(shù);vi和vj均為詞語節(jié)點(diǎn);ln(vi) 是指向詞語節(jié)點(diǎn)vi的詞語節(jié)點(diǎn)集合;Out(vj)是詞語節(jié)點(diǎn)vj指向的詞語節(jié)點(diǎn)集合。
本文提出一種基于GAT 的小樣本均衡補(bǔ)償文本主題分類模型BC-GAT(Balanced compensation-Graph Attention Network,簡稱BC-GAT),旨在解決GAT 模型針對數(shù)據(jù)傾斜樣本分類結(jié)果傾向大比例樣本集的問題?;舅枷胧菍斎隚AT 模型中具有數(shù)據(jù)傾斜特征原始數(shù)據(jù)進(jìn)行均衡補(bǔ)償,在不引入干擾數(shù)據(jù)的前提下,有效提高小樣本不均衡樣本的分類正確率。
分析小樣本數(shù)據(jù)集分類問題中存在的情況,給出如下解決方案:
(1)針對樣本中特定類別極少現(xiàn)象,可以對小比例樣本進(jìn)行同源擴(kuò)充或非同源擴(kuò)充;
(2)針對樣本中特定類別缺失現(xiàn)象,無法對類別缺失的樣本進(jìn)行同源擴(kuò)充,只能非同源擴(kuò)充。
BC 包含兩種:同源擴(kuò)充方法可以采用EDA 算法直接進(jìn)行數(shù)據(jù)增強(qiáng),非同源擴(kuò)充方法可以通過TextRank 算法提取全部樣本中靠后的關(guān)鍵詞,通過關(guān)鍵詞爬取相關(guān)文本內(nèi)容并進(jìn)行過濾,然后投入到欠均衡樣本集,使其達(dá)到數(shù)據(jù)均衡的效果。
均衡補(bǔ)償(BC)樣本的具體方法描述如下:
算法1BC 算法
輸入不均衡的訓(xùn)練集和測試集
輸出均衡的訓(xùn)練集和測試集
(1)利用TextRank 算法提取全部樣本中排名靠后的關(guān)鍵詞;
(2)針對樣本特征選擇同源擴(kuò)充或非同源擴(kuò)充方式,從而實(shí)現(xiàn)小比例樣本的數(shù)據(jù)增強(qiáng);
(3)將擴(kuò)充后的樣本并寫入文本數(shù)據(jù)庫。
對均衡補(bǔ)償后的樣本進(jìn)行分詞、去停用詞等一系列預(yù)處理。把整個(gè)語料庫轉(zhuǎn)換為一個(gè)有向圖G =(V,E)。V表示點(diǎn)的集合,即由單詞與文檔構(gòu)成;E為邊,由詞節(jié)點(diǎn)和詞節(jié)點(diǎn)的權(quán)重,詞節(jié)和文檔節(jié)點(diǎn)的權(quán)重兩部分構(gòu)成。通過圖注意力網(wǎng)絡(luò)賦予節(jié)點(diǎn)相應(yīng)的權(quán)重來獲取節(jié)點(diǎn)之間的依賴信息,利用公式(1)計(jì)算節(jié)點(diǎn)的注意力系數(shù);使用softmax 函數(shù)將所有鄰居節(jié)點(diǎn)的注意力系數(shù)歸一化,利用公式(2)鄰居節(jié)點(diǎn)的注意力系數(shù),將所有鄰居節(jié)點(diǎn)的注意力系數(shù)加權(quán)求和,得到新的特征;通過Softmax 層獲得文本類別的概率分布,并輸出文檔節(jié)點(diǎn)的類別標(biāo)簽。
本文實(shí)驗(yàn)使用以下兩個(gè)數(shù)據(jù)集。
(1)MR 數(shù)據(jù)集。用于二元情感分類的電影評論數(shù)據(jù)集,每個(gè)評論只包含一句話,且每條評論都有情感正負(fù)標(biāo)記,且正負(fù)樣本數(shù)量絕對均衡;
(2)文本主觀類型作業(yè)。選取遼寧師范大學(xué)2015 級至2019 級軟件工程和軟件工程設(shè)計(jì)兩門課中的文本類型作業(yè)作為實(shí)驗(yàn)數(shù)據(jù),包括隨筆寫作、需求描述、實(shí)驗(yàn)報(bào)告1、實(shí)驗(yàn)報(bào)告2 和綜合型實(shí)驗(yàn)報(bào)告,其中每組作業(yè)在40-60 份之間,合計(jì)1 240 份作業(yè)。為了方便主題分類結(jié)果的實(shí)驗(yàn)對比,由5 位評閱人對每份作業(yè)的主題貼合度進(jìn)行評價(jià),取平均值作為作業(yè)的實(shí)際主題標(biāo)注結(jié)果,作業(yè)詳情見表1。
表1 文本主觀作業(yè)Tab.1 Text subjective assignment
本文實(shí)驗(yàn)采用Pytorch 深度學(xué)習(xí)框架,Python編程語言實(shí)現(xiàn),分詞工具采用jieba,并使用GPU 環(huán)境加速模型訓(xùn)練。其中GAT 模型的學(xué)習(xí)率0.02,dropout 率為0.5,迭代次數(shù)為100 次。評價(jià)指標(biāo)采用準(zhǔn)確率(Percision)、召回率(Recall)和F值。
3.2.1 MR 數(shù)據(jù)集實(shí)驗(yàn)結(jié)果與分析
為了驗(yàn)證GAT 模型對小樣本不均衡數(shù)據(jù)集的分類效果,選取MR 數(shù)據(jù)集中400 個(gè)正樣本和400個(gè)負(fù)樣本作為訓(xùn)練集,100 個(gè)正樣本和100 個(gè)負(fù)樣本作為測試集;取400 個(gè)正樣本、40 個(gè)負(fù)樣本作為訓(xùn)練集,100 個(gè)正樣本、10 個(gè)負(fù)樣本為測試集,并將上述兩個(gè)樣本集投入GAT 模型進(jìn)行分類,結(jié)果見表2。
表2 應(yīng)用于MR 數(shù)據(jù)集的GAT 模型實(shí)驗(yàn)結(jié)果Tab.2 Experimental results of GAT model applied to MR data set
由表2 可知,當(dāng)正負(fù)樣本分布比例為1 ∶1 時(shí),正樣本、負(fù)樣本和總樣本的準(zhǔn)確率、召回率和F值均在60%以上。但當(dāng)正負(fù)樣本分布比例為10 ∶1時(shí),負(fù)樣本的召回率和精準(zhǔn)率過低,即沒有被正確識別。通過GAT 在公開數(shù)據(jù)集的實(shí)驗(yàn)效果可以證明,GAT 模型雖然可以適用于小樣本數(shù)據(jù)集的分類,但是無法解決由于樣本數(shù)據(jù)不均衡導(dǎo)致的過擬合問題。這種不均衡現(xiàn)象主要體現(xiàn)在不同類別的樣本數(shù)量上存在極大的差距,不均衡的數(shù)據(jù)集使模型難以達(dá)到對數(shù)據(jù)的最佳擬合,即少數(shù)量類別樣本被誤分到多數(shù)量類別樣本中,即少數(shù)量類別樣本沒有辦法被正確識別。
采用EDA 算法對表2 中實(shí)驗(yàn)二的小比例樣本進(jìn)行擴(kuò)充,即將原始正負(fù)樣本比例為10 ∶1 的數(shù)據(jù)均衡成1 ∶1,實(shí)驗(yàn)結(jié)果見表3。
表3 應(yīng)用于MR 數(shù)據(jù)集的BC-GAT 方法實(shí)驗(yàn)結(jié)果Tab.3 Experimental results of BC-GAT model applied to MR data set
由表2 和表3 可知,使用GAT 模型訓(xùn)練正負(fù)樣本分布比例為10 ∶1 的數(shù)據(jù)集時(shí),盡管正樣本和總樣本的準(zhǔn)確率、召回率和F值均在0.8 以上,但是負(fù)樣本的準(zhǔn)確率、召回率和F值為0.5,0.1 和0.16,顯然此時(shí)的實(shí)驗(yàn)結(jié)果并不可靠。因?yàn)閿?shù)據(jù)集中最為關(guān)注的負(fù)樣本并沒有被正確識別,總樣本識別準(zhǔn)確率較高也是由于數(shù)據(jù)集中正樣本被有效識別導(dǎo)致的。而使用BC-GAT 方法進(jìn)行訓(xùn)練之后,負(fù)樣本的準(zhǔn)確率、召回率、F值分別為0.82、0.88 和0.85,負(fù)樣本的準(zhǔn)確率提升了0.3,此時(shí)絕大多數(shù)的負(fù)樣本被有效識別,證明BC-GAT 方法中通過對負(fù)樣本進(jìn)行數(shù)據(jù)增強(qiáng),使正負(fù)樣本的數(shù)量達(dá)到平衡這一思想是有效的,可以解決小樣本不均衡文本分類問題。
3.2.2 文本主觀類型作業(yè)實(shí)驗(yàn)結(jié)果與分析
在實(shí)際應(yīng)用中經(jīng)常存在數(shù)據(jù)集類別分布極度不均衡的情況,以高校課堂中被廣泛使用的文本主觀作業(yè)為例,符合主題的作業(yè)一般占據(jù)大部分,不符合主題的作業(yè)往往占據(jù)小部分。本文對文本主觀類型作業(yè)進(jìn)行實(shí)驗(yàn),以此證明模型的有效性。分別抽取某一年級的全部作業(yè)作為測試集,其他年級的作業(yè)作為訓(xùn)練集,并將其分別投入GAT 模型和BC-GAT模型中進(jìn)行實(shí)驗(yàn),結(jié)果見表4 和表5。
表4 隨筆、實(shí)驗(yàn)報(bào)告2 和綜合型實(shí)驗(yàn)報(bào)告的識別準(zhǔn)確率Tab.4 The identification accuracy rate of essay,experimental report 2 and comprehensive report
表5 需求描述和實(shí)驗(yàn)報(bào)告1 的識別準(zhǔn)確率Tab.5 The recognition accuracy of requirement description and experimental report 1
由表4 可知,當(dāng)樣本中存在特定類別極少現(xiàn)象時(shí),無論是采用EDA 算法還是網(wǎng)絡(luò)爬蟲算法對小比例類別樣本進(jìn)行均衡補(bǔ)償,其負(fù)樣本識別的準(zhǔn)確率、召回率、F值比采用GAT 模型有著明顯的提升。同時(shí),BC-GAT 方法得出的正樣本、負(fù)樣本和總樣本的準(zhǔn)確率均在0.9 以上,證明BC-GAT 方法可以有效規(guī)避GAT 模型在迭代過程中由于類別不均衡所導(dǎo)致的過擬合問題,可以作為小樣本不均衡的文本主題分類方法。
兩種均衡補(bǔ)償?shù)姆椒ň懈髯缘膬?yōu)勢和適用范圍,EDA 算法簡單有效,但是針對樣本中存在特定類別缺失現(xiàn)象時(shí),難以采用EDA 算法將進(jìn)行均衡補(bǔ)償,可以采用網(wǎng)絡(luò)爬蟲算法。由表5 可知,正樣本、負(fù)樣本和總樣本的識別準(zhǔn)確率均在0.9 以上,該設(shè)定使模型即使在沒有負(fù)樣本的情況下也可以有效實(shí)現(xiàn)主題分類,更具有靈活性。
本文提出一種不均衡樣本分類的優(yōu)化模型BC-GAT,通過對數(shù)據(jù)集中小比例類別樣本進(jìn)行均衡補(bǔ)償?shù)姆绞綄AT 模型進(jìn)行優(yōu)化。通過公開和真實(shí)數(shù)據(jù)集的實(shí)驗(yàn)表明,BC-GAT 模型中正負(fù)樣本識別準(zhǔn)確率均在0.9 以上,可以有效解決實(shí)際應(yīng)用中存在的小樣本且數(shù)據(jù)傾斜問題。后續(xù)的研究工作對GAT 模型進(jìn)行改進(jìn),從而提高BC-GAT 模型的準(zhǔn)確率。