李青松
(四川大學計算機學院,成都 610065)
文本情感分析又稱意見挖掘,是自然語言處理領域的一項研究熱點,目的在于從具有情感傾向的文本中提取出評論者的情感信息,并對其進行分析、處理、歸納和推理的過程。文本情感分析已經(jīng)被廣泛應用于商品推薦、市場分析、輿論控制等領域,具有很高的商業(yè)和社會價值。目前主流的情感分析方法可以分為三類,一類是基于情感詞典的方法,這類方法主要依賴于情感詞典,并通過特定的語義規(guī)則進行情感分析;第二類是基于傳統(tǒng)機器學習的方法,這類方法首先要挖掘文本的特征,再使用支持向量機、樸素貝葉斯、最大熵等模型對文本進行情感分析;最后一類為基于深度學習的方法,首先將文本轉(zhuǎn)換為文本向量,然后作為深度學習模型的輸入進行訓練,最后驗證并保存訓練好的模型。
基于情感詞典的方法主要通過情感詞典對文本進行情感分析。該方法通常不考慮文本中詞與詞間的關系,而是將文本看作多個詞語或短語的集合。該方法的一般步驟是:首先根據(jù)語料等構(gòu)建情感詞典,然后將
在構(gòu)建情感詞典時,會經(jīng)常用到點互信息算法(Pointwise Mutual Information,PMI)和隱含狄利克雷模型(Latent Dirichlet Allocation,LDA)。PMI可以用來判斷詞語的情感傾向,而LDA則用來從語料中提取情感詞。
(1)點互信息算法
點互信息算法主要用于計算詞語間的相似度,其基本思想是統(tǒng)計兩個詞語在文本中共現(xiàn)的概率PMI值。如果PMI值大于0,說明兩個詞語是相關的;如果等于0,說明兩個詞語是統(tǒng)計獨立的;如果小于0,說明兩個詞語是不相關的。PMI值越大,證明兩個詞語的相關性越高?;诖?,我們可以通過一個詞語分別與文本進行分詞,再使用構(gòu)建好的情感詞典將文本中的詞語進行詞性和情感強度標注,最后通過語義規(guī)則計算情感得分并得出文本的情感傾向。在構(gòu)建情感詞典時需要使用傳統(tǒng)情感詞典,目前傳統(tǒng)情感詞典主要有:哈佛大學的GI(General Inquirer)英文情感詞典、普林斯頓大學的WordNet英文情感詞典、知網(wǎng)HowNet中文情感詞典、國立臺灣大學的NTU中文情感詞典、大連理工大學的中文情感詞匯本體庫等。正向情感詞和負向情感詞的PMI值,來判斷這個詞語的情感傾向性。
(2)隱含狄利克雷模型
隱含狄利克雷模型是一種基于貝葉斯概率的文檔主題生成模型。它可以用來識別語料庫中潛藏的主題信息,并提取其中的主題詞。該模型包含三層結(jié)構(gòu):文檔,主題和詞,文檔到主題服從多項式分布,主題到詞服從多項式分布。利用該模型,可以從正向語料庫中提取出正向情感詞,從負向語料庫中提取出負向情感詞。
Taboada等[1]提出了一種情感傾向計算模型(SOCAL),并將其應用于情感極性二分類任務中,在書籍、汽車、電腦等多個領域的評論數(shù)據(jù)集上取得了不錯的效果。Yang等[2]提出一種構(gòu)建特定領域情感詞典的方法。該方法使用傳統(tǒng)情感詞典作為先驗知識,然后通過LDA模型從語料中提取主題詞來擴展特定領域的詞典。Turney等[3]通過使用PMI算法來擴展情感詞典,然后使用語義極性算法來分析文本的情感傾向,處理文本數(shù)據(jù)的準確率在74%左右。周詠梅等[4]提出了一種構(gòu)建中文微博情感詞典的方法,利用上下文熵識別微博網(wǎng)絡用語,再使用SO-PMI算法篩選出網(wǎng)絡用語情感詞,最后進行人工標注并加入情感詞典。Zhang等[5]提出了一種基于情感詞典的中文微博情感分析方法,以便更好地支持網(wǎng)絡監(jiān)管機構(gòu)的工作。他們通過傳統(tǒng)情感詞典、程度副詞、網(wǎng)絡詞典和微博表情詞典來擴展和構(gòu)建微博情感詞典,然后通過語義規(guī)則計算權(quán)重來獲得微博的情感值,最后得出微博的情感傾向是正面,中立還是負面的。
基于情感詞典的方法可以體現(xiàn)文本的非結(jié)構(gòu)化特征,并且在構(gòu)建完情感詞典后,就可以根據(jù)制定的語義規(guī)則進行情感分析。但一般構(gòu)建的情感詞典都是針對某些特定領域的,并不能完全覆蓋到其他領域中出現(xiàn)的情感詞。所以對于跨領域情感分析來說,基于情感詞典的方法效果并不是很好。
基于傳統(tǒng)機器學習進行情感分析也是目前主流的方法,此類方法可以對多種特征建模并進行分類,其本質(zhì)上是特征工程提取,即如何從標注好的數(shù)據(jù)集中提取出不同類別的特征。通過在大量的語料庫上進行訓練,最終輸出的模型不僅能夠提取出特征詞之間的關系,而且能夠考慮到文本中隨機詞和詞共現(xiàn)的影響。
基于傳統(tǒng)機器學習的方法主要用到了三類機器學習方法,分別是支持向量機(Support Vector Machine,SVM)、樸素貝葉斯(Naive Bayes,NB)和最大熵(ME)。
(1)樸素貝葉斯
樸素貝葉斯是一種簡單高效的分類模型,在貝葉斯定理以及特征條件獨立假設的基礎上進行分類。在處理訓練數(shù)據(jù)時,首先使用特征條件獨立假設計算出輸入/輸出的聯(lián)合概率分布,然后結(jié)合貝葉斯定理輸出后延概率最大的預測項。
(2)支持向量機
支持向量機是一種有監(jiān)督的機器學習方法,經(jīng)常被用到二分類任務上。它的主要思想是尋找一個保證最小分類錯誤率的超平面來分割二分類訓練樣本點。對于線性可分的情況,至少存在一個超平面將訓練樣本點分開,SVM的目的是找到一個超平面,使得兩類樣本點組成的特征空間的距離這個超平面的間隔最大,這個超平面被稱為最優(yōu)超平面;對于線性不可分的情況,通過使用核函數(shù)將低維空間轉(zhuǎn)化為線性可分的高維空間。
(3)最大熵
熵是用來度量隨機變量的不確定性,隨機變量的不確定性越大,熵值越大,反之亦然。最大熵是一種選擇隨機變量統(tǒng)計特性最符合客觀情況的準則,本質(zhì)上是一個條件約束準則?;谧畲箪卦恚梢栽谒袧M足約束的模型中選擇具有最大熵模型的分類器。
Pang等[6]最早將機器學習方法用于情感分析,他們比較了支持向量機、樸素貝葉斯、最大熵與多種特征組合在電影評論領域中情感分類的效果,實驗結(jié)果表明一元特征與支持向量機組合效果最好。Wikarsa等[7]將樸素貝葉斯分類器用于Twitter用戶的評論文本情感分析,將情緒分為六種,即快樂、悲傷、憤怒、厭惡、恐懼和驚訝,在處理數(shù)據(jù)時考慮到了表情符號轉(zhuǎn)換,實驗的準確率達到了83%。Govindarajan[8]結(jié)合樸素貝葉斯和遺傳算法提出了一種新的情感分類器,并且在電影評論數(shù)據(jù)集上取得了比樸素貝葉斯和遺傳算法更好的效果。蘇瑩等[9]將樸素貝葉斯模型和潛在狄利克雷分布(LDA)相結(jié)合,提出了一種無監(jiān)督的文本情感分析模型NB-LDA,該模型的正確率優(yōu)于其他無監(jiān)督模型。Chikersal等[10]將語義規(guī)則和SVM結(jié)合在一起對Twitter進行情感分析,實驗結(jié)果表明語義規(guī)則可以改善SVM的分類效果。Kumari等[11]將支持向量機模型用于智能手機評論的情感分析,實驗的準確率達到了91%。Lee等[12]將最大熵分類模型用于分析電子產(chǎn)品評論的情感傾向性。黃文明等[13]提出了一個基于最大熵的中文短文本的情感分析模型,該模型在時效性和冷啟動兩個方面具有魯棒性,并且分類效果很好。
基于傳統(tǒng)機器學習的方法進行情感分析時,通常采用UniRam/Bigram等語言模型構(gòu)建文本特征,然后使用機器學習算法對特征進行提取和分類,在很多數(shù)據(jù)集上的實驗效果都很好。但是該方法在特征提取時,可能出現(xiàn)特征向量稀疏、維度爆炸、特征提取困難等問題。
深度學習是一種多層表征學習算法,相較于傳統(tǒng)機器學習算法,深度學習具有更深的網(wǎng)絡結(jié)構(gòu),更強的表達能力。深度學習模型可以從數(shù)據(jù)中提取出深層次的特征。近年來,深度學習模型已經(jīng)在情感分析中取得了許多矚目的成果。
基于深度學習的情感分析方法一般將詞嵌入(Word Embedding)訓練得到的詞向量作為情感分析模型的輸入,通過訓練后驗證并保存模型。該方法常用的深度學習模型有卷積神經(jīng)網(wǎng)絡(Convolutional Neural Networks,CNN)和循環(huán)神經(jīng)網(wǎng)絡(Recurrent Neural Net?work,RNN)。
(1)詞嵌入
詞嵌入技術是一種語言建模和特征學習技術,可以將文本中的詞語轉(zhuǎn)換為帶有語義規(guī)則的詞向量。目前主流的詞向量模型是谷歌提出的Word2Vec模型,其本質(zhì)上是一個神經(jīng)網(wǎng)絡預測模型,可以從文本中學習得到詞向量。Word2Vec包含了兩種模型,一種是CBOW(Continuous Bag-of-Words)模型,和 Skip-Gram模型。CBOW模型是通過上下文來預測目標單詞的概率,而Skip-Gram模型則相反,它通過目標詞來預測上下文單詞出現(xiàn)的概率。CBOW模型通過將上下文視為一個觀察對象來平滑文本中單詞的分布信息,它適用于較小的數(shù)據(jù)集。Skip-Gram模型則是將每個上下文與目標視為一個新的觀察對象,適用于較大的數(shù)據(jù)集。
(2)卷積神經(jīng)網(wǎng)絡
卷積神經(jīng)網(wǎng)絡是一種包含卷積及其相關計算的前饋神經(jīng)網(wǎng)絡,是目前主流的神經(jīng)網(wǎng)絡模型。卷積核是該網(wǎng)絡的基本組成單位,可以把卷積核看作是一個局部特征提取器。常見的卷積神經(jīng)網(wǎng)絡一般包含五層,分別是輸入層,卷積層,池化層,全連接層和Softmax層。卷積神經(jīng)網(wǎng)絡在對文本進行建模時,通過滑動窗口對文本向量進行卷積操作,提取出的特征是局部相連詞語之間的特征。卷積神經(jīng)網(wǎng)絡已經(jīng)被很好地用于情感分析、機器翻譯等自然語言處理任務中。
(3)循環(huán)神經(jīng)網(wǎng)絡
循環(huán)神經(jīng)網(wǎng)絡是目前主流的神經(jīng)網(wǎng)絡模型,適用于處理和與預測序列數(shù)據(jù)。該網(wǎng)絡采用循環(huán)反饋機制來學習數(shù)據(jù)的特征,每一時刻的輸入都包括上一時刻隱藏層單元的輸出,通過這種機制實現(xiàn)記憶功能保存歷史信息,并隨著新數(shù)據(jù)的輸入不斷更新。因此循環(huán)神經(jīng)網(wǎng)絡能夠有效利用數(shù)據(jù)中長距離依賴的能力,對于語言任務更具有說服力?;谶@些優(yōu)勢RNN已經(jīng)在自然語言處理領域得到成功應用,例如情感分析、機器翻譯等。
長短期記憶網(wǎng)絡(Long Short-Term Memory,LSTM)是對循環(huán)神經(jīng)網(wǎng)絡的一種改進模型,是一種時間遞歸神經(jīng)網(wǎng)絡,適用于預測和處理時間序列中間隔和延遲相對較長的重要事件。LSTM相較于RNN多了一個cell結(jié)構(gòu),cell結(jié)構(gòu)中被放置了三扇門,分別叫做輸入門、遺忘門和輸出門。一個信息進入LSTM的網(wǎng)絡當中,可以根據(jù)規(guī)則來判斷哪些需要保留,哪些需要遺忘,只有算法認定的部分才能被保留,不被認定的部分會被遺忘門遺忘。
Kim等[14]將CNN與預訓練的詞向量相結(jié)合進行文本情感分析,實驗證明通過將預訓練的詞向量與微調(diào)后的詞向量作為雙通道輸入并結(jié)合不同大小的卷積核,CNN在處理情感分析任務時的效果會更好。Kal?chbrenner等[15]提出了動態(tài)卷積神經(jīng)網(wǎng)絡模型用來進行文本情感分析。該模型使用動態(tài)K-Max池化層,可以進行線性序列的全局池化操作,能夠處理不同長度的句子,可以在句子中捕獲單詞之間的關系以及句子的特征。Wang等[16]通過模擬句子中詞語的相互作用,將LSTM用于Twitter的情感分析,與傳統(tǒng)的遞歸神經(jīng)網(wǎng)絡相比,LSTM通過增加了門結(jié)構(gòu)提升了模型的靈活性。Qian等[17]提出了一種將情感極性,否定詞和情感強度等信息與LSTM相結(jié)合的模型,以更準確地捕捉句子中的情感效應。Huang等[18]提出了樹形LSTM來模仿句子的結(jié)構(gòu)并將其用于文本情感分析。杜等[19]使用了卷積神經(jīng)網(wǎng)絡模型,采用分段池化的策略將句子結(jié)構(gòu)考慮進來,分段提取句子不同結(jié)構(gòu)的主要特征,并且引入Dropout算法以避免模型的過擬合并提升模型的泛化能力。Wang等[20]聯(lián)合了CNN與LSTM模型,提出了CNN-LSTM模型并將其應用于文本情感分析,他們利用了CNN處理局部特征的優(yōu)勢和LSTM處理遠程依賴性的優(yōu)勢。
基于深度學習的方法在建模、解釋、學習和表達等方面要優(yōu)于傳統(tǒng)機器學習方法。該方法能夠提取出文本的深層特征,實驗中效果比傳統(tǒng)機器學習方法要好。但是該方法易受詞向量的影響,因此訓練出好的詞向量是該方法成功的關鍵,使用深度學習模型已經(jīng)成為文本情感分析領域的熱門研究方向。
本文對文本情感分析進行了研究,將現(xiàn)階段的情感分析方法概括為基于情感詞典的方法,基于傳統(tǒng)機器學習的方法和基于深度學習的方法,并對這些方法進行了介紹。文本情感分析作為自然語言處理的一個熱門研究方向,具有十分廣泛的應用前景,可以應用在輿情控制、市場分析、商業(yè)決策、金融預測等領域??梢灶A見,未來將會涌現(xiàn)大量文本情感分析的相關工作。