王雯慧,靳大尉
(陸軍工程大學(xué)指揮控制工程學(xué)院,江蘇 南京 210000)
分類(lèi)任務(wù)是數(shù)據(jù)挖掘領(lǐng)域中一個(gè)重要的研究任務(wù),普通的分類(lèi)模型通常是在數(shù)據(jù)集中各類(lèi)別的樣本數(shù)量差距很小且對(duì)于每個(gè)類(lèi)別的誤分代價(jià)相等的假設(shè)上訓(xùn)練的,當(dāng)使用不平衡數(shù)據(jù)集訓(xùn)練傳統(tǒng)的分類(lèi)器時(shí)經(jīng)常會(huì)出現(xiàn)模型對(duì)于少數(shù)類(lèi)的預(yù)測(cè)精度很低的問(wèn)題,因此如何對(duì)不平衡數(shù)據(jù)進(jìn)行有效的分類(lèi)一直是機(jī)器學(xué)習(xí)領(lǐng)域的研究熱點(diǎn)[1,2]。
文本分類(lèi)任務(wù)是對(duì)文本依據(jù)文本的主題內(nèi)容等進(jìn)行的分類(lèi)。在文本分類(lèi)領(lǐng)域文本數(shù)據(jù)經(jīng)常處于不平衡狀態(tài),熱度較高的解決不平衡分類(lèi)導(dǎo)致的誤分率較高問(wèn)題的方法包括降采樣、過(guò)采樣、集成學(xué)習(xí)以及代價(jià)敏感函數(shù)。Cieslak等[3]提出的降采樣技術(shù),Chawla 等[4]提出的經(jīng)典過(guò)采樣技術(shù)SMOTE(Synthetic M-inority Oversampling Technique),雖然兩者在一定程度上緩解了數(shù)據(jù)集不平衡的問(wèn)題,但是前者可能會(huì)打破樣本分布規(guī)律,甚至導(dǎo)致重要特征信息的缺失,后者由于生成的小類(lèi)樣本是在原本的小類(lèi)樣本數(shù)據(jù)連線上,可能會(huì)造成樣本因密度增加導(dǎo)致模型過(guò)擬合。Galarm等人[5]利用集成學(xué)習(xí)技術(shù)雖然的到了一個(gè)泛化能力更好的分類(lèi)器,但該方法對(duì)于子分類(lèi)器的質(zhì)量過(guò)度依賴(lài),無(wú)法保證集成效果。代價(jià)函數(shù)通過(guò)給小樣本類(lèi)賦予更高的誤分代價(jià)使得模型訓(xùn)練更關(guān)注小樣本,但其的參數(shù)確定大多依賴(lài)經(jīng)驗(yàn),使得損失代價(jià)的估計(jì)并不能客觀設(shè)置。
本文結(jié)合過(guò)采樣和代價(jià)敏感方法的思想,提出了一種基于EDA[6]文本增強(qiáng)技術(shù)以及改進(jìn)Focal Loss 損失函數(shù)的不平衡文本分類(lèi)模型訓(xùn)練算法。該算法利用文本增強(qiáng)技術(shù)從數(shù)據(jù)層面緩解不平衡度,創(chuàng)新自動(dòng)化的代價(jià)敏感函數(shù)參數(shù)設(shè)定方法進(jìn)行研究,同時(shí)避免了過(guò)采樣樣本密度增加導(dǎo)致的過(guò)擬合和代價(jià)敏感函數(shù)參數(shù)設(shè)定不客觀的問(wèn)題。實(shí)驗(yàn)結(jié)果表明,本文提出的基于EDA文本增強(qiáng)技術(shù)以及改進(jìn)的Focal Loss 損失函數(shù)的不平衡文本分類(lèi)模型對(duì)于不平衡文本的分類(lèi)有較好的效果提升。
依據(jù)文本增強(qiáng)的原理不同,文本增強(qiáng)的技術(shù)可以分為面向原始文本的增強(qiáng)方法[6-10]和面向文本表示的增強(qiáng)方法[11-13]兩種。Jason Wei等人提出了一套簡(jiǎn)單的用于自然語(yǔ)言處理的通用數(shù)據(jù)擴(kuò)充技術(shù)EDA[6],并針對(duì)其在英文文本上的應(yīng)用效果進(jìn)行了研究。
在小樣本中文文本數(shù)據(jù)上,假設(shè)一個(gè)小類(lèi)樣本集為S={s1,s2,s3,……,sn},那么小類(lèi)樣本集中某個(gè)樣本si可以表示為si={w1,w2,w3,……,wn}。增強(qiáng)句子數(shù)N代表進(jìn)行相應(yīng)操作的次數(shù),EDA技術(shù)對(duì)文本數(shù)據(jù)樣本進(jìn)行如下操作:
● 以概率p1對(duì)文本中的某個(gè)詞語(yǔ)wj進(jìn)行刪除操作,形成新的樣本,記為操作O1;
● 以概率p2對(duì)文本中的某個(gè)詞語(yǔ)wj進(jìn)行替換操作,替換詞為其同義詞,最終形成新的樣本,記為操作O2;
● 以概率p3在文本中的某個(gè)詞語(yǔ)wj后插入詞表中任意非停止詞的隨機(jī)單詞w,最終形成新的樣本,記為操作O3;
● 以概率p4對(duì)文本中的某個(gè)詞語(yǔ)wj與其后面的詞語(yǔ)wj+1進(jìn)行位置交換,最終形成新的樣本,記為操作O4;
EDA方法具有“多、快、好、省”的特點(diǎn),本文引入該技術(shù)進(jìn)行中文文本數(shù)據(jù)增強(qiáng)。
Nal Kalchbrenner等人提出了DCNN模型[14]實(shí)現(xiàn)了對(duì)任意長(zhǎng)度的文本的語(yǔ)義建模。
DCNN模型主要包括Embedding層、動(dòng)態(tài)卷積k-max池化層和Concat層:Embedding層是完成訓(xùn)練數(shù)據(jù)的基本語(yǔ)義表示,然后經(jīng)由三個(gè)動(dòng)態(tài)卷積k-max采樣操作提取不同層次的語(yǔ)義表示。在動(dòng)態(tài)卷積k-max采樣中,采用補(bǔ)0操作確保對(duì)輸入序列邊緣詞語(yǔ)語(yǔ)義信息的捕捉;動(dòng)態(tài)k-max池化將矩陣向量最大的前k個(gè)特征進(jìn)行保留,使得輸出中保留更多的高級(jí)語(yǔ)義信息。Concat層則是將這三種不同層次的語(yǔ)義表示進(jìn)行拼接,最后利用softmax函數(shù)完成對(duì)樣本類(lèi)別的預(yù)測(cè)。
該模型可以針對(duì)不同長(zhǎng)度的文本進(jìn)行建模同時(shí)保留語(yǔ)序信息,適用于實(shí)驗(yàn)需求。此外,從模型的復(fù)雜度來(lái)說(shuō),DCNN模型較為簡(jiǎn)單,對(duì)算法更敏感,有助于驗(yàn)證算法的優(yōu)越性。
2018年Facebook人工智能實(shí)驗(yàn)室提出Focal Loss函數(shù)[15],該函數(shù)通過(guò)降低不平衡樣本中模型簡(jiǎn)單樣本的權(quán)重達(dá)到提高對(duì)困難分類(lèi)的效果。
二分類(lèi)問(wèn)題中,常用的交叉熵?fù)p失函數(shù)設(shè)定如下
(1)
Focal Loss對(duì)交叉熵?fù)p失函數(shù)加入γ因子,將其改進(jìn)為
(2)
γ因子使模型更關(guān)注困難分類(lèi)樣本,同時(shí)將易分類(lèi)樣本的損失降低。在此基礎(chǔ)上,還加入平衡因子α,以針對(duì)樣本本身不平衡性進(jìn)行調(diào)節(jié)
(3)
通過(guò)調(diào)節(jié)α對(duì)大類(lèi)樣本以及易分類(lèi)樣本的損失函數(shù)值降低,使得模型在訓(xùn)練過(guò)程中更加關(guān)注小類(lèi)樣本和困難分類(lèi)樣本。
如上文所述,Focal Loss 損失函數(shù)是在通用交叉熵?fù)p失函數(shù)的基礎(chǔ)上,引入γ因子和平衡因子α,增強(qiáng)模型對(duì)于難分類(lèi)小樣本的關(guān)注度。然而難分類(lèi)樣本與易分類(lèi)樣本其實(shí)是一個(gè)動(dòng)態(tài)概念,也就是說(shuō)α?xí)S著訓(xùn)練過(guò)程而變化。原先易分類(lèi)樣本即α大的樣本,可能隨著訓(xùn)練過(guò)程變化為難訓(xùn)練樣本即α小的樣本。當(dāng)這種情況發(fā)生時(shí),如果α參數(shù)保持不變可能會(huì)造成模型收斂速度慢的問(wèn)題。
針對(duì)Focal loss無(wú)法其支持連續(xù)數(shù)值的監(jiān)督的問(wèn)題,李翔等人提出了Generalized Focal loss[16],但是并未解決平衡因子α動(dòng)態(tài)變化的問(wèn)題。通常情況下平衡因子α需要通過(guò)繁瑣的調(diào)參過(guò)程確定為一個(gè)最優(yōu)的固定值,這不僅需要消耗大量的算力與時(shí)間,還忽略了難易訓(xùn)練樣本之間相互轉(zhuǎn)換的動(dòng)態(tài)性。所以本文基于動(dòng)態(tài)的分類(lèi)模型訓(xùn)練過(guò)程,借鑒梯度下降的思想來(lái)遞歸性地逼近最佳的平衡因子α,提出平衡因子α的動(dòng)態(tài)計(jì)算方法如下
(4)
同時(shí)必須滿足0<αt<1。
其中t代表訓(xùn)練輪次,n為訓(xùn)練中用以測(cè)試的小樣本數(shù)量,n′為模型預(yù)測(cè)結(jié)果中小樣本數(shù)量,β為隨機(jī)變化參數(shù),為(0,1)之內(nèi)的隨機(jī)值。
當(dāng)預(yù)測(cè)結(jié)果中小樣本分類(lèi)數(shù)量多于真實(shí)小樣本數(shù)量,則說(shuō)明模型對(duì)小樣本數(shù)據(jù)的傾向度相較于所需的對(duì)于小樣本的傾向度偏大,此時(shí)的變化步長(zhǎng)為負(fù)值,則會(huì)一定程度減小下次訓(xùn)練中的平衡因子α,即減小對(duì)于小樣本數(shù)據(jù)的關(guān)注度。
根據(jù)何愷明等人實(shí)驗(yàn)結(jié)果[15],初始輪次中的平衡因子α設(shè)定為0.25,設(shè)定γ因子值為2。最終動(dòng)態(tài)Focal Loss 函數(shù)可表示為
(5)
本文利用EDA文本增強(qiáng)技術(shù),在數(shù)據(jù)層面緩解數(shù)據(jù)不平衡的基礎(chǔ)上,利用上文所述動(dòng)態(tài)Focal loss損失函數(shù),結(jié)合DCNN模型,提出一種不平衡文本分類(lèi)算法用以訓(xùn)練不平衡文本分類(lèi)器。算法結(jié)構(gòu)如圖1。
圖1 一種不平衡文本分類(lèi)算法結(jié)構(gòu)
本文所提出的算法具體步驟如下:
算法1 基于改進(jìn)Focal Loss和EDA技術(shù)的不平衡文本分類(lèi)算法
輸入:訓(xùn)練數(shù)據(jù)集:小樣本數(shù)據(jù)集S={s1,s2,s3,……,sn},大樣本數(shù)據(jù)集S′={s1,s2,s3,……,sm},T為迭代次數(shù);
輸 出:不平衡文本分類(lèi)模型G,模型損失函數(shù)值。
1)統(tǒng)計(jì)少數(shù)類(lèi)樣本數(shù)量n;
2)初始化EDA技術(shù)增強(qiáng)參數(shù):p1=0.1,p2=0.1,p3=0.1,p4=0.1,N=6;
3)For i=1 to n:
For k=1 to N:
對(duì)si依次進(jìn)行操作O1(p1),O2(p2),O3(p3),O4(p4);
5)初始化改進(jìn)的Focal Loss 函數(shù)參數(shù):γ=2,α=0.25;
6)初始化模型G
7)For t=1 to T:
A)利用分類(lèi)模型Gt-1進(jìn)行預(yù)測(cè);
B)統(tǒng)計(jì)分類(lèi)器在數(shù)據(jù)集SS上分類(lèi)的小樣本數(shù) 量n′;
C)計(jì)算現(xiàn)有模型準(zhǔn)確率,損失函數(shù)LFLt
D)ift a)隨機(jī)產(chǎn)生β變化參數(shù); c)if0<αt<1: 更新平衡因子αt; else 回到a)再次計(jì)算; E)更新模型Gt; 8)返回最終文本分類(lèi)模型GT,最終損失LFLT。 Jason Wei等提出EDA技術(shù)的增強(qiáng)參數(shù)pi=0.1,(i=1,2,3,4)時(shí)增強(qiáng)效果最好[6],所以算法將這四項(xiàng)參數(shù)的值設(shè)定為0.1,但是增強(qiáng)句子數(shù)的推薦參數(shù)仍不確定,本文首先在修改該參數(shù)的情況下執(zhí)行算法訓(xùn)練模型,在確定輪次為800時(shí)比較準(zhǔn)確性探究最佳的參數(shù)值,實(shí)驗(yàn)結(jié)果證明時(shí)N=6模型效果最佳。 為了衡量本文提出的基于該進(jìn)的Focal loss和EDA技術(shù)的文本分類(lèi)算法,利用搜狗實(shí)驗(yàn)室提供的全網(wǎng)新聞數(shù)據(jù)進(jìn)行不平衡文本數(shù)據(jù)分類(lèi)器的訓(xùn)練,探究其準(zhǔn)確率提升效果。 提取全網(wǎng)新聞數(shù)據(jù)正文并利用新聞網(wǎng)頁(yè)鏈接進(jìn)行分類(lèi)標(biāo)注得到軍事類(lèi)文本820篇占比約為3.8%,非軍事類(lèi)20583篇包括傳媒、互聯(lián)網(wǎng)、教育等類(lèi)型。訓(xùn)練集與測(cè)試集按照7:3的比例劃分,詳見(jiàn)表1: 表1 基于搜狗新聞數(shù)據(jù)的不平衡文本分類(lèi)實(shí)驗(yàn)數(shù)據(jù) 為了更好衡量模型效果,本實(shí)驗(yàn)關(guān)注于小類(lèi)樣本的分類(lèi)效果。模型預(yù)測(cè)結(jié)果共四種:真陽(yáng)實(shí)例(TP):測(cè)試樣本數(shù)據(jù)屬于小類(lèi),且被模型預(yù)測(cè)正確;真陰實(shí)例(TN):測(cè)試樣本數(shù)據(jù)屬于大類(lèi),且被模型預(yù)測(cè)正確;假陽(yáng)實(shí)例(FP):測(cè)試樣本數(shù)據(jù)屬于大類(lèi),但被模型預(yù)測(cè)錯(cuò)誤;假陰實(shí)例(FN):測(cè)試樣本數(shù)據(jù)屬于小類(lèi),但被模型預(yù)測(cè)錯(cuò)誤。 評(píng)價(jià)指標(biāo)精準(zhǔn)率(Presicion)、召回率(Recall)、調(diào)和平均值(F1-Score)定義如下 (6) (7) (8) 為解決不平衡數(shù)據(jù)分類(lèi)模型的效果評(píng)價(jià)問(wèn)題,除上述指標(biāo)之外本實(shí)驗(yàn)還選取經(jīng)典的AUC[17]值作為實(shí)驗(yàn)的評(píng)估指標(biāo)。AUC值是ROC 曲線下方所覆蓋的面積,ROC曲線是以假正率FP/(TN+FP)為橫軸,真正率TP/(TP+FN)為縱軸所繪制的曲線。當(dāng)AUC值越大,證明模型的分類(lèi)效果越好。 為了驗(yàn)證本文提出的分類(lèi)模型算法的有效性,進(jìn)行六組對(duì)比實(shí)驗(yàn),第六組即為本文提出的算法。 第一組:利用原始數(shù)據(jù)集(Or)直接結(jié)合交叉熵?fù)p失函數(shù)(CrossEntropy Loss,記為CL)進(jìn)行訓(xùn)練,記為Or+CL; 第二組:利用原始數(shù)據(jù)集直接結(jié)合Focal loss函數(shù)(記為FL)進(jìn)行訓(xùn)練,記為Or+FL; 第三組:利用原始數(shù)據(jù)集直接結(jié)合改進(jìn)后的Focal loss函數(shù)(記為FL*)進(jìn)行訓(xùn)練,記為Or+FL*; 第四組:利用EDA增強(qiáng)技術(shù)增強(qiáng)數(shù)據(jù)(記為EDA)后結(jié)合交叉熵?fù)p失函數(shù)進(jìn)行訓(xùn)練,記為EDA+CL; 第五組:利用EDA增強(qiáng)技術(shù)增強(qiáng)數(shù)據(jù)后結(jié)合Focal loss函數(shù)進(jìn)行訓(xùn)練,記為EDA+FL; 第六組:利用EDA增強(qiáng)技術(shù)增強(qiáng)數(shù)據(jù)后結(jié)合改進(jìn)后Focal loss函數(shù)進(jìn)行訓(xùn)練,記為EDA+FL*。 實(shí)驗(yàn)分析了六組訓(xùn)練方法的精準(zhǔn)率、召回率、調(diào)和平均值以及AUC值;設(shè)定迭代次數(shù)為500,進(jìn)行多次實(shí)驗(yàn)取平均后結(jié)果如表2。 表2 六組實(shí)驗(yàn)結(jié)果對(duì)比表 從實(shí)驗(yàn)對(duì)比結(jié)果可以看出,不同的訓(xùn)練方法下模型的準(zhǔn)確率和精準(zhǔn)率都保持在較高的水平,召回率、調(diào)和平均值、AUC值在采用了EDA技術(shù)、Focal loss損失函數(shù)以及改進(jìn)的Focal loss損失函數(shù)之后都有不同程度的提升,說(shuō)明這些技術(shù)方法均能夠環(huán)節(jié)不平衡數(shù)據(jù)的問(wèn)題。同時(shí)單獨(dú)各項(xiàng)技術(shù)而言,EDA技術(shù)對(duì)于模型的提升度最高,是解決不平衡問(wèn)題較好的一個(gè)方法;改進(jìn)的Focal loss較原始的Focal loss有一定的改進(jìn)效果。在六組對(duì)比實(shí)驗(yàn)中,本文提出的不平衡文本分類(lèi)模型的訓(xùn)練算法效果最好。 針對(duì)傳統(tǒng)文本分類(lèi)算法不能很好的解決不平衡文本類(lèi)別的問(wèn)題,本文提出從數(shù)據(jù)以及敏感函數(shù)兩個(gè)層面解決文本二分類(lèi)不平衡問(wèn)題的一種新的算法。六組對(duì)比試驗(yàn)結(jié)果證明,本文的改進(jìn)方法是可行的,單獨(dú)使用各方法進(jìn)行訓(xùn)練,模型訓(xùn)練結(jié)果都有一定的提升效果,但本文所提出的結(jié)合算法效果最好。但是該方法僅針對(duì)二分類(lèi)文本數(shù)據(jù),存在一定的局限。將該算法與其它不平衡文本分類(lèi)算法進(jìn)行實(shí)驗(yàn)比較,針對(duì)文本多分類(lèi)不平衡問(wèn)題的進(jìn)一步研究,將是未來(lái)的重點(diǎn)研究方向。4 實(shí)驗(yàn)結(jié)果與分析
4.1 數(shù)據(jù)集描述
4.2 評(píng)價(jià)標(biāo)準(zhǔn)
4.3 實(shí)驗(yàn)設(shè)計(jì)與結(jié)果分析
5 結(jié)語(yǔ)