基于 word2vec + LSTM 的分词器 一、项目环境 开发环境: centos7, python3.5.0 依赖python库: flask.1.0.2, keras.2.1.5, gensim.3.2.0, tensorflow.1.4.1, nltk.3.2.5, sklearn.0.19.1, pandas.0.21.0, h5py.2.8.0 gevent.1.3.6 (windos系统需要安装 psutil.5.4.0;注意keras和tensorflow版本对应,版本不对可能会无法正常运行) 二、脚本说明 1.train_lstm.py 用于训练lstm模型 2.train_word2vec.py 用于训练word2vec词向量 3.serve_run.py 用于启动预测服务 三、执行顺序 step_1. 先执行train_word2vec.py 进行词向量训练 step_2. 再执行train_lstm.py 训练lstm模型 step_3. 最后启动 serve_run.py 服务 四、模型结构 通过调用get_model_structure函数查看 五、超参说明 超参数 参数说明 word_dim 词向量长度 max_len 最大窗口 hidden_units 隐藏节点数 batch_size 批量训练数据大小 epochs 迭代次数 val_loss 验证集上损失函数值 val_acc 验证集上模型准确率 六、模型评估 word_dim max_len hidden_units batch_size epochs val_loss val_acc 100 7 100 128 20 0.2038 92.7% 100 7 512 128 30 0.1003 96.5% 七、References [1]郑捷,NLP汉语自然语言处理原理与实践[M].北京:电子工业出版社,2017年1月.