其他分享
首页 > 其他分享> > GoEmotions:一个细粒度情感分类数据集

GoEmotions:一个细粒度情感分类数据集

作者:互联网

 本文来自公众号“AI大道理”。

这里既有AI,又有生活大道理,无数渺小的思考填满了一生。

 

原文 |  Thursday, October 28, 2021

Posted by Dana Alon and Jeongwoo Ko, Software Engineers, Google Research

 

情绪是社会互动的一个关键方面,影响着人们的行为方式,塑造着人际关系。

这在语言方面尤其如此——只用几个词,我们就能表达各种各样微妙而复杂的情感。

因此,让机器理解情境和情感一直是研究界的一个长期目标,这将反过来使各种应用程序,包括有同理心的聊天机器人、检测有害在线行为的模型,以及改进客户支持互动成为可能。 

 

1、简介

在过去的十年里,NLP研究团体已经为基于语言的情感分类提供了一些数据集。

其中大多数是手动构建的,涵盖了目标领域(新闻标题、电影字幕、甚至童话),但往往相对较小,或只关注1992年提出的六种基本情绪(愤怒、惊讶、厌恶、喜悦、恐惧和悲伤)。

虽然这些情绪数据集使对情绪分类的初步探索成为可能,但它们也强调了对大规模数据集的需求,而不是更广泛的情绪集,以促进更广泛的未来潜在应用范围。

在“GoEmotions: A Dataset of Fine-Grained Emotions”文章中,我们描述了GoEmotions,这是一个人类注释的数据集,包含58k条Reddit评论,从流行的英语Reddit子页面中提取,并标有27个情感类别。

作为迄今为止最大的完整注释的英语语言细粒度情感数据集,我们在设计GoEmotions分类法时考虑到了心理学和数据适用性。

与基本的六种情绪(只有一种积极情绪(喜悦))不同,我们的分类包括12种积极情绪、11种消极情绪、4种模糊情绪和1种“中性”情绪,这使得它广泛适用于需要微妙区分情绪表达的对话理解任务。 

我们发布了GoEmotions数据集和详细的教程,演示了使用GoEmotions训练神经模型架构的过程(可在 TensorFlow Model Garden获得),并将其应用于基于对话文本的表情符号建议任务。在GoEmotions Model Card 中,我们探索了使用GoEmotions构建的模型的其他用途,以及使用数据的注意事项和限制。

2、构建数据集

我们的目标是建立一个大型数据集,专注于会话数据,其中情感是交流的关键组成部分。

因为Reddit平台提供了大量公开的内容,包括用户对用户的直接对话,所以它是情感分析的宝贵资源。

所以,我们使用Reddit从2005年(Reddit成立之初)到2019年1月的评论创建了GoEmotions,这些评论来自至少1万条评论,不包括删除和非英语评论。 

为了建立具有广泛代表性的情绪模型,我们应用了数据管理措施,以确保数据集不会强化一般或情绪特定的语言偏见。

这一点尤其重要,因为众所周知,Reddit的用户倾向于年轻男性,这并不能反映出全球人口的多样性。该平台还引入了一种偏向有毒、冒犯性语言的倾向。

为了解决这些问题,我们使用预定义的术语来识别有害的评论,包括冒犯/成人和低俗的内容,以及身份和宗教,我们使用这些术语来过滤和掩盖数据。

我们还过滤了数据,以减少脏话,限制文本长度,并平衡所表示的情感和情绪。为了避免热门版块的过度呈现,并确保评论也反映了不太活跃的版块,我们还在版块社区之间平衡了数据。

我们创建了一个旨在共同最大化三个目标的分类法:(1)最大程度地覆盖Reddit数据中表达的情绪;(2)提供最大范围的情感表达类型;(3)限制情绪的总体数量和它们的重叠。

这种分类法支持数据驱动的细粒度情感理解,同时也解决了某些情感的潜在数据稀疏性问题。

3、数据分析及结果

情绪在GoEmotions数据集中不是均匀分布的。

