孟佳娜,呂 品,于玉海,鄭志坤
大連民族大學 計算機科學與工程學院,遼寧 大連 116600
情感分析有著廣泛的應用價值,是自然語言處理領域一項具有挑戰的任務。根據現有的研究,情感分析可以分為三個級別:文檔級、句子級和方面級[1-3]。文檔級和句子級的情感分析都是粗粒度的情感分析,而方面級情感分析是一種細粒度的情感分析,它可以提供更詳細的情感分析結果。
針對方面級情感分析問題[4],目前已經有很多先進的深度學習方法,但是常用的深度學習模型一般高度依賴大量的已標注數據進行訓練,而人工標注數據需要耗費許多時間和人力來完成。為了減輕模型對大量標注數據的依賴,本文對方面級情感分析進行了跨領域的研究。
本文標注了中、英文方面級跨領域情感分析語料。目前對方面級情感分析做跨領域研究的比較少,現有的公開方面級情感分析數據集不能滿足本次實驗的需要,因此本文選擇了兩個句子級的情感遷移學習語料,人工標注為適用于跨領域方面級情感分析任務的語料。
本文還提出了基于方面級情感分析的跨領域模型。探究了基于卷積神經網絡(convolutional neural networks,CNN)的方面級情感分析方法,在此基礎上建立了遷移學習模型,并通過實驗檢驗了該模型在不同領域的分類性能,驗證了本文提出的方法具有良好的泛化能力。
早期對于方面級的情感分析主要依靠特征工程來表征句子[5],近年來在方面級情感分析任務中,深度學習模型取得了更好的效果。
長短期記憶網絡(long short-term memory network,LSTM)具有良好的表示序列信息的能力。Tang 等人[6]使用兩個LSTM將目標詞語與其上下文共同建模,整合了目標詞語與上下文的相互關聯信息。Tai 等人[7]提出了樹形LSTM 結構,結合依存關系、短語構成等語法特性,使得語義表達更加準確。
注意力機制可以有效提高情感分類的效果。Ma等人[8]提出了一種分層注意力機制的LSTM 結構,將情感相關概念的常識性知識引入到深度神經網絡端到端的訓練中。Ma等人[9]提出了一種交互式注意力網絡,交互檢測目標的重要單詞和上下文中的重要單詞。記憶網絡模型[10]擁有長期、大量和易于讀寫的記憶。Tang 等人[11]用上下文信息構建記憶網絡,通過注意力機制捕獲對不同方面情感傾向比較重要的信息。Chen 等人[12]提出的模型可以捕捉長距離的情感特征,并且將多重注意力的結果與循環神經網絡(recurrent neural network,RNN)進行非線性組合,以提取更加復雜的特征。CNN模型比較擅長從n-gram 中提取特征,Li 等人[13]提出了一個特征變換組件來將實體信息引入到單詞的語義表示當中,又提出了一種“上下文保留”機制,可將帶有上下文信息的特征和變換之后的特征結合起來。Xue 等人[14]將CNN 與門控機制相結合,使模型可以根據給定的不同方面,有選擇地輸出情感特征。
遷移學習方法的核心思想是找到源領域(source domain)和目標領域(target domain)之間的相似性,并從相似性的角度將源領域使用的模型或標記數據遷移到目標領域,最后根據已有的相似度進行新的訓練[15]。
由于不同領域之間的特征有較大差異,許多跨領域方法是從特征的角度入手。Blitzer 等人[16]提出結構對應學習方法,嘗試在源領域和目標領域中找到一組具有相同特征或行為的樞軸(pivot)特征進行對齊。Pan 等人[17]提出光譜特征對齊的技術將來自不同領域的領域特定詞語對齊到統一的簇中。以深度神經網絡為基礎,也延伸出許多解決跨領域的方法。Glorot等人[18]使用了一種堆疊式降噪自動編碼器,將源領域和目標領域的特征進行重構。Chen等人[19]提出使用mSDA(marginalized stacked denoising autoencoder)算法,在不使用優化算法的基礎上保留了模型強大的學習能力。Yosinski 等人[20]通過實驗發現深度網絡的前幾層更適合被固定用來完成遷移學習任務,并且提出微調,可以很好地克服領域間數據間的差異性。Long 等人[21]提出深度自適應網絡模型,以深度網絡為載體來進行適配遷移。
目前,遷移學習在多個領域都取得了巨大的成功,例如文本挖掘[22]、語音識別[23]、計算機視覺[24]、垃圾郵件過濾[25]、WIFI 定位[25]以及情感分類[14]任務等,具有廣闊的應用前景。
方面級情感分析能提供比一般情感分析更細粒度的信息,具有更大的研究價值和商業價值。而訓練一個優秀的方面級情感分析模型需要大量的標注數據,當訓練數據不充足、分布不同或數據類別不平衡時,模型的效果會大打折扣。因此,構建跨領域情感分析技術通用的模型和方法是未來值得研究的問題。
卷積神經網絡在自然語言處理領域取得了極大的進展。CNN主要由輸入層、卷積層、池化層和全連接層組成。在處理含有多情感多方面的句子時,簡單的CNN不能分辨當前掃描區域中的情感詞是描述哪個實體的。本文在CNN的基礎上,增加一個門控激活單元,當方面信息和情感信息經過該激活單元后,模型會給與方面信息較密切的情感詞語一個較高的權重,反之,若二者關系較遠,則給該情感詞語的權重可能很小或者為0。模型結構如圖1所示。

