問題描述
作為某一產品的區(qū)域經理,假如需要通過顧客使用評價來做出運營調整或者大酬賓以增加業(yè)績。之前呢,沒有太多評論,看來看去也沒多少東西?,F(xiàn)在網(wǎng)絡購物、產品網(wǎng)站等等,海量數(shù)據(jù)一下?lián)涿娑鴣恚覀儜撛趺磥砜焖儆行У墨@取有效數(shù)據(jù)并做出較為準確的決策呢?
你需要情感分析這個好用的自動化工具
數(shù)據(jù)及環(huán)境準備
那你可能會問這些評論怎么讓工具去使用呢? 想來想去還是去網(wǎng)上借一點可能來的更快一些。。。
因為我們是基于時間序列所做的分析,所以只需要時間和評論就夠了。
在本次實踐中我們需要對中文評論做分析,故而使用軟件包為SnowNLP,情感分析的基礎方法
使用的其他軟件包為:snownlp、pandas、ggplot
開始干活
- 數(shù)據(jù)文件讀入
import pandas as pd
df = pd.read_csv()
- 時間字段處理
如果你文件里時間列的時間格式包含了日期和時間 如2017-06-04-14:13:00,則恭喜你pandas會自動識別時間格式。
假如你文件里時間列的時間格式只精確到日期 如2017-06-04,那么你將需要對該字符串進行特殊處理,也許你需要如下方法:
from dateutil import parser
df['date'] = df.date.apply(parse.parse)
- 情感分析
做完上述工作數(shù)據(jù)預處理工作就已經完成了,接下來我們就來調用SnowNLP情感分析工具
from snownlp import SnowNLP
首先,定義函數(shù),以便批量處理所有評論信息
def get_sentiment(comment):
s = SnowNLP(comment)
return s.sentiments
然后,再次借助python強大的apply函數(shù),實現(xiàn)批量處理。
df['sentiment'] = df.comment.apply(get_sentiment)
最后,我們來看看情感分析結果
# 查看幀頂部行
df.head()
# 描述顯示數(shù)據(jù)快速統(tǒng)計摘要
df.describe()
- ggplot 繪圖
from ggplot import *
ggplot(aes(x="date", y="sentiment"), data=df) + geom_point() + geom_line(color = 'blue') + scale_x_date(labels = date_format("%Y-%m-%d"))
效果展示

后來的我們評論輿情分析