文本挖掘:避孕药主题情感分析

从零开始学运营,10年经验运营总监亲授,2天线下集训+1年在线学习,做个有竞争力的运营人。了解详情

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

前言

距离上次文本挖掘小文章时间已经过了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

结果

正面发声分类结果:

负面发声结果

后续改进:

  1. 将词频矩阵脚本改写,重现LDA 或者 聚类
  2. 对文本先人工预判,将此打分进行 confusion matrix,评估分类器
  3. 目测而言负面分类基本正确,正面分类中包含很多中性发声,需要进一步剔除研究
  4. 深度学习重现下情感分析

相关阅读

文本挖掘小探索:避孕药内容主题分析

 

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

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

题图来自unsplash,基于CC0协议

赞赏是对原创者的最大认可
评论
欢迎留言交流