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