Moodlens: an emoticon-based sentiment analysis system for chinese tweets Moodlens:一个基于表情符号的中文微博情感分析系统(A3, SIGKDD2012)

文章建立了一个叫Moodlens的系统,是微博上第一中文微博情感分析系统。在Moodlens中,95个表情符号对应四个情感类:生气,厌恶,喜悦和悲伤,作为微博的类标签。收集了350万标记微博作为语料并且训练了一个快速朴素贝叶斯分类器。还实现了一个增量学习方法来处理情感转移和新词产生问题。通过使用高效朴素贝叶斯分类器,Moodlens能够进行实时在线情感监测。
Moodlens系统的主要贡献:帮助解决长期存在的短文本稀疏问题;检测四种类型的情感:生气,厌恶,喜悦和悲伤,而不是传统的二值情感分析;实现了一个增量学习机制;有能力进行实时微博处理和分类,可以作为一个实时异常事件监测系统。

基于表情符号的方法

在1000多个表情符号中,手工选择95个作为情感标签(记为E),划分它们为4个不同的情感类。
从2010年12月到2011年2月,Moodlens收集了7000多万的微博,抽取包含E中表情符号的350万微博作为标记微博集并分类,记为T。这些微博可以作为初始情感语料。对于T中的每条微博,Moodlens转化其为词序列 {ωi} \{\omega_i\}, ωi \omega_i是一个词,i是它在t中的位置。
在Moodlens中,采用简单的朴素贝叶斯方法建立分类器,需要少量的训练时间并且快速预测类别。从标签微博,获得单词 ωi \omega_i属于情感类别 cj c_j的先验概率 P(ωi|cj)=ncj(ωi)+1∑q(ncj(ωq)+1) P(\omega_i|c_j)=\frac{n^{c_j}(\omega_i)+1}{\sum_q(n_{c_j}(\omega_q)+1)}, j=1,2,3,4 j=1,2,3,4, ncj(ωi) n^{c_j}(\omega_i)是词 ωi \omega_i在类 cj c_j中所有微博中出现的次数,使用拉普拉斯平滑来避免0概率问题。
建立NB分类器:对于一个词序列为 {ωi} \{\omega_i\}的给定微博t,类别按如下获得, c∗(t)=arg maxjP(cj)ΠiP(ωi|cj) c^*(t)=arg\ max_jP(c_j)\Pi_i P(\omega_i|c_j), P(cj) P(c_j)是 cj c_j的先验概率。
为了验证分类器的性能,标记微博随机划分为两个集合,包括训练集 Ttrain T_{train}和测试集 Ttest T_{test},训练数据的比例 ft=|Ttrain||T| f_t=\frac{|T_{train}|}{|T|},在 Ttrain T_{train}中,标记为 cj c_j的微博集记为 Tcjtrain T_{train}^{c_j},相似的, Ttest T_{test}中类 cj c_j的微博记为 Tcjtest T_{test}^{c_j}。在测试集正确预测的类 cj c_j的微博记为 Pcj P^{c_j}。使用精度,召回率和F值作为度量描述分类器的有效性: p=∑4j=1|Pcj||Ttest| p=\frac{\sum_{j=1}^4|P^{c_j}|}{|T_{test}|}, r=14∑4j=1|Pcj||Tcjtest| r=\frac{1}{4}\sum_{j=1}^4\frac{|P^{c_j}|}{|T_{test}^{c_j}|}。文章使用一个标准词袋作为特征,设置 ft=0.9 f_t=0.9, P(cj)=0.25 P(c_j)=0.25,得到一个朴素贝叶斯分类器。
采用一个简单的增量学习方法补充原始NB分类器。假定微博是一个流,其中有一部分的微博是情感标记的,这些标记的微博可以用于更新词的先验概率。为了验证这个方法的有效性,随机搅乱T,划分它为50个相同尺寸的小块。用第一个小块作为训练集获得初始分类器,其他的49个小块,将它们当作微博流,这意味着它们一个一个地进入分类器,对于它们中的每个,以 μ μ的比例随机选择为标记微博用于更新分类器。令μ=0,0.01,0.05,0.1μ=0,0.01,0.05,0.1,计算p,r,f指标。随着小块的增加,p,r,f增长。 μ μ越大,更新越多,提升越多。

应用

  • 数据收集
    从收集的2011前的大规模用户池,Moodlens随机选取6800个活跃用户,每个省或地区200个。活跃用户指那些真实但不是垃圾的用户。一个简单的过滤规则是,只选择有多于200个少于3000个关注者并且发表了少于3000条微博的用户。
  • 情感模式
    小时情感模式、星期情感模式、月份情感模式。分析用户的各种情感变化和峰值。
  • 异常事件检测
    直观地,真实世界中的异常事件将影响人们的情感,情感改变将通过人们发表的微博反映。检测方法的基本思想是找到情感变化的转折点,然后从微博抽取事件信息。MoodLens为情感cjc_j定义了一个分数序列 {Scjt} \{S_t^{c_j}\},t是观察时间,单位可能是一天或一小时。假定观察 t=t1 t=t_1到 t=t2 t=t_2的情感变化, cj c_j中微博的平均分数定义为: <Scjt1→t2>=1t2−t1∑t2t=t1Scjt <script type="math/tex" id="MathJax-Element-2791"> =\frac{1}{t_2-t_1}\sum_{t=t_1}^{t_2}S_t^{c_j}</script>,MoodLens可以获得 cj c_j相关变化的序列: Vcjt=Scjt−<Scjt1→t2><Scjt1→t2> V_t^{c_j}=\frac{S_t^{c_j}-}{}。MoodLens定义情感变化的序列为 {∑4j=1|Vcjt|} \{\sum_{j=1}^4|V_t^{c_j}|\}。这一序列递减排序,前k个选为异常时间点。对于每个时间点,MoodLens抽取当时发表的微博进行事件的信息抽取。

    • 实时情感监测
      带增量学习的NB分类器对于实时情感分析足够快速,通过微博提供的API,MoodLens每分钟可以获得最近发表的400条公开微博。这些微博可以在少于一分钟的时间内分析。可以设置收集微博的时间周期。

