林懷逸,劉 箴,柴玉梅,劉婷婷,柴艷杰
(1. 寧波大學(xué) 信息科學(xué)與工程學(xué)院,浙江 寧波 315211;2. 鄭州大學(xué) 信息工程學(xué)院,河南 鄭州 450001)
在社交媒體不斷發(fā)展的大背景下,人們對(duì)媒體資訊發(fā)表個(gè)人看法,使用社交平臺(tái)分享個(gè)人觀點(diǎn),利用社交工具排解心情,在個(gè)人網(wǎng)絡(luò)空間傾倒苦水,這些內(nèi)容均涵蓋大量用戶情感信息。從宏觀角度,應(yīng)用統(tǒng)計(jì)方法對(duì)網(wǎng)民評(píng)論和觀點(diǎn)進(jìn)行情感分析,能夠監(jiān)控和導(dǎo)向事件引起的輿情。從個(gè)人角度,對(duì)用戶情感的掌握則能夠有效了解用戶心理健康狀況并預(yù)測(cè)用戶可能對(duì)社會(huì)或他人產(chǎn)生的影響。因此近年來情感分類任務(wù)受到廣泛關(guān)注和研究。其中情緒分類是情感分類任務(wù)之一,目的是確定文本所帶有的用戶情緒表達(dá)。
當(dāng)前許多研究報(bào)告所提出的深度學(xué)習(xí)方法在文本情緒分類任務(wù)上都卓有成效,但大都以類別數(shù)據(jù)平衡為前提假設(shè)。實(shí)際應(yīng)用中由于數(shù)據(jù)來源不同(采集的主題不同,平臺(tái)不同等),各類別樣本之間往往存在數(shù)量分布不平衡的問題。深度學(xué)習(xí)中,數(shù)據(jù)不平衡使模型偏離預(yù)期,對(duì)大類別分類精度高,對(duì)小類別則分類精度低。
處理數(shù)據(jù)不平衡問題的目的是使模型接近其在數(shù)據(jù)平衡情況下的性能。主要解決方法包含代價(jià)敏感[1-3]、特征選擇[4-5]以及數(shù)據(jù)采樣,采樣方法可細(xì)分為過采樣原數(shù)據(jù)集中小類別樣本[6-8]以及下采樣大類別樣本[9-12],而特征選擇主要應(yīng)用于機(jī)器學(xué)習(xí)領(lǐng)域,通過選擇使各類別相對(duì)公平的特征獲得相對(duì)平衡的模型精度。
深度學(xué)習(xí)具有特征學(xué)習(xí)能力,因此常用的不平衡處理方法為代價(jià)敏感、采樣及集成學(xué)習(xí)方法。例如,Wang[13]等提出平均錯(cuò)分誤差損失函數(shù)及平均平方錯(cuò)分誤差損失函數(shù),使模型能夠公平地從少類別中捕捉分類誤差,殷昊[14]等結(jié)合集成學(xué)習(xí)和LSTM模型解決不平衡問題。
近年來預(yù)訓(xùn)練詞向量的方法[15-17]被廣泛應(yīng)用于自然語言處理(NLP)任務(wù)中并取得良好效果[18],說明詞向量初始化能夠影響模型特征的學(xué)習(xí),從而改變模型精度,且研究表明針對(duì)任務(wù)微調(diào)詞向量能夠進(jìn)一步提高模型精度[19]。因此本文通過預(yù)訓(xùn)練詞向量的方法影響文本特征的選擇,結(jié)合機(jī)器學(xué)習(xí)中特征選擇思想,獲得對(duì)各類別公平的文本特征實(shí)現(xiàn)模型精度的平衡。
基于深度學(xué)習(xí)的方法被廣泛應(yīng)用于文本分類領(lǐng)域,常用模型為CNN(Convolutional Neural Network)和LSTM(Long Short-Term Memory)。研究表明,相比隨機(jī)初始化,將Word2Vec方法預(yù)訓(xùn)練所得詞向量對(duì)CNN模型初始化能夠提高模型精度[18]。本文利用預(yù)訓(xùn)練詞向量方法平衡模型在各分類上的精度,因此選擇CNN模型作為分類模型來驗(yàn)證方法的有效性。
預(yù)訓(xùn)練的目的是獲得能夠提取普適特征的模型,并應(yīng)用于各種不同任務(wù)的網(wǎng)絡(luò)結(jié)構(gòu)中。在自然語言領(lǐng)域,主要用于預(yù)訓(xùn)練語言模型,并應(yīng)用于序列標(biāo)注、文本分類、文本相似度、文本生成等各種任務(wù)中。預(yù)訓(xùn)練技術(shù)主要有以神經(jīng)網(wǎng)絡(luò)語言模型為基礎(chǔ)的Word Embedding[16]技術(shù),該技術(shù)廣泛應(yīng)用于各類自然語言任務(wù)中。ELMo(Embeddings from Language Models)[20]則利用雙層雙向LSTM構(gòu)建的語言模型作為預(yù)訓(xùn)練目標(biāo)解決一詞多義問題,并在文本分類、閱讀理解等6個(gè)自然語言處理任務(wù)中取得不同程度上的能力提升。同時(shí),近期取得突破性進(jìn)展的BERT(Bidirectional Encoder Representations from Transformers)[21]使用Transformers特征提取單元,構(gòu)建雙向語言模型結(jié)合預(yù)訓(xùn)練和微調(diào)二階段框架,在11項(xiàng)自然語言任務(wù)中均取得目前最高精度。而本文認(rèn)為對(duì)于存在數(shù)據(jù)不平衡的任務(wù),在第二階段,模型訓(xùn)練微調(diào)預(yù)訓(xùn)練模型之前,可針對(duì)性地對(duì)模型進(jìn)行進(jìn)一步預(yù)訓(xùn)練,使最終模型精度較為平衡。
深度學(xué)習(xí)中輸入詞向量與模型所有參數(shù)之間具有復(fù)雜的作用關(guān)系,Ignacio Cases[22]等證明了自然語言處理任務(wù)中,只要合理配置和優(yōu)化模型,Word2Vec方法對(duì)比隨機(jī)初始化及預(yù)訓(xùn)練添加語義信息的方法一定有更好的性能。在此基礎(chǔ)上對(duì)詞向量微調(diào)的研究包括Yang X 等[23]提出一種有監(jiān)督的詞向量微調(diào)框架在無監(jiān)督獲得的詞向量中額外添加有效信息,提高了模型在各自然語言處理任務(wù)中性能,另外提出結(jié)合多種窗口下的詞向量以及詞匯語義的微調(diào)方法,在情感相似度預(yù)測(cè)、類比推理以及完形填空任務(wù)中均取得更佳效果[24],Uysal A K[25]等對(duì)比各種Word Embedding和在其上經(jīng)過情感微調(diào)的詞向量,發(fā)現(xiàn)使用后者的模型在IMDB、Sentiment 140以及Nine Public Sentiments三個(gè)情感相關(guān)任務(wù)中均有較高精度。上述研究說明針對(duì)任務(wù)微調(diào)Word2Vec所得詞向量能夠提高模型的分類精度。因此,本文通過微調(diào)詞向量調(diào)整模型各類精度實(shí)現(xiàn)平衡效果。
關(guān)于如何微調(diào)詞向量提高過擬合類別精度,研究表明詞的表示依賴于所應(yīng)用的任務(wù)[26],Kim[18]和Pham D H[27]等發(fā)現(xiàn)情感任務(wù)中,模型訓(xùn)練后具有相似情感表達(dá)的詞匯,在空間上的歐氏距離更小且相比靜態(tài)詞向量模型精度更高。說明情感任務(wù)中不同情感表達(dá)的詞匯在詞向量空間中的歐式距離越大,模型對(duì)這些情感的區(qū)分能力越強(qiáng),精度越高。因此,本文對(duì)期望提高精度或加快擬合的類別進(jìn)行預(yù)訓(xùn)練,通過預(yù)訓(xùn)練方法微調(diào)詞向量,提高模型在這些類別上的精度。該微調(diào)詞向量的方法相比其他方法更為簡單,且在大部分情況下無需引入額外信息。
同時(shí),本文方法結(jié)合均衡過采樣,保留了大類別樣本的所有信息,避免了下采樣方法中由于摒棄大量有效信息而降低模型泛化能力的問題,維持了模型在大類別上的精度,從而實(shí)現(xiàn)比過采樣更好的平衡效果。
本文使用的數(shù)據(jù)整理自“自然語言處理與中文計(jì)算會(huì)議”(NLP&CC)情緒分析任務(wù),樣本數(shù)據(jù)分布情況如表1所示。其中分為無情緒、喜好、開心、驚訝、厭惡、悲傷、憤怒和恐懼八類情緒,另除無情緒類別外其他情緒可歸為積極和消極兩類。本文在該數(shù)據(jù)集上劃分、采樣形成多組存在不平衡問題的子數(shù)據(jù)集,用于驗(yàn)證不同情況下方法的有效性。
表1 情緒分類數(shù)據(jù)集中的樣本數(shù)量分布
本文提出的詞向量預(yù)訓(xùn)練方法流程如圖1所示。其中,目標(biāo)任務(wù)指實(shí)驗(yàn)既定的分類任務(wù),預(yù)訓(xùn)練任務(wù)指在既定任務(wù)數(shù)據(jù)集中,使用本文提出的預(yù)訓(xùn)練任務(wù)選擇方法選取部分?jǐn)?shù)據(jù)進(jìn)行的分類任務(wù)。預(yù)訓(xùn)練詞向量指執(zhí)行預(yù)訓(xùn)練任務(wù)后分類模型中的詞向量矩陣。詞向量的遷移指使用預(yù)訓(xùn)練詞向量初始化目標(biāo)任務(wù)的分類模型。整體流程為在既定任務(wù)中選擇預(yù)訓(xùn)練任務(wù)并訓(xùn)練模型獲得預(yù)訓(xùn)練詞向量,該詞向量再用于初始化目標(biāo)任務(wù)模型,最終訓(xùn)練目標(biāo)任務(wù)模型使其在各類別上分類精度平衡。
圖1 詞向量遷移流程圖
由于特定模型預(yù)訓(xùn)練所得詞向量矩陣在其他模型上不一定能達(dá)到期望的平衡效果,所以預(yù)訓(xùn)練任務(wù)和目標(biāo)任務(wù)的分類模型均采用CNN。CNN模型結(jié)構(gòu)如圖2所示。
圖2 文本CNN網(wǎng)絡(luò)結(jié)構(gòu)圖
其中,文本矩陣由詞的one-hot形式經(jīng)過詞向量矩陣映射得到。假設(shè)詞向量表示為n∈d,其中下標(biāo)n表示文本中第n個(gè)詞匯,d表示詞向量的維度,則文本矩陣由詞向量按詞序拼接組成表示為式(1)。
其中,L表示文本固定長度。當(dāng)實(shí)際文本長度大于L時(shí),截?cái)嗍蛊溟L度變?yōu)長,當(dāng)長度小于L時(shí),使用表示未知詞的詞向量進(jìn)行補(bǔ)齊。其中,未知詞的詞向量指各維度初始化為0的詞向量,且該詞向量在訓(xùn)練過程中由訓(xùn)練算法進(jìn)行調(diào)整。獲得文本矩陣后進(jìn)行卷積操作。假設(shè)卷積核為w∈dx,其中x為卷積核寬度,該卷積核對(duì)i:i+x-1進(jìn)行一次卷積操作獲得特征值ci表示為式(2)。
其中,*為對(duì)應(yīng)元素乘積求和,b為常數(shù)偏置項(xiàng),f表示非線性激活函數(shù)ReLU。所得ci為文本第i個(gè)詞起的一個(gè)x-gram特征[28]的特征值,再利用最大池化操作提取該文本最顯著的x-gram特征,并與其他n-gram特征拼接作為文本特征置于全連接層進(jìn)行分類。
若使用Word2Vec方法對(duì)模型進(jìn)行初始化。假設(shè)任務(wù)有三個(gè)類別C1,C2,C3,且各類別中樣本均有相同語法結(jié)構(gòu),三個(gè)不同類別樣本中最顯著的x-gram文本區(qū)域?yàn)閇i,…,c1_n,…,i+x-1],[j,…,c2_n,…,j+x-1],[k,…,c3_n,…,k-x+1]其中對(duì)應(yīng)位置詞向量語法特性相同,且c1_n,c2_n,c3_n為不同情感表達(dá)詞匯,在訓(xùn)練所得詞向量空間中,相似語法特性的詞之間空間距離較近[29],因此上述區(qū)域經(jīng)過相同卷積核作用所得文本特征數(shù)值c相近,模型利用該文本特征不容易區(qū)分文本的情緒類別。但模型訓(xùn)練后c1_n,c2_n,c3_n在空間上被分離,相同情緒表達(dá)的詞向量在空間中距離相近,且相比靜態(tài)詞向量模型精度更高[18]。
因此,本文認(rèn)為不同情緒表達(dá)詞在空間中的距離影響模型提取的文本特征,而文本特征決定了模型在各情緒類別上的精度。對(duì)于過擬合程度較輕的情況,本文通過預(yù)訓(xùn)練方法微調(diào)情緒表達(dá)詞在空間中的位置,使模型在訓(xùn)練開始時(shí)文本特征就能對(duì)過擬合類別之間有較好區(qū)分,提高過擬合類別的分類精度,并結(jié)合均衡過采樣利用大類別樣本數(shù)量優(yōu)勢(shì),維持模型在大類別上的精度,實(shí)現(xiàn)模型精度的平衡。
對(duì)于嚴(yán)重過擬合情況,由于樣本嚴(yán)重失衡,當(dāng)模型對(duì)大類別擬合較好時(shí),小類別由于過度訓(xùn)練產(chǎn)生嚴(yán)重過擬合[30]。因此,本文選擇部分大類別數(shù)據(jù)作為預(yù)訓(xùn)練任務(wù),加速模型對(duì)大類別的擬合,減少過擬合類別樣本的重復(fù)訓(xùn)練次數(shù),緩解過擬合現(xiàn)象,提高過擬合類別精度,實(shí)現(xiàn)平衡效果。
其中均衡過采樣還避免了訓(xùn)練時(shí)大類別主導(dǎo)詞向量分布的調(diào)整,嚴(yán)重破壞預(yù)訓(xùn)練詞向量的分布,影響本文提出方法的預(yù)期效果。
本文首先對(duì)數(shù)據(jù)集分組,從最小類別開始將該類別樣本數(shù)3倍以內(nèi)的類別歸入該分組,再從剩余類別中重復(fù)上述操作直至無剩余數(shù)據(jù)。此時(shí)認(rèn)為分組間具有數(shù)據(jù)不平衡問題,而組內(nèi)不平衡問題較弱。若所有類別樣本被分至同一組,則縮小倍數(shù)重新分組。當(dāng)降至2倍時(shí)仍然僅有單一分組則認(rèn)為數(shù)據(jù)相對(duì)平衡,分組偽代碼如表2所示。
表2 不平衡分類數(shù)據(jù)分組方法
分組后假設(shè)目標(biāo)模型在各類別上的精度與類別樣本數(shù)量呈正比,針對(duì)情緒分類數(shù)據(jù)中典型不平衡情況提出如下預(yù)訓(xùn)練任務(wù)選擇方法。
當(dāng)分組數(shù)為2時(shí),樣本不平衡導(dǎo)致的過擬合現(xiàn)象較輕微,認(rèn)為模型分類精度不平衡的主要原因是模型在訓(xùn)練所得的詞向量分布空間下提取的特征不利于小類別樣本的區(qū)分。由于隨機(jī)初始化模型在訓(xùn)練開始時(shí)所提取的特征對(duì)各類別的區(qū)分度相對(duì)公平,但樣本數(shù)量不平衡導(dǎo)致訓(xùn)練后模型提取的特征更利于大類別的分類。因此我們選擇小分組作為預(yù)訓(xùn)練任務(wù),在初始化時(shí)使模型提取的特征更利于小類別之間或者與其他類別的區(qū)分,并通過均衡過采樣較好保持詞向量的分布,使模型最終提取的特征對(duì)各分類更為公平達(dá)到平衡模型精度的目的。若所選分組中只有單一類別時(shí),采樣大分組中最小類別使其與單一類別樣本數(shù)相當(dāng),二者合并作為預(yù)訓(xùn)練任務(wù);若目標(biāo)任務(wù)為二分類任務(wù),則收集或利用已有數(shù)據(jù)獲取任務(wù)外其他類別樣本,數(shù)量與小類別樣本數(shù)相當(dāng)后二者合并作為預(yù)訓(xùn)練任務(wù)。
當(dāng)分組數(shù)大于2時(shí),樣本不平衡較為嚴(yán)重,認(rèn)為此時(shí)小分組上的精度不平衡問題由過擬合所主導(dǎo),嚴(yán)重降低模型在小類別上的泛化能力。而樣本數(shù)居中的分組中,精度較低則由模型特征偏向所導(dǎo)致。因此通過下采樣中間分組作為預(yù)訓(xùn)練任務(wù)的方法,加速中間類別擬合,減少小分組中樣本重復(fù)訓(xùn)練,提高特征對(duì)中間類別的區(qū)分度,從而提高模型在中小類別上的精度。同時(shí),為避免特征嚴(yán)重偏向,分組中各類別樣本采樣數(shù)與鄰近小類別相當(dāng)。若該分組類別數(shù)遠(yuǎn)小于其他分組或者分組數(shù)為偶數(shù),則在全部類別中選取樣本數(shù)量居中的部分類別同上下采樣,作為預(yù)訓(xùn)練任務(wù)。類別數(shù)則由其余分組類別數(shù)均值決定,采樣數(shù)量為所選類別的鄰近小類別樣本數(shù)。
上述方法均失效時(shí),認(rèn)為過擬合情況較為嚴(yán)重主導(dǎo)了所有中小分類的精度下降。因此,選擇過擬合類別外樣本數(shù)量上相鄰的兩個(gè)較大類別進(jìn)行采樣,使他們的樣本數(shù)均與鄰近的小類別樣本數(shù)相當(dāng)后作為預(yù)訓(xùn)練任務(wù)。通過該方法在初始化時(shí)形成更利于模型區(qū)分大類別樣本的詞向量分布,加速模型收斂,減少中小類別重復(fù)訓(xùn)練次數(shù),降低過擬合程度。其中,為避免特征出現(xiàn)嚴(yán)重偏向僅選取兩個(gè)相鄰較大類別且進(jìn)行采樣。若過擬合分類外的類別數(shù)量為1,首先采樣該單一類別,再下采樣各過擬合類別合并成新類,或者收集數(shù)據(jù)作為新類。最終,將大類別采樣數(shù)據(jù)和新類合并作為預(yù)訓(xùn)練任務(wù)。
上述各方法中采樣的目的包含平衡預(yù)訓(xùn)練中各類別樣本數(shù)量,避免加劇過擬合和特征的嚴(yán)重偏向。而采樣數(shù)量的選擇取決于是否有嚴(yán)重過擬合類別數(shù)據(jù)參與預(yù)訓(xùn)練,若有則選取最小類別樣本數(shù)作為采樣數(shù)量。否則,選擇鄰近的小類別樣本數(shù),鄰近小類別指樣本數(shù)量小于各所選類別樣本數(shù)的最大類別。
方法偽代碼如表3所示。
表3 預(yù)訓(xùn)練選擇方法
34 Pretrain ← MiddleClasses35 When serious overfitting36 OFC ← overfitting classes37 LC ← ASC(AllClasses - OFC)38 If len(LC) == 1 # 過擬合類別外僅有一個(gè)類別39 #下采樣數(shù)量與OFC中最小類樣本數(shù)相當(dāng)40 #收集樣本數(shù)與鄰近小類別相當(dāng)41 NewClass ← USampling(Each Class in OFC)42 orCollect Data without classes in OFC43 #下采樣數(shù)量與NewClass樣本數(shù)相當(dāng)44 Pretrain ← USampling(LC[0]) + NewClass45 Else46 #下采樣數(shù)量為鄰近小類別樣本數(shù)47 Pretrain ← USampling(Each class in LC[0:2])48 returnPretrain
實(shí)驗(yàn)主要探究情緒分類任務(wù)中,本文方法在所涵蓋情況中的有效性和平衡性能,并在具有平衡效果的各處理方式下,分別對(duì)比了代價(jià)敏感和集成學(xué)習(xí)方法的平衡性能。
情況1: 分組數(shù)為2,大分組由單一類別構(gòu)成。
情況2: 分組數(shù)為2,小分組由單一類別構(gòu)成。
情況3: 分組結(jié)果中分組數(shù)為2,且各分組中類別數(shù)不止一個(gè)。
情況4: 不平衡2分類。
情況5: 分組結(jié)果中分組數(shù)大于2。
情況6: 任務(wù)出現(xiàn)嚴(yán)重過擬合現(xiàn)象。
情況7: 在情況6的基礎(chǔ)上,目標(biāo)任務(wù)中除過擬合類別外僅剩一個(gè)類別。
根據(jù)所要考察情況共設(shè)置8組實(shí)驗(yàn),分別為:
(1) 無情緒、積極和消極情緒分類,目的在于驗(yàn)證情況1下方法的有效性,并探究不同精度預(yù)訓(xùn)練模型對(duì)目標(biāo)模型平衡性能的影響。
(2) 厭惡、悲傷和驚訝情緒分類,目的在于驗(yàn)證情況2下方法的有效性。并與代價(jià)敏感和集成學(xué)習(xí)在平衡性能上進(jìn)行對(duì)比,同時(shí)添加預(yù)訓(xùn)練與代價(jià)敏感相結(jié)合的實(shí)驗(yàn),說明本文方法在代價(jià)敏感方法上同樣具有進(jìn)一步提升平衡性能的可能。
(3) 從憤怒、悲傷、厭惡、開心和喜好情緒開始,驗(yàn)證情況3下方法的有效性。添加無情緒類別并逐步增加樣本數(shù)量,探究大類別樣本數(shù)的增加對(duì)方法平衡性能的影響。目標(biāo)任務(wù)中憤怒、悲傷和厭惡情緒類別樣本數(shù)分別為321,319和393,采樣自表1數(shù)據(jù)集,目的在于構(gòu)造情況3。
(4) 無情緒和憤怒情緒的不平衡情緒二分類,目的在于驗(yàn)證情況4下方法的有效性。
(5) 憤怒、悲傷、厭惡、開心、喜好和無情緒分類,其中憤怒、悲傷和厭惡情緒類別數(shù)量分別為321,319和393,采樣自表1數(shù)據(jù)集,構(gòu)造情況5并驗(yàn)證方法有效性。并與代價(jià)敏感和集成學(xué)習(xí)對(duì)比平衡性能。
(6) 憤怒、恐懼、悲傷和驚訝情緒分類,分別設(shè)置三組實(shí)驗(yàn),探究嚴(yán)重過擬合時(shí),情況3處理方法在目標(biāo)模型上的平衡性能,并驗(yàn)證情況6下方法的有效性。
(7) 在實(shí)驗(yàn)(6)的基礎(chǔ)上添加開心情緒類別,進(jìn)一步探討情況6下方法的平衡性能。
(8) 憤怒、驚訝和恐懼情緒分類,該組實(shí)驗(yàn)在滿足情況1的條件下出現(xiàn)嚴(yán)重過擬合。首先,探究情況1方法的平衡性能,并驗(yàn)證情況7下方法的有效性,且對(duì)比了有無均衡過采樣的情況,探究了均衡過采樣對(duì)預(yù)訓(xùn)練的影響。最后還對(duì)比了代價(jià)敏感和集成學(xué)習(xí)的平衡性能。
實(shí)驗(yàn)中代價(jià)敏感使用代價(jià)敏感矩陣方法。矩陣數(shù)值根據(jù)各類別樣本數(shù)量比例確定,集成學(xué)習(xí)則根據(jù)最小類別樣本數(shù)m,下采樣大類別樣本獲取平衡數(shù)據(jù)。假設(shè)最大類別樣本數(shù)為n,則獲得n/m組數(shù)據(jù)分別訓(xùn)練子模型,二級(jí)模型則拼接各子模型特征,后接全連接層輸出類別概率分布。
實(shí)驗(yàn)中測(cè)試集各類別樣本數(shù)為最小類別樣本數(shù)量的10%。實(shí)驗(yàn)(1)測(cè)試集各類別樣本數(shù)均為299個(gè);實(shí)驗(yàn) (2)中為32個(gè);實(shí)驗(yàn) (3)(4)(5)為59個(gè);實(shí)驗(yàn)(6)(7)(8)中為14個(gè)。
實(shí)驗(yàn)中預(yù)訓(xùn)練任務(wù)使用的詞向量由實(shí)驗(yàn)數(shù)據(jù)集使用Python中的Gensim工具包進(jìn)行訓(xùn)練所得,模型為CBOW(Continuous bag-of-words),詞向量維度為128。所用情緒分類模型CNN的參數(shù)設(shè)置如表4所示。
表4 CNN模型參數(shù)表
續(xù)表
由于研究內(nèi)容為數(shù)據(jù)不平衡問題,因此主要關(guān)注模型各類別上的詳細(xì)評(píng)價(jià)及綜合評(píng)價(jià),所以,使用P(Precision,準(zhǔn)確率)、R(Recall,召回率)以及F1(F1-score)作為評(píng)價(jià)指標(biāo)。假設(shè)TP為當(dāng)前類別樣本被正確分類的數(shù)量,F(xiàn)P表示其他類別樣本被劃分到當(dāng)前類的數(shù)量,F(xiàn)N表示將當(dāng)前類別樣本被錯(cuò)分到其他類的數(shù)量。
準(zhǔn)確率表示分到當(dāng)前類別的樣本中確實(shí)屬于當(dāng)前類的樣本數(shù)所占的比例,如式(3)所示。
召回率表示對(duì)當(dāng)前類別樣本進(jìn)行正確分類的概率,如式(4)所示。
F1根據(jù)準(zhǔn)確率和召回率對(duì)模型在該分類上的性能做出綜合評(píng)價(jià),如式(5)所示。
實(shí)驗(yàn)表中Word2Vec指在所有數(shù)據(jù)集上使用Word2Vec方法訓(xùn)練獲得詞向量矩陣。表中第一行括號(hào)內(nèi)容表示預(yù)訓(xùn)練任務(wù)類別。各類別名稱后括號(hào)中的分?jǐn)?shù)表示下采樣比例,百分?jǐn)?shù)則表示R值,整數(shù)值表示類別樣本數(shù)。每組評(píng)價(jià)指標(biāo)(P、R、F1)各為一組實(shí)驗(yàn)數(shù)據(jù)。
實(shí)驗(yàn)(1)中無情緒類別為大分組中單一類別。如表5所示,第二組實(shí)驗(yàn)中積極和消極R值分別提高2.54%和2.74%,第三組分別提高1.74%和4.88%。但相比第一組實(shí)驗(yàn),由于無情緒類別R值在第二、三組中分別下降了7.56%、11.50%,影響了消極情緒的P值,模型平均F1分別下降了0.63%和1.52%,因此模型雖然提升了過擬合類別的精度,使最大類別R值差縮小10.1%,但平衡作用一般。另外對(duì)比二、三兩組實(shí)驗(yàn)發(fā)現(xiàn)R值更為平衡的預(yù)訓(xùn)練模型平衡性能更優(yōu)。
表5 無情緒、積極和消極情緒分類實(shí)驗(yàn)結(jié)果(五次實(shí)驗(yàn)平均)
實(shí)驗(yàn)(2)中驚訝情緒為小分組中單一類別。結(jié)果如表6所示,情況2下本文方法能夠提高參與預(yù)訓(xùn)練的類別的R值,但與實(shí)驗(yàn)前提假設(shè)不符,類別R值與類別數(shù)量不呈正比,預(yù)訓(xùn)練使悲傷情緒類別R值進(jìn)一步提高4.18%,最大R值差提高了1.05%。對(duì)比代價(jià)敏感矩陣的方法則平均R值相差0.7%,平均F1相差1.33%。但本文認(rèn)為預(yù)訓(xùn)練方法同樣可作用于代價(jià)敏感方法提高平衡性能,二者結(jié)合第4組實(shí)驗(yàn)發(fā)現(xiàn)平均R值進(jìn)一步提高了1.39%,平均F1提高了1.36%。本文不對(duì)預(yù)訓(xùn)練與代價(jià)敏感結(jié)合的方法進(jìn)行探討,故下文不再對(duì)二者結(jié)合進(jìn)行實(shí)驗(yàn)。最后,集成學(xué)習(xí)方法在該組數(shù)據(jù)中的平衡性能與均衡過采樣相當(dāng)。
表6 厭惡、悲傷和驚訝分類實(shí)驗(yàn)結(jié)果(三次實(shí)驗(yàn)平均)
實(shí)驗(yàn)(3)中憤怒、悲傷和厭惡為小分組,結(jié)果如表7所示。四組實(shí)驗(yàn)的平均R值變化為+0.9%,+0.85%,-0.28%,+0.66%,平均F1變化為+1.38%,+1.23%,-0.53%,+0.62%。無嚴(yán)重過擬合情況下平衡性能較好。但隨過擬合加劇平衡性能衰退。
實(shí)驗(yàn)(4)中新類由恐懼和驚訝情緒樣本組成,結(jié)果如表8所示,憤怒情緒R值提高了7.80%,模型平均R值提高了1.36%,且平均F1提升了1.46%,說明引入額外數(shù)據(jù)同過擬合類別預(yù)訓(xùn)練的方法能夠有效平衡情況4下模型精度。
表7 類別逐漸增加的不平衡情緒分類實(shí)驗(yàn)(三次實(shí)驗(yàn)平均)
續(xù)表
表8 二分類不平衡情緒分類實(shí)驗(yàn)結(jié)果(五次實(shí)驗(yàn)平均)
實(shí)驗(yàn)(5)中開心和喜好為中間分組,結(jié)果如表9所示。厭惡情緒作為最小類別R值提高約6.21%,部分類別R值下滑1.13%至5.09%不等。但最大類間R值差縮小了7.34%,且平均R值和平均F1僅分別下降0.28%和0.07%,平衡效果一般。而代價(jià)敏感方法和集成學(xué)習(xí)方法的平均R值比均衡過采樣方法分別高1.69%和2.54%,F(xiàn)1分別高2.36%和2.45%。
實(shí)驗(yàn)(6)結(jié)果如表10所示。第二組數(shù)據(jù)使用情況3處理方法,加劇了恐懼和驚訝類別的過擬合現(xiàn)象。因此,第三組實(shí)驗(yàn)以情況6方法將憤怒和悲傷樣本分別下采樣后作為預(yù)訓(xùn)練任務(wù),結(jié)果恐懼類別R值提高5.71%。但驚訝類別R值下降了2.86%,模型平均R值下降了1.78%,平均F1下降了1.88%,無平衡效果。
實(shí)驗(yàn)(7)在實(shí)驗(yàn)(6)基礎(chǔ)上添加開心情緒類別,結(jié)果如表11所示。加劇了驚訝和恐懼類別的過擬合,本文方法已無平衡效果。
表9 三分組的不平衡情緒分類實(shí)驗(yàn)結(jié)果(三次實(shí)驗(yàn)平均)
表10 憤怒、恐懼、悲傷和驚訝分類實(shí)驗(yàn)結(jié)果(五次實(shí)驗(yàn)平均)
表11 開心、憤怒、恐懼、悲傷和驚訝分類實(shí)驗(yàn)結(jié)果(五次實(shí)驗(yàn)平均)
情緒分類均衡過采樣+Word2Vec均衡過采樣+Pretrain(憤怒3/5和悲傷1/3)P/%R/%F1/%P/%R/%F1/%憤怒58163.0581.4370.9159.3385.7169.98恐懼13133.335.729.7146.674.287.68悲傷100438.2870.0049.4441.0472.8652.43開心129658.1781.4367.7158.2181.4367.88驚訝31066.0924.2935.2560.6717.1526.49平均51.7852.5746.6053.1852.2944.89
實(shí)驗(yàn)(8)結(jié)果如表12所示,一至四組實(shí)驗(yàn)表明代價(jià)敏感在平衡性能上優(yōu)于均衡過采樣和集成學(xué)習(xí),但在大類別分類上的R值較為有限。原因是由類別數(shù)量確定的代價(jià)敏感矩陣弱化了大類別的錯(cuò)分代價(jià)使模型更側(cè)重于小類別樣本的判斷。同時(shí),結(jié)合實(shí)驗(yàn)(2)和實(shí)驗(yàn)(5)可以發(fā)現(xiàn)集成學(xué)習(xí)在樣本數(shù)量較少的情況下性能較為有限。第五組實(shí)驗(yàn)利用情況1處理方法,恐懼類別R值僅提升1.43%,但加劇了驚訝類別過擬合,R值下降10%。因此,第六組實(shí)驗(yàn)使用情況7處理方法將恐懼和驚訝數(shù)據(jù)分別采樣合并為新類與憤怒類別采樣數(shù)據(jù)合并作為預(yù)訓(xùn)練任務(wù)。結(jié)果表明相比第四組實(shí)驗(yàn)?zāi)繕?biāo)模型在恐懼和驚訝情緒上的R值分別提升了2.86%和4.28%,模型平均R值提升了約4.29%。同時(shí),平均F1提高了4.37%。最后,對(duì)比第六、第七兩組實(shí)驗(yàn),說明在無均衡過采樣的情況下,大類別將主導(dǎo)詞向量分布的調(diào)整嚴(yán)重破壞預(yù)訓(xùn)練詞向量的分布,使單獨(dú)使用預(yù)訓(xùn)練詞向量方法無法取得預(yù)期效果,且加劇了模型R值的偏向。
表12 憤怒、驚訝和恐懼分類實(shí)驗(yàn)結(jié)果(五次實(shí)驗(yàn)平均)
表12續(xù) 憤怒、驚訝和恐懼分類實(shí)驗(yàn)結(jié)果(五次實(shí)驗(yàn)平均)
本文在深度學(xué)習(xí)中從特征層面將詞向量預(yù)訓(xùn)練和均衡過采樣相結(jié)合,提供了一種解決不平衡問題的簡單有效的思路。實(shí)驗(yàn)證明在大部分非嚴(yán)重過擬合的任務(wù)中,該方法能夠改變模型在各類別上精度實(shí)現(xiàn)模型精度平衡的效果。實(shí)驗(yàn)說明提出的方法,能夠使模型提取的文本特征更具公平性,提升模型在過擬合類別上的精度,獲得各類別精度較平衡的單一模型。因此,還可與隨機(jī)初始化以及Word2Vec方法初始化的模型結(jié)合應(yīng)用于集成學(xué)習(xí)框架上。同時(shí),本文還驗(yàn)證了該方法與代價(jià)敏感方法結(jié)合進(jìn)一步提高平衡性的可能,但限于工作進(jìn)展程度,未能進(jìn)一步探討結(jié)合方式。同時(shí),本文以模型各類別上精度與對(duì)應(yīng)類別樣本數(shù)量呈正比為前提假設(shè),但實(shí)際情況中還與模型特征提取能力相關(guān),是否能在考慮模型對(duì)各類別分類能力的同時(shí)選擇合理的預(yù)訓(xùn)練任務(wù)還有待進(jìn)一步研究解決。此外,本文方法僅提供一種新的解決平衡問題的思路,由于研究水平有限,方法適用范圍無法定量測(cè)量,涵蓋情況也較為有限,有待進(jìn)一步擴(kuò)展和一般化。