廖祥文 吳曉靜 桂林 黃錦輝 陳國龍
1.福州大學數(shù)學與計算機科學學院, 福州 350116; 2.福建省網(wǎng)絡計算與智能信息處理重點實驗室(福州大學), 福州 350116;3.福建省信息處理與智能控制重點實驗室(閩江學院), 福州 350116; 4.香港中文大學系統(tǒng)工程與工程管理學系, 香港;? 通信作者, E-mail: liaoxw@fzu.edu.cn
隨著Amazon, Yelp和IMDB等在線評論網(wǎng)站的迅速發(fā)展, 有越來越多的用戶對不同領域的產(chǎn)品進行評論, 表達觀點。利用這些大規(guī)模用戶生成的文本進行情感分析(sentiment analysis), 發(fā)現(xiàn)用戶對事件或產(chǎn)品的態(tài)度以及傾向性[1]??珙I域情感分類(cross-domain sentiment classification)作為情感分析和自然語言處理(natural language processing, NLP)的重要組成部分[2], 旨在利用源領域與目標領域的有用知識, 對目標領域的文本進行情感分析, 挖掘用戶的觀點和態(tài)度。這對消費者意見反饋[3]和社交媒體研究[4]等有重要意義。
在跨領域情感分類研究中, 人們通常利用遷移學習的方法, 從有大量標注數(shù)據(jù)的源領域中獲取有用的知識, 遷移到缺乏標注數(shù)據(jù)的相關(guān)目標領域中,以期提高算法在目標領域上的性能。這些方法主要分為以下兩大類[5]。
1)基于特征表達的跨領域情感分類。根據(jù)不同領域之間的通用潛在特征來尋找新的特征空間,主要采用結(jié)構(gòu)對應學習[6](structural correspondence learning, SCL)、譜特征對齊算法[7](spectral features alignment, SFA)、遷移成分分析[8](transfer component analysis, TCA)或高斯遷移過程[9]等方法來減少領域間的特征分布差異。這些方法大多數(shù)使用人工設計的規(guī)則或N元文法提取句子特征, 往往忽略上下文關(guān)系及重要單詞與句子的情感信息, 無法很好地對跨領域大規(guī)模文檔進行表示。
2)基于實例加權(quán)的跨領域情感分類。原理是調(diào)整源領域的訓練數(shù)據(jù)權(quán)重, 使其盡可能符合目標領域分布。例如, 采用遷移學習適應提升算法[10-11](boosting for transfer learning, TrAdaBoost)、核均值匹配[12](kernel mean matching, KMM)和直接重要性估計[13]等方法, 學習實例權(quán)重參數(shù)。另外, 有些研究通過主動學習[14-15], 對遷移數(shù)據(jù)進行有選擇的標注, 從而進行跨領域情感分類。但是, 在遷移過程中會不可避免地出現(xiàn)噪聲數(shù)據(jù), 即存在負面遷移的問題, 反而降低跨領域情感分類的性能。并且, 對于大規(guī)模標注文本, 在深度學習方法[16-17]上已經(jīng)取得高性能, 是否有必要進行遷移學習值得探討。
本文提出一種將文本表示方法與遷移學習算法相結(jié)合的跨領域文本情感分類方法。首先利用訓練好的詞向量和分層注意力網(wǎng)絡[17](hierarchical attention network), 對源領域與目標領域的文檔進行特征提取, 從而獲得文檔級的分布式表示。接著, 通過類噪聲估計方法, 從源領域的文本樣本中篩選出與目標領域分布相符的高質(zhì)量樣例, 遷移這些樣例,以便擴充目標領域的數(shù)據(jù)集, 進一步利用支持向量機[18](support vector machine, SVM)來訓練情感分類器。在目前公開的大規(guī)模產(chǎn)品評價數(shù)據(jù)集上進行的實驗表明, 本文方法的性能優(yōu)于目前主流的情感分類方法, 可以有效地提高遷移樣本的質(zhì)量, 從而提高跨領域情感分類的性能。
為了方便研究, 本文的跨領域情感分類問題可描述為, 給定目標領域的訓練數(shù)據(jù)集Dt和源領域的訓練數(shù)據(jù)集Ds,Y={ci}為情感類別(i=1,2,...,nc),nc為情感類別數(shù), 且源領域與目標領域的數(shù)據(jù)分布不一致。利用T={D×Y}找到一個最優(yōu)映射F, 使得F:S→Y,其中D=Dt∪Ds,S為目標領域的測試數(shù)據(jù)。
本文的跨領域情感分類方法框架可分為 3 個階段, 如圖 1 所示。
1)基于分層注意力網(wǎng)絡的跨領域情感文本表示學習。首先, 對目標領域訓練數(shù)據(jù)和源領域訓練數(shù)據(jù)進行預處理和詞向量化; 隨后, 構(gòu)建分層注意力網(wǎng)絡模型, 將目標領域的訓練數(shù)據(jù)視為無噪聲數(shù)據(jù),在此基礎上訓練模型, 接著分別對源領域和目標領域的數(shù)據(jù)進行特征提取, 獲取文本數(shù)據(jù)的分布式表示。
2)基于類噪聲估計的樣例遷移學習。對于源領域數(shù)據(jù)中的每一個樣本, 利用基于Rademacher和分布的類噪聲估計方法, 計算其與目標領域分布的誤差, 并根據(jù)類噪聲估計結(jié)果, 對源領域數(shù)據(jù)進行篩選, 剔除類噪聲概率大于閾值的樣本, 得到高質(zhì)量的遷移數(shù)據(jù)。
3)基于支持向量機的情感分類。將目標領域的標注數(shù)據(jù)與第二階段得到的源領域遷移數(shù)據(jù)進行融合, 得到最終的訓練數(shù)據(jù)。在此基礎上, 利用支持向量機情感分類器進行訓練, 并在目標領域的測試集上得到情感類別值。
圖1 結(jié)合表示學習和遷移學習的跨領域情感分類框架Fig.1 Architecture of cross-domain sentiment analysis
分層注意力網(wǎng)絡將文檔中的局部語義作為注意力, 利用長短時記憶網(wǎng)絡[19](long short-term memory,LSTM)學習文本的單詞級和句子級表示, 進而得到文檔級的分布式表示, 可以很好地捕獲文本的局部語義特征。本文采用基于注意力機制的分層LSTM網(wǎng)絡[17], 對跨領域文檔進行表示學習, 將LSTM作為基礎模型, word2vec[20]預訓練好的詞向量作為分層注意力網(wǎng)絡的輸入, 通過兩層LSTM提取單詞級和句子級表示, 并分別引入單詞和句子的局部語義注意力, 最終得到情感文本的分布式表示。模型結(jié)構(gòu)如圖 2 所示。
假設ds為源領域的一個情感文本, 且ds={s1,s2,...,sn},si表示文本中的第i個句子, 且si={其中∈表示文本第i個句子中第j個單詞的n維詞向量。設li表示句子si包含的單詞總數(shù), 該文本的情感標簽為y。
分層注意力網(wǎng)絡可分為單詞級和句子級表示學習。在單詞級別的表示學習中, 句子中的每個單詞映射到一個低維度的語義空間, 即用一個n維詞向量表示。在LSTM的每一步中, 給定一個輸入單詞對當前單元狀態(tài)和隱藏狀態(tài)可以根據(jù)前一個單元狀態(tài)和隱藏狀態(tài)進行更新:
圖2 基于分層注意力網(wǎng)絡的跨領域情感文本表示學習模型Fig.2 Model architecture of cross-domain representation learning based on hierarchical attention network
其中i,f和o是門限函數(shù), ⊙表示矩陣乘法,σ表示sigmoid函數(shù),W和b是模型中需要學習的參數(shù)。
然而, 并不是所有單詞對句子表示的貢獻程度都相同, 因此利用注意力機制來獲取每個單詞對句子表示的重要程度。具體地, 先通過一個全連接層得到隱藏狀態(tài)的表示:
其中,Ww和bw為網(wǎng)絡參數(shù)。然后, 計算單詞的重要性, 即單詞級的注意力權(quán)重
單詞上下文向量uw經(jīng)過隨機初始化后, 在訓練期間與模型參數(shù)共同學習更新。最后, 整合單詞級的注意力權(quán)重得到句子表示si:
在句子級別的表示學習中, 將句子向量 [s1,s2,...,sn]送入LSTM層中, 使用類似的方法, 通過整合句子級的注意力權(quán)重ai, 得到文檔表示d:
其中,Ws和bs為網(wǎng)絡參數(shù),us為句子上下文向量。
在基于分層注意力網(wǎng)絡的跨領域情感文本表示學習的訓練過程中, 將目標領域訓練集Dt×Y作為模型的訓練數(shù)據(jù), 通過上述的特征提取階段, 利用一個softmax函數(shù), 對文本表示進行預測, 得到情感類別預測值:
其中,Wc是 softmax 層的權(quán)值矩陣。通過最小化交叉熵損失函數(shù), 逐層更新網(wǎng)絡參數(shù), 可獲得一個在目標領域上的最優(yōu)情感分類器。在文本表示學習的特征提取過程中, 目標領域的訓練數(shù)據(jù)Dt與源領域的訓練數(shù)據(jù)Ds分別通過訓練好的模型, 提取其中最具代表性的文本特征作為文本的表示。
為解決遷移迭代過程中可能產(chǎn)生負面遷移, 造成跨領域情感分類器的性能下降的問題, 本文改進了基于Rademacher和分布的類噪聲估計方法[21], 并將其引入樣例遷移學習算法中, 利用類噪聲檢測方法篩選出遷移樣本中的錯誤標注樣本(即源領域中帶有類噪聲的樣本)并剔除, 從而避免負面遷移的影響。
將無噪聲的訓練數(shù)據(jù)集記為D, 且 (x1,y1),(x2,y2),...,(xn,yn)是n個來自數(shù)據(jù)集D的數(shù)據(jù), 其中xi為文本數(shù)據(jù),yi為該文本數(shù)據(jù)的真實標簽,yi=±1(i=1,2,...,n)。在類噪聲問題中, 真實標簽往往難以獲得, 因此將實際數(shù)據(jù)集記為(即有噪聲數(shù)據(jù)集, 其中訓練數(shù)據(jù)為這里是實際標簽, 可能與真實標簽yi不同。因此,合理假設一個樣本的真實標簽與其最相似樣本的標簽相同。采用基于邊權(quán)統(tǒng)計(cut edge weight statistic)的錯誤樣本估計方法。首先, 計算每一個訓練樣本與其他樣本之間的相似度并排序, 選取相似度最高的k個樣本, 與之連接, 得到一個K近鄰圖。對于圖中任意兩個相連的節(jié)點(xi,yi)和(xj,yj), 定義其邊的權(quán)重為
這里, sim(?)是相似度計算函數(shù), 用于度量兩個樣本之間的相似度, 可以是余弦相似度(Cosine similarity)或基于歐氏距離(Euclidean distance)的相似度, 并且歸一化后wij∈[ 0,1]。同時, 定義一個符號函數(shù):
符號函數(shù)Iij表示一個樣本和與其最相似的樣本之間的差異。顯然, 當兩個輸入樣本的標簽一致時,符號函數(shù)的輸出為-1, 否則為1, 且P(Iij=1)=
其中, ||?||1和||?||2分別為L1和L2范數(shù),Iij為兩個樣本(xi,yi)與 (xj,yj)之間符號函數(shù)的計算結(jié)果,k表示選取最相似樣本的個數(shù),wi=(wi1,wi2, …,wik)∈L2。類噪聲率表示遷移樣本在目標領域中被錯誤標注的概率, 類噪聲率大的樣本會有更大的概率對遷移過程產(chǎn)生負面影響。
根據(jù)文獻[23], 在有類噪聲訓練數(shù)據(jù)集上訓練的分類器與真實最優(yōu)假設之間的誤差(即分類器的性能), 對于一個確定的機器學習問題, 其影響因素僅有類噪聲率。在估計類噪聲的基礎上, 可以進一步估計遷移樣本集合TS的誤差界:
其中,δ是平滑系數(shù),N是與特征空間相關(guān)的常數(shù)。遷移樣本集合的誤差界用于對當前迭代周期所訓練的情感分類器質(zhì)量進行評估。
基于類噪聲估計的樣例遷移學習算法的具體過程如算法 1 所示。
算法1基于Rademacher和分布類噪聲估計的樣例遷移學習算法。
輸入: 目標領域上的有標注數(shù)據(jù)L;源領域上的無標注數(shù)據(jù)U; 分類器C;最大迭代次數(shù)T;檢測周期TD;當前周期n;當前周期的候選遷移樣本集合TSn=?;已遷移樣本集合TS=?;每輪迭代添加的正面樣本數(shù)p和負面樣本數(shù)q;每個周期估計的測試誤差邊界ε=1(i=1,2,...,n)。
輸出: 遷移樣本集合TS。
1n=1
2 for iter ←1 toT×TDdo
3 在L上訓練分類器C
4 使用C對U進行分類, 將置信度最高的p個正面樣本和q個負面樣本加入TSn
5 if iter %TD==0 then
6 forxi∈ TS ∪TSndo
7 對樣本xi建立K近鄰圖, 并根據(jù)式(14)計算類噪聲率Pc(xi)
8 end for
9 根據(jù)式(16)進一步估計TS ∪ TSn的誤差界εn
10 使用類似方法估計TS的誤差界εn-1
11 ifεn>εn-1then
12 break
13 else
14 對于TSn中的每個樣本xi, ifPc(xi)>θthenTSn← TSn-{xi}
15 TS=TS ∪ TSn,n++, TSn=?
16 end if
17 end if
18 end for
支持向量機[24]是一種監(jiān)督學習方法, 在情感分類任務[18]上表現(xiàn)出優(yōu)異的性能, 且具有泛化錯誤率低、計算開銷小等優(yōu)勢。利用支持向量機建立一個超平面作為決策面, 使類別間隔最大化, 即
其中,xi與yi分別表示訓練樣本及其對應標簽,N為訓練集大小,w和b為待求解的參數(shù)。
第一階段, 目標領域訓練數(shù)據(jù)Dt與源領域訓練數(shù)據(jù)Ds, 通過基于分層注意力網(wǎng)絡, 分別得到對應的情感文本表示Xt與Xs; 第二階段, 利用基于類噪聲估計的遷移樣例篩選算法, 從源領域樣本中挑選出高質(zhì)量的遷移樣本數(shù)據(jù)Xs′?Xs, 合并目標領域與源領域的訓練數(shù)據(jù), 得到X=Xt∪Xs′; 第三階段, 利用合并數(shù)據(jù)集X×Y, 訓練支持向量機情感分類器, 并在目標領域的測試集S上得到情感類別的預測值。
為了與基礎實驗進行對比, 本文實驗選用的數(shù)據(jù)集是IMDB電影評論數(shù)據(jù)集以及Yelp網(wǎng)站上 2013年和 2014年的餐館評論數(shù)據(jù)集[17], 具體的統(tǒng)計信息如表 1 所示。這 3 個公開數(shù)據(jù)集均包含大規(guī)模的英文評論文本以及對應的情感類別, 并且數(shù)據(jù)分布不一致。
由于Yelp2013和Yelp2014的情感類別(1~5)與IMDB (1~10)有所差異, 因此要對數(shù)據(jù)進行處理。
表1 實驗數(shù)據(jù)集的統(tǒng)計信息Table 1 Statistics of the datasets
為了評估算法的性能, 我們選用分類算法中常用的兩個評價指標[25]: 準確率(Accuracy)和均方根誤差(root mean square Error, RMSE), 計算公式如下所示。
其中,表示第i個樣本的預測標簽,yi表示其正確標簽,N為測試集的大小。
對于word2vec與分層注意力網(wǎng)絡中的參數(shù), 為便于對比, 沿用文獻[17]中的參數(shù)設置, 將每個情感文本映射為一個200維的情感文本表示向量。
在基于類噪聲估計的樣例篩選過程中, 選取統(tǒng)計學中常用的置信度標準0.05作為閾值[26], 即: 若一個樣本的類噪聲率Pc(xi)> 0.95, 則認為這一樣本xi是負面遷移樣本。另外, 由于在文獻[21]的類噪聲檢測算法中僅考慮二分類問題, 而本文所解決的是多分類問題, 故對原始的類噪聲檢測算法進行適當?shù)母倪M, 以便統(tǒng)計相似樣本中的標簽差異: 針對五分類的數(shù)據(jù)集, 對于情感類別相差為1的相似樣本, 不認為這兩個樣本的情感有明顯差異; 對于情感類別相差為 2 及以上的相似樣本, 則認為有明顯差異。因此, 本文將五分類標簽分為正、中、負3檔: 1 和 2 為負面, 3 為中性, 4 和 5 為正面。總之,重新定義類噪聲估計中的符號函數(shù), 當且僅當兩個樣本的標簽有正負面差異時才輸出1, 否則輸出-1。
本文實驗參數(shù)的設置如表 2 所示。
在Yelp兩個不同年份數(shù)據(jù)集上, 分別采用卷積神經(jīng)網(wǎng)絡(CNN)、分層LSTM網(wǎng)絡(NSC)以及基于分層注意力網(wǎng)絡(NSC+LA)的文本表示學習方法, 進行情感分類實驗, 結(jié)果如表 3 所示。
表2 參數(shù)設置Table 2 Parameters setup
從表3可以看出, 分層注意力網(wǎng)絡能較好地提取文本中的重要局部特征, 從而達到較好的情感分類性能。
作為參照, 先簡單地向兩個數(shù)據(jù)集添加來自其他訓練集的樣本, 不進行遷移數(shù)據(jù)的篩選, 使用支持向量機訓練情感分類器, 實驗結(jié)果如表 4 所示。
從表 4 可以看出, 將兩個訓練集直接合并后,分類效果明顯下降, 主要原因在于兩個數(shù)據(jù)集來自不同的領域, 領域之間的數(shù)據(jù)分布具有較大差異,直接遷移會產(chǎn)生負面影響。從在Yelp2013與IMDB之間進行的遷移實驗可以看出, 簡單合并之后出現(xiàn)的負面效果尤為明顯, 這是由于Yelp2013與IMDB的數(shù)據(jù)規(guī)模相差不大, 負面遷移影響更顯著。在Yelp2014上進行的實驗中, 加入其他兩個數(shù)據(jù)集之后, 性能略微提升, 并且, 由于Yelp2013與Yelp2014的數(shù)據(jù)分布較為類似, 性能提升較明顯。但這仍說明簡單合并數(shù)據(jù)集的方法不能有效地遷移不同領域的數(shù)據(jù)。
利用本文提出的算法, 對遷移數(shù)據(jù)進行基于類噪聲估計的篩選, 并使用支持向量機訓練分類器,實驗結(jié)果如表 5 所示。
對比表 4 與表 5 可以看出, 與簡單合并訓練集相比, 對遷移數(shù)據(jù)進行篩選后, 各個數(shù)據(jù)集上的性能都有較大的提高, 說明利用基于類噪聲估計的樣例遷移算法可以有效地提升跨領域情感分類的性能, 表明對遷移數(shù)據(jù)進行基于類噪聲估計的篩選可以避免負面遷移, 從而有效地提高遷移樣本的質(zhì)量。特別是在 Yelp2013 數(shù)據(jù)集上的實驗結(jié)果, 比表4 中簡單合并的準確率(0.618 和 0.628)有大幅度的提升, 表明進行高質(zhì)量數(shù)據(jù)遷移的必要性。
以Yelp13標注數(shù)據(jù)+IMDB遷移數(shù)據(jù)的實驗為例, 在近鄰數(shù)k=8時, 選取IMDB訓練集中兩個類噪聲率不同的樣本進行對比, 如圖 3 所示。圖3(a)中,文本樣本的情感標簽為5, 通過類噪聲估計方法計算得出類噪聲率較小, 因為其與近鄰的8個文本樣本標簽的差異不大, 可以認為該文本樣本標注正確,較符合目標領域的數(shù)據(jù)分布。圖3(b)中, 文本樣本的標簽為4, 與其近鄰樣本標簽的差異較大, 類噪聲率較大, 說明該樣本在目標領域?qū)儆阱e誤標注樣本,與目標領域的數(shù)據(jù)相差較大, 極有可能造成分類器性能下降, 產(chǎn)生負面遷移。從圖3可以看出, 基于Rademacher和分布的類噪聲估計方法可以有效地過濾錯誤標注的樣本, 從而進一步提升跨領域情感分類的性能。
表3 基于文本表示學習的基準分類實驗Table 3 Results of textual representation learning
表4 合并訓練集的實驗結(jié)果Table 4 Results of merging training sets
表5 基于類噪聲估計的樣例遷移學習實驗結(jié)果Table 5 Results of transfer learning based on class-noise estimation
圖3 不同類噪聲率樣本的比較Fig.3 Comparison of samples over different class-noise rate
圖4 表示近鄰數(shù)k不同時, 在不同數(shù)據(jù)集上基于類噪聲估計的樣例遷移學習算法的準確率變化??梢钥闯? 當k為 7 或 8 時, 本文方法能達到較好的效果。
為了進一步說明本文提出的情感分類方法的有效性, 我們將該方法與目前主流的情感分類方法進行對比: 1)Paragraph Vector, 利用Le等[27]提出的文檔向量表示訓練支持向量機進行分類; 2)RNTN+Recurrent, 利用 Socher 等[28]提出的遞歸神經(jīng)網(wǎng)絡進行情感分類; 3)CNN, 利用 Kim[16]提出的卷積神經(jīng)網(wǎng)絡進行情感分類; 4)NSC 和 NSC+LA, 利用 Chen等[17]提出的兩種文檔級情感分類方法進行情感分類; 5)ATL+DGP, 基于深度高斯過程的非對稱遷移學習[9]進行跨領域情感分類, 將 IMDB 訓練集作為輔助數(shù)據(jù), 利用分層注意力網(wǎng)絡提取文本特征后利用深度高斯過程進行遷移學習。
為了便于對比, 前5個對比實驗的參數(shù)沿用文獻[17]中的參數(shù)設置, ATL+DGP方法中高斯過程的參數(shù)與文獻[9]一致, 實驗結(jié)果如表6所示。值得說明的是, ATL+DGP方法在遷移學習中未能對負面遷移樣本進行篩選, 因而分類效果不具優(yōu)勢。從表 6可看出, 本文提出的方法能有效地過濾造成負面遷移的樣本, 在負面遷移出現(xiàn)之前停止迭代, 從而在文本表示學習的基礎上提高大規(guī)模文本跨領域情感分類的性能。
針對跨領域情感分類方法中存在的文本表示忽略局部語義特征和負面遷移問題, 本文提出一種基于分層注意力網(wǎng)絡的文本表示方法與基于樣例的遷移學習算法相結(jié)合的跨領域情感分類方法, 引入基于類噪聲估計的遷移數(shù)據(jù)篩選方法, 從源領域中選取高質(zhì)量樣本遷移到目標領域中, 以提高文本跨領域情感分類系統(tǒng)的性能。在公開的大規(guī)模產(chǎn)品評價數(shù)據(jù)集上的實驗表明, 將表示學習與遷移學習相結(jié)合的方法可以提高文本跨領域情感分類系統(tǒng)的性能, 同時表明該方法可以有效地提升遷移樣本質(zhì)量,從而說明在大規(guī)模文本中引入遷移學習的必要性。由于方法達到較好性能需要大量標注數(shù)據(jù)集, 未來將進一步研究半監(jiān)督任務中的大規(guī)模跨領域情感分類問題, 以便更好地應用于實際場景, 提高情感分類性能。
表6 跨領域情感分類實驗結(jié)果Table 6 Results of cross-domain sentiment classification