情感分析工具測評

情感分析

情感傾向分析針對帶有主觀描述的中文文本,可自動判斷該文本的情感極性類別並給出相應的置信度。情感類型分爲積極、消極、中性。情感傾向分析能夠幫助企業理解用戶消費習慣、分析熱點話題和危機輿情監控,爲企業提供有力的決策支持。本文主要對兩個情感分析的工具進行測評。

SnowNLP

是一個python寫的類庫,可以方便的處理中文文本內容,是受到了TextBlob的啓發而寫的,由於現在大部分的自然語言處理庫基本都是針對英文的,於是寫了一個方便處理中文的類庫,並且和TextBlob不同的是,這裏沒有用NLTK,所有的算法都是自己實現的,並且自帶了一些訓練好的字典。
SnowNLP還提供了用於中文情感分類的接口,分類器主要基於淘寶評論數據用機器學習訓練而成,使用起來非常方便。

  • 如何安裝
pip install snownlp
  • 如何進行情感分析
from snownlp import SnowNLP
s = SnowNLP(u'這個東西真心很贊')
s.sentiments # 0.9769663402895832 positive的概率

Senta

百度在2018年7月開源了其基於語義和大數據的情感分類系統——Senta,將模型和源碼通過Github進行免費技術開放。如果覺得拿模型跑太麻煩,百度AI開放平臺上也免費開放了評論觀點抽取服務,直接調用其api就能夠實現情感分類,能夠實現快速的原型開發。

  • 安裝
pip install paddlepaddle
pip install paddlehub
  • 如何進行情感分析
import paddlehub as hub
senta = hub.Module(name= "senta_bilstm")#也可以加載其它分類模型,如gru,lstm等
result = senta.sentiment_classify(data={"text":["這個東西真心很贊"]})
result
#[{'text': '這個東西真心很贊', 'sentiment_label': 1, 'sentiment_key': 'positive', 'positive_probs': 0.9963, 'negative_probs': 0.0037}]

結果分析

對上述兩個分類器進行多次測試,有以下結果:
在這裏插入圖片描述可以發現,SnowNLP的分類結果偏正向,而Senta的分類結果偏負向,因此,對於具體的業務數據,是否以0.5爲分類界限還有待商榷。

另外,以上使用僅僅爲單純調用,可在此基礎上優化,比如去除一些無情感的詞語(停用詞,情感無關的名詞等);更進一步地,若文本過長,還可以考慮提取關鍵詞或抽取文本摘要後再進行情感分析。

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