圖1 方面級情感分析模型Fig.1 Overview of aspect-level sentiment analysis model
具體設計步驟如下:
模型的輸入分為兩部分,分別是方面詞和上下文,對應的卷積過程也包含兩部分。
上下文X包含了l個單詞,將每個單詞轉換為d維的詞向量,句子X可以表示為d×l維的矩陣。使用d×k(k<L)維的卷積核Wc,在上下文矩陣上進行單向平移掃描,k表示卷積核每次掃描所包含的單詞的個數。每次掃描可以得到一個卷積結果ci,如式(1)所示。

其中,bc是偏置,f為激活函數,*代表卷積操作,因此掃描完該句子后,得到向量c,如式(2)所示。

其中,lk表示向量c的長度。在實驗中設置nk個大小為k的卷積核,當所有句子掃描結束后,可以得到一個nk×lk維的矩陣,再對該矩陣進行最大池化處理,即取每行的最大值,此時該句子可以用一個nk維的向量來表示。由于方面詞T可能由一或多個詞構成,實驗中添加了一個小的CNN,將T轉化為詞嵌入矩陣,如式(3)所示,并通過卷積和池化操作,提取方面詞的特征,如式(4)所示。

其中,Wv是d×k維的卷積核,bv是偏置。
實驗設置了兩組相同大小的卷積核同時掃描句子,并將結果分別輸入到兩個門單元中,分別對方面和情感兩類信息進行了編碼,得到了兩個向量si、ai。
在計算si時,采用了tanh 作為激活函數,如式(5)所示。

其中,Ws是d×k維的卷積核,bs是偏置。
在計算ai時,在輸入中加入了方面詞的嵌入向量va,va由vi做最大池化得到,并采用relu作為激活函數,如式(6)所示,因此ai可以視為方面特征。

經過訓練,通過relu 函數后,模型會給予方面詞較密切的情感詞一個較高的權重ai,反之,若二者關系較遠,則權重可能很小或者為0。最后將si、ai這兩個向量對應相乘,得到的結果即為最終的特征向量oi,如式(7)所示。

將oi輸入到池化層,做最大池化處理,最后將得到的向量輸入到全連接層,使用softmax 分類器得到各個類的概率,通過概率大小判斷其類別。
遷移學習是機器學習的一個分支,遷移學習不要求訓練數據在相同的特征空間或具有相同的邊緣概率分布,放松了機器學習所需的假設。在一個比較大的有標簽數據集上預訓練網絡模型,然后使用該網絡模型作為初始化模型來繼續處理其他領域的任務。模型中,方面信息和上下文信息通過卷積提取到特征后,送入門控激活單元將特征進行選擇,與方面特征相似度低的情感特征在門處被阻塞,否則,其規模將相應擴大,并在門控單元將二者特征進行融合,最后通過全連接層預測情感傾向性。模型如圖2所示。

