本文源自: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á)正面情感的概率很低很低观蜗。