情绪分析准确性的四个陷阱

已发表: 2022-03-11

人们正在使用论坛、社交网络、博客和其他平台来分享他们的意见,从而产生大量数据。 同时,用户或消费者想知道要购买什么产品或看什么电影,因此他们也会阅读评论并尝试做出相应的决定。

手动收集有关用户生成数据的信息非常耗时。 这就是为什么越来越多的公司和组织对自动情绪分析方法感兴趣以帮助他们理解它的原因。

什么是情绪分析?

情感分析是研究人们的观点和情绪的过程,一般使用语言线索。 乍一看,这只是一个文本分类问题,但如果深入研究,我们会发现有很多具有挑战性的问题,严重影响了情感分析的准确性。 下面,我将探讨您在处理一般情绪分析问题时面临的一些陷阱:

  1. 讽刺和讽刺
  2. 否定类型
  3. 词歧义
  4. 多极性

我们将浏览每个主题并尝试了解所描述的问题如何影响情感分类器的质量以及可以使用哪些技术来解决这些问题。

情感分析挑战一:讽刺检测

在讽刺文本中,人们用积极的词来表达他们的消极情绪。 这一事实使讽刺很容易欺骗情绪分析模型,除非它们是专门设计来考虑其可能性的。

讽刺最常出现在用户生成的内容中,例如 Facebook 评论、推文等。如果不充分了解情况的上下文、特定主题和环境,情感分析中的讽刺检测很难完成。

不仅机器很难理解,人类也很难理解。 讽刺句子中使用的单词的不断变化使得很难成功地训练情感分析模型。 必须在两个人之间分享共同的话题、兴趣和历史信息,以使讽刺可用。

首先,让我们从语言学的角度来看讽刺,讽刺被广泛研究。 在该领域被引用最多的研究之一中,作者 Elisabeth Camp 提出了以下四种类型的讽刺:

  • 命题:讽刺似乎是一个非情感命题,但包含隐含的情感。
  • 嵌入:讽刺以单词和短语本身的形式嵌入了情感不一致。
  • 类似前缀:类似短语提供了对正在提出的论点的暗示否认。
  • 言外之意:非言语行为(肢体语言、手势)助长了讽刺。

Elisabeth Camp 的四种类型的讽刺:命题(“这看起来像一个完美的计划!”),嵌入(“我喜欢被忽视。”),带有前缀的(“就像那些人相信他们所说的那样。”)和言外之意。 “(耸耸肩)确实很有帮助!”。

Camp 的研究发表于 2012 年。2017 年,斯坦福大学的研究人员宣布了他们自己非常有趣的研究“有 2 小时写一篇论文很有趣!”:Detecting Sarcasm in Numerical Portions of Text,他们谈到了另一种类型的讽刺,称为数值讽刺。 数字讽刺在社交网络中非常常见。 它背后的想法与数值的变化有关,这些变化会影响文本的极性。 例如:

  1. “这款手机拥有 38 小时的超棒电池备份。” (非讽刺)
  2. “这款手机拥有 2 小时的超棒电池备份。” (讽刺)
  1. “外面+25,我好热。” (非讽刺)
  2. “外面是-25,我好热。” (讽刺)
  1. “我们开得太慢了——只有 20 公里/小时。” (非讽刺)
  2. “我们开得很慢——只有 160 公里/小时。” (讽刺)

正如我们所看到的,这些句子的不同之处仅在于使用的数字——因此是数字讽刺。

自动讽刺检测有不同的方法,包括:

  1. 基于规则
  2. 统计
  3. 机器学习算法
  4. 深度学习

基于深度学习的方法越来越受欢迎。 Kumar、Somani 和 Bhattacharyya 在 2017 年得出结论,一种特定的深度学习模型(CNN-LSTM-FF 架构)优于以前的方法,达到了数值讽刺检测的最高准确度。

但是深度神经网络 (DNN) 不仅是数值讽刺的最佳选择,而且总体上也优于其他讽刺检测器方法。 Ghosh 和 Veale 在他们 2016 年的论文中使用了卷积神经网络、长短期记忆 (LSTM) 网络和 DNN 的组合。 他们将他们的方法与递归支持向量机 (SVM) 进行了比较,并得出结论认为他们的深度学习架构是对此类方法的改进。

