本项目是对DeepNLP的重构,着重增强架构设计的合理性,提高代码的可读性,减少模块的耦合度,并增加一些新功能。
python >= 3.5
tensorflow >= 1.3.0
sklearn
scipy
本项目的核心代码位于python\dnlp
目录下
python/dnlp │ cws.py # 分词 │ ner.py # 命名实体识别 │ rel_extract.py # 关系抽取 │ __init__.py │ ├─config │ config.py # 配置项 │ __init__.py │ ├─core # 核心功能模块 │ │ dnn_crf.py # 基于dnn-crf的序列标注 │ │ dnn_crf_base.py # 基于dnn-crf的序列标注的基类 │ │ mmtnn.py # max-margin tensor nural network模型 │ │ re_cnn.py # 基于cnn的关系抽取 │ │ __init__.py │ ├─data_process # 训练和测试数据的预处理 │ processor.py # 基类 │ process_cws.py # 对分词的预处理 │ process_emr.py │ process_ner.py # 对命名实体识别的预处理 │ process_pos.py # 对词性标注的预处理 │ __init__.py │ │ ├─models # 保存训练后的模型 │ ├─scripts # 运行脚本,包括初始化数据集和训练测试等等 │ init_datasets.py # 初始化训练数据 │ cws_ner.py # 进行分词和命名实体识别的训练和使用 │ __init__.py │ ├─tests # 单元测试 ├─utils # 公用函数 constant.py # 一些常量 __init__.py
- 初始化数据
python python\scripts\init_datasets.py
- 训练
python python\scripts\cws_ner.py -t
- 使用
python python\scripts\cws_ner.py -p
- deep learning for chinese word segmentation and pos tagging (完全实现,文件
dnn_crf.py
) - Long Short-Term Memory Neural Networks for Chinese Word Segmentation (完全实现,文件
dnn_crf.py
) - Max-Margin Tensor Neural Network for Chinese Word Segmentation (待实现,文件
mmtnn.py
)
- 完善文档
- 增加更多算法的实现
- 支持pip
- 加入TensorBoard支持
- 支持TensorFlow Estimator和Save Model
- 增加对Java、C++的支持