圖2 模型框架圖Fig.2 Model architecture
具體步驟設計如下:
步驟1 使用源領域有標簽數據訓練神經網絡模型,將句子X中的每個單詞轉換為d維的詞嵌入,將句子最大長度固定為l(不足特定值的部分用0補充,超出特定值的部分截斷),句子中共有L個單詞,此時句子X可以表示為d×l維的矩陣,如式(8)所示。

同樣的,方面詞也表示為d×l維的矩陣,如式(9)所示。

將句子和方面詞分別輸入到卷積層,利用卷積層提取句子中的特征。將卷積核W的大小設置為d×k(k<L)維,并將卷積核在句子矩陣和方面詞矩陣上分別進行單向平移掃描,k表示卷積核每次掃描所包含的單詞的個數。掃描后得到卷積結果ci和vi。
步驟2 將vi通過最大池化操作后得到的va和ci一起送入到門控單元中,對方面信息和情感信息進行匹配與融合,具體方法如2.1節中的描述,最后得到一組情感向量Os,如式(10)所示。

步驟3 針對模型訓練時可能出現的過擬合現象,使用Dropout提高神經網絡結構性能。本文選擇用最大池化操作,取出特征值中的最大值作為主要的特征,如式(11)所示。

步驟4 將提取到的特征輸入到全連接層,全連接層通過使用softmax 分類器得到各個類的概率,通過概率的大小判斷其所屬的類別,如式(12)、(13)所示。

步驟5 得到源領域的分類結果后,使用少部分已標注的目標領域數據對模型進行微調。在卷積層使用源領域訓練好的卷積核的權重,應用前向傳播算法獲取特征圖,對全連接層中的權重使用隨機梯度下降方法進行微調,再對目標領域進行情感分類,得到最終的分類結果,如式(14)、(15)所示。

現有的情感分析語料不能完全滿足本次研究的需要,因此本文分別選取了中、英文的遷移學習常用語料進行人工標注,創建了適用于跨領域方面級情感分析任務的數據集。具體做法是,在句子級情感分析公開數據集的基礎上,分析其中的方面信息以及情感信息,將方面詞語進行提取,并將句子中對該方面表達的情感標注出來。為了避免訓練數據不充足、分布不同或數據類別不平衡影響模型性能的問題,本文創建的中英文語料庫經過人工篩選,各領域的數據量以及正負標簽的數量是基本平衡的。
3.1.1 中文語料標注
中文語料選用了譚松波等學者整理的中文評論文本數據集[26],分別是京東電腦產品評論、當當書籍評論和攜程網酒店評論。該語料每一條評論中會涉及一到多個方面,不同方面對應的情感傾向性不一定相同。將每個評論語句中針對不同方面的情感分別標注出來。例如,對于句子“酒店的服務太爛。地理位置挺好的。”可以標注為兩個不同的方面情感數據,對于“服務”方面,對應的情感傾向是消極的;對于“地理位置”方面,對應的情感傾向是積極的。人工標注后的每一條評論語句都分為三部分:句子、方面和情感傾向性。原評論語句中有多少個方面,就分別標注出每一條句子的方面和對應情感傾向性。表1 展示了部分標注后的方面詞。標注后的部分語句示例如表2 所示。對標注方面后的數據進行整理,共19 500條,如表3所示。

表1 中文語料標注后提取的部分方面詞Table 1 Aspect words extracted from labeled Chinese corpus

表2 中文語料標注后數據示例Table 2 Examples of labeled Chinese corpus

表3 中文語料標注后統計Table 3 Statistics of labeled Chinese corpus
3.1.2 英文語料標注
英文語料使用公開的亞馬遜圖書語料庫[16],該語料分為四大類,Book、DVD、Electronic和Kitchen。這四個不同領域的數據都包含正向評論和負向評論各1 000條,共8 000條數據。同樣的,人工標注后的每一條評論語句都分為三部分,句子、方面和情感傾向性。標注后提取出部分方面詞展示在表4 中。標注后提取部分數據示例展示在表5中,最終標注后的數據共9 090條,整理后如表6所示。

