“ 再小的你,也有自己的个性”
通过阅读本文,您能学到:
1、利用循环神经网络进行文本分类。
今天的教程是利用循环神经网络进行文本分类,循环神经网络是为了解决序列文本而设计的,在自然语言处理领域广泛使用,常用的循环神经网络有LSTM和GRU,今天教程将的是利用LSTM进行文本分类。
数据处理在
Tensorflow教程-卷积神经网络分类
教程中已经讲过,也可以参考公开的源代码。这篇教程主要讲如何利用Tensorflow搭建LSTM神经网络进行文本分类。
首先,定义占位符。x_input表示输入占位符,y_output表示标签占位符,keep_prob是dropout占位符。其中输入占位符shape设置为[None,sequence_length],sequence_length表示输入序列的长度。因为LSTM是有步长的,所以这里的序列的长度就作为LSTM的步长。
定义嵌入层,将输入序列转换成shape为[None,sequence_length,embedding_size],这里有重要的一点,就是tf.unstack获取sequence_length个(batch_size, n_input)的张量,这为一个字符一个字符输入LSTM网络做准备。
在Tensorlow中已经有定义好的LSTM,在本教程中使用BasicLSTMCell,只需要设num_hidden的大小,即隐藏层单元的大小。然后利用static_rnn得到最终的输出和最终的隐藏的状态。
搭建好网络以后就可以进行训练了,训练代码就不放在公众号了,可以直接公开的源代码。
今天的教程就讲完了,更多细节请参考公开的代码,或者遇到不懂的,可以在github上留言。
基础
神经网络
公众号:自然语言处理与深度学习技术
如果我的文章对您有帮助
欢迎分享给您的亲朋好友
这是对我的最大鼓励和支持
领取专属 10元无门槛券
私享最新 技术干货