Moodlens:一个基于表情符号的中文微博情感分析系统(A3, SIGKDD2012)相关推荐

  1. 【毕业设计_课程设计】基于各种机器学习和深度学习的中文微博情感分析

    文章目录 前言 项目介绍 实验结果 舆情分析 工程结构 前言 基于各种机器学习和深度学习的中文微博情感分析 提示:适合用于课程设计或毕业设计,工作量达标,源码开放 项目介绍 1.用FastText在语 ...

  2. java对微博评论进行分析_微博上分析情感的_中文情感分析java_中文微博情感分析...

    目前,社会正处于一个微博崛起的时代,一切有关于微博的问题都被社会广泛关注,并得到了工业界和学术界的高度重视.微博从出现以来,取得了良好的发展,并拥有大众的普遍关注和应用.微博的超大信息量和高速度的更新 ...

  3. 基于 CNN 的中文对话情感分析

    1 基于 CNN 的中文对话情感分析:https://www.jianshu.com/p/87ca0616f1a4 2 清华 ACL 2020 长文 | KdConv:多领域知识驱动的中文多轮对话数据 ...

  4. (基于Python的毕业设计)微博舆情分析系统(附源码+论文)

    大家好!我是岛上程序猿,感谢您阅读本文,欢迎一键三连哦. 目录 一.项目简介 二.系统设计 2.1软件功能模块设计 2.2数据库设计 三.系统项目部分截图 3.1管理员功能模块 3.2热搜数据 3.3 ...

  5. Python实现基于LSTM的中文评论情感分析

    资源下载地址:https://download.csdn.net/download/sheziqiong/85949420 资源下载地址:https://download.csdn.net/downl ...

  6. 各种机器学习和深度学习的中文微博情感分析

    向AI转型的程序员都关注了这个号

  7. 微博情感分析可视化系统

    1 简介 今天向大家介绍一个帮助往届学生完成的毕业设计项目,微博情感分析可视化系统. 搜集了大量微博研究的相关文献之后,目前使用最多的研究方法是情感词典的方法:通过构建相应的微博情感词典,分析微博评论 ...

  8. 结合语言知识和深度学习的中文文本情感分析方法

    结合语言知识和深度学习的中文文本情感分析方法 徐康庭, 宋威 北方工业大学信息学院 摘要:在目前的中文文本情感分析研究中,基于语义规则和情感词典的方法通常需要人工设置情感阈值:而基于深度学习的方法由于 ...

  9. 微博情感分析的表情符号平滑语言模型(A11, AAAI2012)

    Emoticon Smoothed Language Models for Twitter Sentiment Analysis 微博情感分析的表情符号平滑语言模型(A11, AAAI2012) 通常 ...

最新文章

  1. tf.nn.softmax_cross_entropy_with_logits中的“logits”到底是个什么意思?
  2. 图像语义分割python_遥感图像语义分割常用精度指标及其python实现(支持多类)
  3. javaBean 转json指定key-value个数
  4. 各国选手Techfest备战FMB世界杯,极战远征军斩获佳绩为国争光
  5. java 申明数组 默认构造函数_没有默认构造函数,如何定义对象的数组
  6. C#.NET的Linq查询、lambda、委托:Func和Action
  7. for_else,break——python小练
  8. 加工制造业经销商渠道管理系统:共享上下游信息,加速交易效率
  9. 学习【瑞吉外卖①】SpringBoot单体项目
  10. SWR 与前端数据依赖请求
  11. 什么是投入产出比(ROI)以及如何提升投入产出比?
  12. DWcs4右下角没有html文件,Dreamweaver cs4 cs5 spry菜单栏使用教程 详细教程 超好珍藏...
  13. 支付宝退款工具类整理
  14. arduino编码器计数_基于Arduino开发环境的光电编码器检测仪设计方案 - 全文
  15. ibm服务器vios系统,IBM VIOS login(IVM)
  16. 信阳师院计算机与信息技术学院,徐丽娟
  17. 互怼、IPO、雷潮、寒冬,2018 互联网圈的那些事儿
  18. Mac 笔记本电脑扩展坞无法识别超过 2TB 容量外置存储的解决
  19. 运维圣经:勒索病毒应急响应指南
  20. java将多个pdf文件合并成一个pdf文件

热门文章

  1. python爬虫-百度/360搜索
  2. 文件读写操作:把文件a.txt中的内容复制到文件b.txt中
  3. ux设计工具_UX设计中的工具和实用主义
  4. 2018.9-江苏电赛省赛-基于STM32F103RCT6和FDC2214的手势识别装置
  5. 太强了,英伟达还有这一招...
  6. 用js实现两数之和(哈希表)
  7. IOS 开发高手课 学习笔记(第二部分)
  8. 2020年终总结-2021新年Flag
  9. 使用python符号计算微分
  10. 基于JSP的火车高铁购票的系统【数据库设计、源码、开题报告】