表4 英文語料標注后提取的部分方面詞Table 4 Aspect words extracted from labeled English corpus

表5 英文語料標注后數據示例Table 5 Examples of labeled English corpus

表6 英文語料標注后統計Table 6 Statistics of labeled English corpus
實驗中以詞為基本單位構建詞向量,使用jieba 工具對文本進行分詞處理,構建相應的Word2vec詞向量,卷積神經網絡具體超參數設置如表7所示,給定超參數m為目標領域中用于微調的已標注數據占目標領域總數據的比例。

表7 實驗參數設置Table 7 Experimental parameter setting
本次實驗使用準確率Acc和F1值為評價指標。準確率計算公式如(16)所示:

查準率(Precision),也叫精確率或精度,它刻畫了所有預測為正類的結果中,真正的正類的比例,如式(17)所示:

查全率(Recall),也叫召回率,它刻畫了真正的正類中,被分類器找出來的比例,如式(18)所示:

F1值的計算綜合考慮了分類模型的精確率和召回率,可以看作是這兩種指標的加權平均。F1 值和精確率、召回率一樣,介于0 至1 之間,值越大表示模型性能越好。它的計算公式如式(19)所示:

為了表明目標領域樣本對模型遷移效果的影響,抽取部分有標簽的目標領域的數據進行模型訓練。在中文數據集上的實驗,當m=0 時,表示直接將源領域訓練好的模型遷移到目標領域;m=0.05 表示隨機抽取目標領域總數5%的數據進行模型的再次訓練以調整網絡參數;m=0.1,0.2,0.5 的情況以此類推,并使用10倍交叉驗證方法選取準確率和F1值作為測試指標。
3.3.1 中文語料實驗結果及分析
中文語料的準確率實驗結果如圖3 所示。其中C表示Computer 領域的數據集;B 表示Book 領域的數據集;H表示Hotel領域的數據集。圖中C→B表示源領域為Computer,目標領域為Book,其余情況依此類推。從圖中可以看出,使用帶有門控單元的卷積神經網絡模型進行遷移時,從書籍數據集到電腦數據集的遷移效果是最好的,準確率可以達到93.4%。隨著目標領域訓練數據的增多,對于大部分數據集來說,準確率都有提高,增加目標領域樣本時,增加最大的一般是0到0.05這個跨度。
中文語料的F1值實驗結果如圖4所示。可以看出,從書籍數據集到電腦數據集的遷移效果是最好的,F1值可以達到92.19%。隨著目標領域訓練數據的增多,對于大部分數據集來說,F1值都有提高。按照預期,模型的性能會隨著目標領域數據集的增加而提高,但是圖中顯示,當目標領域數據從0 提升到0.05 這個跨度時,模型性能提升的幅度最大,隨著目標領域數據的增加,模型的性能會有輕微的浮動,而后期在目標領域數據最多的情況下模型達到最佳性能。因此在實驗中,增加很少比例的目標領域數據去微調模型,可以顯著提高實驗結果,極大降低了人工標注的時間消耗和成本。

圖4 中文語料F1 值實驗結果Fig.4 Results of F1 of Chinese corpus
3.3.2 英文語料實驗結果及分析
英文語料的準確率實驗結果如圖5 所示。其中B表示Book領域的數據集;D表示DVD領域的數據集;E表示Electronics領域的數據集;K表示Kitchen領域的數據集。圖中B→D 表示源領域為Book,目標領域為DVD,其余情況依此類推。從圖中可以看出,大部分數據集實驗的準確率隨著目標領域訓練數據的增多而提高,實驗結果最好的是當Electronics 數據集為源領域,Kitchen數據集為目標領域時,其準確率達到了85.89%。

