Evaluating Machine Learning and Unsupervised Semantic Orientation Approaches for Sentiment Analysis of Textual Reviews 評估文本評論情感分析的機器學習和非監督語義傾向性方法(IEEE2012)
文章中情感分析問題可以形式上定義爲:給定一個文檔集D,情感分類算法劃分文檔集中的每一個文檔爲兩類,積極和消極。有時也使用中立類,表示那些文檔不表達任何主觀情感。
基於機器學習的分類器
- 樸素貝葉斯算法
可以看成兩類文本分類問題。
計算文檔d在類c中的概率:P(c|d)=P(c)∏1≤k≤ndP(tk|c) (1) ,P(tk|c) 是詞項tk 出現在類c中的一個文檔的條件概率。P(c) 是文檔出現在類c的先驗概率。被選擇的詞項通常叫做特徵。爲了進行話題分類,使用例如詞項頻率大於一定值的特徵。爲了劃分文檔,抽取帶有特定標籤的詞項,例如形容詞或形容詞+副詞的組合可能是一個好的選擇。
文檔的類別歸屬通過(2)式計算:cmap=argmaxc∈CP^(c|d)=argmaxc∈CP^(c)∏1≤k≤ndP^(tk|c) (2) ,P^ 是從訓練集中觀察到的評估值。
爲了減少乘法造成的計算複雜性,將(2)式轉化爲(3)式:cmap=argmaxc∈C[logP^(c)+∑1≤k≤ndlogP^(tk|c)] (3)
爲了移除由於訓練數據的選擇而引入的一些不可預期的偏差,樸素貝葉斯(NB)通常用多重k-折交叉驗證,k-1份作爲訓練數據,剩下的一份作爲測試數據。NB有兩個流行的變體:多項式NB和Bernoulli NB,前者考慮詞項的出現與否同時考慮頻率。 - 支持向量機算法
文本文檔在用於分類前需要轉化爲特徵向量。通常文本文檔被轉化爲多維tf.idf向量。目標是找到一個兩類的決策邊界,最大化訓練數據的兩類間任意文檔的距離。支持向量機(SVM)甚至對於小的訓練數據和高維空間及稀疏向量也很好。決策平面到數據點的最近距離決定了分類器的邊界。這些分割點稱爲支持向量。最大化邊界減少了分類決策的不確定性。
非監督的語義傾向性方法
- 基於機器學習的分類器缺點是需要標記的訓練數據來訓練分類器。使用非監督的語義傾向性方法可以避免這個限制。首先根據參考文獻抽取符合一個特定詞性的短語。然後抽取短語的語義傾向性用逐點互信息(Pointwise Mutual Information, PMI)計算:
PMI(term1,term2)=log2[Pr(term1△term2)/Pr(term1)⋅Pr(term2)] Pr(term1△term2) 是term1 和term2 的共現概率,Pr(term1)⋅Pr(term2) 給出兩個統計上是獨立的詞項共現的概率,二者的比是它們之間統計上獨立的程度衡量,取比的對數表示當觀察另一個詞時,得到的這個詞出現的信息量。短語的語義傾向性(SO)通過以下計算:SO(phrase)=PMI(phrase,"excellent")−PMI(phrase,"poor") PMI(phrase,"excellent") 衡量短語和積極參考詞excellent的相關性,PMI(phrase,"poor") 同理。這些概率通過在搜索引擎中以“phrase * excellent”和“phrase * poor”形式查詢計算。獲得的命中數作爲概率值的衡量。 - 爲了決定整個文檔的語義傾向性,用一些聚合機制聚合觀點詞的SO值,如果聚合的SO值高於閾值,文檔標記爲積極,否則消極。這個算法記爲SO-PMI-IR。
- 這一機制的變體是SO-PMI-LSA,使用隱性語義分析。在這一機制中,詞項-文檔矩陣首先通過奇異值分解(SVD)歸約。然後
LSA(word1,word2) 通過衡量對應word1 和word2 的壓縮行向量的cosine相似度計算。word的語義傾向性如下計算:SO(word)=LSA(word,positive terms)−LSA(word,negative terms) ,積極詞項比如good,superior,excellent,消極詞項比如bad,poor,inferior。 - 實驗結果表明SO-PMI-IR和SO-LSA在大數據集上幾乎有相同的準確率。SO-LSA在文檔集相對小的時候表現得更好。
- 使用非監督語義傾向性方法的一個重要問題是需要計算SO值的短語的選擇。先識別觀點短語然後計算它們的SO值將是明智的。需要考慮否定詞。在文章的實驗中,只使用形容詞抽取和處理否定形容詞。
數據集和實驗
- 使用兩個現存的標準標記數據和一個自己收集標記的數據。
- NB和SVM算法的實現
使用k-折交叉驗證,直觀地選取k=3,5,10,將k-折交叉驗證的平均性能作爲最終結果。
SVM算法作爲一個基於向量空間模型的分類器,需要首先轉化文本電影評論爲向量空間表示。使用tf.idf轉化。 - SO-PMI-IR算法的實現
評論文檔的SO分值是出現在文檔中的不同形容詞的SO值的累計。累計過程如下:對於每個積極詞項(SO值大於閾值),+1分值加到評論文檔的SO值上。對於每個消極詞項,-1分值加到評論文檔的SO值上。
由於通常在大部分的評論中,偏向於積極情感傾向,設置閾值爲+5來劃分評論爲積極。 - 性能指標計算
計算準確率、正確率、召回率和F值作爲性能指標。
結果
電影被大多數用戶友好地評論是電影值得看的一個很好的指標。在這種情況下,可以進行電影推薦。推薦可以通過設置不同的閾值進行微調。
觀察和總結
NB性能優於SVM,至少在情感分類方面是這樣。
SO-PMI-IR算法獲得了高的準確率(