IMDB情感分类

任务详情

情感分类是NLP中非常常见的一个任务,它要求根据一段文字描述,判断它所表达的情绪,是正面的还是负面的,比如对影评情绪的分类,IMDB数据集正是如此,它包含2.5万个正面情绪的影评,2.5万个负面情绪的影评。下面将介绍几种不同的方法及结果对比。

方案对比

全连接神经网络

训练之前,对数据的预处理尤为关键,电影评论都是文字信息,必须对其进行转换。比如Token化数据,使用W2V替换成词向量等等。

文本的长度长短不一,需要对所有样本截取相同的长度,并对长度不够的做填充。对于神经网络,第一层需要做Embedding,Token后的数据不使用与训练,Embedding层训练得到的权重矩阵即为词向量。

不预加载权重

网络模型如下:

  • Input 层
  • Embedding 层
  • 有32个神经元的全连接层
  • 输出层
    在这里插入图片描述

使用预加载权重

与上面模型不同,Embedding权重是词向量矩阵,可以使用预训练的词向量矩阵替换Embedding权重。当训练数据量较少时,Embedding网络训练得到的向量矩阵往往不太准确,使用预训练向量矩阵可能会好些。模型其他部分与上面模型一致。

  • Input 层
  • Embedding 层 (权重加载预训练的词向量矩阵)
  • 有32个神经元的全连接层
  • 输出层
    在这里插入图片描述

RNN网络

RNN网络具有记忆功能,使用于处理时间序列的数据,但在传递过程中容易产生梯度消失问题。网络模型与上文类似:

  • Input 层
  • Embedding 层
  • RNN层
  • 输出层
    在这里插入图片描述

LSTM网络

相比于RNN存在梯度消失的问题,LSTM增加了记忆门、遗忘门和输出门,可以很好的处理长程依赖,解决了梯度消失问题。模型如下:

  • Input 层
  • Embedding 层
  • LSTM层
  • 输出层
    在这里插入图片描述

双向LSTM网络

单向LSTM网络中,当前时间存储的状态包含了前面序列的信息,但没有利用到之后序列的信息,双向LSTM网络解决了这一问题。模型如下:

  • Input 层
  • Embedding 层
  • BiLSTM层
  • 输出层
    在这里插入图片描述

结果对比及结论

模型参数量准确率训练时间(分钟)
NN130W0.86460.18
NN(加载词向量)130W0.67450.11
RNN50W0.80861.44
LSTM51W0.85025.69
BiLSTM52W0.867310.99

对比不同模型训练结果可以得出以下结论:

  • 使用全连接神经网络效果最好,模型简单往往不容易过拟合
  • 特定情况下,使用预训练的词向量不一定能达到最好效果,比如预训练词向量用于法律文档分类中效果然而不如不加载。
  • RNN模型训练时间慢,准确率也不高,实际应用中也较少
  • LSTM以及BiLSTM效果远好于RNN网络,与NN效果差不多,但是训练时间太长。

参考书籍

《Python深度学习》

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值