数据分析实战1:天猫商品评论情感词分析(基于SnowNLP)

SnowNLP是一个python写的类库,可以方便的处理中文文本内容,是受到了TextBlob的启发而写的,由于现在大部分的自然语言处理库基本都是针对英文的,于是写了一个方便处理中文的类库,并且和TextBlob不同的是,这里没有用NLTK,所有的算法都是自己实现的,并且自带了一些训练好的字典。而且SnowNLP非常适合商品评论的情感词分析。

参考链接:github.com/isnowfy/snow

功能

1、中文分词(Character-Based Generative Model)

2、词性标注(TnT 3-gram 隐马)

3、情感分析(现在训练数据主要是买卖东西时的评价,所以对其他的一些可能效果不是很好,待解决)

4、文本分类(Naive Bayes)

5、转换成拼音(Trie树实现的最大匹配)

6、繁体转简体(Trie树实现的最大匹配)

7、提取文本关键词(TextRank算法)

8、提取文本摘要(TextRank算法)

9、tf,idf(信息衡量)

10、Tokenization(分割成句子)

11、文本相似(BM25)

功能介绍

安装

pip install snownlp

功能

from snownlp import SnowNLP

案例展示

爬取天猫上olay官方旗舰店的一个商品,对评论内容进行情感词分析,得出评论正负情感的概率,从而判断产品的好坏。代码如下所示

from snownlp import SnowNLP
from snownlp import sentiment
import pandas as pd
import csv

result=pd.read_csv('./olay.csv',encoding='utf-8')

print(result['评论内容'])

items=result['评论内容'].astype(str).tolist()

print(items)

D=[]
for i in range(len(items)):
s=SnowNLP(items[i])
t=s.sentiments
print(t)
a=[items[i],t]
D.append(a)
print(D)
with open('./情感词分析.csv','a',encoding='gb18030',newline='')as f1:
write=csv.writer(f1)
write.writerows(D)

结果展示

image
image

观察正负情感词概率分布可以看出,在0.8以上的好评率占比最高,观察数据评分,在0.1以下的snownlp才认为是差评,

你可能感兴趣的:(数据分析实战1:天猫商品评论情感词分析(基于SnowNLP))