python文本聚类 词云图_文本挖掘:避孕药主题情感分析

关于舆情分析的实例分析,希望给你带来一些帮助。

前言

距离上次文本挖掘小文章时间已经过了3个月了,北京已经入冬,有人说北京的冬天很冷,但是吃上火锅很暖;也有人说北京的冬天雾霾严重,太干。这两句表达的是对北京冬天的情感,即有正面也有负面。

如果在舆情分析而言,我们在做营销分析,分析产品、活动优劣,或者希望维护品牌PR,我们就需要针对消费者网络发声去分析情感,来帮助我们维护品牌,改善活动产品,来达到监测舆情分析效果。换句话说也就是我们今天分享的主题—sentiment

舆情分析思路

笔者5年前做舆情分析时候一般来说就是人工舆情,并没有加入高级点的分析工具减少人工投入。随着R,python等的流行,同时,随着各种开源包tm,LDA,Rwordseg开发,以及高等概率数学的应用,例如分词算法根据隐性马尔科夫链算法编写而成(有兴趣的同学自己研究),让我们之前的工作量大大减少。因此人工舆情转换成人工纠正舆情大势所趋,即我们使用工具减少读帖子的时间,并且让机器学习,人工后期纠错。

一般而言,舆情分析报告分为以下几个步骤:

前两个可以作为统计分析-统计时间趋势音量,音量份额,后两个可以作为建模分析-主题分析,情感判别。

这里有个小插曲:上次分享的是主题分析,笔者最近又重新梳理了下LDA,发现tm包中文分词形成词频矩阵很不理想,这会导致LDA无法应用,因此,后续笔者会自己写个脚本将词频矩阵实现,这样会方便LDA,会方便聚类分析,以及预测分析。

言回正传,情感分析就是表达发言人对一个主题的看法,有好有坏,或者中立。情感分析应用分类两类,第一是给定正负面词,算分值,高于或者低于baseline则表示正面、负面情绪。第二,根据深度学习,利用神经网络来区分正负情感。本文先实现第一类情感分析。

第一类情感分析:正负面词典(简版)

读入文本,数据清理

本次还是以上次文本为输入项,将content_Full 内容做文本处理

清理原则:

去除特殊字符,空值等,例如☆移动平台☆iOS☆

去除转发的内容,留原作者观点。例如 保留红框内的文本,去除后面转发文本

删除文本过长的内容,内容偏向日记和广告,减少文本噪声

去除stopwords

比如中文常规字符,‘的’‘地’‘得’‘我’等

添加词汇

由于本文是医用词汇,需要添加的词汇偏重医用或者品牌,不让分词拆成单个字符

例如:妈富隆,调经

分词&词云图

文本处理后,根据词频出现频次,且过滤掉分词为单个词的中文,绘制词云图,鼠标所过的词可以显示文本出现次数,例如避孕药:767次

载入正负词典

正面词记1;负面词为-1,便于之后算分值划定情感

计算情感得分

将文本中的分词按照中英文词典的正负面词打分,计算分值,若中性词(不出现字典)则记为0。

分值计算原理

公式 (自己编的,有疑问请留言一起讨论)

情感分值=∑i=1(正面+中性)*(-1)t

i 表示第i句话;t表示出现负面词的次数

公式表示一句话中若出现偶数负面词,表示肯定,例如:我其实觉得他没有那么不通情达理。 两次否定:不,没有,t=2

结果

正面发声分类结果:

负面发声结果

后续改进:

将词频矩阵脚本改写,重现LDA 或者 聚类

对文本先人工预判,将此打分进行 confusion matrix,评估分类器

目测而言负面分类基本正确,正面分类中包含很多中性发声,需要进一步剔除研究

深度学习重现下情感分析

相关阅读

作者:冯大福,微信公众号:说说数据分析那些事儿

本文由 @shangyuan 原创发布于人人都是产品经理。未经许可,禁止转载。

题图来自unsplash,基于CC0协议

给作者打赏,鼓励TA抓紧创作!赞赏

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值