LSTM的应用
文本分类
LSTM文本分类:
使用LSTM的最后一个状态
文本分类中不用one-hot编码,使用embedding对词语进行编码,embedding是随着网络的深度而发生变化的,也就是可训练的,输出全连接层
但是当句子较长的时候,离当前词语较远的词语对模型的贡献率过小,限制了LSTM模型,为了解决这一瓶颈,引入了双向LSTM模型
输出:
- 拼接
- Average
- pooling
HAN(Hierarchy attention network)文本分类
HAN模型就是利用找文章中的重点句子重点词语来进行分类的模型,模型分为两层:句子级别与词语级别,每一个词语经过LSTM进行输出作为编码,词语的编码再经过attention机制进行加权形成句子的编码,再将所有句子的编码输入到一个LSTM中去,再得到句子的编码,加权得到段落的编码。注意力机制类似于门限机制
基于CNN的文本分类
CNN不能像RNN一样完美的解决文本分类的问题,但是经过改进之后可以不完美的解决文本分类的问题,为了解决文本分类问题,因为CNN不能解决长短不一的数据问题,所以要将文本类型转换为固定长度的问题
多个卷积核会有多个输出
一维卷积:
- 应用在时间维度上
- Embedding长度就是通道数目
- 多种层次的卷积核
池化: - 在时间层次上pooling
全连接
CNN vs RNN
- CNN不能完美的解决文本分类问题
- CNN卷积相当于N-Gram,LSTM提取更长的依赖
- Pre-train的embedding
- 双向RNN会增强效果
- CNN模型并行程度高,更快
将RNN与CNN模型进行结合得到R-CNN文本分类模型
- 双向RNN提取特征
- CNN进一步抽取
- Max-pooling
- 全连接层
Embedding压缩
Embedding层次参数过大
- 无法实用
-
过拟合