logo资料库

文本情感色彩分类技术报告.pdf

第1页 / 共5页
第2页 / 共5页
第3页 / 共5页
第4页 / 共5页
第5页 / 共5页
资料共5页,全文预览结束
文本情感色彩分类 一.模型原理 NLP问题中的数据是时间序列数据,每个单词的出现都依赖于它的前一个单 词和后一个单词。由于这种依赖的存在,所以使用循环网络来处理这种时间序列 数据。 RNN网络结构如下: 表示隐藏层第 t时刻或第 t步的状态,它是网络的记忆单元。其中 = ( + − 1),f一般为非线性的激活函数。 表示t时刻或者t步,t=1,2,3,……的输入。 是第t时刻或第t步的输出。 对于基本RNN来说,它能够处理一定的短期依赖,但无法处理长期依赖问题。 当句子比较长,RNN就无法处理这种问题。因为当序列较长时,序列后部的梯度 很难反向传播到前面的序列,这就产生了梯度消失问题。当然,RNN也存在梯度 爆炸问题。 RNN本时刻的隐藏层信息只来源于当前输入和上一时刻的隐藏层信息,没有 记忆功能。为了解决RNN的长期依赖也即梯度消失问题,LSTM应运而生。LSTM 的网络结构图如下: 信息。 LSTM某个timestep的计算公式如下: LSTM引入了细胞状态,并使用输入们、遗忘们、输出门三种门来保持和控制 = ( ∗ [ℎ −1, ] + ) = ( ∗ [ℎ −1, ] + ) ̃ = tanh⁡( ∗ [ℎ −1, ] + ) ∗ −1 + ∗ ̃ = = ⁡ ( ∗ [ℎ −1, ] + )
上述公式中,为遗忘门,为输入门,为输出门,为细胞状态,̃为细 胞状态候选值,ℎ为隐藏层的状态值,和为权重和偏置。 ℎ = ∗ tanh⁡( ) 二.文本数据处理 (1)制作词向量 因为计算机只识别数字,所以要先将文字转化成数字。我们将一句话中的每 个词都转化为一个向量,称为词向量。词向量是具有空间意义的,并不是简单地 映射。即意思相近的词的词向量在空间中的距离比较近。 使用 Word2vec模型来构建词向量。此处使用的是别人训练好的词向量,包 括40万个词向量,每个向量的维度为50。 测试一下效果,打印出baseball所对应的词向量。 (2)文本数据清洗 我们可以看见,打印出的文本中有很多无关数据,所以我们要先对数据进行 清洗,来实现html标签、标点符号去除以及大小写转换 (3)生成索引矩阵 将生成的索引矩阵保存到idsMatrix.npy文件中。避免了每次都要生成索引 矩阵。
三.网络架构 定义输入数据和输出数据占位符,即确定好数据维度。 构建基本的LSTM细胞单元,单元中的单位数为64。 设置dropout参数来避免过拟合问题。 最后将LSTM cell和数据输入到tf.nn.dynamic_rnn,展开整个网络。 初始化权重矩阵和偏置项。 将dynamic RNN函数的的第一个输出值向量重新确定维度。权重矩阵相乘后 加上偏置项得到输出值。 定义判断是否预测正确的函数以及准确率函数。
定义损失函数,使用交叉熵损失函数作为损失值。优化器选择Adam。 训练模型,将模型保存下来,以便后续使用 训练结果如下
三.使用模型 使用和处理训练数据相同的方法处理待测试数据,将对应的索引矩阵保存为 test_review.npy。 使用模型进行预测。 将积极情感保存至possubmission.txt中
分享到:
收藏