情感分析挑战之二:否定检测

在语言学中,否定是一种颠倒单词、短语甚至句子的极性的方法。 研究人员使用不同的语言规则来确定是否发生了否定,但确定受否定词影响的词的范围也很重要。

受影响词的范围没有固定的大小。 例如,在“The show was not interesting”这句话中,范围只是否定词之后的下一个词。 但是对于像“我不称这部电影是喜剧电影”这样的句子,否定词“不”的效果一直到句子的结尾。 如果一个正面或负面的词落入否定的范围内,则单词的原始含义会发生变化——在这种情况下,将返回相反的极性。

在大多数最先进的情感分析技术中使用的句子中处理否定的最简单方法是将所有单词从否定提示到下一个标点符号标记为否定。 由于语言在不同语境中的特定构造,否定模型的有效性可以改变。

有几种形式可以在句子中表达负面意见:

  • 否定可以是形态学的,它可以由前缀(“dis-”,“non-”)或后缀(“-less”)表示。
  • 否定可以是隐含的,比如“这将是他的第一部电影,也是最后一部电影”——它带有负面情绪,但没有使用否定词。
  • 否定可以是明确的,例如“这不好”。

拥有具有不同类型描述否定的样本将提高数据集的质量,用于训练和测试否定中的情感分类模型。 根据对循环神经网络 (RNN) 的最新研究,LSTM 模型的各种架构在检测句子中的否定类型方面优于所有其他方法。

在情感分析中否定的影响一文中,情感分析模型评估了从亚马逊和 Trustedreviews.com 收集的 500 条评论。 作者展示了带有和不带有否定检测的模型的比较。 他们的评估表明,考虑否定可以显着提高模型的准确性。

情感分析挑战之三:词歧义

词歧义是您在处理情感分析问题时将面临的另一个陷阱。 单词歧义的问题是无法预先定义极性,因为某些单词的极性强烈依赖于句子上下文。

基于词典的情感分析方法在现有方法中很流行。 意见词典包含带有极性值的意见词。 互联网上有一些舆论词典:SentiWordNet、General Inquirer 和 SenticNet 等。 因为词的极性在不同的领域是不同的,所以不可能开发出一个对每个词都有极性的通用意见词典。 例如:

  1. “这个故事是不可预测的。”
  2. “方向盘是不可预测的。”

这两个示例显示了上下文如何影响意见词情绪。 在第一个例子中,“不可预测”这个词的极性被预测为正。 在第二种情况下,同一个词的极性是负面的。

情绪分析挑战之四:多极化

有时,给定的句子或文档——或者我们想要分析的任何文本单元——会表现出多极性。 在这些情况下,仅拥有分析的总结果可能会产生误导,就像平均值有时会隐藏有关其中所有数字的有价值信息的方式。

当作者在一篇文章或评论中谈论不同的人、产品或公司(或它们的各个方面)时,请想象一下。 在一段文字中,有些主题会受到批评,有些主题会受到赞扬,这是很常见的。

在这里,总情绪极性将丢失关键信息。 这就是为什么有必要提取句子中分配有情感标签的所有实体或方面,并且只在需要时计算总极性。

让我们考虑一个包含多个极性的示例:“我的新笔记本电脑的音频质量非常酷,但显示颜色不太好。”

一些情绪分析模型会为这句话分配一个负面或中性的极性。 为了处理这种情况,情感分析模型必须为句子中的每个方面分配一个极性; 在这里,“音频”是分配为正极性的方面,而“显示”是具有负极性的单独方面。

为了更深入地描述这种方法,我推荐斯坦福大学的 Bo Wanf 和 Min Liu 撰写的有趣且有用的论文 Deep Learning for Aspect-based Sentiment Analysis。

提高情绪分析的准确性:这些不是边缘案例

在这篇文章中,我们讨论了情感分析分类的流行问题:讽刺、否定、词歧义和多极化。 了解这些将帮助您避免可能出现的问题:考虑到我们讨论过的情况将显着提高分类模型中的情感分析准确性。 我希望您发现这篇文章是对该主题的有用介绍。

相关:充分利用预训练模型