时间:2022-07-16 09:01:19来源:网络整理
LSTM情感分析原理及深度学习在自然语言处理中的应用
NLP 是一个教机器如何处理或理解人类语言的系统。主要应用领域有:
词向量模型
词向量在空间上是有意义的,而不是简单的映射!例如,我们希望单词“love”和“adore”在向量空间中相关,因为它们具有相似的定义并且它们都在相似的上下文中使用。词的向量表示也称为词嵌入。
Word2Vec
为了获得这些词嵌入,我们使用了一个非常强大的模型“Word2Vec”。简单地说,这个模型根据上下文的上下文推断每个词的词向量。如果两个词在上下文的上下文中可以互相替换,那么这两个词之间的距离就很近了。在自然语言中,上下文的上下文对于分析词的含义非常重要。例如,对于我们前面提到的“崇拜”和“爱”这两个词,我们观察以下上下文的上下文。
从句子中我们可以看出,这两个词在句子中通常是肯定的,并且通常优于名词或名词组合。这也说明这两个词可以互换使用,意思也很相似。对于句子的语法结构分析,上下文也很重要。所以,这个模型所做的就是从一堆句子中对每个唯一的词进行建模(以维基百科为例)并输出一个唯一的向量。 Word2Vec 模型的输出称为嵌入矩阵。
Word2Vec 模型对数据集中的每个句子进行训练,并在带有固定窗口的句子上滑动,根据句子的上下文预测固定窗口中间的单词的向量。然后根据损失函数和优化方法训练模型
循环神经网络 (RNN)
现在我们有了神经网络的输入数据——词向量,让我们看看我们需要构建的神经网络。 NLP 数据的一个独特之处在于它是时间序列数据。每个单词的出现取决于它的前任和后继。由于这种依赖性,我们使用循环神经网络来处理这个时间序列数据。
循环神经网络的结构可能与您之前看到的前馈神经网络的结构略有不同。前馈神经网络由输入层、隐藏层和输出层三部分组成。
前馈神经网络和 RNN 的主要区别在于 RNN 考虑时间信息。在 RNN 中,句子中的每个单词都被认为是一个时间步长。在实践中,时间步数将等于最大序列长度
与每个时间步相关的中间状态也被视为一个新的分量,称为隐藏状态向量 h(t)。从抽象的角度来看,这个向量用于封装和总结在之前的时间步中看到的所有信息。就像 x(t) 表示一个向量,它封装了一个特定单词的所有信息。
隐藏状态是当前词向量和上一步的隐藏状态向量的函数。而这两者之和需要通过激活函数来激活。
长短期记忆单元 (LSTM)
Long Short-Term Memory Network Unit,RNN 中的另一个模块。从抽象的角度来看,LSTM 保留了文本中的长期依赖信息。正如我们前面看到的,H 在传统的 RNN 网络中非常简单,这种简单的结构并不能有效地将历史信息链接在一起。比如在问答领域用户情感分析框架,假设我们得到如下文本,那么LSTM可以很好的记录和学习历史信息。
在这里,我们看到中间句子对所问的问题没有影响。然而,第一句和第三句之间有很强的联系。对于典型的 RNN 网络,隐藏状态向量可能为第二个句子存储比第一个句子更多的信息。但LSTM基本判断哪些信息有用哪些无用,并将有用的信息保存在LSTM中。
让我们从更技术的角度来谈谈 LSTM 单元,该单元用户情感分析框架,给定输入数据 x(t) ,隐藏层输出 h(t) 。在这些单元中,h(t) 的表示比经典的 RNN 网络复杂得多。这些复杂的组件分为四个部分:输入门、输出门、遗忘门和内存控制器。
每个门将x(t)和h(t-1)作为输入(图中未显示),并使用这些输入来计算一些中间状态。每个中间状态被发送到不同的管道中,并且这些信息最终会被收集到h(t)中。为了简单起见,我们不会关心每个门的具体推导。这些门可以被认为是不同的模块,每个模块都有不同的功能。输入门决定了强调多少在每个输入上,遗忘门决定我们将丢弃哪些信息,输出门根据中间状态决定最终的 h(t)。
很多博主都找到了文档
查看代码
声明:文章仅代表原作者观点,不代表本站立场;如有侵权、违规,可直接反馈本站,我们将会作修改或删除处理。
图文推荐
2022-07-15 12:01:25
2022-07-15 09:01:15
2022-07-15 09:01:07
2022-07-14 14:00:49
2022-07-14 13:02:42
2022-07-14 09:03:16
热点排行
精彩文章
2022-07-14 11:08:26
2022-07-14 11:07:29
2022-07-14 09:05:41
2022-07-13 14:35:56
2022-07-13 14:34:27
2022-07-13 09:05:24
热门推荐