問題描述
作為某一產品的區域經理,假如需要通過顧客使用評價來做出運營調整或者大酬賓以增加業績。之前呢,沒有太多評論,看來看去也沒多少東西。現在網絡購物、產品網站等等,海量數據一下撲面而來,我們應該怎么來快速有效的獲取有效數據并做出較為準確的決策呢?
你需要情感分析
這個好用的自動化工具
數據及環境準備
那你可能會問這些評論怎么讓工具去使用呢? 想來想去還是去網上借一點可能來的更快一些。。。
因為我們是基于時間序列所做的分析,所以只需要時間和評論就夠了。
在本次實踐中我們需要對中文評論做分析,故而使用軟件包為SnowNLP,情感分析的基礎方法
使用的其他軟件包為:snownlp、pandas、ggplot
開始干活
- 數據文件讀入
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)
- 情感分析
做完上述工作數據預處理工作就已經完成了,接下來我們就來調用SnowNLP情感分析工具
from snownlp import SnowNLP
首先,定義函數,以便批量處理所有評論信息
def get_sentiment(comment):
s = SnowNLP(comment)
return s.sentiments
然后,再次借助python強大的apply函數,實現批量處理。
df['sentiment'] = df.comment.apply(get_sentiment)
最后,我們來看看情感分析結果
# 查看幀頂部行
df.head()
# 描述顯示數據快速統計摘要
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"))
效果展示
后來的我們評論輿情分析