首先,我们来思考下,当人工神经网络从浅层发展到深层;从全连接到卷积神经网络。在此过程中,人类在图片分类、语音识别等方面都取得了非常好的结果,那么我们为什么还需要循环神经网络呢?
因为,上面提到的这些网络结构的层与层之间是全连接或部分连接的,但在每层之间的节点是无连接的,这样的网络结构并不能很好的处理序列数据。
序列数据的处理,我们从语言模型 N-gram 模型说起,然后着重谈谈 RNN,并通过 RNN 的变种 LSTM 和 GRU 来实战文本分类。
语言模型 N-gram 模型
通过前面的课程,我们了解到一般自然语言处理的传统方法是将句子处理为一个词袋模型(Bag-of-Words,BoW),而不考虑每个词的顺序,比如用朴素贝叶斯算法进行垃圾邮件识别或者文本分类。在中文里有时候这种方式没有问题,因为有些句子即使把词的顺序打乱,还是可以看懂这句话在说什么,比如:
T:研究表明,汉字的顺序并不一定能影响阅读,比如当你看完这句话后。
F:研表究明,汉字的序顺并不定一能影阅响读,比如当你看完这句话后。
但有时候不行,词的顺序打乱,句子意思就变得让人不可思议了,例如:
T:我喜欢吃烧烤。
F:烧烤喜欢吃我。
那么,有没有模型是考虑句子中词与词之间的顺序的呢?有,语