圖5 英文語料準確率實驗結果Fig.5 Results of accuracy of English corpus
英文語料的F1 值實驗結果如圖6 所示。從圖中可以看出,F1值隨著目標領域訓練數據的增多而提高,當Electronics數據集為源領域,Kitchen數據集為目標領域時,模型的遷移效果最好,其F1值達到了86.18%。總體來說,實驗的準確率和F1值隨著目標領域數據的增多而提升,實驗中模型的性能會有輕微的浮動,但在用于微調的目標領域數據最大的情況下,模型的性能達到最佳。
3.4.1 消融實驗研究
為了檢驗方面級跨領域情感分析方法的優越性,對本文方法進行了消融實驗,探究帶有門控單元的方面級情感分析結果相比去掉門控的句子級情感分析有何優越性。句子級的情感分析不涉及方面信息,因此將方面信息的輸入置為空,并關閉模型中的門控單元。此時模型的輸入是完整的句子,通過卷積操作提取句子中的情感特征,將該特征輸入到池化層、全連接層等,經過計算得到源領域的情感分類結果,再將源領域中卷積層訓練好的卷積核權重共享給目標領域,并使用小部分的目標領域數據對模型進行微調,最終對目標領域數據進行情感分類,得到目標領域的分類結果。
中、英文語料均使用未經本文標注之前的公開語料,對句子級的情感進行遷移分析。分別在中、英文語料實驗中,選取目標領域微調數據比例m=0.1、m=0.2時的準確率和F1 值進行比較,對比兩種粒度的跨領域情感分析結果。當選取目標領域微調數據比例m=0.1時,準確率和F1 值如表8、表9 所示。當選取目標領域微調數據比例m=0.2 時,準確率和F1 值如表10、表11所示。

表8 中文語料不同粒度實驗結果對比(m=0.1)Table 8 Comparison of different granularity results of Chinese corpus(m=0.1)

表9 英文語料不同粒度實驗結果對比(m=0.1)Table 9 Comparison of different granularity results of English corpus(m=0.1)

表10 中文語料不同粒度實驗結果對比(m=0.2)Table 10 Comparison of different granularity results of Chinese corpus(m=0.2)
從表8至表11可知,方面級的跨領域情感分析結果在大部分實驗中都優于句子級。分析其原因,一是在于數據標注后,對于不同方面,情感信息有了更強的針對性,而句子級情感分析語料中,一句話內往往有互相沖突的情感出現,勢必會影響分類結果;第二則是模型中的門控單元會根據方面信息對情感特征進行選擇,若此時的情感特征與方面信息相關度較高,那么該情感特征會得到更高的權重,有利于得到更好的分類結果。

表11 英文語料不同粒度實驗結果對比(m=0.2)Table 11 Comparison of different granularity results of English corpus(m=0.2)
3.4.2 不同方面詞個數的實驗結果
在方面級情感分析數據集中,一個句子通常存在多個不同的方面詞語,并且針對每個不同的方面表達的情感也不一定相同。因此,本文檢測了這種現象對模型的性能帶來的影響。首先根據句子中方面詞的數量將中文和英文數據集中的訓練樣本分為不同的組,然后確定不同實驗的源領域以及目標領域,將目標領域用于微調的數據數量m設置為0.1,最后通過實驗統計并對比這些組之間的訓練精度差異。
中文語料中標注出的方面詞個數相對較多,大多數樣本標注出的方面詞個數在1到7之間,因此將具有7個以上方面詞的樣本作為異常值刪除。中文語料中不同方面詞個數的準確率變化情況如圖7所示。圖中B→C代表源領域為書籍,目標領域為電腦,其他情況依此類推。

圖7 中文語料不同方面詞個數的準確率Fig.7 Accuracy of number of aspects in sentences of Chinese corpus
英文語料中涉及到的方面詞個數較少,大多數樣本標注出的方面詞個數為1 到4 個,因此將具有4 個以上方面詞的樣本作為異常值刪除,因為這種樣本的數量在實驗中太少了;另外Kitchen 語料中提取的方面詞個數范圍在1到3個,因為范圍較小,難以在實驗中觀察出明顯的差異,所以將該領域數據作為源領域,選擇其他三個領域數據中方面詞個數為1到4的樣本作為目標領域數據進行實驗,對比目標領域中不同方面詞個數的準確率變化情況,結果如圖8 所示。圖中K→B 表示Kitchen為源領域,Book為目標領域,其余情況依次類推。

