曹軍博,葉 霞,許飛翔,尹列東
火箭軍工程大學 作戰(zhàn)保障學院,西安710025
隨著4G 時代的到來,人們逐漸習慣于使用移動網絡在互聯(lián)網上購物,這有力促進了淘寶、京東、大眾點評等電子商務網站的發(fā)展。這些網站特別關注用戶的購物傾向,為獲取不同用戶的需求,他們開發(fā)了對商品需求的網絡評價系統(tǒng),并且提供全面的在線評論功能。商家可以從這些評論信息中獲取傳統(tǒng)交易中不易獲取的消費者對于所購商品的反饋信息,根據(jù)消費者的需求改進商品,以提高市場占有率;同時后續(xù)消費者也可以根據(jù)這些評論信息,做出購買決策。因此,如何從海量數(shù)據(jù)中自動獲取用戶情感傾向的情感分析技術成為當下研究的熱點問題。
情感分析屬于自然語言處理領域的一個重要分支。采用情感分析技術,在商品評論應用中,可以識別用戶對商品評論文本的情感信息,幫助商家精準了解市場需求,幫助消費者快速做出購買決策;在輿情監(jiān)控中,政府可以及時了解民眾對突發(fā)事件、社會現(xiàn)象的態(tài)度,為引導輿論提供決策支持;在問答系統(tǒng)(QA)[1]中,用戶在回答中表達自己對問題的看法見解時,可使答案與問題更相關,回答更容易被采納;在自動翻譯系統(tǒng)中[2],對輸入文本進行情感傾向判斷,有助于提高對帶有正面或負面同義詞的翻譯準確率。因此,情感分析研究吸引著越來越多的科研工作者投身于該領域。
Pang 和Turney 等[3-4]對電影評論進行情感傾向性研究,取得了較好的分類效果,由此引起大家對評論文本情感傾向分析的關注。Pang 等[5]根據(jù)傳統(tǒng)自然語言處理中的文本分類技術,使用樸素貝葉斯、支持向量機(SVM)和最大熵等模型進行情感傾向性研究,其中,SVM 模型在電影評論中研究效果明顯。羅毅等[6]構建兩級情感詞典,對情感詞進行情感增強,并且采用N-Gram 方法,獲取微博文本的情感信息,實驗結果與傳統(tǒng)方法相比,準確率和召回率都有一定的提高。百度深度學習研究院的徐偉[7]提出用神經網絡構建二元語言模型,可以從上下文中提取更多的詞語來獲取文本的信息,實驗結果表明,利用神經網絡學習的語言模型,比傳統(tǒng)的統(tǒng)計方法性能更好,這為后續(xù)語言模型的發(fā)展提供了不錯的思路。之后,Bengio 等[8]提出一個三層神經網絡來構建語言模型,將詞向量映射到固定維數(shù)的空間,通過計算詞與詞之間的距離或余弦值來度量其相似性,實驗表明能夠有效改進N-gram 模型,且在獲取較長的上下文語義中也有一定的優(yōu)勢。Mnih 等[9]提出層析Log-Bilinear 模型,使用一種快速的分層語言模型和一種簡單的基于特征的算法,從數(shù)據(jù)中自動構造單詞樹,此模型在實驗中比非層次神經網絡模型效果較好。Mikolov等[10]借鑒Log-Bilinear模型的思想,提出word2vec模型,并實現(xiàn)了CBOW(Continuous Bag-of-Word model)和Skip-gram(Continuous Skip-gram model)兩種框架,由此詞向量被廣泛應用到自然語言處理等多個領域。梁軍等[11]運用深度學習思想,采用無監(jiān)督方法,根據(jù)句子中詞語前后的關聯(lián)性引入情感極性轉移模型,可達到與傳統(tǒng)有監(jiān)督方法同樣的效果,并且能夠節(jié)省大量人工標注的時間。張巍[12]采用基于CBOW 半監(jiān)督方法將情感信息語義與情感信息融合,在新的評論數(shù)據(jù)集上進行驗證實驗,取得了良好的效果,能夠精確地對情感信息進行分類。Huang 等[13]認為只利用一個詞的上下幾個詞生成詞向量并不能很好挖掘語義,因此在全局模型中,使用詞的逆文檔頻率(Inverse Document Frequen‐cy,IDF)值加權詞向量,將文章中所有詞的詞向量求加權平均,作為文章的語義,局部采用C&W[14]給固定窗口打分的模型,利用全局信息來輔助局部詞向量的生成方法,在一個新的數(shù)據(jù)集上對該模型進行評估,結果表明該模型要優(yōu)于其他神經網絡語言模型。黃發(fā)良等[15]提出一種基于多特征融合的微博主題情感挖掘模型TSSMMF(Topic Sentiment Model based on Multi-fea‐ture Fusion),能夠同步推導微博主題和情感信息。何炎祥等[16]將基于表情符號的情感空間映射與深度學習模型MCNN(Multi-channel Convolution Neural Network)結合,使MCNN 捕捉情感語義的能力有效增強。Qian等[17]提出了一個簡單的句子級的標注訓練模型,通過模型化語言資源的正則化因子來使語言連貫表示,實驗結果表明,該模型能夠有效地捕捉情感信息,同時能夠保證模型的簡單性。Vo 等[18]將CNN(Convolution Neural Network)和LSTM(Long Short-Term Memory)模型的優(yōu)點結合,提出一種有效的算法,對越南語商業(yè)網絡評論進行評估,實驗結果良好,性能優(yōu)于SVM、LSTM 和CNN。AI-Smadi 等[19]使用基于字符級雙向LSTM 和基于方面的LSTM,實現(xiàn)對阿拉伯酒店評論的基于方面級的情感分析,在參考數(shù)據(jù)集上進行實驗驗證,結果表明,該模型情感分類效果優(yōu)于單個LSTM。
3.1.1 TF-IDF模型
TF-IDF(Term Frequency-Inverse Document Fre‐quency)的主要思想是[20],如果某個詞或短語在一篇文章中出現(xiàn)的頻率較高,而在其他文章中很少出現(xiàn),則認為該詞或者短語具有很好的類別區(qū)分能力,適合用來分類。本文利用TF-IDF 模型建立一個情感詞匯表,通過該模型減弱語義信息而增強具有較強分類效果的情感信息。實際上,TF-IDF 是TF×IDF,TF 詞頻(Term Fre‐quency)表示該詞在文檔D 中出現(xiàn)的頻率,如公式(1)所示:
IDF 逆文檔頻率表示該詞出現(xiàn)在其他文檔中的概率,如公式(2)所示:
詞匯ti的TF-IDF權重值如公式(3)所示:
3.1.2 CBOW模型
Google 的word2vec 是性能優(yōu)良的開源詞向量工具,由Mikolov 等[10]提出,它有兩個重要的模型分別是CBOW 模型和Skip-gram 模型[21],前者使用詞的上下文生成當前詞,后者使用當前詞生成它的上下文,極大化語言生成概率得到詞的向量表示,如圖1所示。
圖1 CBOW神經網絡模型
已知語料C 中一段文本,樣本(context(w),w)是指context(w)由w前后各c個詞構成,如圖1所示。
輸出層,對應一棵二叉樹,它是以語料中出現(xiàn)過的詞當葉子節(jié)點,各詞在語料中出現(xiàn)的頻率做權重值構造的Huffman 樹,通過不斷在樹上進行二分類得到對應的詞向量。
3.2.1 TF-IDF適應性改進
TF-IDF 模型對每一句話都會生成對應權重值矩陣,即詞w 出現(xiàn)在文檔i 中,就會在文檔i 中生成該句的TF-IDF 權重值。如果一個詞對應多個權重值,則不能適應后期構建Huffman 樹與聚類分析。本文對TF-IDF模型進行適應性改進,采用取均值的方式得到唯一的TF-IDF權重值,即計算wtf_idf的權重值為公式(4):
其中,{ j:w ∈dj} 表示包含詞w 的文檔數(shù),ti表示詞在文檔i中的TF-IDF權重值。
3.2.2 改進的CBOW情感詞向量提取
利用改進的TF-IDF 模型得到詞的權重值wtf_idf,構建Huffman 樹,并將每個詞的權重值保存在對應的節(jié)點內,然后將該樹嵌入到CBOW 模型中,加入情感詞詞典進行詞向量的迭代,生成情感詞向量??傮w過程如圖2所示。
圖2 改進的CBOW算法
采用層級分類(Hierarchical Softmax)[22],任意詞w對應一個詞向量θw,路徑上每一個節(jié)點保存一個向量來輔助計算θs,每個詞對應一個情感標簽pt。本文引入預測函數(shù)來預測情感標簽pt。
預測函數(shù)用來判斷詞語情感極性,屬于二分類的問題。令pt=1表示積極,pt=0表示消極,可以選擇合適的函數(shù)將w(t)映射到{0,1}。本文采用邏輯回歸分類器,獲得詞語情感信息,如公式(5)所示:
其中,σ 是sigmoid 函數(shù),α是邏輯回歸權重向量,W 是詞向量矩陣,w(t)是詞語wt的向量表示,bl是偏置分量。邏輯回歸會在詞向量空間中形成一個超平面,詞語的極性取決于與超平面的相對位置。
給定一個情感詞典D,lt是詞語wt的情感標簽,假定詞與詞之間是獨立分布,通過最大化函數(shù)可得最大化詞語情感標簽概率,如公式(6)所示:
通過學習標簽,使情感相似的詞有更近的距離。
為使CBOW 中的詞向量具有情感信息,情感相似的詞向量具有相近的距離,結合監(jiān)督學習的方法,利用上述情感標簽信息,得到目標函數(shù),如公式(7)所示:
采用隨機梯度上升法對目標函數(shù)f 求偏導,如公式(8)所示:
η表示學習率,一般取0.5,表示對每個詞加入對應上下文中的權重值。
研究表明[5,15],SVM 在情感分類的性能上表現(xiàn)良好。本文實驗選用SVM 作為分類工具,分類時采用默認參數(shù)。
為了保證數(shù)據(jù)的原始性,在數(shù)據(jù)預處理階段,本文去除的停用詞主要包括英文字符、數(shù)字、數(shù)學符號、表情、標點符號以及使用次數(shù)小于5 的單詞。較高頻率的單詞,TF-IDF 模型會給出一個相當?shù)偷臋嘀刂担虼藳]有設置上限來去除。
本文情感分析的評價指標采用精確度(Precision)、召回率(Recall)、F1-score。表1 所示為二分類分類器的混淆矩陣(Confusion Matrix),其中,TP(True Positive)表示實際為正類、預測也為正類的文本數(shù)量;FN(True Negative)表示實際為正類、預測為反類的文本數(shù)量;FP(False Positive)表示實際為反類、預測為正類的文本數(shù)量;TN(True Negative)表示實際為反類、預測也為反類的文本數(shù)量。
表1 混淆矩陣
精確率定義為:
召回率定義為:
在實際應用中,通常使用兩者的調和平均數(shù)作為一個綜合的評價指標,即F1-score值,如公式(13)所示:
4.2.1 數(shù)據(jù)預處理
實驗使用的訓練數(shù)據(jù)與測試數(shù)據(jù)是SemEval-2016 Task5中的中文評論數(shù)據(jù)。具體數(shù)據(jù)見表2所示。
情感詞典由臺灣大學情感詞典和知網情感詞典兩者取并集組成,其中,積極詞匯3 987個,消極詞匯3 772個。
表2 實驗數(shù)據(jù)構成
利用Python中jieba工具對語料庫分詞后,去除里面的符號。然后,將分詞結果與情感詞典和停用詞典取交集,得到情感詞匯表sm共420個,停用詞匯表sp共655個。
4.2.2 運用TF-IDF模型計算權重值
運用TF-IDF 模型對處理后的訓練數(shù)據(jù)進行訓練,計算每個詞的TF 值與IDF 值,得到每一個詞的權重值并取均值。利用K-means 聚類,依據(jù)實驗的情感詞匯表sm 和停用詞表sp,統(tǒng)計每個類別中的個數(shù),并用公式(14)計算聚類后類別的權重值。
圖3 采用TF分類實驗結果
從實驗數(shù)據(jù)可以得出,在聚類數(shù)小于7 時,類別中詞的數(shù)量很大,情感詞和停用詞的數(shù)量差距也很大。在聚類數(shù)為7 至11 的實驗結果中,前段分類均衡,中段起伏較大,尾部趨于收斂;聚類數(shù)為12 之后,尾部收斂值趨于一致。
引入IDF 值來觀察小部分數(shù)據(jù)的變化,采用公式(15)計算權重值。結果如圖4所示。
圖4 采用IDF分類實驗結果
圖4 中,從不同聚類數(shù)的實驗結果中均可看出中間部分的差值被放大。聚類中心在0.3 附近時,所有分類的權重值都比較大,說明這個中心情感信息的含量超過停用詞的含量,具有很強的情感判別能力。
圖5 聚類數(shù)12的實驗結果
以聚類數(shù)12為例,如圖5所示。
停用詞和情感詞都采用除以該類別的總詞數(shù)進行歸一化。通過圖5 得出,聚類中心小于0.1 時,聚類數(shù)為5之前的類別中,詞數(shù)共占總詞數(shù)的86%,且停用詞和情感詞的數(shù)量總體呈下降趨勢,其中停用詞在聚類中心0.3左右減少到0,情感詞在聚類中心0.4左右減少到0。
同時,通過多組實驗研究了不同聚類數(shù)下停用詞和情感詞的占比趨勢。實驗結果顯示,隨著聚類數(shù)的增多,停用詞在聚類中心0.24 以后就不再出現(xiàn),情感詞在聚類中心0.36以后不再出現(xiàn)。觀察語料庫發(fā)現(xiàn),該類別語料是一些手機型號的評論語句,如G21、p1000、p6200、黑莓等。通過程序自動刪除該類別之后的詞語,可以達到代替停用詞表的效果。在聚類數(shù)過高時,類別中詞數(shù)將會很少,同時,刪除部分情感詞,可以在適當降低精度的情況下?lián)Q來更高的運算速度。因此,本文選取聚類中心閾值為0.16,聚類成14類。實驗中一共刪除詞230個,通過檢查發(fā)現(xiàn)情感詞共10個。
4.2.3 情感詞向量處理
本文實驗選取了CBOW 模型中兩組詞:{贊揚,批評}、{提高,降低}所對應的詞在向量空間內最相近的前6個詞,如表3所示。
表3 情感詞調整表
從表3 可以看出,在詞類“降低”的基礎詞向量中,出現(xiàn)了情感極性相反的詞語,如“超低”、“過高”均為描述某物體性能的情感詞。因為CBOW 的無監(jiān)督特性以及兩個詞語的語義距離十分接近,可以相互替換,所以情感極性也會隨之替換。
實驗對CBOW 選取的兩對共24個情感詞進行了手動調整,在詞類相同的情況下,保留相同極性的詞,去掉相反極性的詞。用調整后的情感詞表來計算詞向量,避免了極性相反的情感詞對詞向量的影響,因此用來判斷語料庫中詞語的情感傾向是合理的。
4.2.4 確定詞向量維度
詞向量的維度反映的是獲取的特征量的大小,維度越小獲取的特征量就少,對應的訓練時間也會減少。但是,特征量太少,就不能完整反映該單詞的含義;特征量過多,訓練時間會越長,實用性不高。因此,通過實驗找到最為合適的詞向量維數(shù)。實驗結果如圖6所示。
圖6 不同維度下的準確率
實驗結果表明,當維度較小時,提升維度可以大幅提升準確率,但是一定維度之后,如本實驗的150維,準確率將趨于平穩(wěn)。因此,本實驗選擇150維作為詞向量的維度。
4.2.5 實驗結果
將訓練得到的詞向量作為特征向量,采用SVM 情感分類預測,對已標注的情感數(shù)據(jù)進行情感分類,并與基于原生的IF-IDF模型和word2vec的CBOW 模型方法分類進行結果對比,如表4所示。
表4 實驗結果
從實驗結果可以看出,本文提出的方法取得了較好的分類效果。TF-IDF 模型只考慮了詞匯的重要程度,CBOW 模型的分布式詞向量能夠克服評論文本的特征稀疏問題,但是無法得到每個單詞對情感分類的貢獻程度。同時可以得出,在一定程度上得到詞匯重要程度比語義信息來表達情感能力較弱,但也能篩選出一定的信息。本文結合兩種模型得到更好的分類效果,在精確率、召回率、F1值和整體的正確率上都有所提高。
同時,根據(jù)4.2.3 小節(jié)情感詞向量處理,使用多種詞向量方法在單詞級別上進行情感分類實驗,實驗結果如表5所示。
表5 單詞級別實驗結果%
實驗結果表明,本文方法在分類結果中取得了良好的效果,明顯高于傳統(tǒng)的詞向量方法。相比沒有融合情感信息的CBOW模型,分類效果得到了5%左右的提升,同時也證明了該模型確實將情感信息融入到了詞向量中。
本文首先改進TF-IDF 模型構建一個替代性的停用詞表,并且利用結果生成Huffman樹作為改進的CBOW模型的輸入,同時在單詞級別上進行了情感分類實驗。實驗結果表明,本文方法有效提升了分類效果,在各個指標上都優(yōu)于傳統(tǒng)模型,詞向量中也確實融入了情感信息。本文方法雖然減少了部分特征工程量,但是仍然有依賴于情感的特征工程,情感標簽訓練的結果直接影響著情感的表達。同時,網絡用語的隨意性,使利用詞典得到所有情感詞比較困難,下一步考慮利用神經網絡來同步進行訓練與擴充詞典,增強情感詞對詞向量的影響。