这篇博客主要是讲解经典的textcnn分类模型。
关于textcnn,主要是对于文本中关键词的卷积。
1.对每一句文本形成的每个词做向量(本例子词向量是在神经网络里面形成)。
2.对于每一行文本形成的词的长度做统一化(一般取最长的那个文本长度的80%-90%左右)
3.对于每一个词做Tokenizer,意味着对每一个词做映射,例如:'用户':1
4.对于Tokenizer后的data_train数据可以进入神经网络。(具体神经网络里面的参数以及实现的原理在下个博客里再详细解释)
5.对于y值的处理one-hot。
import pandas as pd
import numpy as np
import jieba
import re
# 如果多进程分词可以导入
import multiprocessing
from multiprocessing import Pool
from keras.utils import to_categorical,multi_gpu_model
from keras.preprocessing.text import Tokenizer
from keras.preprocessing.sequence import pad_sequences
from keras.models import Model
from keras.layers import Dense, Embedding, Activation, merge, Input, Lambda, Reshape,BatchNormalization
from keras.layers import Conv1D, Flatten, Dropout, MaxPool1D, GlobalAveragePooling1D,SeparableConvolution1D
from keras import regulari