Emoticon Smoothed Language Models for Twitter Sentiment Analysis 微博情感分析的表情符号平滑语言模型(A11, AAAI2012)
通常,对于完全监督模型,由于耗人力和耗时间只能得到有限的训练数据,对于带噪声标签的模型,虽然很容易获得大量训练数据,但是由于标签的噪声很难得到满意的性能。最好的策略是利用手工标记的数据和噪声数据来训练。文章中,提出一个新的表情符号平滑语言模型(ESLAM)。基本思想是基于手工标记的数据训练语言模型,然后用噪声表情符号来平滑。
前人工作发现对于长文本,SVM比MNB(multinomial naive Bayes)性能更好,短文本反之。但是使用的都是完全监督数据。也有用弱监督训练数据的工作,由于标签的噪声,正确率不令人满意。考虑完全监督和弱监督方法的缺点,最好的策略是利用两种数据来训练。为了无缝集成两种数据于一个模型,提出ESLAM,它的主要贡献:有能力处理拼错的词,俚语,情态词,缩写和无法预料的词;也可以用于主客观分类;从微博API直接评估词概率,不需要下载任何微博,省时省空间。
情感分析的语言模型
Twitter情感分析(TSA)实际上是一个分类问题。为了对TSA采用语言模型(LM),连结所有同一类的微博形成一个综合文档。在测试阶段,每条文本微博看成一个查询,使用概率排名类。有最高概率的类选为文本微博的标签。使用 c 1 和 c 2 标记两个语言模型。在极性分类中, c 1 和 c 2 分别是积极和消极微博的语言模型,在主客观分类中, c 1 和 c 2 分别是主观类和客观类的语言模型。通过计算 P(t|c 1 ) 和 P(t|c 2 ) 评估微博概率, P(t|c)=Π n i=1 P(ω i |c) ,n是词数, P(ω i |c) 是LM评估的类c的多项式分布。一个普遍的评估分布方法是极大似然估计(MLE): P a (ω i |c)=N i,c N c , N i,c 是词 ω i 出现在类c训练数据的次数, N c 是类c中训练数据的总词数。为了划分测试集的微博,经常会遇到训练集中没有出现的词,需要平滑,文章使用JM平滑方法线性插值带表情符号的MLE模型。
表情符号模型
提出了非常高效的方法从微博搜索API评估表情符号语言模型 P μ (ω i |c) 。微博搜索API是一个专门的跑搜索的API,它的索引包含6~9天的数据。给定一个包含一个或多个词的查询,API返回多于1500的相关微博和它们的发布时间。
极性分类
为了得到
ω i
在积极类中的概率
P μ (ω i |c 1 )
,假设所有包含“: )”的微博是积极的。建立查询“
ω i
: )”,输入到搜索API,返回包含
ω i
和“: )”的微博以及发布时间。于是得到微博数
n ω i
和这些微博的时间范围
t ω i
。然后建立查询“: )”,得到返回微博
n s
和时间范围
t s
。参考文献指出一条微博平均包含15个词。假定Twitter上的微博关于时间均匀分布。得到
P μ (ω i |c 1 )=n ω i /t ω i n s /t s ∗15 =n ω i ∗t s 15∗t ω i ∗n s
,
n ω i t ω i
粗略地为一个单位时间内词
ω i
出现在类c中的次数,
n s t s ∗15
粗略地为一个单位时间内类c中词的总数。
令
F μ =∑ |V| j=1 P μ (ω j |c)
为标准化因子,
|V|
是包含见过和没见过的词的词汇表。标准化:
P μ (ω i |c):=P μ (ω i |c)/F μ =P μ (ω i |c)∑ |V| j=1 P μ (ω j |c) =n ω i ∗t s 15∗t ω i ∗n s ∑ |V| j=1 n ω i ∗t s 15∗t ω i ∗n s =n ω i t ω i ∑ |V| j=1 n ω i t ω i
。
对于消极类的语言模型,假定消极微博是包含“: (”的微博,
P μ (ω i |c 2 )
评估过程与
P μ (ω i |c 1 )
类似。
主客观分类
主客观分类的两类是主观和客观。假定主观微博是带“: )”或”: (“的微博。对于主观类,建立查询“ ω i : ) or : (“。对于LM的客观类,获得 P μ (ω i |c 2 ) ,客观类中 ω i 的概率更具挑战性。文章提出一个关于客观微博的新颖的假设,包含客观链接的微博是客观的。基于观察,链向图片网址或者视频网址的链接通常是主观的,链向新闻文章的链接是客观的。因此假定一个不是图片或视频的链接为客观链接。基于上面的假设,建立查询” ω i filter : links“得到客观类的统计。
ESLAM
从手工标记的数据评估 P a (ω i |c) 和从噪声表情符号评估 P μ (ω i |c) 后,集成它们为同一个概率框架 P co (ω i |c) 。在结合 P a (ω i |c) 和 P μ (ω i |c) 之前,需要平滑 P μ (ω i |c) ,因为 P μ (ω i |c) 是从表情符号评估的,它可能有偏差,采用Dirichlet平滑。根据JM平滑原则,ESLAM模型 P co (ω i |c) 可以通过以下计算: P co (ω i |c)=αP a (ω i |c)+(1−α)P μ (ω i |c) (1) , α∈[0,1] 是控制每个成分的参数。
实验
- 数据集
公开可用的Sanders语料用于评估。它由5513个手动标记的微博组成。通过去停用词,移除转帖和重复帖等预处理数据。 - 评估机制和度量
根据参考文献,采用正确率和F值作为评估度量。 - 表情符号的效果
比较ESLAM方法和完全监督语言模型(LM)。对于极性分类,手工标记的数据增加,两种方法的性能增长。在少量手工标记数据的情况下,ESLAM比完全监督LM好,说明噪声数据有一些有用的信息。对于主客观分类,结果相似,基于url链接的方法对于发现客观微博是有效的。 - 手工标记数据的效果
比较ESLAM和弱监督LM来证实手工标记的数据是否提供分类的有效信息。对于极性分类和主客观分类,结果相似,随着手工标记数据的增长,它们之间的性能差别越来越大,说明只使用噪声标记数据训练是不够的。 - 参数的敏感性
(1)式中参数 α 决定手工标记信息和噪声标记信息的贡献,设置 α 的不同值,512条标记训练微博的ESLAM比128条的需要更大的 α 值来获得最佳性能。