如何用Python做情感分析?

本文源自:https://zhuanlan.zhihu.com/p/28962461
記錄自己的實際操作

環(huán)境

Anaconda套裝,自帶科學(xué)計算的眾包。
windows系統(tǒng)

安裝

打開Anaconda命令行

依次執(zhí)行如下命令:

pip install snownlp
pip install -U textblob   
python -m textblob.download_corpora    #此條命令執(zhí)行完的時間很長,耐心等待

在命令提示符下鍵入:

jupyter notebook

你會看到目錄里之前的那些文件,忽略他們就好。
你的文件

英文分析

英文分析需要用到的是 TextBlob包 。

用處也不少呢

上圖可以看出,這個包可以做許許多多跟文本處理相關(guān)的事情。但本文我們只專注于情感分析這一項。

from textblob import Textblob
text = "I am happy today. I feel sad today."
blob.sentences   #劃分語句
blob.sentences[0].sentiment   #分段結(jié)果,polarity 取值[-1,1],-1代表完全負(fù)面,1代表完全正面。subjectivity 主觀性
blob.sentiment   #總的情感結(jié)果
運行過程

你可能會覺得沒有道理。怎么一句“高興”,一句“沮喪”,合并起來最后會得到正向結(jié)果呢?
首先不同極性的詞,在數(shù)值上是有區(qū)別的。我們應(yīng)該可以找到比“沮喪”更為負(fù)面的詞匯。而且這也符合邏輯,誰會這么“天上一腳,地下一腳”矛盾地描述自己此時的心情呢?

中文

中文文本分析,我們使用的是 SnowNLP包 。這個包跟TextBlob一樣,也是多才多藝的。

才藝展示

我們還是先準(zhǔn)備一下文本。這次我們換2個形容詞試試看。

text = u"我今天很快樂。我今天很憤怒。"

注意在引號前面我們加了一個字母u,它很重要。因為它提示Python,“這一段我們輸入的文本編碼格式是Unicode,別搞錯了哦”

操作步驟
輸出結(jié)果

這里你肯定發(fā)現(xiàn)了問題——“憤怒”這個詞表達(dá)了如此強烈的負(fù)面情感,為何得分依然是正的?
這是因為SnowNLP和textblob的計分方法不同。SnowNLP的情感分析取值,表達(dá)的是“這句話代表正面情感的概率”。也就是說,對“我今天很憤怒”一句,SnowNLP認(rèn)為,它表達(dá)正面情感的概率很低很低。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 商品評論挖掘、電影推薦、股市預(yù)測……情感分析大有用武之地。本文幫助你一步步用Python做出自己的情感分析結(jié)果,難...
    王樹義閱讀 98,426評論 32 239
  • 慢慢呷著餃子湯讓我微微出汗,脫掉外套,陽光灑在微黑泛黃的胳膊上竟泛起了一絲白色,已經(jīng)下過雪的十二月里,我穿著一件短...
    莞心簡書閱讀 230評論 0 0
  • 我有個朋友,性格內(nèi)向,不善交際,畢業(yè)后在家待業(yè),問她未來打算時總是壯志酬酬:“準(zhǔn)備考公務(wù)員?!?撐不住年年失利...
    好大一棵草閱讀 6,887評論 30 168
  • 又想發(fā)問,什么樣的關(guān)系才算朋友?
    風(fēng)雨等故人閱讀 155評論 0 0
  • 看著別人每一天和他的另一邊卿卿我我,各種的秀恩愛。 但是依然堅持單身,不是不想談戀愛。每個人都憧憬那美好的純...
    轉(zhuǎn)動命運之輪閱讀 400評論 2 4

友情鏈接更多精彩內(nèi)容