/BiLstm_CNN_CRF_CWS

BiLstm+CNN+CRF 法律文档(合同类案件)领域分词(100篇标注样本)

Primary LanguagePython

BiLstm_CNN_CRF_CWS

BiLstm+CNN+CRF 在线演示

note: 实验基于

anaconda py3.5

tensorflow==1.0.1

keras==2.0.6

keras_contrib==2.0.8 pip install git+https://www.github.com/keras-team/keras-contrib.git

cuda==v8.0

gpu==GTX750Ti

简要介绍

model

  1. 使用 bilstm+cnn+crf训练seq2seq模型
  2. 预训练词向量 gensim
  3. 段落有的太长,按简单标点切分为句子,maxlen控制在100+,不足maxlen前面补0
  4. 测试也是按句子测试,最后还原成段落
  5. 有机会写个blog,先准备过年~新年快乐!_

step1: 法律文档+conll2012分词语料 训练word embedding

python embedding_model.py

step2: 预处理+训练+测试

  1. 随机抽80篇训练(10%用于验证集),20篇用于测试   实验10次,平均f-score=0.953,详见prf_result_max_epoch_50_em.txt

  2. 随机抽50篇训练(10%用于验证集),50篇用于测试   实验10次,平均f-score=0.933,详见prf_result_max_epoch_50_law.txt

  3. 用conll2012中6个领域的分词训练语料+法律文档训练语料(20篇)-> 法律80篇测试   时间问题,只测一次:f-score:0.943

  4. 用conll2012中6个领域的分词训练语料-> 法律100篇测试   时间问题,只测一次:f-score:0.757

New 拖了好久,终于在毕业论文交(3.26)后写了一篇分词blog(虽然也没啥技术含量,写着玩..)

   基于BiLSTM-CNN-CRF的中文分词

simple_bilstm_model

程序写的太繁琐,简化了一下  只关心 pip install keras==2.0.6  深度学习分词算法的可以只看这个文件夹下的bilstm_cnn_crf.py程序 keras_contrib==2.0.8 pip install git+https://www.github.com/keras-team/keras-contrib.git   pip install gensim
如缺少其它模块,看报错自行安装  

## note
# 把你的语料放到corpus文件夹下  我的corpus中的语料压缩了,如使用可以解压
# 1. python embedding_model.py  -> model_conll_law.m  生成词向量文件
# 2. python bilstm_cnn_crf.py    // is_train==1
# 会得到 train_model.hdf5  lexicon.pkl
# 3. 可以在之前的基础上train_model.hdf5,继续训练
# 4. 训练完成,测试  is_train==0
# python bilstm_cnn_crf.py  按句测试或按文件测试

# my_weights 中存放的是我的权值 

关于simple_bilstm_model程序的运行,写了个讲解,详见

BiLSTM_CNN_CRF分词程序—运行讲解-简书
BiLSTM_CNN_CRF分词程序—运行讲解-知乎

simple_bilstm_model 百度网盘下载:链接:https://pan.baidu.com/s/1b0WRe16aVVILYGEBmhB9lg 密码:9tiv

不想下载全部项目的可以只下载网盘的内容。