您的位置:首页 > 编程语言 > Python开发

python做文本情感分析——某APP内评论内容作样本

2020-02-04 03:38 197 查看

之前试着做了这个文本情感分析,百度过一些方法,通过实际操作,本文记录的是正确率比较高且不繁琐的一种方法,现在也记录一下吧,希望以后能养成这个习惯,一些小tips要记录好。

随机抽取的某APP内2000条评论内容(中文形式)作为样本,目的是得出每条评论为正向评论的概率,打分范围是[0-1],此次定义[0,0.5]为负向评论,(0.5,1]为正向评论,观察其分布。

步骤一:
安装snownlp包和pandas包
原因:由于snownlp是使用淘宝评论语料,利用贝叶斯机器学习方法训练出来的模型,所以应用于本次分析比较合适。当然还是使用自己打标的样本训练出的模型正确率会更高啦~

步骤二:
下面是运行的python程序:

from snownlp import SnowNLP
import pandas as pd

#读取2000条评论内容的.txt文件
txt = open('C:/Users/admin/Desktop/评论内容.txt')
text = txt.readlines()
print(text)

#确认读取文件成功,并关闭文件节省资源
print('读入成功')
txt.close()

#遍历每一条评论,得到每条评论是positive文本的概率,每条评论计算完成后输出ok确认执行成功
comments = []
comments_score = []
for i in text:
a1 = SnowNLP(i)
a2 = a1.sentiments
comments.append(i)
comments_score.append(a2)
print('ok')

#将结果数据框存为.xlsx表格,查看结果及分布
table = pd.DataFrame(comments, comments_score)
print(table)
table.to_excel('C:/Users/admin/Desktop/emotion_analyse.xlsx', sheet_name='result')

步骤三:
展示部分结果
(“炒鸡nice”都识别出来了,maya)

结论:
正向评论占了60%以上,说明此APP的评论趋势还是偏积极的,跟预期的分布结果一致,但还是需要调优了。

  • 点赞
  • 收藏
  • 分享
  • 文章举报
薄荷 i 笑 发布了2 篇原创文章 · 获赞 0 · 访问量 190 私信 关注
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