一、本文目的
关于如何训练词向量,如何将文本数据组织成Keras的要求,本文不会讲述。
本文的目的在于解决经典论文集中的CNN分类模型,如下图所示:
![在这里插入图片描述](https://img-blog.csdnimg.cn/20191218103312405.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzE3MjQ5NzE3,size_16,color_FFFFFF,t_70)
从上图中可以看到,每次训练时,filter size的大小是变化的,包括3、4、5。而网上流传的利用Keras构建CNN文本分类模型中,filter size是固定的,因此本文就是要解决filter size变化的情况下的CNN文本分类模型。
二、一般的Keras.CNN模型
一般的Keras.CNN
模型中filter size是固定不变的,代码如下所示:
def build_model(dropout):
embedding_dim = maxlen
model = models.Sequential()
# Embedding
model.add(layers.Embedding(embedding_matrix.shape[0],
embedding_dim,
weights = [embedding_matrix],
input_le