文本可以理解为单词序列或字符序列 处理序列数据大的两种深度学习算法 1 循环神经网络 (recurrent neural network)2 一维卷积神经网络
算法的应用:
神经网络不接受原始文本,和接受处理的数值张量,即文本向量化:
1 文本分割为单词 2 文本分割为字符 3 提取单词或者字符的n-gram(多个连续的单词或字符的集合),然后将每个n-gram转换为一个向量。 将文本分解而成的单元叫标记,将文本分解成为标记的过程叫做分词。 文本向量化就是通过分词,然后将数值向量与标记相关联(one-hot编码或者标记嵌入也叫词嵌入),然后将向量组成序列张量,输入到神经网络中。
关于词袋和n-gram的关系 可以参考书籍《python深度学习》第166页 这是我看过的最赞的的对于词袋和n-gram解释
循环神经网络RNN:遍历所有序列元素,并保存一个状态 在Keras中有SimpleRNN(不能学习长期依赖,原因是因为梯度消失问题,类似于层数较多的非循环神经网络,层数增加,网络变得无法训练)和LSTM(长短期记忆算法long-shhort term memeory,它保存信息以便后面使用,防止较早期的信号在处理中逐渐消失)以及GRU。