李妍慧,鄭超美,王煒立,楊 昕
(南昌大學 信息工程學院,南昌 330031)
在自然語言處理領域,文本情感分析的研究受到了國內外研究者的重視和關注。微博作為目前最大的社交平臺之一,具有言論自由、表達隨性等特點?;谖⒉┧鶕碛械凝嫶髷?shù)據(jù)量和包含的豐富情感,微博成為文本情感分析研究的重要數(shù)據(jù)集來源。隨著研究工作的深入,文本情感分析的研究領域從用戶評論逐漸擴展到微博文本上,研究文本的語言也從單語逐漸轉變成雙語文本。隨著互聯(lián)網的迅速發(fā)展與微博在國際市場知名度的提高,微博上涌現(xiàn)出大量“好high”“hold不住”等網絡熱詞,出現(xiàn)了越來越多的混合語種,諸多因素均加大了語言分析和情感預測的難度。國外針對Twitter的英文微博情感分類已有不少研究成果,研究技術已經相對成熟,國內中文的微博情感分析起步稍晚,針對混合語種文本的研究尚處于起步階段。同時,法國哲學家笛卡爾將人的原始情緒分為surprise、happy、hate、desire、joy和sorrow 6類,在此基礎上分支和組合出的其他情緒,構成了人類豐富的情感世界。相比二分類的情感分析,細粒度的情感分析更全面地涵蓋了用戶的心理狀態(tài),更細致地表達出情緒變化。因而,微博研究任務從正負情感擴展到多情感分類乃至更加復雜的問題。多情感的預測分析能夠精準地判別用戶的觀點和態(tài)度,對于快速掌握大眾的情緒趨向、預測熱點事件、實施輿情監(jiān)控、滿足民眾需求等具有重要意義。因此,本文運用遷移學習的思想,對微博的中英混合雙語文本進行多情感傾向分析,以改善分類效果。
早期研究混合語種文本主要停留在粗粒度的情感極性分析上,混合語種情感分析的問題在于將資源豐富的語言情感資源應用到資源貧乏的語言中,而不同語言的情感表達之間又無直接關聯(lián)。因此,根據(jù)研究方式的不同,可以分為以下4種:
1)基于機器翻譯的方法。文獻[1]利用機器翻譯轉換語言,通過與英文情感詞典匹配分析來判定情感極性。文獻[2]使用機器翻譯方法發(fā)現(xiàn)源語言英文文本與日文翻譯出的英文之間的詞匯重疊率很低。文獻[3]指出機器翻譯生成的目標語言文本可能與原始數(shù)據(jù)的情感極性相反,如英文“It is too beautiful to be true.”含有消極情感,翻譯成中文“實在太漂亮了是真實的”則傳遞了積極的情感。文獻[4]提出運用兩個機器翻譯系統(tǒng)對同一文本進行雙向翻譯,減少翻譯過程中的誤差,由于情感信息在不同語言下的差異,機器翻譯的效果時好時壞。因此,目前的機器翻譯工具性能有待提高。
2)基于特征概率分布的方法。文獻[5]將文獻[6]提出的結構對應學習(SCL)推廣到多語言文本中,提出混合語種的結構對應學習方法。針對機器翻譯所存在的問題,文獻[7]提出M-CLSCL算法,通過改進結構學習算法,并利用拉普拉斯映射影響兩種語言之間的詞對,借助選出的軸心詞對目標語言的情感分類。但是該方法的詞對關系是一對一映射,要求過于嚴格,對翻譯結果有一定影響。文獻[8]提出基于單詞分布式表示的SCL方法,形成一對多的次對映射關系,通過將特征詞翻譯成目標語言詞,使用余弦相似度選擇符合條件的多個詞,最終統(tǒng)一對關鍵特征建模得到特征空間,在此空間進行情感分析研究。
3)基于平行語料庫的方法。平行語料庫通過成對的句子學習混合語言的詞向量,消除了對機器翻譯的依賴[9]。文獻[10]提出把雙語詞向量運用于英文-中文語言情感分析中,使用雙語詞向量將訓練數(shù)據(jù)和測試數(shù)據(jù)映射到統(tǒng)一的空間;雙語詞向量依賴大型的平行語料庫,同時在獲取混合語種的語義信息時往往忽視了文本的情感信息。
4)基于深度學習的方法。文獻[11]提出一種多語言的詞向量模型,并將其應用到跨語言的文本情感分析中。在多語言詞向量的基礎上,文獻[12]提出一種多語言的文檔向量模型,并將其應用到跨領域和跨語言的情感分析中。文獻[13]通過實驗驗證,將Twitter消息作為情緒分析對象,把情緒符號作為獨特的指標與詞向量結合,能夠顯著提高情感分類的效果。文獻[14]分析印度語言對(hi-en,ben-hi-en)在混合語料中句子級層面的情感極性,提出線性支持向量機和由線性支持向量機、邏輯回歸、隨機森林組成的集合投票分類器兩種模型,但模型均使用了n-grams和TD-IDF提取特征向量。文獻[15]提出利用CNN結構生成句子的詞語級表示,并作為Bi-LSTM網絡的輸入,用集體編碼器捕捉整個句子的情感,在特定編碼器中使用Attention機制分析基于字詞級別的情感。
上述文獻研究了情感傾向性分析問題,但存在以下不足:1)針對混合語言文本的分析大都基于詞語級別,由于數(shù)據(jù)的稀疏性,未能充分考慮到整個句子的關聯(lián)性;2)混合語言文本的情感分類不夠細致,大部分研究僅從正負極性的角度判別,無法準確地傳達出情感信息。為此,本文根據(jù)中英混合微博文本的特性,提出一種混合語種文本的多維度多情感分析方法,基于句子級進行特征提取并使用遷移學習[16]的思想,同時將情感細分為5類,以提高雙語微博多情感傾向預測的全面性與準確性。機器翻譯將原始文本翻譯成單一語言文本,構造出漢語、英語和雙語3種文本,針對3種形式的語義特征,將其中重要信息合并成一個語義向量,再使用Attention機制進行關鍵信息提取,最終得到對應情感的概率。這種方法不僅從不同語言角度提取句子信息,解決了詞語級別的模型所存在的弊端,而且還結合BERT[17]強大的語義提取能力和遷移學習思想的應用,綜合考慮了原始文本的情感信息,提煉出的情感傾向更為全面和準確。
Transformer[18]作為一種seq2seq模型,沿用了經典的encoder-decoder框架。該模型先對輸入序列進行編碼,生成相應的語義編碼向量,再將其輸出到解碼器。不同的是使用Self-Attention取代了RNN作為特征提取器,為編碼單元的最主要部分,如式(1)所示:
(1)
其中,Q、K、V是輸入字向量矩陣,即輸入向量維度,Self-Attention中得到的輸出序列與輸入序列完全相同。式(1)通過計算一句話中每個詞與其他詞之間的相互關系,得到詞的新的表征。
圖1所示為Transformer編碼單元。
圖1 Transformer編碼單元
新的表征中包含有詞本身信息和該詞與句中其他詞之間的關系,具有更全面的詞向量信息。Transformer中引入“multi-head”機制,增強了詞在不同子空間中的交互能力。假如詞向量是256維,經過6層的Encoder時,分成8份,則每份以32維進行計算。每部分均與句子中其他詞進行交互,如式(2)、式(3)所示:
MultiHead(Q,K,V)=
Contact(head1,head2,…,headh)WQ
(2)
(3)
BERT(Bidirectional Encoder Representations from Transformers)是一個通用的預訓練模型,不但在11項NLP任務中取得最先進的結果,而且簡化了NLP領域的預訓練模塊。BERT采用掩碼語言模型(Masked Language Model,MLM)預訓練方法表征文本雙向特征,增加Next Sentence Prediction預訓練方法更精準地捕捉句子間的關聯(lián),使用高性能的Transformer結構替代LSTM,并且采用fine-tunning方法構建語言處理模型。
BERT模型的強大之處在于Transformer結構和fine-tunning方法。BERT作為通用的預訓練模型,使用雙向Transformer[19]作為編碼結構,沒有固定的decoder,輸出為文本表示,可以接受多種下游任務。
fine-tunning[20]指的是遷移學習,深度學習對數(shù)據(jù)集和計算資源要求嚴格,fine-tunning是一種半監(jiān)督學習,通過修改預訓練模型結構,選擇性載入權重參數(shù),用訓練集重新訓練模型進行微調。使用相對較小的數(shù)據(jù)量快速訓練好模型,大幅減少了計算量和計算時間。
英文微博句法表達較為嚴謹,文本情感分析大都基于情感詞典進行,但是詞典中的資源有限,更新時間周期長;中文微博表達不拘形式,網絡熱詞層出不窮,更沒有開源的中文情感詞典,難以對句子級進行細致的語法分析。針對中英混合語種的微博文本情感分析問題,隨意性地表達更是增加了句法結構的分析難度,使得提取語義特征成為一大難題。為此,本文放棄傳統(tǒng)的情感詞典、word2vec和skip-gram等方法,對句子在不同語種下的情感傾向進行整合??紤]到詞語的稀疏性,將整條微博作為一個整體,探討內在的邏輯和蘊含的情感傾向,并將此微博翻譯成相應的中文和英文,劃分成同一文本在3種語種下的細粒度情感分析,然后綜合上述3種語義特征,進行深層次情感信息挖掘并作出最終的預測。以一條微博為例,其情感分析的結構如圖2所示。
圖2 中英混合文本情感分析模型
由于自然語言處理領域模型訓練的計算量大,對計算資源要求高,成本偏高,因此使用預訓練的BERT模型作為語義提取器,分析在3種語種下的語義信息,通過遷移學習的方法,保留其中的重要信息并進行綜合分析,最終通過Sigmoid函數(shù)得到情感概率。
基于詞語級別的情感詞典和word2vec等方法具有稀疏性,無法更好地提取上下文關聯(lián)性信息。
word2vec僅針對下一個詞語進行預測,屬于靜態(tài)預測,而BERT模型通過自注意力模型對整個句子進行整體建模,能夠直接獲取句子的整體信息。
RNN、CNN等建模方法存在難以捕獲相隔較遠詞語之間的聯(lián)系的問題,即長程依賴問題,雖然有不少解決方案,如LSTM、調節(jié)CNN感受野等,但該問題依舊存在。BERT模型是基于自注意力模型對句子進行建模,會均勻地提取每個詞語與其他詞語之間的聯(lián)系,因此無論句子多長,均不會出現(xiàn)長程依賴問題。此外,BERT模型的訓練語料相當龐大,且從句子級提取語義信息,對文本的分析能力更強大。針對多種語言的混合語料,Google提供了基于104種語言的混合語料的預訓練BERT模型,直接使用此模型將很大程度上減輕工作量。
對于微博數(shù)據(jù)而言,許多看似相反的情感也存在于同一個微博數(shù)據(jù)中,如高興與悲傷、生氣與驚喜。原因可能是微博的文本篇幅有不少還是偏長,情感信息比較復雜。在這種情況下如果考慮不同情感之間的關聯(lián)可能導致引入錯誤的信息,造成模型識別效果較差。
本文在對BERT所提取的文本信息進行情感分類時,為每個情感都新建一個由全連接層和Sigmoid激活函數(shù)組成的Logistic 回歸模型,得到每種情感的概率。
針對中英混合雙語的微博文本,輸入為Im,經過相應的語義訓練器BERTm,生成語義向量Vm,得到的語義特征再投入到BERT模型中,可以預測出其情感傾向1。
通過機器翻譯將源文本分別翻譯成中文和英文兩種形式。按照中英混合雙語文本同樣的訓練方式,分別通過語義提取器BERTc和BERTe,根據(jù)生成的語義向量Vc和Ve可以得到預測的情感傾向2和情感傾向3。
Vm=BERTm(Im)
(4)
Ve=BERTe(Ie)
(5)
Vc=BERTc(Ic)
(6)
作為整個模型的語義提取部分,在單一語言維度的訓練中,仔細觀察測試指標在測試集上的變化,當其達到最大值時,保留語義提取模型(BERT)部分的參數(shù)。
使用Attention算法對語義向量進行關鍵信息提取,能提取深層次詞語向量之間的相互聯(lián)系,并且能消除上一步提取的語義向量的序列信息,方便后續(xù)處理。因此,對同一語言維度的語義向量Vm、Vc和Ve,使用Attention算法進行處理,其公式如下:
ut=vTtanh(W·ht)
(7)
αt=Softmax(ut)
(8)
(9)
其中,ht表示在時間t下的輸入序列向量,W、v是可訓練的參數(shù)矩陣,c為輸出,αt取值范圍是[0,1]。
針對單一語言維度所提取的語義向量ht,通過tanh非線性變換提取在每一個時間序t下的權重向量與同一時間序下的v點乘得到一個0維權重值ut。生成的權重值差值較大,不便于分析,使用Softmax函數(shù)將ut映射到實數(shù)范圍[0,1]之間生成αt,在時間序t下的輸入向量ht與αt的成績進行加權平均得到輸出c。
由于實驗中3種不同語種的文本、詞嵌入維度和時間序列長度不同,因此對上述單一語言維度所提取的語義向量,采用獨立的Attention模型,其中,可訓練的參數(shù)不進行共享。
綜合上述3種語言維度下的語義信息,對中英混合文本信息的提煉更為精確和全面。因此,將獲取的語義信息向量Cm、Ce、Cc進行拼接融合,得到新的語義向量Cf。新的語義向量綜合了3種單一模型下的所有文本特征,通過全連接層和Sigmoid激活函數(shù),便可得到5種情感傾向的概率。同時,模型的損失函數(shù)采用平均交叉熵損失。
Cf=Concat(Cm,Ce,Cc)
(10)
p=Sigmoid(w·Cf+b)
(11)
(12)
其中,w、b均為可學習參數(shù)矩陣。
相比于簡單的處理方法,本文方法使用了遷移學習思想,主要體現(xiàn)在兩個方面:一是在單一語言維度的語義提取部分,BERT模型作為自然語言處理領域中的一個通用模型,通過遷移學習方式獲取文本的語義向量;二是在綜合考慮3種語義向量時,使用遷移學習的思想學習其中的重要信息,生成一個新的語義向量。
本文實驗所使用數(shù)據(jù)集是采用NLPCC2018在“Emotion Detection in Code-Switching Text”情感評測任務中的公開數(shù)據(jù)集。該數(shù)據(jù)集包含訓練集(Train)6 000條,驗證集(Dev)728條,測試集(Test)1 200條。微博內容來自新浪微博,其中標注數(shù)據(jù)集中包含5種情感,即happiness、sadness、anger、fear和surprise,每篇微博包含0種、1種或者2種情感。本文針對微博級的多標簽情感傾向進行分類,NLPCC2018數(shù)據(jù)集的統(tǒng)計結果如表1所示。
表1 NLPCC2018 數(shù)據(jù)集的統(tǒng)計結果Table 1 Statistical results of NLPCC2018 datasets
本文使用的NLPCC2018數(shù)據(jù)集整體格式較為整齊,但由于微博文本表達偏口語化,首先對文本進行清洗,去除與情感無關的噪聲;其次將其中的繁體中文字轉換為簡體中文;對于文本中的數(shù)字(如2013156,321)、特殊符號(□、(○^4.3 詞嵌入
對于使用預訓練BERT的實驗部分,本文選取了3種不同語言版本的BERT預訓練模型,分別是中文版本、英文版本(區(qū)分大小寫)以及中英混合語言版本。每種版本的模型均需要首先進行編碼:對輸入文本進行one-hot編碼,將語言文字轉換為數(shù)字表示,得到相應的文本表征;將每個詞語映射到一個可變的參數(shù)向量中,在模型的訓練中調節(jié)相關參數(shù)。本文采用BERT預訓練模型的參數(shù)向量作為初始參數(shù)向量。
Google提供的預訓練BERT有BERT-lager和BERT-base兩種版本。由于計算能力受限,本文選擇參數(shù)量較少的BERT-base版本。BERT-base共有12層,隱層為768維,采用12頭模式,共110 M個參數(shù)。最大序列長度為512。由表1可以看出,源數(shù)據(jù)集中5種情感的數(shù)據(jù)分布不均衡。為保證訓練時數(shù)據(jù)均衡,本文采用隨機重復采樣的方法,即對于每個訓練批次通過隨機重復采樣保證5種情感數(shù)據(jù)有相同的數(shù)量。表2為實驗模型中的參數(shù)設置,其中,本文經實驗發(fā)現(xiàn)在本任務中,Dropout率設為0.5能取得更好的效果。
表2 模型的參數(shù)設置Table 2 Parameter settings of model
筆者在實驗中發(fā)現(xiàn),簡單地將整個模型直接投入訓練時,所得到的結果甚至要弱于單一語言維度下的結果,而借鑒了遷移學習思想的模型,先針對單一語言維度進行訓練,然后保留其語義提取部分即BERT部分的參數(shù),再遷移到整體模型中進行訓練,可取得高于單一語言維度訓練下的實驗結果??赡艿脑蚴遣煌Z言維度在語義提取部分的參數(shù)訓練時收斂速度不同,實驗流程如圖3所示。
圖3 訓練模型實驗流程
本文首先對中文、英文、混合文本分別進行訓練,保留其語義提取部分的參數(shù),然后將三者語義向量進行綜合分析,并隨機初始化模型中的部分分類參數(shù),將單一語言維度中的語義提取部分進行再次訓練,得出最終預測結果。使用遷移學習方法與未使用遷移學習方法的實驗結果如表3所示。
表3 未使用遷移學習與使用遷移學習的實驗結果對比Table 3 Comparison of experimental results without using transfer learning and using transfer learning
為證明本文方法的實用性,本文在NLPCC2018數(shù)據(jù)集上進行實驗,并與文獻[21-23]的算法模型進行對比分析。實驗將微博情感分為5類,即Happiness、Sadness、Anger、Fear和Surprise。為保證分析的客觀性,主要對比的評估標準是查準率和查全率。查準率指的是該類測試樣本中的正確判別與該類測試樣本總判別的比例,查全率則是指該類測試樣本中的判別與該類總測試樣本的比例[24]。由于查全率與查準率的相互干擾,因此本文以5種類別的宏平均的F1分數(shù)(Macro-F1)為算法模型的評估標準,其定義如下:
(13)
(14)
(15)
(16)
其中,P為查準率,R為查全率,TP為真正例,FP為假正例,FN為假反例。
針對機器翻譯后的中文、英文和源數(shù)據(jù)集的中英混合文本,本文分別采用相應的BERT預訓練模型在訓練集上進行調參,得到其訓練模型,再將驗證集和測試集分別投入到相應的訓練模型中,實驗結果分別如表4~表6所示。
表4 英文文本的多情感分類結果Table 4 Multi-emotion classification results of English text
表5 中文文本的多情感分類結果Table 5 Multi-emotion classification results of Chinese text
表6 中英混合文本的多情感分類結果Table 6 Multi-emotion classification results of Chinese-English mixed text
在3種單一語言維度的情感分析模型下的實驗結果可以發(fā)現(xiàn):1)無論是在單一類別還是在所有類別的綜合上,驗證集的分類性能均優(yōu)于測試集;2)在5種情感的分類中,Happiness的表現(xiàn)效果最佳,其次是Sadness、Anger,且三者的分類效果均高于對應模型下的Marco-F1;3)對比3種模型的綜合性能可以看出,翻譯成英文文本下的模型分類效果較差,對情感的傾向預測會出現(xiàn)誤差,表現(xiàn)較好的是中文和中英混合文本的分類模型,而且不管是在驗證集還是測試集上,中英混合文本的表現(xiàn)均略優(yōu)于中文分類模型。雖然機器翻譯技術已經成熟,能表達源數(shù)據(jù)集的總體意思,但由于微博文本表達的口語化與網絡熱詞的不斷更新,在某種程度上對于語言本身意義的轉換仍然存在一定的偏差,損失了部分原始信息。
由表7可知,不管是在驗證集還是在測試集上,混合語種文本的多維度多情感分析模型的綜合性能均超過了50%。
表7 混合語種文本的多維度多情感分類結果Table 7 Multi-dimensional and multi-emotion classification results of mixed language texts
對比每一類別下的情感分類性能發(fā)現(xiàn),其結果基本均優(yōu)于以上3種單一語言維度模型在每類情感中的分類效果。一方面是得益于遷移學習的思想,主要應用于單一語言維度文本的語義特征提取和3種語義向量的綜合分析中,不僅能夠學習到BERT模型中的語義特征、從3種語義向量中獲取關鍵性的情感信息,還優(yōu)化了整個訓練過程,簡化了計算過程。另一方面是從3種語言維度的角度能夠更為精準地判別情感傾向,對于同一文本,可能在中英混合語言維度中的情感表現(xiàn)不明顯,但是翻譯成中文或者英文文本,其中蘊含的情緒則非常清晰,3種語言維度的綜合考慮降低了情感預測的誤判率。
通過圖4可以很直觀地看出,混合語種文本的多維度多情感分析模型的綜合評估性能(Macro-F1)得到了明顯提升。分別與基于單一語言維度英文、中文和中英混合的多情感分析相比較,Macro-F1分別提高了0.688、0.133、0.617。
圖4 不同方法在驗證集和測試集上的Macro-F1
同時,將本文所提方法與在NLPCC2018情感評測任務中的前5名實驗結果進行比較,其數(shù)據(jù)如表8所示。
表8 不同方法在同一數(shù)據(jù)集下的實驗結果Table 8 Experimental results of different methods under the same dataset
上述實驗對比結果表明,本文所提的方法取得了較好的效果。從實驗結果角度來看,與比賽中使用的單一算法模型相比,實現(xiàn)了不同程度上的超越;與前兩名所使用的集成多種算法的集成學習模型比較,超越了第二名,取得與第一名較為接近的實驗結果。從建模角度來看,僅使用一種模型建模較為容易,計算更為簡單,在實際應用場景中的部署也更易實現(xiàn)。因此,基于不同語言維度,使用BERT模型,借鑒遷移學習思想,本文提出一種多維度多情感的分析方法,為處理混合語種文本的情感分析問題提供了一種行之有效的解決方案。
本文針對中英混合文本的多情感傾向性分析問題,提出一種混合語種文本的多維度多情感分析方法。通過確定5類情感標簽,使用BERT模型作為語義提取算法,對同一文本在3種不同語言維度進行情感分析,然后利用遷移學習的思想將各自語義提取模型的參數(shù)遷移到整體模型,進行更全面的分析,優(yōu)化了計算過程,提高了模型性能,同時在針對中英混合文本的多情感分析中取得較好的效果。但是本文方法仍然存在不足,如使用機器翻譯將混合文本翻譯成中文、英文的數(shù)據(jù)集,翻譯結果不完全準確,同時由于微博表達的口語化和網絡熱詞的不斷涌現(xiàn),翻譯過程中會出現(xiàn)偏差,因此使用多種語義提取算法,多角度地挖掘詞語、句子之間的深層信息,更全面客觀地提取文本的語義信息,精準地分析判斷出文本的情感傾向,將是下一步的研究方向。