重要的是,积极情绪的高频率增强了我们对更多样化的情绪分类的动机,而不是由规范的六种基本情绪提供的分类。

为了验证我们的分类选择与基础数据匹配,我们进行了主保存成分分析(PPCA),这是一种通过提取在两组评分者中表现出最高联合变异性的情感判断的线性组合来比较两组数据集的方法。

因此,它有助于我们发现在评分者之间具有高度一致性的情绪维度。

之前我们使用PPCA来理解视频和语音中情感识别的主维度,这里我们使用PPCA来理解文本中情感识别的主维度。 

我们发现每个分量都是显著的(对于所有维度满足p-values < 1.5e-6),表明每种情绪都捕捉到了数据的一个独特部分。

这并不是微不足道的,因为在之前的研究中,在30个情绪维度中,只有12个是重要的。 

我们基于评分者判断之间的相关性来检验定义的情绪的聚类。

通过这种方法,当评分者经常共同选择两种情绪时,它们就会聚集在一起。

我们发现,尽管在我们的分类中没有预定义的情绪概念,但根据情绪(消极的、积极的和模糊的)相关的情绪都聚在一起,这表明了评级的质量和一致性。

例如,如果一个评分者选择“兴奋”作为给定评论的标签,那么另一个评分者更有可能选择一个相关的情绪,如“快乐”,而不是,比如说,“恐惧”。

也许令人惊讶的是,所有模糊的情绪都聚集在一起,而且它们与积极的情绪更接近。

类似地,根据其强度相关的情绪,如喜悦和兴奋、紧张和恐惧、悲伤和悲伤、烦恼和愤怒,也密切相关。

转存失败重新上传取消

我们的论文使用GoEmotions提供了额外的分析和建模实验。

 

4、未来工作:替代人类标签

虽然GoEmotions提供了大量人类标注的情感数据,但也存在其他情感数据集,它们使用启发式来自动弱标记。

主要的启发式方法使用与情感相关的Twitter标签作为情感类别,这允许人们以较低的成本生成大型数据集。

但这种方法受到多种原因的限制:Twitter上使用的语言明显不同于许多其他语言领域,因此限制了数据的适用性;标签是人工生成的,当直接使用时,容易产生重复、重叠和其他分类上的不一致;这种Twitter方法的特殊性限制了它只能应用于其他语言语料库。 

我们提出了另一种更容易获得的方法,即在用户对话中嵌入表情符号,作为情感类别的代理。

这种方法可以应用于任何包含合理出现的表情符号的语言语料库,包括许多会话性的。

因为表情符号比推特标签更标准化,也更稀疏,所以不一致的地方也更少。 

请注意,这两种方法——使用Twitter标签和使用表情符号——都不是直接针对情感理解,而是针对对话表达的变体。

例如,在下面的对话中,同样,虽然许多表情符号都与情感相关的表达联系在一起,但情感是微妙的、多方面的,在很多情况下,没有一个表情符号能真正捕捉到情感的全部复杂性。

此外,表情符号还能捕捉除情绪外的各种表情。

由于这些原因,我们把它们看作是表达而不是情感。

这种类型的数据对于构建富有表现力的对话代理,以及建议上下文的表情符号都很有价值,这是未来工作中一个特别有趣的领域。

 

5、结论

GoEmotions数据集提供了一个大型的、手动注释的、用于细粒度情感预测的数据集。

我们的分析证明了注释的可靠性和Reddit评论中表达的情绪的高覆盖率。

我们希望GoEmotions将成为基于语言的情感研究人员的宝贵资源,并将允许从业者构建创造性的情感驱动应用程序,解决广泛的用户情感。

 

 

 ——————

浅谈则止,细致入微AI大道理

扫描下方“AI大道理”,选择“关注”公众号

—————————————————————

 

—————————————————————

投稿吧   | 留言吧

 

 


标签:表情符号,GoEmotions,细粒度,情绪,情感,数据,我们
来源: https://www.cnblogs.com/AIBigTruth/p/15574623.html