評估文本評論情感分析的機器學習和非監督語義傾向性方法(IEEE2012)

Evaluating Machine Learning and Unsupervised Semantic Orientation Approaches for Sentiment Analysis of Textual Reviews 評估文本評論情感分析的機器學習和非監督語義傾向性方法(IEEE2012)

文章中情感分析問題可以形式上定義爲:給定一個文檔集D,情感分類算法劃分文檔集中的每一個文檔爲兩類,積極和消極。有時也使用中立類,表示那些文檔不表達任何主觀情感。

基於機器學習的分類器

  • 樸素貝葉斯算法
    可以看成兩類文本分類問題。
    計算文檔d在類c中的概率:P(c|d)=P(c)1kndP(tk|c) (1)P(tk|c) 是詞項tk 出現在類c中的一個文檔的條件概率。P(c) 是文檔出現在類c的先驗概率。被選擇的詞項通常叫做特徵。爲了進行話題分類,使用例如詞項頻率大於一定值的特徵。爲了劃分文檔,抽取帶有特定標籤的詞項,例如形容詞或形容詞+副詞的組合可能是一個好的選擇。
    文檔的類別歸屬通過(2)式計算:cmap=argmaxcCP^(c|d)=argmaxcCP^(c)1kndP^(tk|c) (2)P^ 是從訓練集中觀察到的評估值。
    爲了減少乘法造成的計算複雜性,將(2)式轉化爲(3)式:
    cmap=argmaxcC[logP^(c)+1kndlogP^(tk|c)] (3)

    爲了移除由於訓練數據的選擇而引入的一些不可預期的偏差,樸素貝葉斯(NB)通常用多重k-折交叉驗證,k-1份作爲訓練數據,剩下的一份作爲測試數據。NB有兩個流行的變體:多項式NB和Bernoulli NB,前者考慮詞項的出現與否同時考慮頻率。
  • 支持向量機算法
    文本文檔在用於分類前需要轉化爲特徵向量。通常文本文檔被轉化爲多維tf.idf向量。目標是找到一個兩類的決策邊界,最大化訓練數據的兩類間任意文檔的距離。支持向量機(SVM)甚至對於小的訓練數據和高維空間及稀疏向量也很好。決策平面到數據點的最近距離決定了分類器的邊界。這些分割點稱爲支持向量。最大化邊界減少了分類決策的不確定性。

非監督的語義傾向性方法

  • 基於機器學習的分類器缺點是需要標記的訓練數據來訓練分類器。使用非監督的語義傾向性方法可以避免這個限制。首先根據參考文獻抽取符合一個特定詞性的短語。然後抽取短語的語義傾向性用逐點互信息(Pointwise Mutual Information, PMI)計算:
    PMI(term1,term2)=log2[Pr(term1term2)/Pr(term1)Pr(term2)]
    Pr(term1term2)term1term2 的共現概率,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) 通過衡量對應word1word2 的壓縮行向量的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算法獲得了高的準確率(Accuracy=TP+FPTotal Instances )水平,似乎是最好的選擇由於它的非監督本質,但是缺點是需要計算許多PMI值,這本身是耗時和需要人蔘與的任務。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章