圖8 英文語料不同方面詞個數的準確率Fig.8 Accuracy of number of aspects in sentences of English corpus
根據圖7 和圖8 可以看到,當句子中的方面詞個數大于3 時,結果開始波動,變得不穩定。因此在創建方面級情感分析數據集時,標注出的句子中的方面詞個數不是越多越好,每個句子標注出3個方面詞可以得到更好的效果。其次,根據圖中的曲線走勢也可以看出,模型在方面詞個數較多的任務中魯棒性不是很好,在以后的工作中還需要針對多方面任務進行建模,提高多方面分類的準確率。
3.4.3 與傳統機器學習方法對比
為了驗證本文模型的性能,選取一些機器學習方法與本文方法進行比較,實驗使用的是中文語料,對比實驗為樸素貝葉斯(naive Bayesian,NB)、邏輯回歸(logistic regression,LR)、支持向量機(support vector machine,SVM)。如圖9所示是目標領域不使用數據微調的機器學習方法分類結果,如圖10所示是使用12.5%的目標領域數據對模型進行微調后的結果。圖中,C→B 代表源領域為電腦,目標領域為書籍,其他行依此類推。根據柱狀圖可以看出,在大部分實驗中,本文提出的方法精度都優于其他實驗,在某個領域的結果可能會出現一些波動,但是總的平均值仍然是最高的。在沒有使用目標域數據進行微調的情況下,本文方法與NB、LR、SVM方法相比,平均準確率分別提高了19.78個百分點、2.16個百分點和1.63個百分點;在使用微調的目標領域數據數量m=0.125 情況下,本文方法與NB、LR、SVM 方法相比,平均準確率分別提高了12.16個百分點、7.76個百分點和7.98個百分點。

圖9 與機器學習方法對比(m=0)Fig.9 Comparison with machine learning method(m=0)

圖10 與機器學習方法對比(m=0.125)Fig.10 Comparison with machine learning method(m=0.125)
3.4.4 與其他方法對比
在英文數據集下的實驗中,將本文方法的準確率結果與以下方法的實驗結果進行比較:
SCL-MI(structural correspondence learning with mutual information)[16]:該方法首先用交互信息構造出樞紐特征,接下來再分別計算源領域和目標領域的樞紐特征與非樞紐特征之間的相關性。
ITIAD(identifying transferable information across domains)[27]:該方法對源領域和目標領域的公共特征進行了處理,應用這些特征進行跨領域情感分類。
DANN(domain-adversarial training of neural networks)[28]:該方法利用域對抗神經網絡來實現跨領域情感分析。
表12展示了在英文數據集下,用于微調的目標領域數據數量m=0.025 時本文方法與其他方法的準確率對比結果。根據表中的數據可以看出,本文提出的方面級跨領域情感分析方法取得了最佳效果,超越了其他幾個經典的跨領域情感分類模型。

表12 不同方法的準確率對比結果Table 12 Comparison of accuracy of different methods
與SCL-ML、ITIAD、DANN 方法相比,本文方法的平均準確率分別提升了0.8 個百分點、0.9 個百分點和0.3個百分點。說明本文提出的模型可以更好地提取到文本的特征,一方面驗證了細粒度跨領域情感分析的可行性,另一方面也驗證了本文方法的先進性,改善了目標領域因標注數據較少而導致的難以獲得好的分類結果的問題,模型可以在較多領域都有好的表現。
本文標注的語料為方面級情感分析的跨領域研究提供了數據支持。對于中文語料,從書籍數據集到電腦數據集的遷移效果是最好的,F1值可以達到92.19%,對于英文語料,效果最好的是Electronics數據集到Kitchen數據集,F1值達到了86.18%,與其他先進方法對比均有所提高。該語料也為以后的相關研究提供了支持。
本文標注了方面級情感遷移學習語料,為本文提供了符合需求的實驗數據集,而針對跨領域的方面級情感分析,本文探究了基于CNN的方面級情感分析模型,并應用遷移學習的思想,將源領域訓練好的模型遷移到目標領域,解決目標領域因標注數據較少難以獲得好的分類結果的問題,實驗驗證了該模型在本文提出的數據集上有著良好的分類性能。在未來的工作中,可以采用更多的遷移方式對模型進行改進,以及在更多跨領域大規模的數據集上對模型的泛化性能進行進一步檢驗。