机器学习模型
- 在完成特征抽取后,我们就将文本型数据转化成了规范的数字格式数据,可以送入机器学习模型或深度学习模型进行训练了。如果采用机器学习的方式,比较适合的模型有LR,LinearSVC, NaiveBayse,如果向量的维度不是很高很稀疏,一些树类模型如RandomForest, Xgboost, LightGBM也可以对其进行训练。
深度学习模型
- 随着近些年深度学习的发展,在计算力和数据量足够的条件下,深度学习越来越能发挥其深层特征抽取的能力,获得更好的预测效果和泛化效果。常见的模型有MLP, TextCNN, TextRNN, TextRCNN, LSTM, GRU, FastText,Bert… 这里以TextCNN举例讲解一个深度学习模型的构建
LSTM
-
LSTM是RNN的一个变体,目的是解决RNN循环次数增加后,会产生梯度消失现象导致导致模型不能很好的学习长期依赖信息的问题。
-
RNN结构中,本层输入和上层的输出用一个很简单的tanh进行融合。
普通RNN结构
遗忘门
- 遗忘门由上层输出和本轮输入共同决定,决定的方式是sigmoid输出一个0-1的值(这个值往往可以看做是非0即1的),当这个值f为0时,之前的状态C(t-1)与之点乘变成0,之前的状态便被遗忘,反之之前的状态与1点乘,原始信息得以保留。
更新门
- 遗忘门是对之前的信息做一个过滤,来确定遗忘还是记住之前的信息状态C(t-1)
- 除此之外,我们还要对当前输入信息X(t)做一个过滤,这就是更新门的作用
- 更新门由两部分i(t)和C(t-1)组成,这两部分都由上轮输出h(t-1)和本轮输出x(t)共同决定,i(t)的作用是用一个sigmoid函数产生一个近似