Towards Scalable Emotion Classification in Microblog Based on Noisy Training Data

Towards Scalable Emotion Classification in Microblog Based on Noisy Training Data

基于噪声训练数据的在微博上的可扩展情感分类

原文见附件


目的:用自然标注的数据丰富训练集。

构建了一个框架:

先用高质量(人工标注)的数据,训练分类器,判断想要利用的自然标注的数据,所带的标签是否符合要求(制定了一些规则),(符合则添加)

同时设计一个滤除噪声数据(对于那些已经由L被添加入H中的那些事例instance)的工具,也就是KNN基于图的工具(knn graph based method),求出一个叫做不协调性的东西(inconsistency),设置一个参数,对每一个情感类别分别求出门槛值,比较后滤除噪声数据。

概要:

带标签的训练集的使用对情感分类很重要。而人工标注会消耗很多时间。为了从微博上得到大量的带标签的训练数据,情感标签hashtag(两个#构成的)(#开心#)被作为自然注释标签使用。

但是数据的不协调和数据的噪声在注释的时候能颠覆性的影响数据的质量和用该数据来训练分类器时的表现。

所以提出了一个分类框架。

关键词:情感分类,数据清洗,主题标签(hashtag

第一部分  介绍

目的:想要利用社交媒介可以获得大量文本的优势,研究出一种自动获得带情感标签的数据的方法。

目前的工作中,自然注释的文本特征,比如主题标签(hashtag),情感符号(emoticons),这些镶嵌在推文中的东西自动从数据中提取,然后在一些基于过滤的简单的规则基础上,直接被用作标签。

然而,这些自动获取的标签,会带有相当数量的噪声。比如下面的例子:在你闲的时候,玩玩转发微博,未必不是一种乐趣!!!#无聊# hashtag 从这个例子我们可以看出情感标签是“高兴”,但是发布者使用了“无聊”作为情感标签。(这个就被称为噪声数据)

1显示出直接添加微博的情感标签作为数据的情感标签,进入到高质量的训练数据并不会提高系统表现。而且随着越来越多自然标注数据被添加进去,表现反而变得越差。

这说明,如果没有恰当的数据清理工具,直接添加自然标注数据会带坏处。

这篇文章的目的就是在情感分类方面用上这些带自然标注的情感标签的数据。获取更高质量的带标签的数据以便提高情感分类系统的表现。设计一个可以使用带自然注释的数据的清洗工具以获得高质量的数据,并使用这种数据(被清洗过的带自然标注的数据)来提高分类器的表现。

(就是说之前用自然标注数据效果不好,作者想鉴别一下后再用,用了之后在加一个工具,滤除那些难以避免的被添加进去的噪声数据)

基本的思想是 训练一个分类器,一开始只使用高质量的由人工标注提供的数据,并用这个分类器预测噪声数据。

只有经过评价之后,预测的标签和初始的标签相符合的、具有高自信值(就是一个值)的数据,才会被用作添加的训练数据。

又因为经过多次迭代后噪音可以被累计,所以同时使用了一个基于图的工具评估累计的噪声并移除噪声数据,以确保被添加数据的整体质量。

作者说,在他这个文章里,回答两个问题:

自动抽取的包含hashtag(情感标签)的数据,能否作为训练数据被直接使用?(好像已经回答了,不能)

如果不能,我们能否从自然标注数据中有效地移除噪声,以提高情感分类的表现?

第二部分:相关研究工作

情感分类工作的工具,可以被分为两类,基于规则的、基于机器学习的。

基于规则的定义一组规则来推测文本中的情感;

基于机器学习的使用一组特征来训练一个分类器,基于一些带有注释的训练数据,来预测新文本的情感倾向。

机器学习的工具的一个问题是如何获得一个高效率的高质量的训练数据。现在的相关的语料库包括微博,新闻标题,这些都带有人工标签,但是在数量上很少

列举了一些人的研究后,作者说这些人都没有解决情感标签的噪声问题。他将会解决这个问题。

第三部分:噪声控制方法

3.1问题定义:

让(XiYi)作为一对带标签的数据,Xi是数据,Yi是标签。

H{(x1y1),()()()()(XmYm)}代表一个高质量标签数据集。

L{(Xm+1Ym+1)()()()(Xm+nYm+n)}代表一个带有噪声的标签数据集。

T{(Xt1Yt1)()()()(XthYth)}代表一个测试集。

在这里,nmh是分别是相应的数据集大小。假设n>>m。(噪声集数量远大于高质量集)

目的:补充高质量集合。

C代表类别标签的集合c1,c2,c3,c4.....cCN,每一个元素是一个类别标签,CN是类别的数目。

我们的目标是发展出一个算法(M),借助L,来扩展H,进而提高数据在测试集T中的表现

(设计算法,借助噪声标签数据集来扩展高质量标签数据集,进而提高T的表现。 )

3.2策略

基础思想是我们的提出的工具是一个分类器,初始被H也就是高质量数据集所训练,用来迭代地预测L,也就是带噪声的标签数据集。

对于那些有高自信值的案例,将会作为训练数据添加,并对分类器进行再训练。

因为添加的训练数据包含噪声,噪声将会被累计,故同时设计了一个工具,将那些噪声超过一个确定的水平的训练数据移除。

为了达到这个目标,需要解决两个问题:

如何选择L中的案例(带噪声的数据集),以添加进去作为训练数据?

对于已经包含在训练数据中的那些案例,如何鉴别出噪声数据?

工作一:

对于L(噪声标签数据集)中的一个案例(instance)(就相当于抓下来的其中一个文本,自带标签hashtag),令Yi代表初始标签(情感标签)。为了对这种案例进行选择,于是基于高质量的H训练了一个分类器,并对L预测,得到预测的标签Yi`,附带一个自信值,(表达分类器对于这个结果有多自信,成正比)。

在预测结果中,对于Yi=Yi`的那些案例(自带hashtag符合预测值),取出每一个情感分类class中的自信值排名头n名的案例,构建L`,添加L`H中。

同时为了考虑在情感语料库中数据的不平衡,对加入每一个分类的事例(instance)的数目进行了控制。

前面已经令C作为类别标签的集合,Ci代表各个情感类别。

假设Ci这个类别是在高质量H中所事例占比重最少的类别,并把这个类别添加进H的事例数目记为Na;进而,对于其他的类别Cj,添加进H的事例用以下公式来计算:

Ncj=NaPci/Pcj

P代表的是类别在高质量集H中所占的比重。

显然,表示一个高质量集合H中,一个类别的事例所占的比重越大,该类添加进去这个高质量集合H的训练数据就越少。这是为了让这个数据集更加平衡。(每个情感类别名下的事例的数目趋同)(事例大概就是具体的一条条微博的意思)。这是其中一个方面。(把通过分类器后,符合要求的(也就是标签相等且自信值排名靠前)自然标注数据添加入高质量数据集中(作为补充))

工作二:

另外,分类器并不是理想的,Yi,也就是情感标签,仍然带有噪声(分类器预判失败)。Yi中的噪声会不断积累。

使用KNN基于图的工具(knn graph based method)鉴别出噪声标签,

给定一个已经添加进去的来自L`的事例(XiYi,)一个KNNGVEW}就基于(H+L`)而建立,该图的所有节点就是H+L`(添加后的数据集)中的所有事例,边缘权重?(edge weights)是事例之间在特征空间中的相似度。

流形假设是指处于一个很小的局部邻域内的示例具有相似的性质,因此,其标记也应该相似。这一假设反映了决策函数的局部平滑性。和聚类假设着眼整体特性不同,流形假设主要考虑模型的局部特性。在该假设下,大量未标记示例的作用就是让数据空间变得更加稠密,从而有助于更加准确地刻画局部区域的特性,使得决策函数能够更好地进行数据拟合。(设有连续性)

基于流形假设,在特征空间中具有高相似度的事例将具有相似的标签,我们可以基于在特征空间的相似而在标签空间相异,来推断两个事例的前后的不协调

对于在图中的每一对(XiYi)和他的邻居(XjYj),用下面的公式来计算edge weight边缘权重(也就是特征空间中的相似度):

Wij=simXiXj

相似度函数sim,在这里直接用余弦相似度。

对于每一对,定义两个事例之间的不协调性(inconsistency)为:对于特征空间中的相似度成正比、对于标签空间中的相似度成反比。可以用下式来计算:

Zij = Wij*Dcicj

Dcicj是标签类别cicj之间的距离(距离越长,相似度越低,故成反比)。这表示,在同一个非0的标签距离下,在特征空间中越相似,这两个事例之间就越不协调不一致,噪声累计达到门槛的可能就越大。当标签距离是0的时候,不协调性也是0.

Dcicj在类别距离基数Md中定义?,每一对dpq)作为类别p和类别q中的距离,因为对不同类别来说,错贴标签的可能性是不同的。比如,“愤怒”类别更容易被贴上伤心的标签,更不容易被贴成开心的标签。

所以d(愤怒,伤心)<d(愤怒,开心)

每一种情感能被valence-arousal所表达???。。。(valence表示兴奋或平静的程度,arousal表示与正面或负面接近的程度)

基于在valence-arousal中的情感分数,就能获得类别之间相应的距离。获得距离后,接着用下面公示计算每一个错误概率:

Ji=Zij=wij*Dcicjijk累加(前面那个公示定义的不协调性的累加)

i表示中心峰值,j表示i的邻居,kknn的参数,k表示为节点i选出的最接近的邻居的数量(≈k最近邻算法)

随着他们在特征空间的相似度越来越大,随着标签空间的距离(峰值和邻居之间)越来越大(相似度越来越小),标签的错误概率就越来越大。(Ji越来越大的意思)

Ji超出一个确定的门槛J门时,就把他看成一个噪声标签,并把它从L`中移除。

在这里假设了Ji服从高斯分布。并使用高质量数据集合H来计算他的均值和方差。

对于每一个样本(XiYi)在H中,用上面那个式子计算他的Ji,最终我们获得均值和方差,之后用下面的式子计算J门槛:

J门槛=均值+参数*方差 其中参数是为了控制噪声移除的程度

设置参数等于2,因为基于高斯分布,Ji大于J门槛的可能性将是0.023,是一个小概率事件,对此有充足的自信值将它考虑为一个噪声标签。(0.023可能是误判概率?

因为基于数据的不平衡性,不同的类别会有不同的均值和方差,对于每一个类别应该分别计算他的J门槛值。

总结:

概括了所做的工作:做出了一个可以使用自然标注的数据的、自动移除噪声的框架,

重复了实验结果:

NLP&2013中国微博情感分类数据集合的实验上,对比比直接使用噪声数据、不进行噪声过滤好百分之15.8.

在加入带着情感标签的经过过滤的数据,进入一个已经存在的高质量的训练数据的时候,跟单独使用高质量训练数据相比,表现提高3.7%

猜你喜欢

转载自blog.csdn.net/jr1261181988/article/details/54604829