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

来源:互联网 发布:淘宝考研资料靠谱店铺 编辑:程序博客网 时间:2024/06/07 17:13

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

应用

  • 数据收集
    从收集的2011前的大规模用户池,Moodlens随机选取6800个活跃用户,每个省或地区200个。活跃用户指那些真实但不是垃圾的用户。一个简单的过滤规则是,只选择有多于200个少于3000个关注者并且发表了少于3000条微博的用户。
  • 情感模式
    小时情感模式、星期情感模式、月份情感模式。分析用户的各种情感变化和峰值。
  • 异常事件检测
    直观地,真实世界中的异常事件将影响人们的情感,情感改变将通过人们发表的微博反映。检测方法的基本思想是找到情感变化的转折点,然后从微博抽取事件信息。MoodLens为情感cj定义了一个分数序列{Scjt},t是观察时间,单位可能是一天或一小时。假定观察t=t1t=t2的情感变化,cj中微博的平均分数定义为:<Scjt1t2>=1t2t1t2t=t1Scjt,MoodLens可以获得cj相关变化的序列:Vcjt=Scjt<Scjt1t2><Scjt1t2>。MoodLens定义情感变化的序列为{4j=1|Vcjt|}。这一序列递减排序,前k个选为异常时间点。对于每个时间点,MoodLens抽取当时发表的微博进行事件的信息抽取。
  • 实时情感监测
    带增量学习的NB分类器对于实时情感分析足够快速,通过微博提供的API,MoodLens每分钟可以获得最近发表的400条公开微博。这些微博可以在少于一分钟的时间内分析。可以设置收集微博的时间周期。
0 0