RNN 怎么可能做情感分析?

数据挖掘 深度学习 rnn 情绪分析
2021-09-25 19:23:42

我想知道在进行情绪分析时如何使用 RNN。

看起来 RNN 的特点是记住过去出现的东西,确定现在(未来)的价值,但我认为这个 RNN 的特点在分析情感时是没有用的。

我很想知道如何通过记住迄今为止出现的单词来进行情绪分析。

我认为训练显示特定单词出现次数的向量的方法是分析情绪的唯一方法。

如果某个 RNN 模型训练一个句子“好电影”并标记“正面”,它能否将一个新句子“电影好”预测为“正面”?

另外,如果一个普通模型(只是完全连接的深度神经网络)训练一个句子“好电影”并标记“正面”,这个模型是否很难将一个新句子“电影好”预测为“正面”?

2个回答

RNN 不会学习预测情绪。他们学习输入数据和目标标签之间的相关性。如果他们看到每次输入包含单词“bad”时,他们必须生成标签“negative”,那么他们就会学习它。如果他们在训练数据中看到之前的现象总是发生,除非在“坏”之前有一个“不”,那么他们就会学习它。根据数据分布的不同,他们可以将否定推广到动词和形容词的任意组合,也可以不推广,并且只有在输入数据与训练数据非常相似时才会适当地处理否定。

您的问题似乎旨在了解 RNN 在预测情绪时的“内部动态”。虽然在这个方向上有一些研究,但我认为它们仍然可以被视为“黑匣子”,因为我们实际上并不了解神经网络建模的函数,因此它们的输出不是“可解释的”

这取决于你如何配置你的模型和你正在使用的层。您可以添加其他 DNN 层并进行试验。

您还应该考虑使用LSTM(长期短期记忆),因为过去的信息不会像 RNN 中那样快速衰减,并且您保留当前值,从而拥有基于 RNN 的更好模型。

您还可以使用双向 LSTM (BLSTM),它通过使用贯穿所有过去数据的细胞状态来改进学习过程,并很好地概括为情绪分析。

请记住,RNN 无法检测句子中的否定,例如说“这部电影不好”,通常 ANN 需要更多配置才能理解这些方面。

另一个技巧是在你的模型中添加一个CNN层,这样它就可以提取关键词,因此当你的数据被转发到基于 RNN 的层时,它会减少噪音并且更倾向于特定的关键词。