基于方面的情感分析目前的最新技术是什么?

数据挖掘 机器学习 nlp 情绪分析
2022-03-02 09:17:11

我一直在读刘冰的情感分析书。他提到了自 2004 年以来在研究中看到的所有这些略有不同的方法,但根本没有过多谈论功效。

这让我——一个以前没有做过任何情绪分析的人——想知道目前哪些方法能看到最好的结果。它特别需要一种能够提取文本中各个主题的情绪的方法,而不仅仅是文档/句子是正面的还是负面的。

如果它产生巨大差异:分析对象将是 reddit 评论,而不是似乎是最常见数据来源的推文或评论。

2个回答

如果不将方面级别的情感分析分解为其子任务,很难说一般来说什么是最先进的:

1)方面提取

2) 情绪分类

正如您可能在 Liu 的书中读到的那样,通过提取最常见的名词短语并添加一些启发式方法,可以相对较好地完成方面提取。当您处理围绕几个主题的文本时,这特别有效。基于主题模型的技术(LDA 等)更好,但实现起来更复杂。

至于分类,所有当前最先进的方法都使用神经网络(循环神经网络或卷积神经网络)。在句子级别,Kim (2014) 在几个数据集上仍然是 soa。Wang等人有一篇论文关于去年在 EMNLP 中用于方面级情感分析的基于注意力的 LSTM。

我建议在基于方面的情绪分析中查看最近的 SemEval 任务(2014 任务 4、2015 任务 12、2016 任务 5)。那里有很多好主意,你可以从中汲取灵感。

基本上,有两种类型的情绪分析。

  1. 符号方法 - 根据句子中使用的单词类型对句子的情绪进行分类。涉及到wordnet等词汇数据库和一些基于语言语法结构的规则作为知识表示。
  2. 向量模型 - 不是检测句子中的情绪,而是根据训练数据集将查询句子分类为类别之一,并将特征表示为词向量。分布式和分布式表示是它的类型。

无论是粗分类(正面 - 负面)还是精细分类(其中的情绪类型),如果您要通过矢量模型处理它,则需要一个训练数据集,因为它更容易使用。

谷歌基于循环神经网络语言模型开发的skip-gram模型和连续词袋模型在自然语言处理方面取得了突破,似乎是分布式表示中最先进的模型。

由于代码已经开源,c代码在这里可用,python库在这里维护。

如果您要使用 reddit 评论、推文或评论,这并不重要。重要的是句子对训练数据的分类程度。因为垃圾进就是垃圾出。