楊 帥,胡學(xué)鋼,張玉紅
合肥工業(yè)大學(xué) 計算機與信息學(xué)院,合肥 230009
隨著大數(shù)據(jù)時代的到來,數(shù)據(jù)領(lǐng)域的多樣性和標(biāo)簽信息的昂貴性,都給傳統(tǒng)的分類方法帶來了極大的挑戰(zhàn)。為此,跨領(lǐng)域(也稱領(lǐng)域適應(yīng)、遷移學(xué)習(xí))分類[1-10]被提出并得到廣泛的關(guān)注。
跨領(lǐng)域分類是利用已標(biāo)記的源領(lǐng)域為無標(biāo)記的目標(biāo)領(lǐng)域訓(xùn)練一個精確的分類器。近年來深度學(xué)習(xí)在自然語言處理領(lǐng)域(natural language processing,NLP)和跨領(lǐng)域?qū)W習(xí)任務(wù)中的研究成果顯著,多種神經(jīng)網(wǎng)絡(luò)模型[11-14]如卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural networkss,CNN)、循環(huán)神經(jīng)網(wǎng)絡(luò)(recurrent neural network,RNN),被用于跨領(lǐng)域文本分類,并在不同的算法框架下都取得了較好的效果。
SDA[15](stack denoising autoencoders)作為一種無監(jiān)督模型,在跨領(lǐng)域分類中也得到了廣泛的應(yīng)用。Glorot等人[15]通過堆疊多層SDA形成一個深度學(xué)習(xí)模型,并學(xué)習(xí)得到一個更健壯的潛在特征空間用于跨領(lǐng)域分類。然而,SDA需要迭代多次對網(wǎng)絡(luò)結(jié)構(gòu)進行優(yōu)化,計算成本高且缺乏對高維特征的可擴展性;為此,Chen等人[16]提出了邊緣降噪自動編碼器mSDA(marginalized stacked denoising autoencoders),采用線性結(jié)構(gòu)獲取最優(yōu)解,不需要優(yōu)化算法來學(xué)習(xí)參數(shù),速度快,然而可能導(dǎo)致過擬合問題;Clinchant等人[17]在Ganin等人[18]工作的基礎(chǔ)上提出了一種更合適的域適應(yīng)正則化方法用于域適應(yīng)的降噪自動編碼器MDA-TR(target regularized marginalized denoising autoencoders),MDA-TR在堆疊單層情況下可以達到很好的效果,堆疊多層效果沒有明顯增加反而增加了時間開銷。
然而,上述方法中,沒有考慮到不同特征對分類結(jié)果的影響不同。顯然,在跨領(lǐng)域任務(wù)中,領(lǐng)域間不變的特征更有利分類。為此,本文對共享特征和特有特征應(yīng)采取不同的邊緣化處理,提出了多邊緣降噪自動編碼器用于解決跨領(lǐng)域的情感分類問題。
本文的主要貢獻如下:
(1)通過區(qū)分共享和特有特征,并對共享特征和特有特征用不同的噪音系數(shù)進行邊緣化降噪處理以獲取更強健的特征空間;
(2)對獲取特征空間進行二次損壞,從而擴大共享信息,減小領(lǐng)域差異;
(3)對權(quán)重似然率WLLR(weighted log-likelihood ratio)指標(biāo)進行了改進,使之更適應(yīng)于跨領(lǐng)域任務(wù)中的特征指標(biāo)計算。
目前,已有的跨領(lǐng)域文本分類算法主要分為兩類,一種基于特征映射方法,一種基于自動編碼器方法,本文方法屬于后者。
已有的基于特征映射的跨領(lǐng)域分類方法可分為基于原始特征詞層面和基于主題層面兩類。
Blitzer等人[6]通過選擇一個在源領(lǐng)域和目標(biāo)領(lǐng)域都頻繁出現(xiàn)的共享特征集合計算其共現(xiàn)關(guān)系得到權(quán)重矩陣,利用奇異值分解(singular value decomposition,SVD)構(gòu)造低維特征空間訓(xùn)練分類器。該方法非常依賴潛在空間的質(zhì)量,輔助學(xué)習(xí)任務(wù)的質(zhì)量和數(shù)量。Pan等人[8]通過構(gòu)建領(lǐng)域共享特征與領(lǐng)域特有特征的二部圖,在二部圖上采用譜聚類得到新的特征表示,并在此特征上構(gòu)建分類器。Zhang等人[9]以共享特征為橋梁將源域特征詞極性傳遞至目標(biāo)域,實現(xiàn)跨領(lǐng)域文本分類。基于原始詞語的特征空間實現(xiàn)知識的遷移,對領(lǐng)域比較依賴,容易出現(xiàn)特征稀疏問題。
近年,概率主題模型[19](topic modeling)也被用于跨領(lǐng)域文本分類。Xue等人[4]和Li等人[20]分別基于擴展的概率主題模型PLSA(probabilistic latent semantic analysis),以共享主題為橋梁,將被標(biāo)記的訓(xùn)練數(shù)據(jù)和未標(biāo)記的測試數(shù)據(jù)映射到一個共同的概率模型中,減少兩個領(lǐng)域間的差異。Long等人[21]、Zhuang等人[22-23]和Pan等人[24]基于非負矩陣分解的方法提取主題,并利用優(yōu)化全局目標(biāo)函數(shù)來求解主題空間,使得源領(lǐng)域和目標(biāo)領(lǐng)域的數(shù)據(jù)分布差異在此潛在空間上最小?;谥黝}層面的跨領(lǐng)域文本分類,一定程度上解決了特征稀疏問題。
近年來多種自動編碼器模型用于文本分類。降噪自動編碼器是單層神經(jīng)網(wǎng)絡(luò),對原始數(shù)據(jù)進行隨機噪聲損壞再使用自動編碼器對原始數(shù)據(jù)進行重構(gòu),通過最小化重構(gòu)后數(shù)據(jù)與原數(shù)據(jù)的距離來解決跨領(lǐng)域分類問題。Glorot等人[15]通過堆疊多層降噪自動編碼器(SDA)獲得潛在特征。Chen等人[16]提出了邊緣化降噪自動編碼器(mSDA),使用線性去噪器作為基礎(chǔ)構(gòu)建模型,對特征進行邊緣化損壞處理,不需要通過隨機梯度下降等優(yōu)化方法來學(xué)習(xí)超參數(shù),極大地減小了訓(xùn)練時間。Yang等人[25]利用結(jié)構(gòu)特征空間,設(shè)計了一種噪音函數(shù),進一步提高了算法效率。Clinchant等人[17]基于降噪自動編碼器,進行域適應(yīng)正則化,在隱藏層結(jié)合領(lǐng)域預(yù)測任務(wù),使重構(gòu)后特征空間傾向于域間不變的特征,從而減小領(lǐng)域間的差異,在單層情況下達到很好的效果。Ziser等人[26]提出一種三層神經(jīng)網(wǎng)絡(luò),對來自預(yù)先訓(xùn)練的詞向量的信息進行編碼,通過實例中在語義上相似的共享特征來提高模型泛化能力。Jiang等人[27]提出了?2,1范數(shù)降噪自動編碼器(?2,1-normstackedrobustautoencoders,?2,1-SRA)。Louizos等人[28]提出了用于領(lǐng)域適應(yīng)的VFAE(variational fair autoencoder)編碼器。上述算法是通過自動編碼器或其變體,獲取更健壯的特征來實現(xiàn)跨領(lǐng)域文本分類。
首先給出問題定義:對于已標(biāo)記的源領(lǐng)域Ds=和未標(biāo)記的目標(biāo)領(lǐng)域。其中,ns和nt分別對應(yīng)源領(lǐng)域Ds和目標(biāo)領(lǐng)域Dt的實例數(shù)量;分別表示源領(lǐng)域Ds和目標(biāo)領(lǐng)域Dt的第i、j個實例是源領(lǐng)域Ds的第i個實例對應(yīng)的標(biāo)簽。本文的目標(biāo)是利用源領(lǐng)域Ds為目標(biāo)領(lǐng)域Dt訓(xùn)練一個分類器。
算法分為4個步驟:(1)根據(jù)源領(lǐng)域和目標(biāo)領(lǐng)域提取共享特征集IW和特有特征集合SW;(2)對共享特征和特有特征用不同的噪音系數(shù)進行干擾,并基于單層邊緣降噪自動編碼器MDA(marginalized denoising autoencoders)獲取特征空間;(3)對特征空間進行二次損壞以強化共享特征的比例,獲取新的特征空間;(4)基于新的特征空間構(gòu)建分類器,實現(xiàn)跨領(lǐng)域文本分類。
共享特征詞是領(lǐng)域適應(yīng)效果的關(guān)鍵。共享特征詞的選取須具有兩個條件:在源域和目標(biāo)域具有較高的極性;在兩個領(lǐng)域出現(xiàn)頻率相對較高。文獻[6-8]中采用詞頻、點互信息和詞頻相結(jié)合的方式來區(qū)分共享特征和特有特征,難以滿足要求。希望能選擇在源和目標(biāo)域中出現(xiàn)頻率高且極性強的特征作為共享特征。
為此,本文綜合考慮頻率和極性信息,利用源領(lǐng)域和目標(biāo)領(lǐng)域數(shù)據(jù),使用詞頻和改進的權(quán)重似然率信息WLLR,選取在源領(lǐng)域極性較高,且在目標(biāo)領(lǐng)域頻率較高的特征作為共享特征,消減領(lǐng)域間的分布差異。
首先,選取在源域和目標(biāo)域中出現(xiàn)次數(shù)大于3次的特征詞組成候選特征集CW={w1,w2,…,wi},wi表示在源領(lǐng)域和目標(biāo)領(lǐng)域頻數(shù)大于3的特征詞;其次,根據(jù)r指標(biāo)對候選特征詞集CW進行排序,從中選取前k個特征作為共享特征集IW,其余的特征為特有特征,表示為SW。r指標(biāo)綜合考慮了特征的極性指標(biāo)和特征在目標(biāo)領(lǐng)域的重要度,計算公式如式(2)。式(2)中p(wt|Dt)/p(ws|Ds)用于度量特征wi對目標(biāo)領(lǐng)域的依賴性。若p(wt|Dt)/p(ws|Ds)>1,表示wi對目標(biāo)領(lǐng)域的依賴性較強,反之則較弱,該項可避免將那些在源領(lǐng)域具有較強極性,但在目標(biāo)領(lǐng)域很少出現(xiàn)的特征被選為共享特征。
為了更能突出特征詞的極性和該特征對分類的影響程度,借鑒了極性指標(biāo)WLLR并進行了修正,提出了更適應(yīng)領(lǐng)域適應(yīng)任務(wù)的極性指標(biāo)WLLRU,如式(1)。用p(w|y)×(1-p(w|yˉ)) 代替了WLLR中的p(w|y),強化了特征的極性區(qū)分度,使重要的特征其極性取值更大。
其中,wi是候選特征集CW中的特征,表示與ys相反的標(biāo)簽,是wi在類別ys中出現(xiàn)的概率,分別表示wi在源和目標(biāo)域中出現(xiàn)的概率。
最后,采取降序排序?qū)蜻x特征詞的正負極性r(w,+)和r(w,-)進行排序;并分別選取前k/2個特征詞構(gòu)成共享特征詞集IW(共有k個特征詞)。
考慮到共享特征詞在源域和目標(biāo)域數(shù)據(jù)分布差異較小,更有利于分類,因此本文對共享特征詞和特有特征詞分別采用不同的噪音系數(shù)進行干擾。
按照3.2節(jié)中的噪音干擾系數(shù)對特征空間進行噪音干擾。具體作法是:共享特征集IW中的每個共享特征詞wi以概率1-γi,將特征值置0,取m份原始數(shù)據(jù)進行隨機損壞m次,當(dāng)m→∞時,最終共享特征詞以概率γi保留[16]。特有特征集合SW中的每個特征以概率1-β將特征置0,取m份原始數(shù)據(jù)進行隨機損壞m次,當(dāng)m→∞時,最終特有特征詞和共享特征詞概率β保留[16]。通過最小化X和?平方損失重構(gòu)誤差L(U)(如式(7))來求解U。根據(jù)文獻[16]結(jié)論可知,式(7)中U的最優(yōu)解為U=PQ-1。
其中,S=XXT,Pij表示矩陣P第i行第j列的元素。最終基于單層邊緣降噪自動編碼器學(xué)習(xí)得到新的特征空間
僅對特征進行一次干擾,僅僅只能擴展文本文檔,難以體現(xiàn)每個特征詞對分類的不同重要程度,因此進行了二次噪音干擾,以突出有利于分類的特征。
共享特征詞wi在源領(lǐng)域中具有較高的極性且在源域和目標(biāo)域之間的相似度較大,其損壞程度應(yīng)該較小,相對而言,特有特征相比共享特征對分類影響程度較小,其損壞程度較大。新的特征空間以概率l=[l1,l2,…,ld]∈Rd對輸入數(shù)據(jù)進行邊緣化損壞。根據(jù)式(10)、式(11)獲取最終的特征空間
最后,采用支持向量機(support vector machine,SVM)對源域特征空間進行訓(xùn)練獲得分類器,再對目標(biāo)域進行分類。
本節(jié)首先給出實驗數(shù)據(jù)集,并將本文中的方法與基準(zhǔn)算法進行對比。
本文采用了已經(jīng)在文獻[16]中預(yù)處理過的亞馬遜數(shù)據(jù)集RevDat。RevDat包括4種不同類型的產(chǎn)品評論:Books(B)、DVDs(D)、Electronics(E)、Kitchen(K)。每條評論由5 000維詞袋向量表示;每一條評論基于用戶的評價分數(shù)被賦值為一個情感標(biāo)簽-1(負的評論)或+1(正的評論)。用戶評論分數(shù)為1或2認為是負評論,分數(shù)為4或5認為是正評論。每個領(lǐng)域都含有1 000個正例和1 000個負例。在該數(shù)據(jù)集上構(gòu)造B→D、B→K等12個跨領(lǐng)域文本分類任務(wù),前面的字母代表源領(lǐng)域,后面的字母代表目標(biāo)領(lǐng)域。
為了說明算法的有效性,本文采用了如下基準(zhǔn)算法進行比較:
(1)Notransf:源領(lǐng)域訓(xùn)練的分類器,直接用于目標(biāo)領(lǐng)域分類。
(2)MDA[16]:MDA是邊緣化降噪自動編碼,對源域和目標(biāo)域中的所有特征統(tǒng)一進行邊緣化降噪處理,能夠提取新的具有更強魯棒性的特征,只將單隱層作為特征空間。mSDA是堆疊多層邊緣化降噪自動編碼器,將獲得的隱層特征和原始數(shù)據(jù)聯(lián)合作為特征空間。
(3)MDA-TR[17]:歸一化降噪自動編碼器,相比MDA,由于MDA是無監(jiān)督學(xué)習(xí),而MDA-TR在隱藏層也進行域預(yù)測任務(wù),使重構(gòu)后的特征空間傾向于目標(biāo)域特有特征或領(lǐng)域間不變的特征,從而減小領(lǐng)域間的差異。
(4)DANN(domain-adversarial neural network)[18]:基于領(lǐng)域?qū)沟纳窠?jīng)網(wǎng)絡(luò),在隱藏層進行域預(yù)測任務(wù),從而捕捉域不變特征。
下面討論本文參數(shù)的最優(yōu)值,領(lǐng)域共享特征數(shù)目k,以數(shù)據(jù)集RevDat上的分類任務(wù)為標(biāo)準(zhǔn),展示實驗結(jié)果和參數(shù)的相關(guān)關(guān)系。領(lǐng)域共享特征數(shù)目k在算法中是一個重要的參數(shù),在不進行二次噪音干擾的情況下,給出在不同k下的分類任務(wù)的精度。
由表1可知,領(lǐng)域共享特征數(shù)目k在1 400~2 200左右時,分類任務(wù)達到比較好的精度。k過小,容易導(dǎo)致極性較強且在目標(biāo)領(lǐng)域出現(xiàn)頻率較高的領(lǐng)域共享特征未被選擇,容易導(dǎo)致數(shù)據(jù)稀疏性加大;k過大,則容易將領(lǐng)域共享特征極性傾向不強以及在源領(lǐng)域出現(xiàn)較高頻率但在目標(biāo)領(lǐng)域很少出現(xiàn)的特征包含在內(nèi),從而干擾領(lǐng)域適應(yīng)。因此,本文將k設(shè)置為1 800。
Table 1 Classification accuracy varying with the number of shared features表1 不同共享特征數(shù)目下的分類精度
需要說明的是,k值的設(shè)置對數(shù)據(jù)集是敏感的,不同數(shù)據(jù)集,其領(lǐng)域特點和相似性不同,則k值的設(shè)定將不同。
為了證明本文算法的有效性,將本文算法與基準(zhǔn)算法在數(shù)據(jù)集RevDat上進行對比。
從表2的實驗結(jié)果可知,本文算法M-MDA在RevDat上的平均分類精度要明顯高于其他基準(zhǔn)算法。分析原因如下,Notransf算法是基于特征層面,容易受文本稀疏性影響。在基準(zhǔn)算法中,MDA可以在一定程度上獲得更健壯的特征用于分類,DANN和MDA-TR是mSDA的變體。與DANN相比,MDATR的行為類似于文本文檔的文檔擴展,它以非常小的頻率添加新單詞,有時還帶有少量的負權(quán)重。當(dāng)數(shù)據(jù)稀疏時,會增加小的噪音來破壞或干擾數(shù)據(jù),難以取得明顯效果。與mSDA、MDA-TR相比,本文提出的方法M-MDA提出了多邊緣化噪音干擾,為領(lǐng)域間不同的特征設(shè)定不同的噪音干擾系數(shù)。從表2可以看出,M-MDA分類準(zhǔn)確度相比基準(zhǔn)算法(Notransf)平均提高了7.13%。本文算法M-MDA對領(lǐng)域間差異領(lǐng)域特征詞進行了分析,領(lǐng)域間不同特征進行不同程度噪音干擾,并通過對特征進行二次噪音干擾并強化共享特征的比例,減少了領(lǐng)域間數(shù)據(jù)分布的差異,在文本分類精度上具有很大的優(yōu)勢。
Table 2 Comparison of classification accuracy on RevDat表2 RevDat上分類精度對比 %
表2中MUT-MDA(multi marginalized denoising autoencoders without weighted)是本文算法M-MDA的變形,僅對數(shù)據(jù)進行多邊緣化,忽略二次損壞步驟。為了進一步說明算法的有效性,對MUT-MDA和M-MDA進行對比分析。從表2可以看出,MUT-MDA根據(jù)領(lǐng)域間的特征差異進行多邊緣損壞可以更好發(fā)現(xiàn)潛在特征之間的關(guān)系,分類精度較基準(zhǔn)算法DANN平均提高了0.97%。M-MDA在MUT-MDA基礎(chǔ)上進行了二次噪音干擾,以突出有利于分類的特征,相比MUT-MDA分類精度提高了0.81%。
本文針對不同特征對分類結(jié)果的影響不同,對不同特征進行不同程度的噪音干擾,提出了一種多邊緣降噪自動編碼器用于跨領(lǐng)域文本分類。實驗結(jié)果表明,該算法可以有效提高跨領(lǐng)域情感分類準(zhǔn)確率。
然而,本文方法是根據(jù)源領(lǐng)域和目標(biāo)領(lǐng)域共有特征計算出特征的噪音干擾系數(shù),并沒有考慮領(lǐng)域間特有特征對噪聲的影響。利用共享特征和特有特征確定最優(yōu)的噪音干擾系數(shù)將是下一步研究的重點。