有大神專門用電商評論訓練了一個開源的情感分析包snownlp, 我們來看看這個包效果怎樣。
嗯嗯,準確率為92.63%,看上去很高,但。。。因為我把所有評論都判定為好評,那正確率也有96.54%。再看上圖中的ROC曲線,嗯,慘不忍睹。曲線跟x軸之間的面積(記作AUC)越大,說明模型的判別能力越好。一般情況曲線會在對角線之上(對角線相當于隨機預測的結果),可以此時AUC=0.157,比隨機結果差多啦。
更好的情感分析估計需要利用大量手機領域的語料重新訓練才行,本文就暫不討論這個啦。
2
好/中/差評的語義理解
語義理解是一個非常難的課題,本文不追求絕對精準,僅希望能對產品的評論有一個快速的理解。本文將從三個方面來闡述同類型評論語料的語義:
1、詞云。它會統計一段文本中各個詞語出現的次數(頻數),頻數越大,在詞云中對應的字體也越大。通過觀察詞云,可以知道一段文本主要在講哪些東西
2、TextRank。 TextRank 算法是一種用于文本的基于圖的排序算法,可以給出一段文本的關鍵詞。其基本思想來源于谷歌的PageRank算法, 通過把文本分割成若干組成單元(單詞、句子)并建立圖模型, 利用投票機制對文本中的重要成分進行排序, 僅利用單篇文檔本身的信息即可實現關鍵詞提取、文摘。和 LDA、HMM 等模型不同, TextRank不需要事先對多篇文檔進行學習訓練, 因其簡潔有效而得到廣泛應用。
3、主題分解。 假設每一段文本都是有主題的,比如新聞里的體育類、時事類、八卦類等。通過對一系列的語料庫進行主題分解(本文采用的是LDA),可以了解語料庫涉及了哪些主題。(本文用的LDA實際效果不怎么好,暫且僅供娛樂。更好的方法后續或許會更新)
分析詞云、關鍵詞和主題容易發現
1、好評集中在:屏幕、驚訝、手感、全面屏、邊框,大致就是講小米手機不錯;手感很好;全面屏很驚艷之類的;
2、中評集中在:屏幕、還好、失望、邊框等
3、差評集中在:客服、失靈、售后、失望、模式、微信等,大致就是手機失靈;微信電話時的屏幕?因為版本等出現了一些售后客服問題?
只能說還湊合,模模糊糊、斷斷續續能理解一些。因為它只給出了詞語,并沒有配套的情感。
3
典型意見抽取和挖掘
電商評論不同于一般的網絡文本,它主要的特點在于語料都是在針對產品的某些特征作出評價。這一節我們希望能通過算法找到這些特征。
細想下,語料主要在對特征做出評價,而特征一般是名詞,評價一般是形容詞。相對來講產品的形容詞不會很多,如“不錯”、“流暢”、“很好”之類的,所以可以通過關聯分析來發現初始的特征-形容詞對,如("手機"-"不錯")、("手機"-"流暢")等。
通過關聯分析找打的特征-形容詞對需要篩選,主要表現在兩點。
1、里面不只名詞-形容詞對,兩個名詞,形容詞-動詞等都有可能;
2、沒有考慮兩個詞語在文本之間的距離。比如名詞是第一句話中的,形容詞則是最后一句話中的;
電子發燒友App






評論